コード例 #1
0
ファイル: Search.php プロジェクト: m3uzz/onionfw
 /**
  *
  * @param string $psQuery
  *        	- Termo de busca utilizado pelo usuário
  * @param int $pnResults
  *        	- Número de resultados retornados com o termo
  */
 public static function log($psQuery, $pnResults)
 {
     $laConfig = Config::getAppOptions();
     $laLog = $laConfig['log']['log']['search'];
     $laDb = $laConfig['db'][APP_ENV];
     if (Util::toBoolean($laLog['enable'])) {
         if ($laLog['output'] == "DB") {
             $loDb = new Adapter($laDb);
             $laColumnMap = array('timestamp' => 'dtInsert', 'priority' => 'stPriority', 'message' => 'stQuery', 'extra' => array('numResults' => 'numResults'));
             $laData = array('numResults' => $pnResults);
             $loWriter = new Writer\Db($loDb, $laLog['table'], $laColumnMap);
             $loLogger = new Logger();
             $loLogger->addWriter($loWriter);
             $loLogger->info($psQuery, $laData);
         } else {
             $laParamns['userId'] = null;
             $laParamns['query'] = $psQuery;
             $laParamns['results'] = $pnResults;
             Event::log($laParamns, Event::INFO, $laLog['fileName'], "STREAM", true);
         }
     }
 }
コード例 #2
0
ファイル: ControllerAction.php プロジェクト: m3uzz/onionfw
 /**
  * 
  */
 public function deleteAction()
 {
     $lnId = $this->request('id', null);
     if ($lnId === null) {
         return $this->redirect()->toRoute($this->_sRoute, array('action' => $this->requestPost('back', 'index')));
     }
     $loEntity = $this->getEntityManager()->find($this->_sEntity, $lnId);
     if ($loEntity) {
         if (!$loEntity->isSystem()) {
             $loEntityOriginal = clone $loEntity;
             $this->getEntityManager()->remove($loEntity);
             if ($this->entityFlush()) {
                 $lnUserId = $this->getAuthenticatedUser();
                 $laChanges = $this->checkChangeEntity($loEntityOriginal, $loEntity);
                 Event::log(array('userId' => $lnUserId, 'module' => $this->_sModule, 'action' => 'delete', 'record' => $loEntity->get('id'), 'changes' => $laChanges), 6);
                 $this->flashMessenger()->addMessage(array('id' => $this->get('_sModule') . '-' . microtime(true), 'hidden' => $this->get('_bHiddenPushMessage'), 'push' => $this->get('_bPushMessage'), 'type' => 'success', 'msg' => Translator::i18n('Registro apagado permanentemente com sucesso!')));
             }
         } else {
             $this->flashMessenger()->addMessage(array('id' => $this->get('_sModule') . '-' . microtime(true), 'hidden' => $this->get('_bHiddenPushMessage'), 'push' => $this->get('_bPushMessage'), 'type' => 'warning', 'msg' => sprintf(Translator::i18n('Ops! O registro (id=%s) não pode ser apagado, pois é um registro do sistema.'), $lnId)));
         }
     } else {
         $this->flashMessenger()->addMessage(array('id' => $this->get('_sModule') . '-' . microtime(true), 'hidden' => $this->get('_bHiddenPushMessage'), 'push' => $this->get('_bPushMessage'), 'type' => 'warning', 'msg' => sprintf(Translator::i18n('Ops! O registro (id=%s) não foi encontrado para ser apagado!'), $lnId)));
     }
     return $this->redirect()->toRoute($this->_sRoute, array('action' => $this->requestPost('back', 'index')));
 }
