Перейти к контенту

InoMan

Пользователи
  • Число публикаций

    49
  • Регистрация

  • Последнее посещение

Недавние посетители профиля

1 446 просмотров профиля

Достижения InoMan

  1. 1. Читай вику - мне в свое время помогло. 2. Заставить можно использовав сессии ... но вот вопрос .. оно Вам надо ??? ... ИМХО разумнее в своих скриптах выдирать данные из БД.
  2. InoMan

    preg_match знак вопрос (?)

    Согласен .. регуляры сильно тормозят, ну точнее не сильно, но выполняются гораздо медленнее чем "strpos, stristr". По-крайне мере проверял на Си++.
  3. Хотелось бы несколько уточнить задачу =) Так должен функционировать весь форум .... т.е. при создании любой темы смотреть ее смогут только модеры и топикстартер или: 1. Это только для какого то определенного раздела форума. 2. При создании темы есть выбор сделать тему общедоступной или нет. Как только получу комментарии, гляну =)
  4. Сегодня позжее попробую реализовать. Мысль есть.
  5. Делал для указания пола при регистрации: http://www.ibresource.ru/forums/index.php?showtopic=55288 в принципе, чуть переделать и может получиться то, что хочется =) Единственное, тестил на 2.3.3 .... не знаю есть ли разница для 2.3.6
  6. Написать мод, который будет переносить юзера в нужную группу, при указании пола в профиле - дело трех минут =))
  7. Так то оно так. Но если при регистрации не указать пол (т.е. не делать пункты до 4), то откуда тогда брать вот это : $gender = $this->ipsclass->DB->simple_exec_query( array( 'select' => '*', 'from' => 'profile_portal', 'where' => "pp_member_id=".$row['id'] ) );
  8. В общем если еще актуально: 1. Открываем ./cache/lang_cache/язык/lang_register.php, добавляем в массив следующее: 'm_gender' => "Пол", 'm_gender_dest' => "Укажите Ваш пол", 'm_gender_as_female' => "Женский", 'm_gender_as_male' => "Мужской", Сохраняем, закрываем. 2. Открываем шаблон skin_register->ShowForm, ищем: <!--{OPTIONAL.FIELDS}--> Добавляем перед: <fieldset> <legend>{$this->ipsclass->lang['m_gender']}</legend> <div class="desc">{$this->ipsclass->lang['m_gender_dest']}</div><br /> <select class='select' name='gender'> <option value='male'>{$this->ipsclass->lang['m_gender_as_male']}</option> <option value='female'>{$this->ipsclass->lang['m_gender_as_female']}</option> </select> </fieldset><br /> Сохраняем. 3. Открываем ./sources/action_public/register.php, ищем в функции create_account(!): Ищем: $members_display_name = trim( $this->ipsclass->input['members_display_name'] ); Добавляем после: $gender = $this->ipsclass->input['gender']; ищем $this->ipsclass->DB->do_insert( 'members', $member ); Добавляем после: //----------------------------------------- // Insert: gender //----------------------------------------- $this->ipsclass->DB->do_insert( 'profile_portal', array( 'pp_member_id' => $member['id'], 'pp_gender' => $gender) ); Сохраняем, закрываем. 4. Открываем /sources/action_admin/member_tools.php Ищем: $this->ipsclass->DB->do_update( 'members', array( 'mgroup' => $row['real_group'] ), "id=".$row['id'] ); Добавляем перед: $gender = $this->ipsclass->DB->simple_exec_query( array( 'select' => '*', 'from' => 'profile_portal', 'where' => "pp_member_id=".$row['id'] ) ); if($gender['pp_gender'] == "male") $row['real_group'] = 7; // id(номер) группы "Участник"; else $row['real_group'] = 8; // id(номер) группы "Участница" Сохраняем, закрываем. Фишка работает при активации админом. Работает ли при активации через мыло - х.з. Если нет - напиши, посмотрю, где зашита активация через мыло (кстати может подскажет кто ?).
  9. Палишь контору =))) Шутка. Ну да .... писал в 4 утра ... забыл обработать. То топикастартер: Строчку: $session_id = @$_COOKIE['session_id']; заменить на: $session_id = @preg_match("/[0-9a-z]/i", $_COOKIE['session_id']);
  10. Мммм .... а можно чуть разжевать .. для тех кто в бронепоезде ?? .. Честно говоря нефига не понял =)
  11. Ну сорри .. не так понял. Держи: <?php $host = "localhost"; //хост для БД (обычно localhost) $user = "*****"; //логин для БД $pass = "*****"; //пароль для БД $bd_name = "forum"; //база форума (обычно forum) $link = mysql_connect($host, $user, $pass) or die ("Невозможно подключиться к MySQL"); mysql_select_db($bd_name) or die ("Невозможно выбрать БД "); $session_id = @$_COOKIE['session_id']; if ($session_id) { $result = mysql_query("SELECT member_name FROM ibf_sessions WHERE id='".$session_id."'"); $row = mysql_fetch_array($result); if($row['member_name'] != "") print $row['member_name']; else print "Гость"; } else print "Похоже Вы попали сюда по ошибке."; ?> Файл надо кинуть в корень сайта. Соответственно вызывать таким образом: http://твой форум.ru/nick.php
  12. Ну собственно каков вопрос - таков ответ. <?php $host = "localhost"; //хост для БД (обычно localhost) $user = "*****"; //логин для БД $pass = "*****"; //пароль для БД $bd_name = "forum"; //база форума (обычно forum) $link = mysql_connect($host, $user, $pass) or die ("Невозможно подключиться к MySQL"); mysql_select_db($bd_name) or die ("Невозможно выбрать БД "); $result = mysql_query("SELECT name FROM ibf_members"); //тут по желанию можно поменять nick на members_display_name. nick - это логин пользователя. members_display_name - это отображаемое имя. while($row = mysql_fetch_array($result)) { $file_name = $_SERVER['DOCUMENT_ROOT']."/forum/".$row['name'].".php"; //или members_display_name $file_descr = "<?php print '".$row['name']."'; ?>"; //или members_display_name $file_hendle = fopen($file_name, "w"); fputs($file_hendle,$file_descr); } ?> Этот скрипт заполнит папку forum никами ВСЕХ пользователей форума. Если хочешь только тех, которые залогинены - опираемся на куки и переписываем чуть скрипт: <?php $host = "localhost"; //хост для БД (обычно localhost) $user = "*****"; //логин для БД $pass = "*****"; //пароль для БД $bd_name = "forum"; //база форума (обычно forum) $link = mysql_connect($host, $user, $pass) or die ("Невозможно подключиться к MySQL"); mysql_select_db($bd_name) or die ("Невозможно выбрать БД "); $result = mysql_query("SELECT * FROM ibf_sessions"); while($row = mysql_fetch_array($result)) { if($row['member_name']) { $file_name = $_SERVER['DOCUMENT_ROOT']."/forum/".$row['member_name'].".php"; $file_descr = "<?php print '".$row['member_name']."'; ?>"; $file_hendle = fopen($file_name, "w"); fputs($file_hendle,$file_descr); } } ?> Следует помнить, что скрипт читает сессии .... а они какое то время хранятся в базе. И еще возникает вопрос. А как ты собираешься удалять файлы после использования ??? ;о)
  13. Не сочтите за рекламу, но мои многие проекты лежат на ru-web.net .... и честно говоря в этом топике я вообще впервые услышал что бывают какие то ограничение на нагрузку сервера =()
  14. Сбивать то не в три раза придется .... ибо:
  15. InoMan

    Добавление своей кнопки.

    Все ... разобрался ... спасибо =))) Слишком оказывается мудренный парсинг переменных идет из строки. А вот Dreamviewer меня еще ниразу не подводил =)))
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.