Файловый Архив

  • Неограниченное количество категорий и суб-категорий
  • Настройки прав доступа по группам
  • Настройки прав доступа по каждой категории
  • Предпросмотр медиа файлов: FLV, IFLV, F4A, F4V, MP4, MP3, MOV и других...
  • Мультизагрузка файлов - SWFUploader
  • Добавление файлов с сервера
Подробности и история обновлений продукта в этой теме
 
 
 
 

 
 
Здесь скоро опять что то будет...
 
 
 
 
 
 
Loading

Вернуться   форум vBSupport.org > vBulletin > vBulletin 3.5.x > Made in vBSupport.org 3.5

Объявления
  • Изменения в правах
  • Каталог Фрилансеров
  • Добро пожаловать!
  • Premoderation
  • Новичкам!
  • For English speaking users
Ответ
 
Опции темы Опции просмотра
Старый 07.03.2006, 22:10   #1
Специалист
 
Аватар для PGP
Тест при регистрации нового пользователя

Ребята, нужна помощь в создании хака "Тестирование перед регистрацией".
Т.е. смысл хака в том, чтобы пользователь сначала прошел тест, а уже если его знания позволяют, то тогда уже разрешить ему продолжить регистрацию.
Я уже делал у себя на форуме, когда стояла версия 3.0.7
Счас хотел бы сделать нормальный полноценный хак. Чтобы продуктом был, фразированный =)
Вот и нужна Ваша помощь.
Завтра, послезавтра напишу что было в той версии, что я сам когда то делал...
================
Последняя версия хака
Вложение 3676
  Ответить с цитированием
Рекламка
Реклама на форуме
Старый 07.03.2006, 23:27   #2
kerk
k0t
 
Аватар для kerk
ты лучше сам хак для той версии выложи, может что то придумаем... =))
  Ответить с цитированием
Старый 07.03.2006, 23:31   #3
zCarot
zМарковь
Хочет третью строчку =)
 
Аватар для zCarot
ОООООООООЧЧЕНЬ сильно ИЗВИНЯЮСЬ за ОФФФТОП

но

опять кот? %) Есть КотЪ - кот, керк - кот.. теперь ещё и ПГП - кот... ппц %)

хорошо, что не кролики %)


а терь по делу - выкладывай хак под 3.0 если остался.. переделать легче чем заного написать
  Ответить с цитированием
Старый 08.03.2006, 00:19   #4
PGP
Специалист
 
Аватар для PGP
Сорри, продолжение оффтопа. zМарковь, ну чтож поделаешь =) Раз коты. У меня и жена - "Кися", и я для нее тоже =)))
Вот приаттачиваю файлы от версии 3.0.7... То что я делал. Просьба не ругать за кривой код =) Сделал как смог. Работало по крайней мере =)
В register.php начиначется где то со строки 820-й или где то там.
Шаблоны тоже приаттачил.
Дамп базы мускульной к сожалению не сохранился. Но я думаю и из кода можно будет понять как она выглядела...
Чего хотел был вообще в этот хак:
Управление через админку:
отключение/включение, редактирование вопросов, добавление, удаление. изменений опций...
возможность использовать изображения в качве вариантов ответов... (это уже в идеале) =)
Ну пока вроде вот все что на ум пришло...

Забыл добавить. Добавлял еще 2 фразы.
error_test_not_completed - что то вроде того, что ответы есть не на все вопросы.
error_not_allowed - регистрация не разрешена.
Вложения
Тип файла: php register.php (63.1 Кб, 36 просмотров)
Тип файла: txt register_testing.txt (2.1 Кб, 47 просмотров)
Тип файла: txt register_testingbit.txt (364 байт, 30 просмотров)

Последний раз редактировалось PGP; 08.03.2006 в 00:30..
  Ответить с цитированием
Старый 09.03.2006, 13:22   #5
PGP
Специалист
 
Аватар для PGP
Ребят, ну скажите чего нить? =) а?
Или неинтересно?
  Ответить с цитированием
Старый 09.03.2006, 15:30   #6
kerk
k0t
 
Аватар для kerk
интересно... =))
уже ковыряю, если будут положительные результаты - отпишусь
  Ответить с цитированием
Старый 09.03.2006, 19:52   #7
kerk
k0t
 
Аватар для kerk
PGP,
ты не мог бы в другой кодировке сохранить файл пхп?
там коменты твои непонятно в какой кодировке, разные уже перепробовал, все равно кракозяблы а коменты пригодились бы...
и было бы неплохо так же и структуру таблицы =))
=======
потом..., каким образом все это работало?
т.е.:
как добавлялись вопросы/ответы в базу?
сам вбивал в таблицу или делал это через дополнительные настройки?
  Ответить с цитированием
