コード例 #1
0
ファイル: my_facebook.php プロジェクト: janda2/Fitness-shop
 function try_login()
 {
     $this->user = $this->facebook->getUser();
     //defaultni vypis problemu s prihlasenim
     $l = new lang("layout");
     $msg = new msg();
     if ($this->user == null) {
         $msg->set_text($l->t("bad_fb_login"), "error");
         redirect($l->l("prihlaseni"));
     }
     //nyni mame udaje o uzivateli
     //pokusime se zjistit, zda-li j*z v databazi nekdo takovy je (fb_id)
     $sql = sql_query("select id, nick from users\n\t\t\t\t\t\t\t\t\t\t\t\t\twhere (fb_id = '" . $this->user . "')");
     $data = sql_fetch_object($sql);
     //j*z v databzi existuje
     if ($data->id) {
         $_SESSION['uid'] = $data->id;
         $_SESSION['me'] = new me($data->id);
         $_SESSION['me']->homepage_redirect();
     } else {
         $new_login = $this->create_login();
         if ($new_login) {
             $_SESSION['uid'] = $new_login[0];
             $_SESSION['me'] = new me($new_login[0]);
             //prvotni presun po registraci na nastaveni a doplneni udaju
             header("location: " . $l->l("osobni-udaje") . "?first=true");
             return true;
         }
     }
     $msg->set_text($l->t("bad_fb_login"), "error");
     redirect($l->l("prihlaseni"));
 }
コード例 #2
0
ファイル: my_gplus.php プロジェクト: janda2/Fitness-shop
 function try_login()
 {
     //defaultni vypis problemu s prihlasenim
     $l = new lang("layout");
     $msg = new msg();
     //pokud nam google vrati code, muzeme se autentifikovat a ziksat token
     $code = clear("code");
     if ($code) {
         $this->client->authenticate();
         $this->token = $this->client->getAccessToken();
     }
     /*
     				//kdybychom chteli na nejake jine strance zase s uctem u googlu pracovat
     				// musimve vytvorit to spojeni a pomoci se token ze session se autorizovat u googlu
     				//ale mi tady session token nulujeme, takze uz se dal pouzit neda
     						if ($_SESSION['token']) {
     						  $this->client->setAccessToken($_SESSION['token']);
     						}
     				//kdyz ho chceme ziskat
     							  $_SESSION['token'] = $this->client->getAccessToken();
     */
     if ($this->token) {
         $my_data = $this->plus->people->get('me');
         $gp_id = $my_data['id'];
         //nyni mame udaje o uzivateli
         //pokusime se zjistit, zda-li j*z v databazi nekdo takovy je (gp_id)
         $sql = sql_query("select id, nick from users\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twhere (gp_id = '" . $gp_id . "')");
         $data = sql_fetch_object($sql);
         //j*z v databazi existuje
         if ($data->id) {
             $_SESSION['uid'] = $data->id;
             $_SESSION['me'] = new me($data->id);
             $_SESSION['me']->homepage_redirect();
         } else {
             $new_login = $this->create_login($my_data);
             if ($new_login) {
                 $_SESSION['uid'] = $new_login[0];
                 $_SESSION['me'] = new me($new_login[0]);
                 //prvotni presun po registraci na nastaveni a doplneni udaju
                 header("location: " . $l->l("osobni-udaje") . "?first=true");
                 return true;
             }
         }
     }
     $msg->set_text($l->t("bad_gplus_login"), "error");
     redirect($l->l("prihlaseni"));
 }
