Ejemplo n.º 1
0
 /**
  * 
  * @param string $psPassword
  * @param string $psDynamicSalt
  * @return string
  */
 public static function encriptPassword($psPassword, $psDynamicSalt)
 {
     $laOptions = Config::getAppOptions('settings');
     if ($laOptions['criptPassword']) {
         $psPassword = md5($laOptions['staticSalt'] . $psPassword . $psDynamicSalt);
     }
     return $psPassword;
 }
Ejemplo n.º 2
0
 public static function hasContextAccess($paUserContext = null)
 {
     $lsUserIp = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : "";
     $lsAppClient = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : "";
     $lsToken = isset($_SERVER['HTTP_TOKEN']) ? $_SERVER['HTTP_TOKEN'] : "";
     $lbReturn = false;
     Debug::debug(array($lsUserIp, $lsAppClient, $lsToken));
     $laConfigAcl = Config::getAppOptions('acl');
     $laContext = isset($laConfigAcl['acl']['context']) ? $laConfigAcl['acl']['context'] : null;
     if ($paUserContext !== null) {
         $laContext = Config::merge($paUserContext, $laContext);
     }
     Debug::debug($laContext);
     if (is_array($laContext)) {
         foreach ($laContext as $lsIp => $laIpContext) {
             $lsIpPattern = preg_replace(array("/^!([\\d\\.?]*)\$/", "/\\./", "/\\?/"), array("[^\$1]", "\\.", "[\\d]*"), $lsIp);
             if (preg_match("/^{$lsIpPattern}\$/", $lsUserIp)) {
                 Debug::debug("IP: {$lsUserIp}");
                 if (isset($laIpContext['denied']) && $laIpContext['denied'] == true) {
                     $lbReturn = false;
                     Debug::debug("IP [{$lsUserIp}] DENIED FOR {$lsIpPattern}");
                     break;
                 }
                 if (isset($laIpContext['user-agent'][$lsAppClient])) {
                     Debug::debug("USER-AGENT: {$lsAppClient}");
                     if ($laIpContext['user-agent'][$lsAppClient] == $lsToken) {
                         Debug::debug("TOKEN: {$lsToken}");
                         $lbReturn = true;
                         break;
                     }
                 } elseif (isset($laIpContext['user-agent']['*'])) {
                     Debug::debug("USER-AGENT: *");
                     if ($laIpContext['user-agent']['*'] == $lsToken) {
                         Debug::debug("TOKEN: {$lsToken}");
                         $lbReturn = true;
                         break;
                     }
                 }
             } else {
                 Debug::debug("IP [{$lsUserIp}] DENIED FOR {$lsIpPattern}");
             }
         }
     } else {
         $lbReturn = true;
     }
     return $lbReturn;
 }
Ejemplo n.º 3
0
 public function indexAction()
 {
     $gaIndex = Config::getAppOptions('layout');
     if (!isset($gaIndex['indexController']) || empty($gaIndex['indexController'])) {
         $gaIndex['indexController'] = "Backend\\Controller\\Backend";
     }
     if (!isset($gaIndex['indexAction']) || empty($gaIndex['indexAction'])) {
         $gaIndex['indexAction'] = "index";
     }
     if (!isset($gaIndex['indexParam']) || empty($gaIndex['indexParam'])) {
         $gaIndex['indexParam'] = "";
     }
     $loResource = $this->forward()->dispatch($gaIndex['indexController'], array('action' => $gaIndex['indexAction'], $gaIndex['indexParam']));
     $loView = new ViewModel(array('loController' => $this));
     $loView->addChild($loResource, 'lsApplication');
     return $loView;
 }
Ejemplo n.º 4
0
 /**
  */
 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);
         }
     }
 }
