Changeset 547 for trunk/Modules/User/Options.php
- Timestamp:
- Jun 18, 2013, 6:58:22 PM (11 years ago)
- Location:
- trunk/Modules/User
- Files:
-
- 1 added
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/Modules/User/Options.php
r544 r547 1 1 <?php 2 include('includes/global.php');3 2 4 function UserOptionsFrom() 3 class PageUserOptions extends Page 5 4 { 6 global $User, $System; 7 8 $Output = '<form action="Options.php?action=save" method="post"> 9 <fieldset><legend>Nastavení uživatele</legend> 10 <table> 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>'; 17 $Output .= '<select name="redirecting">'. 18 '<option value="0">Nikam</option>'. 19 '<option value="1"'; 20 if($User->Redirecting == '1') $Output .= ' selected="selected"'; 21 $Output .= '>Na nepřeložené</option>'; 22 $Output .= '<option value="2"'; 23 if($User->Redirecting == '2') $Output .= ' selected="selected"'; 24 $Output .= '>Na další překlad</option>'; 25 $Output .= '<option value="3"'; 26 if($User->Redirecting == '3') $Output .= ' selected="selected"'; 27 $Output .= '>Na předchozí překlad</option>'; 28 $Output .= '</select>'; 29 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>'. 35 '</table></fieldset>'. 36 '</form>'; 37 38 $Output .= ' <fieldset><legend>Překladatelský tým</legend>'; 39 $DbResult = $System->Database->query('SELECT `Id`, `Name` FROM `Team`'); 40 $Output .= '<a href="team.php?action=create">Vytvořit tým</a><br />'. 41 '<a href="team.php?action=leave">Opustit tým</a><br />'. 42 '<br /><form action="team.php" method="get">'. 43 '<input type="hidden" name="action" value="gointeam"/>'. 44 '<select name="id">'; 45 while($LineTeam = $DbResult->fetch_assoc()) 46 { 47 $Output .= '<option value="'.$LineTeam['Id'].'"'; 48 if ($LineTeam['Id'] == $User->Team) $Output .= ' selected="selected"'; 49 $Output .= '>'.$LineTeam['Name'].'</option>'; 50 } 51 $Output .= '</select> <input type="submit" value="Vstoupit" /> 52 </form>'; 53 $Output .= '</fieldset>'; 54 return($Output); 55 } 56 57 function UserOptionsSave() 58 { 59 global $System, $User; 5 function UserOptionsFrom() 6 { 7 global $User; 60 8 61 $Output = ''; 62 if(array_key_exists('Email', $_POST)) 9 $Output = '<form action="Options.php?action=save" method="post"> 10 <fieldset><legend>Nastavení uživatele</legend> 11 <table> 12 <tr><td>Email:</td><td><input type="text" name="Email" value="'.$User->Email.'" /></td></tr> 13 <tr><td>Původní heslo:</td><td><input type="password" name="OldPass" /></td></tr> 14 <tr><td>Nové heslo:</td><td><input type="password" name="NewPass" /></td></tr> 15 <tr><td>Nové heslo pro potvrzení: </td><td><input type="password" name="NewPass2" /></td></tr> 16 <tr><td>Normálně budu překládat do: </td><td>'.WriteLanguages($User->Language).'</td></tr> 17 <tr><td>Po uložení překladu přesměrovat: </td><td>'; 18 $Output .= '<select name="redirecting">'. 19 '<option value="0">Nikam</option>'. 20 '<option value="1"'; 21 if($User->Redirecting == '1') $Output .= ' selected="selected"'; 22 $Output .= '>Na nepřeložené</option>'; 23 $Output .= '<option value="2"'; 24 if($User->Redirecting == '2') $Output .= ' selected="selected"'; 25 $Output .= '>Na další překlad</option>'; 26 $Output .= '<option value="3"'; 27 if($User->Redirecting == '3') $Output .= ' selected="selected"'; 28 $Output .= '>Na předchozí překlad</option>'; 29 $Output .= '</select>'; 30 31 $Output .= '</td></tr>'. 32 '<tr><td>Upřednostněná verze klienta: </td><td>'.ClientVersionSelection($User->PreferredVersion).'</td></tr>'. 33 '<tr><td>Veřejný text profilu:</td><td>'. 34 '<textarea name="info" cols="60" rows="10">'.$User->Info.'</textarea></td></tr>'. 35 '<tr><td colspan="2"><input type="submit" value="Uložit" /></td></tr>'. 36 '</table></fieldset>'. 37 '</form>'; 38 39 $Output .= ' <fieldset><legend>Překladatelský tým</legend>'; 40 $DbResult = $this->Database->query('SELECT `Id`, `Name` FROM `Team`'); 41 $Output .= '<a href="team.php?action=create">Vytvořit tým</a><br />'. 42 '<a href="team.php?action=leave">Opustit tým</a><br />'. 43 '<br /><form action="team.php" method="get">'. 44 '<input type="hidden" name="action" value="gointeam"/>'. 45 '<select name="id">'; 46 while($LineTeam = $DbResult->fetch_assoc()) 47 { 48 $Output .= '<option value="'.$LineTeam['Id'].'"'; 49 if ($LineTeam['Id'] == $User->Team) $Output .= ' selected="selected"'; 50 $Output .= '>'.$LineTeam['Name'].'</option>'; 51 } 52 $Output .= '</select> <input type="submit" value="Vstoupit" /> 53 </form>'; 54 $Output .= '</fieldset>'; 55 return($Output); 56 } 57 58 function UserOptionsSave() 63 59 { 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']; 60 global $User; 73 61 74 // Do user want to change password? 75 if(($OldPass != '') or ($NewPass != '') or ($NewPass2 != '')) 76 { 77 if($NewPass == $NewPass2) 78 { 79 $DbResult = $System->Database->query('SELECT `Pass`, '.$User->CryptPasswordSQL('"'.$OldPass.'"', '`Salt`').' AS `Hash` FROM `User` WHERE `ID`= '.$User->Id); 80 $DbRow = $DbResult->fetch_assoc(); 81 if($DbRow['Hash'] == $DbRow['Pass']) 82 { 83 // Update password 84 $Salt = $User->GetPasswordSalt(); 85 $System->Database->query('UPDATE `User` SET `Pass` = '.$User->CryptPasswordSQL('"'.$NewPass.'"', '"'.$Salt.'"').', `Salt`="'.$Salt.'" WHERE `ID` = '.$User->Id); 86 $Output .= ShowMessage('Heslo změněno.'); 87 } else $Output .= ShowMessage('Staré heslo neodpovídá.', MESSAGE_CRITICAL); 88 } else $Output .= ShowMessage('Hesla se neshodují.', MESSAGE_CRITICAL); 89 } 90 $System->Database->update('User', '`ID` = '.$User->Id, array('Email' => $Email, 91 'Language' => $Language, 'Redirecting' => $Redirecting, 'Info' => $Info, 92 'PreferredVersion' => $PreferredVersion)); 93 $Output .= ShowMessage('Úprava nastavení proběhla v pořádku, Email: <b>'.$Email.'</b> Uživatel: <b>'.$User->Name.'</b>'); 94 WriteLog('Úprava nastavení!', LOG_TYPE_USER); 95 $User->Load(); 96 } else $Output .= ShowMessage('Nezadány údaje.', MESSAGE_CRITICAL); 97 return($Output); 98 } 99 100 $Output = ''; 101 if($User->Licence(LICENCE_USER)) 102 { 103 if(array_key_exists('action', $_GET) and ($_GET['action'] == 'save')) 104 { 105 $Output .= UserOptionsSave(); 106 } 107 $Output .= UserOptionsFrom(); 108 } else $Output .= ShowMessage('Nejste přihlášený.', MESSAGE_CRITICAL); 109 ShowPage($Output); 110 111 ?> 112 62 $Output = ''; 63 if(array_key_exists('Email', $_POST)) 64 { 65 $Email = $_POST['Email']; 66 $OldPass = $_POST['OldPass']; 67 $NewPass = $_POST['NewPass']; 68 $NewPass2 = $_POST['NewPass2']; 69 $Language = $_POST['Language']; 70 $Redirecting = $_POST['redirecting']; 71 $PreferredVersion = $_POST['ClientVersion']; 72 if($PreferredVersion == '') $PreferredVersion = null; 73 $Info = $_POST['info']; 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 $this->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 $this->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 101 function Show() 102 { 103 $Output = ''; 104 if($this->System->User->Licence(LICENCE_USER)) 105 { 106 if(array_key_exists('action', $_GET) and ($_GET['action'] == 'save')) 107 { 108 $Output .= $this->UserOptionsSave(); 109 } 110 $Output .= $this->UserOptionsFrom(); 111 } else $Output .= ShowMessage('Nejste přihlášený.', MESSAGE_CRITICAL); 112 return($Output); 113 } 114 }
Note:
See TracChangeset
for help on using the changeset viewer.