Changeset 96


Ignore:
Timestamp:
Jul 31, 2008, 12:09:43 PM (16 years ago)
Author:
george
Message:
  • Přidáno: Možnost zobrazit aktuality v samostném okně po kliknutí.
  • Přidáno: Funkce obnovení zapomenutého hesla uživatele.
Location:
devel/www
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • devel/www/aktuality/index.php

    r87 r96  
    2626    switch($_GET['action'])
    2727    {
     28      case 'view':
     29        if(!$this->System->Modules['User']->CheckPermission('News', 'Display', 'Item')) $Output .= 'Nemáte oprávnění';
     30        else
     31        {
     32          if(array_key_exists('id', $_GET)) $Id = $_GET['id'] * 1;
     33          $DbResult = $this->Database->query('SELECT `news`.*, `User`.`Name` FROM `news` LEFT JOIN `User` ON `User`.`Id`=`news`.`User` WHERE  `news`.`id`='.$Id);
     34          if($DbResult->num_rows > 0)
     35          {
     36            $Row = $DbResult->fetch_array();
     37            $Output .= '<div style="border: thin dotted #97ADFF;        background: #F6F7FF; margin-top: 5px; padding: 0px 5px 5px 5px;"><div style="padding-bottom: 1px; border-bottom-width: 1; border-bottom-style: solid; border-bottom-color: silver;"><strong>'.$Row['title'].' ('.HumanDate($Row['date']).', '.$Row['Name'].$Row['author'].')</strong>';
     38            if($this->System->Modules['User']->User['Id'] == $Row['User'])
     39            {
     40              $Output .= '&nbsp;<a href="index.php?action=del&amp;category='.$Category.'&amp;id='.$Row['id'].'">Smazat</a>';
     41              $Output .= '&nbsp;<a href="index.php?action=edit&amp;category='.$Category.'&amp;id='.$Row['id'].'">Editovat</a>';
     42            }
     43            $Output .= '</div>'.$Row['content'].'<br />';
     44            if($Row['enclosure'] != '')
     45            {
     46              $Output .= '<br />Přílohy: ';
     47              $Enclosures = explode(';', $Row['enclosure']);
     48              foreach($Enclosures as $Enclosure)
     49              {
     50                if(file_exists($this->UploadedFilesFolder.$Enclosure)) $Output .= ' <a href="'.$this->UploadedFilesFolder.$Enclosure.'">'.$Enclosure.'</a>';
     51              }
     52            }
     53            $Output .= '</div>';
     54          } else $Output .= 'Položka nenalezena.';
     55        }
     56        break;
    2857      case 'add':
    2958          $Output .= '<strong>Vložení nové aktuality:</strong><br />';
  • devel/www/aktuality/news.php

    r87 r96  
    3838      while($Row = $DbResult->fetch_array())
    3939      {
    40         $Output .= '<tr><td onmouseover="zobraz('."'new".$Category.$Index."'".')" style="cursor: pointer; margin: 0px;"><table cellspacing="0" cellpadding="0" style="padding: 0px; margin: 0px; font-size: small; color: red;" width="100%"><tr><td style="font-size: '.$FontSize.'pt"><strong>'.$Row['title'].'</strong></td><td align="right" style="font-size: '.$FontSize.'pt">'.$Row['Name'].$Row['author'].' ('.HumanDate($Row['date']).')</td></tr></table>';
     40        $Output .= '<tr><td onclick="window.location=\'aktuality/index.php?action=view&amp;id='.$Row['id'].'\'" onmouseover="zobraz('."'new".$Category.$Index."'".')" style="cursor: pointer; margin: 0px;"><table cellspacing="0" cellpadding="0" style="padding: 0px; margin: 0px; font-size: small; color: red;" width="100%"><tr><td style="font-size: '.$FontSize.'pt"><strong>'.$Row['title'].'</strong></td><td align="right" style="font-size: '.$FontSize.'pt">'.$Row['Name'].$Row['author'].' ('.HumanDate($Row['date']).')</td></tr></table>';
    4141        $Output .= '<div id="new'.$Category.$Index.'" class="NewsTableItem">'.$Row['content'];
    4242
     
    6060    return($Output);
    6161  }
    62  
     62
    6363  function LoadSettingsFromCookies()
    6464  {
     
    8585  function Show()
    8686  {
    87     $Output = '<div class="PanelTitle"><span id="MenuItem">Aktuálně:</span><div id="MenuItem2"><a href="?Action=CustomizeNews">Upravit</a></div></div>';
     87    $Output = '<div class="PanelTitle"><span class="MenuItem">Aktuálně:</span><div class="MenuItem2"><a href="?Action=CustomizeNews">Upravit</a></div></div>';
    8888
    8989    $UploadedFilesFolder = 'aktuality/uploads/';
  • devel/www/finance/manage.php

    r87 r96  
    361361    }
    362362  }
     363
    363364}
    364365
  • devel/www/form_classes.php

    r87 r96  
    7171    ),
    7272  ),
     73  'PasswordRecovery' => array(
     74    'Title' => 'Obnova hesla',
     75    'Table' => '',
     76    'Items' => array(
     77      'Name' => array('Type' => 'String', 'Caption' => 'Přihlašovací jméno', 'Default' => ''),
     78      'Email' => array('Type' => 'String', 'Caption' => 'E-mail', 'Default' => ''),
     79    ),
     80  ),
    7381  'NewNetworkDevice' => array(
    7482    'Title' => 'Vložit nové zařízení',
  • devel/www/global.php

    r89 r96  
    99include('database.php');
    1010include('error.php');
     11include_once('code.php');
    1112$Database = new Database($Config['Database']['Host'], $Config['Database']['User'], $Config['Database']['Password'], $Config['Database']['Database']);
    1213$Database->Prefix = $Config['Database']['Prefix'];
  • devel/www/index.php

    r87 r96  
    262262      }
    263263      if($_GET['Action'] == 'UserRegister')
    264       { 
     264      {
    265265        $UserRegister = new Form('UserRegister');
    266266        $UserRegister->OnSubmit = '?Action=UserRegisterSave';
    267267        $Output .= $UserRegister->ShowEditForm();
    268268      } else
     269      if($_GET['Action'] == 'PasswordRecovery')
     270      {
     271        $Form = new Form('PasswordRecovery');
     272        $Form->OnSubmit = '?Action=PasswordRecovery2';
     273        $Output .= $Form->ShowEditForm();
     274      } else
     275      if($_GET['Action'] == 'PasswordRecovery2')
     276      {
     277        $Form = new Form('PasswordRecovery');
     278        $Form->LoadValuesFromForm();
     279
     280        $Output .= $this->SystemMessage('Obnova hesla', $this->System->Modules['User']->PasswordRecoveryRequest($Form->Values['Name'], $Form->Values['Email']));
     281      } else
     282      if($_GET['Action'] == 'PasswordRecoveryConfirm')
     283      {
     284        $Output .= $this->SystemMessage('Obnova hesla', $this->System->Modules['User']->PasswordRecoveryConfirm($_GET['User'], $_GET['H'], $_GET['P']));
     285      } else
    269286      if($_GET['Action'] == 'UserRegisterSave')
    270       { 
     287      {
    271288        $UserRegister = new Form('UserRegister', array());
    272289        $UserRegister->LoadValuesFromForm();
  • devel/www/style.css

    r87 r96  
    9191  margin: 0px 0px 0px 0px;
    9292  padding: 0px 0px 0px 0px;
    93   border: 0px 0px 0px 0px;
     93  border-width: 0px 0px 0px 0px;
    9494  vertical-align: middle;
    9595}
  • devel/www/user.php

    r87 r96  
    1212define('USER_LOGGED_OUT', 'Byl jste odhlášen.');
    1313define('BAD_PASSWORD', 'Špatné heslo.');
     14define('USER_NOT_FOUND', 'Uživatele nenalezen.');
    1415define('USER_TIMEOUT', 300);  // in seconds
     16define('USER_PASSWORD_RECOVERY_SUCCESS', 'Přihlašovací údaje byly odeslány na zadanou emailovou adresu.');
     17define('USER_PASSWORD_RECOVERY_FAIL', 'Podle zadaných údajů nebyl nalezen žádný uživatel.');
     18define('USER_PASSWORD_RECOVERY_CONFIRMED', 'Nové heslo bylo aktivováno.');
    1519
    1620define('USER_EVENT_REGISTER', 1);
     
    2630  var $DefaultRole = 2;
    2731  var $AnonymousUserId = 1;
    28  
     32
    2933  function Check()
    3034  {
     
    181185    } else return(false);
    182186  }
     187
     188  function PasswordRecoveryRequest($Name, $Email)
     189  {
     190    global $Config;
     191
     192    $DbResult = $this->Database->select('User', 'Name, Id, Email, Password', '`Name`="'.$Name.'" AND `Email`="'.$Email.'"');
     193    if($DbResult->num_rows > 0)
     194    {
     195      $Row = $DbResult->fetch_array();
     196      $NewPassword = substr(sha1(strtoupper($Row['Name'])), 0, 7);
     197
     198      $Subject = 'Obnova hesla';
     199      $Message = 'Požádali jste o zaslání nového hesla na serveru <a href="http://'.$Config['Web']['Host'].$Config['Web']['RootFolder'].'">http://'.$Config['Web']['Host'].$Config['Web']['RootFolder']."</a>.<br>\nPokud jste tak neučinili, měli by jste tento email ignorovat.<br><br>\n\nVaše nové heslo k účtu ".$Row['Name']." je: ".$NewPassword."\n<br>Pro aktivaci tohoto hesla klikněte na ".'<a href="http://'.$Config['Web']['Host'].$Config['Web']['RootFolder'].'/?Action=PasswordRecoveryConfirm&amp;User='.$Row['Id'].'&amp;H='.$Row['Password'].'&amp;P='.$NewPassword.'">tento odkaz</a>.'."\n<br> Po přihlášení si prosím změňte heslo na nové.\n\n<br><br>Na tento email neodpovídejte.";
     200      $AdditionalHeaders = "To: ".$Row['Name']." <".$Row['Email'].">\n"."From: ".from_utf8($Config['Web']['Title'], 'iso2')." <noreplay@zdechov.net>\n"."MIME-Version: 1.0\n"."Content-type: text/html; charset=utf-8";
     201      mail($Row['Email'], $Subject, $Message, $AdditionalHeaders);
     202      $Output = USER_PASSWORD_RECOVERY_SUCCESS;
     203    } else $Output = USER_PASSWORD_RECOVERY_FAIL;
     204    return($Output);
     205  }
     206
     207  function PasswordRecoveryConfirm($Id, $Hash, $NewPassword)
     208  {
     209    $DbResult = $this->Database->select('User', 'Id, Name, Password', 'Id = '.$Id);
     210    if($DbResult->num_rows > 0)
     211    {
     212      $Row = $DbResult->fetch_array();
     213      $NewPassword2 = substr(sha1(strtoupper($Row['Name'])), 0, 7);
     214      if(($NewPassword == $NewPassword2) and ($Hash == $Row['Password']))
     215      {
     216        $this->Database->update('User', 'Id='.$Row['Id'], array('Password' => sha1($NewPassword)));
     217        $Output = USER_PASSWORD_RECOVERY_CONFIRMED;
     218      } else $Output = PASSWORDS_UNMATCHED;
     219    } else $Output = USER_NOT_FOUND;
     220    return($Output);
     221  }
    183222}
    184223
Note: See TracChangeset for help on using the changeset viewer.