Перейти к публикации

Задержка на кнопку СОГЛАСЕН в хаке - страница правил сайта


Рекомендованные сообщения

Тем, кто ставил этот хак - _http://4dle.ru/2007/02/03/page,1,1,vyvod_stranicy_pravil.html

возможно будет полезно использовать небольшое дополнение... когда на кнопку "Согласен" ставится задержка на активацию...

Т.е. изначально кнопка "Согласен" недоступна для нажатия... и на ней производится отсчет в обратном порядке (в секундах) когда она станет активной и на неё можно будет нажать...

До этого времени юзеру ничего не остаётся делать, как ПРОЧИТАТЬ ПРАВИЛА...

Делается это так...

В файле хака pre_register.php вместо вот этого кода:

<center><input type=\"button\" onclick=\"document.location='/index.php?do=register'\" class=\"bbcodes_poll\" value=\"Согласен\"></a>  <input type=\"button\" onclick=\"document.location='/index.php'\" class=\"bbcodes_poll\" value=\"Не согласен\"></a></div>";
надо поставить вот этот:

<center>

<input type=\"button\" value=\"Согласен\" id=\"rules_read\" class=\"bbcodes_poll\" onclick=\"document.location='/index.php?do=register'\" disabled=\"true\">   <input type=\"button\" onclick=\"document.location='/index.php'\" class=\"bbcodes_poll\" value=\"Не согласен\"></a></div>


			<script type=\"text/javascript\">

			<!--

			var secs = 35; // Время в секундах

			var wait = secs * 1000;

			document.getElementById('rules_read').disabled=true;


			for(i=1;i<=secs;i++) {

				window.setTimeout(\"update(\" + i + \")\", i * 1000);

			}


			window.setTimeout(\"timer()\", wait);


			function update(num) {

				if(num == (wait/1000)) {

					document.getElementById('rules_read').value = \"Согласен\";

				}

				else {

					printnr = (wait/1000)-num;

					document.getElementById('rules_read').value = \"Прочтите правила (\" + printnr + \")\";

				}

			}


			function timer() {

			document.getElementById('rules_read').disabled=false;

			}

			//-->

			</script>";

Здесь - var secs = 35; // Время в секундах устанавливается временная задержка...

Пример Вы можете посмотреть здесь - _http://www.senkai.ru/index.php?do=pre_register

Ссылка на сообщение
Поделиться на других сайтах

Эт точно...

Получается, на многих сайтах некоторые вещи тебе недоступны...

С другой стороны - вопрос безопасности, судя по всему... хотя момент спорный...

Ссылка на сообщение
Поделиться на других сайтах
  • 4 недели спустя...

перезалейте, пожалуйста архивчик, а то у автора модул то ли за неуплату, то ли прост ов дауне сайт!!

Ссылка на сообщение
Поделиться на других сайтах

А по моему это совершенно не нужная вещь.

Вот скажите мне - что даёт этот мод?

Правила всё равно не читают))

Ссылка на сообщение
Поделиться на других сайтах

А по моему это совершенно не нужная вещь.

Вот скажите мне - что даёт этот мод?

Правила всё равно не читают))

хороший дисклаймер, кто не послушался - его вина! :lol:

перезальет кто-нибудь или нет

Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...

Вот код файла с внесенной модификацией на кнопку "Согласен"

<?php

/*

=====================================================

 Plugin For DataLife Engine 4.x-5.x

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

 http://od-news.ru/

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

 Copyright (c) 2006-2007 Orenlab Daily News

=====================================================

 Данный код защищен авторскими правами

=====================================================

 Файл: pre_register.php

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

 Назначение:вывод правил при регистрации пользователя

=====================================================

*/


if(!defined('DATALIFEENGINE'))

{

  die("Hacking attempt!");

}


$pre_register .= "<div align=\"left\" valign=\"top\" class=\"news\">

<h3 align=\"center\">Ваши правила сайта</h3>


<p>

Текст правил <br>

Текст правил <br>

Текст правил <br>

Текст правил <br>

Текст правил <br>

Текст правил <br>


