86 lines
1.9 KiB
PHP
86 lines
1.9 KiB
PHP
<?php
|
|
namespace Westdc\Visual;
|
|
|
|
use Westdc\Visual\VisualListener;
|
|
|
|
class Visual
|
|
{
|
|
public $db;
|
|
|
|
function __construct($recordType)
|
|
{
|
|
$this->db = \Zend_Registry::get('db');
|
|
$Listener = new Listener();
|
|
@$this->getEventManager()->attachAggregate($Listener);
|
|
|
|
}
|
|
|
|
public function getEventManager(\Zend_EventManager_EventCollection $events = NULL)
|
|
{
|
|
if ($events !== NULL) {
|
|
$this->events = $events;
|
|
} elseif ($this->events === NULL) {
|
|
$this->events = new \Zend_EventManager_EventManager(__CLASS__);
|
|
}
|
|
return $this->events;
|
|
}
|
|
|
|
//添加
|
|
public function add($data,$id = 0)
|
|
{
|
|
$params = compact('data');
|
|
$results = $this->getEventManager()->trigger('submit.checkParam', $this, $params);
|
|
$cache_data = $results->last();
|
|
|
|
if($cache_data !== true)
|
|
{
|
|
return $cache_data;
|
|
}
|
|
|
|
$results = $this->getEventManager()->trigger('submit.processData', $this, $params);
|
|
$data = $results->last();
|
|
|
|
$dbh = new dbh();
|
|
|
|
if(empty($id))
|
|
{
|
|
$id = $dbh->insert($this->mainTable,$data,true);
|
|
|
|
if(!empty($id) && is_numeric($id))
|
|
{
|
|
$this->getEventManager()->trigger('submit.recordPosted', $this, $params);
|
|
return true;
|
|
}else{
|
|
if($id === false)
|
|
{
|
|
return '服务器开小差了,请稍后再试';
|
|
}else{
|
|
return '服务器处理中遇到错误,请联系管理员';
|
|
}
|
|
}
|
|
}//add
|
|
|
|
else{
|
|
if(!$dbh->update($this->mainTable,$data," id=$id ",true))
|
|
{
|
|
$this->getEventManager()->trigger('submit.recordChanged', $this, $params);
|
|
return "修改失败!请重试";
|
|
}else{
|
|
return true;
|
|
}
|
|
}//edit
|
|
|
|
}// add()
|
|
|
|
//删除
|
|
public function del($id)
|
|
{
|
|
if(!is_numeric($id) || empty($id) || $id< 0)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
$sql = "DELETE FROM {$this->mainTable} WHERE id=$id";
|
|
return $this->db->exec($sql);
|
|
}
|
|
} |