| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 | <?php namespace Manage\Api\Page;use Dever;use Manage\Lib\Page;# 操作class Oper extends Page{    public function __construct()    {        parent::__construct('oper');        $this->id = Dever::input('id');        if (!$this->id) {            Dever::error('无效数据');        }        $this->checkFunc();    }    # 更改某个字段的值    public function up_commit(){}    public function up()    {        $input = Dever::input();        $field = explode(',', Dever::input('field'));        foreach ($field as $k => $v) {            if (isset($input[$v]) && $value = $input[$v]) {                if (is_array($value)) {                    $value = implode(',', $value);                }                $data[$v] = $value;            }        }        if (isset($this->config['up_start']) && $this->config['up_start']) {            list($this->id, $data) = Dever::call($this->config['up_start'], array($this->id, $data));        }        $where['id'] = array('in', $this->id);        $state = $this->db->update($where, $data);        if ($state) {            if (isset($this->config['up_end']) && $this->config['up_end']) {                Dever::call($this->config['up_end'], array($this->id, $data));            }            return '操作成功';        } else {            Dever::error('操作失败');        }    }    # 删除 删除到回收站    public function recycle_commit(){}    public function recycle()    {        $where['id'] = array('in', $this->id);        $data = $this->db->select($where);        if ($data) {            foreach ($data as $k => $v) {                $insert['table'] = $this->db->config['load'];                $insert['table_id'] = $v['id'];                $insert['content'] = Dever::json_encode($v);                $state = Dever::db('manage/recycler')->insert($insert);                if (!$state) {                    Dever::error('删除失败,请重试');                }                $state = $this->db->delete($v['id']);                if (!$state) {                    Dever::error('删除失败,请重试');                }            }        }        return '操作成功';    }    # 从回收站恢复    public function recover_commit(){}    public function recover()    {        $where['id'] = array('in', $this->id);        $data = $this->db->select($where);        if ($data) {            foreach ($data as $k => $v) {                $v['content'] = Dever::json_decode($v['content']);                $state = Dever::db($v['table'])->insert($v['content']);                if (!$state) {                    Dever::error('恢复失败,请重试');                }                $state = $this->db->delete($v['id']);                if (!$state) {                    Dever::error('恢复失败,请重试');                }            }        }        return '操作成功';    }    # 直接删除    public function delete_commit(){}    public function delete()    {        $where['id'] = array('in', $this->id);        $state = $this->db->delete($where);        if (!$state) {            Dever::error('删除失败,请重试');        }        return '操作成功';    }}
 |