Changeset 284 for trunk/log.php


Ignore:
Timestamp:
Dec 11, 2009, 11:41:03 AM (15 years ago)
Author:
george
Message:
  • Upraveno: Přepracováno zobrazování stránkování položek tabulek. Stránkování nyní zobrazeno nad i pod tabulkou. Nevypisovány všechny stránky, ale jen stránky okolo aktuální dle počtu zadaného VisiblePagingItems v config.php. Opravna také kontrola rozsahu vybraných stránek a zajištěna automatická obsluha polí SESSION a GET.
  • Upraveno: Struktura $LogTypes upravena na přehlednější.
  • Přidáno: Doplněny indexy sloupců pro některé tabulky.
  • Přidáno: Třída Database vycházející objektově z třídy mysqli.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/log.php

    r250 r284  
    11<?php
    22
    3 include('includes/global.php'); 
    4 include('rss.php');
     3include_once('includes/global.php'); 
    54
    65if(array_key_exists('rss', $_GET))
     
    1413  {
    1514    $Items[] = array
    16         (
    17       'Title' => strip_tags($LogTypes[$Line['type']][1].': '.$Line['text'].' ('.$Line['user'].', '.$Line['IP'].')'),
     15  (
     16      'Title' => strip_tags($LogTypes[$Line['type']]['Name'].': '.$Line['text'].' ('.$Line['user'].', '.$Line['IP'].')'),
    1817      'Link' =>  $Config['Web']['BaseURL'].'log.php',
    19       'Description' => $LogTypes[$Line['type']][1].': '.$Line['text'].' ('.$Line['user'].', '.$Line['IP'].')',
     18      'Description' => $LogTypes[$Line['type']]['Name'].': '.$Line['text'].' ('.$Line['user'].', '.$Line['IP'].')',
    2019      'Time' => $Line['UNIX_TIMESTAMP(date)'],
    2120    );
    22   }     
     21  } 
    2322
    2423  echo(GenerateRSS(array
     
    3231} else
    3332{
    34   if(array_key_exists('Page', $_GET)) $_SESSION['Page'] = $_GET['Page'];
    35   else if(!array_key_exists('Page', $_SESSION)) $_SESSION['Page'] = 1;
     33  if(array_key_exists('type', $_GET)) $_SESSION['type'] = $_GET['type'] * 1;
     34  else if(!array_key_exists('type', $_SESSION)) $_SESSION['type'] = '';
     35
    3636  if(array_key_exists('group', $_GET)) $_SESSION['group'] = $_GET['group'];
    3737
    38   if(array_key_exists('type', $_GET)) $_SESSION['type'] = $_GET['type'];
    39   else if(!array_key_exists('type', $_SESSION)) $_SESSION['type'] = '';
    40  
    41   if($_SESSION['type'] <> '') $Type = '&amp;type='.$_SESSION['type'];
    42     else {
    43                  $Type = '';
    44                  unset($_SESSION['type'],$_SESSION['group']);
    45         }
    46          
    47   $RSSChannels = array(array('Title' => 'Záznamy změn', 'URL' => 'log.php?rss'.$Type));
     38  if($_SESSION['type'] != '') $WhereType = ' `type`='.$_SESSION['type'];
     39    else $WhereType = '1=1';
     40   
     41  $RSSChannels = array(array('Title' => 'Záznamy změn', 'URL' => 'log.php?rss&type='.$_SESSION['type']));
    4842  ShowPage();
    4943 
     
    5448    foreach($LogTypes as $Index => $LogItem)
    5549    {
    56       echo('<a href="log.php?type='.$LogItem[0].'" style="color:'.$LogItem[2].'" title="'.$LogItem[3].'">'.$LogItem[1].'</a> ');
     50      echo('<a href="log.php?type='.$Index.'" style="color:'.$LogItem['Color'].'" title="'.$LogItem['Name'].'">'.$LogItem['Name'].'</a> ');
    5751    }
    5852  }
     
    6054  echo('<br /><br />');
    6155
    62   if(array_key_exists('type', $_SESSION)) $Where = ' WHERE type = "'.$_SESSION['type'].'"';
    63     else
     56  if(array_key_exists('type', $_SESSION)) $Where = ' WHERE '.$WhereType;
     57  else
    6458  {
    6559    if(array_key_exists('group', $_SESSION)) $Where = ' WHERE text LIKE "%'.$TranslationTree[$_SESSION['group']]['Name'].'%"';
    66         else $Where = '';
     60      else $Where = '';
    6761  }
    6862  if(($Where != '') and (array_key_exists('group', $_SESSION))) $Where .= ' AND text LIKE "%'.$TranslationTree[$_SESSION['group']]['Name'].'%"';
    6963
    70   $sql = 'SELECT *,(SELECT user.user FROM user WHERE user.id = log.user) as user FROM log '.$Where.'ORDER BY date DESC LIMIT '.(($_SESSION['Page'] - 1)*100).',100';
     64  $DbResult = $Database->SQLCommand('SELECT COUNT(*) FROM `log` '.$Where);
     65  $DbRow = mysql_fetch_row($DbResult);
     66  $PageList = GetPageList($DbRow[0]);   
     67 
     68  $sql = 'SELECT *,(SELECT `user`.`user` FROM `user` WHERE `user`.`id` = `log`.`user`) AS `user` FROM `log` '.$Where.' ORDER BY `date` DESC '.$PageList['SQLLimit'];
    7169   
    72   ListPaging('?Page=', 'log', $Where, 100, $_SESSION['Page']);   
     70  echo($PageList['Output']);
     71  echo('<table class="BaseTable"><tr><th>Čas</th><th>Text</th><th>Uživatel</th><th>Adresa</th></tr>');
    7372  $ID = $Database->SQLCommand($sql);
    7473  while($Line = mysql_fetch_assoc($ID))
    7574  {
    76     foreach($LogTypes as $Index => $LogItem)
    77     {
    78       if($Line['type'] == $LogItem[0]) $color = $LogItem[2];
    79     }
    80     echo($Line['date'].': <span style="color:'.$color.'">'.$Line['text'].'</span> ('.$Line['user'].', '.$Line['IP'].')<br />');
     75    echo('<tr><td>'.$Line['date'].'</td><td><span style="color:'.$LogTypes[$Line['type']]['Color'].'">'.$Line['text'].'</span></td><td>'.$Line['user'].'</td><td>'.$Line['IP'].'</td></tr>');
    8176  }
    82   //ListPaging('?Page=', 'log', $Where, $Config['Web']['ItemsPerPage'], $_SESSION['Page']);   
     77  echo('</table>');
     78  echo($PageList['Output']);
    8379         
    8480  ShowFooter();     
Note: See TracChangeset for help on using the changeset viewer.