Файл: root/modules/smiles.admin.php
Строк: 153
<?php
/**
* @name        JMY CMS
* @link        http://jmy.su/
* @copyright   Copyright (C) 2012-2015 JMY LTD
* @license     LICENSE.txt (see attached file)
* @version     VERSION.txt (see attached file)
* @author      Komarov Ivan
* @revision       01.03.2015
*/
if (!defined('ADMIN_ACCESS')) {
    header('Location: /');
    exit;
}
function main() {
    global $adminTpl, $config, $core, $configs, $clear;
}
switch(isset($url[2]) ? $url[2] : null) 
{
    default:
        $adminTpl->admin_head(_SMAILE_TITLE);
        if(isset($url[2]) && $url[2] == 'saveOk')
        {
            $adminTpl->info(_SMAILE_INFO_1);
        }
        elseif(isset($url[2]) && $url[2] == 'addOk')
        {
            $adminTpl->info(_SMAILE_INFO_2);
        }        
        elseif(isset($url[2]) && $url[2] == 'errorOk')
        {
            $adminTpl->info(_SMAILE_INFO_3);
        }
        $adminTpl->open();    
        echo '<div id="addSmile"  style="display:none">
        <div class="row">
            <div class="col-lg-12">
                <section class="panel">
                    <div class="panel-heading no-border">
                        <b>' . _SMAILE_ADD . '</b>
                    </div>
                    <div class="panel-body">';    
        
        echo '<form style="margin:0; padding:0" method="POST" action="{ADMIN}/smiles/add" class="form-horizontal parsley-form" >
        <div class="form-group">
                    <label class="col-sm-3 control-label">'. _SMAILE_TAG.'</label>
                    <div class="col-sm-4">
                        <input type="text" name="tag"  class="form-control"   data-parsley-required="true" data-parsley-trigger="change" >
                    </div>
         </div>
         <div class="form-group">
                    <label class="col-sm-3 control-label">'. _SMAILE_DESC.'</label>
                    <div class="col-sm-4">
                        <input type="text" name="desc"  class="form-control"   data-parsley-required="true" data-parsley-trigger="change" >
                    </div>
         </div>
         <div class="form-group">
                    <label class="col-sm-3 control-label">'. _SMAILE_URL.'</label>
                    <div class="col-sm-4">
                        <input type="text" name="url"  class="form-control"   data-parsley-required="true" data-parsley-trigger="change" >
                    </div>
         </div>
         <div class="form-group">
                    <label class="col-sm-3 control-label">'. _SMAILE_FOLDER.'</label>
                    <div class="col-sm-4">';
    echo "<select class="form-control"  name="icon" id="icon" onchange="changeIcon('media/smiles/' + this.value, 'iconImg')" ><option value="">Выберите файл</option>";
    foreach(glob(ROOT.'media/smiles/*') as $file) 
    {
        $img = getimagesize($file);
        if($img) 
        {
            echo '<option value="' . basename($file) . '">' . basename($file) . '</option>';
            $ic = basename($file);
        }
    }
    echo "</select>";
    
    echo'</div>
         </div>';
    echo '<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="'._ADD.'">                        
                    </div>
        </div>
  
</form></div>';
echo'</section></div></div> </div>';
        
        echo '<div class="row">
            <div class="col-lg-12">
                <section class="panel">
                    <div class="panel-heading">
                        <b>' . _SMAILE_LIST . '</b> - [<a href="javascript:void(0)" onclick="showhide('addSmile')">'. _SMAILE_ADD .'</a>]
                    </div>';
        $k=0;
        foreach($smiles as $tag => $param)
        { $k=$k+1; }
        if ($k<>0) {
        
        echo '<div class="panel-body no-padding">
                    <form id="tablesForm" style="margin:0; padding:0" method="POST"  action="{ADMIN}/smiles/action">
                        <table class="table no-margin">
                            <thead>
                                <tr>
                                    <th class="col-md-3"><span class="pd-l-sm"></span>'. _SMAILE_TAG .'</th>
                                    <th class="col-md-3">' . _SMAILE_DESC . '</th>
                                    <th class="col-md-3">' . _SMAILE_URL . '</th>
                                    <th class="col-md-2">' . _SMAILE_SMAILE . '</th>
                                    <th class="col-md-2">' . _SMAILE_DEL .'</th>                                            
                                </tr>
                            </thead>
                            <tbody>';
        foreach($smiles as $tag => $param)
        {
        echo   '<tr>
                <td><input name="tag[]" value="' . $tag . '" type="text" class="form-control" /></td>
                <td><input name="title[]" value="' . $param['title'] . '" type="text" class="form-control" /></td>
                <td>' . $param['url'] . ' [' . (file_exists(ROOT.$param['url']) ? '<font color="green">'._SMAILE_FOUND.'</font>' : '<font color="red">'._SMAILE_NOT_FOUND.'</font>') . ']<input name="url[]" value="' . $param['url'] . '" type="hidden" /></td>
                <td><img src="' . $param['url'] . '" border="0" title="' . $param['title'] . '" alt="" /></td>
                <td align="right">  <input type="checkbox" name="checks[' . $tag . ']" value="' . $tag . '" ><span class="pd-l-sm"></span></td>
            </tr>';
        }
        echo '<tr><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-success" id="sub" value="' . _SAVE . '" /><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->close();
        $adminTpl->admin_foot();
        break;    
        
    case 'action':
        if(!empty($_POST['checks']))
        {
            $tag = $_POST['tag'];
            $title = $_POST['title'];
            $url = $_POST['url'];
            $checks = $_POST['checks'];
            foreach($tag as $id => $tagg)
            {
                if(!isset($checks[$tagg]) && !empty($title[$id]))
                {
                    $array[$tagg] = array('title' => $title[$id], 'url' => $url[$id]);
                }
            }
            
            $content = "global $smiles;n";
            $content .= '$smiles = '.arr2str($array).';';
            
            save_conf(ROOT . 'etc/smiles.config.php', $content);
        }
        location(ADMIN.'/smiles/saveOk');
        break;
        
    case 'add':
        $tag = filter($_POST['tag'], 'a');
        $desc = filter($_POST['desc'], 'a');
        $url = filter($_POST['url']);
        
        if(file_exists(ROOT . $url) && $tag && $desc)
        {
            $smiles[$tag] = array('title' => $desc, 'url' => $url);
            $content = "global$smiles;n";
            $content .= '$smiles = '.arr2str($smiles).';';
        
            save_conf(ROOT . 'etc/smiles.config.php', $content);
            location(ADMIN . '/smiles/addOk');
        }
        else
        {
            location(ADMIN . '/smiles/errorOk');
        }
        break;
}
    function arr2str (&$arr, $depth = 0)
    {
            $ret = array();
            if (is_array($arr) && sizeof($arr) > 0)
            {
                    foreach ($arr AS $key => $value)
                    {
                            $key = str_replace("'", "'", $key);
                            if (is_array($value)) $ret[] = "'{$key}'=>".arr2str($value, $depth+1);
                            elseif (is_int($value)) $ret[] = "'{$key}'=>$value";
                            else
                            {
                                    if (is_string($value)) $value = str_replace("'", '"', $value);
                                    $ret[] = "'{$key}'=>'".strval($value)."'";
                            }
                    }
            }
            return 'array('.implode(',', $ret).')';
    }