Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require_once('classes/config.class.php');
- require_once('classes/magazin.class.php');
- require_once('classes/ViewHelper.php');
- require_once('kernel_funcs.php');
- $mg = new magazin();
- $filter_actions = $mg->get_unique_actions();
- $filter_users = $mg->get_unique_users();
- $viewFilter = getParam('filter', array());
- if (!is_array($viewFilter)) {
- $viewFilter = array();
- }
- // номер текущей страницы
- $page = getParam('page', 1);
- // Фильтруем переменные фильтра :))
- // никаких пустых значений
- $viewFilter = array_filter($viewFilter, function($var) {
- return ($var != '');
- });
- // фильтруем ключи, оставляем только допустимые
- $filter_keys = array_flip(array('id_user', 'action', 'date_from', 'date_to'));
- $viewFilter = array_intersect_key($viewFilter, $filter_keys);
- $filter = $viewFilter;
- if ($filter['date_to'] && !$filter['date_from']) {
- $filter['date_from'] = $filter['date_to'];
- unset($filter['date_to']);
- }
- // строим фильтр для модели выборки в базе
- if ($filter['date_from'] && !$filter['date_to']) {
- $filter[] = new mysql_expr('DATE(`date`) = DATE('.$mg->escape($filter['date_from']).')');
- unset($filter['date_from']);
- } else if ($filter['date_from'] && $filter['date_to']) {
- $date_from = strtotime($filter['date_from']);
- $date_to = strtotime($filter['date_to']);
- if ($date_from > $date_to) {
- $date_from = $filter['date_to'];
- $date_to = $filter['date_from'];
- $filter[] = new mysql_expr('DATE(`date`) >= '.$mg->escape($date_from));
- $filter[] = new mysql_expr('DATE(`date`) <= '.$mg->escape($date_to));
- } else if ($date_from == $date_to) {
- $filter[] = new mysql_expr('DATE(`date`) = DATE('.$mg->escape($filter['date_from']).')');
- }
- unset($filter['date_from'], $filter['date_to']);
- }
- $zh_notes = $mg->getData($filter, $page);
- $total = $zh_notes['count'];
- function page_url($page, $total)
- {
- $on_page = 10;
- }
- ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <? include 'templates/header.tpl' ?>
- <script type="text/javascript">
- $(function() {
- $.datepicker.setDefaults($.datepicker.regional['ru']);
- $( "#from, #to" ).datepicker({dateFormat: 'yy-mm-dd'});
- });
- </script>
- <title>Документ без названия</title>
- </head>
- <body>
- <? include('blocks/mewnu.php');
- ?>
- <div id="content">
- <div id="tovars_list_div" style="float:left; border-left:1px solid black; margin-left:10px; padding-left:5px;">
- <div style="clear:both;">
- <br>
- <form id="filter_form" action="" method="GET">
- <b>Фильтр</b><br />
- По владельцу: <?=ViewHelper::formSelect('filter[id_user]', array("" => '-- не выбрано --') + $filter_users, $viewFilter['id_user'])?><br />
- По действию: <?=ViewHelper::formSelect('filter[action]', array("" => '-- не выбрано --') + $filter_actions, $viewFilter['action'])?><br />
- По дате: <label for="from">Начало</label>
- <input type="text" id="from" name="filter[date_from]" value="<?=$viewFilter['date_from']?>"/>
- <label for="to">Конец</label>
- <input type="text" id="to" name="filter[date_to]" value="<?=$viewFilter['date_to']?>"/>
- <br />
- <input type="submit" value="OK" />
- <input type="button" value="Отмена" onclick="document.location.href=document.location.pathname;" />
- </form>
- <h3>Журнал событий</h3>
- <table class="table_border" style="width: 800px;">
- <tr>
- <th style="width:150px;">Дата</th>
- <th>Кто</th>
- <th>Действие</th>
- <th style="width:50%">Подробно</th>
- </tr>
- <? $date_header = null; foreach ($zh_notes as $row): ?>
- <? if (!$date_header || ($last_date_header && $last_date_header != $row['date_str']) ):
- $date_header = $row['date_str'];
- $last_date_header = $date_header;
- ?>
- <tr><td colspan="4"><b><?=$date_header?></b></td></tr>
- <? endif; ?>
- <tr>
- <td><?=$row['hour_str']?></td>
- <td><?=$row['author']?></td>
- <td><b><?=$row['action']?></b></td>
- <td><?=$row['descr']?></td>
- </tr>
- <? endforeach; ?>
- </table>
- </div>
- </div>
- </div>
- <script>
- function Dump(d,l)
- {
- if (l == null) l = 1;
- var s = '';
- if (typeof(d) == "object") {
- s += typeof(d) + " {\n";
- for (var k in d) {
- for (var i=0; i<l; i++)
- s += " ";
- s += k+": " + Dump(d[k],l+1);
- }
- for (var i=0; i<l-1; i++) s += " ";
- s += "}\n"
- } else {
- s += "" + d + "\n";
- }
- return s;
- }
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement