Changeset 524 for trunk/Options.php


Ignore:
Timestamp:
Feb 20, 2013, 9:40:53 PM (11 years ago)
Author:
chronos
Message:
  • Přidáno: Nastavení předvolené verze klienta pro překládání v profilu překladatelů.
  • Přidáno: Vlastní text v profilu uživatele.
  • Upraveno: Nyní lze veřejně zobrazovat profily překladatelů.
  • Opraveno: Na některých místech opraveno použití id originálního jazyka textů.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Options.php

    r506 r524  
    99  <fieldset><legend>Nastavení uživatele</legend>
    1010  <table>
    11     <tr>
    12       <td>Email: </td>
    13       <td><input type="text" name="Email" value="'.$User->Email.'" /></td>
    14     </tr>
    15     <tr>
    16       <td>Původní heslo: </td>
    17       <td><input type="password" name="OldPass" /></td>
    18     </tr>
    19     <tr>
    20       <td>Nové heslo: </td>
    21       <td><input type="password" name="NewPass" /></td>
    22     </tr>
    23     <tr>
    24       <td>Nové heslo pro potvrzení: </td>
    25       <td><input type="password" name="NewPass2" /></td>
    26     </tr>
    27     <tr>
    28       <td>Normálně budu překládat do: </td>
    29       <td>'.WriteLanguages($User->Language).'
    30       </td>
    31     </tr>
    32     <tr>
    33       <td>Po uložení překladu přesměrovat: </td>
    34       <td>';
    35    
     11    <tr><td>Email:</td><td><input type="text" name="Email" value="'.$User->Email.'" /></td></tr>
     12    <tr><td>Původní heslo:</td><td><input type="password" name="OldPass" /></td></tr>
     13    <tr><td>Nové heslo:</td><td><input type="password" name="NewPass" /></td></tr>
     14    <tr><td>Nové heslo pro potvrzení: </td><td><input type="password" name="NewPass2" /></td></tr>
     15    <tr><td>Normálně budu překládat do: </td><td>'.WriteLanguages($User->Language).'</td></tr>
     16    <tr><td>Po uložení překladu přesměrovat: </td><td>';   
    3617   $Output .= '<select name="redirecting">'.
    3718     '<option value="0">Nikam</option>'.
     
    4728     $Output .= '</select>';   
    4829   
    49      $Output .= '</td>'.
    50        '</tr><tr>'.
    51        '<th><input type="submit" value="Uložit" /></th>'.
    52        '</tr>'.
     30     $Output .= '</td></tr>'.
     31       '<tr><td>Upřednostněná verze klienta: </td><td>'.ClientVersionSelection($User->PreferredVersion).'</td></tr>'.
     32       '<tr><td>Veřejný text profilu:</td><td>'.
     33       '<textarea name="info" cols="60" rows="10">'.$User->Info.'</textarea></td></tr>'.
     34       '<tr><td colspan="2"><input type="submit" value="Uložit" /></td></tr>'.
    5335       '</table></fieldset>'.
    5436       '</form>';
     
    7355}
    7456
     57function UserOptionsSave()
     58{
     59        global $System, $User;
     60       
     61        $Output = '';
     62        if(array_key_exists('Email', $_POST))
     63        {
     64                $Email = $_POST['Email'];
     65                $OldPass = $_POST['OldPass'];
     66                $NewPass = $_POST['NewPass'];
     67                $NewPass2 = $_POST['NewPass2'];
     68                $Language = $_POST['Language'];
     69                $Redirecting = $_POST['redirecting'];
     70                $PreferredVersion = $_POST['ClientVersion'];
     71                if($PreferredVersion == '') $PreferredVersion = null;
     72                $Info = $_POST['info'];
     73                print_r($_POST);
     74       
     75                // Do user want to change password?
     76                if(($OldPass != '') or ($NewPass != '') or ($NewPass2 != ''))
     77                {
     78                  if($NewPass == $NewPass2)
     79                  {
     80                          $DbResult = $System->Database->query('SELECT `Pass`, '.$User->CryptPasswordSQL('"'.$OldPass.'"', '`Salt`').' AS `Hash` FROM `User` WHERE `ID`= '.$User->Id);
     81                          $DbRow = $DbResult->fetch_assoc();
     82                          if($DbRow['Hash'] == $DbRow['Pass'])
     83                          {
     84                                  // Update password
     85                                  $Salt = $User->GetPasswordSalt();
     86                                  $System->Database->query('UPDATE `User` SET `Pass` = '.$User->CryptPasswordSQL('"'.$NewPass.'"', '"'.$Salt.'"').', `Salt`="'.$Salt.'" WHERE `ID` = '.$User->Id);
     87                                  $Output .= ShowMessage('Heslo změněno.');     
     88                          } else $Output .= ShowMessage('Staré heslo neodpovídá.', MESSAGE_CRITICAL);
     89                  } else $Output .= ShowMessage('Hesla se neshodují.', MESSAGE_CRITICAL);
     90                }
     91                $System->Database->update('User', '`ID` = '.$User->Id, array('Email' => $Email,
     92          'Language' => $Language, 'Redirecting' => $Redirecting, 'Info' => $Info,
     93                        'PreferredVersion' => $PreferredVersion));
     94                $Output .= ShowMessage('Úprava nastavení proběhla v pořádku, Email: <b>'.$Email.'</b> Uživatel: <b>'.$User->Name.'</b>');
     95                WriteLog('Úprava nastavení!', LOG_TYPE_USER);
     96                $User->Load();
     97        } else $Output .= ShowMessage('Nezadány údaje.', MESSAGE_CRITICAL);     
     98        return($Output);
     99}
     100
    75101$Output = '';
    76102if($User->Licence(LICENCE_USER))
     
    78104  if(array_key_exists('action', $_GET) and ($_GET['action'] == 'save'))
    79105  {
    80   if(array_key_exists('Email', $_POST))
    81   {
    82     $Email = $_POST['Email'];
    83     $OldPass = $_POST['OldPass'];
    84     $NewPass = $_POST['NewPass'];
    85     $NewPass2 = $_POST['NewPass2'];
    86     $Language = $_POST['Language'];
    87     $Redirecting = $_POST['redirecting'];
    88 
    89     if($NewPass == $NewPass2)
    90     {
    91       $DbResult = $System->Database->query('SELECT `Pass`, '.$User->CryptPasswordSQL('"'.$OldPass.'"', '`Salt`').' AS `Hash` FROM `User` WHERE `ID`= '.$User->Id);
    92       $DbRow = $DbResult->fetch_assoc();
    93       if($DbRow['Hash'] == $DbRow['Pass'])
    94       {     
    95         // Update password
    96         $Salt = $User->GetPasswordSalt();
    97         $System->Database->query('UPDATE `User` SET `Pass` = '.$User->CryptPasswordSQL('"'.$NewPass.'"', '"'.$Salt.'"').', `Salt`="'.$Salt.'" WHERE `ID` = '.$User->Id);
    98         $Output .= ShowMessage('Heslo změněno.');
    99        
    100         $System->Database->query('UPDATE `User` SET `Email` = "'.$Email.'", `Language` = "'.$Language.'", `Redirecting` = "'.$Redirecting.'" WHERE `ID` = '.$User->Id);
    101         $Output .= ShowMessage('Úprava nastavení proběhla v pořádku, Email: <b>'.$Email.'</b> Uživatel: <b>'.$User->Name.'</b>');
    102         WriteLog('Úprava nastavení!', LOG_TYPE_USER);       
    103       } else $Output .= ShowMessage('Staré heslo neodpovídá.', MESSAGE_CRITICAL);
    104     } else $Output .= ShowMessage('Hesla se neshodují.', MESSAGE_CRITICAL);   
    105   } else $Output .= ShowMessage('Nezadány údaje.', MESSAGE_CRITICAL);
    106   } 
    107  
     106        $Output .= UserOptionsSave();
     107  }   
    108108  $Output .= UserOptionsFrom();
    109109} else $Output .= ShowMessage('Nejste přihlášený.', MESSAGE_CRITICAL);
Note: See TracChangeset for help on using the changeset viewer.