AntiSlaed CMS
Вход
Логин: Пароль:Забыли пароль?
Запомнить вас на этом компьютере?
Войти скрытым?

Здравствуйте, Гость ( Вход | Регистрация )

> Внимание!

Адрес нашего форума изменился, теперь мы доступны по адресу antislaed.net. Обновите ссылки и закладки, он больше не изменится.


 
Ответить в данную темуНачать новую тему
> Редактор иконок форумов
Z1dan3
сообщение Aug 11 2008, 14:13
Сообщение #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/ папку в корень форума,а в нее иконки форумов.
Прикрепленный файл  html.zip ( 25.79 Кб ) Кол-во загрузок: 0


Часто при редактировании /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}&section=content&act=mod&code=remove&mid={$data['mid']}'>Удалить</a>",
               img_item   + " <a href='{$this->ipsclass->base_url}&section=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}&section={$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;
}




}


?>
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
aradan
сообщение Aug 11 2008, 17:02
Сообщение #2


Приблуда
Иконка группы

Группа: [..AS..]

Сообщений: 32
Регистрация:
31.7.2007
Из: Москва
Пользователь №: 466
Спасибо сказали: 5

Вставить ник




можно одним архивом с инструкцией?
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение
teletehnika
сообщение Aug 11 2008, 17:40
Сообщение #3


А нас мёдом не корми, Дай чего нибуть помалевать.
Иконка группы

Группа: Дизайнеры

Сообщений: 3,009
Регистрация:
23.9.2007
Из: Казахстан, Жезказган Рядом с Байконуром
Пользователь №: 967
Спасибо сказали: 1247

Вставить ник




Для этого есть Download Center
Здесь всё это потеряется.
Перейти в начало страницы
 
     Выделите текст перед нажатием цитаты
+Цитировать сообщение

Ответить в данную темуНачать новую тему

2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
 

RSS Текстовая версия Сейчас: 25 November 2024 - 12:43
Хостинг предоставлен NetLevel.Ru   Eleanor CMS