centralization of NNTP error messages + $nntp/$mynntp standardization
authorx99bachelart <x99bachelart>
Fri, 12 Sep 2003 18:55:46 +0000 (18:55 +0000)
committerx99bachelart <x99bachelart>
Fri, 12 Sep 2003 18:55:46 +0000 (18:55 +0000)
article.php
index.php
install.d/error.inc.php [new file with mode: 0644]
post.php
thread.php

index 22283f9..ce49656 100644 (file)
@@ -17,6 +17,7 @@ require("include/spool.inc.php");
 require("include/post.inc.php");
 require("include/profile.inc.php");
 require("include/password.inc.php");
+require("include/error.inc.php");
 
 $profile=getprofile();
 require($profile['locale']);
@@ -30,38 +31,22 @@ if (isset($_REQUEST['id'])) {
   $id=htmlentities(strtolower($_REQUEST['id']));
 }
 
-$mynntp = new nntp($news['server']);
-if (!$mynntp) {
-  echo "<p class=\"error\">\n\t".$locale['error']['connect']."\n</p>";
-  require("include/footer.inc.php");
-  exit;
-}
-
+$nntp = new nntp($news['server']);
+if (!$nntp) error("nntpsock");
 if ($news['user']!="anonymous") {
-  $result = $mynntp->authinfo($news["user"],$news["pass"]);
-  if (!$result) {
-    echo "<p class=\"error\">\n\tYou have provided bad credentials to "
-    ."the server. Good bye !\n</p>";
-    require("include/footer.inc.php");
-    exit;
-  }
-}
-$spool = new spool($mynntp,$group,$profile['display'],$profile['lastnews']);
-if (!$spool) {
-  echo "<p class=\"error\">\n\tError while accessing group.\n</p>";
-  require("include/footer.inc.php");
-  exit;
+  $result = $nntp->authinfo($news["user"],$news["pass"]);
+  if (!$result) erro("nntpauth");
 }
-$mynntp->group($group);
+$spool = new spool($nntp,$group,$profile['display'],$profile['lastnews']);
+if (!$spool) error("nntpspool");
+$nntp->group($group);
 
