Moving to GitHub.
[platal.git] / classes / platalglobals.php.in
index f49b279..6bd1518 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2009 Polytechnique.org                              *
+ *  Copyright (C) 2003-2014 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
 
 class PlatalGlobals extends PlGlobals
 {
+    const DEBUG_NOCACHE = DEBUG_USERBASE;
+
     /** The x.org version */
     public $version = '@VERSION@';
 
     /** db params */
-    public $dbdb               = 'x4dat';
+    public $dbdb               = null;
     public $dbprefix           = '';
     public $dbhost             = 'localhost';
-    public $dbuser             = 'x4dat';
-    public $dbpwd              = 'x4dat';
+    public $dbuser             = null;
+    public $dbpwd              = null;
     public $dbcharset          = 'utf8';
 
     /** default skin */
@@ -52,15 +54,17 @@ class PlatalGlobals extends PlGlobals
 
     public function asso($key = null)
     {
+        static $fetched = false;
         static $aid = null;
 
-        if (isset($GLOBALS['IS_XNET_SITE']) && is_null($aid)) {
+        if (isset($GLOBALS['IS_XNET_SITE']) && !$fetched) {
             $gp = Get::v('n');
             if ($p = strpos($gp, '/')) {
                 $gp = substr($gp, 0, $p);
             }
 
             $aid = Group::get($gp);
+            $fetched = true;
         }
         if (empty($key)) {
             return $aid;
@@ -73,11 +77,12 @@ class PlatalGlobals extends PlGlobals
 
     public function updateNbIns()
     {
-        $res = XDB::query("SELECT  COUNT(*)
-                             FROM  accounts
-                            WHERE  state = 'active'");
-        $cnt = $res->fetchOneCell();
-        $this->changeDynamicConfig(array('NbIns' => $cnt));
+        $count = XDB::rawFetchOneCell("SELECT  COUNT(*)
+                                         FROM  accounts         AS a
+                                   INNER JOIN  account_profiles AS ap ON (ap.uid = a.uid AND FIND_IN_SET('owner', ap.perms))
+                                   INNER JOIN  profiles         AS p  ON (ap.pid = p.pid)
+                                        WHERE  a.state = 'active' AND p.deathdate IS NULL");
+        $this->changeDynamicConfig(array('NbIns' => $count));
     }
 
     public function updateNbValid()
@@ -86,12 +91,16 @@ class PlatalGlobals extends PlGlobals
                              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:
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8:
 ?>