Changeset 504 for trunk/registrace.php


Ignore:
Timestamp:
Feb 14, 2013, 7:51:59 PM (12 years ago)
Author:
chronos
Message:
  • Upraveno: Stránky jsou nyní generovány do výstupního řetězce, který je na konci skriptu funkci ShowPage jako parametr a ta zajistí zobrazení hlavičky i patičky. Nově tedy není výstup zobrazován přes echo na mnoha místech ale jen přes jedno místo. To umožnilo kontrolu či formátování výstupního HTML kódu před zasláním uživateli na výstup. Dále toto umožňuje vyhodnocení zobrazení hlavičky až po dokončení generování obsahu stránky. To se hodí např. při přihlašování a odhlašování, kdy změna přihlášeného uživatele se v hlavičce projeví ihned už při generování výsledné stránky.
Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

    • Property svn:ignore
      •  

        old new  
        22aowow
        33nbproject
         4.settings
         5.project
         6.buildpath
  • trunk/registrace.php

    r498 r504  
    1818    else $Language = 1;
    1919 
    20   echo('<form action="?" method="post">
     20  $Output = '<form action="?" method="post">
    2121  <fieldset><legend>Registrace nového uživatele</legend>
    2222  <table>
    2323    <tr><td colspan="2">Pozorně si přečtěte <a href="info.php">pokyny k překladu</a> a řiďte se jimi. Překládat je nutno včetně háčků a čárek!<br/><br/></td></tr>
    2424    <tr>
    25       <td>Jsi člověk? </td>');
     25      <td>Jsi člověk? </td>';
    2626      if($Human) $Checked = ' checked="checked"';
    2727        else $Checked = '';
    28       echo('<td><input type="checkbox" name="sc" '.$Checked.'/></td>
     28      $Output .= '<td><input type="checkbox" name="sc" '.$Checked.'/></td>
    2929    </tr>
    3030    <tr>
     
    4646    <tr>
    4747      <td>Normálně budu překládat do: </td>
    48       <td>'); WriteLanguages($Language); echo('</td>
     48      <td>'.WriteLanguages($Language).'</td>
    4949    </tr>
    5050    <tr>
    51       <td>Patřím do týmu: </td>');
     51      <td>Patřím do týmu: </td>';
    5252      if($Team == '') $Selected = ' selected="selected"';
    5353        else $Selected = '';
    54       echo('<td><select name="Team"><option value="0"'.$Selected.'>Žádného</option>
    55       ');
     54      $Output .= '<td><select name="Team"><option value="0"'.$Selected.'>Žádného</option>
     55      ';
    5656    $DbResult = $System->Database->query('SELECT `Name`, `Id` FROM `Team`');
    5757    while($Line = $DbResult->fetch_assoc())
     
    5959      if($Team == $Line['Id']) $Selected = ' selected="selected"';
    6060        else $Selected = '';
    61       echo('<option value="0'.$Line['Id'].'"'.$Selected.'>'.$Line['Name'].'</option>');
     61      $Output .= '<option value="0'.$Line['Id'].'"'.$Selected.'>'.$Line['Name'].'</option>';
    6262    }
    63     echo('</select></td>
     63    $Output .= '</select></td>
    6464    </tr>
    6565    <tr>
    6666      <th><input type="submit" value="Registrovat" /></th>
    6767    </tr>
    68   </table></fieldset></form>');
     68  </table></fieldset></form>';
     69  return($Output);
    6970}
    7071 
    71 ShowPage();
    72 
    7372$ForbiddedNames = array('Addon', 'admin', 'administrator');
    7473
     74$Output = '';
    7575if(array_key_exists('user', $_POST))
    7676{
     
    9999          {
    100100            $Salt = $User->GetPasswordSalt();
     101            if($Team == 0) $Team = 'NULL';
    101102            $System->Database->query('INSERT INTO `User` (`Name` , `Pass` , `Salt`, `LastIP` , `LastLogin` , `Email` , `Language` , `Team` , `NeedUpdate`, `RegistrationTime` ) '.
    102103              'VALUES ("'.$UserName.'", '.$User->CryptPasswordSQL('"'.$Pass.'"', '"'.$Salt.'"').', "'.$Salt.'", "'.$_SERVER['REMOTE_ADDR'].'", NOW(), "'.$Email.'", '.$Language.', '.$Team.', 1, NOW())');
    103             ShowMessage('Registrace proběhla úspěšně.');
    104             echo('Přečtěte si pozorně <a href="'.$System->Link('/info.php').'">pokyny pro překladání</a> a můžete pak hned začít překládat.');
     104            $Output .= ShowMessage('Registrace proběhla úspěšně.');
     105            $Output .= 'Přečtěte si pozorně <a href="'.$System->Link('/info.php').'">pokyny pro překladání</a> a můžete pak hned začít překládat.';
    105106            $User->Login($UserName, $Pass);
    106107            WriteLog('Uživatel se zaregistroval: '.$UserName, LOG_TYPE_USER);     
    107108            $ShowForm = false;
    108           } else ShowMessage('Uživatel se zadanou přezdívkou již existuje.', MESSAGE_CRITICAL);
    109         } else ShowMessage('Hesla se neshodují.', MESSAGE_CRITICAL);
    110       } else ShowMessage('To jméno uživatele nemůžete použít.', MESSAGE_CRITICAL);
    111     } else ShowMessage('Nelze použít prázdné jméno.', MESSAGE_CRITICAL);
    112   } else ShowMessage('Nejsi člověk. Strojům není dovoleno se registrovat.', MESSAGE_CRITICAL);
     109          } else $Output = ShowMessage('Uživatel se zadanou přezdívkou již existuje.', MESSAGE_CRITICAL);
     110        } else $Output = ShowMessage('Hesla se neshodují.', MESSAGE_CRITICAL);
     111      } else $Output = ShowMessage('To jméno uživatele nemůžete použít.', MESSAGE_CRITICAL);
     112    } else $Output = ShowMessage('Nelze použít prázdné jméno.', MESSAGE_CRITICAL);
     113  } else $Output = ShowMessage('Nejsi člověk. Strojům není dovoleno se registrovat.', MESSAGE_CRITICAL);
    113114 
    114   if($ShowForm) ShowForm();
    115 } else ShowForm();
     115  if($ShowForm) $Output .= ShowForm();
     116} else $Output .= ShowForm();
    116117 
    117 ShowFooter();     
     118ShowPage($Output);     
    118119
    119120?>
Note: See TracChangeset for help on using the changeset viewer.