prowebber.ru - Тут есть все для настоящих вебмастеров

Чтение RSS Мы в твиттере
«    Декабрь 2016    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 

Всё для вебмастера » Всё для DataLife Engine » DLE хаки » Проверка E-Mail, при изменении его в профиле FIXED

Проверка E-Mail, при изменении его в профиле FIXED


Данный материал предоставлен сайтом ProWebber.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
У нас вы можете скачать бесплатно Проверка E-Mail, при изменении его в профиле FIXED.


Проверка E-Mail, при изменении его в профиле FIXED

Как Вы все знаете, проверка на валидность E-Mail в dle происходит, только при регистрации, но, что мешает пользователю сменить его после регистрации? Правильно, ничего. Поэтому предлагаю Вашему вниманию, хак который делает проверку E-Mail даже при редактировании его в профиле!

Незнаю ошибки ли допустил Брупт, но без небольших правок - его код не заработал, пришлось работать напильником :). Всего две поправки и все заработало.

Автор: Брупт
Исправил: Kilya



Установка хака валидности E-Mail:

Открываем engine/modules/profile.php

* Находим:
      include_once ENGINE_DIR . '/classes/parse.class.php';

* Ниже вставляем:
      if ( $doaction == 'validating' AND $is_logged )
      {
          $parse = new ParseFilter( );
          
          $validating = ( isset( $_REQUEST['id'] ) ) ? strval( $_REQUEST['id'] ) : '';
          
          $validating = explode( '||', @base64_decode( @rawurldecode( $validating ) ) );

          if ( sizeof( $validating ) != 4 ) die( 'ID not valid!' );
          
          $validating[0] = intval( $validating[0] );
          $validating[1] = trim( $db->safesql( $parse->process( $validating[1] ) ) );
          $validating[2] = trim( $db->safesql( $parse->process( $validating[2] ) ) );
          
          if ( md5( md5( md5( $member_id['name'] . $validating[2] . DBHOST . DBNAME . $config['key'] ) ) ) != md5( $validating[3] ) ) die( 'ID not valid!' );
          
          if ( $member_id['user_id'] == $validating[0] AND $validating[1] == $member_id['email'] )
          {
              $db->query( "UPDATE " . USERPREFIX . "_users set email='{$validating[2]}' WHERE user_id='{$member_id['user_id']}'" );
              msgbox( $lang['all_info'], 'E-Mail Активирован!' );
          } else die( 'data not valid!' );
      }

* Находим:
              $filecontents = '';

* Ниже вставляем:
    if ( $email != $member_id['email'] AND $config['registration_type'] )
              {
                  include_once ENGINE_DIR . '/classes/mail.class.php';
                  $mail = new dle_mail( $config );
                  
                  $row = $db->super_query( "SELECT template FROM " . PREFIX . "_email where name='reg_mail' LIMIT 0,1" );
                  
                  $row['template'] = stripslashes( $row['template'] );
                  
                  $idlink = rawurlencode( base64_encode( $member_id['user_id'] . '||' . $member_id['email'] . '||' . $email . '||' . md5( md5( $member_id['name'] . $email . DBHOST . DBNAME . $config['key'] ) ) ) );
                  
                  $row['template'] = str_replace( "{%username%}", $member_id['name'], $row['template'] );
                  $row['template'] = str_replace( "{%validationlink%}", $config['http_home_url'] . 'index.php?subaction=userinfo&user=' . urlencode( $member_id['name'] ) . '&doaction=validating&id=' . $idlink, $row['template'] );
                  $row['template'] = str_replace( "{%password%}", 'Засекречен', $row['template'] );
                  
                  $mail->send( $email, $lang['reg_subj'], $row['template'] );
                  
                  if ( $mail->send_error ) msgbox( $lang['all_info'], $mail->smtp_msg );
                  msgbox( $lang['all_info'], 'Что бы изменить E-Mail, его нужно подтвердить' );
                  
                  $email = $member_id['email'];
              }


0
Просмотры: 3484 VIP ProWebber | Комментарии (19)
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1Lion18

  • 26 октября 2010 16:07
  • Регистрация: 13.09.2010
  • ICQ: 591593771
  • Комментариев: 226
Спасибо.будет время испітаю

--------------------

0

#2hate.mirror

  • 26 октября 2010 16:11
  • Регистрация: 18.04.2010
  • ICQ: 664203
  • Комментариев: 49
Это для ДЛЕ 9.0 ?
И стоит ли это заменять ?

0

#3kzpromo

  • 26 октября 2010 18:32
  • Регистрация: 11.09.2009
  • ICQ: 6960380
  • Комментариев: 83
хорошая идея
надо будет подключить себе

--------------------

0

#4fdsa1

  • 26 октября 2010 19:26
  • Регистрация: 17.09.2010
  • ICQ: 626127968
  • Комментариев: 287
  • Выкл.
