当前位置: 首页>>代码示例>>PHP>>正文


PHP Self::get_free_pass方法代码示例

本文整理汇总了PHP中Self::get_free_pass方法的典型用法代码示例。如果您正苦于以下问题:PHP Self::get_free_pass方法的具体用法?PHP Self::get_free_pass怎么用?PHP Self::get_free_pass使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Self的用法示例。


在下文中一共展示了Self::get_free_pass方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: register_subscription

 public static function register_subscription()
 {
     /* Controleren of alle vereiste velden ingevuld zijn. */
     if (!empty($_POST['firstname']) && !empty($_POST['lastname']) && !empty($_POST['street']) && !empty($_POST['house_nr']) && !empty($_POST['zipcode']) && !empty($_POST['city']) && !empty($_POST['bank_account']) && !empty($_POST['email']) && !empty($_POST['passwd_sha512']) && !empty($_POST['passwd_conf_sha512'])) {
         /* Kijken of minimaal een van de twee telefoonnummers ingevuld is. */
         if (!empty($_POST['phone_home']) || !empty($_POST['phone_mob'])) {
             /* Controleren of het bank rekening nummer een getal is. */
             if (is_numeric($_POST['bank_account']) && strlen($_POST['bank_account']) == 6) {
                 /* Controleren of het huis nummer een getal is. */
                 if (is_numeric($_POST['house_nr'])) {
                     /* Controleren of het e-mailadres klopt. */
                     if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
                         /* Kijken of beide ingevulde wachtwoorden overeen komen. */
                         if ($_POST['passwd_sha512'] == $_POST['passwd_conf_sha512']) {
                             /* Escape de heel $_POST array, en plaats het resultaat terug in $_POST. */
                             $_POST = Database::escape_array($_POST);
                             /* Select query uitvoeren op het ingevulde email. */
                             $check_mail = Database::query("SELECT id FROM customer WHERE email = '" . $_POST['email'] . "' LIMIT 1");
                             /* Kijken of de query is gelukt. */
                             if ($check_mail) {
                                 /* Kijken of het email niet al bestaat. */
                                 if ($check_mail->num_rows == 0) {
                                     /* Haal minimaal bedrag op wat de klant moet kunnen betalen. */
                                     $min_balance = Settings::get('citypark_subscription_month_cost') * Settings::get('citypark_register_min_balance');
                                     /* Voor de zekerheid komma's vervangen met punten. */
                                     $min_balance = str_replace(',', '.', $min_balance);
                                     /* Bij de bank controlleren of de gebruiker het minimum bedrag kan betalen. */
                                     if (Bank_api::check($_POST['bank_account'], $min_balance)) {
                                         /* Het nieuwe wachtwoord aanmaken. */
                                         $passwd = password_hash($_POST['passwd_sha512'], PASSWORD_DEFAULT, ['cost' => Settings::get('login_passwd_cost')]);
                                         /* Het nieuwe wachtwoord base64 encoderen. */
                                         $passwd = base64_encode($passwd);
                                         /* Insert query voor een customer. */
                                         $insert_customer = Database::query("INSERT INTO customer (username, password, email, active, register_date) VALUES ('', '" . $passwd . "', '" . $_POST['email'] . "', 0, NOW())");
                                         /* Controleren of de query is gelukt. */
                                         if ($insert_customer) {
                                             /* Haal het customer ID op. */
                                             $customer_id = Database::insert_id();
                                             /* Insert query voor customer info. */
                                             $insert_customer_info = Database::query("INSERT INTO customer_info (customer_id, firstname, inserts, lastname, street, house_nr, house_nr_add, city, zipcode, phone_home, phone_mob, bank_account) VALUES (" . $customer_id . ", '" . $_POST['firstname'] . "', " . (!empty($_POST['inserts']) ? '\'' . $_POST['inserts'] . '\'' : 'NULL') . ", '" . $_POST['lastname'] . "', '" . $_POST['street'] . "', " . $_POST['house_nr'] . ", " . (!empty($_POST['house_nr_add']) ? '\'' . $_POST['house_nr_add'] . '\'' : 'NULL') . ", '" . $_POST['city'] . "', '" . $_POST['zipcode'] . "', '" . $_POST['phone_home'] . "', '" . $_POST['phone_mob'] . "', " . $_POST['bank_account'] . ")");
                                             /* Controleren of de insert query is gelukt. */
                                             if ($insert_customer_info) {
                                                 /* Proberen twee passen op te halen. */
                                                 try {
                                                     /* Haal de passen op. */
                                                     $pass_array = Self::get_free_pass();
                                                 } catch (Exception $e) {
                                                     /* Foutmelding gevangen, verwijder de customer uit de database. */
                                                     Database::query("DELETE FROM customer WHERE id = " . $customer_id);
                                                     Database::query("DELETE FROM customer_info WHERE customer_id = " . $customer_id);
                                                     /* Gooi foutmelding door. */
                                                     throw new Exception($e->getMessage());
                                                 }
                                                 /* Maak een nieuw abonneenummer. */
                                                 $abonneenummer = Self::new_sub_number();
                                                 /* Insert query voor abonnee. */
                                                 $insert_subscription = Database::query("INSERT INTO subscription (customer_id, sub_number, start_date) VALUES (" . $customer_id . ", " . $abonneenummer . ", NOW())");
                                                 /* Kijken of de insert gelukt is. */
                                                 if ($insert_subscription) {
                                                     /* Haal het abonnee ID op. */
                                                     $abonnee_id = Database::insert_id();
                                                     /* Maak een random string aan met 96 karakters. */
                                                     $activate_key_db = Functions::random_string(96);
                                                     /* Zet hier het account id voor. */
                                                     $activate_key = $customer_id . '-' . $activate_key_db;
                                                     /* Base64 encode de activate keys. */
                                                     $activate_key = base64_encode($activate_key);
                                                     $activate_key_db = base64_encode($activate_key_db);
                                                     /* Update de customer, en geef de gebruikersnaam het zelfde als het abonneenummer en sla de activate key op. */
                                                     $update_username = Database::query("UPDATE customer SET username = '" . $abonneenummer . "', activate_key = '" . Database::escape($activate_key_db) . "' WHERE id = " . $customer_id);
                                                     /* Kijken of de update query gelukt is. */
                                                     if ($update_username) {
                                                         /* Update de twee RFID kaarten en koppel ze aan het abonnement. */
                                                         $update_card_one = Database::query("UPDATE rfid_card SET subscription_id = " . $abonnee_id . ", type_card = 'subscription', in_use = 1, blocked = 0, blocked_reason = NULL, blocked_date = NULL WHERE id = " . Database::escape($pass_array[0]));
                                                         /* Kijken of de update query is gelukt. */
                                                         if ($update_card_one) {
                                                             /* Update de tweede kaart. */
                                                             $update_card_two = Database::query("UPDATE rfid_card SET subscription_id = " . $abonnee_id . ", type_card = 'guest', in_use = 1, blocked = 0, blocked_reason = NULL, blocked_date = NULL WHERE id = " . Database::escape($pass_array[1]));
                                                             /* Kijken tweede update query is gelukt. */
                                                             if ($update_card_two) {
                                                                 /* Betaling maken, en kijken of deze is gelukt. */
                                                                 if (Payment::pay_subscription($abonneenummer, 1, $_POST['bank_account'], true)) {
                                                                     /* Query om permissies aan account toe te voegen. */
                                                                     $insert_permission = Database::query("INSERT INTO permission_customer_in_group (customer_id, group_id) VALUES (" . $customer_id . ", " . (int) Database::escape(Settings::get('citypark_standard_group')) . ")");
                                                                     if ($insert_permission) {
                                                                         /* Probeer het onderstaande. */
                                                                         try {
                                                                             /* Probeer een mail te sturen. */
                                                                             Email::send_mail($_POST['email'], 'CityPark - Abonnoment aanvraag', 'Beste ' . $_POST['firstname'] . ' ' . $_POST['lastname'] . ',<br /><br />Op ' . Date('d-m-Y \\o\\m H:i:s') . ' heeft u succesvol een abonnement aangevraagd bij CityPark.<br /><br />Er zijn twee parkeerpassen aan uw abonnement gekoppeld en worden zo snel mogelijk naar uw adres gestuurt. De parkeerpassen die aan uw abonnement zijn gekoppeld hebben de nummers:<br /><i>Abonneepas #' . $pass_array[0] . '</i><br /><i>Gastenpas #' . $pass_array[1] . '</i><br /><br />Om toegang te krijgen tot het klantenpaneel, dient u het account, die aangemaakt is tijdens het aanvragen van het abonnement, te activeren. U kunt uw account activeren door op de onderstaande link te klikken.<br /><a href="' . Config::$base_href . '?activate=' . $activate_key . '">Klik hier om uw account te activeren</a><br /><br />Het gebruikersnaam van uw account is <strong>' . $abonneenummer . '</strong>, en het wachtwoord heeft u zelf ingevuld.<br /><br />Het factuur van uw eerste maandafschiften is te vinden op het klantenpaneel.<br /><br />Uw abonnement is per direct in gegaan, en u kunt de parkeerpassen direct gebruiken wanneer u deze ontvangen heeft. Indien de parkeerpassen verloren raken of gestolen zijn, kunt u deze blokkeren in het klantenpaneel.');
                                                                             /* Registratie gelukt, return een true. */
                                                                             return true;
                                                                         } catch (Exception $e) {
                                                                             /* Foutmelding gevangen, gooi deze door. */
                                                                             throw new Exception($e->getMessage());
                                                                         }
                                                                     } else {
                                                                         /* Query mislukt, maar omdat de betaling wel gelukt is, laten we het abonnement in de database staan. */
                                                                         /* Gooi foutmelding. */
                                                                         throw new Exception('Er is wat fout gegaan bij het toevoegen van de rechten op uw account. Neem a.u.b. contact op.<br />' . Database::error());
                                                                     }
//.........这里部分代码省略.........
开发者ID:roaldnefs,项目名称:parkingcity,代码行数:101,代码来源:class.register.php


注:本文中的Self::get_free_pass方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。