コード例 #3
0
ファイル: Image.php プロジェクト: m3uzz/onionfw
 /**
  * 
  * @param string $psImagem
  * @param string $psDestino
  * @param int $pnLarguraMax
  * @param int $pnAlturaMax
  * @return boolean
  */
 public static function gravarImagem($psImagem, $psDestino, $pnLarguraMax, $pnAlturaMax)
 {
     //Verificando se foi setada uma cor para preenchimento de fundo no config
     if (defined('IMAGE_BGCOLOR')) {
         $lsCorFundo = IMAGE_BGCOLOR;
     } else {
         $lsCorFundo = self::$csCorFundo;
     }
     //Verificando se foi setada a opção de esticar ou encolher imagem no config
     if (defined('IMAGE_STRETCH')) {
         $lbEsticarImagem = IMAGE_STRETCH;
     } else {
         $lbEsticarImagem = self::$cbEsticarImagem;
     }
     //Verificando se foi setada a opção de esticar ou encolher imagem no config
     if (defined('IMAGE_BORDER')) {
         $lbBorder = IMAGE_BORDER;
     } else {
         $lbBorder = self::$cbBorder;
     }
     Debug::debug("Cor de fundo: " . $lsCorFundo);
     Debug::debug("Esticar: " . $lbEsticarImagem);
     Debug::debug("Borda: " . $lbBorder);
     //Extraindo a extensão do nome da imagem
     $lsTipo = substr($psImagem, -3, 3);
     $lsTipo = strtolower($lsTipo);
     //Verificando qual o tipo da imagem e utilizando sua função específica de carregamento
     if ($lsTipo == "jpg" || $lsTipo == "peg") {
         $lrImg2 = ImageCreateFromJpeg($psImagem);
     } else {
         if ($lsTipo == "gif") {
             $lrImg2 = ImageCreateFromGif($psImagem);
         }
     }
     if ($lsTipo == "png") {
         $lrImg2 = ImageCreateFromPng($psImagem);
     }
     Debug::debug("Tipo: " . $lsTipo);
     //Se a imagem tiver sido carregada com sucesso, deve continuar o tratamento
     if (!empty($lrImg2)) {
         //Recuperando as dimensões da imagem
         $lnAlturaReal = ImageSY($lrImg2);
         $lnLarguraReal = ImageSX($lrImg2);
         if ($pnLarguraMax == "" || $pnLarguraMax == 0) {
             $lnLarguraMax = $lnLarguraReal;
         } else {
             $lnLarguraMax = $pnLarguraMax;
         }
         if ($pnAlturaMax == "" || $pnAlturaMax == 0) {
             $lnAlturaMax = $lnAlturaReal;
         } else {
             $lnAlturaMax = $pnAlturaMax;
         }
         //Criando um handle para tratamento da imagem nas dimensões da mesma
         $lrImg = imagecreatetruecolor($lnLarguraMax, $lnAlturaMax);
         //Explodindo definições de cor de fundo para pegar separadamente cada camada
         $laCorFundo = explode(',', $lsCorFundo);
         //Inicializando novas dimenções da imagem a partir da dimensão atual
         $lnAlturaNova = $lnAlturaReal;
         $lnLarguraNova = $lnLarguraReal;
         if ($lbBorder && !empty($pnAlturaMax) && !empty($pnLarguraMax)) {
             Debug::debug("com borda");
             //Se a imagem puder ser esticada proporcionalmente
             if ($lbEsticarImagem) {
                 //Se a largura atual ou nova for menor que a largura Máxima ou ideal
                 if ($lnLarguraNova < $lnLarguraMax) {
                     Debug::debug("esticando largura");
                     //A altura deve aumentar proporcionalmente em relação a largura máxima ou ideal
                     $lnAlturaNova = $lnLarguraMax * ($lnAlturaNova / $lnLarguraNova);
                     $lnLarguraNova = (int) $lnLarguraMax;
                     //Aumenta para a largura máxima
                     $lnAlturaNova = (int) $lnAlturaNova;
                     //Aumenta para a altura máxima
                 }
             }
             //Se a altura atual ou nova for maior que altura máxima
             if ($lnAlturaNova > $lnAlturaMax) {
                 Debug::debug("reduzindo altura");
                 //A largura deve diminuir proporcionalmente em relação a altura máxima ou ideal
                 $lnLarguraNova = $lnAlturaMax * ($lnLarguraNova / $lnAlturaNova);
                 $lnAlturaNova = (int) $lnAlturaMax;
                 //Diminui para a altura máxima
                 $lnLarguraNova = (int) $lnLarguraNova;
                 //Diminui para nova largura
             }
             //Se a largura atual ou nova for maior que a largura máxima
             if ($lnLarguraNova > $lnLarguraMax) {
                 Debug::debug("reduzindo largura");
                 //A altura deve diminuir proporcionalmente em relação a largura máxima ou ideal
                 $lnAlturaNova = $lnLarguraMax * ($lnAlturaNova / $lnLarguraNova);
                 $lnLarguraNova = (int) $lnLarguraMax;
                 //Diminui para a largura máxima
                 $lnAlturaNova = (int) $lnAlturaNova;
                 //Diminui para a nova altura
             }
         } else {
             Debug::debug("sem borda");
             Debug::debug($lnAlturaNova . ">" . $lnAlturaMax);
             //Se a altura atual ou nova for maior que altura máxima
             if ($lnAlturaNova > $lnAlturaMax) {
                 Debug::debug("reduzindo altura");
                 //A largura deve diminuir proporcionalmente em relação a altura máxima ou ideal
                 $lnLarguraNova = $lnAlturaMax * ($lnLarguraNova / $lnAlturaNova);
                 $lnAlturaNova = (int) $lnAlturaMax;
                 //Diminui para a altura máxima
                 $lnLarguraNova = (int) $lnLarguraNova;
                 //Diminui para nova largura
             }
             Debug::debug($lnLarguraNova . ">" . $lnLarguraMax);
             //Se a largura atual ou nova for maior que a largura máxima
             if ($lnLarguraNova > $lnLarguraMax) {
                 Debug::debug("reduzindo largura");
                 //A altura deve diminuir proporcionalmente em relação a largura máxima ou ideal
                 $lnAlturaNova = $lnLarguraMax * ($lnAlturaNova / $lnLarguraNova);
                 $lnLarguraNova = (int) $lnLarguraMax;
                 //Diminui para a largura máxima
                 $lnAlturaNova = (int) $lnAlturaNova;
                 //Diminui para a nova altura
             }
             //Se a imagem puder ser esticada proporcionalmente
             if ($lbEsticarImagem) {
                 //Se a largura atual ou nova for menor que a largura Máxima ou ideal
                 if ($lnLarguraNova < $lnLarguraMax) {
                     Debug::debug("esticando largura");
                     //A altura deve aumentar proporcionalmente em relação a largura máxima ou ideal
                     $lnAlturaNova = $lnLarguraMax * ($lnAlturaNova / $lnLarguraNova);
                     $lnLarguraNova = (int) $lnLarguraMax;
                     //Aumenta para a largura máxima
                     $lnAlturaNova = (int) $lnAlturaNova;
                     //Aumenta para a altura máxima
                 }
                 //Se a altura atual ou nova for menor que a altura Máxima ou ideal
                 if ($lnAlturaNova < $lnAlturaMax) {
                     Debug::debug("esticando altura");
                     //A largura deve aumentar proporcionalmente em relação a altura máxima ou ideal
                     $lnLarguraNova = $lnAlturaMax * ($lnLarguraNova / $lnAlturaNova);
                     $lnAlturaNova = (int) $lnAlturaMax;
                     //Aumenta para a altura máxima
                     $lnLarguraNova = (int) $lnLarguraNova;
                     //Aumenta para nova largura
                 }
             }
         }
         //Centralizando imagem dentro do frame
         $lnPosX = ($lnLarguraMax - $lnLarguraNova) / 2;
         $lnPosY = ($lnAlturaMax - $lnAlturaNova) / 2;
         Debug::debug("Dimensão Original: " . $lnLarguraReal . "x" . $lnAlturaReal);
         Debug::debug("Dimensão Nova: " . $lnLarguraNova . "x" . $lnAlturaNova);
         if ($lsTipo == "png") {
             Debug::debug("criando png");
             //Ativa a camada de transparência para a imagem
             imagealphablending($lrImg, true);
             //Aloca a cor transparente e preenche a nova imagem com isto.
             //Sem isto a imagem vai ficar com fundo preto ao invés de transparente.
             $loTransparent = imagecolorallocatealpha($lrImg, 0, 0, 0, 127);
             imagefill($lrImg, 0, 0, $loTransparent);
             //copia o frame na imagem final
             imagecopyresampled($lrImg, $lrImg2, $lnPosX, $lnPosY, 0, 0, $lnLarguraNova, $lnAlturaNova, $lnLarguraReal, $lnAlturaReal);
             imagealphablending($lrImg, false);
             //Salva a camada alpha (transparência)
             imagesavealpha($lrImg, true);
         } elseif ($lsTipo == "gif") {
             Debug::debug("criando gif");
             //redimencionando a imagem e criando a imagem final
             imagecopyresized($lrImg, $lrImg2, $lnPosX, $lnPosY, 0, 0, $lnLarguraNova, $lnAlturaNova, $lnLarguraReal, $lnAlturaReal);
         } else {
             Debug::debug("criando jpg");
             //definindo a cor de fundo da imagem e preenchendo a camada
             $lrFundo = imagecolorallocate($lrImg, $laCorFundo[0], $laCorFundo[1], $laCorFundo[2]);
             imagefill($lrImg, 0, 0, $lrFundo);
             //redimencionando a imagem e criando a imagem final
             imagecopyresized($lrImg, $lrImg2, $lnPosX, $lnPosY, 0, 0, $lnLarguraNova, $lnAlturaNova, $lnLarguraReal, $lnAlturaReal);
         }
         if ($lsTipo == "jpg" || $lsTipo == "peg") {
             //header("Content-Type: image/jpeg");
             if (!imagejpeg($lrImg, $psDestino)) {
                 Event::log(array("userId" => null, "class" => "Image", "method" => "gravarImagem", "msg" => "Create image JPG failed!"), Event::ERR);
                 Debug::debug("Create image JPG failed!");
             }
         } else {
             if ($lsTipo == "gif") {
                 //header("Content-Type: image/gif");
                 if (!imagegif($lrImg, $psDestino)) {
                     Event::log(array("userId" => null, "class" => "Image", "method" => "gravarImagem", "msg" => "Create image GIF failed!"), Event::ERR);
                     Debug::debug("Create image GIF failed!");
                 }
             } else {
                 if ($lsTipo == "png") {
                     //header("Content-Type: image/png");
                     if (!imagepng($lrImg, $psDestino)) {
                         Event::log(array("userId" => null, "class" => "Image", "method" => "gravarImagem", "msg" => "Create image PNG failed!"), Event::ERR);
                         Debug::debug("Create image PNG failed!");
                     }
                 }
             }
         }
         imagedestroy($lrImg);
         return true;
     } else {
         Event::log(array("userId" => null, "class" => "Image", "method" => "gravarImagem", "msg" => "Image truncated!"), Event::ERR);
         Debug::debug("Image truncated!");
         return false;
     }
 }
