<?php
/***************************************************************************
- * Copyright (C) 2003-2008 Polytechnique.org *
+ * Copyright (C) 2003-2010 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 */
public function __construct()
{
parent::__construct(array('platal.ini', 'platal.conf'));
+ 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 auth_user_md5
- WHERE perms IN ('admin','user') AND deces=0");
+ FROM accounts
+ WHERE state = 'active'");
$cnt = $res->fetchOneCell();
$this->changeDynamicConfig(array('NbIns' => $cnt));
}
FROM requests");
$this->changeDynamicConfig(array('NbValid' => $res->fetchOneCell()));
}
-}
+ public function cacheEnabled()
+ {
+ return ($this->debug & self::DEBUG_NOCACHE) == 0;
+ }
+}
/******************************************************************************
* Dynamic configuration update/edition stuff