Z Опубликовано 11 Февраля 2004 Жалоба Поделиться Опубликовано 11 Февраля 2004 есть идея. в принципе если немного покопавшись ее сделать можно и самостоятельно, но... Решил еще почтенный народ к этому прикрутить. все таки одна голова хорошо - две лучше. итак суть. создать на борде возможность закрытия определенного форума/форумов на доступ только одному полу, казанному при регистрации + по паролю. знаю, что такое можно создать на основе групп пользователей, но тогда затруднен переход пользователей по группам. идея по сути глупа, но для нетематических форумов имеет резон. что скажете? от себя, как я это вижу...создаем обязательное поле выбора пола при регистрации, без возможности исправления в дальнейшем. если каким либо путем будет доказано что пол подходящий, выдается пасс на доступ к форуму (пасс будет выдавать модератор форума). так же было бы неплохо иметь возможность смены пароля на этот форум самим модератором. если администратор борды мужчина - это "неизбежное зло", он сможет заходить, но обычно админу доверяют. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Dekker Опубликовано 11 Февраля 2004 Жалоба Поделиться Опубликовано 11 Февраля 2004 если каким либо путем будет доказано что пол подходящий, не доказуемо, виртуалы ведь а по сути мне пришлось и приходиться это делать ручками пользуясь распределением по группам. как админ честно закрыл форум для просмотра даже себе Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Z Опубликовано 11 Февраля 2004 Автор Жалоба Поделиться Опубликовано 11 Февраля 2004 доказуемо, так как участники моего форума довольно хорошо знают друг-друга в реале. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Lender Опубликовано 19 Февраля 2004 Жалоба Поделиться Опубликовано 19 Февраля 2004 Мдя...вот это идейка...тут theIggs в одной из темок написал решение....так там всё ограничивается полом пользователя при его выборе...мдя...а тут уже серьёзно... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Dekker Опубликовано 19 Февраля 2004 Жалоба Поделиться Опубликовано 19 Февраля 2004 не, народ, не получиться, если у меня кто-то левый проскочит в женский раздел, визга будет больше чем в гареме. хотя предупредил, что если кто левый залезет будет banned по жизни. так что только личное видение или просьбы модераторов о "зачислении" в группу. ну не будешь же при регистрации вешать форму психологического опроса который с 80% вероятностью определит половую принадлежность участника. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Ryoko Опубликовано 24 Февраля 2004 Жалоба Поделиться Опубликовано 24 Февраля 2004 А где есть такой психологический опрос ? ;o) ИМХО их всех надурить может любой практически ;o)))Тут только личное знакомство IMHO рулит ! ;o))) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Z Опубликовано 27 Февраля 2004 Автор Жалоба Поделиться Опубликовано 27 Февраля 2004 запрос на созданние хака и посылался исходя из личного знакомства. в мое случае подавляющее большинство пользователей знают друг друга в реале. то есть зная ник и его мордашку в реале можно с полной уверенностью сказать что она девушка не заглядывая под.... (эээээ, это меня что то уже не туда понесло) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Dekker Опубликовано 27 Февраля 2004 Жалоба Поделиться Опубликовано 27 Февраля 2004 Z брррр ... пока не понимаю, на основе личного знакомства хак ... ну не доходит пока что. от себя, как я это вижу...создаем обязательное поле выбора пола при регистрации, без возможности исправления в дальнейшем. если каким либо путем будет доказано что пол подходящий, выдается пасс на доступ к форуму (пасс будет выдавать модератор форума). так же было бы неплохо иметь возможность смены пароля на этот форум самим модератором.создаем фиксированное поле, if gender==female then send -> meet if meet("result")==true then userID send e-mail pass for forum Buduarкороче переврал все на свете. т.е. по сути все сводиться к добавлению возможностей администрирования модератором, т.е. подтверждать результаты meet может не только админ, а и модератор. в том числе ему (модератору) даються права смены пароля на определенный форум. Добавлено в [mergetime]1077875718[/mergetime] (эээээ, это меня что то уже не туда понесло)весна скоро Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Z Опубликовано 3 Марта 2004 Автор Жалоба Поделиться Опубликовано 3 Марта 2004 Немного поразмышляв над этой темой, придумал как лучше всего сделать доступ.Создать в админке раздел, в который вводить имена или же ID'ы пользователей, кто имеет доступ к форуму "Будуар". Мне кажется этот способ доступа наиболее приемлимый. Можно ли это реализовать? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
AGS Опубликовано 3 Марта 2004 Жалоба Поделиться Опубликовано 3 Марта 2004 Ну можно сделать это при помоши подмасок или групп Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Z Опубликовано 3 Марта 2004 Автор Жалоба Поделиться Опубликовано 3 Марта 2004 при помощи групп ничего не получится, так как у группы свои права. выдавать все необходимые права всем пользователям на равных не зависимо от количества сообщений на форуме - не фонтан, а переходы по группам исключат доступ к форуму "Будуар". то есть све равно сводится все к тому, что нужно делать список доступа. этот список должен позволить пользователям и в дальнейшем переходить по группам при этом не теряя доступа к форуму "Будуар". Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
winnie Опубликовано 21 Июля 2004 Жалоба Поделиться Опубликовано 21 Июля 2004 кхм.. у кого-нибудь получилось сделать такую фичу? просто искал- ничего не нашел (может плохо искал) в принципе есть идеи как это организовать, но может есть уже готовые решения Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
d1pro Опубликовано 22 Июля 2004 Жалоба Поделиться Опубликовано 22 Июля 2004 По-моему подобный мод я уже видел... На invisionize.com, год назад... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
winnie Опубликовано 22 Июля 2004 Жалоба Поделиться Опубликовано 22 Июля 2004 да я вообщем то уже сделал его под 2ПФ1сейчас в удобоваримый вид привожу Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
winnie Опубликовано 22 Июля 2004 Жалоба Поделиться Опубликовано 22 Июля 2004 кхм.. вообщем вроде как сделал, правда пока еще сырой вариант...испробуйте кто может, подскажите где ошибки, если есть вообщем делается это так:сделано это все для версии 2PF1 1. в таблице ibf_forums добавляем новую колонку (как добавлять думаю описывать не надо ) permission_array_user text NOT NULL DEFAULT ''; 2. далее ищем файлик sources\functions.phpв нем ищем функцию function check_perms($forum_perm="")и меняем всю эту функию на function check_perms($forum_perm="",$fid="") { global $ibforums; //моя добавка if (trim( $ibforums->cache['forum_cache'][$fid]['permission_array_user'])!='') { $forum_perm_array_user = explode( ",", $ibforums->cache['forum_cache'][$fid]['permission_array_user'] ); if ( in_array( $ibforums->member['id'], $forum_perm_array_user ) ) { //############################## if ( ! is_array( $ibforums->perm_id_array ) ) { return FALSE; } if ( $forum_perm == "" ) { return FALSE; } else if ( $forum_perm == '*' ) { return TRUE; } else { $forum_perm_array = explode( ",", $forum_perm ); foreach( $ibforums->perm_id_array as $u_id ) { if ( in_array( $u_id, $forum_perm_array ) ) { return TRUE; } } // Still here? Not a match then. return FALSE; } //еще моя добавка } else { return FALSE; } //######################################### }elseif ( ! is_array( $ibforums->perm_id_array ) ) { return FALSE; } if ( $forum_perm == "" ) { return FALSE; } else if ( $forum_perm == '*' ) { return TRUE; } else { $forum_perm_array = explode( ",", $forum_perm ); foreach( $ibforums->perm_id_array as $u_id ) { if ( in_array( $u_id, $forum_perm_array ) ) { return TRUE; } } // Still here? Not a match then. return FALSE; } } 3. ищем файлик sources\classes\class_forums.php ищем в нем функцию function forums_check_access($fid, $prompt_login=0, $in='forum')в ней строка ~ 240 if ( $std->check_perms($this->forum_by_id[$fid]['show_perms']) == TRUE )меняем на if ( $std->check_perms($this->forum_by_id[$fid]['show_perms'],$fid) == TRUE )это мы поставили проверку на просмотр форума 4. ищем файлик sources\search.phpв нем в самом низу функция function check_access($i)в ней строчку if ( $std->check_perms( $i['read_perms'] ) == TRUE )меняем на if ( $std->check_perms( $i['read_perms'],$i['id'] ) == TRUE )так мы сделали проверку на запрет при поиске.. 5. ищем файл sources\admin\ad_forums.phpв ней ищем функцию function do_form($type='edit')в ней находим строчку $ibforums->html .= $ibforums->adskin->add_td_row( array( "<b>Custom 'Permission Denied' Message</b><br>You may use HTML - linebreaks 'Auto-Magically' converted to <br>.<br />If left blank, a default 'permission denied' error is used." , $ibforums->adskin->form_textarea("permission_custom_error", $std->my_br2nl( $forum['permission_custom_error']) ) ) );после вставляем $ibforums->html .= $ibforums->adskin->add_td_row( array( "<b>Выборочный доступ</b><br>Впишите ID пользователя через запятую, например 2,4,5" , $ibforums->adskin->form_textarea("permission_array_user", $forum['permission_array_user'] ) ) ); потом ищем функцию function do_edit()в ней (там где идет апдейт данных по форуму) ищем строку 'permission_custom_error' => $std->my_nl2br( $std->txt_stripslashes($_POST['permission_custom_error']) ),и после нее вставляем так меняются данные при редактировании форума 'permission_array_user' => trim($_POST['permission_array_user']) ,аналогично ищем функцию function do_new()и в ней находим строчку $ibforums->html .= $ibforums->adskin->add_td_row( array( "<b>Custom 'Permission Denied' Message</b><br>You may use HTML - linebreaks 'Auto-Magically' converted to <br>.<br />If left blank, a default 'permission denied' error is used." , $ibforums->adskin->form_textarea("permission_custom_error", $std->my_br2nl( $forum['permission_custom_error']) ) ) );после вставляем $ibforums->html .= $ibforums->adskin->add_td_row( array( "<b>Выборочный доступ</b><br>Впишите ID пользователя через запятую, например 2,4,5" , $ibforums->adskin->form_textarea("permission_array_user", $forum['permission_array_user'] ) ) );так мы создаем новый форум КАК ЭТО РАБОТАЕТ?!!!в админке мы прописываем без пробелов через запятую ID (номера) пользователей которым мы хотим дать доступ к форуму.Если вообще ничего не введено, то доступ к форуму имеют все ЗЫ вроде старался чтобы было просто организовать, и как меньше изменений делать вообщем подскажите может что можно было проще сделать..есть мысль конечно вводитье не ИД пользователя а имя, но это в будущем Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
winnie Опубликовано 18 Августа 2004 Жалоба Поделиться Опубликовано 18 Августа 2004 кхм.. вообщем усовершенствовал код теперь юзверей можно добавлять непосредстевнно с главной страницы форума и могут это делать модераторы (в своих форумах), супер-модераторы, админыможно выбрать форумы где фича включена где выключена - из админкидобавление порльзователей теперь по имени - типа так же как добавляются пользователи для множественной рассылки личной почты вообщем вот код текста конечно много, но изменения на самом деле очень простые изменяемая таблица ibf_forums изменяемые файлыlang\{язык или номер}\lang_mod.php sources\boards.php sources\functions.php sources\moderate.php sources\search.php sources\admin\ad_forums.php sources\classes\class_forums.php и еще изменения в скине ... 1. добавления к таблице ibf_forums добавляем два поляALTER TABLE `ibf_forums` ADD `permission_array_user` TEXT, ADD `alow_sel_access` TINYINT; 2. изменения в файле lang\{язык или номер}\lang_mod.phpв самом начале после $lang = array (добавляем //exclusive access 'excl_acc_title' => "Управление доступом к форуму: ", 'excl_acc_update_list' => "Список пользователей обновлен!", 'excl_acc_title1' => "Помощь по добавлению пользователей", 'excl_acc_help' => "Впишите <b>точные</b> имена пользователей в поле ввода. Одно имя на строку! Или воспользуйтесь кнопкой поиска", 'excl_acc_title2' => "Список пользователей", 'excl_acc_not_user' => "Пользователь %s не найден или не существует!",или $lang['excl_acc_title'] = "Управление доступом к форуму: "; $lang['excl_acc_update_list'] = "Список пользователей обновлен!"; $lang['excl_acc_title1'] = "Помощь по добавлению пользователей"; $lang['excl_acc_help'] = "Впишите <b>точные</b> имена пользователей в поле ввода. Одно имя на строку! Или воспользуйтесь кнопкой поиска"; $lang['excl_acc_title2'] = "Список пользователей"; $lang['excl_acc_not_user'] = "Пользователь %s не найден или не существует!";смотреть по тому как записан файл 3. изменения в файле sources\boards.php ищем функцию function init()и в конце после строчки $this->html = $std->load_template('skin_boards');добавляем $this->auth_key = $std->return_md5_check(); дальше ищем функцию function show_subforums($fid)и в ней строчку $temp_html .= $this->html->ForumRow( $forums->forums_format_lastinfo( $forums->forums_calc_children( $forum_data['id'], $forum_data ) ) );заменяем на $temp_html .= $this->html->ForumRow( $forums->forums_format_lastinfo( $forums->forums_calc_children( $forum_data['id'], $forum_data ) ),$this->auth_key, $ibforums->member['_moderator'][$forum_data['id']] ); дальше внутри функции function process_all_cats() {находим строчку $temp_html .= $this->html->ForumRow( $forums->forums_format_lastinfo( $forums->forums_calc_children( $forum_data['id'], $forum_data ) ) );и меняем ее на $temp_html .= $this->html->ForumRow( $forums->forums_format_lastinfo( $forums->forums_calc_children( $forum_data['id'], $forum_data ) ),$this->auth_key, $ibforums->member['_moderator'][$forum_data['id']] ); 4. изменения в файле sources\functions.php находим функцию function check_perms($forum_perm="",$fid="")и заменяем ее всю на function check_perms($forum_perm="",$fid="") { global $ibforums; if (trim( $ibforums->cache['forum_cache'][$fid]['permission_array_user'])!='' && $ibforums->cache['forum_cache'][$fid]['alow_sel_access'] == 1) { $list_user = unserialize(stripslashes($ibforums->cache['forum_cache'][$fid]['permission_array_user'])); $forum_perm_array_user=array(); foreach( $list_user as $idx => $cc_user ) { $forum_perm_array_user[]=$cc_user['id']; } if ( in_array( $ibforums->member['id'], $forum_perm_array_user ) ) { //############################## if ( ! is_array( $ibforums->perm_id_array ) ) { return FALSE; } if ( $forum_perm == "" ) { return FALSE; } else if ( $forum_perm == '*' ) { return TRUE; } else { $forum_perm_array = explode( ",", $forum_perm ); foreach( $ibforums->perm_id_array as $u_id ) { if ( in_array( $u_id, $forum_perm_array ) ) { return TRUE; } } // Still here? Not a match then. return FALSE; } } else { return FALSE; } //######################################### }elseif ( ! is_array( $ibforums->perm_id_array ) ) { return FALSE; } if ( $forum_perm == "" ) { return FALSE; } else if ( $forum_perm == '*' ) { return TRUE; } else { $forum_perm_array = explode( ",", $forum_perm ); foreach( $ibforums->perm_id_array as $u_id ) { if ( in_array( $u_id, $forum_perm_array ) ) { return TRUE; } } // Still here? Not a match then. return FALSE; } } 5. изменения в файле sources\moderate.php находим такую строчку $post_array = array( '04', '02', '20', '22', 'resync', 'prune_start', 'prune_finish', 'prune_move', 'editmember' ); и меняем ее на $post_array = array( '04', '02', '20', '22', 'resync', 'prune_start', 'prune_finish', 'prune_move', 'editmember', 'select_forum_access' ); дальше находим case 'prune_move': $this->prune_move(); break;и после добавляем //------------------------- // select_forum_access //------------------------- case 'select_forum_access': $this->select_forum_access(); break; чуть ниже находим /*-------------------------------------------------------------------------*/ // Edit member /*-------------------------------------------------------------------------*/и перед этим добавляем//############################################################################### //select forum access //############################################################################### function select_forum_access() { global $DB, $std, $forums, $ibforums, $print; //----------------------------------------------- // Check permissions //----------------------------------------------- if ($ibforums->member['g_is_supmod'] == 1) { $pass = 1; } else if ($this->moderator['mass_prune'] == 1) { $pass = 1; } else { $pass = 0; } if ($ibforums->cache['forum_cache'][$this->forum['id']]['alow_sel_access'] != 1) { $pass = 0; } if ($pass == 0) { $this->moderate_error(); return; } //----------------------------------------------- // Are we checking first? //----------------------------------------------- $update=''; if ($ibforums->input['check'] == 1) { $user_list=$ibforums->input['select_access']; if (isset($user_list) and $user_list != "") { //--------------------------- // Sort out the array //--------------------------- $user_list = str_replace( "<br>", "<br />" , trim($user_list) ); $user_list = str_replace( "<br /><br />", "<br />" , trim($user_list) ); $user_list = preg_replace( "#^(<br />){1}#", "" , $user_list ); $user_list = preg_replace( "#(<br />){1}$#", "" , $user_list ); $user_list = preg_replace( "#<br />\s+#", "," , $user_list ); $temp_array = explode( "<br />", $user_list ); //--------------------------- // Make SQL'able //--------------------------- if ( is_array($temp_array) and count($temp_array) > 0 ) { $new_array = array(); foreach( $temp_array as $name ) { $name = "'".trim(strtolower($name))."'"; if (in_array( $name, $new_array ) ) { continue; } $new_array[] = $name; } } //--------------------------- // SQL it //--------------------------- if ( is_array($new_array) and count($new_array) > 0 ) { $array_count = count($new_array); $DB->simple_construct( array( 'select' => 'id, name', 'from' => 'members', 'where' => "LOWER(name) IN (".implode(",",$new_array).")", 'order' => "name" )); $DB->simple_exec(); if ( ! $DB->get_num_rows() ) { $this->moderate_error('cp_error_no_mem'); return; } else { while( $r = $DB->fetch_row() ) { $cc_array[$r['id']] = $r; } } $cc_error = ""; if ( count($cc_array) != $array_count ) { foreach( $new_array as $n ) { $seen = 0; foreach( $cc_array as $idx => $cc_user ) { $tmp = "'".strtolower($cc_user['name'])."'"; if ($tmp == $n) { $seen = 1; } } if ($seen != 1) { $cc_error .= "<br>".sprintf( $ibforums->lang['excl_acc_not_user'], $n, $n ); } } } $DB->do_update( 'forums', array ('permission_array_user' =>addslashes(serialize($cc_array)),),"id={$ibforums->input['f']}" ); $std->update_forum_cache(); } $update=$ibforums->lang['excl_acc_update_list'].$cc_error; } else { $DB->do_update( 'forums', array ('permission_array_user' =>'',),"id={$ibforums->input['f']}" ); $std->update_forum_cache(); $update=$ibforums->lang['excl_acc_update_list']; } } $list_user = unserialize(stripslashes($ibforums->cache['forum_cache'][$this->forum['id']]['permission_array_user'])); $list=''; if ( is_array($list_user)) { foreach( $list_user as $idx1 => $cc_user1 ) { $list.=$cc_user1['name']."\n"; } } $this->output .= $this->html->select_forum_access_splash ($this->forum, $std->return_md5_check(),$list, $update ); $print->pop_up_window( "", $this->output ); } //############################################################################### //select forum access //############################################################################### 6. изменения в файле sources\search.php находим (почти в самом низу) строчку if ( $std->check_perms( $i['read_perms']) == TRUE )и меняем ее на if ( $std->check_perms( $i['read_perms'],$i['id'] ) == TRUE ) 7. изменения в файле sources\classes\class_forums.phpнаходим строчку if ( $std->check_perms($this->forum_by_id[$fid]['show_perms']) == TRUE )меняем на if ( $std->check_perms($this->forum_by_id[$fid]['show_perms'],$fid) == TRUE ) 8. изменения в файле sources\admin\ad_forums.php два раза находим строчку'permission_custom_error' => $std->my_nl2br( $std->txt_stripslashes($_POST['permission_custom_error']) ),и два раза после нее добавляем 'alow_sel_access' => $ibforums->input['alow_sel_access'], затем находим $ibforums->html .= $ibforums->adskin->add_td_row( array( "<b>Custom 'Permission Denied' Message</b><br>You may use HTML - linebreaks 'Auto-Magically' converted to <br>.<br />If left blank, a default 'permission denied' error is used." , $ibforums->adskin->form_textarea("permission_custom_error", $std->my_br2nl( $forum['permission_custom_error']) ) ) );и после добавляем $ibforums->html .= $ibforums->adskin->add_td_row( array( "<b>Разрешить выборочный доступ</b>" , $ibforums->adskin->form_yes_no("alow_sel_access", $forum['alow_sel_access'] ) ) ); 9. изменения в скине...в админке в редактировании скинов идем сюда ACP Home / Skin Manager Home / Board Index/ForumRowи меняем в поле все содержимое на<tr> <td class="row4" align="center">{$data['img_new_post']}</td> <td class="row4">{$data['_queued_img']}<b><a href="{ipb.script_url}showforum={$data['id']}">{$data['name']}</a></b><br /><div class='forumdesc'>{$data['description']}{$data['show_subforums']}<br /><em>{$data['moderator']} </em> <if="data['alow_sel_access']==1 and is_mod"> · <a href='javascript:PopUp("{ipb.script_url}act=mod&CODE=select_forum_access&f={$data['id']}&auth_key={$auth_key}", "ACCESS", 600,500)'>Доступ к форуму</a> </if> <else if="ipb.member['g_is_supmod']==1 and data['alow_sel_access']==1"> · <a href='javascript:PopUp("{ipb.script_url}act=mod&CODE=select_forum_access&f={$data['id']}&auth_key={$auth_key}", "ACCESS", 600,500)'>Доступ к форуму</a> </if> </div>{$data['_queued_info']}</td> <td class="row2" align="center">{$data['topics']}</td> <td class="row2" align="center">{$data['posts']}</td> <td class="row2" nowrap="nowrap">{$data['last_unread']} <span class='desc'>{$data['last_post']}</span><br />{ipb.lang['in']}: {$data['last_topic']}<br />{ipb.lang['by']}: {$data['last_poster']}</td> </tr> потом жмем кнопочку Show Data Variables...и пишем там$data, $auth_key="", $is_modи сохраняем изменения... потом идем сюда в админке в редактировании скинов идем сюда ACP Home / Skin Manager Home / Moderator Function и жмем там кнопку Add Template Bit и там вписываемназвание функции select_forum_access_splashпеременные $forum="", $auth_key="", $list_user="", $update=""и в самое большое поле</script><script language='javascript' type="text/javascript"> <!-- function find_users() { url = "index.php?act=legends&CODE=finduser_one&s=&entry=textarea&name=select_access&sep=line"; window.open(url,'FindUsers','width=400,height=250,resizable=yes,scrollbars=yes'); } //--> </script> <div class='tableborder'> <div class='maintitle'>{ipb.lang['excl_acc_title']} {$forum['name']}</div> <div class='pformstrip'>{$update}</div> <div class='pformstrip'>{ipb.lang['excl_acc_title1']}</div> <div class='tablepad'>{ipb.lang['excl_acc_help']}</div> <form action='{ipb.script_url}' method='POST' name='REPLIER' > <input type='hidden' name='s' value='{ipb.session_id}'> <input type='hidden' name='act' value='mod'> <input type='hidden' name='CODE' value='select_forum_access'> <input type='hidden' name='f' value='{$forum['id']}'> <input type='hidden' name='auth_key' value='$auth_key' /> <input type='hidden' name='check' value='1'> <div class='pformstrip'>{ipb.lang['excl_acc_title2']}</div> <table width="100%" cellspacing="0"> <tr> <td class='pformright' align='center'> <textarea name='select_access' rows='15' cols='40'>$list_user</textarea><br /> <input type='button' class='forminput' name='findusers' onclick='find_users()' value='{ipb.lang['find_user_names']}' /> </td> </tr> </table> <div class='pformstrip' align='center'><input type='submit' value='{ipb.lang['cp_prune_sub1']}' class='button' /></div> </form> </div>ну и сохраняем... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
shuks Опубликовано 15 Октября 2004 Жалоба Поделиться Опубликовано 15 Октября 2004 winnie Ставил на финал... Вылазит ошибка:IPB WARNING [2] in_array(): Wrong datatype for second argument (Line: 65 of \sources\moderate.php) Код ~60-70 строк в файле://----------------------------------------- // Make sure this is a POST request // not a naughty IMG redirect //----------------------------------------- if ( ! in_array( $ibforums->input['CODE'], $post_array ) ) { if ($_POST['act'] == '') { $std->Error( array( 'LEVEL' => 1, 'MSG' => 'incorrect_use') ); } } Добавлено в [mergetime]1097865266[/mergetime] Забыл сказать: она вылазит когда пытаешься настроить доступ к форуму через поп-ап на главной странице... И еще - в шаблонах косяки: нет границ м-у иконкой форума и его названием, т.е. косяк в ForumRow. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
winnie Опубликовано 15 Октября 2004 Жалоба Поделиться Опубликовано 15 Октября 2004 вот эту строчку правильно вставили? $post_array = array( '04', '02', '20', '22', 'resync', 'prune_start', 'prune_finish', 'prune_move', 'editmember', 'select_forum_access' ); на счет шаблона- да это делалось под старые скины.. под новый вот содержимое шаблона всплывющего окна </script><script language='javascript' type="text/javascript"> <!-- function find_users() { url = "index.php?act=legends&CODE=finduser_one&s=&entry=textarea&name=select_access&sep=line"; window.open(url,'FindUsers','width=400,height=250,resizable=yes,scrollbars=yes'); } //--> </script> <div class='tableborder'> <div class='maintitle'>{$ibforums->lang['excl_acc_title']} {$forum['name']}</div> <div class='pformstrip'>{$update}</div> <div class='formsubtitle'>{$ibforums->lang['excl_acc_title1']}</div> <div class='tablepad'>{$ibforums->lang['excl_acc_help']}</div> <form action='{$ibforums->base_url}' method='POST' name='REPLIER' > <input type='hidden' name='s' value='{$ibforums->session_id}'> <input type='hidden' name='act' value='mod'> <input type='hidden' name='CODE' value='select_forum_access'> <input type='hidden' name='f' value='{$forum['id']}'> <input type='hidden' name='auth_key' value='$auth_key' /> <input type='hidden' name='check' value='1'> <div class='formsubtitle'>{$ibforums->lang['excl_acc_title2']}</div> <table width="100%" cellspacing="0"> <tr> <td class='pformright' align='center'> <textarea name='select_access' rows='15' cols='40'>$list_user</textarea><br /> </td> </tr> <tr><td class='pformright' align='center'> <input type='button' class='forminput' name='findusers' onclick='find_users()' value='{$ibforums->lang['find_user_names']}' /> </td> </tr> </table> <div class='formsubtitle' align='center'><input type='submit' value='{$ibforums->lang['cp_prune_sub1']}' class='button' /></div> </form> </div> Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
shuks Опубликовано 16 Октября 2004 Жалоба Поделиться Опубликовано 16 Октября 2004 winnie Да, действительно, криво вставил... Два знака $ в начале получилось... поменял, но все равно ошибка, но уже другая Неверная авторизация. Вернитесь назад и повторите попытку. Если Вы неправильно обратились к данной функции, исправьте ошибку и используйте соответствующий этой функции метод.Добавлено в [mergetime]1097903275[/mergetime] Блин, в скинах напутал... все заработало, спасибо!Еще: лучше в ForumRow вставить<tr> <td align="center" class="row2" width="1%">{$data['img_new_post']}</td> <td class="row2">{$data['_queued_img']}<b><a href="{ipb.script_url}showforum={$data['id']}">{$data['name']}</a></b><br /><span class="forumdesc">{$data['description']}{$data['show_subforums']}<br /><i>{$data['moderator']}</i> <if="data['alow_sel_access']==1 and is_mod"> · <a href='javascript:PopUp("{ipb.script_url}act=mod&CODE=select_forum_access&f={$data['id']}&auth_key={$auth_key}", "ACCESS", 600,500)'>Доступ к форуму</a> </if> <else if="ipb.member['g_is_supmod']==1 and data['alow_sel_access']==1"> · <a href='javascript:PopUp("{ipb.script_url}act=mod&CODE=select_forum_access&f={$data['id']}&auth_key={$auth_key}", "ACCESS", 600,500)'>Доступ к форуму</a> </if> </span>{$data['_queued_info']}</td> <td align="center" class="row1">{$data['topics']}</td> <td align="center" class="row1">{$data['posts']}</td> <td class="row1" nowrap="nowrap">{$data['last_unread']} <span>{$data['last_post']}<br /><b>{ipb.lang['in']}:</b> {$data['last_topic']}<br /><b>{ipb.lang['by']}:</b> {$data['last_poster']}</span></td> </tr> Патамучта с твоим кодом у меня теряются цвета в поле с названиями форумов...Все, спасибо! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
shuks Опубликовано 14 Ноября 2004 Жалоба Поделиться Опубликовано 14 Ноября 2004 winnie Скажите, если стоит будуар и всем группам разрешен просмотр тем форума (так получилось, что у меня на форум могут иметь доступ люди из разных групп: юзеры, админы и т.д.). Но сам будуар ограничивает только заход и просмотр тем... а вот если "лишний" юзер поставит галочку "Подписаться на все форумы", то будет ли он получать по мылу текст новых постов или нет?ЗЫ - спрашиваю, т.к. на локалке не проверишь Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
winnie Опубликовано 14 Ноября 2004 Жалоба Поделиться Опубликовано 14 Ноября 2004 хм так подписаться сразу на все форумы нельзя вроде как... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
shuks Опубликовано 15 Ноября 2004 Жалоба Поделиться Опубликовано 15 Ноября 2004 Включить 'уведомления на e-mail' по умолчанию?Если включено, выберите тип уведомления: - Не уведомлять - Немедленное уведомление - Уведомление с задержкой - Ежедневное уведомление - Еженедельное уведомление При включении этой опции Вы будете автоматически подписаны на все новые и обновлённые темы.Это разве не то? Добавлено в [mergetime]1100525391[/mergetime] ЗЫ - это в "настройках e-mail" в профиле Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
shuks Опубликовано 15 Ноября 2004 Жалоба Поделиться Опубликовано 15 Ноября 2004 winnie Кое- каким макаром протестировал на рабочем форуме:если для юзера по маске доступен просмотр форума, но имени юзера нет в списке будуара, то можно вручную ввести адрес борда/index.php?act=Track&f=<номер форума>&type=forumто подписка добавится и юзер будет благополучно получать по мылу все новые посты форума Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
winnie Опубликовано 15 Ноября 2004 Жалоба Поделиться Опубликовано 15 Ноября 2004 угу есть такое.. пропустил файл misc\tracker.php ищем внутри if ( $std->check_perms( $forums->forum_by_id[ $ibforums->input['f'] ]['read_perms'] ) != TRUE )меняем на if ( $std->check_perms( $forums->forum_by_id[ $ibforums->input['f'] ]['read_perms'], $ibforums->input['f'] ) != TRUE ) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
shuks Опубликовано 15 Ноября 2004 Жалоба Поделиться Опубликовано 15 Ноября 2004 И еще - при таком же раскладе юзер, не имеющий доступ по списку будуара может читать заголовки последней темы форума. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.