コード例 #4
0
ファイル: Util.php プロジェクト: m3uzz/onionfw
 /**
  * Retorna a Mensagem no padrão da Aplicação
  *
  * @param string $psLabel        	
  * @param string $psType        	
  * @return object encode json
  */
 public static function getMessage($psLabel, $psType, $paParams = null)
 {
     try {
         switch (strtoupper($psType)) {
             case 'ERROR':
             case 'SUCCESS':
             case 'NOTLOGED':
             case 'FORBIDDEN':
                 if (strtoupper($psType) != 'SUCCESS') {
                     Event::log(array("userId" => null, "class" => "Util", "method" => "getMessage", 'Mensagem' => $psLabel, 'Tipo' => strtoupper($psType)), Event::ERR);
                 }
                 $mensagem = Json::encode(array('mensagem' => array('label' => $psLabel, 'type' => strtoupper($psType), 'params' => $paParams)));
                 break;
             default:
                 throw new Exception("Tipo de mensagem " . $psType . " não está definido!");
                 break;
         }
         return $mensagem;
     } catch (Zend_Exception $e) {
         die($e->__toString());
     }
 }
コード例 #5
0
ファイル: UserController.php プロジェクト: m3uzz/module
 /**
  * 
  * @return \Onion\Mvc\Controller\unknown
  */
 public function changePhoneExtensionAction()
 {
     $this->_sWindowType = $this->request('w', 'default');
     $this->_bPushMessage = true;
     $lnUserId = $this->getAuthenticatedUser();
     if ($lnUserId === null) {
         return $this->redirect()->toRoute('Access');
     }
     $loEntity = $this->getEntityManager()->find($this->_sEntity, $lnUserId);
     $loEntity->getObject();
     $loForm = Application::factory('User\\Form\\ChangePhoneExtensionForm');
     $loForm->setObjectManager($this->getEntityManager());
     $loForm->setActionType('edit');
     $loForm->setEntity($this->_sEntity);
     $loForm->setForm();
     $loForm->setWindowType($this->_sWindowType);
     $loForm->setCancelBtnType($this->_sWindowType == 'default' ? 'cancel' : 'close');
     $loForm->setBindOnValidate(false);
     $loForm->bind($loEntity);
     $lsSecurity = $this->requestPost('security', null);
     if ($this->requestIsPost() && $lsSecurity !== null) {
         $loForm->setInputFilter($loForm->getInputFilter());
         $loForm->setData($this->requestPost());
         $loForm->setEntityData($loEntity);
         if ($loForm->isValid()) {
             $loForm->bindValues();
             $laPostData = $loForm->getDataForm();
             $loEntity->populate($laPostData);
             if ($this->entityFlush()) {
                 $loSession = new Session();
                 $loUser = $loSession->getRegister('OnionAuth');
                 $loUser->setStPhoneExtension($laPostData['stPhoneExtension']);
                 $loSession->setRegister('OnionAuth', $loUser);
                 $this->flashMessenger()->addMessage(array('id' => $this->get('_sModule') . '-' . microtime(true), 'hidden' => $this->get('_bHiddenPushMessage'), 'push' => $this->get('_bPushMessage'), 'type' => 'success', 'msg' => Translator::i18n("The phone extension was successfully changed!")));
                 Event::log(array('userId' => $lnUserId, 'table' => 'User', 'action' => 'change-phone-extension', 'record' => $lnUserId), Event::INFO);
             }
         }
     }
     $loView = new ViewModel(array('lsBack' => $this->requestPost('back', 'index'), 'lsTitleS' => $this->_sTitleS, 'lsTitleP' => $this->_sTitleP, 'lsRoute' => $this->_sRoute, 'lsUsername' => $loEntity->getUsername(), 'lnId' => $lnUserId, 'loForm' => $loForm));
     return $this->setResponseType($loView, null, true);
 }
