<?
  
function idzPrezdivkyNeboEmailu ($udaj$link)
  {
    
/* ověří, zda zaslaný údaj může být existující přezdívka nebo existující e-mail
       v tabulce uživatelů. Vrátí false, pokud se nic nenašlo, v opačném případě
       vrátí ID uživatele s daným mailem nebo přezdívkou
    */
    
if (strpos($udaj,"@")===false//začneme prohledávat přezdívky
    
{
      
$vysledek=mysql_query("select id from uzivatele where registracedokoncena=1 and prezdivka='".$udaj."'"$link);
      if (
mysql_num_rows($vysledek)==0
        return 
false
      else 
      {
        
$radek mysql_fetch_array($vysledek);
        return 
$radek["id"];
      }
    }
    else 
//je tam zavináč, začneme prohledávat e-mailové adresy
    
{
      
$vysledek=mysql_query("select id from uzivatele where registracedokoncena=1 and email='".$udaj."'"$link);
      if (
mysql_num_rows($vysledek)==0
      {
        
// nevzdáme to. Konec konců, zavináč může být i v přezdívce
        
$vysledek=mysql_query("select id from uzivatele where registracedokoncena=1 and prezdivka='".$udaj."'"$link);
        if (
mysql_num_rows($vysledek)==0
          return 
false
        else 
        {
          
$radek mysql_fetch_array($vysledek);
          return 
$radek["id"];
        }              
      }
      else 
      {
        
$radek mysql_fetch_array($vysledek);
        return 
$radek["id"];
      }
    }
  }  
  
  function 
emailzid ($id$link)
  {
    
$vysledek=mysql_query("select email from uzivatele where id=".$id$link);
    
$radek mysql_fetch_array($vysledek);
    return 
$radek["email"];    
  }

  function 
heslozid ($id$link)
  {
    
$vysledek=mysql_query("select heslo from uzivatele where id=".$id$link);
    
$radek mysql_fetch_array($vysledek);
    return 
$radek["heslo"];    
  }

  function 
pripomenutozid ($id$link)
  {
    
$vysledek=mysql_query("select unix_timestamp(now()) - unix_timestamp(pripomenuto) from uzivatele where id=".$id$link);
    
$radek mysql_fetch_array($vysledek);
    return 
$radek[0];    
  }

  
// tělo skriptu - nejprve si vytvoříme odkaz na databázi
  
$link=mysql_connect(SQL_HOSTSQL_USERNAMESQL_PASSWORD);
  
mysql_select_db(SQL_DBNAME);
  
mysql_query("SET NAMES 'utf8'");
  
  
$BudemeZobrazovat=true;
  if (!empty(
$_POST)) // už se odeslalo
  
{
    
//údaj pro připomenutí nesmí být prázdný
    
if ((strlen ($_POST["udaj"])>50) | strlen ($_POST["udaj"])<3)echo "Údaj musí mít 3-50 znaků";
    else
    {
      
// kontolou jsme prošli
      
$BudemeZobrazovat=false;
      
$id=idzPrezdivkyNeboEmailu($_POST["udaj"],$link);
      if (!
$id) echo "Bohužel, takový e-mail ani přezdívka neexistují";
      else
      {
        
// zjistíme si e-mail
        
$email emailzid($id,$link);
        
$pripomenuto pripomenutozid($id$link);
        if (
is_null($pripomenuto) | ($pripomenuto/60/60/24>1))
        {        
          echo 
"Na adresu vyplněnou při registraci bylo zasláno přístupové heslo.";
          
// uložíme do databáze čas připomenutí
          
mysql_query ("update uzivatele set pripomenuto = now() where id=".$id$link);
          
// a sestavíme e-mail se zapomenutým heslem
          
$telo "Pozadovane pristupove heslo na testovaci hudebni portal je \n".heslozid($id$link)."\n".
          
"Vas [nazev hudebniho portalu] team.";
          
$hlavicky="From: mail@linuxsoft.cz\nReply-To: mail@linuxsoft.cz\nReturn-Path: mail@linuxsoft.cz";          
          @
mail ($email"Zaslani hesla"$telo$hlavicky);
        }
        else
        {
          echo 
"Nedávno jsme Vám již zaslali zapomenuté heslo. Zkontrolujte svou schránku.";
        }
      }
    }
  }
if (
$BudemeZobrazovat):?>
  <form method="post" action="index.php?clanek=zapomenuteheslo">
  <table>
    <tr>
      <td colspan="2">Zadejte svou přezdívku nebo e-mail:</td>
    </tr>
    <tr>
      <td>Přezdívka nebo e-mail:</td>
      <td><input name="udaj" value="<?echo $_POST["udaj"]?>"></td>
    </tr>
    <tr>
      <td colspan="2"><input type="Submit" name="odesli" value="Poslat heslo"></td>
    </tr>
  </table>
  </form>
<?endif;?>