From 4b2a57f56ead7b8a1f97cc70a14f2b6351841ce6 Mon Sep 17 00:00:00 2001 From: wangchunsheng Date: Sat, 17 Apr 2010 06:07:11 +0000 Subject: [PATCH] * change the logic when install. --- module/install/control.php | 5 ++--- module/install/model.php | 31 ++++++++++++++++++------------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/module/install/control.php b/module/install/control.php index b1c8f10694..a73374c7ba 100644 --- a/module/install/control.php +++ b/module/install/control.php @@ -23,8 +23,6 @@ */ class install extends control { - const VERSION = '1.0beta'; - /* 构造函数,检查是否是通过安装入口调用。*/ public function __construct() { @@ -98,9 +96,10 @@ class install extends control { $this->install->grantPriv(); if(dao::isError()) die(js::error(dao::getError())); - $this->loadModel('upgrade')->updateVersion(self::VERSION); + $this->loadModel('upgrade')->updateVersion($this->config->version); echo (js::alert($this->lang->install->success)); unset($_SESSION['installing']); + session_destroy(); die(js::locate('index.php', 'parent')); } diff --git a/module/install/model.php b/module/install/model.php index f9a351af7e..d312baacad 100644 --- a/module/install/model.php +++ b/module/install/model.php @@ -224,21 +224,26 @@ class installModel extends model public function grantPriv() { if($this->post->password == '') die(js::error($this->lang->install->errorEmptyPassword)); - $admin->account = $this->post->account; - $admin->realname = $this->post->account; - $admin->password = md5($this->post->password); - $this->dao->replace(TABLE_USER)->data($admin)->autoCheck()->check('account', 'notempty')->exec(); + + /* 先插入公司。*/ + $company->name = $this->post->company; + $company->pms = $this->post->pms; + $company->admins = ",{$this->post->account},"; + $this->dao->insert(TABLE_COMPANY)->data($company)->autoCheck()->batchCheck('name, pms', 'notempty')->check('pms', 'unique')->exec(); + if(!dao::isError()) { - $company->name = $this->post->company; - $company->pms = $this->post->pms; - $company->admins = ",$admin->account,"; - $this->dao->replace(TABLE_COMPANY)->data($company)->autoCheck()->batchCheck('name, pms', 'notempty')->exec(); - if(!dao::isError()) - { - $companyID = $this->dbh->lastInsertID(); - $this->dao->update(TABLE_USER)->set('company')->eq($companyID)->where('account')->eq($admin->account)->limit(1)->exec(); - } + /* 设置管理员。*/ + $companyID = $this->dbh->lastInsertID(); + $admin->account = $this->post->account; + $admin->realname = $this->post->account; + $admin->password = md5($this->post->password); + $admin->company = $companyID; + $this->dao->insert(TABLE_USER)->data($admin)->autoCheck()->check('account', 'notempty')->exec(); + + /* 更新group和group表的company字段。*/ + $this->dao->update(TABLE_GROUP)->set('company')->eq($companyID)->exec($autoCompany = false); + $this->dao->update(TABLE_GROUPPRIV)->set('company')->eq($companyID)->exec($autoCompany = false); } } }