<?php

//============================================================
//------------------------------------------------------------
/* 
在ecshop模板中写php代码

有这行代码不可以在模板中写php文件,在 includes/cls_template.php 删除下面这行
$source = preg_replace("/<\?[^><]+\?>|<\%[^><]+\%>|<script[^>]+language[^>]*=[^>]*php[^>]*>[^><]*<\/script\s*>/iU", "", $source);
*/
//============================================================
//---------------------ECS类的操作方法-----------------------

//文件目录 ecshop/includes/cls_ecshop.php

/**
 * 构造函数
 *
 * @access  public
 * @param   string      $ver        版本号
 * @return  void
 */
function ECS($db_name, $prefix);


/**
 * 将指定的表名加上前缀后返回
 *
 * @access  public
 * @param   string      $str        表名
 * @return  string
 */
function table($str);


/**
 * ECSHOP 密码编译方法;
 *
 * @access  public
 * @param   string      $pass       需要编译的原始密码
 * @return  string
 */
function compile_password($pass);


/**
 * 取得当前的域名
 *
 * @access  public
 * @return  string      当前的域名
 */
function get_domain();


/**
 * 获得 ECSHOP 当前环境的 URL 地址
 *
 * @access  public
 * @return  void
 */
function url();



/**
 * 获得 ECSHOP 当前环境的 HTTP 协议方式
 *
 * @access  public
 * @return  void
 */
function http();


/**
 * 获得数据目录的路径
 *
 * @param int $sid
 * @return string 路径
 */
function data_dir($sid = 0);


/**
 * 获得图片的目录路径
 *
 * @param int $sid
 * @return string 路径
 */
function image_dir($sid = 0);

//============================================================
//-----------------------数据库操作类------------------------
// ecshop/includes/cls_mysql.php

// ecshop的数据库类实例子化对象为$db;
// 表的实例化对象为$ecs

// 数据缓存目录 "temp/query_caches/"


$GLOBALS['db'];			//全局数据库实例化类


/**
* 获取所有数据
* @param String $sql sql
*/
$db -> getAll();


/**
* 获取一行数据
* @param String $sql sql语句  $sql = "SELECT email FROM ecs_admin_user WHERE user_id = 4";  
*/
function getRow($sql, $limited = false);


/**
* 获取一列值
* @param String $sql sql语句 select user from user;
*/
function getCol($sql);


/**
* 获取数据并分页
* @param String $sql sql语句
* @param int $firstRow
* @param int $Rowlist
*/
$db -> selectLimit($sql ,$firstRow,$Rowlist);


/**
* 插入和更新操作
* @param string $table		 	数据表
* @param Array  $field_values	array(“user” => “buxuan”) 健值对 array('字段' => '字段值')
* @param String $mode 			INSERT 或 UPDATE
* @param String $where 			where条件
* @param String $querymode 		SILENT
*/
function autoExecute($table, $field_values, $mode = 'INSERT', $where = '', $querymode = '');


/**
* 获取单个数据,注意表前缀
* @param string $sql sql语句
*/
$sql = "select user_name from".$ecs->table('users')." where user_id = 1";
$name = $db -> getOne($sql);


/**
* 执行sql语句
* @param String $sql sql语句
*/
$db -> query($sql);


/**
* 返回上一次插入数据的id
* @return int 插入id
*/
function insert_id();

//============================================================
//----------------------常见函数所在位置---------------------

/**
 * 判断管理员对某一个操作是否有权限。
 *
 * 根据当前对应的action_code,然后再和用户session里面的action_list做匹配,以此来决定是否可以继续执行。
 * @param     string    $priv_str    操作对应的 priv_str
 * @param     string    $msg_type       返回的类型
 * @return true/false
 */
function admin_priv($priv_str, $msg_type = '' , $msg_output = true);


/**
 * 系统提示信息
 *
 * @access      public
 * @param       string      msg_detail      消息内容
 * @param       int         msg_type        消息类型, 0消息,1错误,2询问
 * @param       array       links           可选的链接 $link[] = array('href' => 'one.php', 'text' => $_LANG['item_list']);
 * @param       boolen      $auto_redirect  是否需要自动跳转
 * @return      void
 */
function sys_msg($msg_detail, $msg_type = 0, $links = array(), $auto_redirect = true);
//============================================================
//----------------------添加后台菜单-------------------------
/* 
添加主菜单:

在 languages\zh_cn\admin\common.php 中
找到 “菜单分类部分” 添加如下数组
$_LANG['17_attachment'] = '附件管理';
数组名称中 17代表菜单排序 attachment 是任意名称


添加子菜单:

在文件末尾添加如下数组
$_LANG['01_attachment_list'] = '附件管理';
$_LANG['02_attachment_add'] = '添加附件';
数组名称中的 01 代表子菜单顺序后面任意


添加菜单请求的地址:

在 admin\includes\inc_menu.php 中的文件末尾添加
$modules['17_attachment']['02_attachment_list'] = 'attachment.php?act=list';
$modules['17_attachment']['03_attachment_add'] = 'attachment.php?act=add';
$modules['主菜单名']['子菜单名']



将新加的菜单显示到权限分配中:

languages\zh_cn\admin\priv_action.php 
在 “权限管理的一级分组” 下添加:
$_LANG['attachment'] = '附件管理';
在末尾添加:
$_LANG['attachment_list']    = '附件列表';
$_LANG['attachment_add']  = '添加附件';

在表 ecs_admin_action 里面添加三条数据
id  parent_id       action_code
136 0               attachment          主菜单
137 136             attachment_list     子菜单
138 136             attachment_add      子菜单

添加权限对照表:
在 admin\includes\inc_priv.php 的末尾添加
$purview['attachment']        = array('attachment_list','attachment_add');
$purview['01_attachment_list']        = 'attachment_list';
$purview['02_attachment_add']        = 'attachment_add';

 */
//============================================================
//------------------------新建模板----------------------------
// 1.在 themes 目录中建立一个任意名称文件夹

/*
 2.在这个文件夹中建立名为 style.css 文件,并在文件的开头放入
如下内容。
*/
/*
Template Name: 模板名称
Template URI: 模板链接地址
Description: 模板的描述
Version: 模板的版本号
Author: 模板作者
Author URI: 作者url
Logo filename: images目录下logo文件名
*/

/* 3.在此文件夹中建立 images 文件夹,放入模板预览图文件,
名称为:screenshot.png 大小:200x150 */

/* 4.在此文件夹中建立 library 目录,用于存放公共模板文件
模板文件默认为dwt后缀 */

/* 5.在此文件夹中建立index.dwt等模板文件 */
//============================================================
//---------------------主要目录结构--------------------------
/* admin	后台功能
    ---templates 后台模板
data    上传文件、SQL备份文件、配置项
    ---sqldata 数据库备份文件
    ---config.php 配置文件
includes 公用的类库和函数
languages 语言目录
    ---zh_cn
	---common.php公用语言文件
themes 网站模板文件夹
 */
//============================================================
//------------------------------------------------------------