Files
EasySoft-ZenTaoPMS/module/admin/model.php
2012-02-20 01:43:07 +00:00

208 lines
4.7 KiB
PHP

<?php
/**
* The model file of admin module of ZenTaoPMS.
*
* @copyright Copyright 2009-2012 青岛易软天创网络科技有限公司 (QingDao Nature Easy Soft Network Technology Co,LTD www.cnezsoft.com)
* @license LGPL (http://www.gnu.org/licenses/lgpl.html)
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
* @package admin
* @version $Id$
* @link http://www.zentao.net
*/
?>
<?php
class adminModel extends model
{
/**
* The api agent(use snoopy).
*
* @var object
* @access public
*/
public $agent;
/**
* The api root.
*
* @var string
* @access public
*/
public $apiRoot;
/**
* The construct function.
*
* @access public
* @return void
*/
public function __construct()
{
parent::__construct();
$this->setAgent();
}
/**
* Set the api agent.
*
* @access public
* @return void
*/
public function setAgent()
{
$this->agent = $this->app->loadClass('snoopy');
}
/**
* Post data form API
*
* @param string $url
* @param string $formvars
* @access public
* @return void
*/
public function postAPI($url, $formvars = "")
{
$this->agent->submit($url, $formvars);
return $this->agent->results;
}
/**
* Get status of zentaopms.
*
* @access public
* @return void
*/
public function getStatOfPMS()
{
$sql = "SHOW TABLE STATUS";
$tables = $this->dbh->query($sql)->fetchALL();
}
/**
* Get state of company.
*
* @param int $companyID
* @access public
* @return void
*/
public function getStatOfCompany($companyID)
{
}
/**
* Get system info.
*
* @access public
* @return void
*/
public function getStatOfSys()
{
}
/**
* Register zentao by API.
*
* @access public
* @return void
*/
public function registerByAPI()
{
$data = urlencode(json_encode($_POST));
$apiURL = 'http://www.zentao.net/user-apiRegister.html';
$response = $this->postAPI($apiURL, $data);
switch($response)
{
case 'success':
$this->dao->insert(TABLE_CONFIG)
->set('owner')->eq($this->app->user->account)
->set('`key`')->eq('account')
->set('section')->eq('global')
->set('value')->eq($this->post->account)
->exec(false);
echo js::alert($this->lang->admin->register->notice->success);
break;
case 'failed':
echo js::alert($this->lang->admin->register->notice->failed);
break;
case 'userError':
echo js::alert($this->lang->admin->register->notice->account);
break;
case 'passwordError':
echo js::alert($this->lang->admin->register->notice->password);
break;
case 'realnameError':
echo js::alert($this->lang->admin->register->notice->realname);
break;
case 'emailError':
echo js::alert($this->lang->admin->register->notice->email);
break;
case 'notEqual':
echo js::alert($this->lang->admin->register->notice->notEqual);
break;
case 'registered':
echo js::alert($this->lang->admin->register->notice->registered);
break;
default:
echo js::alert($this->lang->admin->register->notice->failed);
}
return $response;
}
/**
* Login zentao by API.
*
* @access public
* @return void
*/
public function loginByAPI()
{
$data = urlencode(json_encode($_POST));
$apiURL = 'http://www.zentao.net/user-apiLogin.html';
$response = $this->postAPI($apiURL, $data);
switch($response)
{
case 'success':
$this->dao->insert(TABLE_CONFIG)
->set('owner')->eq($this->app->user->account)
->set('`key`')->eq('account')
->set('section')->eq('global')
->set('value')->eq($this->post->account)
->exec(false);
echo js::alert($this->lang->admin->login->notice->success);
break;
case 'userError':
echo js::alert($this->lang->admin->login->notice->account);
break;
case 'passwordError':
echo js::alert($this->lang->admin->login->notice->password);
break;
case 'failed':
echo js::alert($this->lang->admin->login->notice->failed);
break;
default:
echo js::alert($this->lang->admin->login->notice->failed);
}
return $response;
}
/**
* Get pms sn.
*
* @access public
* @return void
*/
public function getSN()
{
$sn = $this->dao->select('value')->from(TABLE_CONFIG)->where('`key`')->eq('sn')->fetch('', false);
if($sn)
{
return $sn->value;
}
else
{
return '';
}
}
}