コード例 #3
0
ファイル: class_user.php プロジェクト: janda2/Fitness-shop
 static function registration($type, $in_order = false)
 {
     $nick = clear("nick");
     $pass = clear("pass");
     $mail = clear("mail");
     $lang = clear("lang");
     $ver = clear("ver");
     $city = clear("city");
     $is_newsletter = checkbox_value(clear("is_newsletter"));
     $l = new lang("registration", $_SESSION["my_lang_ui"]);
     $msg = $_SESSION["msg"];
     if (strlen($pass) < 5) {
         $msg->set_text($l->t("pass_short"), "error");
         $msg->set_specific_text($l->t("pass_short"), "pass", "error");
     }
     //prilis dlouhy nick
     if (strlen($nick) > 21) {
         $msg->set_specific_text($l->t("nick_long"), "nick", "error");
     }
     //verifikace proti robotum
     if (!lang::is_lang_supported(lang::strict_lang_by_user_agent())) {
         if ($ver != 4) {
             $msg->set_text($l->t("invalid_ver"), "error");
         }
     }
     //zjisteni jeslti uz v db neni nekdo se stejnym nickem
     $sql = sql_query("select id from users\n\t\t\t\t\t\t\t\t\t\t\t\t\twhere (nick = '{$nick}')");
     $num = sql_num_rows($sql);
     if ($num) {
         $msg->set_specific_text($l->t("nick_exists"), "nick", "error");
     }
     //zjisteni jeslti uz v db neni nekdo se stejnym nickem mailem
     $sql = sql_query("select id from users\n\t\t\t\t\t\t\t\t\t\t\t\t\twhere (mail = '{$mail}')");
     $num = sql_num_rows($sql);
     if ($num) {
         $msg->set_specific_text($l->t("mail_exists") . " " . my_link($l->l("ztracene-heslo"), $l->t("lost_password")), "mail", "error");
     }
     if (!$nick || !$pass || !$mail) {
         $msg->set_text($l->t("empty_data"), "error");
     }
     $test_mail = preg_match('~^[_a-zA-Z0-9-]+(\\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*$~i', $mail);
     if (!$test_mail) {
         $msg->set_specific_text($l->t("invalid_email"), "mail", "error");
     }
     //pokud je vse v poradku
     if ($msg->is_empty()) {
         $sec_pass = $pass;
         $pass = md5(md5(md5(md5(md5($pass)))));
         $names = explode(" ", $nick);
         if (count($names) > 1) {
             $surname = $names[count($names) - 1];
         }
         if (!$lang) {
             $lang = $_SESSION["my_lang"];
         }
         $sql = sql_query("insert into users\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(nick, pass, mail, register_time, photo,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshow_readed, booklists_style, virtual_surname, city, is_newsletter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlang, lang_ui, registration_source)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalues\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t('{$nick}', '{$pass}', '{$mail}', '" . time() . "', 'no',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'yes', 'default', '" . $surname . "', '" . $city . "', '" . $is_newsletter . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'" . $lang . "', '" . $lang . "', '" . $type . "')");
         if ($sql) {
             $id = mysql_insert_id();
             //v pripade ze ma ulozeny trackovaci cookie, ulozime udaj
             $tracking = $_COOKIE["a_campaign"];
             if ($tracking) {
                 $s = sql_query("insert into registrations_sources\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(user, time, source)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalues\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t('" . $id . "', '" . time() . "', '" . $tracking . "')");
             }
             //ulozime pripadne nastavene zajmy
             $sql_i = sql_query("select name, interest_id from interests\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twhere (lang = '" . $_SESSION["my_lang"] . "')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\torder by name asc");
             $interests[] = array();
             while ($data_i = sql_fetch_object($sql_i)) {
                 $temp = clear("interest_" . $data_i->interest_id);
                 if (isset($interests[(string) $data_i->interest_id])) {
                     continue;
                 }
                 if ($temp) {
                     $interests[$data_i->interest_id] = 1;
                     $s = sql_query("insert into users_interests\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(user, interest)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalues\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t('" . $id . "', '" . $data_i->interest_id . "')");
                 }
             }
             //zaslani registracniho emailu
             $text = strip_tags($l->t("reg_mail_text", $nick, $sec_pass) . "\n" . $l->t("web_url"));
             $sent = mail($mail, $l->t("reg_subject"), $text, "From: info@cbdb.cz  \nContent-Type: text/plain; charset=utf-8");
             if ($sent) {
                 if (!$in_order) {
                     $msg->set_text($l->t("reg_ok") . "<br />");
                 } else {
                 }
                 //prihlasime usera -----------------------
                 $my_login = new my_login();
                 $my_login->log_in("ok", $nick, $sec_pass);
             }
         }
     }
 }