Fix fatal error due recent changes.

1.10.x
Julio Montoya 10 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 ($_POST['formSent']) {
if (isset($_POST['formSent'])) {
switch ($action) {
case 'edit_top':
// Filter

@ -96,9 +96,9 @@ class Statistics
public static function countUsers($status = null, $categoryCode = null, $countInvisibleCourses = true, $onlyActive = false)
{
// Database table definitions
$course_user_table = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
$course_table = Database :: get_main_table(TABLE_MAIN_COURSE);
$user_table = Database :: get_main_table(TABLE_MAIN_USER);
$course_user_table = Database:: get_main_table(TABLE_MAIN_COURSE_USER);
$course_table = Database:: get_main_table(TABLE_MAIN_COURSE);
$user_table = Database:: get_main_table(TABLE_MAIN_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();
$active_filter = $onlyActive?' AND active=1':'';
@ -107,22 +107,33 @@ class Statistics
if (api_is_multiple_url_enabled()) {
$sql = "SELECT COUNT(DISTINCT(u.user_id)) AS number
FROM $user_table as u, $access_url_rel_user_table as url
WHERE u.user_id=url.user_id
AND access_url_id='".$current_url_id."'
WHERE
u.user_id = url.user_id AND
access_url_id = '".$current_url_id."'
$status_filter $active_filter";
if (isset ($categoryCode)) {
$sql = "SELECT COUNT(DISTINCT(cu.user_id)) AS number
FROM $course_user_table cu, $course_table c, $access_url_rel_user_table as url
WHERE c.id = cu.c_id
AND c.category_code = '".Database::escape_string($categoryCode)."'
AND cu.user_id=url.user_id AND access_url_id='".$current_url_id."'
$status_filter $active_filter";
WHERE
c.id = cu.c_id AND
c.category_code = '".Database::escape_string($categoryCode)."' AND
cu.user_id = url.user_id AND
access_url_id='".$current_url_id."'
$status_filter $active_filter";
}
} 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)) {
$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.
* @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 = date('Y-m-d H:i:s', $ceiling);
@ -46,7 +46,6 @@ class ZombieManager
user.active,
access.login_date';
global $_configuration;
if (api_is_multiple_url_enabled()) {
$access_url_rel_user_table = Database :: get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER);
$current_url_id = api_get_current_access_url_id();
@ -70,24 +69,31 @@ class ZombieManager
access.login_date <= '$ceiling' AND
user.user_id = access.login_user_id";
}
if($active_only)
{
if ($active_only) {
$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)
{
$zombies = self::list_zombies($ceiling);
$ids = array();
foreach($zombies as $zombie)
{
foreach($zombies as $zombie) {
$ids[] = $zombie['user_id'];
}
UserManager::deactivate_users($ids);
}
}

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

Loading…
Cancel
Save