69 lines
2.0 KiB
PHP
69 lines
2.0 KiB
PHP
|
<?php
|
|||
|
defined('IN_MET') or exit ('No permission');
|
|||
|
|
|||
|
load::sys_class('admin');
|
|||
|
load::sys_class('nav.class.php');
|
|||
|
load::sys_func('file');
|
|||
|
|
|||
|
//需要手动安装,或者发给客户自己手动安装时请将标记① ②的注释去掉
|
|||
|
class install extends admin //①
|
|||
|
{
|
|||
|
|
|||
|
private $no; //应用NO值
|
|||
|
private $m_name = 'apptool'; //应用文件
|
|||
|
private $ver = '1.0'; //应用文件
|
|||
|
|
|||
|
public function __construct() {//②
|
|||
|
global $_M;
|
|||
|
parent::__construct();
|
|||
|
}
|
|||
|
|
|||
|
//安装应用
|
|||
|
public function dosql() {
|
|||
|
global $_M;
|
|||
|
$where = "m_name='{$this->m_name}'";
|
|||
|
if($this->sqlone('applist',$where) != false){
|
|||
|
echo '请勿重复安装';
|
|||
|
return '请勿重复安装';
|
|||
|
exit;
|
|||
|
}
|
|||
|
do{
|
|||
|
$this->no = mt_rand(2001,9999);
|
|||
|
$stall = $this->sqlone('applist');
|
|||
|
} while ($stall != false);
|
|||
|
|
|||
|
//开始执行程序[需要的东西可以在下面执行了]
|
|||
|
$this->appsql();
|
|||
|
echo '安装成功';
|
|||
|
return '安装成功';
|
|||
|
}
|
|||
|
|
|||
|
//执行APP相关的表数据插入
|
|||
|
private function appsql() {
|
|||
|
global $_M;
|
|||
|
|
|||
|
//注册应用
|
|||
|
$updatetime = time();
|
|||
|
$field = "no='{$this->no}',ver='{$this->ver}',m_name='{$this->m_name}',m_class='application',m_action='doindex',appname='应用安装助手',info='应用开发必备工具!能够快速安装应用,不必每次都要拼写安装URL进行安装。',addtime='{$updatetime}'";
|
|||
|
$this->addsql('applist',$field);
|
|||
|
}
|
|||
|
|
|||
|
//公共查询方法
|
|||
|
private function sqlone($tname,$where = '') {
|
|||
|
global $_M;
|
|||
|
$table = $_M['table'][$tname];
|
|||
|
if(!$where){
|
|||
|
$where = "no='{$this->no}'";
|
|||
|
}
|
|||
|
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}");
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
?>
|