$arrID = array_filter(explode('-', $retFields['id_user']), 'strings::ifInt'); !empty($arrID[0]) && !empty($arrID[1]) ? $strWhere .= " AND id_user>=" . $arrID[0] . " AND id_user<=" . $arrID[1] : null; } elseif ((int) $retFields['id_user']) { $strWhere .= " AND id_user IN (" . secure::escQuoteData((int) abs($retFields['id_user'])) . ")"; } } /** Автор **/ !empty($retFields['author']) ? $strWhere .= " AND author LIKE " . secure::escQuoteData($retFields['author']) : null; /** Заголовок **/ !empty($retFields['title']) ? $strWhere .= " AND title LIKE " . secure::escQuoteData($retFields['title']) : null; /** Раздел **/ !empty($retFields['id_section']) ? $strWhere .= " AND id_section IN (" . secure::escQuoteData($retFields['id_section']) . ")" : null; // проверяем поле "Дата от" и создаем условие для запроса !empty($retFields['sDate']) ? !validate::validateMySqlDate($retFields['sDate']) ? $arrErrors[] = ERROR_DATE_FORMAT : ($strWhere .= " AND datetime>=" . secure::escQuoteData($retFields['sDate'])) : null; // проверяем поле "Дата до" и создаем условие для запроса !empty($retFields['eDate']) ? !validate::validateMySqlDate($retFields['eDate']) ? $arrErrors[] = ERROR_DATE_FORMAT : ($strWhere .= " AND datetime<=" . secure::escQuoteData($retFields['eDate'])) : null; /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// $smarty->assignByRef('retFields', $retFields); /** текущий обработанный URL **/ $path .= 'do=filter&id=' . $retFields['id'] . '&id_user='******'id_user'] . '&author=' . $retFields['author'] . '&title=' . $retFields['title'] . '&id_section=' . $retFields['id_section'] . '&sDate=' . $retFields['sDate'] . '&eDate=' . $retFields['eDate'] . '&records=' . $retFields['records'] . '&'; } /** смещение, всегда 0 (затем берется из $_GET) **/ $offset = !empty($_GET['offset']) && strings::ifInt($_GET['offset']) && (int) $_GET['offset'] > 0 ? (int) abs($_GET['offset']) : 0; $strLimit = array('strLimit' => $offset . ',' . $retFields['records'], 'calcRows' => true); $arrFields = array('id', 'title', 'id_section', 'id_user', 'author', 'datetime'); $smarty->assign('arrArticles', $articles->getArticles($strWhere, false, $strLimit, $arrFields)); // массив всех статей /** формируем страницы **/ $allRecords = $articles->cntArticles(); // получаем общее количество статей