From 94968c743b2ec35959c279d2203c23706ed96fc1 Mon Sep 17 00:00:00 2001 From: "Pierre Habouzit (MadCoder" Date: Mon, 3 Jan 2005 08:47:27 +0000 Subject: [PATCH] update banana git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-209 --- htdocs/banana/.arch-inventory | 2 +- htdocs/banana/include/config.inc.php | 122 +++++++++++++++++++++++---------- htdocs/banana/include/format.inc.php | 85 +++-------------------- htdocs/banana/include/hack.inc.php | 8 +-- htdocs/banana/include/password.inc.php | 16 ----- htdocs/banana/include/profile.inc.php | 65 ------------------ htdocs/banana/install.sh | 4 +- htdocs/banana/xface.php | 9 --- 8 files changed, 103 insertions(+), 208 deletions(-) delete mode 100644 htdocs/banana/include/password.inc.php delete mode 100644 htdocs/banana/include/profile.inc.php delete mode 100644 htdocs/banana/xface.php diff --git a/htdocs/banana/.arch-inventory b/htdocs/banana/.arch-inventory index 15b777d..a19da22 100644 --- a/htdocs/banana/.arch-inventory +++ b/htdocs/banana/.arch-inventory @@ -1 +1 @@ -precious ^(img|locales|spool) +precious ^(img|spool|xface.php) diff --git a/htdocs/banana/include/config.inc.php b/htdocs/banana/include/config.inc.php index 61b5b24..56f0021 100644 --- a/htdocs/banana/include/config.inc.php +++ b/htdocs/banana/include/config.inc.php @@ -1,48 +1,100 @@ show_hdr, count($banana->show_hdr) - 2, 0, 'x-org-id'); + array_splice($banana->parse_hdr, count($banana->parse_hdr) - 2, 0, 'x-org-id'); -// headers in post -$news['head'] = array('from', 'subject', 'newsgroups', 'message-id', 'followup-to', 'date', - 'x-org-id', 'organization', 'references', 'x-face', 'content-type', 'content-transfer-encoding'); -// headers in article.php -$news['headdisp'] = array( - 'from', - 'subject', - 'newsgroups', - 'followup-id', - 'date', - 'organization', - 'references', - 'x-org-id', - 'x-face', -); -$locale['headers']['xorgid']='Identité'; + $serv = "{$globals->banana->server}:{$globals->banana->port}/"; + $sname = basename($_SERVER['SCRIPT_NAME']); + if ($sname == "spoolgen.php") { + $banana->host = "news://{$globals->banana->web_user}:{$globals->banana->web_pass}@$serv"; + } elseif (Session::has('forlife')) { + $banana->host = 'news://web_'.Session::get('forlife').":{$globals->banana->password}@$serv"; + } +} + +function url($string) +{ + if(strpos($string, "http://")!==false) + return $string; + $chemins = Array('', '../', '../../'); + foreach ($chemins as $ch) { + if (file_exists($ch.'../htdocs/')) { + return $ch.$string; + } + } + return ''; +} + +function hook_formatDisplayHeader($_header,$_text) { + global $banana; + switch ($_header) { + case "x-org-id": + return "$_text".(preg_match("/[\w]+\.[\w\d]+/",$_text)?" [fiche]":""); + + default: + return htmlentities($_text); + } +} -// overview configuration in article.php -$news['threadtop'] = 5; -$news['threadbottom'] = 5; +function hook_header_translate($hdr) { + switch ($hdr) { + case 'x-org-id': return 'Identité'; + + default: + return $hdr; + } +} -// wordwrap configuration -$news['wrap'] = 80; +function hook_checkcancel($_headers) { + return ($_headers['x-org-id'] == Session::get('forlife') or has_perms()); +} -// overview configuration in thread.php -$news['max'] = 50; +function hook_getprofile() { + if (logged()) { + global $globals; + + $uid = Session::getInt('uid'); + $req = $globals->xdb->query( + "SELECT nom,mail,sig,if(FIND_IN_SET('threads',flags),'1','0'), + IF(FIND_IN_SET('automaj',flags),'1','0') + FROM {$globals->banana->table_prefix}profils + WHERE uid={?}", $uid); + if (!(list($nom,$mail,$sig,$disp,$maj) = $req->fetchOneRow())) { + $nom = Session::get('prenom')." ".Session::get('nom'); + $mail = Session::get('forlife')."@polytechnique.org"; + $sig = $nom." (".Session::getInt('promo').")"; + $disp = 0; + $maj = 1; + } + $array['name'] = "$nom <$mail>"; + $array['sig'] = $sig; + $array['org'] = "Utilisateur de Polytechnique.org"; + $array['customhdr'] = ""; + $array['display'] = $disp; + $array['autoup'] = $maj; + $array['lastnews'] = Session::get('banana_last'); + if ($maj) { + $globals->xdb->execute("UPDATE auth_user_quick SET banana_last={?} WHERE user_id={?}", gmdate("YmdHis"), $uid); + } + $req = $globals->xdb->query( + "SELECT nom + FROM {$globals->banana->table_prefix}abos + LEFT JOIN {$globals->banana->table_prefix}list ON list.fid=abos.fid + WHERE uid={?}", $uid); + $array['subscribe'] = $req->fetchColumn(); + } else { + $array = array(); + } + $array['locale'] = 'fr'; + return $array; +} -// custom headers in post.php -$news['customhdr'] = - "Date: ".date("r")."\n" - ."Content-Type: text/plain; charset=iso-8859-15\n" - ."Mime-Version: 1.0\n" - ."Content-Transfer-Encoding: 8bit\n" - ."HTTP-Posting-Host: ".gethostbyname($_SERVER['REMOTE_ADDR'])."\n" - ."User-Agent: Banana 0.7.1\n"; +global $css; $css = array( 'bananashortcuts' => 'bananashortcuts', 'bicol' => 'bicol', diff --git a/htdocs/banana/include/format.inc.php b/htdocs/banana/include/format.inc.php index b491fba..6908c1e 100644 --- a/htdocs/banana/include/format.inc.php +++ b/htdocs/banana/include/format.inc.php @@ -7,78 +7,11 @@ * Copyright: See COPYING files that comes with this distribution ********************************************************************************/ -function url($string) -{ - if(strpos($string, "http://")!==false) - return $string; - $chemins = Array('', '../', '../../'); - foreach ($chemins as $ch) { - if (file_exists($ch.'../htdocs/')) { - return $ch.$string; - } - } - return ''; -} - -/** produces HTML ouput for header section in post.php - * @param $_header STRING name of the header - * @param $_text STRING value of the header - * @param $_spool OBJECT spool object for building references - * @return STRING HTML output - */ - -function formatDisplayHeader($_header,$_text,$_spool) { - switch ($_header) { - case "date": - return formatDate($_text); - - case "followup-to": - case "newsgroups": - $res = ""; - $groups = preg_split("/(\t| )*,(\t| )*/",$_text); - foreach ($groups as $g) { - $res.=''.$g.', '; - } - return substr($res,0, -2); - - case "from": - return formatFrom($_text); - - case "references": - $rsl = ""; - $ndx = 1; - $text=str_replace("><","> <",$_text); - $text=preg_split("/( |\t)/",strtr($text,$_spool->ids)); - $parents=preg_grep("/^\d+$/",$text); - $p=array_pop($parents); - $valid_parents = Array(); - while ($p) { - $valid_parents[]=$p; - $p = $_spool->overview[$p]->parent; - } - foreach (array_reverse($valid_parents) as $p) { - $rsl .= "group}" - ."&id=$p\">$ndx "; - $ndx++; - } - return $rsl; - - case "x-face": - return 'x-face'; - - case "x-org-id": - return "$_text".(preg_match("/[\w]+\.[\w\d]+/",$_text)?" [fiche]":""); - - default: - return htmlentities($_text); - } -} - /** contextual links * @return STRING HTML output */ function displayshortcuts() { - global $news,$first,$spool,$group,$post,$id,$profile,$css; + global $banana,$first,$group,$post,$id,$css; $sname = basename($_SERVER['SCRIPT_NAME']); echo "
"; @@ -89,31 +22,31 @@ function displayshortcuts() { echo '[Profil] '; break; case 'index.php' : - if (!$profile['autoup']) { + if (!$banana->profile['autoup']) { echo '[Mettre à jour] '; } echo '[Profil] '; echo '[Abonnements] '; break; case 'thread.php' : - if (!$profile['autoup']) { + if (!$banana->profile['autoup']) { echo '[Mettre à jour] '; } echo '[Profil] '; echo '['._('Liste des forums').'] '; echo "["._('Nouveau message')."] "; - if (sizeof($spool->overview)>$news['max']) { - for ($ndx=1; $ndx<=sizeof($spool->overview); $ndx += $news['max']) { + if (sizeof($banana->spool->overview)>$banana->tmax) { + for ($ndx=1; $ndx<=sizeof($banana->spool->overview); $ndx += $banana->tmax) { if ($first==$ndx) { - echo "[$ndx-".min($ndx+$news['max']-1,sizeof($spool->overview))."] "; + echo "[$ndx-".min($ndx+$banana->tmax-1,sizeof($banana->spool->overview))."] "; } else { - echo "[$ndx-".min($ndx+$news['max']-1,sizeof($spool->overview))."] "; + echo "[$ndx-".min($ndx+$banan->tmax-1,sizeof($banana->spool->overview))."] "; } } } break; case 'article.php' : - if (!$profile['autoup']) { + if (!$banana->profile['autoup']) { echo '[Mettre à jour] '; } echo '[Profil] '; @@ -125,7 +58,7 @@ function displayshortcuts() { } break; case 'post.php' : - if (!$profile['autoup']) { + if (!$banana->profile['autoup']) { echo '[Mettre à jour] '; } echo '[Profil] '; diff --git a/htdocs/banana/include/hack.inc.php b/htdocs/banana/include/hack.inc.php index be72b0f..0dba042 100644 --- a/htdocs/banana/include/hack.inc.php +++ b/htdocs/banana/include/hack.inc.php @@ -2,17 +2,15 @@ function banana($params) { global $globals, $page; - global $news,$locale,$first,$spool,$group,$post,$id,$profile,$css; - $sname = $_SERVER['SCRIPT_NAME']; - $array = explode('/',$sname); - $sname = array_pop($array); - unset($array); + global $banana,$first,$group,$post,$id,$css; + $sname = basename($_SERVER['SCRIPT_NAME']); global $news_server,$news_port; $news_server = $globals->banana->server; $news_port = $globals->banana->port; + require_once('config.inc.php'); require_once("../../../banana/$sname"); } diff --git a/htdocs/banana/include/password.inc.php b/htdocs/banana/include/password.inc.php deleted file mode 100644 index 464480f..0000000 --- a/htdocs/banana/include/password.inc.php +++ /dev/null @@ -1,16 +0,0 @@ -banana->web_user; - $news["pass"] = $globals->banana->web_pass; -} elseif (Session::has('forlife')) { - $news["user"]= "web_".Session::get('forlife'); - $news["pass"]= $globals->banana->password; -} -$news['server']="$news_server:$news_port"; -?> diff --git a/htdocs/banana/include/profile.inc.php b/htdocs/banana/include/profile.inc.php deleted file mode 100644 index 26239c8..0000000 --- a/htdocs/banana/include/profile.inc.php +++ /dev/null @@ -1,65 +0,0 @@ -xdb->query( - "SELECT nom,mail,sig,if(FIND_IN_SET('threads',flags),'1','0'), - IF(FIND_IN_SET('automaj',flags),'1','0') - FROM {$globals->banana->table_prefix}profils - WHERE uid={?}", $uid); - if (!(list($nom,$mail,$sig,$disp,$maj) = $req->fetchOneRow())) { - $nom = Session::get('prenom')." ".Session::get('nom'); - $mail = Session::get('forlife')."@polytechnique.org"; - $sig = $nom." (".Session::getInt('promo').")"; - $disp = 0; - $maj = 1; - } - $array['name'] = "$nom <$mail>"; - $array['sig'] = $sig; - $array['org'] = "Utilisateur de Polytechnique.org"; - $array['customhdr'] = ""; - $array['display'] = $disp; - $array['autoup'] = $maj; - $array['lastnews'] = Session::get('banana_last'); - $array['dropsig'] = true; - if ($maj) { - $globals->xdb->execute("UPDATE auth_user_quick SET banana_last={?} WHERE user_id={?}", gmdate("YmdHis"), $uid); - } - $req = $globals->xdb->query( - "SELECT nom - FROM {$globals->banana->table_prefix}abos - LEFT JOIN {$globals->banana->table_prefix}list ON list.fid=abos.fid - WHERE uid={?}", $uid); - $array['subscribe'] = $req->fetchColumn(); - } else { - $array = array(); - } - $array['locale'] = "locales/fr.inc.php"; - return $array; -} -?> diff --git a/htdocs/banana/install.sh b/htdocs/banana/install.sh index 4b5e5fb..f4bffc9 100755 --- a/htdocs/banana/install.sh +++ b/htdocs/banana/install.sh @@ -2,5 +2,7 @@ ln -sf ../../../banana/{img,spool} . pushd include &> /dev/null -ln -sf ../../../../banana/include/{encoding,groups,NetNNTP,post,spool,wrapper}.inc.php . +ln -sf ../../../../banana/include/{groups,NetNNTP,post,spool,banana}.inc.php . popd &> /dev/null + +ln -sf ../../../banana/xface.php . diff --git a/htdocs/banana/xface.php b/htdocs/banana/xface.php deleted file mode 100644 index 98078c3..0000000 --- a/htdocs/banana/xface.php +++ /dev/null @@ -1,9 +0,0 @@ - -- 2.1.4