Цитата: kzpromo
хорошая идеянадо будет подключить себе

Согласен!Также зделаю в ближайщее время.

--------------------

0

#5kilya

  • 26 октября 2010 20:03
  • Регистрация: 1.02.2010
  • ICQ: 7975758
  • Комментариев: 95
hate.mirror,
Цитата: hate.mirror
Это для ДЛЕ 9.0 ?И стоит ли это заменять ?

Тестировал именно на 9ке. но должно и на меньших работать!

--------------------

0

#6kilya

  • 26 октября 2010 22:23
  • Регистрация: 1.02.2010
  • ICQ: 7975758
  • Комментариев: 95
Цитата: atlas100
на 9,0 легко меняет, хак непрошол

не совсем понятен ваш комент!
работает или не работает?

на моей 9-ке и локальной и на хосте - ok работает безукаризнено!

--------------------

0

#7buben

  • 27 октября 2010 15:55
  • Регистрация: 9.01.2010
  • ICQ: 384666
  • Комментариев: 6
воткнул хак себе на 9-ку. не работает smile

0

#8kilya

  • 27 октября 2010 17:15
  • Регистрация: 1.02.2010
  • ICQ: 7975758
  • Комментариев: 95
Цитата: buben
воткнул хак себе на 9-ку. не работает

не работает на каком этапе? подробнее описывайте!

и внимательнее читаем инструкцию по установке. при допущении ошибки - все может быть!

--------------------

0

#9buben

  • 27 октября 2010 17:20
  • Регистрация: 9.01.2010
  • ICQ: 384666
  • Комментариев: 6
ошибок не выдает.пользователи без проблем меняют своем мыло.

0

#10atlas100

  • 27 октября 2010 20:36
  • Регистрация: 7.11.2009
  • ICQ: --
  • Комментариев: 15
kilya,
Все работает, тестировал на хосте на дле 9.0.Отличный хак, молодчина.

0

#11buben

  • 28 октября 2010 03:09
  • Регистрация: 9.01.2010
  • ICQ: 384666
  • Комментариев: 6
тоже на 9-ку ставил и что у меня не подросло.)) когда пользователь пытается поменять мыло что происходит вообще ошибку выдает или что.?

0

#12Dussver

  • 28 октября 2010 15:45
  • Регистрация: 28.10.2010
  • ICQ: --
  • Комментариев: 4
спасибо:)
Понадобилось:)

0

#13buben

  • 28 октября 2010 15:53
  • Регистрация: 9.01.2010
  • ICQ: 384666
  • Комментариев: 6
точняк. .все работает.. я затупил чуток..)) СПАСИБО

0

#14kilya

  • 29 октября 2010 11:45
  • Регистрация: 1.02.2010
  • ICQ: 7975758
  • Комментариев: 95
Пжлста всем, мне и самому сгодилось. автор то не я. я лишь напильником поправил. :)

--------------------

0

#15fideral

  • 4 ноября 2010 21:02
  • Регистрация: 4.11.2010
  • ICQ: 973508
  • Комментариев: 15
Спасибо автору и доработчику.

--------------------

0

#16abookz.net

  • 7 ноября 2010 19:33
  • Регистрация: 20.09.2010
  • ICQ: --
  • Комментариев: 5
пробовал ставить без доработок, не хотело, а так пошло как по маслу. Сенькс!!!

0

#17fruktmex2

  • 17 ноября 2010 09:52
  • Регистрация: 3.11.2010
  • ICQ: --
  • Комментариев: 18
Спс атору, надо будет опробовать ok

0

#18trdnepr

  • 4 января 2011 05:41
  • Регистрация: 7.02.2010
  • ICQ: --
  • Комментариев: 13
Спс автору, Понадобилось:)

0

#19atlas100

  • 26 сентября 2011 09:48
  • Регистрация: 7.11.2009
  • ICQ: --
  • Комментариев: 15
При открытии профиля выдает в инфо блоке "Incorrect email address: <>" и "Что бы изменить E-Mail, его нужно подтвердить"

Дле 9,0

0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.

Max-energy.top - Заработок на электросчетчиках;)

Skripters.info - все для вебмастера. Только эксклюзивный контент.

Создание шаблонов DLE, быстро и недорого! 3wave.com.ua

Бро лей на лучшую партнёрку

Почти бесплатный VDS хостинг!

Поддержи сайт
Скрипты, cms, шаблоны, статьи по раскрутке

Опросы

Как часто вы бываете на сайте?

Захожу 1-2 раза в день
1-2 часа в сутки
Более 2 часов
Почти целый день тут smile

Архив новостей
Ноябрь 2016 (7)
Октябрь 2016 (10)
Сентябрь 2016 (8)
Август 2016 (11)
Июль 2016 (14)
Июнь 2016 (17)

Последние комментарии:

Искать людей

Ваши переписки