Старый 09.03.2006, 20:22   #8
ViolentOr
АнтиГуру
kerk, у меня комменты нормально смотрятся в A tech group professional notepad.

выложу здесь php кодом только части, относящиеся к хаку (больше не нашел)... если я что-то упустил - добавьте)

1. строки 825-865
PHP код:
// @@@@@@@@@@@@@@@@@@ PGP HACK START @@@@@@@@@@@@@@@@@@@@@@
// ############################### start TEST ###############################

if ($_REQUEST['do'] == 'testing')
{

        
globalize($_REQUEST, array(
                
'month' => INT,
                
'day' => INT,
                
'year' => INT,
                
'agree' => INT,
                
'options'
        
));

        
// Проверка на согласие с правилами форума
        
if (empty($agree))
        {
                eval(
print_standard_error('register_not_agreed'));
        }
        
// Проверка на то, включена ли регистрация на форуме вообще
        
if (!$vboptions['allowregistration'])
        {
                eval(
print_standard_error('error_noregister'));
        }
        
// Проверка на уже зарегистрированного пользовтеля
        
if ($bbuserinfo['userid'] != AND !$vboptions['allowmultiregs'])
        {
                eval(
print_standard_error('error_alreadyregistered'));
        }

        
$questions $DB_site->query("(SELECT * FROM pgp_register_test WHERE category=1 ORDER BY RAND() LIMIT 5) UNION (SELECT * FROM pgp_register_test WHERE category=2 ORDER BY RAND() LIMIT 5) ORDER BY RAND();");

      while (
$question $DB_site->fetch_array($questions))
        {
                eval(
'$register_testingbits .= "' fetch_template('register_testingbit') . '";');
        }
     eval(
'print_output("' fetch_template('register_testing') . '");');
}

// ############################### end TEST ###############################
// @@@@@@@@@@@@@@@@@@ PGP HACK END @@@@@@@@@@@@@@@@@@@@@@ 
2. 881-934
PHP код:
// ############################### start TEST 2 ###############################

if (empty($total_right_answers) AND empty($total_answers))
{
###########################################################################
###############      Проверка ответов на тест               ###############
###########################################################################

// $right_as - массив из базы с правильными ответами

$right_as $DB_site->query("SELECT * FROM pgp_register_test ORDER BY id");

// $right_a - ассоциативный массив правильных ответов

$total_answers 0;
$total_right_answers 0;

// Цикл на подсчет кол-ва ответов и правильных ответов
        
while ($right_a $DB_site->fetch_array($right_as))
        {
                if (!empty(
$_REQUEST[ask.$right_a[id]]))
                {
                        
// echo "ask".$right_a[id]." setted and is ".$_REQUEST[ask.$right_a[id]]."<br>";
                        
if ($right_a[right_answer] == $_REQUEST[ask.$right_a[id]])
                        {
                         
//       echo "RIGHT!<br>";
                                
$total_right_answers++;
                        } else {
                         
//       echo "WRONG!<br>";
                        
}
                        
$total_answers++;
                }
        }
###########################################################################
###############   END Проверка ответов на тест              ###############
###########################################################################
#########     Возвращены 2 переменные:                                #####
######### $total_answers - общее кол-во ответов                       #####
######### $total__right_answers - кол-во правильных ответов           #####
###########################################################################
}
        
// Проверка кол-ва ответов ВСЕГО
        
if ($total_answers 10)
        {
                eval(
print_standard_error('error_test_not_completed'));
        }

        
// Проверка на кол-во правильных ответов
        
if ($total_right_answers 5)
        {
                eval(
print_standard_error('error_not_allowed'));
        }

// ############################### end TEST 2 ############################### 
  Ответить с цитированием
Старый 09.03.2006, 20:49   #9
kerk
k0t
 
Аватар для kerk
я в четырех редакторах смотрел
и стандартный виндовский блокнот
и пхпекспедитор
и пхпедитор
и араксисмердж
и еще пара сторонних блокнотов... =))
может браузер так сохранил?
  Ответить с цитированием
Старый 09.03.2006, 20:51   #10
ViolentOr
АнтиГуру
мож быть) сильно рекоммендую вышеобозначенную прогу)) ИМХО лучший заменитель блокнота)
  Ответить с цитированием
Ответ

Закладки

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



 
 

Текущее время: 01:17 26.05.2012. Часовой пояс GMT +4.


Powered by vBulletin® Version Free Edition
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd. Перевод: zCarot