Ejemplo n.º 5
0
 /**
  *
  * @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);
         }
     }
 }
Ejemplo n.º 6
0
 /**
  *
  * @param array $paOptions        	
  * @return \Onion\SendMail
  */
 public function __construct(array $paOptions = null)
 {
     if ($paOptions !== null) {
         $this->_aOptions = $paOptions;
     } elseif ($laOptions = Config::getAppOptions()) {
         $this->_aOptions = $laOptions['mail'];
     } else {
         $this->_aOptions['transporter'] = "sendmail";
         $this->_aOptions['fromEmail'] = "webmaster@localhost";
         $this->_aOptions['fromName'] = "";
         $this->_aOptions['replayToEmail'] = "";
         $this->_aOptions['replayToName'] = "";
         $this->_aOptions['charset'] = "UTF-8";
         $this->_aOptions['html'] = false;
         $this->_aOptions['smtp']['server'] = "";
         $this->_aOptions['smtp']['security'] = "ssl";
         $this->_aOptions['smtp']['port'] = "465";
         $this->_aOptions['smtp']['login'] = "";
         $this->_aOptions['smtp']['password'] = "";
     }
     return $this;
 }
Ejemplo n.º 7
0
 public static function getDefaultFieldValue($psTable, $psSection)
 {
     $laConfig = Config::getAppOptions('table');
     if (isset($laConfig[$psTable])) {
         return $laConfig[$psTable];
     }
     return null;
 }
Ejemplo n.º 8
0
 public function onRoute(EventInterface $poEvent)
 {
     $loApplication = $poEvent->getApplication();
     $loRouteMatch = $poEvent->getRouteMatch();
     $loServiceManager = $loApplication->getServiceManager();
     $loEventManager = $loApplication->getEventManager();
     $loEvents = $loEventManager->getSharedManager();
     $loSession = new Session();
     $loUser = $loSession->getRegister('OnionAuth');
     $laMenu = Config::getAppOptions('menu');
     $lsRole = Acl::DEFAULT_ROLE;
     //guest
     if ($loUser !== null) {
         $lnGroup = $loUser->get('UserGroup_id');
         if (isset($laMenu['groups'][$lnGroup])) {
             $lsRole = $laMenu['groups'][$lnGroup];
         }
     }
     $laMenu = $laMenu[$lsRole];
     $loEvents->attach('Zend\\Mvc\\Controller\\AbstractActionController', 'dispatch', function ($event) use($laMenu, $loUser) {
         $loController = $event->getTarget();
         $loController->layout()->laMenu = $laMenu;
         $loController->layout()->loUser = $loUser;
         $loController->layout()->loController = $loController;
     }, 100);
     $lsController = $loRouteMatch->getParam('__CONTROLLER__');
     $lsAction = $loRouteMatch->getParam('action');
     if (empty($lsController)) {
         $lsController = 'Index';
     }
     if (empty($lsAction)) {
         $lsAction = 'index';
     }
     $laConfigAcl = Config::getAppOptions('acl');
     $loAcl = new Acl($laConfigAcl);
     if (!$loAcl->hasResource($lsController)) {
         throw new \Exception('Resource ' . $lsController . ' not defined');
     }
     Debug::debug("Route: {$lsController}/{$lsAction}");
     if (!$loAcl->isAllowed($lsRole, $lsController, $lsAction)) {
         if ($lsController != 'Index' && $lsAction != 'index') {
             $loFlashMessenger = new FlashMessenger();
             $loFlashMessenger->addMessage(array('id' => 'Access-' . microtime(true), 'hidden' => false, 'push' => false, 'type' => 'danger', 'msg' => Translator::i18n('Você não tem permissão para executar esta ação!')));
         }
         $lsUrl = $poEvent->getRouter()->assemble(array(), array('name' => 'access', 'query' => array('urlFrom' => base64_encode($_SERVER['REQUEST_URI']))));
         $loResponse = $poEvent->getResponse();
         $loResponse->getHeaders()->addHeaderLine('Location', $lsUrl);
         $loResponse->setStatusCode(302);
         $loResponse->sendHeaders();
         exit;
     }
 }
Ejemplo n.º 9
0
 /**
  *
  * @param string $psDate
  * @return string
  */
 public static function dateS2P($psDate)
 {
     $laOptions = Config::getAppOptions('translator');
     $laDate = explode(' ', $psDate);
     if (isset($laDate[0]) && !empty($laDate[0])) {
         $lsDate = date($laOptions['dateFormat'], strtotime($laDate[0]));
         $lsDate .= isset($laDate[1]) ? " {$laDate[1]}" : '';
         return $lsDate;
     }
     return $psDate;
 }