コード例 #6
0
ファイル: Action.php プロジェクト: m3uzz/onionfw
 /**
  *
  * @param string $psType        	
  * @param string $psUrl        	
  * @param string $psTable        	
  * @param int $pnId        	
  */
 public static function log($psType, $psUrl, $psTable = null, $pnId = null)
 {
     $laConfig = Config::getAppOptions();
     $laLog = $laConfig['log']['log'][$psType];
     $laDb = $laConfig['db'][APP_ENV];
     if (Util::toBoolean($laLog['enable'])) {
         if ($laLog['output'] == "DB") {
             $loDb = new Adapter($laDb);
             $laColumnMap = array('timestamp' => 'dtInsert', 'priority' => 'stPriority', 'message' => 'stUrl', 'extra' => array('numId' => 'numId', 'stTable' => 'stTable'));
             $laData = array('numId' => $pnId, 'stTable' => $psTable);
             $loWriter = new Writer\Db($loDb, $laLog['table'], $laColumnMap);
             $loLogger = new Logger();
             $loLogger->addWriter($loWriter);
             $loLogger->info($psUrl, $laData);
         } else {
             $laParamns['userId'] = null;
             $laParamns['table'] = $psTable;
             $laParamns['id'] = $pnId;
             $laParamns['url'] = $psUrl;
             Event::log($laParamns, Event::INFO, $laLog['fileName'], "STREAM", true);
         }
     }
 }
