Следите за нами!

EGP Инструкция отключение подтверждение почты

Описание

1. Сначала исправим JS код:

    1) Открываем template/js/sections/user/signup.js

    

    2) Ищем строчки 19-28:

    ```

        if(i == 's')

            bootbox.dialog('<h3 class="green">Внимание</h3>'+val,

                [{

                    "label" : "Продолжить",

                    callback: function()

                    {

                        location.href="http://"+data['mail'];

                    }

                }]

            );

    ```

    

    3) Меняем ```location.href="http://"+data['mail'];``` на ```callback : function(){location.reload()}```;

    

    4) Сохраняем и закрываем. JS мы исправили.

    

2. Теперь исправим PHP код:

    1) Открываем system/sections/user/signup.php

    

    2) Удаляем строчки 12-24:

    ```

        $aData = array();


        // Сбор данных из $_POST в $aData

        if(isset($_POST['mail']))

        {

            foreach($aSignup['input'] as $name => $add)

            {

                if(!$add)

                    continue;


                $aData[$name] = isset($_POST[$name]) ? trim($_POST[$name]) : '';

            }

        }

    ```

    

    3) Ищем строчку 24-26:

    ```

        // Проверка капчи

        if(!isset($_POST['captcha']) || sys::captcha_check('signup', $uip, $_POST['captcha']))

            sys::outjs(array('e' => sys::text('other', 'captcha')), $nmch);

    ```

    

    4) После строчки из 3 пункта добавляем следуйщий код:

    ```

        $aData = array();

        $aData['login'] = isset($_POST['login']) ? trim($_POST['login']) : '';

        $aData['mail'] = isset($_POST['mail']) ? trim($_POST['mail']) : '';

        $aData['phone'] = isset($_POST['phone']) ? trim($_POST['phone']) : '';

        $aData['contacts'] = isset($_POST['contacts']) ? trim($_POST['contacts']) : '';

        $aData['passwd'] = isset($_POST['passwd']) ? trim($_POST['passwd']) : '';

        $aData['name'] = isset($_POST['name']) ? trim($_POST['name']) : '';

        $aData['lastname'] = isset($_POST['lastname']) ? trim($_POST['lastname']) : '';

        $aData['patronymic'] = isset($_POST['patronymic']) ? trim($_POST['patronymic']) : '';

    ```

    

    5) Удаляем 38-48:

    ```

        // Проверка входных данных

        foreach($aData as $input => $val)

        {

            // Если не заполнено поле

            if($val == '')

                sys::outjs(array('e' => sys::text('input', 'all')), $nmch);


            // Проверка данных на валидность

            if(sys::valid($val, 'other', $aValid[$input]))

                sys::outjs(array('e' => sys::text('input', $input.'_valid')), $nmch);

        }

    ```

    

    6) На место кода из 5-го пункта добавляем:

    ```

        if(in_array('', $aData))

            sys::outjs(array('e' => 'Необходимо заполнить все поля'));

    ```

    

    7) Удаляем 73-108:

    ```

        // Проверка почты на подачу регистрации

        $sql->query('SELECT `id`, `key` FROM `signup` WHERE `mail`="'.$aData['mail'].'" LIMIT 1');

        if($sql->num())

        {

            $signup = $sql->get();

            $sql->query('UPDATE `signup` set `date`="'.$start_point.'" WHERE `id`="'.$signup['id'].'" LIMIT 1');


            // Повторная отправка письма на почту

            sys::mail(

                'Регистрация',

                sys::updtext(

                    sys::text('mail', 'signup'),

                    array(

                        'site' => $cfg['name'],

                        'url' => $cfg['http'].'user/section/signup/confirm/'.$signup['key']

                    )

                ),

                $aData['mail']

            );

            sys::outjs(array('s' => sys::text('output', 'remail'), 'mail' => sys::mail_domain($aData['mail'])), $nmch);

        }


        // Генерация ключа

        $key = sys::key('signup_'.$uip);


        $data = sys::b64js($aData);


        // Запись данных в базу

        $sql->query('INSERT INTO `signup` set `mail`="'.$aData['mail'].'", `key`="'.$key.'", `data`="'.$data.'", `date`="'.$start_point.'"');


        // Отправка сообщения на почту

        if(sys::mail('Регистрация', sys::updtext(sys::text('mail', 'signup'), array('site' => $cfg['name'], 'url' => $cfg['http'].'user/section/signup/confirm/'.$key)), $aData['mail']))

            sys::outjs(array('s' => sys::text('output', 'mail'), 'mail' => sys::mail_domain($aData['mail'])), $nmch);


        // Выхлоп: не удалось отправить письмо

        sys::outjs(array('e' => sys::text('error', 'mail')), $nmch);

    ```

    

    8) На место кода из 7-го пункта добавляем:

    ```

        // Реферал

        if(isset($_COOKIE['part']))

            $part = ', `part`="'.sys::int($_COOKIE['part']).'"';


        // Запись данных в базу

        $sql->query('INSERT INTO `users` set '

            .'`login`="'.$aData['login'].'",'

            .'`passwd`="'.sys::passwdkey($aData['passwd']).'",'

            .'`mail`="'.$aData['mail'].'",'

            .'`name`="'.$aData['name'].'",'

            .'`lastname`="'.$aData['lastname'].'",'

            .'`patronymic`="'.$aData['patronymic'].'",'

            .'`phone`="'.$aData['phone'].'",'

            .'`contacts`="'.$aData['contacts'].'",'

            .'`balance`="0", `group`="user", `date`="'.$start_point.'"'.$part);

            

        sys::outjs(array('s' => 'ok'));

    ```

    

    9) Удаляем 92-155:

    ```

        // Завершение регистрации

        if(isset($url['confirm']) && !sys::valid($url['confirm'], 'md5'))

        {

            $sql->query('SELECT `id`, `data` FROM `signup` WHERE `key`="'.$url['confirm'].'" LIMIT 1');

            if($sql->num())

            {

                $signup = $sql->get();


                $aData = sys::b64djs($signup['data']);


                foreach($aSignup['input'] as $name => $add)

                    $aNData[$name] = isset($aData[$name]) ? $aData[$name] : '';


                unset($aData);


                // Если регистрация без указания логина

                if(empty($aNData['login']))

                {

                    $lchar = false;


                    while(1)

                    {

                        $aNData['login'] = sys::login($aNData['mail'], $lchar);


                        $sql->query('SELECT `id` FROM `users` WHERE `login`="'.$aNData['login'].'" LIMIT 1');

                        if(!$sql->num())

                            break;


                        $lchar = true;

                    }

                }


                // Если регистрация без указания пароля

                if(empty($aNData['passwd']))

                    $aNData['passwd'] = sys::passwd(10);


                // Реферал

                if(isset($_COOKIE['part']))

                    $part = ', `part`="'.sys::int($_COOKIE['part']).'"';


                // Запись данных в базу

                $sql->query('INSERT INTO `users` set '

                    .'`login`="'.$aNData['login'].'",'

                    .'`passwd`="'.sys::passwdkey($aNData['passwd']).'",'

                    .'`mail`="'.$aNData['mail'].'",'

                    .'`name`="'.$aNData['name'].'",'

                    .'`lastname`="'.$aNData['lastname'].'",'

                    .'`patronymic`="'.$aNData['patronymic'].'",'

                    .'`phone`="'.$aNData['phone'].'",'

                    .'`contacts`="'.$aNData['contacts'].'",'

                    .'`balance`="0", `group`="user", `date`="'.$start_point.'"'.$part);


                $sql->query('DELETE FROM `signup` WHERE `id`="'.$signup['id'].'" LIMIT 1');


                // Отправка сообщения на почту

                if(sys::mail('Завершение регистрации', sys::updtext(sys::text('mail', 'signup_end'), array('site' => $cfg['name'], 'login' => $aNData['login'], 'passwd' => $aNData['passwd'])), $aNData['mail']))                

                    sys::outhtml(sys::text('output', 'signup'), 5, 'http://'.sys::mail_domain($aNData['mail']));


                // Выхлоп: не удалось отправить письмо

                sys::outjs(array('e' => sys::text('error', 'mail')), $nmch);

            }


            sys::outhtml(sys::text('error', 'signup'), 5);

        }

    ```

    10) Сохраняем и закрываем. PHP мы исправили.





Автор публикации:

WiseBear WiseBear

Скачать:

Скачать

Дата:
Автор ресурса:

TRADARENA

Vehicle IDs
Vehicle IDs
01.03.2021, FAQ ПО МТА
Обучение LUA
Обучение LUA
24.12.2020, Статьи
Руководство по отладке - как найти ошибки в ваших скриптах
Руководство по отладке - как найти ошибки в ваших
24.12.2020, Статьи
Введение в скриптинг GUI
Введение в скриптинг GUI
24.12.2020, Статьи

Нет комментариев.Оставишь комментарий?