Changeset 18 for base.php


Ignore:
Timestamp:
Oct 21, 2008, 4:15:52 PM (16 years ago)
Author:
george
Message:
  • Upraveno: Prozatím jednoduché oprávnění pro čtení a zápis k jednotlivým seznamům.
  • Přidáno: Typ GPS souřadnice.
  • Opraveno: Převod přes hašovací funkci SHA1 u typu Password.
  • Upraveno: Možnost vybrat variantu Žádný u odkazů.
  • Opraveno: Součinost modulu User s časovou databázovou strukturou.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • base.php

    r17 r18  
    55  global $Database, $Types, $Config;
    66
    7   //if(!CheckPermission('Read', $List['Id'])) return(SystemMessage('Řízení přístupu', 'Nemáte dostatečná oprávnění'));
     7  if(!CheckPermission('Read', $List['ItemId']))
     8  {
     9    if($Column != '') return('');
     10    else return(SystemMessage('Řízení přístupu', 'Nemáte dostatečná oprávnění'));
     11  }
    812
    913  if($Title == '') $Output = '<div>'.$List['Title'].'</div>';
     
    3337  if(array_key_exists('OrderColumn', $_GET))
    3438  {
    35     if($_SESSION['OrderColumn'] == $_GET['OrderColumn']) // Same column => reverse orded
     39    if($_SESSION['OrderColumn'] == $_GET['OrderColumn']) // Same column => reverse order
    3640      $_SESSION['OrderDirection'] = ($_SESSION['OrderDirection'] + 1) % 2;
    3741    if($_SESSION['OrderTable'] != $List['TableName']) // Different table => set ascending order
     
    6569      }
    6670    }
    67     $Output .= '<td><a href="?Action=ViewItem&amp;Table='.$List['TableName'].'&amp;Item='.$DbRow['ItemId'].'"><img border="0" src="images/view.png" alt="Zobrazit" title="Zobrazit"></a> <a href="?Action=EditItem&amp;Table='.$List['TableName'].'&amp;Item='.$DbRow['ItemId'].'"><img border="0" src="images/edit.png" alt="Editovat" title="Editovat"></a> <a href="?Action=DeleteItem&amp;Table='.$List['TableName'].'&amp;Item='.$DbRow['ItemId'].'"><img border="0" src="images/delete.png" alt="Smazat" title="Smazat"></a></td></tr>';
     71    $Output .= '<td>';
     72    if(CheckPermission('Read', $List['ItemId'])) $Output .= '<a href="?Action=ViewItem&amp;Table='.$List['TableName'].'&amp;Item='.$DbRow['ItemId'].'"><img border="0" src="images/view.png" alt="Zobrazit" title="Zobrazit"></a>';
     73    if(CheckPermission('Write', $List['ItemId'])) $Output .= ' <a href="?Action=EditItem&amp;Table='.$List['TableName'].'&amp;Item='.$DbRow['ItemId'].'"><img border="0" src="images/edit.png" alt="Editovat" title="Editovat"></a>';
     74    if(CheckPermission('Write', $List['ItemId'])) $Output .= ' <a href="?Action=DeleteItem&amp;Table='.$List['TableName'].'&amp;Item='.$DbRow['ItemId'].'"><img border="0" src="images/delete.png" alt="Smazat" title="Smazat"></a>';
     75    $Output .= '</td></tr>';
    6876  }
    6977  $Output .= '</table>';
    7078  $PageList = PagesList($Page, $TotalItemCount);
    7179  if(strlen($PageList) != 0) $Output .= $PageList.'<br />';
    72   $Output .= ' <a href="?Action=AddItem&amp;Table='.$List['TableName'].$ColumnSelection.'">Přidat</a> '.$FullListLink;
     80  if(CheckPermission('Write', $List['ItemId'])) $Output .= ' <a href="?Action=AddItem&amp;Table='.$List['TableName'].$ColumnSelection.'">Přidat</a> '.$FullListLink;
    7381  return($Output);
    7482}
     
    8694      $Output .= '<th><a href="?OrderColumn='.$Item['Name'].'">'.$Item['TextBefore'].'</a></th>';
    8795  }
    88   $Output .= '<th><a href="?OrderColumn=Author">Autor</a></th><th><a href="?OrderColumn=CreationTime">Čas vytvoření</a></th><th>Akce</th></tr>';
     96  $Output .= '<th><a href="?OrderColumn=Author">Autor</a></th><th><a href="?OrderColumn=CreationTime">Čas vytvoření</a></th><th><a href="?OrderColumn=CreationTime">Čas odstranění</a></th><th>Akce</th></tr>';
    8997
    9098  $Where = ' AND (ItemId='.$Id.')';
     
    127135      }
    128136    }
    129     echo($TypeNames['PointerOneToUser']);
    130     $Item = array('Name' => 'Author', 'Type' => $TypeNames['PointerOneToUser']);
     137    //print_r($TypeNames);
     138    //print_r($Types);
     139    $Item = array('Name' => 'Author', 'Type' => $TypeNames['PointerToUser']);
     140    //print_r($Item);
    131141    $ItemType = explode('|', $Types[$Item['Type']]['Parameters']);
    132142    $Type = $Types[$ItemType[0]];
     
    136146    $Output .= '<td>'.$Value.'</td>';
    137147
    138     $Output .= '<td>'.$DbRow['CreationTime'].'</td>';
     148    $Output .= '<td>'.$DbRow['CreationTime'].'</td><td>'.$DbRow['DeletionTime'].'</td>';
    139149    $Output .= '<td><a href="?Action=ViewItem&amp;Table='.$List['TableName'].'&amp;Item='.$DbRow['Id'].'"><img border="0" src="images/view.png" alt="Zobrazit" title="Zobrazit"></a></td></tr>';
    140150  }
     
    149159  global $Database, $Types;
    150160
     161  if(!CheckPermission('Write', $List['ItemId'])) return(SystemMessage('Řízení přístupu', 'Nemáte dostatečná oprávnění'));
    151162  $DbResult = $Database->select($List['TableName'], '*', 'ItemId='.$Id.' ORDER BY Id DESC LIMIT 1');
    152163  while($DbRow = $DbResult->fetch_array())
     
    184195  global $Database, $Types, $System, $LogActionType;
    185196
     197  if(!CheckPermission('Write', $List['ItemId'])) return(SystemMessage('Řízení přístupu', 'Nemáte dostatečná oprávnění'));
    186198  $DbResult = $Database->select($List['TableName'], '*', 'ItemId='.$Id.' ORDER BY Id DESC LIMIT 1');
    187199  while($DbRow = $DbResult->fetch_array())
     
    220232  global $Database, $Types;
    221233
     234  if(!CheckPermission('Write', $List['ItemId'])) return(SystemMessage('Řízení přístupu', 'Nemáte dostatečná oprávnění'));
    222235  $DefinitionItems = array();
    223236  $AfterTableOutput = '';
     
    260273  global $Database, $Types, $System, $LogActionType;
    261274
     275  if(!CheckPermission('Write', $List['ItemId'])) return(SystemMessage('Řízení přístupu', 'Nemáte dostatečná oprávnění'));
    262276  $DefinitionItems = array();
    263277  $AfterTableOutput = '';
     
    298312  global $Database, $Types, $Lists;
    299313
     314  if(!CheckPermission('Read', $List['ItemId'])) return(SystemMessage('Řízení přístupu', 'Nemáte dostatečná oprávnění'));
    300315  $Output = '';
    301316  $DbResult = $Database->select($List['TableName'], '*', 'ItemId='.$Id.' ORDER BY Id DESC LIMIT 1');
     
    317332    );
    318333    $Output .= $Form->ShowReadOnlyForm();
    319     $Output .= '<a href="?Action=EditItem&amp;Table='.$List['TableName'].'&amp;Item='.$DbRow['ItemId'].'">Editovat</a> ';
     334    if(CheckPermission('Write', $List['ItemId'])) $Output .= '<a href="?Action=EditItem&amp;Table='.$List['TableName'].'&amp;Item='.$DbRow['ItemId'].'">Editovat</a> ';
    320335
    321336    if(($Column != '') and ($ColumnValue != 0))
     
    344359  global $Database, $Lists, $System, $LogActionType;
    345360
     361  if(!CheckPermission('Write', $List['ItemId'])) return(SystemMessage('Řízení přístupu', 'Nemáte dostatečná oprávnění'));
    346362  $System->Modules['Log']->Add($List['Id'], $Id, $LogActionType['Delete']);
    347363  $System->Modules['DatabaseList']->DeleteItem($List['TableName'], $Id);
     
    359375  while($DbRow = $DbResult->fetch_assoc())
    360376  {
    361     $Output .= '<strong>'.$DbRow['Name'].'</strong><br />';
     377    $Group = '';
    362378    $DbResult2 = $Database->query('SELECT t1.* FROM `SystemList` AS t1 LEFT JOIN `SystemList` AS t2 ON t1.ItemId=t2.ItemId AND t1.Id < t2.Id WHERE (t2.ItemId IS NULL) AND (t1.DeletionTime IS NULL) AND (t1.`Menu` = '.$DbRow['ItemId'].')');
    363379    while($DbRow2 = $DbResult2->fetch_assoc())
    364380    {
    365       //if(($List['System'] == $System) and ($List['VisibleInMenu'] == 1))
    366       //if(CheckPermission('Read', $List['Id']))
    367       $Output .= '<a href="?Action=ShowList&amp;Table='.$DbRow2['TableName'].'">'.$DbRow2['Title'].'</a><br />';
    368     }
    369     $Output .= '<br />';
     381      if(CheckPermission('Read', $DbRow2['ItemId']))
     382        $Group .= '<a href="?Action=ShowList&amp;Table='.$DbRow2['TableName'].'">'.$DbRow2['Title'].'</a><br />';
     383    }
     384    if($Group != '')
     385      $Output .= '<strong>'.$DbRow['Name'].'</strong><br />'.$Group.'<br />';
    370386  }
    371387  $Output .= '<br />';
     
    440456    $List = array(
    441457     'Id' => $DbRow['Id'],
     458     'ItemId' => $DbRow['ItemId'],
    442459     'TableName' => $DbRow['TableName'],
    443460     'Title' => $DbRow['Title'],
    444      'System' => $DbRow['System'],
    445      'VisibleInMenu' => $DbRow['VisibleInMenu'],
    446461     'Items' => $Items,
    447462    );
     
    513528  global $Database, $System;
    514529
    515   $DbResult = $Database->query('SELECT t1.* FROM `Permission` AS t1 LEFT JOIN `Permission` AS t2 ON t1.ItemId=t2.ItemId AND t1.Id < t2.Id WHERE (t2.ItemId IS NULL) AND t1.PermissionGroup = (SELECT PermissionGroup.Id FROM PermissionGroup WHERE PermissionGroup.Id=(SELECT User.PermissionGroup FROM User WHERE User.ItemId='.$System->Modules['User']->User['Id'].' ORDER BY User.Id DESC LIMIT 1) ORDER BY PermissionGroup.Id DESC LIMIT 1) AND t1.DeletionTime IS NULL AND t1.List='.$ListId);
     530  $Result = FALSE;
     531  //return(TRUE);
     532  $DbResult = $Database->query('SELECT t1.* FROM `Permission` AS t1 LEFT JOIN `Permission` AS t2 ON t1.ItemId=t2.ItemId AND t1.Id < t2.Id WHERE (t2.ItemId IS NULL) AND t1.PermissionGroup = (SELECT PermissionGroup.Id FROM PermissionGroup WHERE PermissionGroup.Id=(SELECT User.PermissionGroup FROM User WHERE User.ItemId='.$System->Modules['User']->User['ItemId'].' ORDER BY User.Id DESC LIMIT 1) ORDER BY PermissionGroup.Id DESC LIMIT 1) AND t1.DeletionTime IS NULL AND t1.List='.$ListId);
    516533  if($DbResult->num_rows > 0)
    517534  {
     
    519536    switch($DbRow['Right'])
    520537    {
    521       case 0: return(array('Read' => FALSE, 'Write' => FALSE));
    522       case 1: return(array('Read' => TRUE, 'Write' => FALSE));
    523       case 2: return(array('Read' => TRUE, 'Write' => TRUE));
    524     }
    525   }
     538      case 0: $Privileges = array('Read' => FALSE, 'Write' => FALSE); break;
     539      case 1: $Privileges = array('Read' => TRUE, 'Write' => FALSE); break;
     540      case 2: $Privileges = array('Read' => TRUE, 'Write' => TRUE); break;
     541    }
     542    $Result = $Privileges[$Right];
     543  }
     544  //print_r($Privileges);
     545  //echo($DbRow['Right'].' '.$Result.'<br>');
     546  return($Result);
    526547}
    527548
Note: See TracChangeset for help on using the changeset viewer.