Changeset 376 for trunk/Options.php


Ignore:
Timestamp:
Mar 11, 2010, 8:40:32 AM (15 years ago)
Author:
george
Message:
  • Upraveno: Informace o přihlášeném uživateli nově pročištěny a sjednoceny do třídy User. SQL pro kontrolu a generovány hesel dostupné přímo přes metodu CryptPasswordSQL. Přístup k Id přihlášeného uživatele přes globální proměnnou $User a vlastnost Id ($User->Id). Podobně přístup k dalším vlastnostem uživatele.
  • Opraveno: Některé chyby z předchozích předělávek.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Options.php

    r374 r376  
    44ShowPage();
    55
    6 if(Licence(LICENCE_USER))
     6if($User->Licence(LICENCE_USER))
    77{
    8   $User = @$_SESSION['User'];
    9 
    108  if(array_key_exists('Email', $_POST))
    119  {
     
    1513    $NewPass2 = $_POST['NewPass2'];
    1614    $Language = $_POST['Language'];
    17     $redirecting = $_POST['redirecting'];
     15    $Redirecting = $_POST['redirecting'];
    1816
    19     if(($_SESSION['Pass'] == $OldPass) and ($NewPass == $NewPass2))
     17    if($NewPass == $NewPass2)
    2018    {
    21       // Update password
    22       $Salt = GetPasswordSalt();
    23       $Database->SQLCommand('UPDATE `User` SET `Pass` = sha1(CONCAT(sha1("'.$NewPass.'"), "'.$Salt.'")), `Salt`="'.$Salt.'" WHERE `ID` = '.$_SESSION['UserID']);
    24       echo('Heslo změněno!<br />');
     19      $DbResult = $Database->SQLCommand('SELECT `Pass`, '.$User->CryptPasswordSQL('"'.$OldPass.'"', '`Salt`').' AS `Hash` FROM `User` WHERE `ID`= '.$User->Id);
     20      $DbRow = mysql_fetch_assoc($DbResult);
     21      if($DbRow['Hash'] == $DbRow['Pass'])
     22      {     
     23        // Update password
     24        $Salt = $User->GetPasswordSalt();
     25        $Database->SQLCommand('UPDATE `User` SET `Pass` = '.$User->CryptPasswordSQL('"'.$NewPass.'"', '"'.$Salt.'"').', `Salt`="'.$Salt.'" WHERE `ID` = '.$User->Id);
     26        echo('Heslo změněno!<br />');
     27      } else echo('<br />Staré heslo neodpovídá!<br />');
    2528    } else echo('<br />Hesla se neshodují!<br />');
    2629   
    27     $Database->SQLCommand('UPDATE `User` SET `Email` = "'.$Email.'", `Language` = "'.$Language.'", `Redirecting` = "'.$redirecting.'" WHERE `ID` = '.$_SESSION['UserID']);
    28     echo('Úprava nastavení proběhla v pořádku, Email: <b>'.$Email.'</b> Uživatel: <b>'.$User.'</b><br />');
     30    $Database->SQLCommand('UPDATE `User` SET `Email` = "'.$Email.'", `Language` = "'.$Language.'", `Redirecting` = "'.$Redirecting.'" WHERE `ID` = '.$User->Id);
     31    echo('Úprava nastavení proběhla v pořádku, Email: <b>'.$Email.'</b> Uživatel: <b>'.$User->Name.'</b><br />');
    2932    WriteLog('Úprava nastavení!', LOG_TYPE_USER);
    3033  } else
    3134  {
    32     $Line = mysql_fetch_assoc($Database->SQLCommand('SELECT * FROM `User` WHERE `ID` = '.$_SESSION['UserID']));   
    3335    echo('<form action="Options.php" method="post">
    3436  <fieldset><legend>Nastavení uživatele</legend>
     
    3638    <tr>
    3739      <td>Email: </td>
    38       <td><input type="text" name="Email" value="'.$Line['Email'].'" /></td>
     40      <td><input type="text" name="Email" value="'.$User->Email.'" /></td>
    3941    </tr>
    4042    <tr>
     
    5355      <td>Normálně budu překládat do: </td>
    5456      <td>');
    55     WriteLanguages($Line['Language']);
     57    WriteLanguages($User->Language);
    5658    echo('</td>
    5759    </tr>
     
    6264   echo('<select name="redirecting">');
    6365   echo('<option value="0">Nikam</option>');
    64    echo('<option value="1"'); if ($Line['Redirecting'] == '1') echo(' selected="selected"'); echo('>Na nepřeložené</option>');
    65    echo('<option value="2"'); if ($Line['Redirecting'] == '2') echo(' selected="selected"'); echo('>Na další překlad</option>');
    66    echo('<option value="3"'); if ($Line['Redirecting'] == '3') echo(' selected="selected"'); echo('>Na předchozí překlad</option>');
     66   echo('<option value="1"');
     67   if($User->Redirecting == '1') echo(' selected="selected"');
     68   echo('>Na nepřeložené</option>');
     69   echo('<option value="2"');
     70   if($User->Redirecting == '2') echo(' selected="selected"');
     71   echo('>Na další překlad</option>');
     72   echo('<option value="3"');
     73   if($User->Redirecting == '3') echo(' selected="selected"');
     74   echo('>Na předchozí překlad</option>');
    6775   echo('</select>');   
    6876   
    69     echo('</td>
     77   echo('</td>
    7078    </tr>
    7179    <tr>
     
    8593    {
    8694      echo('<option value="'.$LineTeam['Id'].'"');
    87       if ($LineTeam['Id'] == $Line['Team']) echo(' selected="selected"');
     95      if ($LineTeam['Id'] == $User->Team) echo(' selected="selected"');
    8896        echo('>'.$LineTeam['Name'].'</option>');
    8997    }   
Note: See TracChangeset for help on using the changeset viewer.