/** * Print the number of users that didn't login for a certain period of time */ public static function printUsersNotLoggedInStats() { $totalLogin = array(); $table = Database::get_main_table(TABLE_STATISTIC_TRACK_E_LOGIN); $access_url_rel_user_table = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER); $current_url_id = api_get_current_access_url_id(); $total = self::countUsers(); if (api_is_multiple_url_enabled()) { $table_url = ", {$access_url_rel_user_table}"; $where_url = " AND login_user_id=user_id AND access_url_id='" . $current_url_id . "'"; } else { $table_url = ''; $where_url = ''; } $now = api_get_utc_datetime(); $sql[get_lang('ThisDay')] = "SELECT count(distinct(login_user_id)) AS number " . " FROM {$table} {$table_url} " . " WHERE DATE_ADD(login_date, INTERVAL 1 DAY) >= '{$now}' {$where_url}"; $sql[get_lang('Last7days')] = "SELECT count(distinct(login_user_id)) AS number " . " FROM {$table} {$table_url} " . " WHERE DATE_ADD(login_date, INTERVAL 7 DAY) >= '{$now}' {$where_url}"; $sql[get_lang('Last31days')] = "SELECT count(distinct(login_user_id)) AS number " . " FROM {$table} {$table_url} " . " WHERE DATE_ADD(login_date, INTERVAL 31 DAY) >= '{$now}' {$where_url}"; $sql[sprintf(get_lang('LastXMonths'), 6)] = "SELECT count(distinct(login_user_id)) AS number " . " FROM {$table} {$table_url} " . " WHERE DATE_ADD(login_date, INTERVAL 6 MONTH) >= '{$now}' {$where_url}"; $sql[get_lang('NeverConnected')] = "SELECT count(distinct(login_user_id)) AS number " . " FROM {$table} {$table_url} WHERE 1=1 {$where_url}"; foreach ($sql as $index => $query) { $res = Database::query($query); $obj = Database::fetch_object($res); $r = $total - $obj->number; $totalLogin[$index] = $r < 0 ? 0 : $r; } Statistics::printStats(get_lang('StatsUsersDidNotLoginInLastPeriods'), $totalLogin, false); }
break; case 'logins': Statistics::printLoginStats($_GET['type']); break; case 'pictures': Statistics::printUserPicturesStats(); break; case 'no_login_users': Statistics::printUsersNotLoggedInStats(); break; case 'zombies': ZombieReport::create(array('report' => 'zombies'))->display(); break; case 'activities': Statistics::printActivitiesStats(); break; case 'messagesent': $messages_sent = Statistics::getMessages('sent'); Statistics::printStats(get_lang('MessagesSent'), $messages_sent); break; case 'messagereceived': $messages_received = Statistics::getMessages('received'); Statistics::printStats(get_lang('MessagesReceived'), $messages_received); break; case 'friends': // total amount of friends $friends = Statistics::getFriends(); Statistics::printStats(get_lang('CountFriends'), $friends); break; } Display::display_footer();