-$post = new post($mynntp,$id);
+$post = new post($nntp,$id);
 if (!$post) {
-  if ($mynntp->lasterrorcode == "423") {
+  if ($nntp->lasterrorcode == "423") {
     $spool->delid($id);
   }
-  echo "<p class=\"error\">\n\tError while reading message.\n</p>";
-  require("include/footer.inc.php");
-  exit;
+  error("nntpart");
 }
 
 $ndx = $spool->getndx($id);
index 0286da1..cd36b17 100644 (file)
--- a/index.php
+++ b/index.php
@@ -14,6 +14,7 @@ require("include/groups.inc.php");
 require("include/format.inc.php");
 require("include/config.inc.php");
 require("include/profile.inc.php");
+require("include/error.inc.php");
 
 $profile=getprofile();
 require($profile['locale']);
@@ -21,16 +22,14 @@ require($profile['locale']);
 require("include/header.inc.php");
 
 $nntp = new nntp($news['server']);
+if (!$nntp) error("nntpsock");
 if ($news['user']!="anonymous") {
   $result = $nntp->authinfo($news["user"],$news["pass"]);
-  if (!$result) {
-    echo "<p class=\"error\">\n\t".$locale['error']['credentials']
-      ."\n</p>";
-    require("include/footer.inc.php");
-    exit;
-  }
+  if (!$result) error("nntpauth");
 }
 $groups = new groups($nntp,0);
+if (!count($groups->overview)) $groups=new groups($nntp,2)
+    
 $newgroups = new groups($nntp,1);
 ?>
 
@@ -39,13 +38,7 @@ $newgroups = new groups($nntp,1);
 </div>
 
 <?php
-if (!sizeof($groups->overview)) {
-  echo "<p class=\"{$css['normal']}\">";
-  echo "\n".$locale['error']['nogroup']."\n";
-  echo "</p>\n";
-  require("include/footer.inc.php");
-  exit;
-}
+if (!sizeof($groups->overview)) error("nntpgroups");
 
 displayshortcuts();
 ?>
diff --git a/install.d/error.inc.php b/install.d/error.inc.php
new file mode 100644 (file)
index 0000000..6ada1b1
--- /dev/null
@@ -0,0 +1,55 @@
+<?php
+/********************************************************************************
+* install.d/error.inc.php : central NNTP error messages
+* -------------------------
+*
+* This file is part of the banana distribution
+* Copyright: See COPYING files that comes with this distribution
+********************************************************************************/
+
+ /** outputs HTML error page
+  * @param $_type STRING error type
+  */
+
+function error($_type) {
+  global $locale,$css,$group;
+  switch ($_type) {
+    case "nntpsock":
+      echo "<p class=\"error\">\n\t".$locale['error']['connect']."\n</p>";
+      require("include/footer.inc.php");
+      exit;
+      break;  
+    case "nntpauth":
+      echo "<p class=\"error\">\n\t".$locale['error']['credentials']
+        ."\n</p>";
+      require("include/footer.inc.php");
+      exit;
+      break;
+    case "nntpgroups":
+      echo "<p class=\"{$css['normal']}\">";
+      echo "\n".$locale['error']['nogroup']."\n";
+      echo "</p>\n";
+      require("include/footer.inc.php");
+      exit;
+      break;
+    case "nntpspool":
+      echo "<div class=\"{$css['bananashortcuts']}\">\n";
+      echo "[<a href=\"index.php\">Liste des forums</a>]\n";
+      echo "</div>\n";
+      echo "<p class=\"error\">\n\t".$locale['error']['group']."\n</p>";
+      require("footer.inc.php");
+      exit;
+      break;
+    case "nntpart":
+      echo "<div class=\"{$css['bananashortcuts']}\">\n";
+      echo "[<a href=\"index.php\">Liste des forums</a>] \n";
+      echo "[<a href=\"thread.php?group=$group\">$group</a>] \n";
+      echo "</div>\n";
+      echo "<p class=\"error\">\n\t".$locale['error']['post']."\n</p>";
+      require("footer.inc.php");
+      exit;
+      break;
+  }
+}
+
+?>
index 1ef262b..2a00705 100644 (file)
--- a/post.php
+++ b/post.php
@@ -17,6 +17,7 @@ require("include/spool.inc.php");
 require("include/password.inc.php");
 require("include/profile.inc.php");
 require("include/wrapper.inc.php");
+require("include/error.inc.php");
 
 $profile = getprofile();
 require($profile['locale']);
@@ -33,26 +34,17 @@ if (isset($group)) {
   $target = $group;
 }
 
-$mynntp = new nntp($news['server']);
-if (!$mynntp) {
-  echo "<p class=\"error\">\n\t".$locale['error']['connect']."\n</p>";
-  require("include/footer.inc.php");
-  exit;
-}
+$nntp = new nntp($news['server']);
+if (!$nntp) error("nntpsock");
 if ($news['user']!="anonymous") {
-  $result = $mynntp->authinfo($news["user"],$news["pass"]);
-  if (!$result) {
-    echo "<p class=\"error\">\n\t".$locale['error']['credentials']
-      ."\n</p>";
-    require("include/footer.inc.php");
-    exit;
-  }
+  $result = $nntp->authinfo($news["user"],$news["pass"]);
+  if (!$result) error("nntpauth");
 }
 
 if (isset($group) && isset($id) && isset($_REQUEST['type']) && 
   ($_REQUEST['type']=='followup')) {
-  $rq=$mynntp->group($group);
-  $post = new post($mynntp,$id);
+  $rq=$nntp->group($group);
+  $post = new post($nntp,$id);
   if ($post) {
     $subject = (preg_match("/^re:/i",$post->headers->subject)?"":"Re: ")
       .$post->headers->subject;
@@ -64,7 +56,7 @@ if (isset($group) && isset($id) && isset($_REQUEST['type']) &&
   }
 }
 
-$mynntp->quit();
+$nntp->quit();
 ?>
 <div class="<?php echo $css['title']?>">
   <?php echo $locale['post']['title'];?>
index 3d72fc4..5bf0e94 100644 (file)
@@ -17,6 +17,7 @@ require("include/spool.inc.php");
 require("include/password.inc.php");
 require("include/profile.inc.php");
 include("include/wrapper.inc.php");
+include("include/error.inc.php");
 
 $profile=getprofile();
 require($profile['locale']);
@@ -33,30 +34,16 @@ if (isset($_REQUEST['id'])) {
   $id=htmlentities(strtolower($_REQUEST['id']));
 }
 
-//$mynntp = new nntp($news['server'],120,1);
-$mynntp = new nntp($news['server']);
-if (!$mynntp) {
-  echo "<p class=\"error\">\n\t".$locale['error']['connect']."\n</p>";
-  require("include/footer.inc.php");
-  exit;
-}
-
+//$nntp = new nntp($news['server'],120,1);
+$nntp = new nntp($news['server']);
+if (!$nntp) error("nntpsock");
 if ($news['user']!="anonymous") {
-  $result = $mynntp->authinfo($news["user"],$news["pass"]);
-  if (!$result) {
-    echo "<p class=\"error\">\n\t".$locale['error']['credentials']
-      ."\n</p>";
-    require("include/footer.inc.php");
-    exit;
-  }
+  $result = $nntp->authinfo($news["user"],$news["pass"]);
+  if (!$result) error("nntpauth");
 }
-$spool = new spool($mynntp,$group,$profile['display'],
+$spool = new spool($nntp,$group,$profile['display'],
   $profile['lastnews']);
-if (!$spool) {
-  echo "<p class=\"error\">\n\t".$locale['error']['group']."\n</p>";
-  require("footer.inc.php");
-  exit;
-}
+if (!$spool) error("nntpspool");
 $max = 50;
 if (isset($_REQUEST['first']) && ($_REQUEST['first']>sizeof($spool->overview)))
   $_REQUEST['first']=sizeof($spool->overview);
@@ -70,8 +57,8 @@ if (isset($_REQUEST['action']) && (isset($_REQUEST['type'])) &&
   switch ($_REQUEST['type']) {  
     case 'cancel':
       $mid = array_search($id,$spool->ids);
-      $mynntp->group($group);
-      $post = new post($mynntp,$id);
+      $nntp->group($group);
+      $post = new post($nntp,$id);
       
       if (checkcancel($post->headers)) {
         $message = 'From: '.$profile['name']."\n"
@@ -81,7 +68,7 @@ if (isset($_REQUEST['action']) && (isset($_REQUEST['type'])) &&
           ."Control: cancel $mid\n"
           ."\n"
           ."Message canceled with Banana";
-        $result = $mynntp->post($message);
+        $result = $nntp->post($message);
         if ($result) {
           $spool->delid($id);
           $text="<p class=\"normal\">".$locale['post']['canceled']
@@ -107,7 +94,7 @@ if (isset($_REQUEST['action']) && (isset($_REQUEST['type'])) &&
         .$news['customhdr']
         ."\n"
         .wrap($body,"",$news['wrap']);
-      $result = $mynntp->post($message);
+      $result = $nntp->post($message);
       if ($result) {
         $text="<p class=\"normal\">".$locale['post']['posted']."</p>";
       } else {
@@ -115,8 +102,8 @@ if (isset($_REQUEST['action']) && (isset($_REQUEST['type'])) &&
       }
       break;
     case 'followupok':
-      $rq=$mynntp->group($group);
-      $post = new post($mynntp,$id);
+      $rq=$nntp->group($group);
+      $post = new post($nntp,$id);
       if ($post) {
         $refs = (isset($post->headers->references)?
                 $post->headers->references." ":"").$post->headers->msgid;
@@ -134,7 +121,7 @@ if (isset($_REQUEST['action']) && (isset($_REQUEST['type'])) &&
         .$profile['customhdr']
         ."\n"
         .wrap($body,"",$news['wrap']);
-      $result = $mynntp->post($message);
+      $result = $nntp->post($message);
       if ($result) {
         $text="<p class=\"normal\">".$locale['post']['posted']."</p>";
       } else {
@@ -143,13 +130,9 @@ if (isset($_REQUEST['action']) && (isset($_REQUEST['type'])) &&
       break;
   }
   $_SESSION['bananapostok']=false;
-  $spool = new spool($mynntp,$group,$profile['display'],
+  $spool = new spool($nntp,$group,$profile['display'],
     $profile['lastnews']);
-  if (!$spool) {
-    echo "<p class=\"error\">\n\t".$locale['error']['group']."\n</p>";
-    require("include/footer.inc.php");
-    exit;
-  }
+  if (!$spool) error("nntpspool");
 }
 
 
@@ -181,7 +164,7 @@ displayshortcuts();
   </tr>
 <?php
 $spool->disp($first,$last);
-$mynntp->quit();
+$nntp->quit();
 echo "</table>";
 
 displayshortcuts();