<center>

<input type=\"button\" value=\"Согласен\" id=\"rules_read\" class=\"bbcodes_poll\" onclick=\"document.location='/index.php?do=register'\" disabled=\"true\"> &nbsp;&nbsp;<input type=\"button\" onclick=\"document.location='/index.php'\" class=\"bbcodes_poll\" value=\"Не согласен\"></a></div>





			<script type=\"text/javascript\">

			<!--

			var secs = 35; // Время в секундах

			var wait = secs * 1000;

			document.getElementById('rules_read').disabled=true;


			for(i=1;i<=secs;i++) {

				window.setTimeout(\"update(\" + i + \")\", i * 1000);

			}


			window.setTimeout(\"timer()\", wait);


			function update(num) {

				if(num == (wait/1000)) {

					document.getElementById('rules_read').value = \"Согласен\";

				}

				else {

					printnr = (wait/1000)-num;

					document.getElementById('rules_read').value = \"Прочтите правила (\" + printnr + \")\";

				}

			}


			function timer() {

			document.getElementById('rules_read').disabled=false;

			}

			//-->

			</script>";




	$tpl->load_template('static.tpl');

	$tpl->set('{description}', "Правила сайта");


	$tpl->set('{static}', $pre_register);



	   $tpl->compile('content');

	   $tpl->clear();


/* Вывод сгенерированного контента */


?>

Установка модуля (из ридми)

Модуль «pre_register»

Назначение: Вывод страницы правил при регистрации пользователей.

Установка:

1. Выключаем работу сайта в админке.

2. Копируем файл pre_register.php в папку /engine/modules/

3. Открываем файл engine.php находим:

case "pm" :

include ENGINE_DIR.'/modules/pm.php';

break;

Ниже добавляем:

case "pre_register" :

include ENGINE_DIR.'/modules/pre_register.php';

break;

4. В файле /engine/init.php ищем строку (для версий 4,0-5,0) :

$link_regist = $PHP_SELF."?do=register";

Заменяем на:

$link_regist = $PHP_SELF."?do=pre_register";

Ниже в этотом же файле находим еще одну строку:

$link_regist = $PHP_SELF."?do=register";

И так же меняем на:

$link_regist = $PHP_SELF."?do=pre_register";

5. В вашем шаблоне main.tpl находим

<a href="имя_вашего_домена/?do=register"> их обычно две (не считая линк на панели авторизации)

И меняем на:

<a href="имя_вашего_домена/?do=pre_register">

Для версий с 5.0:

В файле /engine/init.php ищем строку

$link_regist = ($config['ajax']) ? $PHP_SELF."?do=register\" onclick=\"DlePage('do=register'); return false;" : $PHP_SELF."?do=register";

И меняем на :

$link_regist = ($config['ajax']) ? $PHP_SELF."?do=pre_register\" onclick=\"DlePage('do=pre_register'); return false;" : $PHP_SELF."?do=pre_register";

Все, если все сделали правильно, теперь все ссылки на регистрацию ведут на Вашу страницу правил.

Не забудьте после установки и проверки работы включить сайт в админцентре.

Изменено пользователем kosen
Ссылка на сообщение
Поделиться на других сайтах

kosen,

блин, ты как раз запостил это в тот момент, когда я сам допёр что где менять :D

но всеравно спасибо

Ссылка на сообщение
Поделиться на других сайтах

Да, поражаюсь я иногда, ведь модуль скачало огромное количество человек, а вот поделится смог только один.

Сайт в дауне, так как нету поппросту денег на проплату хостинга, провайдер вырубил сервера от сети.

Закончил я уже практически писать новую гораздо более умну версию мода. Текст правил в нем добавляется и редактируется через админ центр через стандартный редактор DLE (BBCODE или WYSING), хранится в БД, для вывода на сайт используется один запрос, но мод кэшируется..., и еще много чего интересного, но остался ряд мелких багов, не исправив которые я не могу выложить мод в паблик, так что ждите как говорится кому нужен.

P.S.: мод будет абсолютно бесплатный, и с открытым исходным кодом.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...