File: /www/wwwroot/oa.sanjiangapp.com/framework/model.class.php
<?php
/**
* model类从baseModel类继承而来,每个模块的model对象从model类集成。
* 您可以对baseModel类进行扩展,扩展的逻辑可以定义在这个文件中。
*
* This model class extends from the baseModel class and extened by every module's model.
* You can extend the baseModel class by change this file.
*
* @package framework
*
* The author disclaims copyright to this source code. In place of
* a legal notice, here is a blessing:
*
* May you do good and not evil.
* May you find forgiveness for yourself and forgive others.
* May you share freely, never taking more than you give.
*/
include FRAME_ROOT . '/base/model.class.php';
class model extends baseModel
{
/**
* Delete one record.
*
* @param string $table the table name
* @param string $id the id value of the record to be deleted
* @access public
* @return void
*/
public function delete($table, $id)
{
$this->dao->update($table)->set('deleted')->eq(1)->where('id')->eq($id)->exec();
$object = trim(substr($table, strrpos($table, '_') + 1), '`');
$this->loadModel('action')->create($object, $id, 'deleted', '', $extra = ACTIONMODEL::CAN_UNDELETED);
}
/**
* Process status of an object according to its subStatus.
*
* @param string $module order | contract | purchasecontract | customer | provider | contact | leads | product | invoice | feedback
* @param object $record a record of above modules.
* @access public
* @return string
*/
public function processStatus($module, $record)
{
if(!$this->app->isBiz or empty($record->subStatus)) return zget($this->lang->$module->statusList, $record->status);
return $this->loadModel('workflowfield', 'flow')->processSubStatus($module, $record);
}
/**
* Get flow extend fields.
*
* @access public
* @return array
*/
public function getFlowExtendFields()
{
if(!$this->app->isBiz) return array();
return $this->loadModel('flow')->getExtendFields($this->app->getModuleName(), $this->app->getMethodName());
}
/**
* Check flow rule.
*
* @param object $field
* @param string $value
* @access public
* @return bool | string
*/
public function checkFlowRule($field, $value)
{
if(!$this->app->isBiz) return false;
return $this->loadModel('flow')->checkRule($field, $value);
}
/**
* Execute Hooks.
*
* @param int $objectID
* @access public
* @return void
*/
public function executeHooks($objectID)
{
if(!$this->app->isBiz) return false;
$moduleName = $this->app->getModuleName();
$methodName = $this->app->getMethodName();
$action = $this->loadModel('workflowaction', 'flow')->getByModuleAndAction($moduleName, $methodName);
if(empty($action) or $action->extensionType == 'none') return false;
$flow = $this->loadModel('workflow', 'flow')->getByModule($moduleName);
if($flow && $action) $this->loadModel('workflowhook', 'flow')->execute($flow, $action, $objectID);
}
}