コード例 #7
0
ファイル: System.php プロジェクト: m3uzz/onionfw
 /**
  * Shell command
  *
  * @param string $psCommand	string a ser executada no sistema
  * @param string $psCommand2        	
  * @return array
  */
 public static function execute($psCommand, $psCommand2 = "")
 {
     $laOutput = array();
     $lnReturn = 0;
     $lsReturn = exec($psCommand . " 2>&1 " . $psCommand2, $laOutput, $lnReturn);
     if ($lnReturn != 0) {
         Event::log(array("userId" => null, "class" => "System", "method" => "execute", "msg" => "FILESYSTEM: " . $lsReturn), Event::ERR);
     }
     return $laOutput;
 }
コード例 #8
0
ファイル: Access.php プロジェクト: m3uzz/onionfw
 /**
  */
 public static function log($poCredentials, $psMsg = "OK")
 {
     $laConfig = Config::getAppOptions();
     $laLog = $laConfig['log']['log']['access'];
     $laDb = $laConfig['db'][APP_ENV];
     $lnId = null;
     $lsUsername = null;
     $lnGroupId = null;
     if (is_object($poCredentials)) {
         $lnId = $poCredentials->getId();
         $lsUsername = $poCredentials->getUsername();
         $lnGroupId = $poCredentials->getUserGroupId();
     } else {
         $lsUsername = $poCredentials;
     }
     $lsIp = $_SERVER['REMOTE_ADDR'];
     $lsSession = session_id();
     if (Util::toBoolean($laLog['enable'])) {
         if ($laLog['output'] == "DB") {
             $loDb = new Adapter($laDb);
             $laServer = $_SERVER;
             $laServer['ACCESS_MSG'] = $psMsg;
             $lsServer = Json::encode($laServer);
             $laExtra = array('stSession' => 'stSession', 'stIP' => 'stIP', 'txtServer' => 'txtServer');
             $laData = array('stSession' => $lsSession, 'stIP' => $lsIp, 'txtServer' => $lsServer);
             if ($lnId !== null) {
                 $laExtra['User_id'] = 'User_id';
                 $laData['User_id'] = $lnId;
             }
             $laColumnMap = array('timestamp' => 'dtInsert', 'priority' => 'stPriority', 'message' => 'txtCredentials', 'extra' => $laExtra);
             $laCredential = array('user' => $lsUsername, 'group' => $lnGroupId);
             $lsCredential = Json::encode($laCredential);
             $loWriter = new Writer\Db($loDb, $laLog['table'], $laColumnMap);
             $loLogger = new Logger();
             $loLogger->addWriter($loWriter);
             $loLogger->info($lsCredential, $laData);
         } else {
             $laMessage = array('stIP' => $lsIp, 'stSession' => $lsSession, 'userId' => $lnId, 'user' => $lsUsername, 'group' => $lnGroupId);
             Event::log($laMessage, Event::INFO, $laLog['fileName'], "STREAM", true);
         }
     }
 }