From: x2000habouzit
Date: Tue, 4 Jul 2006 20:15:22 +0000 (+0000)
Subject: migrate banana as well
X-Git-Tag: xorg/0.9.11~526
X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=f585e5a4347b0c0fd9502a47d09d54a78d462727;p=platal.git
migrate banana as well
git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@367 839d8a87-29fc-0310-9880-83ba4fa771e5
---
diff --git a/ChangeLog b/ChangeLog
index 90e7d3c..934038d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,9 @@ New:
* Core:
- Work hard to add nice URI's into Platal. -MC
+ * Banana:
+ - Switch to the new URI scheme. -MC
+
* Emails:
- Switch to the new URI scheme. -MC
diff --git a/htdocs/banana/index.php b/htdocs/banana/index.php
deleted file mode 100644
index 3eea328..0000000
--- a/htdocs/banana/index.php
+++ /dev/null
@@ -1,20 +0,0 @@
-addCssLink('css/banana/style.css');
-$page->assign('xorg_title','Polytechnique.org - Forums & PA');
-require_once('banana.inc.php');
-
-$res = PlatalBanana::run();
-$page->assign_by_ref('banana', $banana);
-$page->assign('banana_res', $res);
-$page->run();
-?>
diff --git a/htdocs/banana/profile.php b/htdocs/banana/profile.php
deleted file mode 100644
index ed3790d..0000000
--- a/htdocs/banana/profile.php
+++ /dev/null
@@ -1,55 +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 forums.profils
- WHERE uid = {?}", Session::getInt('uid'));
- if (!(list($nom,$mail,$sig,$disp,$maj) = $req->fetchOneRow())) {
- $nom = Session::get('prenom').' '.Session::get('nom');
- $mail = Session::get('forlife').'@'.$globals->mail->domain;
- $sig = $nom.' ('.Session::getInt('promo').')';
- $disp = 0;
- $maj = 0;
- }
- $page->assign('nom' , $nom);
- $page->assign('mail', $mail);
- $page->assign('sig' , $sig);
- $page->assign('disp', $disp);
- $page->assign('maj' , $maj);
-} else {
- $globals->xdb->execute(
- 'REPLACE INTO forums.profils (uid,sig,mail,nom,flags)
- VALUES ({?},{?},{?},{?},{?})',
- Session::getInt('uid'), Post::get('bananasig'), Post::get('bananamail'), Post::get('banananame'),
- (Post::getBool('bananadisplay') ? 'threads,' : '') . (Post::getBool('bananaupdate') ? 'automaj' : '')
- );
-}
-
-$page->run();
-?>
diff --git a/htdocs/banana/xface.php b/htdocs/banana/xface.php
deleted file mode 100644
index 16d0332..0000000
--- a/htdocs/banana/xface.php
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/include/banana.inc.php b/include/banana.inc.php
index b1e0371..8bcc704 100644
--- a/include/banana.inc.php
+++ b/include/banana.inc.php
@@ -71,8 +71,8 @@ class PlatalBanana extends Banana
$globals->xdb->execute("UPDATE auth_user_quick SET banana_last={?} WHERE user_id={?}", gmdate("YmdHis"), $uid);
}
- $req = $globals->xdb->query(
- "SELECT nom
+ $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);
diff --git a/install.d/banana.files b/install.d/banana.files
index ab5ff53..4e01d7f 100644
--- a/install.d/banana.files
+++ b/install.d/banana.files
@@ -1,8 +1,3 @@
bin/banana.spoolgen.php
hooks/banana.inc.php
-htdocs/banana/index.php
-htdocs/banana/profile.php
-htdocs/banana/xface.php
include/banana.inc.php
-templates/banana/index.tpl
-templates/banana/profile.tpl
diff --git a/modules/banana.php b/modules/banana.php
new file mode 100644
index 0000000..2a32c71
--- /dev/null
+++ b/modules/banana.php
@@ -0,0 +1,96 @@
+ $this->make_hook('banana', AUTH_COOKIE),
+ 'banana/profile' => $this->make_hook('profile', AUTH_MDP),
+ 'banana/xface' => $this->make_hook('xface', AUTH_PUBLIC),
+ );
+ }
+
+ function handler_banana(&$page)
+ {
+ $page->changeTpl('banana/index.tpl');
+ $page->addCssLink('css/banana/style.css');
+ $page->assign('xorg_title','Polytechnique.org - Forums & PA');
+
+ require_once 'banana.inc.php';
+
+ $res = PlatalBanana::run();
+ $page->assign_by_ref('banana', $banana);
+ $page->assign('banana_res', $res);
+
+ return PL_OK;
+ }
+
+ function handler_profile(&$page)
+ {
+ global $globals;
+
+ $page->changeTpl('banana/profile.tpl');
+
+ if (!(Post::has('action') && Post::has('banananame') && Post::has('bananasig')
+ && Post::has('bananadisplay') && Post::has('bananamail')
+ && Post::has('bananaupdate') && Post::get('action')=="OK" ))
+ {
+ $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 forums.profils
+ WHERE uid = {?}", Session::getInt('uid'));
+ if (!(list($nom,$mail,$sig,$disp,$maj) = $req->fetchOneRow())) {
+ $nom = Session::get('prenom').' '.Session::get('nom');
+ $mail = Session::get('forlife').'@'.$globals->mail->domain;
+ $sig = $nom.' ('.Session::getInt('promo').')';
+ $disp = 0;
+ $maj = 0;
+ }
+ $page->assign('nom' , $nom);
+ $page->assign('mail', $mail);
+ $page->assign('sig' , $sig);
+ $page->assign('disp', $disp);
+ $page->assign('maj' , $maj);
+ } else {
+ $globals->xdb->execute(
+ 'REPLACE INTO forums.profils (uid,sig,mail,nom,flags)
+ VALUES ({?},{?},{?},{?},{?})',
+ Session::getInt('uid'), Post::get('bananasig'), Post::get('bananamail'), Post::get('banananame'),
+ (Post::getBool('bananadisplay') ? 'threads,' : '') . (Post::getBool('bananaupdate') ? 'automaj' : '')
+ );
+ }
+
+ return PL_OK;
+ }
+
+ function handler_xface(&$page)
+ {
+ header('Content-Type: image/jpeg');
+ passthru('echo '.escapeshellarg(base64_decode($_REQUEST['face'])).
+ '|uncompface -X |convert xbm:- jpg:-');
+ exit;
+ }
+}
+
+?>
diff --git a/templates/banana/index.tpl b/templates/banana/index.tpl
index 81832dd..33ed913 100644
--- a/templates/banana/index.tpl
+++ b/templates/banana/index.tpl
@@ -25,7 +25,7 @@
{if !$banana->profile.autoup}
[Mettre à jour]
{/if}
-[Profil]
+[Profil]
diff --git a/templates/banana/profile.tpl b/templates/banana/profile.tpl
index 782fa73..e88c3d8 100644
--- a/templates/banana/profile.tpl
+++ b/templates/banana/profile.tpl
@@ -39,10 +39,10 @@
n'afficher que les fils de discussion contenant des messages lus.
-Retour aux forums
+Retour aux forums
-