Esempio n. 1
0
 function registration($login, $pass, $email, $name, $flag_email_approve)
 {
     $login = mysql_escape_string(killMagic($login));
     $pass = mysql_escape_string(killMagic($pass));
     $email = mysql_escape_string(killMagic($email));
     $name = mysql_escape_string(killMagic($name));
     $stor = new Storage();
     $stor = $stor->storType(TE_STORTYPE);
     $hamster = $stor->make('hamster');
     $hamster->setProperty('login', $login);
     $data = $hamster->getList();
     $hamster = $stor->make('hamster');
     $hamster->setProperty('email', $email);
     $e_data = $hamster->getList();
     if ($name == "") {
         $name = $login;
     }
     if (count($data) > 0) {
         $regmes = my_lang('regist_t1');
     } elseif (count($e_data) > 0) {
         $regmes = my_lang('regist_t2');
     } else {
         // подтвердить email
         if ($flag_email_approve !== true) {
             $eapp = 0;
         } else {
             $eapp = 1;
             sub_add($email);
             // lib.php
         }
         $user = array('status' => 'user', 'login' => $login, 'name' => $name, 'email' => $email, 'password' => $pass, 'approve' => $eapp);
         $hamster->setProps($user);
         $hamster->add();
         $_SESSION['login'] = $login;
         $_SESSION['pass'] = $pass;
         $_SESSION['name'] = $name;
         $hamster->setProperty('login', $login);
         $hamster->get();
         $data = array();
         $data = $hamster->getProps();
         $_SESSION['author_id'] = $data['id'];
         $_SESSION['status'] = $data['status'];
         $_SESSION['tz'] = $data['tz'];
         if ($flag_email_approve !== true) {
             include_once 'lib/mail_lib.php';
             send_email_req($data);
         }
         $regmes = true;
     }
     return $regmes;
 }
Esempio n. 2
0
function profile($pass, $email, $name, $tz, $resp = '')
{
    $pstl = strlen($pass);
    $pro_data = get_profile(intval($_SESSION['author_id']));
    $stor = new Storage();
    $stor = $stor->storType(TE_STORTYPE);
    $user = $stor->make('hamster');
    $user->setProperty('email', $email);
    $res = $user->get();
    if ($res !== false) {
        $e_data = $user->getProps();
    } else {
        $e_data = false;
    }
    $name_user = $stor->make('hamster');
    $name_user->setProperty('name', $name);
    $res = $name_user->get();
    if ($res !== false) {
        $n_data = $name_user->getProps();
    } else {
        $n_data = false;
    }
    if ($name == "") {
        $name = $_SESSION['login'];
    }
    // чужой email
    if ($e_data !== false && $e_data['email'] == $email && $e_data['id'] != $_SESSION['author_id']) {
        $regmes = my_lang('profile_t1');
    } elseif ($n_data !== false && $n_data['id'] != $_SESSION['author_id']) {
        $regmes = my_lang('profile_t8');
    } elseif ($pass !== '' && ($pstl < 3 or $pstl > 45)) {
        $regmes = my_lang('profile_t2');
    } elseif (filter_var($email, FILTER_VALIDATE_EMAIL) == false) {
        $regmes = my_lang('feedback_t1');
    } elseif (intval($tz) < -12 || intval($tz) > 12) {
        exit;
    } else {
        $name = mysql_escape_string(killMagic($name));
        $pass = mysql_escape_string(killMagic($pass));
        $email = mysql_escape_string(killMagic($email));
        $tz = intval($tz);
        if (!isset($_REQUEST['new_resp'])) {
            $resp = $pro_data['respect'];
        } else {
            $resp = htmlspecialchars(killMagic($resp));
        }
        if ($pro_data['email'] !== $email) {
            include_once 'lib/mail_lib.php';
            loot_add($email);
            $reg = Registry::instance();
            $hamster = $reg->get('hamster_info');
            $hamster['email'] = $email;
            send_email_req($hamster);
            $regmes .= my_lang('profile_t5') . '<br/>';
        }
        $props = array('name' => $name, 'tz' => $tz, 'id' => $_SESSION['author_id'], 'respect' => $resp);
        if ($pass !== '') {
            $props['password'] = sha1($pass);
        }
        $user = $stor->make('hamster');
        $user->setProperty('id', $_SESSION['author_id']);
        $sql_upd = $user->upd($props);
        if ($sql_upd == true) {
            $regmes .= my_lang('profile_t3');
        } else {
            $regmes .= my_lang('error');
        }
        $pro_data = get_profile(intval($_SESSION['author_id']));
        $_SESSION['pass'] = $pro_data['password'];
        $_SESSION['name'] = $pro_data['name'];
        $_SESSION['tz'] = $pro_data['tz'];
    }
    return $regmes;
}