Ejemplo n.º 10
0
 /**
  * 
  * @param string $psArea
  * @param string $psHookAction
  * @param array $paParams
  * @return boolean
  */
 public function hook($psArea, $psHookAction = null, array $paParams = null)
 {
     $laHooks = Config::getAppOptions('hooks');
     if ($psHookAction !== null) {
         return $this->getHook($laHooks, $psArea, $psHookAction, $paParams);
     } else {
         if (isset($laHooks[$psArea]) && is_array($laHooks[$psArea])) {
             foreach ($laHooks[$psArea] as $lsHookAction => $laOptions) {
                 echo $this->getHook($laHooks, $psArea, $lsHookAction);
             }
         }
     }
 }
Ejemplo n.º 11
0
 /**
  *
  * @param unknown $poIdentity
  * @param unknown $psUrlFrom
  */
 public function authentication($poAuthService, $poIdentity, $psUrlFrom = null, $poForm = null, $psType = 'onion')
 {
     $lsStatus = null;
     if ($poIdentity->getActive() == 1) {
         $laUserContext = null;
         if ($poIdentity->get('stIpContext') !== null) {
             $lsUserAgent = '*';
             if ($poIdentity->get('stUserAgent') !== null) {
                 $lsUserAgent = $poIdentity->get('stUserAgent');
             }
             $laUserContext = array($poIdentity->get('stIpContext') => array('denied' => $poIdentity->get('isContextDenied'), $lsUserAgent => $poIdentity->get('stRegistrationToken')));
         }
         if (Context::hasContextAccess($laUserContext)) {
             $loSession = new Session();
             $loSession->clearRegister('OnionAuth');
             $loSession->clearRegister('storage', 'Zend_Auth');
             $poIdentity->getObject();
             $poIdentity->set('stPassword', 'nono');
             $poIdentity->set('stPasswordSalt', '');
             $poIdentity->set('stAnswer', '');
             $loSession->setRegister('OnionAuth', $poIdentity);
             $loIdentity = $loSession->getRegister('OnionAuth');
             $poAuthService->getStorage()->write($poIdentity);
             if ($poForm->get('rememberme')->getValue() == 1) {
                 $laOptions = Config::getAppOptions('settings');
                 $loSessionManager = new SessionManager();
                 $loSessionManager->rememberMe($laOptions['sessionLifeTime']);
             }
             Debug::debug($poIdentity->getUsername() . " [SUCCESS by {$psType}]");
             Access::log($poIdentity, "SUCCESS by " . $psType);
             if ($psUrlFrom !== null) {
                 if ('/' !== $psUrlFrom) {
                     $psUrlFrom = base64_decode($psUrlFrom);
                 }
                 Debug::debug("Redirect to: ({$psUrlFrom})");
                 $this->redirect()->toUrl($psUrlFrom);
             }
         } else {
             $poForm->get('stUsername')->setMessages(array("Permissão negada para o contexto de acesso!"));
             $lsStatus = "CONTEXT DENIED";
         }
     } else {
         $poForm->get('stUsername')->setMessages(array("Usuário desativado!"));
         $lsStatus = "USER DISABLED";
     }
     return $lsStatus;
 }
Ejemplo n.º 12
0
 /**
  *
  * @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);
         }
     }
 }
Ejemplo n.º 13
0
 public function setDefault($psTable)
 {
     $laConfigTable = Config::getAppOptions('table');
     if (isset($laConfigTable[$psTable]) && is_array($laConfigTable[$psTable])) {
         foreach ($laConfigTable[$psTable] as $lsField => $laValues) {
             if (property_exists($this, $lsField)) {
                 $this->{$lsField} = $laValues['default'];
             }
         }
     }
     $this->dtInsert = date('Y-m-d H:i:s');
 }
Ejemplo n.º 14
0
 public function addAfterFlush($paPostData, $paFileData, $poForm, $poEntity, $pbResponse)
 {
     $lsToken = $poEntity->get('stToken');
     $laUrl = Config::getAppOptions('url');
     $lsUrl = "{$laUrl['site']}/{$this->_sRoute}/auth/?tk={$lsToken}";
     $lsMessage = '<p>' . $poEntity->get('txtMessage') . '<p>' . "\n\n";
     $lsMessage .= '<p>' . Translator::i18n("Link de acesso:") . ' <a href="' . $lsUrl . '">' . $lsUrl . '</a></p>';
     $laMsg = array('test' => strip_tags($lsMessage), 'html' => $lsMessage);
     $laTo = array($poEntity->get('stEmail'), $poEntity->get('stName'));
     $this->sendMail($laTo, $laMsg);
     return true;
 }
Ejemplo n.º 15
0
 /**
  */
 public static function showDebug()
 {
     $laConfig = Config::getAppOptions();
     $laDebug = $laConfig['log']['debug']['PHP'];
     if (Util::toBoolean($laDebug['enable']) && $laDebug['output'] == "BUFFER") {
         $loBuffer = Session::getRegister("DEBUG");
         echo '<pre style="margin:50px;"><code><fieldset><legend>Onion Debug:</legend>';
         if (is_array($loBuffer)) {
             foreach ($loBuffer as $lsItem) {
                 self::displayDebug(Json::decode($lsItem));
                 echo "<br/><hr/><br/>";
             }
         }
         echo '</fieldset></code></pre>';
     }
     Session::clearRegister("DEBUG");
 }
