Example #1
0
function syn_templates()
{
    global $db, $tpf;
    $dirs = scandir(PHPDISK_ROOT . 'templates');
    sort($dirs);
    for ($i = 0; $i < count($dirs); $i++) {
        if (check_template($dirs[$i])) {
            $arr[] = $dirs[$i];
        }
    }
    $q = $db->query("select * from {$tpf}templates where actived=1");
    while ($rs = $db->fetch_array($q)) {
        if (check_template($rs['tpl_name'])) {
            $active_templates .= $rs['tpl_name'] . ',';
        }
    }
    $db->free($q);
    unset($rs);
    if (trim(substr($active_templates, 0, -1))) {
        $active_arr = explode(',', $active_templates);
    }
    for ($i = 0; $i < count($arr); $i++) {
        $tmp = get_template_info($arr[$i]);
        if (@in_array($arr[$i], $active_arr)) {
            $sql_do .= "('" . $db->escape($arr[$i]) . "','1','" . $db->escape(trim($tmp['tpl_type'])) . "'),";
        } else {
            $sql_do .= "('" . $db->escape($arr[$i]) . "','0','" . $db->escape(trim($tmp['tpl_type'])) . "'),";
        }
    }
    $sql_do = substr($sql_do, 0, -1);
    $db->query_unbuffered("truncate table {$tpf}templates;");
    $db->query_unbuffered("replace into {$tpf}templates(tpl_name,actived,tpl_type) values {$sql_do} ;");
    $num = @$db->result_first("select count(*) from {$tpf}templates where tpl_type='admin' and actived=1");
    if (!$num) {
        $db->query_unbuffered("update {$tpf}templates set actived=1 where tpl_name='admin'");
    }
    $num = @$db->result_first("select count(*) from {$tpf}templates where tpl_type='user' and actived=1");
    if (!$num) {
        $db->query_unbuffered("update {$tpf}templates set actived=1 where tpl_name='default'");
    }
    return true;
}
Example #2
0
 public static function init_lang_tpl()
 {
     global $C, $settings, $auth;
     $dir = PHPDISK_ROOT . 'system/global/';
     make_dir($dir);
     $file = $dir . 'lang_settings.inc.php';
     file_exists($file) ? require_once $file : lang_cache();
     $file = $dir . 'tpl_settings.inc.php';
     file_exists($file) ? require_once $file : tpl_cache();
     if (count($tpl_settings)) {
         foreach ($tpl_settings as $v) {
             if ($v[actived] && $v[tpl_type] == 'user') {
                 $user_tpl_dir = $v[tpl_name];
             }
             if ($v[actived] && $v[tpl_type] == 'admin') {
                 $admin_tpl_dir = $v[tpl_name];
             }
         }
     }
     if (count($lang_settings)) {
         foreach ($lang_settings as $v) {
             if ($v[actived]) {
                 $lang_name = $v[lang_name];
             }
         }
     }
     if ($settings[open_switch_tpls]) {
         $ptpl = gpc('ptpl', 'C', '');
         $user_tpl_dir = $C[tpl_name] = $ptpl ? check_template($ptpl) ? $ptpl : $user_tpl_dir : $user_tpl_dir;
         //$C[tpl_name] = $user_tpl_dir;
     }
     $arr = get_template_info($user_tpl_dir);
     $is_fms = $arr['template_core'] == 'fms' && $auth[open_fms] ? 1 : 0;
     $user_tpl_dir = $user_tpl_dir ? "templates/{$user_tpl_dir}/" : 'templates/default/';
     $admin_tpl_dir = $admin_tpl_dir ? "templates/{$admin_tpl_dir}/" : 'templates/admin/';
     $lang_name = $lang_name ? $lang_name : 'zh_cn';
     return array('user_tpl_dir' => $user_tpl_dir, 'admin_tpl_dir' => $admin_tpl_dir, 'lang_name' => $lang_name, 'fms' => $is_fms);
 }
