✏️ 正在编辑: CallcenterGravacaoController.php
路径:
/srv/systems_dir/yuppiecred/application/controllers/CallcenterGravacaoController.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class CallcenterGravacaoController extends Zend_Controller_Action { public function init() { $this->_helper->layout->setLayout('layout_popup'); } /** * Listar gravações arquivadas */ public function listarGravacoesAction() { $request = $this->getRequest(); $usuario = Yuppie_Auth::getIdentity(); $dados = $request->getPost(); $dados['telefone'] = $request->getParam('telefone'); unset($dados['btn_filtrar']); if( empty($dados['ramal']) && !empty($usuario->ramal) ){ $dados['ramal'] = $usuario->ramal; } try { $repositorio = Core_Callcenter_Service_RepositorioChamadasFtp::getInstance(); $dbGravacoes = new Model_DbTable_CallcenterGravacao(); $registros = $dbGravacoes->fetchAll($dbGravacoes->getWhere($dados))->toArray(); foreach ( $registros as &$registro ) { $registro['url'] = $repositorio->getUrlPersistida($registro['arquivo']); } $this->view->registros = $registros; } catch ( Core_Exception $exc ) { $this->_helper->flashMessenger(array( 'error' => $exc->getMessage() )); } } /** * Consultar gravações no repositório ftp */ public function buscarGravacoesAction() { $request = $this->getRequest(); $form = new Form_Filtro_CallcenterGravacao(); if( $request->isPost() && $form->isValid($request->getPost()) ){ $dados = $request->getPost(); $dados['telefone'] = $request->getParam('telefone'); unset($dados['btn_filtrar']); $usuario = Yuppie_Auth::getIdentity(); if( empty($dados['ramal']) && !empty($usuario->ramal) ){ $dados['ramal'] = $usuario->ramal; } try { $repositorio = Core_Callcenter_Service_RepositorioChamadasFtp::getInstance(); $gravacoes = $repositorio->listarArquivos($dados, $usuario->id); $repositorio->close(); $this->view->gravacoes = $gravacoes; $this->view->usuario = $usuario; $this->_helper->json(array( 'readCompleted' => true , 'content' => $this->view->render('callcenter-gravacao/buscar-gravacoes-body.phtml'), 'body' => true )); } catch ( Core_Exception $exc ) { $this->_helper->json(array( 'alert' => $exc->getMessage(), 'body' => true )); } } $this->view->form = $form; } /** * Arquivar gravações */ public function arquivarGravacaoAction() { $request = $this->getRequest(); $cliente = $request->getParam('cliente_id'); $telefone = $request->getParam('telefone'); $arquivos = $request->getParam('arquivo'); $usuario = Yuppie_Auth::getIdentity(); if( !$cliente || !$arquivos ){ $this->_helper->flashMessenger(array( 'error ' => 'Cliente ou arquivo não informado' )); $this->_helper->redirector('buscar-gravacoes'); } try { $repositorio = Core_Callcenter_Service_RepositorioChamadasFtp::getInstance(); $nomesArquivo = is_array($arquivos) ? $arquivos : array( $arquivos ); $dados = $repositorio->formatarDados($nomesArquivo); $success = 0; foreach ( $dados as $dadosArquivo ) { $url = $repositorio->persistir($dadosArquivo['arquivo'], $usuario->id); if( filter_var($url, FILTER_VALIDATE_URL) ){ $model = new Model_CallcenterGravacao(array( 'cliente_id' => $cliente, 'origem' => $dadosArquivo['origem'], 'arquivo' => $dadosArquivo['arquivo'], 'telefone' => $dadosArquivo['telefone'], 'ramal' => $dadosArquivo['ramal'], 'data' => $dadosArquivo['data'], 'arquivo' => $dadosArquivo['arquivo'] )); $result = $model->salvar(); $success += $result ? 1 : 0; } } $repositorio->limparArquivosTemp($usuario->id); if( $success ){ $this->_helper->flashMessenger(array( 'success' => "Gravações arquivadas com sucesso" )); } else { $this->_helper->flashMessenger(array( 'alert' => "Falha ao salvar as gravações" )); } } catch ( Core_Exception $exc ) { $this->_helper->flashMessenger(array( 'error' => $exc->getMessage() )); } $this->_helper->redirector("buscar-gravacoes", $request->getControllerName(), null, array( 'cliente_id' => $cliente, 'telefone' => $telefone )); } /** * Excluir gravações */ public function excluirGravacaoAction() { $request = $this->getRequest(); $id = $request->getParam('id'); $telefone = $request->getParam('telefone'); if( $id ){ try { $dbGravacoes = new Model_DbTable_CallcenterGravacao(); $dados = $dbGravacoes->fetchRow("id = $id"); $model = new Model_CallcenterGravacao($dados->toArray()); $model->delete(); $this->_helper->flashMessenger(array( "success" => "Registro excluído com sucesso" )); } catch ( Core_Exception $exc ) { $this->_helper->flashMessenger(array( "error" => $exc->getMessage() )); } } else { $this->_helper->flashMessenger(array( 'error' => 'Id inválido' )); } $this->_helper->redirector('listar-gravacoes', $request->getControllerName(), null, array( 'telefone' => $telefone )); } }
💾 保存文件
← 返回文件管理器