function find_by_criteria($id_in_module = null, $type = null, $identifier = null)
 {
     global $Sql;
     $criterias = array();
     if ($id_in_module != null) {
         $criterias[] = "id_in_module = '" . intval($id_in_module) . "'";
     }
     if ($type != null) {
         $criterias[] = "type = '" . strprotect($type) . "'";
     }
     if ($identifier != null) {
         $criterias[] = "identifier = '" . strprotect($identifier) . "'";
     }
     if (!empty($criterias)) {
         $array_result = array();
         $where_clause = "contribution_type = '" . ADMINISTRATOR_ALERT_TYPE . "' AND " . implode($criterias, " AND ");
         $result = $Sql->query_while("SELECT id, entitled, fixing_url, current_status, creation_date, identifier, id_in_module, type, priority, description\n\t\t\tFROM " . DB_TABLE_EVENTS . "\n\t\t\tWHERE " . $where_clause, __LINE__, __FILE__);
         while ($row = $Sql->fetch_assoc($result)) {
             $alert = new AdministratorAlert();
             $alert->build($row['id'], $row['entitled'], $row['description'], $row['fixing_url'], $row['current_status'], new Date(DATE_TIMESTAMP, TIMEZONE_SYSTEM, $row['creation_date']), $row['id_in_module'], $row['identifier'], $row['type'], $row['priority']);
             $array_result[] = $alert;
         }
         return $array_result;
     } else {
         return AdministratorAlertService::get_all_alerts();
     }
 }
Exemple #2
0
//Gestion des critères de tri
$criteria = retrieve(GET, 'criteria', 'current_status');
$order = retrieve(GET, 'order', 'asc');
if (!in_array($criteria, array('entitled', 'current_status', 'creation_date', 'priority'))) {
    $criteria = 'current_status';
}
$order = $order == 'desc' ? 'desc' : 'asc';
$page = AppContext::get_request()->get_getint('p', 1);
$pagination = new ModulePagination($page, AdministratorAlertService::get_number_alerts(), NUM_ALERTS_PER_PAGE);
$pagination->set_url(new Url('/admin/admin_alerts.php?p=%d&criteria=' . $criteria . '&order=' . $order));
if ($pagination->current_page_is_empty() && $page > 1) {
    $error_controller = PHPBoostErrors::unexisting_page();
    DispatchManager::redirect($error_controller);
}
//On va chercher la liste des alertes
$alerts_list = AdministratorAlertService::get_all_alerts($criteria, $order, ($page - 1) * NUM_ALERTS_PER_PAGE, NUM_ALERTS_PER_PAGE);
foreach ($alerts_list as $alert) {
    $img_class = '';
    switch ($alert->get_priority()) {
        case AdministratorAlert::ADMIN_ALERT_VERY_LOW_PRIORITY:
            $color = 'FFFFFF';
            break;
        case AdministratorAlert::ADMIN_ALERT_LOW_PRIORITY:
            $color = 'ECDBB7';
            break;
        case AdministratorAlert::ADMIN_ALERT_MEDIUM_PRIORITY:
            $color = 'F5D5C6';
            break;
        case AdministratorAlert::ADMIN_ALERT_HIGH_PRIORITY:
            $img_class = 'fa fa-warning';
            $color = 'FFD5D1';
require_once '../admin/admin_begin.php';
define('TITLE', $LANG['administration']);
require_once '../admin/admin_header.php';
$template = new Template('admin/admin_alerts.tpl');
import('events/administrator_alert_service');
define('NUM_ALERTS_PER_PAGE', 20);
import('util/pagination');
$pagination = new Pagination();
$criteria = retrieve(GET, 'criteria', 'current_status');
$order = retrieve(GET, 'order', 'asc');
if (!in_array($criteria, array('entitled', 'current_status', 'creation_date', 'priority'))) {
    $criteria = 'current_status';
}
$order = $order == 'desc' ? 'desc' : 'asc';
$alerts_list = AdministratorAlertService::get_all_alerts($criteria, $order, ($pagination->_get_var_page('p') - 1) * NUM_ALERTS_PER_PAGE, NUM_ALERTS_PER_PAGE);
foreach ($alerts_list as $alert) {
    $img_type = '';
    switch ($alert->get_priority()) {
        case ADMIN_ALERT_VERY_LOW_PRIORITY:
            $color = 'FFFFFF';
            break;
        case ADMIN_ALERT_LOW_PRIORITY:
            $color = 'ECDBB7';
            break;
        case ADMIN_ALERT_MEDIUM_PRIORITY:
            $color = 'F5D5C6';
            break;
        case ADMIN_ALERT_HIGH_PRIORITY:
            $img_type = 'important.png';
            $color = 'FFD5D1';