✏️ 正在编辑: Layouts.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/application/models/Layouts.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php use \Modules\Gatekeeper\Service\Gatekeeper as Gatekeeper; class Model_Layouts { private $_id; private $_descricao; private $_bancoId; private $_tipoLayout; private $_produtoDescricao; public function getId() { return $this->_id; } public function getDescricao() { return $this->_descricao; } public function getBancoId() { return $this->_bancoId; } public function setId($id) { $this->_id = $id; } public function setDescricao($descricao) { $this->_descricao = $descricao; } public function setBancoId($bancoId) { $this->_bancoId = $bancoId; } public function getTipoLayout() { return $this->_tipoLayout; } public function setTipoLayout($tipoLayout) { $this->_tipoLayout = $tipoLayout; } public function getProdutoDescricao() { return $this->_produtoDescricao; } public function setProdutoDescricao($produtoDescricao) { $this->_produtoDescricao = $produtoDescricao; } public function __construct($options = null) { if( is_array($options) ){ $this->setOptions($options); } } public function setOptions(array $options) { $methods = get_class_methods($this); foreach ( $options as $key => $value ) { $explode = explode('_', $key); $methodName = ''; foreach ( $explode as $v ) { $methodName .= ucfirst($v); } $key = $methodName != '' ? $methodName : $key; $method = 'set' . ucfirst($key); if( in_array($method, $methods) ){ $this->$method($value); } } return $this; } public function _toArray() { $dbtable = new Model_DbTable_Layouts(); $info = $dbtable->info(); $methods = get_class_methods($this); $data = array(); foreach ( $info['cols'] as $key ) { $col = $key; $explode = explode('_', $key); $methodName = ''; foreach ( $explode as $v ) { $methodName .= ucfirst($v); } $key = $methodName != '' ? $methodName : $key; $method = 'get' . ucfirst($key); if( in_array($method, $methods) ){ $data[$col] = $this->$method(); } } return $data; } /** * Insere ou altera o registro passado por parâmetro * @param Model_Layouts $layoutBanco */ public function salvar(Model_Layouts $layoutBanco) { $dbtable = new Model_DbTable_Layouts(); if ($layoutBanco->getId() > 0) { $dbtable->update($layoutBanco->_toArray(), "id = " . $layoutBanco->getId()); return $layoutBanco->getId(); } Gatekeeper::limiteLayoutProprio($layoutBanco->getTipoLayout()); return $dbtable->insert($layoutBanco->_toArray()); } /** * Exclui o registro passado por parâmetro * @param int $id * @return int The number of rows deleted */ public function excluir($id) { $result = ['error' => 'Registro não localizado.']; if ($id > 0) { $dbtable = new Model_DbTable_Layouts(); $result = $dbtable->delete('id = ' . $id); if ($result) { $dbtableLetras = new Model_DbTable_LayoutsLetras(); $dbtableLetras->delete(["layout_id = ?" => $id]); $result = ['success' => 'Registro excluído com sucesso.']; } else { $result = ['alert' => 'Nenhum registro foi excluído.']; } } return $result; } /** * Retorna uma lista * @param string $where * @param string $order * @param int $count * @param int $offset * @return array */ public function listar($fields = null, $order = null) { $params = ["l.tipo_layout = '{$fields['tipo_layout']}'"]; $where = null; if( isset($fields['descricao']) && !empty($fields['descricao']) ){ $params[] = "l.descricao LIKE '%" . $fields['descricao'] . "%'"; } if( isset($fields['banco_id']) && !empty($fields['banco_id']) ){ $params[] = "l.banco_id = '" . $fields['banco_id'] . "'"; } if( count($params) > 0 ){ $where = implode(' AND ', $params); } $dbtable = new Model_DbTable_Layouts(); return $dbtable->listarTodos($where, $order); } /** * Retorna um fetchRow do item passado por parâmetro * @param int $id * @return Zend_Db_Table_Row_Abstract | null */ public function exibir($id) { $dbtable = new Model_DbTable_Layouts(); return $dbtable->fetchRow('id = ' . $id); } public function getLayoutLetras($layoutId) { if (empty($layoutId)) { throw new Core_Exception("Nenhum layout informado"); } $dbtable = new Model_DbTable_Layouts(); $select = $dbtable->getAdapter()->select()->from(['layouts' => 'tb_layouts'], ['banco_id']) ->joinInner(['layouts_letra' => 'tb_layouts_letras'], 'layouts_letra.layout_id = layouts.id', ['campo', 'letra', 'atualizar_campo']) ->where("layouts.id = '{$layoutId}' AND layouts.excluido <> 1 AND layouts_letra.excluido <> 1"); return $dbtable->getAdapter()->fetchAll($select, '', Zend_Db::FETCH_OBJ); } }
💾 保存文件
← 返回文件管理器