Fix fatal error due recent changes.

1.10.x
Julio Montoya 11 years ago
parent dfd572d0a0
commit 1382059625
  1. 2
      main/admin/configure_inscription.php
  2. 33
      main/inc/lib/statistics.lib.php
  3. 24
      main/inc/lib/zombie/zombie_manager.class.php
  4. 17
      main/inc/lib/zombie/zombie_report.class.php

@ -109,7 +109,7 @@ if (!empty($homep_new)) {
} }
if (!empty($action)) { if (!empty($action)) {
if ($_POST['formSent']) { if (isset($_POST['formSent'])) {
switch ($action) { switch ($action) {
case 'edit_top': case 'edit_top':
// Filter // Filter

@ -96,9 +96,9 @@ class Statistics
public static function countUsers($status = null, $categoryCode = null, $countInvisibleCourses = true, $onlyActive = false) public static function countUsers($status = null, $categoryCode = null, $countInvisibleCourses = true, $onlyActive = false)
{ {
// Database table definitions // Database table definitions
$course_user_table = Database :: get_main_table(TABLE_MAIN_COURSE_USER); $course_user_table = Database:: get_main_table(TABLE_MAIN_COURSE_USER);
$course_table = Database :: get_main_table(TABLE_MAIN_COURSE); $course_table = Database:: get_main_table(TABLE_MAIN_COURSE);
$user_table = Database :: get_main_table(TABLE_MAIN_USER); $user_table = Database:: get_main_table(TABLE_MAIN_USER);
$access_url_rel_user_table= Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER); $access_url_rel_user_table= Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$current_url_id = api_get_current_access_url_id(); $current_url_id = api_get_current_access_url_id();
$active_filter = $onlyActive?' AND active=1':''; $active_filter = $onlyActive?' AND active=1':'';
@ -107,22 +107,33 @@ class Statistics
if (api_is_multiple_url_enabled()) { if (api_is_multiple_url_enabled()) {
$sql = "SELECT COUNT(DISTINCT(u.user_id)) AS number $sql = "SELECT COUNT(DISTINCT(u.user_id)) AS number
FROM $user_table as u, $access_url_rel_user_table as url FROM $user_table as u, $access_url_rel_user_table as url
WHERE u.user_id=url.user_id WHERE
AND access_url_id='".$current_url_id."' u.user_id = url.user_id AND
access_url_id = '".$current_url_id."'
$status_filter $active_filter"; $status_filter $active_filter";
if (isset ($categoryCode)) { if (isset ($categoryCode)) {
$sql = "SELECT COUNT(DISTINCT(cu.user_id)) AS number $sql = "SELECT COUNT(DISTINCT(cu.user_id)) AS number
FROM $course_user_table cu, $course_table c, $access_url_rel_user_table as url FROM $course_user_table cu, $course_table c, $access_url_rel_user_table as url
WHERE c.id = cu.c_id WHERE
AND c.category_code = '".Database::escape_string($categoryCode)."' c.id = cu.c_id AND
AND cu.user_id=url.user_id AND access_url_id='".$current_url_id."' c.category_code = '".Database::escape_string($categoryCode)."' AND
$status_filter $active_filter"; cu.user_id = url.user_id AND
access_url_id='".$current_url_id."'
$status_filter $active_filter";
} }
} else { } else {
$sql = "SELECT COUNT(DISTINCT(user_id)) AS number FROM $user_table WHERE 1=1 $status_filter $active_filter"; $sql = "SELECT COUNT(DISTINCT(user_id)) AS number
FROM $user_table WHERE 1=1 $status_filter $active_filter";
if (isset ($categoryCode)) { if (isset ($categoryCode)) {
$status_filter = isset($status)?' AND status = '.intval($status):''; $status_filter = isset($status)?' AND status = '.intval($status):'';
$sql = "SELECT COUNT(DISTINCT(cu.user_id)) AS number FROM $course_user_table cu, $course_table c WHERE c.code = cu.course_code AND c.category_code = '".Database::escape_string($categoryCode)."' $status_filter $active_filter"; $sql = "SELECT COUNT(DISTINCT(cu.user_id)) AS number
FROM $course_user_table cu, $course_table c
WHERE
c.id = cu.c_id AND
c.category_code = '".Database::escape_string($categoryCode)."'
$status_filter
$active_filter
";
} }
} }

@ -26,7 +26,7 @@ class ZombieManager
* @param bool $active_only if true returns only active users. Otherwise returns all users. * @param bool $active_only if true returns only active users. Otherwise returns all users.
* @return ResultSet * @return ResultSet
*/ */
static function list_zombies($ceiling, $active_only = true) static function listZombies($ceiling, $active_only = true, $count = 0, $from = 10, $column = 'user.firstname', $direction = 'desc')
{ {
$ceiling = is_numeric($ceiling) ? (int) $ceiling : strtotime($ceiling); $ceiling = is_numeric($ceiling) ? (int) $ceiling : strtotime($ceiling);
$ceiling = date('Y-m-d H:i:s', $ceiling); $ceiling = date('Y-m-d H:i:s', $ceiling);
@ -46,7 +46,6 @@ class ZombieManager
user.active, user.active,
access.login_date'; access.login_date';
global $_configuration;
if (api_is_multiple_url_enabled()) { if (api_is_multiple_url_enabled()) {
$access_url_rel_user_table = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER); $access_url_rel_user_table = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$current_url_id = api_get_current_access_url_id(); $current_url_id = api_get_current_access_url_id();
@ -70,24 +69,31 @@ class ZombieManager
access.login_date <= '$ceiling' AND access.login_date <= '$ceiling' AND
user.user_id = access.login_user_id"; user.user_id = access.login_user_id";
} }
if($active_only) if ($active_only) {
{
$sql .= ' AND user.active = 1'; $sql .= ' AND user.active = 1';
} }
return ResultSet::create($sql); $count = intval($count);
$from = intval($from);
$sql .= " ORDER BY $column $direction";
$sql .= " LIMIT $count, $from ";
$result = Database::query($sql);
return Database::store_result($result, 'ASSOC');
} }
/**
* @param $ceiling
*/
static function deactivate_zombies($ceiling) static function deactivate_zombies($ceiling)
{ {
$zombies = self::list_zombies($ceiling); $zombies = self::list_zombies($ceiling);
$ids = array(); $ids = array();
foreach($zombies as $zombie) foreach($zombies as $zombie) {
{
$ids[] = $zombie['user_id']; $ids[] = $zombie['user_id'];
} }
UserManager::deactivate_users($ids); UserManager::deactivate_users($ids);
} }
} }

@ -31,7 +31,7 @@ class ZombieReport implements Countable
function get_parameters() function get_parameters()
{ {
$result = array( $result = array(
'name' => 'zombie_report_parameters', 'name' => 'zombie_report_parameters',
'method' => 'GET', 'method' => 'GET',
@ -149,7 +149,7 @@ class ZombieReport implements Countable
{ {
/** /**
* todo check token * todo check token
*/ */
$check = Security::check_token('post'); $check = Security::check_token('post');
Security::clear_token(); Security::clear_token();
@ -197,7 +197,7 @@ class ZombieReport implements Countable
$ceiling = $this->get_ceiling(); $ceiling = $this->get_ceiling();
$active_only = $this->get_active_only(); $active_only = $this->get_active_only();
$items = ZombieManager::list_zombies($ceiling, $active_only); $items = ZombieManager::listZombies($ceiling, $active_only);
return count($items); return count($items);
} }
@ -209,7 +209,7 @@ class ZombieReport implements Countable
$ceiling = $this->get_ceiling(); $ceiling = $this->get_ceiling();
$active_only = $this->get_active_only(); $active_only = $this->get_active_only();
$items = ZombieManager::list_zombies($ceiling, $active_only)->limit($count, $from)->orderby($column, $direction); $items = ZombieManager::listZombies($ceiling, $active_only, $count, $from, $column, $direction);
$result = array(); $result = array();
foreach ($items as $item) { foreach ($items as $item) {
$row = array(); $row = array();
@ -231,7 +231,6 @@ class ZombieReport implements Countable
function display_data($return = false) function display_data($return = false)
{ {
$count = array($this, 'count'); $count = array($this, 'count');
$data = array($this, 'get_data'); $data = array($this, 'get_data');
@ -277,9 +276,9 @@ class ZombieReport implements Countable
/** /**
* Table formatter for the active column. * Table formatter for the active column.
* *
* @param string $active * @param string $active
* @return string * @return string
*/ */
function format_active($active) function format_active($active)
{ {
@ -323,4 +322,4 @@ class ZombieReport implements Countable
} }
} }
} }

Loading…
Cancel
Save