fucking overload
authorPierre Habouzit (MadCoder <pierre.habouzit@m4x.org>
Mon, 27 Dec 2004 15:01:31 +0000 (15:01 +0000)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Thu, 26 Jun 2008 21:26:52 +0000 (23:26 +0200)
git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-144

hooks/banana.inc.php
hooks/emails.inc.php
hooks/lists.inc.php
hooks/money.inc.php
hooks/newsletter.inc.php
hooks/search.inc.php
hooks/skin.inc.php
hooks/tmp.inc.php
hooks/webredirect.inc.php
include/xorg/hook.inc.php

index 5a58492..eae18dd 100644 (file)
@@ -36,7 +36,7 @@ class BananaConfig
 
 // }}}
 
-function banana_config(&$return)
+function banana_config()
 {
     global $globals;
     $globals->banana = new BananaConfig;
@@ -45,7 +45,7 @@ function banana_config(&$return)
 // }}}
 // {{{ menu HOOK
 
-function &banana_menu(&$result)
+function &banana_menu()
 {
     global $globals;
     $globals->menu->addPrivateEntry(XOM_SERVICES, 10, 'Forums & PA', 'banana/');
@@ -54,7 +54,7 @@ function &banana_menu(&$result)
 // }}}
 // {{{ subscribe HOOK
 
-function &banana_subscribe($forlife, $uid, $promo, $password, &$result)
+function &banana_subscribe($forlife, $uid, $promo, $password)
 {
     global $globals;
     
@@ -84,8 +84,6 @@ function &banana_subscribe($forlife, $uid, $promo, $password, &$result)
                                     FROM  forums.list
                                    WHERE  nom='$val'");
     }
-
-    return ($result = true);
 }
 
 // }}}
index 88f3ef4..464c96f 100644 (file)
@@ -45,7 +45,7 @@ class MailConfig
 
 // }}}
 
-function emails_config(&$return)
+function emails_config()
 {
     global $globals;
     $globals->mail = new MailConfig;
@@ -53,7 +53,7 @@ function emails_config(&$return)
 // }}}
 // {{{ menu HOOK
 
-function emails_menu(&$return)
+function emails_menu()
 {
     global $globals;
     $globals->menu->addPrivateEntry(XOM_CUSTOM,   00, 'Mes emails',          'emails.php');
index 29b34c7..ec87d1a 100644 (file)
@@ -35,7 +35,7 @@ class ListsConfig
 
 // }}}
 
-function lists_config(&$result)
+function lists_config()
 {
     global $globals;
     $globals->lists = new ListsConfig;
@@ -44,7 +44,7 @@ function lists_config(&$result)
 // }}}
 // {{{ menu HOOK
 
-function &lists_menu(&$result)
+function &lists_menu()
 {
     global $globals;
     $globals->menu->addPrivateEntry(XOM_SERVICES, 20, 'Listes de diffusion',   'listes/');
@@ -53,7 +53,7 @@ function &lists_menu(&$result)
 // }}}
 // {{{ subscribe HOOK
 
-function &lists_subscribe($forlife, $uid, $promo, $password, &$result)
+function &lists_subscribe($forlife, $uid, $promo, $password)
 {
     require_once('lists.inc.php');
     
index 68f616b..ea22789 100644 (file)
@@ -33,7 +33,7 @@ class MoneyConfig
 
 // }}}
 
-function money_config(&$result)
+function money_config()
 {
     global $globals;
     $globals->money = new MoneyConfig;
@@ -43,7 +43,7 @@ function money_config(&$result)
 // {{{ menu HOOK
 
 
-function money_menu(&$result)
+function money_menu()
 {
     global $globals;
     if ($globals->money->mpay_enable) {
index 74ff5d1..b062108 100644 (file)
@@ -31,7 +31,7 @@ class NLConfig
 
 // }}}
 
-function newsletter_config(&$return) {
+function newsletter_config() {
     global $globals;
     $globals->newsletter = new NLConfig;
 }
@@ -39,7 +39,7 @@ function newsletter_config(&$return) {
 // }}}
 // {{{ menu HOOK
 
-function &newsletter_menu(&$result)
+function &newsletter_menu()
 {
     global $globals;
     $globals->menu->addPrivateEntry(XOM_INFOS, 0, 'Lettres mensuelles', 'newsletter/');
@@ -48,12 +48,10 @@ function &newsletter_menu(&$result)
 // }}}
 // {{{ subscribe HOOK
 
-function &newsletter_subscribe($forlife, $uid, $promo, $password, &$result)
+function &newsletter_subscribe($forlife, $uid, $promo, $password)
 {
     require_once('newsletter.inc.php');
     subscribe_nl(true,$uid);
-    
-    return ($result = true);
 }
 
 // }}}
index 3afd501..c82889f 100644 (file)
@@ -33,7 +33,7 @@ class SearchConfig
 
 // }}}
 
-function search_search(&$result)
+function search_config()
 {
     global $glabals;
     $globals->search = new SearchConfig;
@@ -42,7 +42,7 @@ function search_search(&$result)
 // }}}
 // {{{ menu HOOK
 
-function search_menu(&$result)
+function search_menu()
 {
     global $globals;
     $globals->menu->addPrivateEntry(XOM_GROUPS, 00, 'Annuaire',         'search.php');
index ad77b7b..c3d92ad 100644 (file)
@@ -32,7 +32,7 @@ class SkinConfig
 
 // }}}
 
-function skin_config(&$result)
+function skin_config()
 {
     global $globals;
     $globals->skin = new SkinConfig;
index 7eedb8b..8451ba7 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 
-function tmp_menu(&$result)
+function tmp_menu()
 {
     global $globals;
     $globals->menu->addPrivateEntry(XOM_NO,       10, 'Page d\'accueil',       'login.php');
index 9943dd3..c49fe49 100644 (file)
@@ -30,7 +30,7 @@ class WebRedirConfig
 
 // }}}
 
-function webredirect_config(&$result)
+function webredirect_config()
 {
     global $globals;
     $globals->webredirect = new WebRedirConfig;
index df358f4..4c46da9 100644 (file)
@@ -74,38 +74,35 @@ class XOrgHook
     }
 
     // }}}
-    // {{{ function __call()
+    // {{{ function config
 
-    /**
-     * The overload helper for function calls.
-     *
-     * @param  callback $function   the name of the function called
-     * @param  array    $arguments  the array of the arguments
-     * @param  mixed    $return     a reference to place the result of the called function
-     * @retuns mixed    returns the folded value
-     *                  f1(arg_1,...,arg_n-1, f2(arg1,...,arg_n-1, ... f_k(arg1,...arg_n))...)
-     * @see overload
-     */
-    function __call($function, $arguments, &$return)
+    function config()
     {
-        if ( ($i = count($arguments) - 1) < 0) {
-            $this->raiseError("The hook « $function » expects at least 1 argument");
+        foreach ($this->_mods as $mod) {
+            if (!function_exists($mod.'_config')) continue;
+            call_user_func($mod.'_config');
         }
+    }
+
+    function menu()
+    {
         foreach ($this->_mods as $mod) {
-            if (!function_exists($mod.'_'.$function)) continue;
-            $arguments[$i] =& call_user_func_array($mod.'_'.$function,$arguments);
+            if (!function_exists($mod.'_menu')) continue;
+            call_user_func($mod.'_menu');
         }
+    }
 
-        $return =& $arguments[$i];
-        
-        return true;
+    function subscribe($forlife, $uid, $promo, $pass)
+    {
+        foreach ($this->_mods as $mod) {
+            if (!function_exists($mod.'_subscribe')) continue;
+            call_user_func($mod.'_subscribe', $forlife, $uid, $promo, $pass));
+        }
     }
 
     // }}}
 }
 
-overload('XOrgHook');
-
 // }}}
 
 // vim:set et sw=4 sts=4 sws=4 foldmethod=marker: