metremark/admin/install.class.php

106 lines
3.4 KiB
PHP

<?php
defined('IN_MET') or exit ('No permission');
//2.0
class install
{
private $appno;
private $appver;
private $m_name;
private $m_class;
private $m_action;
private $appname;
private $info;
private $depend;
private $target;
private $display;
private $mlangok;
public function __construct() {
global $_M;
do{
$this->appno = mt_rand(2001,9999); //应用编号
} while (self::sqlone('applist') != false);
$this->appver = '1.0'; //应用版本号
$this->m_name = 'metremark';
$this->m_class = 'index';
$this->m_action = 'doindex';
$this->appname = 'Remark UI 融入米拓'; //应用名称
$this->info = 'Remark UI 融入米拓调试测试页面'; //应用描述
$this->depend = ''; //应用依赖
$this->target = 1; //是否支新窗口打开
$this->display = 1; //是否显示应用图标
$this->mlangok = 1; //是否支持多语言
}
//安装主方法
public function dosql() {
global $_M;
$stall = self::sqlone('applist'," m_name='{$this->m_name}' ");
if(!$stall){
//系统表
self::appsql();
}else{
}
return 'complete';
}
//执行APP相关的表数据插入
private function appsql() {
global $_M;
$time = time();
//注册应用
$field = "
`no`='{$this->appno}',
`ver` = {$this->appver},
`m_name` = '{$this->m_name}',
`m_class`='{$this->m_class}',
`m_action`='{$this->m_action}',
`appname`='{$this->appname}',
`info`='{$this->info}',
`addtime`='{$time}',
`updatetime`='{$time}',
`target`='{$this->target}',
`display`='{$this->display}',
`depend`='{$this->depend}',
`mlangok`='{$this->mlangok}' ";
self::addsql('applist',$field);
/**
* 1、增加新表
* name 配置名称
* id 添加信息自动增加,
* value 配置名称值
* lang 语言[后台]
**/
$field = " `id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(150) NOT NULL,
`m_name` varchar(100) NOT NULL,
`value` text,
`lang` varchar(50) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name_lang` (`name`,`m_name`,`lang`)";
DB::query("CREATE TABLE `".$_M['config']['tablepre']."cloud_config` ( {$field} ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8");
add_table('cloud_config');
}
//公共查询方法
private function sqlone($tname,$where = '') {
global $_M;
$table = $_M['table'][$tname];
if(!$where){
$where = "no='{$this->appno}'";
}
return DB::get_one("select * from {$table} where {$where}");
}
//公共写入方法
private function addsql($tname,$field = '') {
global $_M;
$table = $_M['table'][$tname];
DB::query("INSERT INTO {$table} SET {$field}");
}
}
?>