Example #3
0
    foreach ($_FILES AS $code => $file)
    {
        /* 判断用户是否选择了文件 */
        if ((isset($file['error']) && $file['error'] == 0) || (!isset($file['error']) && $file['tmp_name'] != 'none'))
        {
            /* 检查上传的文件类型是否合法 */
            if (!check_file_type($file['tmp_name'], $file['name'], $allow_file_types))
            {
                sys_msg(sprintf($_LANG['msg_invalid_file'], $file['name']));
            }
            else
            {
                if ($code == 'shop_logo')
                {
                    include_once('includes/lib_template.php');
                    $info = get_template_info($_CFG['template']);

                    $file_name = str_replace('{$template}', $_CFG['template'], $file_var_list[$code]['store_dir']) . $info['logo'];
                }
                elseif ($code == 'watermark')
                {
                    $ext = array_pop(explode('.', $file['name']));
                    $file_name = $file_var_list[$code]['store_dir'] . 'watermark.' . $ext;
                    if (file_exists($file_var_list[$code]['value']))
                    {
                        @unlink($file_var_list[$code]['value']);
                    }
                }
                elseif($code == 'wap_logo')
                {
                    $ext = array_pop(explode('.', $file['name']));
Example #4
0
/**
 * 读取当前风格信息与当前模板风格列表
 *
 * @access  public
 * @param   string  $tpl_name       模版名称
 * @param   string  $tpl_style 模版风格名
 * @return
 */
function read_style_and_tpl($tpl_name, $tpl_style)
{
    $style_info = array();
    $style_info = get_template_info($tpl_name, $tpl_style);
    $tpl_style_info = array();
    $tpl_style_info = read_tpl_style($tpl_name, 2);
    $tpl_style_list = '';
    if (count($tpl_style_info) > 1) {
        foreach ($tpl_style_info as $value) {
            $tpl_style_list .= '<span style="cursor:pointer;" onMouseOver="javascript:onSOver(\'screenshot\', \'' . $value . '\', this);" onMouseOut="onSOut(\'screenshot\', this, \'' . $style_info['screenshot'] . '\');" onclick="javascript:setupTemplateFG(\'' . $tpl_name . '\', \'' . $value . '\', \'\');" id="templateType_' . $value . '"><img src="../themes/' . $tpl_name . '/images/type' . $value . '_';
            if ($value == $tpl_style) {
                $tpl_style_list .= '1';
            } else {
                $tpl_style_list .= '0';
            }
            $tpl_style_list .= '.gif" border="0"></span>&nbsp;';
        }
    }
    $style_info['tpl_style'] = $tpl_style_list;
    return $style_info;
}
Example #5
0
<?php

/**
 * $Author: pengwenfei p@simple-log.com
 * $Date: 2011-02-01
 * www.simple-log.com 
*/
//此文件很大的程度上是参考于ecshop,ecshop的设计模式和设计方法,只是我考虑将数据保存在文件中以提高速度
if ($action == 'templates_list') {
    $current_template_info = get_template_info($config['template_name']);
    /* 获得可用的模版 */
    $available_templates = array();
    $template_dir = @opendir(PBBLOG_ROOT . '/themes/');
    while ($file = readdir($template_dir)) {
        if ($file != '.' && $file != '..' && is_dir(PBBLOG_ROOT . 'themes/' . $file)) {
            $available_templates[] = get_template_info($file);
        }
    }
    @closedir($template_dir);
    $smarty->assign('curr_template', $current_template_info);
    $smarty->assign('available_templates', $available_templates);
    $smarty->assign('admin_title', '模板列表');
    $smarty->display('template_list.html');
} elseif ($action == 'select_template') {
    //如果传递的为空,设置为默认模板
    $template_name = !empty($_GET['template_name']) ? trim($_GET['template_name']) : 'default';
    $sql = 'UPDATE ' . table('config') . "  SET `value`='" . $template_name . "' WHERE `key`='template_name'";
    $db->query($sql);
    sys_message('模板设置成功', 'admin.php?act=templates_list');
}
//获取模板信息
}
/*------------------------------------------------------ */
//-- 安装模版
/*------------------------------------------------------ */
if ($_REQUEST['act'] == 'install') {
    check_authz_json('backup_setting');
    $tpl_name = trim($_GET['tpl_name']);
    $sql = "UPDATE " . $GLOBALS['ecs']->table('shop_config') . " SET value = '{$tpl_name}' WHERE code = 'template'";
    if ($db->query($sql, 'SILENT')) {
        clear_all_files();
        //清除模板编译文件
        $error_msg = '';
        if (move_plugin_library($tpl_name, $error_msg)) {
            make_json_error($error_msg);
        } else {
            make_json_result(get_template_info($tpl_name), $_LANG['install_template_success']);
        }
    } else {
        make_json_error($db->error());
    }
}
/*------------------------------------------------------ */
//-- 备份模版
/*------------------------------------------------------ */
if ($_REQUEST['act'] == 'backup') {
    include_once 'includes/cls_phpzip.php';
    $tpl = trim($_REQUEST['tpl_name']);
    $filename = '../temp/backup/' . $tpl . '_' . date('Ymd') . '.zip';
    $zip = new PHPZip();
    $done = $zip->zip('../themes/' . $tpl . '/', $filename);
    if ($done) {
Example #7
0
 /**
  * 更新系统配置
  */
 public function post()
 {
     /* 允许上传的文件类型 */
     $allow_file_types = '|GIF|JPG|PNG|BMP|SWF|DOC|XLS|PPT|MID|WAV|ZIP|RAR|PDF|CHM|RM|TXT|CERT|';
     $arr = array();
     $res = $this->model->table('touch_shop_config')->field('id, value')->select();
     if (is_array($res)) {
         foreach ($res as $vo) {
             $arr[$vo['id']] = $vo['value'];
         }
     }
     foreach (I('value') as $key => $val) {
         if ($arr[$key] != $val) {
             $data['value'] = $val;
             $condition['id'] = $key;
             $this->model->table('touch_shop_config')->data($data)->where($condition)->update();
         }
     }
     /* 处理上传文件 */
     $file_var_list = array();
     $res = $this->model->table('touch_shop_config')->where("parent_id > 0 AND type = 'file'")->select();
     if (is_array($res)) {
         foreach ($res as $vo) {
             $file_var_list[$vo['code']] = $vo;
         }
     }
     foreach ($_FILES as $code => $file) {
         /* 判断用户是否选择了文件 */
         if (isset($file['error']) && $file['error'] == 0 || !isset($file['error']) && $file['tmp_name'] != 'none') {
             /* 检查上传的文件类型是否合法 */
             if (!check_file_type($file['tmp_name'], $file['name'], $allow_file_types)) {
                 $this->message(sprintf(L('msg_invalid_file'), $file['name']), NULL, 'error');
             } else {
                 if ($code == 'shop_logo') {
                     $info = get_template_info(C('template'));
                     $info['logo'] = empty($info['logo']) ? 'logo.png' : $info['logo'];
                     $file_name = str_replace('{$template}', C('template'), $file_var_list[$code]['store_dir']) . $info['logo'];
                 } elseif ($code == 'watermark') {
                     $name = explode('.', $file['name']);
                     $ext = array_pop($name);
                     $file_name = $file_var_list[$code]['store_dir'] . 'watermark.' . $ext;
                     if (file_exists($file_var_list[$code]['value'])) {
                         @unlink($file_var_list[$code]['value']);
                     }
                 } elseif ($code == 'no_picture') {
                     $name = explode('.', $file['name']);
                     $ext = array_pop($name);
                     $file_name = $file_var_list[$code]['store_dir'] . 'no_picture.' . $ext;
                     if (file_exists($file_var_list[$code]['value'])) {
                         @unlink($file_var_list[$code]['value']);
                     }
                 } else {
                     $file_name = $file_var_list[$code]['store_dir'] . $file['name'];
                 }
                 /* 判断是否上传成功 */
                 if (move_upload_file($file['tmp_name'], $file_name)) {
                     $data2['value'] = __ROOT__ . str_replace(array('./', '../'), '/', $file_name);
                     $this->model->table('touch_shop_config')->data($data2)->where("code = '{$code}'")->update();
                 } else {
                     $this->message(sprintf(L('msg_upload_failed'), $file['name'], $file_var_list[$code]['store_dir']), NULL, 'error');
                 }
             }
         }
     }
     /* 处理发票类型及税率 */
     $invoice_rate = I('invoice_rate');
     if (!empty($invoice_rate)) {
         foreach ($invoice_rate as $key => $rate) {
             $rate = round(floatval($rate), 2);
             if ($rate < 0) {
                 $rate = 0;
             }
             I('invoice_rate.' . $key, $rate);
         }
         $invoice = array('type' => I('invoice_type'), 'rate' => I('invoice_rate'));
         $data3['value'] = serialize($invoice);
         $this->model->table('touch_shop_config')->data($data3)->where("code = 'invoice_type'")->update();
     }
     /* 清除缓存 */
     clear_all_files();
     $site_info = site_info();
     $this->cloud->data($site_info)->act('post.record');
     $this->message(L('save_success'), url('index'));
 }
Example #8
0
   <tr><th>Template Name</th>
   <th>Subject</th>
   <th>Content Excerpt</th>
   <th>Action</th></tr>
<?php 
    $templates = get_email_templates();
    $shade = false;
    foreach ($templates as $t) {
        $class = '';
        if ($shade) {
            $class = ' class="rowshade"';
            $shade = false;
        } else {
            $shade = true;
        }
        $info = get_template_info($t);
        ?>
      <tr<?php 
        echo $class;
        ?>
><td>
      <?php 
        echo $info['templatename'];
        ?>
      </td><td>
      <?php 
        echo $info['subject'];
        ?>
      </td><td>
      <?php 
        echo substr_replace($info['content'], '...', 125);
        $current_template_info = '';
    }
    if (!file_exists(SABLOG_ROOT . $template_dir . $options['templatename'] . '/screenshot.png')) {
        $current_template_info['screenshot'] = $template_dir . 'no.png';
    } else {
        $current_template_info['screenshot'] = $template_dir . $options['templatename'] . '/screenshot.png';
    }
    $dir1 = opendir(SABLOG_ROOT . $template_dir);
    $available_template_db = array();
    while ($file1 = readdir($dir1)) {
        if ($file1 != '' && $file1 != '.' && $file1 != '..' && $file1 != 'admin' && $file1 != $options['templatename']) {
            if (is_dir($template_dir . '/' . $file1)) {
                $dir2 = opendir($template_dir . '/' . $file1);
                while ($file2 = readdir($dir2)) {
                    if (is_file(SABLOG_ROOT . $template_dir . '/' . $file1 . '/' . $file2) && $file2 == 'info.txt') {
                        $available_template_db[] = get_template_info($file1 . '/' . $file2);
                    }
                }
                closedir($dir2);
            }
        }
    }
    closedir($dir1);
    unset($file1);
    $subnav = '选择模板';
}
//模板套系中的文件列表
if ($action == 'filelist') {
    require_once SABLOG_ROOT . 'include/func/attachment.func.php';
    $dir = $template_dir . $path;
    $fp = opendir($dir);
Example #10
0
function select_tpl()
{
    global $db, $tpf, $settings;
    $q = $db->query("select * from {$tpf}templates where tpl_type='user'");
    $tpl_sw = array();
    while ($rs = $db->fetch_array($q)) {
        $arr = get_template_info($rs[tpl_name]);
        $rs[tpl_title] = $arr[tpl_title];
        $rs['tpl_href'] = $settings[phpdisk_url] . '?tpl=' . $rs['tpl_name'] . '&ref=' . base64_encode($_SERVER['REQUEST_URI']);
        if ($arr[authed_tpl] == 2 || !$arr[authed_tpl]) {
            $tpl_sw[] = $rs;
        }
    }
    $db->free($q);
    unset($rs);
    return $tpl_sw;
}