✏️ 正在编辑: EmpresaController.php
路径:
/srv/systems_dir/oakberry/application/controllers/EmpresaController.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class EmpresaController extends Yuppie_Controller_Crud { protected $title = 'Lojas'; protected $titleIcon = 'glyphicon-reg glyphicon-reg-briefcase'; protected $sideMenu = null; public function init() { $this->formFiltro = 'Form_Filtro_Empresa'; $this->formSave = 'Form_Empresa'; parent::init(); } public function saveAction() { parent::saveAction(); if ($this->getRequest()->getParam('id') > 0) { $tabs = [ 'home' => 'Identificação', 'delivery' => 'Deliverys', ]; $formDelivery = new Form_EmpresaDelivery(); $empresaId = $this->getRequest()->getParam('id'); $deliverys = Model_Container::getEmpresaDelivery()->fetchAll(['empresa_id = ?' => $empresaId]); $this->view->deliverys = $deliverys; $this->view->tab = $this->_getParam('tab', 0); $this->view->tabs = $tabs; $this->view->formDelivery = $formDelivery; } } public function qrcodeAction() { $empresaId = $this->getRequest()->getParam('id') ?: Yuppie_Auth::getIdentity()->empresa_id; $alerts = $this->getHelper('Alerts'); $empresa = Model_Container::getEmpresa()->findById($empresaId); $this->view->title = "QR-Code Whatsapp"; try { $whatsapp = \Yuppie_Service_Whatsapp_Factory::load($empresa); } catch (\Throwable $e) { $whatsapp = null; Yuppie_Log::write($e->getMessage() . $e->getTraceAsString(), $this); $alerts->addDanger($e->getMessage()); } if ($whatsapp) { try { $qrCode = $whatsapp->getQrcode(); if (!empty($qrCode['connected'])) { $alerts->addSuccess("Seu aparelho já está conectado!"); $this->render(); return; } $this->view->qrcode = $qrCode['value'] ?: null; } catch (Exception $e) { $alerts->addDanger($e->getMessage()); } } } public function saveDeliveryAction() { $alerts = $this->getHelper('Alerts'); $request = $this->getRequest(); $empresaId = $request->getParam('id'); $post = $request->getPost(); try { $model = (new Model_DbTable_EmpresaDelivery())->createRow(); $model->setFromArray($post); $save = $model->save(); if (!empty($save)) { $alerts->addSuccess("Plataforma adicionada com sucesso!"); } else { $alerts->addDanger("Houve um erro ao adicionar a plataforma!"); } } catch (Throwable $tr) { $alerts->addDanger($tr->getMessage()); } $this->_helper->redirector('save', 'empresa', null, ['id' => $empresaId, "tab" => 1]); } public function desAtivarDeliveryAction() { $request = $this->getRequest(); $params = $request->getParams(); $model = new Model_EmpresaDelivery(); try { $result = $model->desAtivarDelivery($params); if (!empty($result)) { $acao = $params['active'] == 1 ? 'Ativação' : 'Desativação'; $this->_helper->json(['success' => $acao . ' realizada com sucesso!']); } } catch (Throwable $tr) { $this->_helper->json(['error' => $tr->getMessage()]); } } public function deleteDeliveryAction() { $alerts = $this->getHelper('Alerts'); $empresaId = $this->getRequest()->getParam('empresa_id'); $deliveryId = $this->getRequest()->getParam('id'); $model = new Model_EmpresaDelivery(); try { $result = $model->excluir($deliveryId); if (!empty($result)) { $alerts->addSuccess("Excluído com sucesso!"); } } catch (Throwable $tr) { $alerts->addDanger($tr->getMessage()); } $this->_helper->redirector('save', 'empresa', null, ['id' => $empresaId, "tab" => 1]); } public function alterarPerfilAction() { $alerts = $this->getHelper('Alerts'); $request = $this->getRequest(); $empresaId = Yuppie_Auth::getIdentity()->empresa_id; $model = Model_Container::getEmpresa(); $this->view->title = "Perfil"; $request->setParam('id', $empresaId); $form = new Form_EmpresaPerfil(); if ($request->isPost() && $form->isValid($request->getPost())) { try { $result = $model->atualizar($request->getPost(), $empresaId); if ($result) { $alerts->addSuccess("Dados salvos com sucesso!"); } else { $alerts->addWarning('Nenhuma informação foi alterada.'); } } catch (Throwable $tr) { Yuppie_Log::write("Falha na alteração do perfil: " . $tr->getMessage() . $tr->getTraceAsString(), $this); $alerts->addDanger($tr->getMessage()); } } if (!empty($empresaId)) { $empresa = $model->findById($empresaId); $form->populate($empresa->toArray()); $this->view->form = $form; } } public function meuQrcodeAction() { $empresaId = $this->getRequest()->getParam('id') ?: Yuppie_Auth::getIdentity()->empresa_id; $alerts = $this->getHelper('Alerts'); $empresa = Model_Container::getEmpresa()->findById($empresaId); $this->view->title = "Baixar QR-code"; if (empty($empresa)) { $alerts->addDanger("Empresa não localizada."); $this->_helper->redirector('index', 'index', null); } $url = domain("/public/cadastro/" . $empresaId . "/3"); $qr = new Core_Qrcode(); $this->view->url_divulgacao = $url; $this->view->qrcode = $qr->gerar($url, 400, PUBLIC_PATH . "/assets/sua-marca.png"); } public function credentialsAction() { $this->_helper->layout->setLayout('layout'); $alerts = $this->getHelper('Alerts'); $this->view->title = 'Credenciais de API'; $this->view->titleIcon = 'glyphicon-reg glyphicon-reg-lock'; $request = $this->getRequest(); $dbCredential = Model_Container::getCredential(); $form = new Form_Credentials(); $modelToken = $dbCredential->findByCompanyId(Yuppie_Auth::getIdentity()->empresa_id); $apiKey = null; $clientId = null; $clientSecret = null; if ($modelToken) { $apiKey = $modelToken->api_key; if ((new DateTime())->diff((new DateTime($modelToken->data_cadastro)))->h < 1) { $clientId = $modelToken->client_id; $clientSecret = $modelToken->client_secret; } } if ($request->isPost() && $form->isValid($request->getPost())) { $model = $dbCredential->findByCompanyId(Yuppie_Auth::getIdentity()->empresa_id); if ($model && $dbCredential->delete(['id = ?' => $model->id])) { $alerts->addInfo('Credenciais revogadas com sucesso.'); } if (!empty($request->getPost('new'))) { $model = $dbCredential->createRow(); $jwt = new Core_Jwt(); $apiKey = $jwt->generateApiKey(); $clientId = $jwt->getClientId(); $clientSecret = $jwt->getClientSecret(); $model->setFromArray([ 'api_key' => $apiKey, 'client_id' => $clientId, 'client_secret' => $clientSecret ]); $id = $model->save(); if ($id) { $alerts->addSuccess('Dados salvos com sucesso.'); } } } $form->populate([ 'api_key' => $apiKey, 'client_id' => $clientId, 'client_secret' => $clientSecret ]); $this->view->form = $form; } }
💾 保存文件
← 返回文件管理器