<?PHP



error_reporting (E_ALL ^E_NOTICE);
require_once("./inc/functions.inc.php");
require_once("./data/config.php");
require_once("./skins/${config_skin}.skin.php");



// Check if CuteNews is not installed
$all_users_db = file("./data/users.db.php");
$check_users = $all_users_db;
$check_users[1] = trim($check_users[1]);
$check_users[2] = trim($check_users[2]);
if((!$check_users[2] or $check_users[2] == "") and (!$check_users[1] or $check_users[1] == "")){
    if(!file_exists("./inc/install.mdu")){ die('<h2>Hiba!</h2>A CuteNews úgy érzékelte, hogy nincsenek beállítva felhasználók a users.db.php fájlban és a telepítő fájlt akarod futtatni.<br>
    Habár a telepítő fájl (<b>./inc/install.mdu</b>) nem elérhető, kérlek töltsd fel ezt a fájlt mégegyszer és győződj meg róla, hogy vannak megfelelő jogaid a telepítés folytatásához.'); }

        msg("info", "Nincs telepítve", "A CuteNews nincs megfelelően telepítve <a href=index.php>ugrás index.php-ra</a>");
}


$register_level = $config_registration_level;

if($action == "doregister"){
        if($config_allow_registration != "yes"){  msg("error","Error", "A regisztráció nincs engedélyezve."); }
        if(!$regusername){ msg("error","Hiba!!!", "A felhasználónév nem lehet üres"); }
        if(!$regpassword){ msg("error","Hiba!!!", "A jelszó nem lehet üres."); }
        if(!$regemail)         { msg("error","Hiba!!!", "Az e-mail cím nem lehet üres."); }

    $regusername        = preg_replace( array("'<'", "'>'", "'\n'", "'\r'", "'\|'"), array("", "", "", "", ""), $regusername);
    $regnickname        = preg_replace( array("'<'", "'>'", "'\n'", "'\r'", "'\|'"), array("", "", "", "", ""), $regnickname);
    $regemail           = preg_replace( array("'<'", "'>'", "'\n'", "'\r'", "'\|'"), array("", "", "", "", ""), $regemail);
    $regpassword        = preg_replace( array("'<'", "'>'", "'\n'", "'\r'", "'\|'"), array("", "", "", "", ""), $regpassword);

    if(!preg_match("/^[\.A-z0-9_\-]{1,15}$/i", $regusername)){ msg("error","Hiba!!!", "$regusername A felhasználóneved csak érvényes karaktereket, számokat vagy a '_' karaktert tartalmazhatja."); }
    if(!preg_match("/^[\.A-z0-9_\-]{1,15}$/i", $regnickname)){ msg("error","Hiba!!!", " A beceneved csak érvényes karaktereket, számokat vagy a '_' karaktert tartalmazhatja."); }
    if(!preg_match("/^[\.A-z0-9_\-]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z]{1,4}$/", $regemail)){ msg("error","Hiba!!!", "Érvénytelen e-mail cím."); }
    if(!preg_match("/^[\.A-z0-9_\-]{1,15}$/i", $regpassword)){ msg("error","Hiba!!!", "A jelszavad csak érvényes karaktereket vagy számokat tartalmazhat."); }

    $all_users = file("./data/users.db.php");
    foreach($all_users as $user_line)
    {
                $user_arr = explode("|", $user_line);
        if($user_arr[2] == $regusername){ msg("error", "Hiba", "A felhasználónév foglalt."); }
    }

        $add_time = time()+($config_date_adjust*60);
        $regpassword = md5($regpassword);

        $old_users_file = file("./data/users.db.php");
        $new_users_file = fopen("./data/users.db.php", "a");
                fwrite($new_users_file, "$add_time|$register_level|$regusername|$regpassword|$regnickname|$regemail|0|0||||\n");
        fclose($new_users_file);

        if($config_notify_registration == "yes" and $config_notify_status == "active"){
           send_mail("$config_notify_email", "CuteNews - Új felhasználó regisztrált", "Egy ($regusername) nevű felhasználó regisztrált:\nFelhasználónév: $regusername\nBecenév: $regnickname\nEmail: $regemail\n ");
        }

        msg("user", "Hozzáadva", "Sikeresen regisztrálva lettél.<br>Bejelentkezhetsz <a href=index.php>itt</a>.");


}elseif($action == "lostpass"){

    echoheader("user","Elveszett jelszó");

    echo"<form method=post action=\"$PHP_SELF\"><table border=0 cellpading=0 cellspacing=0 width=\"654\" height=\"59\" >
    <td width=\"18\" height=\"11\">
    <td width=\"71\" height=\"11\" align=\"left\">

    Felh. név: <td width=\"203\" height=\"11\" align=\"left\">
        <input type=text name=user seize=20>
    <td width=\"350\" height=\"26\" align=\"left\" rowspan=\"2\" valign=\"middle\">
        Ha ez a felhasználónév vagy jelszó megtalálható a felhasználóadatbázisunkban,<br> küldünk egy e-mailt a további információkkal.
        <tr>
        <td width=\"18\" valign=\"top\" height=\"15\">
          <td width=\"71\" height=\"15\" align=\"left\">
          Email
          <td width=\"203\" height=\"15\" align=\"left\">

        <input type=text name=email size=\"20\">

        </tr>
        <tr>
          <td width=\"18\" valign=\"top\" height=\"15\">
          <td width=\"628\" height=\"15\" align=\"left\" colspan=\"3\">
          &nbsp;

        </tr>
        <tr>
          <td width=\"18\" valign=\"top\" height=\"15\">
          <td         width=\"628\" height=\"15\" align=\"left\" colspan=\"3\">
          <input type=submit value=\"Megerősítés küldése\">
        </tr>
        <input type=hidden name=action value=validate>
        <input type=hidden name=mod value=lostpass>
        <tr>
        <td width=\"18\" height=\"27\">
        <td width=\"632\" height=\"27\" colspan=\"3\">
        </tr></table></form>";

    echofooter();

}elseif($action == "validate"){

if(!isset($user) or !$user or $user == '' or !isset($email) or !$email or $email == ''){ msg("error", "Hiba!!!", "Minden mező kitöltése kötelező!"); }

    $found = FALSE;
    $all_users = file("./data/users.db.php");
    foreach($all_users as $user_line){
            $user_arr = explode("|", $user_line);
            if($user_arr[2] == $user and $user_arr[5] == $email){ $sstring = "${user_arr[0]}${user_arr[3]}"; $found = TRUE; break;}
    }
    if(!$found){ msg("error", "Hiba!!!", "A felhasználónév/email nem szerepel a felhasználóadatbázisunkban."); }
        else{

             $confirm_url = "$config_http_script_dir/register.php?a=dsp&s=$sstring";
             $message = "Hello,\n Valaki kérte a jelszavad megváltoztatását, ha szeretnéd, hogy ez megtörténjen, kövesd ezt a linket: $confirm_url .";


             mail("$email", "Megerősítés ( CuteNews új jelszó )", $message,
             "From: no-reply@$SERVER_NAME\r\n"
            ."X-Mailer: PHP/" . phpversion()) or die("can not send mail");

             msg('info','Confirmation Email',"A megerősítést elküldtük, frissítsd a levelesládádat.");
        }


//Do Send Password
}elseif($a == "dsp"){

    if($s == "" or !$s){ msg("error", "Error !!!", "Minden mező kötelező"); }
    $found = FALSE;
    $all_users = file("./data/users.db.php");
    foreach($all_users as $user_line){
            $user_arr = explode("|", $user_line);
        if($s == "${user_arr[0]}${user_arr[3]}"){ $found = TRUE; break;}
    }
    if(!$found){ msg("error", "Error !!!", "invalid string"); }
        else{

                $salt = "abchefghjkmnpqrstuvwxyz0123456789";
                srand((double)microtime()*1000000);
                for($i=0;$i<9;$i++){
                        $new_pass .= $salt{rand(0,33)};
                }
        $md5_pass = md5($new_pass);

        $old_db = file("./data/users.db.php");
            $new_db = fopen("./data/users.db.php", w);
            foreach($old_db as $old_db_line){
                $old_db_arr = explode("|", $old_db_line);
                if($s != "${old_db_arr[0]}${old_db_arr[3]}"){
                        fwrite($new_db,"$old_db_line");
                }else{
                        fwrite($new_db,"$old_db_arr[0]|$old_db_arr[1]|$old_db_arr[2]|$md5_pass|$old_db_arr[4]|$old_db_arr[5]|$old_db_arr[6]|$old_db_arr[7]|||\n");
                }
            }
            fclose($new_db);

        $message = "Hello $user_arr[2],\n A CuteNews-beni új jelszavad '$new_pass', kérlek miután bejelentkeztél, változtasd meg.";

        mail("$user_arr[5]", "Az új jelszavad a CuteNewsban", $message,
             "From: no-reply@$SERVER_NAME\r\n"
            ."X-Mailer: PHP/" . phpversion()) or die("can not send mail");


        msg("info", "Jelszó elküldve", "Az új jelszó <b> $user_arr[2]</b> számára el lett küldve emailben.");
    }

}else{
if($config_allow_registration != "yes"){  msg("error","Error", "A regisztráció nem engedélyezett."); }
        echoheader("user", "Regisztráció");

echo<<<HTML
    <table leftmargin=0 marginheight=0 marginwidth=0 topmargin=0 border=0 height=100% cellspacing=0>
     <form  name=login action="$PHP_SELF" method=post>
     <tr>
       <td width=80>Felh. név: </td>
       <td><input tabindex=1 type=text name=regusername  style="width:134" size="20"></td>
     </tr>
     <tr>
       <td width=80>Becenév: </td>
       <td><input tabindex=1 type=text name=regnickname  style="width:134" size="20"></td>
     </tr>
     <tr>
       <td width=80>Jelszó: </td>
       <td><input tabindex=1 type=text name=regpassword  style="width:134" size="20"></td>
     </tr>
     <tr>
       <td width=80>E-mail: </td>
       <td><input tabindex=1 type=text name=regemail  style="width:134" size="20"></td>
     </tr>
      <tr>
       <td></td>
       <td ><input accesskey="s" type=submit style="background-color: #F3F3F3;" value='Regisztráció'></td>
      </tr>
      <tr>
       <td align=center colspan=2>$result</td>
      </tr>
     <input type=hidden name=action value=doregister>
     </form>
    </table>
HTML;

        echofooter();

}
?>