X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=classes%2Fplatalglobals.php.in;h=3f0085d5785827f5c2b817a92eb27700d050da7c;hb=c76545c351fae4e2298624ff9ee5bf854dc5a5b6;hp=1e15c817f455a3acdc616aefaca9d0d1eaf67d15;hpb=bec580ff2bb4e580e51cb852e07121fbdea6c5f2;p=platal.git diff --git a/classes/platalglobals.php.in b/classes/platalglobals.php.in index 1e15c81..3f0085d 100644 --- a/classes/platalglobals.php.in +++ b/classes/platalglobals.php.in @@ -1,6 +1,6 @@ bootstrap(array('NbIns'), 'update_NbIns'); - $this->bootstrap(array('NbValid'), 'update_NbValid'); + if (isset($GLOBALS['IS_XNET_SITE'])) { + $this->core->sitename = 'Polytechnique.net'; + } + } + + public function init() + { + $this->bootstrap(array('NbIns'), array($this, 'updateNbIns')); + $this->bootstrap(array('NbValid'), array($this, 'updateNbValid')); } - public function asso($key=null) + public function asso($key = null) { + static $fetched = false; static $aid = null; - if (is_null($aid)) { + if (isset($GLOBALS['IS_XNET_SITE']) && !$fetched) { $gp = Get::v('n'); if ($p = strpos($gp, '/')) { $gp = substr($gp, 0, $p); } - if ($gp) { - $res = XDB::query('SELECT a.*, d.nom AS domnom, - FIND_IN_SET(\'wiki_desc\', a.flags) AS wiki_desc, - FIND_IN_SET(\'notif_unsub\', a.flags) AS notif_unsub - FROM groupex.asso AS a - LEFT JOIN groupex.dom AS d ON d.id = a.dom - WHERE diminutif = {?}', $gp); - if (!($aid = $res->fetchOneAssoc())) { - $aid = array(); - } - } else { - $aid = array(); - } + $aid = Group::get($gp); + $fetched = true; } if (empty($key)) { return $aid; - } elseif ( isset($aid[$key]) ) { - return $aid[$key]; + } elseif (isset($aid->$key) ) { + return $aid->$key; } else { return null; } } + + public function updateNbIns() + { + $res = XDB::query("SELECT COUNT(*) + FROM accounts + WHERE state = 'active'"); + $cnt = $res->fetchOneCell(); + $this->changeDynamicConfig(array('NbIns' => $cnt)); + } + + public function updateNbValid() + { + $res = XDB::query("SELECT COUNT(*) + FROM requests"); + $this->changeDynamicConfig(array('NbValid' => $res->fetchOneCell())); + } + + public function cacheEnabled() + { + return ($this->debug & self::DEBUG_NOCACHE) == 0; + } } +/****************************************************************************** + * Dynamic configuration update/edition stuff + *****************************************************************************/ + // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: ?>