![]() |
![]() |
ВходЗдравствуйте, Гость ( Вход | Регистрация )
|
![]() ![]() |
![]() |
![]()
Сообщение
#1
|
|
x_X ![]() Группа: Дизайнеры Сообщений: 633 Регистрация: 12.4.2008 Из: :( Украина :( Пользователь №: 3,219 Спасибо сказали: 229 Вставить ник ![]() |
Перед началом установки сделать бекап Базы данных и файлов форума
Файлы для изменения: ./sources/classes/class_forums.php ./sources/action_admin/forums.php ./skin_acp/IPB2_Standard/acp_skin_html/cp_skin_forums.php Открыть файл /sources/classes/class_forums.php Найти: КОД return ( $forum_data['last_post'] && $forum_data['last_post'] > $rtime ) ? "<{C_ON".$sub_cat_img."}>" : "<{C_OFF".$sub_cat_img."}>"; Заменить этот код на: КОД if($forum_data['icon']){ return $forum_data['last_post'] > $rtime ? "<img src=\"".$this->ipsclass->vars['board_url']."/html/forumicons/".$forum_data['icon'].".gif\">" : "<img src=\"".$this->ipsclass->vars['board_url']."/html/forumicons/".$forum_data['icon']."_off.gif\">"; }else{ return ( $forum_data['last_post'] && $forum_data['last_post'] > $rtime ) ? "<{C_ON".$sub_cat_img."}>" : "<{C_OFF".$sub_cat_img."}>"; } Сохранить и загрузить файл. Открыть файл /sources/action_admin/forums.php Найти: КОД $form['parent_id'] = $this->ipsclass->adskin->form_dropdown("parent_id" , $forumlist, $_POST['parent_id'] ? $_POST['parent_id'] : $forum['parent_id'] ); $form['status'] = $this->ipsclass->adskin->form_dropdown("status" , $dd_state , $_POST['status'] ? $_POST['status'] : $forum['status'] ); $form['sub_can_post'] = $this->ipsclass->adskin->form_yes_no( 'sub_can_post', $_POST['sub_can_post'] ? $_POST['sub_can_post'] : $forum['sub_can_post'] ); Добавить ниже: КОД $dh = opendir( ROOT_PATH.'html/forumicons' ); $icons = array(); $icons[] = array("", "Default Icons"); while ($icon = readdir($dh)) { if((preg_match("/(.gif)/",$icon) || preg_match("/(.jpg)/",$icon) || preg_match("/(.jpeg)/",$icon) || preg_match("/(.png)/",$icon)) && !preg_match("/(_off)/",$icon)) { if($icon != '.' || $icon != '..') { $iconname = str_replace(".gif","",$icon); $icons[] = array($iconname, $iconname); } } } closedir($dh); $form['icon'] = $this->ipsclass->adskin->form_dropdown( "icon", $icons, $_POST['icon'] ? $_POST['icon'] : $forum['icon'] ); Найти: КОД $save = array ( 'name' => $this->ipsclass->input['name'], Добавить ниже: КОД 'icon' => $this->ipsclass->input['icon'], Сохранить и загрузить файл. Открыть файл: /skin_acp/IPB2_Standard/acp_skin_html/cp_skin_forums.php Найти: КОД <tr> <td width='40%' class='tablerow1'><strong>Forum Description</strong><div class='desctext'>You may use HTML - linebreaks automatically converted to <br></div></td> <td width='60%' class='tablerow2'>{$form['description']}</td> </tr> Добавить ВЫШЕ: КОД <tr> <td width='40%' class='tablerow1'><strong>Forum Icon</strong></td> <td width='60%' class='tablerow2'>{$form['icon']}</td> </tr> Выполнить SQL запрос: КОД ALTER TABLE `ibf_forums` ADD `icon` text NOT NULL; Загрузить в /html/ папку в корень форума,а в нее иконки форумов. ![]() Часто при редактировании /skin_acp/IPB2_Standard/acp_skin_html/cp_skin_forums.php у многих возникает ошибка,поэтому выкладвваю уже готовый файл: КОД <?php
class cp_skin_forums { var $ipsclass; //=========================================================================== // Forum: Header //=========================================================================== function forum_wrapper($content, $r, $reorder, $show_buttons=1, $show_reorder=0) { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <div class='tableborder'> <div class='tableheaderalt'> EOF; if ( $show_buttons ) { $IPBHTML .= <<<EOF <table cellpadding='0' cellspacing='0' border='0' width='100%'> <tr> <td align='left' width='95%' style='font-size:12px; vertical-align:middle;font-weight:bold; color:#FFF;' title='ID: {$r['id']}'>{$r['name']}</td> <td align='right' width='5%' nowrap='nowrap'> $reorder <img id="menum-{$r['id']}" src='{$this->ipsclass->skin_acp_url}/images/filebrowser_action.gif' border='0' alt='Опции' class='ipd' /> </td> </tr> </table> EOF; } else if ( $show_reorder ) { $IPBHTML .= <<<EOF <table cellpadding='0' cellspacing='0' border='0' width='100%'> <tr> <td align='left' width='40%' style='font-size:12px; vertical-align:middle;font-weight:bold; color:#FFF;' title='ID: {$r['id']}'>{$r['name']}</td> <td align='right' width='60%'> <input type='button' value='Отсортировать подфорум' class='realdarkbutton' onclick='locationjump( "&{$this->ipsclass->form_code}&code=reorder&f={$r['id']}&sub=1" )' /> <img id="menum-{$r['id']}" src='{$this->ipsclass->skin_acp_url}/images/filebrowser_action.gif' border='0' alt='Опции' class='ipd' /> </td> </tr> </table> EOF; } else { $IPBHTML .= <<<EOF {$r['name']} EOF; } $IPBHTML .= <<<EOF </div> <table cellpadding='0' cellspacing='0' width='100%'> $content </table> </div> <script type="text/javascript"> menu_build_menu( "menum-{$r['id']}", new Array( img_add + " <a href='{$this->ipsclass->base_url}&{$this->ipsclass->form_code}&code=new&p={$r['id']}'>Создать форум</a>", img_edit + " <a href='{$this->ipsclass->base_url}&{$this->ipsclass->form_code}&code=edit&f={$r['id']}'>Настройки</a>", img_delete + " <a href='{$this->ipsclass->base_url}&{$this->ipsclass->form_code}&code=delete&f={$r['id']}'>Удалить</a>", img_view + " <a href='{$this->ipsclass->base_url}&{$this->ipsclass->form_code}&code=skinedit&f={$r['id']}'>Настройки стиля</a>" ) ); </script> <br /> EOF; //--endhtml--// return $IPBHTML; } //=========================================================================== // Forum: Render REORDER row //=========================================================================== function render_reorder_row( $r, $reorder="", $depth_guide="" ) { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <tr> <td class='tablerow1' width='10%'> {$reorder} </td> <td class='tablerow1' align='left' width='90%'> {$depth_guide} {$r['name']} </td> </tr> EOF; //--endhtml--// return $IPBHTML; } //=========================================================================== // Forum: Render forum_footer //=========================================================================== function render_forum_header() { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <script type='text/javascript'> //<![CDATA[ var modshown = 0; function toggle_mod_settings() { var divs = document.getElementsByTagName('div'); for ( var i = 0; i <= divs.length; i++ ) { var e = divs[i]; if ( e && e.id ) { var name = e.id; var mainname = name.replace( /^(.+?)-.+?$/ , "$1" ); if ( mainname == 'moddiv' ) { e.style.display = modshown ? 'none' : ''; } } } document.getElementById( 'togglemod' ).innerHTML = modshown ? 'Показать модераторские опции' : 'Скрыть модераторские опции'; modshown = modshown == 1 ? 0 : 1; } //]]> </script> <div class='taboff'> EOF; if ( $this->ipsclass->input['showall'] ) { $IPBHTML .= <<<EOF <a href='{$this->ipsclass->base_url}&{$this->ipsclass->form_code}&showall=0'>Показать иерархию форумов</a> EOF; } else { $IPBHTML .= <<<EOF <a href='{$this->ipsclass->base_url}&{$this->ipsclass->form_code}&showall=1'>Показать форумы без иерархии</a> EOF; } $IPBHTML .= <<<EOF </div> <div class='taboff'><a href='#' onclick='toggle_mod_settings()' id='togglemod'>Показать модераторские опции</a></div> <br clear='all' /> <div id='mainforumwrapper'> EOF; //--endhtml--// return $IPBHTML; } //=========================================================================== // Forum: Render forum_footer //=========================================================================== function render_moderator_entry( $data='' ) { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <div class='tablerow1' style='white-space:nowrap;font-weight:bold;float:left' id='modmenu{$data['mid']}'>{$data['_fullname']} <img src='{$this->ipsclass->skin_acp_url}/images/icon_open.gif' border='0' style='vertical-align:top'/></div> <script type="text/javascript"> menu_build_menu( "modmenu{$data['mid']}", new Array( img_item + " <a href='{$this->ipsclass->base_url}§ion=content&act=mod&code=remove&mid={$data['mid']}'>Удалить</a>", img_item + " <a href='{$this->ipsclass->base_url}§ion=content&act=mod&code=edit&mid={$data['mid']}'>Изменить</a>" ) ); </script> EOF; //--endhtml--// return $IPBHTML; } //=========================================================================== // Forum: Render forum_footer //=========================================================================== function render_forum_footer( $choose="", $mem_group ) { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF </div> <script type='text/javascript'> //<![CDATA[ function gochildrenofthecorn() { var chosenroot = document.forms[0].roots.options[document.forms[0].roots.selectedIndex].value; self.location.href = '{$this->ipsclass->base_url}&{$this->ipsclass->form_code_js}&code=reorder&f=' + chosenroot; } function gomodform() { var checkboxes = document.getElementsByTagName('input'); document.getElementById('modforumids').value = ''; for ( var i = 0; i <= checkboxes.length; i++ ) { var cb = checkboxes[i]; if ( cb && cb.type == 'checkbox' && cb.checked == true ) { var name = cb.id; var mainname = name.replace( /^(.+?)_.+?$/ , "$1" ); var idname = name.replace( /^(.+?)_(.+?)$/, "$2" ); if ( mainname == 'id' ) { document.getElementById('modforumids').value += ',' + idname; } } } document.getElementById('modform').submit(); } //]]> </script> <div class='tableborder'> <table cellpadding='4' cellspacing='0' width='100%' border='0' class='tablerow1'> <tr> <td align='left' valign='middle'>{$choose} <input type='button' class='realbutton' value='Отсортировать подфорумы' onclick='gochildrenofthecorn()'/></td> <td align='right'><input type='button' class='realbutton' value='Создать категорию' onclick='locationjump("&{$this->ipsclass->form_code}&code=new&type=category")' /> <input type='submit' value='Отсортировать категории' class='realbutton' /></form> </td> </tr> </table> </div> <br /> <form method='post' action='{$this->ipsclass->base_url}§ion={$this->ipsclass->section_code}&act=mod&code=add' id='modform'> <input type='hidden' name='_admin_auth_key' value='{$this->ipsclass->_admin_auth_key}' /> <input type='hidden' name='modforumids' id='modforumids' /> <div class='tableborder'> <table cellpadding='2' cellspacing='0' width='100%' border='0' class='tablerow1'> <tr> <td valign='middle'><strong>Добавить модератора в выбранные форумы:</strong></td> <td> имя пользователя <input class='realbutton' type='text' name='name' size='20' value='' /> <strong>или</strong> группа {$mem_group} </td> <td width='1%' valign='middle'><input type='button' class='realbutton' value='Добавить' onclick='gomodform()' /></td> </tr> </table> </form> </div> EOF; //--endhtml--// return $IPBHTML; } //=========================================================================== // Forum: Render normal row //=========================================================================== function render_forum_row( $desc, $r, $depth_guide, $skin ) { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <tr> <td class='tablerow1' width='95%'> {$depth_guide} EOF; if ( $r['id'] == $this->ipsclass->vars['forum_trash_can_id'] ) { $IPBHTML .= <<<EOF <img src='{$this->ipsclass->adskin->img_url}/images/acp_trashcan.gif' border='0' title='This is the trashcan forum' /> EOF; } $IPBHTML .= <<<EOF <strong style='font-size:11px'>{$r['name']}</strong> EOF; if ( ($r['skin_id'] != "") and ($r['skin_id'] > 0) ) { $IPBHTML .= <<<EOF <br>[ Использует Стиль: {$skin} ] EOF; } $IPBHTML .= <<<EOF <div class='graytext'>{$desc}</div> EOF; if ( $r['_modstring'] != "" ) { $IPBHTML .= <<<EOF <div style='display:none' id='moddiv-{$r['id']}'><fieldset style='padding:4px;height:45px'><legend>Модераторы</legend>{$r['_modstring']}</fieldset></div> EOF; } $IPBHTML .= <<<EOF </td> <td class='tablerow1' align='right' width='5%' nowrap='nowrap'><input type='checkbox' title='Отметьте это поле для добавления форума в список форумов для добавления модератора к ' id='id_{$r['id']}' value='1' /> <img id="menu{$r['id']}" src='{$this->ipsclass->skin_acp_url}/images/filebrowser_action.gif' border='0' alt='Опции' class='ipd' /></td> </tr> <script type="text/javascript"> menu_build_menu( "menu{$r['id']}", new Array( img_edit + " <a href='{$this->ipsclass->base_url}&{$this->ipsclass->form_code}&code=edit&f={$r['id']}'>Настройки</a>", img_info + " <a href='{$this->ipsclass->base_url}&{$this->ipsclass->form_code}&code=pedit&f={$r['id']}'>Права доступа</a>", img_delete + " <a href='{$this->ipsclass->base_url}&{$this->ipsclass->form_code}&code=empty&f={$r['id']}'>Очистить</a>", img_delete + " <a href='{$this->ipsclass->base_url}&{$this->ipsclass->form_code}&code=delete&f={$r['id']}'>Удалить</a>", img_edit + " <a href='{$this->ipsclass->base_url}&{$this->ipsclass->form_code}&code=frules&f={$r['id']}'>Правила</a>", img_view + " <a href='{$this->ipsclass->base_url}&{$this->ipsclass->form_code}&code=skinedit&f={$r['id']}'>Настройки стиля</a>", img_info + " <a href='{$this->ipsclass->base_url}&{$this->ipsclass->form_code}&code=recount&f={$r['id']}'>Ресинхронизация</a>" ) ); </script> EOF; //--endhtml--// return $IPBHTML; } //=========================================================================== // Forum: Render category no forums //=========================================================================== function render_no_forums( $parent_id ) { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <tr> <td class='tablerow1' width='100%' colspan='2'> <strong style='font-size:11px;color:red;'>Невозможно создать форум в этой категории.<br />Он не будет отображен на сайте в независимости от установленных прав доступа.</strong> <div class='graytext'><a href='{$this->ipsclass->base_url}&{$this->ipsclass->form_code}&code=new&p={$parent_id}'>Нажмите здесь для создания форума в этой категории</a></div> </td> </tr> EOF; //--endhtml--// return $IPBHTML; } //=========================================================================== // Forum: Build Permissions //=========================================================================== function render_forum_permissions( $global=array(), $content="", $title='Ограничения уровней доступа' ) { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <script type='text/javascript'> //<![CDATA[ var formobj = document.getElementById('adminform'); //---------------------------------- // Check all column //---------------------------------- function check_all( permtype ) { var checkboxes = formobj.getElementsByTagName('input'); for ( var i = 0; i <= checkboxes.length; i++ ) { var e = checkboxes[i]; if ( e && (e.id != 'UPLOAD_ALL') && (e.id != 'DOWNLOAD_ALL') && (e.id != 'READ_ALL') && (e.id != 'REPLY_ALL') && (e.id != 'START_ALL') && (e.id != 'SHOW_ALL') && (e.type == 'checkbox') && (! e.disabled) ) { var s = e.id; var a = s.replace( /^(.+?)_.+?$/, "$1" ); if (a == permtype) { e.checked = true; } } } if ( document.getElementById( permtype + '_ALL' ).checked ) { document.getElementById( permtype + '_ALL' ).checked = false; } else { document.getElementById( permtype + '_ALL' ).checked = true; } return false; } //---------------------------------- // Object has been checked //---------------------------------- function obj_checked( permtype, pid ) { var totalboxes = 0; var total_on = 0; if ( pid ) { document.getElementById( permtype+'_'+pid ).checked = document.getElementById( permtype+'_'+pid ).checked ? false : true; } var checkboxes = formobj.getElementsByTagName('input'); for ( var i = 0; i <= checkboxes.length; i++ ) { var e = checkboxes[i]; if ( e && (e.id != 'UPLOAD_ALL') && (e.id != 'DOWNLOAD_ALL') && (e.id != 'READ_ALL') && (e.id != 'REPLY_ALL') && (e.id != 'START_ALL') && (e.id != 'SHOW_ALL') && (e.type == 'checkbox') && (! e.disabled) ) { var s = e.id; var a = s.replace( /^(.+?)_.+?$/, "$1" ); if ( a == permtype ) { totalboxes++; if ( e.checked ) { total_on++; } } } } if ( totalboxes == total_on ) { document.getElementById( permtype + '_ALL' ).checked = true; } else { document.getElementById( permtype + '_ALL' ).checked = false; } return false; } //---------------------------------- // Check column //---------------------------------- function checkcol( permtype ,status) { var checkboxes = formobj.getElementsByTagName('input'); for ( var i = 0; i <= checkboxes.length; i++ ) { var e = checkboxes[i]; if ( e && (e.id != 'UPLOAD_ALL') && (e.id != 'DOWNLOAD_ALL') && (e.id != 'READ_ALL') && (e.id != 'REPLY_ALL') && (e.id != 'START_ALL') && (e.id != 'SHOW_ALL') && (e.type == 'checkbox') && (! e.disabled) ) { var s = e.id; var a = s.replace( /^(.+?)_.+?$/, "$1" ); if ( a == permtype ) { if ( status == 1 ) { e.checked = true; document.getElementById( permtype + '_ALL' ).checked = true; } else { e.checked = false; document.getElementById( permtype + '_ALL' ).checked = false; } } } } return false; } //---------------------------------- // Remote click box //---------------------------------- function toggle_box( compiled_permid ) { if ( document.getElementById( compiled_permid ).checked ) { document.getElementById( compiled_permid ).checked = false; } else { document.getElementById( compiled_permid ).checked = true; } obj_checked( compiled_permid.replace( /^(.+?)_.+?$/, "$1" ) , ''); return false; } //---------------------------------- // INIT //---------------------------------- function init_perms() { var tds = formobj.getElementsByTagName('td'); for ( var i = 0; i <= tds.length; i++ ) { var thisobj = tds[i]; if ( thisobj && thisobj.id ) { var name = thisobj.id; var firstpart = name.replace( /^(.+?)_.+?$/, "$1" ); if ( firstpart == 'clickable' ) { try { document.getElementById( tds[i].id ).style.cursor = "pointer"; } catch(e) { document.getElementById( tds[i].id ).style.cursor = "hand"; } } } } } //---------------------------------- // Check row //---------------------------------- function checkrow( permid, status ) { if( document.getElementById( "READ" + '_' + permid ) != null ) { document.getElementById( "READ" + '_' + permid ).checked = status ? true : false; } if( document.getElementById( "REPLY" + '_' + permid ) != null ) { document.getElementById( "REPLY" + '_' + permid ).checked = status ? true : false; } if( document.getElementById( "START" + '_' + permid ) != null ) { document.getElementById( "START" + '_' + permid ).checked = status ? true : false; } if( document.getElementById( "UPLOAD" + '_' + permid ) != null ) { document.getElementById( "UPLOAD" + '_' + permid ).checked = status ? true : false; } if( document.getElementById( "DOWNLOAD" + '_' + permid ) != null ) { document.getElementById( "DOWNLOAD" + '_' + permid ).checked = status ? true : false; } if( document.getElementById( "SHOW" + '_' + permid ) != null ) { document.getElementById( "SHOW" + '_' + permid ).checked = status ? true : false; } obj_checked("READ"); obj_checked("REPLY"); obj_checked("START"); obj_checked("UPLOAD"); obj_checked("DOWNLOAD"); obj_checked("SHOW"); return false; } //]]> </script> <div class='tableborder'> <div class='tableheaderalt' id='perm-header'>{$title}</div> <table cellpadding='4' cellspacing='0' border='0' width='100%'> <tr> <td class='tablesubheader' width='13%'> </td> <td class='tablesubheader' width='14%' align='center'>Просмотр форума</td> <td class='tablesubheader' width='14%' align='center'>Чтение тем</td> <td class='tablesubheader' width='14%' align='center'>Ответ в темы</td> <td class='tablesubheader' width='14%' align='center'>Создание тем</td> <td class='tablesubheader' width='14%' align='center'>Загрузка файлов</td> <td class='tablesubheader' width='14%' align='center'>Скачивание файлов</td> </tr> <tr> <td colspan='7' class='tablerow1'> <fieldset> <legend><strong>Глобальные настройки доступа</strong> (Все текущие и будущие маски доступа)</legend> <table cellpadding='4' cellspacing='0' border='0' class='tablerow1' width='100%'> <tr> <td class='tablerow2' width='13%'> </td> <td class='tablerow1' width='14%' style='background-color:#ecd5d8' onclick='check_all("SHOW")'><center><div class='red-perm'><nobr>Просмотр форума</nobr></div> {$global['html_show']}</center></td> <td class='tablerow1' width='14%' style='background-color:#dbe2de' onclick='check_all("READ")'><center><div class='green-perm'><nobr>Чтение тем</nobr></div> {$global['html_read']}</center></td> <td class='tablerow1' width='14%' style='background-color:#dbe6ea' onclick='check_all("REPLY")'><center><div class='yellow-perm'><nobr>Ответ в темы</nobr></div> {$global['html_reply']}</center></td> <td class='tablerow1' width='14%' style='background-color:#d2d5f2' onclick='check_all("START")'><center><div class='blue-perm'><nobr>Создание тем</nobr></div> {$global['html_start']}</center></td> <td class='tablerow1' width='14%' style='background-color:#ece6d8' onclick='check_all("UPLOAD")'><center><div class='orange-perm'><nobr>Загрузка файлов</nobr></div> {$global['html_upload']}</center></td> <td class='tablerow1' width='14%' style='background-color:#dfdee9' onclick='check_all("DOWNLOAD")'><center><div class='purple-perm'><nobr>Скачивание файлов</nobr></div> {$global['html_download']}</center></td> </tr> </table> </fieldset> </td> </tr> {$content} <tr> <td class='tablerow2'> </td> <td class='tablerow1'><center><input type='button' id='button' value='+' onclick='checkcol("SHOW",1)' /> <input type='button' id='button' value='-' onclick='checkcol("SHOW",0)' /></center></td> <td class='tablerow1'><center><input type='button' id='button' value='+' onclick='checkcol("READ",1)' /> <input type='button' id='button' value='-' onclick='checkcol("READ",0)' /></center></td> <td class='tablerow1'><center><input type='button' id='button' value='+' onclick='checkcol("REPLY",1)' /> <input type='button' id='button' value='-' onclick='checkcol("REPLY",0)' /></center></td> <td class='tablerow1'><center><input type='button' id='button' value='+' onclick='checkcol("START",1)' /> <input type='button' id='button' value='-' onclick='checkcol("START",0)' /></center></td> <td class='tablerow1'><center><input type='button' id='button' value='+' onclick='checkcol("UPLOAD",1)' /> <input type='button' id='button' value='-' onclick='checkcol("UPLOAD",0)' /></center></td> <td class='tablerow1'><center><input type='button' id='button' value='+' onclick='checkcol("DOWNLOAD",1)' /> <input type='button' id='button' value='-' onclick='checkcol("DOWNLOAD",0)' /></center></td> </tr> </table> </div> <script type='text/javascript'> //<![CDATA[ init_perms(); //]]> </script> EOF; //--endhtml--// return $IPBHTML; } //=========================================================================== // Forum: Build Permissions //=========================================================================== function render_forum_permissions_row( $perm=array(), $data=array() ) { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <tr> <td colspan='7' class='tablerow1'> <fieldset> <legend><strong>{$data['perm_name']}</strong></legend> <table cellpadding='4' cellspacing='0' border='0' class='tablerow1' width='100%'> <tr> <td class='tablerow2' width='13%'><input type='button' id='button' value='+' onclick='checkrow({$data['perm_id']},1)' /> <input type='button' id='button' value='-' onclick='checkrow({$data['perm_id']},0)' /></td> <td class='tablerow1' width='14%' style='background-color:#ecd5d8' id='clickable_{$data['perm_id']}' onclick="toggle_box('SHOW_{$data['perm_id']}')"><center><div class='red-perm'><nobr>Просмотр форума</nobr></div> {$perm['html_show']}</center></td> <td class='tablerow1' width='14%' style='background-color:#dbe2de' id='clickable_{$data['perm_id1']}' onclick="toggle_box('READ_{$data['perm_id']}')"><center><div class='green-perm'><nobr>Чтение тем</nobr></nobr></div> {$perm['html_read']}</center></td> <td class='tablerow1' width='14%' style='background-color:#dbe6ea' id='clickable_{$data['perm_id2']}' onclick="toggle_box('REPLY_{$data['perm_id']}')"><center><div class='yellow-perm'><nobr>Ответ в темы</nobr></div> {$perm['html_reply']}</center></td> <td class='tablerow1' width='14%' style='background-color:#d2d5f2' id='clickable_{$data['perm_id3']}' onclick="toggle_box('START_{$data['perm_id']}')"><center><div class='blue-perm'><nobr>Создание тем</nobr></div> {$perm['html_start']}</center></td> <td class='tablerow1' width='14%' style='background-color:#ece6d8' id='clickable_{$data['perm_id4']}' onclick="toggle_box('UPLOAD_{$data['perm_id']}')"><center><div class='orange-perm'><nobr>Загрузка файлов</nobr></div> {$perm['html_upload']}</center></td> <td class='tablerow1' width='14%' style='background-color:#dfdee9' id='clickable_{$data['perm_id5']}' onclick="toggle_box('DOWNLOAD_{$data['perm_id']}')"><center><div class='purple-perm'><nobr>Скачивание файлов</nobr></div> {$perm['html_download']}</center></td> </tr> </table> </fieldset> </td> </tr> EOF; //--endhtml--// return $IPBHTML; } //=========================================================================== // Forums form //=========================================================================== function forum_permission_form( $forum, $relative, $perm_matrix ) { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <script type='text/javascript' language='javascript'> </script> <form name='theAdminForm' id='adminform' action='{$this->ipsclass->base_url}&{$this->ipsclass->form_code}&code=pdoedit&f={$this->ipsclass->input['f']}&name={$forum['name']}&nextid={$relative['next']}&previd={$relative['previous']}' method='post'> <input type='hidden' name='_admin_auth_key' value='{$this->ipsclass->_admin_auth_key}' /> {$perm_matrix } <div class='tableborder'><div class='tablesubheader' align='center'> EOF; if ( $relative['next'] > 0 ) { $IPBHTML .= <<<EOF <input type='submit' name='donext' value='Сохранить и изменить след.' class='realdarkbutton' /> EOF; } $IPBHTML .= <<<EOF <input type='submit' value='Сохранить' class='realbutton' /> <input type='submit' name='reload' value='Сохранить и перезагрузить окно' class='realbutton' /> EOF; if ( $relative['next'] > 0 ) { $IPBHTML .= <<<EOF <input type='submit' name='doprevious' value='Сохранить и изменить пред.' class='realdarkbutton' /> EOF; } $IPBHTML .= <<<EOF </div></div></form> EOF; //--endhtml--// return $IPBHTML; } //=========================================================================== // Forums form //=========================================================================== function forum_form( $form, $button, $code, $title, $button, $forum, $perm_matrix ) { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <script type='text/javascript'> function do_convert() { document.getElementById('convert').value = 1; document.getElementById('adminform').submit(); } </script> <form name='theAdminForm' id='adminform' action='{$this->ipsclass->base_url}&{$this->ipsclass->form_code}&code={$code}&f={$this->ipsclass->input['f']}&name={$forum['name']}' method='post'> <input type='hidden' name='_admin_auth_key' value='{$this->ipsclass->_admin_auth_key}' /> <input type='hidden' name='convert' id='convert' value='0' /> <input type='hidden' name='type' value='{$this->ipsclass->input['type']}' /> <div class='tableborder'> <div class='tableheaderalt'> <div style='float:left'>$title</div> <div align='right' style='padding-right:5px'> </div> </div> <table cellpadding='0' cellspacing='0' border='0' width='100%'> <tr> <td width='40%' class='tablerow1' colspan='2'> <fieldset> <legend><strong>Основные настройки</strong></legend> <table cellpadding='0' cellspacing='0' border='0' width='100%'> <tr> <td width='40%' class='tablerow1'><strong>Название {$form['addnew_type_upper']}</strong></td> <td width='60%' class='tablerow2'>{$form['name']}</td> </tr> EOF; if( $form['addnew_type'] != 'category' ) { $IPBHTML .= <<<EOF <tr> <td width='40%' class='tablerow1'><strong>Forum Icon</strong></td> <td width='60%' class='tablerow2'>{$form['icon']}</td> <tr> <td width='40%' class='tablerow1'><strong>Описание</strong><div class='desctext'>HTML разрешен.<br />Переносы строк автоматически заменяются на <br>.</div></td> <td width='60%' class='tablerow2'>{$form['description']}</td> </tr> <tr> <td width='40%' class='tablerow1'><strong>Выберите родительский форум или категорию</strong></td> <td width='60%' class='tablerow2'>{$form['parent_id']}</td> </tr> <tr> <td width='40%' class='tablerow1'><strong>Состояние форума</strong></td> <td width='60%' class='tablerow2'>{$form['status']}</td> </tr> <tr> <td width='40%' class='tablerow1'><strong>Сделать форум категорией?</strong><div class='desctext'>Если вы выберите «<b>Да</b>», то форум будет категорией, в нем будут запрещено открытие тем и публикация сообщений, соответственно, все нижеследующие настройки не будут иметь силы.<br><br>Если выберите «<b>Нет</b>», то форум будет обычным, в нем будут разрешено открытие тем, публикация сообщений (если это разрешено).</div></td> <td width='60%' class='tablerow2'>{$form['sub_can_post']}</td> </tr> </table> </fieldset> </td> </tr> <tr> <td width='40%' class='tablerow1' colspan='2'> <fieldset> <legend><strong>Настройки переадресации</strong></legend> <table cellpadding='0' cellspacing='0' border='0' width='100%'> <tr> <td width='40%' class='tablerow1'><strong>URL адрес для перемещения</strong></td> <td width='60%' class='tablerow2'>{$form['redirect_url']}</td> </tr> <tr> <td width='40%' class='tablerow1'><strong>Переключить форум на перемещение?</strong><div class='desctext'>При выборе «Да» нижеследующие блоки настроек не будут иметь силы, так как форум станет лишь ссылкой. Уже существующие темы в форуме будут недоступны!</div></td> <td width='60%' class='tablerow2'>{$form['redirect_on']}</td> </tr> <tr> <td width='40%' class='tablerow1'><strong>Количество нажатий на ссылку (перемещений)</strong></td> <td width='60%' class='tablerow2'>{$form['redirect_hits']}</td> </tr> </table> </fieldset> </td> </tr> <tr> <td width='40%' class='tablerow1' colspan='2'> <fieldset> <legend><strong>Настройки доступа</strong></legend> <table cellpadding='0' cellspacing='0' border='0' width='100%'> <tr> <td width='40%' class='tablerow1'><strong>Разрешить пользователям видеть названия тем в списке, но запретить им просмотр содержимого этих тем?</strong><div class='desctext'>При выборе «Да» пользователи смогут видеть только список названий тем, но не смогут в них войти.</div></td> <td width='60%' class='tablerow2'>{$form['permission_showtopic']}</td> </tr> <tr> <td width='40%' class='tablerow1'><strong>Специальное сообщение, выводимое пользователям при попытке зайти в тему (если включен пункт выше)</strong><div class='desctext'>HTML разрешен.<br />Переносы строк автоматически заменяются на тег <br>.<br />Если оставить это поле пустым, то (при включенном пункте выше, конечно) пользователям, пытающимся зайти в тему будет выводиться стандартное сообщение форума.</div></td> <td width='60%' class='tablerow2'>{$form['permission_custom_error']}</td> </tr> </table> </fieldset> </td> </tr> <tr> <td width='40%' class='tablerow1' colspan='2'> <fieldset> <legend><strong>Настройки сообщений</strong></legend> <table cellpadding='0' cellspacing='0' border='0' width='100%'> <tr> <td width='40%' class='tablerow1'><strong>Разрешить использование HTML (если разрешает маска доступа группы)?</strong><div class='desctext'>Данная опция включит выполнение HTML тегов в публикуемых сообщениях.</div></td> <td width='60%' class='tablerow2'>{$form['use_html']}</td> </tr> <tr> <td width='40%' class='tablerow1'><strong>Разрешить использование BB-кодов?</strong></td> <td width='60%' class='tablerow2'>{$form['use_ibc']}</td> </tr> <tr> <td width='40%' class='tablerow1'><strong>Включить форму быстрого ответа для этого форума?</strong></td> <td width='60%' class='tablerow2'>{$form['quick_reply']}</td> </tr> <tr> <td width='40%' class='tablerow1'><strong>Разрешить создание голосований (если это разрешено группе)?</strong></td> <td width='60%' class='tablerow2'>{$form['allow_poll']}</td> </tr> <tr> <td width='40%' class='tablerow1'><strong>Разрешить поднятие тем в списке при новых голосах?</strong><div class='desctext'>Если включено, то новый голос в опросе поднимет соответствующую тему наверх списка тем (когда сортировка идет по дате).</td> <td width='60%' class='tablerow2'>{$form['allow_pollbump']}</td> </tr> <tr> <td width='40%' class='tablerow1'><strong>Включить рейтинг тем (если это разрешено группе)</strong></td> <td width='60%' class='tablerow2'>{$form['forum_allow_rating']}</td> </tr> <tr> <td width='40%' class='tablerow1'><strong>Включить счетчик сообщений пользователей?</strong><div class='desctext'>Если это пункт отключить, то за каждое сообщение, оставленное пользователем, его счетчик сообщений не будет увеличиваться!</td> <td width='60%' class='tablerow2'>{$form['inc_postcount']}</td> </tr> </table> </fieldset> </td> </tr> <tr> <td width='40%' class='tablerow1' colspan='2'> <fieldset> <legend><strong>Настройки модерации</strong></legend> <table cellpadding='0' cellspacing='0' border='0' width='100%'> <tr> <td width='40%' class='tablerow1'><strong>Проверять сообщения модератором перед публикацией?</strong><div class='desctext'>Если этот пункт включить, то каждое публикуемое сообщение должно будет пройти проверку модератором перед непосредственной публикацией на форум.</div></td> <td width='60%' class='tablerow2'>{$form['preview_posts']}</td> </tr> <tr> <td width='40%' class='tablerow1'><strong>Укажите e-mail адреса, куда будут отправляться уведомления при появлении новых тем?</b><br /></strong><div class='desctext'>(Оставьте поле пустым, если вам не требуются уведомления).<br />Разделяйте запятой (пример: ivanov@mail.ru, petrov@mail.ru).</div></td> <td width='60%' class='tablerow2'>{$form['notify_modq_emails']}</td> </tr> <tr> <td width='40%' class='tablerow1'><strong>Требовать пароль при заходе на форум?</strong><div class='desctext'>Вы можете заблокировать форум и пускать на него только по паролю<br>Вы можете оставить поле пустым, чтобы не использовать пароль вообще.<br /><strong>Если это категория — данный пункт не будет работать.</strong></div></td> <td width='60%' class='tablerow2'>{$form['password']}</td> </tr> <tr> <td width='40%' class='tablerow1'><strong>Освобожденные группы</strong><div class='desctext'>Если у вас включен ввод пароля, то вы можете выбрать группы, которые смогут просматривать этот форум без ввода пароля.</div></td> <td width='60%' class='tablerow2'>{$form['password_override']}</td> </tr> </table> </fieldset> </td> </tr> <tr> <td width='40%' class='tablerow1' colspan='2'> <fieldset> <legend><strong>Настройки сортировки</strong></legend> <table cellpadding='0' cellspacing='0' border='0' width='100%'> <tr> <td width='40%' class='tablerow1'><strong>По умолчанию выводить темы за</strong></td> <td width='60%' class='tablerow2'>{$form['prune']}</td> </tr> <tr> <td width='40%' class='tablerow1'><strong>По умолчанию сортировать по</strong></td> <td width='60%' class='tablerow2'>{$form['sort_key']}</td> </tr> <tr> <td width='40%' class='tablerow1'><strong>Порядок сортировки по умолчанию</strong></td> <td width='60%' class='tablerow2'>{$form['sort_order']}</td> </tr> <tr> <td width='40%' class='tablerow1'><strong>Фильтр сортировки по умолчанию</strong></td> <td width='60%' class='tablerow2'>{$form['topicfilter']}</td> </tr> </table> </fieldset> </td> </tr> </table> </div> EOF; } else { $IPBHTML .= <<<EOF </table> </fieldset> </td> </tr> </table> <input type='hidden' name='parent_id' value='-1' /> <input type='hidden' name='sub_can_post' value='0' /> <input type='hidden' name='permission_showtopic' value='1' /> </div> EOF; } if ( $perm_matrix ) { $IPBHTML .= <<<EOF <br /> $perm_matrix <br /> EOF; } $IPBHTML .= <<<EOF <div class='tableborder'> <div align='center' class='tablefooter'><input type='submit' class='realbutton' value='$button' /> {$form['convert_button']}</div> </div> </form> EOF; //--endhtml--// return $IPBHTML; } //=========================================================================== // Forum: Build Permissions //=========================================================================== function render_cat_permissions( $data=array(), $select_all='', $title='Настройки доступа' ) { $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <script type='text/javascript'> //<![CDATA[ var formobj = document.getElementById('adminform'); function perm_check( obj ) { var real_obj = document.getElementById( obj ); var total_options = real_obj.options.length; var total_checked = 0; for( var i = 0; i < real_obj.options.length; i++ ) { if ( real_obj.options[i].selected ) { total_checked++; } } if ( total_checked == total_options ) { document.getElementById( 'show_all' ).checked = true; } else { document.getElementById( 'show_all' ).checked = false; } } function perm_check_all( obj ) { var real_obj = document.getElementById( obj ); var isselected = document.getElementById( 'show_all').checked ? true : false; for( var i = 0; i < real_obj.options.length; i++ ) { real_obj.options[i].selected = isselected; } document.getElementById( 'show_all').checked = isselected; } //]]> </script> <div class='tableborder'> <div class='tableheaderalt' id='perm-header'>{$title}</div> <table cellpadding='4' cellspacing='0' border='0' width='100%'> <tr> <td class='tablesubheader' width='100%' align='center'>Показать категорию</td> </tr> <tr> <td class='tablerow1'> <fieldset> <legend><strong>Права доступа</strong></legend> <table cellpadding='4' cellspacing='0' border='0' class='tablerow1' width='100%'> <tr> <td class='tablerow2' width='40%' valign='middle' align='right' ><span class='desctext'>Просмотр категории</span></td> <td class='tablerow1' width='60%'> <input type='checkbox' name='show_all' id='show_all' value='1' onclick='perm_check_all("show")' {$select_all} /> Выбрать все текущие и будущие маски <br /><select onchange='perm_check("show")' id='show' name='show_permissions[]' size='6' multiple='true'> EOF; if( count($data) ) { foreach( $data as $perm_row ) { $IPBHTML .= <<<EOF <option value='{$perm_row['perm_id']}' {$perm_row['perm_selected']}>{$perm_row['perm_name']}</option> EOF; } } $IPBHTML .= <<<EOF </select> </td> </tr> </table> </fieldset> </td> </tr> </table> </div> EOF; //--endhtml--// return $IPBHTML; } } ?> |
|
|
![]()
Сообщение
#2
|
|
Приблуда ![]() Группа: [..AS..] Сообщений: 32 Регистрация: 31.7.2007 Из: Москва Пользователь №: 466 Спасибо сказали: 5 Вставить ник ![]() |
можно одним архивом с инструкцией?
|
|
|
![]()
Сообщение
#3
|
|
А нас мёдом не корми, Дай чего нибуть помалевать. ![]() Группа: Дизайнеры Сообщений: 3,009 Регистрация: 23.9.2007 Из: Казахстан, Жезказган Рядом с Байконуром Пользователь №: 967 Спасибо сказали: 1247 Вставить ник ![]() |
Для этого есть Download Center
Здесь всё это потеряется. |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25 April 2025 - 19:25 |