Files
EasySoft-ZenTaoPMS/module/serverroom/model.php
T
2023-08-10 10:14:32 +08:00

145 lines
4.1 KiB
PHP

<?php
/**
* The model file of ops module of ZenTaoCMS.
*
* @copyright Copyright 2009-2015 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.cnezsoft.com)
* @license ZPL(http://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
* @author Jiangxiu Peng <pengjiangxiu@cnezsoft.com>
* @package ops
* @version $Id$
* @link http://www.zentao.net
*/
class serverroomModel extends model
{
/**
* Get by id.
*
* @param int $id
* @access public
* @return object
*/
public function getById($id)
{
return $this->dao->select('*')->from(TABLE_SERVERROOM)->where('id')->eq($id)->fetch();
}
/**
* Get room list.
*
* @param string $browseType
* @param int $param
* @param string $orderBy
* @param object $pager
* @access public
* @return array
*/
public function getList($browseType = 'all', $param = 0, $orderBy = 'id_desc', $pager = null)
{
$query = '';
if($browseType == 'bysearch')
{
if($param)
{
$query = $this->loadModel('search')->getZinQuery($param);
if($query)
{
$this->session->set('serverroomQuery', $query->sql);
$this->session->set('serverroomForm', $query->form);
}
else
{
$this->session->set('serverroomQuery', ' 1 = 1');
}
}
else
{
if($this->session->serverroomQuery == false) $this->session->set('serverroomQuery', ' 1 = 1');
}
$query = $this->session->serverroomQuery;
}
$serverRooms = $this->dao->select('*')->from(TABLE_SERVERROOM)
->where('deleted')->eq('0')
->beginIF($query)->andWhere($query)->fi()
->orderBy($orderBy)
->page($pager)
->fetchAll();
return $serverRooms;
}
/**
* Get server room pairs
*
* @access public
* @return array
*/
public function getPairs()
{
$stmt = $this->dao->select('*')->from(TABLE_SERVERROOM)
->where('deleted')->eq('0')
->orderBy('id_desc')
->query();
$rooms[0] = '';
while($room = $stmt->fetch())
{
$name = zget($this->lang->serverroom->cityList, $room->city) == '' ? '' : zget($this->lang->serverroom->cityList, $room->city) . ' - ';
$name .= zget($this->lang->serverroom->providerList, $room->provider) == '' ? '' : zget($this->lang->serverroom->providerList, $room->provider) . ' - ';
$name .= $room->name;
$rooms[$room->id] = $name;
}
return $rooms;
}
/**
* Create.
*
* @access public
* @return int
*/
public function create()
{
$now = helper::now();
$room = fixer::input('post')
->add('createdBy', $this->app->user->account)
->add('createdDate', $now)
->get();
$this->dao->insert(TABLE_SERVERROOM)->data($room)->autoCheck()
->batchCheck($this->config->serverroom->create->requiredFields, 'notempty')
->exec();
if(!dao::isError())
{
$roomID = $this->dao->lastInsertID();
return $roomID;
}
return false;
}
/**
* Update
*
* @param int $id
* @access public
* @return array
*/
public function update($id)
{
$oldRoom = $this->getById($id);
$now = helper::now();
$room = fixer::input('post')
->add('editedBy', $this->app->user->account)
->add('editedDate', $now)
->get();
$this->dao->update(TABLE_SERVERROOM)->data($room)->autoCheck()
->batchCheck($this->config->serverroom->edit->requiredFields, 'notempty')
->where('id')->eq($id)
->exec();
if(!dao::isError()) return common::createChanges($oldRoom, $room);
return false;
}
}