Файл: InstantSocial/uploud/admin/applets/frules.php
Строк: 170
<?php
/******************************************************************************/
//                                                                            //
//                             InstantCMS v1.9                                //
//                        http://www.instantcms.ru/                           //
//                                                                            //
//                   written by InstantCMS Team, 2007-2011                    //
//                produced by InstantSoft, (www.instantsoft.ru)               //
//                                                                            //
//                        LICENSED BY GNU/GPL v2                              //
//                                                                            //
/******************************************************************************/
if(!defined('VALID_CMS_ADMIN')) { die('ACCESS DENIED'); }
function applet_frules(){
    $inCore = cmsCore::getInstance();
    //check access
    global $adminAccess;
    if (!$inCore->isAdminCan('admin/filters', $adminAccess)) { cpAccessDenied(); }
    $GLOBALS['cp_page_title'] = 'Правила фильтрации';
     cpAddPathway('Фильтры', 'index.php?view=filters');    
     cpAddPathway('Правила фильтрации', 'index.php?view=frules');    
    if (isset($_REQUEST['do'])) { $do = $_REQUEST['do']; } else { $do = 'list'; }
    if (isset($_REQUEST['id'])) { $id = (int)$_REQUEST['id']; } else { $id = -1; }
    if (isset($_REQUEST['co'])) { $co = $_REQUEST['co']; } else { $co = -1; } //current ordering, while resort
        
    if ($do == 'list'){
        $toolmenu = array();
        $toolmenu[0]['icon'] = 'new.gif';
        $toolmenu[0]['title'] = 'Добавить правило';
        $toolmenu[0]['link'] = '?view=frules&do=add';
        $toolmenu[1]['icon'] = 'edit.gif';
        $toolmenu[1]['title'] = 'Редактировать выбранные';
        $toolmenu[1]['link'] = "javascript:checkSel('?view=frules&do=edit&multiple=1');";
        $toolmenu[2]['icon'] = 'show.gif';
        $toolmenu[2]['title'] = 'Публиковать выбранные';
        $toolmenu[2]['link'] = "javascript:checkSel('?view=frules&do=show&multiple=1');";
        $toolmenu[3]['icon'] = 'hide.gif';
        $toolmenu[3]['title'] = 'Скрыть выбранные';
        $toolmenu[3]['link'] = "javascript:checkSel('?view=frules&do=hide&multiple=1');";
        $toolmenu[4]['icon'] = 'delete.gif';
        $toolmenu[4]['title'] = 'Удалить выбранные';
        $toolmenu[4]['link'] = "javascript:checkSel('?view=frules&do=delete&multiple=1');";
        $toolmenu[6]['icon'] = 'help.gif';
        $toolmenu[6]['title'] = 'Помощь';
        $toolmenu[6]['link'] = "?view=help&topic=menu";
        cpToolMenu($toolmenu);
        //TABLE COLUMNS
        $fields = array();
        $fields[0]['title'] = 'id';            $fields[0]['field'] = 'id';            $fields[0]['width'] = '30';
        $fields[1]['title'] = 'Название';    $fields[1]['field'] = 'title';        $fields[1]['width'] = '';        $fields[1]['link'] = '?view=frules&do=edit&id=%id%';
        $fields[1]['filter'] = 15;
        
        $fields[2]['title'] = 'Найти';        $fields[2]['field'] = 'find';    $fields[2]['width'] = '220';    
        $fields[3]['title'] = 'Заменить на';$fields[3]['field'] = 'replace';    $fields[3]['width'] = '220';    
        $fields[4]['title'] = 'В работе';    $fields[4]['field'] = 'published';    $fields[4]['width'] = '100';    
        
        //ACTIONS
        $actions = array();
        $actions[0]['title'] = 'Редактировать';
        $actions[0]['icon']  = 'edit.gif';
        $actions[0]['link']  = '?view=frules&do=edit&id=%id%';
        $actions[1]['title'] = 'Удалить';
        $actions[1]['icon']  = 'delete.gif';
        $actions[1]['confirm'] = 'Удалить правило фильтрации?';
        $actions[1]['link']  = '?view=frules&do=delete&id=%id%';
                
        //Print table
        cpListTable('cms_filter_rules', $fields, $actions);        
    }
    
    if ($do == 'show'){
        if (!isset($_REQUEST['item'])){
            if ($id >= 0){ dbShow('cms_filter_rules', $id);  }
            echo '1'; exit;
        } else {
            dbShowList('cms_filter_rules', $_REQUEST['item']);
            $inCore->redirectBack();        
        }        
    }
    if ($do == 'hide'){
        if (!isset($_REQUEST['item'])){
            if ($id >= 0){ dbHide('cms_filter_rules', $id);  }
            echo '1'; exit;
        } else {
            dbHideList('cms_filter_rules', $_REQUEST['item']);                
            $inCore->redirectBack();
        }
        
    }
    
    if ($do == 'delete'){
        if (!isset($_REQUEST['item'])){
            if ($id >= 0){ dbDelete('cms_filter_rules', $id);  }
        } else {
            dbDeleteList('cms_filter_rules', $_REQUEST['item']);                
        }
        header('location:?view=frules');
    }
    
    if ($do == 'update'){
        if(isset($_REQUEST['id'])) { 
            $id = (int)$_REQUEST['id'];
            
            $title = $_REQUEST['title'];
            $find = $_REQUEST['find'];
            $replace = $_REQUEST['replace'];
            
            $sql = "UPDATE cms_filter_rules 
                    SET `title`='$title', 
                        `find`='$find',
                        `replace`='$replace'
                    WHERE id = $id
                    LIMIT 1";
            dbQuery($sql) ;
                            
            if (!isset($_SESSION['editlist']) || @sizeof($_SESSION['editlist'])==0){
                header('location:?view=frules');        
            } else {
                header('location:?view=frules&do=edit');        
            }
        }    
    }
    
    if ($do == 'submit'){
        $title = $_REQUEST['title'];
        $find = $_REQUEST['find'];
        $replace = $_REQUEST['replace'];
        
        $sql = "INSERT INTO cms_filter_rules VALUES ('$title', '$find', '$replace', 1)";
            
        dbQuery($sql) ;
        
        header('location:?view=frules');        
    }      
   if ($do == 'add' || $do == 'edit'){
 
         $toolmenu = array();
        $toolmenu[0]['icon'] = 'save.gif';
        $toolmenu[0]['title'] = 'Сохранить';
        $toolmenu[0]['link'] = 'javascript:document.addform.submit();';
        $toolmenu[1]['icon'] = 'cancel.gif';
        $toolmenu[1]['title'] = 'Отмена';
        $toolmenu[1]['link'] = 'javascript:window.location.href='index.php?view=frules'';
        cpToolMenu($toolmenu);
   
        if ($do=='add'){
             echo '<h3>Добавить правило</h3>';
               cpAddPathway('Добавить правило', 'index.php?view=frules&do=add');
        } else {
                     if(isset($_REQUEST['multiple'])){                 
                        if (isset($_REQUEST['item'])){                    
                            $_SESSION['editlist'] = $_REQUEST['item'];
                        } else {
                            echo '<p class="error">Нет выбранных объектов!</p>';
                            return;
                        }                 
                     }
                        
                     $ostatok = '';
                    
                     if (isset($_SESSION['editlist'])){
                        $id = array_shift($_SESSION['editlist']);
                        if (sizeof($_SESSION['editlist'])==0) { unset($_SESSION['editlist']); } else 
                        { $ostatok = '(На очереди: '.sizeof($_SESSION['editlist']).')'; }
                     } else { $id = (int)$_REQUEST['id']; }
    
                     $sql = "SELECT * FROM cms_filter_rules WHERE id = $id LIMIT 1";
                     $result = dbQuery($sql) ;
                     if (mysql_num_rows($result)){
                        $mod = mysql_fetch_assoc($result);
                     }
                    
                     echo '<h3>Редактировать правило '.$ostatok.'</h3>';
                     
                     cpAddPathway($mod['title'], 'index.php?view=frules&do=edit&id='.$mod['id']);
            }   
    ?>
<form id="addform" name="addform" method="post" action="index.php">
<input type="hidden" name="view" value="frules" />
  <table width="650" border="0" cellpadding="0" cellspacing="10" class="proptable">
    <tr>
      <td valign="top"><strong>Название правила:</strong></td>
      <td width="220" valign="top"><input name="title" type="text" id="name" style="width:220px" value="<?php echo @$mod['title'];?>" />      </td>
    </tr>
    <tr>
      <td valign="top"><strong>Тэг для поиска:</strong><br />
          <span class="hinttext">Указанный тэг будет заменяться фильтром на текст, введенный ниже. <br/> В статьях и модулях тег нужно будет вводить в фигурных скобках.</span></td>
      <td align="center" valign="top"><b>{</b>
          <input name="find" type="text" id="find" size="27" style="text-align:center" value="<?php echo @$mod['find'];?>"/>
          <b>}</b> </td>
    </tr>
  </table>
  <table width="100%" border="0">
    <tr>
      <?php
            if(!isset($mod['user']) || @$mod['user']==1){
                echo '<td width="52%" valign="top">';
                echo '<h3>Заменять тэг на:</h3>';
                    $inCore->insertEditor('replace', $mod['replace'], '400', '605');
                echo '</td>';
            }
            ?>
    </tr>
  </table>
  <p>
    <label>
      <input name="add_mod" type="submit" id="add_mod" <?php if ($do=='add') { echo 'value="Создать правило"'; } else { echo 'value="Сохранить правило"'; } ?> />
    </label>
    <label><span style="margin-top:15px">
      <input name="back" type="button" id="back" value="Отмена" onclick="window.history.back();"/>
      </span></label>
    <input name="do" type="hidden" id="do" <?php if ($do=='add') { echo 'value="submit"'; } else { echo 'value="update"'; } ?> />
    <?php
              if ($do=='edit'){
             echo '<input name="id" type="hidden" value="'.$mod['id'].'" />';
            }
          ?>
  </p>
</form>
<?php
   }
}
?>