Вход Регистрация
Файл: root/modules/xfields.admin.php
Строк: 255
<?php

/**
* @name        JMY CMS
* @link        http://jmy.su/
* @copyright   Copyright (C) 2012-2014 JMY LTD
* @license     LICENSE.txt (see attached file)
* @version     VERSION.txt (see attached file)
* @author      Komarov Ivan
* @revision       28.02.2015
*/

if (!defined('ADMIN_ACCESS')) {
    
header('Location: /');
    exit;
}


function 
main() 
{
global 
$adminTpl$config$core$admin_conf$db;
    
$adminTpl->admin_head(_DOP_DOPS);
    echo 
'<div class="row">
            <div class="col-lg-12">
                <section class="panel">
                    <div class="panel-heading">
                        <b>' 
_LIST '</b>
                    </div>'
;    
    
$query $db->query("SELECT * FROM ".DB_PREFIX."_xfields ORDER BY id ASC");
    if(
$db->numRows($query) > 0
    {    
        echo 
'<div class="panel-body no-padding">
                    <form id="tablesForm" style="margin:0; padding:0" method="POST" action="{ADMIN}/xfields/action">
                        <table class="table no-margin">
                            <thead>
                                <tr>
                                    <th><span class="pd-l-sm"></span>ID</th>
                                    <th class="col-md-2">' 
_TITLE '</th>
                                    <th class="col-md-2">' 
_DESCRIPTION '</th>
                                    <th class="col-md-3">' 
_DOP_TEMP '</th>
                                    <th class="col-md-2">' 
_MODULE .'</th>
                                    <th class="col-md-3">' 
_ACTIONS '</th>
                                    <th class="col-md-4"><input type="checkbox" name="all" onclick="setCheckboxes('
tablesForm', true); return false;"></th>
                                </tr>
                            </thead>
                            <tbody>'
;
                            
        while(
$xfield $db->getRow($query)) 
        {
            echo 
'
            <tr>
                <td><span class="pd-l-sm"></span> '
$xfield['id'] . '</td>
                <td>' 
$xfield['title'] . '</td>
                <td>' 
$xfield['description'] . '</td>
                <td>[xfield:' 
$xfield['id'] . '][xfield_value:' $xfield['id'] . '][/xfield:' $xfield['id'] . ']</td>
                <td>' 
_mName($xfield['module']) . '</td>
                <td>
                <a href="{ADMIN}/xfields/edit/' 
$xfield['id'] . '">
                <button type="button" class="btn btn-info btn-sm" data-toggle="tooltip" data-placement="top" title="" data-original-title="' 
_EDIT .'">E</button>
                </a>
                <a href="{ADMIN}/xfields/delete/' 
$xfield['id'] . '" onClick="return getConfirm('' . _DOP_DEL .' ' . $xfield['title'] . '?')">
                <button type="button" class="btn btn-danger btn-sm" data-toggle="tooltip" data-placement="top" title="" data-original-title="' 
_DELETE .'">X</button>
                </a>
                </td>
                <td> <input type="checkbox" name="checks[]" value="' 
$xfield['id'] . '"><span class="pd-l-sm"></span></td>
            </tr>'
;    
        }
        echo 
'<tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>
    <div align="right">
    <table>
    <tr>        
    <td valign="top">
    <input name="submit" type="submit" class="btn btn btn-danger" id="sub" value="' 
_DELETE '" /><span class="pd-l-sm"></span>
    </td>
    </tr>
    </table>
    <br>    
    </div>
    </form></div>'
;    
    } 
    
    else 
    {
    echo 
'<div class="panel-heading">' _DOP_EMPTY '</div>';
    }
    echo
'</section></div></div>';
    
$adminTpl->admin_foot();
}

function 
xfields_add($id null
{
global 
$adminTpl$config$core$admin_conf$db;
    if(isset(
$id)) 
    {
        
$query $db->query("SELECT * FROM ".DB_PREFIX."_xfields WHERE id = '" $id "'");
        
$xfield $db->getRow($query);
        
$title prepareTitle($xfield['title']);
        
$description $xfield['description'];
        
$default $xfield['content'];
        
$type $xfield['type'];
        
$to_user $xfield['to_user'];
        
$mod $xfield['module'];
        
$lang _DOP_EDIT_DOP;
        
$compl _DOP_EDIT;
    } 
    else 
    {
        
$title '';
        
$description '';
        
$default '';
        
$to_user 1;
        
$mod 'news';
        
$lang _DOP_ADD_DOP;
        
$compl _DOP_ADD;
    }
    
$adminTpl->admin_head($lang);
    
    echo 
'<div class="row"><div class="col-lg-12"><section class="panel"><div class="panel-heading no-border"><b>'$lang .'</b></div><div class="panel-body"><div class="switcher-content">';
    echo 
'<script type="text/javascript">
    function xfieldType(val)
    {
        if(val == '')
        {
            gid('
typeExp').innerHTML = '';
        }
        else if(val == 1)
        {
            gid('
typeExp').innerHTML = '<div class="form-group"><label class="col-sm-3 control-label">'. _DOP_ADD_DEF .'</label><div class="col-sm-4"><input type="text" size="20" name="default" class="form-control" value="' . $default . '" maxlength="100" maxsize="100" /></div></div>';
        }
        else if(val == 2)
        {
            gid('
typeExp').innerHTML = '<div class="form-group"><label class="col-sm-3 control-label">'. _DOP_ADDDEF .'</label><div class="col-sm-4"><textarea name="default" class="form-control" rows="3">' . $default . '</textarea></div></div>';
        }
        else if(val == 3)
        {
            gid('
typeExp').innerHTML = '<div class="form-group"><label class="col-sm-3 control-label">'. _DOP_ADDDEF .'</label><div class="col-sm-4"><textarea name="default" class="form-control" rows="5">' . $default . '</textarea></div></div>';
        }
    }    
    
    var errsConf = new Array();
    errsConf[0] = new Array('
title','titleErr',''. _DOP_ERROR_1 .'');
    errsConf[1] = new Array('
description','descrErr',''. _DOP_ERROR_2 .'');
    errsConf[2] = new Array('
type','typeErr',''. _DOP_ERROR_3 .'');
    </script>'
;
    echo 
'<div id="currentErrors"></div>';
    
    
    echo 
'<form action="{ADMIN}/xfields/save" onsubmit="return caa(false);" method="post" name="xfields" role="form" class="form-horizontal parsley-form" data-parsley-validate>
        <div class="form-group">
                    <label class="col-sm-3 control-label">'
_DOP_ADD_TITLE .'</label>
                    <div class="col-sm-4">
                        <input type="text" name="title"  value="'
$title .'" class="form-control" id="title"  data-parsley-required="true" data-parsley-trigger="change" onchange="caa(this);">
                    </div>
         </div>
         <div class="form-group">
                    <label class="col-sm-3 control-label">'
_DOP_ADD_DESC .'</label>
                    <div class="col-sm-4">
                        <input type="text" name="description"  value="'
$description .'" class="form-control" id="description"  data-parsley-required="true" data-parsley-trigger="change" onchange="caa(this);">
                    </div>
         </div>
         <div class="form-group">
                    <label class="col-sm-3 control-label">'
_DOP_ADD_MODULE .'</label>
                    <div class="col-sm-4">
                    
    <select name="module" id="module" >'
;
    
    
$exceMods = array('blog''board''feed''gallery''pm''search''feedback''guestbook''content','mainpage','sitemap');
    foreach (
$core->getModList() as $module
    {
        if(!
in_array($module$exceMods))
        {
            
$selected = ($module == $mod) ? "selected" "";
            echo 
'<option value="' $module '" ' $selected '>' _mName($module) . '</option>';
        }
    }                
    echo
'    </select>            </div>
         </div>
         
    <div class="form-group">
                    <label class="col-sm-3 control-label">'
_DOP_ADD_TYPE .'</label>
                    <div class="col-sm-4">'
;    
    if(empty(
$id))
    {
        echo 
"<select name="type" id="type" onchange="xfieldType(this.value); caa(this);"><option value="">"._DOP_TYPE_0."</option><option value="1">"._DOP_TYPE_1."</option><option value="2">"._DOP_TYPE_2."</option><option value="3">"._DOP_TYPE_3."</option></select>";
    }
    else
    {
        echo 
"<select name="type"  id="type" onchange="xfieldType(this.value); caa(this);"><option value="">"._DOP_TYPE_0."</option><option value="1" " . ($type == 'selected' '') . ">"._DOP_TYPE_1."</option><option value="2" " . ($type == 'selected' '') . ">"._DOP_TYPE_2."</option><option value="3" " . ($type == 'selected' '') . ">"._DOP_TYPE_3."</option></select>";

    }
    echo 
'</div></div>';
    if(empty(
$id))
    {
        echo 
"<div id="typeExp"></div>";
    }
    else
    {
        switch (
$type) {
                    case 
1:
                        echo 
'<div id="typeExp"><div class="form-group"><label class="col-sm-3 control-label">'_DOP_ADD_DEF .'</label><div class="col-sm-4"><input type="text" size="20" name="default" class="form-control" value="' $default '" maxlength="100" maxsize="100" /></div></div></div>';
                        break;
                    case 
2:
                        echo 
'<div id="typeExp"><div class="form-group"><label class="col-sm-3 control-label">'_DOP_ADD_DEF .'</label><div class="col-sm-4"><textarea name="default" class="form-control" rows="3">' $default '</textarea></div></div></div>';
                        break;
                    case 
3:
                        echo 
'<div id="typeExp"><div class="form-group"><label class="col-sm-3 control-label">'_DOP_ADD_DEF .'</label><div class="col-sm-4"><textarea name="default" class="form-control" rows="5">' $default '</textarea></div></div></div>';
                        break;
                        }    
        
    }
    echo 
'<div class="form-group">
                    <label class="col-sm-3 control-label">'
_DOP_ADD_USER .'</label>
                    <div class="col-sm-4">
                        '
.checkbox('to_user'$to_user).'
                    </div>
         </div>
         <div class="form-group">
                    <label class="col-sm-3 control-label"></label>
                    <div class="col-sm-4">
                        <input name="submit" type="submit" class="btn btn-primary btn-parsley" id="sub" value="'
.$compl.'" />                        
                    </div>
        </div>'
;
    if(isset(
$id)) {
        echo 
'<input type="hidden" name="edit" value="1">';
        echo 
'<input type="hidden" name="fid" value="' $id '">';
    }
    echo 
'</form></div></div>';  
    echo
'</section></div></div>';
    
$adminTpl->admin_foot();
}

function 
xfields_save() {
global 
$adminTpl$db$core;
if(isset(
$_POST['edit'])) 
        {
        
$adminTpl->admin_head(_DOP_DOPS.' | '._DOP_EDITS);
        } 
        else 
        {
        
$adminTpl->admin_head(_DOP_DOPS.' | '._DOP_ADDS);
    }
    
$fid = isset($_POST['fid']) ? intval($_POST['fid']) : 0;
    
$title filter($_POST['title'], 'title');
    
$description filter($_POST['description'], 'a');
    
$type intval($_POST['type']);
    
$to_user = isset($_POST['to_user']) ? 0;
    
$default filter($_POST['default']);
    
$module filter($_POST['module'], 'module');
    
$back '{ADMIN}/xfields/';
    if(!empty(
$title) && !empty($description) && !empty($type)) 
    {
        if(isset(
$_POST['edit'])) 
        {
            
$db->query("UPDATE `" DB_PREFIX "_xfields` SET `title` = '" $title "',`description` = '" $description "',`type` = '" $type "',`content` = '" $default "',`to_user` = '" $to_user "',`module` = '" $module "' WHERE `id` = " $fid ";");
            
$adminTpl->info(_DOP_INFO_1);
        } 
        else 
        {
            
$db->query("INSERT INTO `" DB_PREFIX "_xfields` (`title` ,`description` ,`type` ,`content` ,`to_user` ,`module` ) VALUES ('" $db->safesql(processText($title)) . "', '" $db->safesql(processText($description)) . "', '" $type "', '" $default "', '" $to_user "', '" $module "');");
            
$adminTpl->info(_DOP_INFO_2);
        }
    } 
    else 
    {
        
$adminTpl->info(_BASE_ERROR_0'error');
    }
    
$adminTpl->admin_foot();
}

switch(isset(
$url[2]) ? $url[2] : null) {
    default:
        
main();
    break;    
    
    case 
"add":
        
xfields_add();
    break;
    
    case 
"save":
        
xfields_save();
    break;
    
    case 
"delete":
        
$id intval($url[3]);
        
$db->query("DELETE FROM `" DB_PREFIX "_xfields` WHERE `id` = " $id " LIMIT 1");
        
location(ADMIN.'/xfields');
    break;
    
    case 
"edit":
        
$id intval($url[3]);
        
xfields_add($id);
    break;
    
    case 
"action":
    
$type $_POST['submit'];
    if(
is_array($_POST['checks'])) {
        switch(
$type) {
            case 
_DELETE:
                foreach(
$_POST['checks'] as $id
                {
                    
$db->query("DELETE FROM `" DB_PREFIX "_xfields` WHERE `id` = " intval($id) . " LIMIT 1");
                }
            break;
        }
    }
        
location(ADMIN.'/xfields');
    break;

}
Онлайн: 2
Реклама