Ejemplo n.º 16
0
 /**
  * After load the object properties are setted.
  *
  * @param array $paConfigs        	
  */
 public function setConfigs()
 {
     $this->_onionConfig = Config::loadConfigs();
     $this->set($this->_onionConfig);
     $this->_active = true;
 }
Ejemplo n.º 17
0
 /**
  * 
  * @param string $psModule
  * @return array
  */
 public function getFormOptions($psModule)
 {
     $laFormOptions = Config::getAppOptions('form');
     if (isset($laFormOptions[$psModule])) {
         return $laFormOptions[$psModule];
     }
     return null;
 }
Ejemplo n.º 18
0
<?php

/**
 * Global Configuration Override
 *
 * You can use this file for overriding configuration values from modules, etc.
 * You would place values in here that are agnostic to the environment and not
 * sensitive to security.
 *
 * @NOTE: In practice, this file will typically be INCLUDED in your source
 * control, so do not include passwords or other sensitive information in this
 * file.
 */
$laOnionOptions = \Onion\Config\Config::getAppOptions();
$laDbParams = $laOnionOptions['db'][$laOnionOptions['environment']];
$laModuleLayouts = $laOnionOptions['layout']['module_layouts'];
return array('module_layouts' => $laModuleLayouts, 'service_manager' => array('factories' => array('Zend\\Db\\Adapter\\Adapter' => function ($sm) use($laDbParams) {
    $adapter = new BjyProfiler\Db\Adapter\ProfilingAdapter(array('driver' => $laDbParams['driver'], 'dsn' => 'mysql:dbname=' . $laDbParams['database'] . ';host=' . $laDbParams['hostname'], 'database' => $laDbParams['database'], 'username' => $laDbParams['username'], 'password' => $laDbParams['password'], 'hostname' => $laDbParams['hostname']));
    if (php_sapi_name() == 'cli') {
        $logger = new Zend\Log\Logger();
        // write queries profiling info to stdout in CLI mode
        $writer = new Zend\Log\Writer\Stream(CLIENT_DIR . DS . 'data' . DS . 'logs' . DS . 'db.log');
        $logger->addWriter($writer, Zend\Log\Logger::DEBUG);
        $adapter->setProfiler(new BjyProfiler\Db\Profiler\LoggingProfiler($logger));
    } else {
        $adapter->setProfiler(new BjyProfiler\Db\Profiler\Profiler());
    }
    if (isset($dbParams['options']) && is_array($dbParams['options'])) {
        $options = $dbParams['options'];
    } else {
        $options = array();
Ejemplo n.º 19
0
 * @category   PHP
 * @package    Onion
 * @author     Humberto Lourenço <*****@*****.**>
 * @copyright  2014-2016 Humberto Lourenço <*****@*****.**>
 * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
 * @link       http://github.com/m3uzz/onionfw
 */
namespace Access;

use Onion\Application\Application;
use Onion\Log\Debug;
use Onion\Config\Config;
use Onion\Log\Access;
$gsAccessViewPath = __DIR__ . '/../view';
if (file_exists(CLIENT_DIR . '/module/Backend/view/access')) {
    $gsAccessViewPath = CLIENT_DIR . '/module/Backend/view';
}
return array('controllers' => array('invokables' => array('Access\\Controller\\Access' => 'Access\\Controller\\AccessController')), 'router' => array('routes' => array('access' => array('type' => 'segment', 'options' => array('route' => '/access[/:action][/:id][/]', 'constraints' => array('action' => '[a-zA-Z][a-zA-Z0-9_-]*', 'id' => '[a-zA-Z0-9_-]+'), 'defaults' => array('__NAMESPACE__' => 'Access\\Controller', 'controller' => 'Access', 'action' => 'login'))))), 'view_manager' => array('template_path_stack' => array('access' => $gsAccessViewPath)), 'doctrine' => array('driver' => array('access_entities' => array('class' => 'Doctrine\\ORM\\Mapping\\Driver\\AnnotationDriver', 'cache' => 'array', 'paths' => array(__DIR__ . '/../src/Access/Entity')), 'orm_default' => array('drivers' => array('Access\\Entity' => 'access_entities'))), 'authentication' => array('orm_default' => array('object_manager' => 'Doctrine\\ORM\\EntityManager', 'identity_class' => 'Access\\Entity\\AccessExtended', 'identity_property' => 'stUsername', 'credential_property' => 'stPassword', 'credential_callable' => function (Entity\Access $poUser, $psPasswordGiven) {
    $laOptions = Config::getAppOptions('settings');
    if ($laOptions['criptPassword']) {
        Debug::debug('Encriptar password true');
        $psPasswordGiven = md5($laOptions['staticSalt'] . $psPasswordGiven . $poUser->getPasswordSalt());
    }
    if ($poUser->getPassword() === $psPasswordGiven) {
        return true;
    } else {
        $lsStatus = "WRONG PASSWORD";
        Access::log($poUser, $lsStatus);
        return false;
    }
}))));
Ejemplo n.º 20
0
 /**
  * event: gera log de sistema, gravando em banco, arquivo, firebug ou exibindo na tela
  *
  * @param string|array $pmParam	- array __FILE__,__METHOD__,__LINE__ ...
  * @param int $pnPriority - EMERG = 0; ALERT = 1; CRIT = 2; ERR = 3; WARN = 4; NOTICE =	5; INFO = 6; DEBUG = 7;
  * @param string $psOutput - força o nome da tabela ou posfixo do arquivo a ser gravado
  * @param string $psType - força o tipo de saída: DB ou STREAM
  */
 public static function log($pmParam, $pnPriority = 7, $psOutput = null, $psType = null, $pbSave = false)
 {
     $laConfig = Config::getAppOptions();
     $laLog = $laConfig['log']['log']['events'];
     $laDb = $laConfig['db'][APP_ENV];
     $lsLogDir = $laConfig['log']['log']['logDir'];
     $lsTable = $laLog['table'];
     $lsFilePosfix = "_" . $laLog['fileName'];
     $lsLine = "";
     $lsId = null;
     if (Util::toBoolean($laLog['enable']) || $pbSave) {
         $lsIP = $_SERVER['REMOTE_ADDR'];
         $lsType = $laLog['output'];
         if ($psType != null) {
             $lsType = $psType;
         }
         if (is_array($pmParam)) {
             foreach ($pmParam as $lsKey => $lsItem) {
                 if (strtolower($lsKey) == 'userid') {
                     $lsId = $lsItem;
                     continue;
                 }
             }
         }
         $laData = array();
         switch ($lsType) {
             case "DB":
                 if ($psOutput != null) {
                     $lsTable = $psOutput;
                 }
                 $loDb = new Adapter($laDb);
                 $lsLine = Json::encode($pmParam);
                 $lsServer = Json::encode($_SERVER);
                 $laExtra = array('stIP' => 'stIP', 'txtServer' => 'txtServer');
                 $laData = array('stIP' => $lsIP, 'txtServer' => $lsServer);
                 if ($lsId !== null) {
                     $laExtra['User_id'] = 'User_id';
                     $laData['User_id'] = $lsId;
                 }
                 $laColumnMap = array('timestamp' => 'dtInsert', 'priority' => 'stPriority', 'message' => 'stMsg', 'extra' => $laExtra);
                 $loWriter = new Writer\Db($loDb, $lsTable, $laColumnMap);
                 break;
             case "STREAM":
                 $lsLine .= "\t" . $lsIP;
                 if (is_array($pmParam)) {
                     foreach ($pmParam as $lsKey => $lsItem) {
                         $lsLine .= "\t" . $lsItem;
                         if (strtolower($lsKey) == 'userid') {
                             $lsId = $lsItem;
                         }
                     }
                 } else {
                     $lsLine .= "\t" . $pmParam;
                 }
                 if ($psOutput != null) {
                     $lsFilePosfix = "_" . $psOutput;
                 }
                 if (file_exists($lsLogDir)) {
                     $loWriter = new Writer\Stream($lsLogDir . DS . date("Y-m-d") . $lsFilePosfix . ".log");
                 }
                 break;
         }
         $loLogger = new Logger();
         $loLogger->addWriter($loWriter);
         $loLogger->log($pnPriority, $lsLine, $laData);
     }
 }
Ejemplo n.º 21
0
 /**
  * 
  * @param object $poForm
  */
 public function addFormSettings($poForm)
 {
     $laResouce = array();
     $laLocale = array();
     $laModules = Config::getAppOptions('modules');
     if (is_array($laModules) && isset($laModules['available'])) {
         foreach ($laModules['available'] as $lsResource => $lbActive) {
             if ($lbActive) {
                 $laResouce[$lsResource] = strtoupper($lsResource);
             }
         }
     }
     asort($laResouce);
     $loResource = $poForm->get('stResource');
     $loResource->setValueOptions($laResouce);
     $laTranslator = Config::getAppOptions('translator');
     $laOptions = $this->getEntityManager()->getRepository('Options\\Entity\\OptionsBasic')->findBy(array('stResource' => 'options', 'stGroup' => 'stLocale', 'stLocale' => $laTranslator['locale2'], 'isActive' => '1', 'numStatus' => '0'));
     if (is_array($laOptions)) {
         foreach ($laOptions as $loOption) {
             $laLocale[$loOption->get('stValue')] = $loOption->get('stLabel');
         }
     }
     asort($laLocale);
     $loLocale = $poForm->get('stLocale');
     $loLocale->setValueOptions($laLocale);
 }
Ejemplo n.º 22
0
 /**
  * 
  * @param array $paPostData
  * @param array $paFileData
  * @param object $poForm
  * @param object $poEntity
  * @return boolean
  */
 public function addBeforeFlush($paPostData, $paFileData, $poForm, $poEntity)
 {
     $laOptions = Config::getAppOptions();
     $lsMsgH = sprintf(Translator::i18n("Suas credenciais de acesso a área restrita em <b>%s</b>. <br/> Seu login de acesso: <b>%s</b> <br/> Sua senha de acesso: <b>%s</b>"), $laOptions['url']['admin'], $paPostData['stUsername'], $paPostData['stPassword']);
     $lsMsgT = sprintf(Translator::i18n("Suas credenciais de acesso a área restrita em %s. \n Seu login de acesso: %s \n Sua senha de acesso: %s"), $laOptions['url']['admin'], $paPostData['stUsername'], $paPostData['stPassword']);
     $loSendMail = new SendMail();
     try {
         $loSendMail->send($laOptions['mail']['fromEmail'], Translator::i18n('Sua credenciais de acesso'), array('text' => $lsMsgT, 'html' => $lsMsgH), $paPostData['stEmail']);
         $this->flashMessenger()->addMessage(array('id' => $this->get('_sModule') . '-' . microtime(true), 'hidden' => $this->get('_bHiddenPushMessage'), 'push' => $this->get('_bPushMessage'), 'type' => 'success', 'msg' => Translator::i18n('Sua nova senha foi enviada para seu e-mail de cadastro')));
         return true;
     } catch (\Exception $e) {
         $this->flashMessenger()->addMessage(array('id' => $this->get('_sModule') . '-' . microtime(true), 'hidden' => $this->get('_bHiddenPushMessage'), 'push' => $this->get('_bPushMessage'), 'type' => 'warning', 'msg' => sprintf(Translator::i18n('Algo de errado aconteceu.<br/> %s'), $e->getMessage())));
         return false;
     }
 }