Optimisation de l'affichage de la liste des membres.
Maintenant, les fonctions récupérant l'expiration d'un compte partage le "cache" de la liste de membres
This commit is contained in:
parent
40203c993c
commit
235aea23ea
|
@ -85,7 +85,22 @@ class m_admin {
|
||||||
|
|
||||||
if (!isset($lst_users_properties) || empty($lst_users_properties) || !is_array($lst_users_properties) || $recheck ) {
|
if (!isset($lst_users_properties) || empty($lst_users_properties) || !is_array($lst_users_properties) || $recheck ) {
|
||||||
$lst_users_properties=array();
|
$lst_users_properties=array();
|
||||||
$db->query("SELECT m.uid as muid, l.*, m.*, parent.login as parentlogin FROM membres as m LEFT JOIN membres as parent ON (parent.uid = m.creator) LEFT JOIN local as l ON (m.uid = l.uid) ;");
|
$db->query("
|
||||||
|
SELECT
|
||||||
|
m.uid as muid,
|
||||||
|
l.*,
|
||||||
|
m.*,
|
||||||
|
parent.login as parentlogin,
|
||||||
|
m.renewed + INTERVAL m.duration MONTH as expiry,
|
||||||
|
CASE
|
||||||
|
WHEN m.duration IS NULL THEN 0
|
||||||
|
WHEN m.renewed + INTERVAL m.duration MONTH <= NOW() THEN 3
|
||||||
|
WHEN m.renewed <= NOW() THEN 2
|
||||||
|
ELSE 1 END 'status'
|
||||||
|
|
||||||
|
FROM membres as m
|
||||||
|
LEFT JOIN membres as parent ON (parent.uid = m.creator)
|
||||||
|
LEFT JOIN local as l ON (m.uid = l.uid) ;");
|
||||||
while ($db->next_record()) {
|
while ($db->next_record()) {
|
||||||
$lst_users_properties[$db->f('muid')]=$db->Record;
|
$lst_users_properties[$db->f('muid')]=$db->Record;
|
||||||
}
|
}
|
||||||
|
@ -667,12 +682,9 @@ EOF;
|
||||||
* @return string The expiry date, a string as printed by MySQL
|
* @return string The expiry date, a string as printed by MySQL
|
||||||
*/
|
*/
|
||||||
function renew_get_expiry($uid) {
|
function renew_get_expiry($uid) {
|
||||||
global $db;
|
$jj=$this->get($uid);
|
||||||
|
if ( isset($jj) && isset($jj['expiry']) && ! empty($jj['expiry']) ) {
|
||||||
$db->query("SELECT renewed + INTERVAL duration MONTH 'expiry' FROM membres WHERE uid='$uid' ;");
|
return $jj['expiry'];
|
||||||
if ($db->num_rows()) {
|
|
||||||
$db->next_record();
|
|
||||||
return $db->Record['expiry'];
|
|
||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
@ -688,19 +700,12 @@ EOF;
|
||||||
* 3: has expired past the duration
|
* 3: has expired past the duration
|
||||||
*/
|
*/
|
||||||
function renew_get_status($uid) {
|
function renew_get_status($uid) {
|
||||||
global $db;
|
$jj=$this->get($uid);
|
||||||
|
|
||||||
$db->query(
|
if ( isset($jj) && isset($jj['status']) && ! empty($jj['status']) ) {
|
||||||
"SELECT CASE" .
|
return $jj['status'];
|
||||||
" WHEN duration IS NULL THEN 0" .
|
|
||||||
" WHEN renewed + INTERVAL duration MONTH <= NOW() THEN 3" .
|
|
||||||
" WHEN renewed <= NOW() THEN 2" .
|
|
||||||
" ELSE 1 END 'status' FROM membres where uid=$uid;");
|
|
||||||
|
|
||||||
if($db->num_rows()) {
|
|
||||||
$db->next_record();
|
|
||||||
return $db->Record['status'];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue