A few fixes in ax table creation (forces charset, increases text size, updates univer...
[platal.git] / modules / stats.php
index 12152a0..d931031 100644 (file)
@@ -65,9 +65,9 @@ class StatsModule extends PLModule
         $res = XDB::iterRow('SELECT  IF(registration_date > DATE_SUB(NOW(), INTERVAL {?} DAY),
                                         TO_DAYS(registration_date) - TO_DAYS(NOW()),
                                         -{?}) AS jour,
-                                     COUNT(uid) AS nb
+                                     COUNT(a.uid) AS nb
                                FROM  accounts AS a
-                          LEFT JOIN  account_profiles AS ap ON(ap.uid = a.uid AND FIND_IN_SET(\'owner\', ap.flags))
+                          LEFT JOIN  account_profiles AS ap ON (ap.uid = a.uid AND FIND_IN_SET(\'owner\', ap.perms))
                           LEFT JOIN  profiles AS p ON (ap.pid = p.pid)
                               WHERE  state = \'active\' AND p.deathdate IS NULL
                            GROUP BY  jour', (int)$jours, 1 + (int)$jours);
@@ -132,7 +132,7 @@ EOF2;
                                    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 (p.pid = ap.pid)
-                             INNER JOIN  profile_education AS pe ON (pe.uid = ap.pid AND FIND_IN_SET('primary', pe.flags))
+                             INNER JOIN  profile_education AS pe ON (pe.pid = ap.pid AND FIND_IN_SET('primary', pe.flags))
                                   WHERE  pe.entry_year >= {?} AND p.deathdate IS NULL
                                GROUP BY  promo", $depart);
 
@@ -181,7 +181,7 @@ EOF2;
             $res = XDB::query("SELECT  MIN(TO_DAYS(a.registration_date) - TO_DAYS(NOW()))
                                  FROM  accounts AS a
                            INNER JOIN  account_profiles AS ap ON (ap.uid = a.uid AND FIND_IN_SET('owner', ap.perms))
-                           INNER JOIN  profile_education AS pe ON (pe.uid = ap.pid AND FIND_IN_SET('primary', pe.flags))
+                           INNER JOIN  profile_education AS pe ON (pe.pid = ap.pid AND FIND_IN_SET('primary', pe.flags))
                                 WHERE  pe.entry_year = {?} AND a.state = 'active'", (int)$promo);
             $jours = -$res->fetchOneCell();
 
@@ -192,7 +192,7 @@ EOF2;
                                          COUNT(a.uid) AS nb
                                    FROM  accounts AS a
                              INNER JOIN  account_profiles AS ap ON (ap.uid = a.uid AND FIND_IN_SET('owner', ap.perms))
-                             INNER JOIN  profile_education AS pe ON (pe.uid = ap.pid AND FIND_IN_SET('primary', pe.flags))
+                             INNER JOIN  profile_education AS pe ON (pe.pid = ap.pid AND FIND_IN_SET('primary', pe.flags))
                                   WHERE  pe.entry_year = {?} AND a.state = 'active'
                                GROUP BY  jour", (int)$jours, 1 + (int)$jours, (int)$promo);
 
@@ -253,7 +253,7 @@ EOF2;
         $res = XDB::iterRow('SELECT  pe.entry_year AS promo, 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  profile_education AS pe ON (pe.uid = ap.pid AND FIND_IN_SET(\'primary\', pe.flags))
+                         INNER JOIN  profile_education AS pe ON (pe.pid = ap.pid AND FIND_IN_SET(\'primary\', pe.flags))
                               WHERE  pe.entry_year >= 1900  AND a.state = \'active\'
                            GROUP BY  promo
                            ORDER BY  promo');