Exemplo n.º 1
0
 public function errorAction()
 {
     $errors = $this->_getParam('error_handler');
     switch ($errors->type) {
         case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
         case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
             // 404 error -- controller or action not found
             $this->getResponse()->setHttpResponseCode(404);
             break;
         default:
             // application error
             $this->getResponse()->setHttpResponseCode(500);
             break;
     }
     // log exception to database
     $db = Zend_Registry::get('db');
     $columnMapping = array('priority' => 'priority', 'type' => 'type', 'message' => 'message', 'user' => 'user', 'ip' => 'ip', 'agent' => 'agent', 'url' => 'url');
     $user = Zend_Auth::getInstance()->hasIdentity() ? Zend_Auth::getInstance()->getIdentity()->getEmail() : 'anonymous';
     $writer = new Zend_Log_Writer_Db($db, 'Logs', $columnMapping);
     $logger = new Zend_Log($writer);
     $logger->setEventItem('user', $user);
     $logger->setEventItem('ip', $_SERVER['REMOTE_ADDR']);
     $logger->setEventItem('agent', $_SERVER['HTTP_USER_AGENT']);
     $logger->setEventItem('url', $this->view->url());
     $logger->setEventItem('type', $errors->type);
     $logger->err($errors->exception);
 }
Exemplo n.º 2
0
 /**
  * Get the logger instance
  *
  * @return Zend_Log
  */
 public function getLogger()
 {
     if (is_null($this->_oLogger)) {
         $this->_oLogger = Zend_Registry::get('log');
         $this->_oLogger->setEventItem('file', get_class($this));
     }
     return $this->_oLogger;
 }
Exemplo n.º 3
0
 public function errorAction()
 {
     /**
      * Check database connection
      */
     try {
         $db = Zend_Registry::get('db');
         $db->getConnection();
     } catch (Zend_Db_Adapter_Exception $e) {
         // perhaps a failed login credential, or perhaps the RDBMS is not running
         $this->databaseError($e);
     } catch (Zend_Exception $e) {
         // perhaps factory() failed to load the specified Adapter class
         $this->databaseError($e);
     }
     /**
      * Normal error page
      */
     $pageProxy = new SxCms_Page_Proxy();
     $page = $pageProxy->getPageById(36);
     $this->view->page = $page;
     $this->view->lng = isset($_SESSION['System']['lng']) ? $_SESSION['System']['lng'] : $this->_getParam('lng', 'nl');
     $this->_helper->layout->setLayout('full');
     $this->view->errorpage = true;
     $this->view->glob_tmx = new Zend_Translate('tmx', APPLICATION_ROOT . '/application/var/locale/global.tmx', $this->_getParam('lng', 'nl'));
     $errors = $this->_getParam('error_handler');
     switch ($errors->type) {
         case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
         case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
             // 404 error -- controller or action not found
             $this->getResponse()->setHttpResponseCode(404);
             $this->render('404');
             break;
         default:
             // application error
             $this->getResponse()->setHttpResponseCode(500);
             break;
     }
     // log exception to database
     $db = Zend_Registry::get('db');
     $columnMapping = array('priority' => 'priority', 'type' => 'type', 'message' => 'message', 'user' => 'user', 'ip' => 'ip', 'agent' => 'agent', 'url' => 'url');
     $user = Zend_Auth::getInstance()->hasIdentity() ? Zend_Auth::getInstance()->getIdentity()->getEmail() : 'anonymous';
     $writer = new Zend_Log_Writer_Db($db, 'Logs', $columnMapping);
     $logger = new Zend_Log($writer);
     $logger->setEventItem('user', $user);
     $logger->setEventItem('ip', $_SERVER['REMOTE_ADDR']);
     $logger->setEventItem('agent', $_SERVER['HTTP_USER_AGENT']);
     $logger->setEventItem('url', $this->view->url());
     $logger->setEventItem('type', $errors->type);
     $logger->err($errors->exception);
 }
Exemplo n.º 4
0
 protected function _initLog()
 {
     $log = new Zend_Log();
     $log->setEventItem('domain', 'error');
     // Non-production
     if (APPLICATION_ENV !== 'production') {
         $log->addWriter(new Zend_Log_Writer_Firebug());
     }
     // Get log config
     try {
         $log->addWriter(new Zend_Log_Writer_Stream(WEB_ROOT . '/temporary/log/main.log'));
     } catch (Exception $e) {
         // Check directory
         if (!@is_dir(WEB_ROOT . '/temporary/log') && @mkdir(WEB_ROOT . '/temporary/log', 0777, true)) {
             $log->addWriter(new Zend_Log_Writer_Stream(WEB_ROOT . '/temporary/log/main.log'));
         } else {
             // Silence ...
             if (APPLICATION_ENV !== 'production') {
                 $log->log($e->__toString(), Zend_Log::CRIT);
             } else {
                 // Make sure logging doesn't cause exceptions
                 $log->addWriter(new Zend_Log_Writer_Null());
             }
         }
     }
     // Save to registry
     Zend_Registry::set('Zend_Log', $log);
     return $log;
 }
Exemplo n.º 5
0
 public static function getLogger(Zend_Config $config = null)
 {
     $logger = new Zend_Log();
     $hasWriters = false;
     if ($config !== null && $config->writers !== null) {
         foreach ($config->writers as $writerConfig) {
             $writer = self::getWriter($writerConfig);
             if ($writer !== null) {
                 $logger->addWriter($writer);
                 $hasWriters = true;
             }
         }
     }
     if (!$hasWriters) {
         $logger->addWriter(new Zend_Log_Writer_Null());
     }
     // to turn off logging without making the logger throw exceptions
     if ($config !== null && $config->eventItems !== null) {
         foreach ($config->eventItems as $eventItemName => $eventItemClass) {
             $eventItemClass = (string) $eventItemClass;
             if (class_exists($eventItemClass)) {
                 $logger->setEventItem($eventItemName, new $eventItemClass());
             }
         }
     }
     return $logger;
 }
Exemplo n.º 6
0
 protected function saveLogBD($errors)
 {
     $config = new Zend_Config_Ini('application/configs/application.ini', APPLICATION_ENV);
     $params = array('host' => $config->resources->db->params->host, 'username' => $config->resources->db->params->username, 'password' => $config->resources->db->params->password, 'dbname' => "estatisticas", 'charset' => $config->resources->db->params->charset);
     $db = Zend_Db::factory('PDO_MYSQL', $params);
     $columnMapping = array('message' => 'message', 'file' => 'file', 'line' => 'line', 'url' => 'url', 'date' => 'date');
     $writer = new Zend_Log_Writer_Db($db, 'erro_log', $columnMapping);
     $logger = new Zend_Log($writer);
     $exception = $errors->exception;
     $exception->getTraceAsString();
     $logger->setEventItem('message', $exception->getMessage());
     $logger->setEventItem('file', $errors->getFile());
     $logger->setEventItem('line', $errors->getLine());
     $logger->setEventItem('url', $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
     $logger->setEventItem('date', new Zend_Db_Expr('NOW()'));
     $logger->info("Erros");
 }
Exemplo n.º 7
0
 protected function _initLog()
 {
     $options = $this->getOptions();
     $sqs = $this->getResource('AmazonSqs');
     $queue_name = $options['amazon']['sqs']['queues']['log'];
     $logger = new Zend_Log();
     $writer = new JW_Log_Writer_AmazonSqs($sqs, $queue_name);
     $logger->addWriter($writer);
     $logger->setEventItem('serverHostname', $_SERVER['SERVER_NAME']);
     Zend_Registry::set('logger', $logger);
     return $logger;
 }
Exemplo n.º 8
0
 /**
  * Schreibt einen Log-Eintrag
  *
  * @param string $method Funktions- oder Methodenname
  * @param int $line Zeilennummer
  * @param string $message Meldung
  * @param mixed $data Zusaetzliche Informationen
  * @param int $priority Level
  * @param string $logid ID des Logeintrag
  */
 protected function doLog($method, $line, $message, $data, $priority, $logid = '')
 {
     if ((int) $priority > (int) $this->level) {
         return;
     }
     $this->logger->setEventItem('data', isset($data) ? print_r($data, true) : null);
     $this->logger->setEventItem('method', $method);
     $this->logger->setEventItem('line', $line);
     $this->logger->setEventItem('logid', $logid);
     $this->logger->setEventItem('sessionId', session_id());
     $this->logger->log($message, $priority);
 }
Exemplo n.º 9
0
 /**
  * @param string  $websiteId
  * @param string  $id
  * @param string  $name
  * @param string  $additionalinfo
  * @param integer $timestamp
  * @param string  $userid
  * @param string  $action
  * @param integer $priority
  */
 protected function log($websiteId, $id, $name, $additionalinfo, $timestamp, $userlogin, $action, $priority = \Zend_Log::INFO)
 {
     if ((int) $priority > (int) $this->level) {
         return;
     }
     $this->logger->setEventItem('websiteid', $websiteId);
     $this->logger->setEventItem('id', $id);
     $this->logger->setEventItem('name', $name);
     $this->logger->setEventItem('additionalinfo', $additionalinfo);
     $this->logger->setEventItem('timestamp', $timestamp);
     $this->logger->setEventItem('userlogin', $userlogin);
     $this->logger->setEventItem('action', $action);
     $this->logger->log($action, $priority);
 }
Exemplo n.º 10
0
 public function init()
 {
     $this->getBootstrap()->bootstrap(array('db'));
     $tbl = 'tbl_ot_log';
     $application = $this->getBootstrap()->getApplication();
     $prefix = $application->getOption('tablePrefix');
     if (!empty($prefix)) {
         $tbl = $prefix . $tbl;
     }
     // Setup logger
     if ($this->_useLog) {
         $adapter = Zend_Db_Table::getDefaultAdapter();
         $writer = new Zend_Log_Writer_Db($adapter, $tbl);
     } else {
         $writer = new Zend_Log_Writer_Null();
     }
     $logger = new Zend_Log($writer);
     $logger->addPriority('LOGIN', 8);
     $logger->setEventItem('sid', session_id());
     $logger->setEventItem('timestamp', time());
     $logger->setEventItem('request', str_replace(Zend_Controller_Front::getInstance()->getBaseUrl(), '', $_SERVER['REQUEST_URI']));
     Zend_Registry::set('logger', $logger);
 }
Exemplo n.º 11
0
 /**
  * Construtor Padrão da Classe
  */
 private function __construct()
 {
     $logger = new Zend_Log();
     // Adicionar Escritor de Banco de Dados
     $mapper = array('ip' => 'address', 'info' => 'info', 'content' => 'message', 'created' => 'timestamp', 'idpeople' => 'user', 'priority' => 'priority', 'priorityname' => 'priorityName');
     $table = new Blog_Model_DbTable_Message();
     $adapter = $table->getAdapter();
     $tableName = $table->info(Zend_Db_Table::NAME);
     $element = new Zend_Log_Writer_Db($adapter, $tableName, $mapper);
     $logger->addWriter($element);
     // Elemento Extra: Identificador do Usuário
     $user = null;
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $user = $auth->getIdentity()->idpeople;
     }
     $logger->setEventItem('user', $user);
     // Elemento Extra: IP do Cliente
     $front = Zend_Controller_Front::getInstance();
     $address = $front->getRequest()->getClientIp();
     $logger->setEventItem('address', $address);
     $this->_setLogger($logger);
 }
Exemplo n.º 12
0
 /**
  * Initialisiert bei jedem Request das Zend_Log Objekt
  */
 public function bootstrap()
 {
     $configLog = new Dragon_Application_Config('dragonx/log/log');
     $logger = new Zend_Log();
     foreach ($configLog->eventitems as $name => $value) {
         $logger->setEventItem($name, $value);
     }
     foreach ($configLog->writers as $writer) {
         $logger->addWriter($writer);
     }
     foreach ($configLog->filters as $filter) {
         $logger->addFilter($filter);
     }
     Zend_Registry::set('Zend_Log', $logger);
 }
Exemplo n.º 13
0
 /**
  * set logger
  */
 protected function _setLog()
 {
     if (null === self::$_log) {
         self::$_log = new SP_Log();
         self::$_log->setEventItem('pid', getmypid());
         $format = '%timestamp% pid(%pid%) %priorityName% (%priority%): %message%' . PHP_EOL;
         $formatter = new Zend_Log_Formatter_Simple($format);
         $log_file = SP_APP_PATH . DIRECTORY_SEPARATOR . 'log/log.txt';
         $writer_file = new Zend_Log_Writer_Stream($log_file);
         $writer_file->setFormatter($formatter);
         $writer_firebug = new Zend_Log_Writer_Firebug();
         self::$_log->addWriter($writer_file);
         self::$_log->addWriter($writer_firebug);
         self::$_log->addFilter(new Zend_Log_Filter_Priority(Zend_Log::INFO));
     }
     Zend_Registry::set('logger', self::$_log);
 }
Exemplo n.º 14
0
 public function testLogWritesAndOverwritesExtraFields()
 {
     $logger = new Zend_Log($mock = new Zend_Log_Writer_Mock());
     $logger->setEventItem('foo', 42);
     $logger->setEventItem($field = 'bar', $value = 43);
     $logger->info('foo');
     $this->assertEquals(1, count($mock->events));
     $event = array_shift($mock->events);
     $this->assertTrue(array_key_exists($field, $event));
     $this->assertEquals($value, $event[$field]);
 }
Exemplo n.º 15
0
 /**
  * Sends mass mailing.
  * Prepares data and tests the recipients list before sendig emails.
  *
  * @param int $releaseID The release of the the newsletter to send.
  *
  * @return array Contains data corresponding to the send result.
  */
 public function sendMassMailingAction($releaseID = null)
 {
     $this->disableView();
     if (!$releaseID) {
         $releaseID = $_REQUEST['releaseID'];
     }
     //            $releaseID  = $this->view->params['releaseID'];
     // 1- Get all newsletter to send
     $dateTimeNow = date('Y-m-d H:i:s');
     $newsletterSelect = new NewsletterReleases();
     $select = $newsletterSelect->select()->setIntegrityCheck(false);
     $select->from('Newsletter_Releases')->join('Languages', 'L_ID = NR_LanguageID')->join('CategoriesIndex', 'CI_CategoryID = NR_CategoryID')->join('Newsletter_Models_Index', 'NMI_NewsletterModelID = NR_ModelID')->join('Newsletter_Models', 'NM_ID = NMI_NewsletterModelID')->where('CI_LanguageID = NR_LanguageID')->where('NMI_LanguageID = NR_LanguageID')->where('NR_Status <> 1')->where('NR_ID = ?', $releaseID);
     $newsletterData = $newsletterSelect->fetchAll($select);
     foreach ($newsletterData as $release) {
         $listSent = array();
         $listDest = array();
         $listIds = array();
         $mailLog = array();
         $date = new Zend_Date($release['NR_Date'], null, Zend_Registry::get('languageSuffix') == 'fr' ? 'fr_CA' : 'en_CA');
         $date_string = Cible_FunctionsGeneral::dateToString($date, Cible_FunctionsGeneral::DATE_LONG_NO_DAY, '.');
         $date_string_url = Cible_FunctionsGeneral::dateToString($date, Cible_FunctionsGeneral::DATE_SQL, '-');
         $releaseLanguage = $release['NR_LanguageID'];
         $this->view->assign('languageRelease', $releaseLanguage);
         $filteredData = $this->_countFilterMembers($release['NR_CollectionFiltersID'], $releaseLanguage);
         $members = $filteredData['members'];
         $selection = $filteredData['selection'];
         $dateTimeStart = date('Y-m-d H:i:s');
         $member_count = 0;
         $stats = array('action' => 'set', 'sentTo' => 0, 'targetedTotal' => 0);
         if ($release['NR_Status'] == 0 || $release['NR_Status'] == 3) {
             //Send to all recipient even if they have already received it
             $member_count = count($members);
         } elseif ($release['NR_Status'] == 2) {
             $member_count = count($members);
             $stats['action'] = 'increment';
             //Send to recipient who have not already received it
             $alreadyMembersRecievedSelect = new NewsletterReleasesMembers();
             $select = $alreadyMembersRecievedSelect->select()->where('NRM_ReleaseID = ?', $release['NR_ID']);
             $alreadyMembersRecievedData = $alreadyMembersRecievedSelect->fetchAll($select);
             $already_received_count = count($alreadyMembersRecievedData);
             $membersTmp = array();
             for ($i = 0; $i < $member_count; $i++) {
                 $received = "false";
                 for ($j = 0; $j < $already_received_count; $j++) {
                     if ($members[$i]['GP_MemberID'] == $alreadyMembersRecievedData[$j]['NRM_MemberID']) {
                         $received = "true";
                     }
                 }
                 if ($received == "false") {
                     array_push($membersTmp, $members[$i]);
                 }
             }
             $members = $membersTmp;
             $member_count = count($members);
         }
         $stats['targetedTotal'] = $member_count;
         if (!empty($members) && $member_count > 0) {
             $newsletterArticlesSelect = new NewsletterArticles();
             $select = $newsletterArticlesSelect->select();
             $select->where('NA_ReleaseID = ?', $release['NR_ID'])->order('NA_ZoneID')->order('NA_PositionID');
             $newsletterArticlesData = $newsletterArticlesSelect->fetchAll($select);
             $this->view->articles = $newsletterArticlesData->toArray();
             $registry = Zend_Registry::getInstance()->set('format', 'email');
             $config = Zend_Registry::get('config')->toArray();
             $nbMax = $config['massMailing']['packof'];
             $sleep = $config['massMailing']['sleep'];
             $server = $config['massMailing']['server'];
             $i = 0;
             set_time_limit(0);
             $emailValidator = new Zend_Validate_EmailAddress();
             $sentToCount = 0;
             $failedEmailAddress = array();
             for ($k = 0; $k < $member_count; $k++) {
                 try {
                     if ($i == $nbMax) {
                         $protocol->quit();
                         $protocol->disconnect();
                         sleep($sleep);
                         $i = 0;
                     }
                     if ($i == 0) {
                         $transport = new Zend_Mail_Transport_Smtp();
                         $protocol = new Zend_Mail_Protocol_Smtp($server);
                         $protocol->connect();
                         $protocol->helo($server);
                         $transport->setConnection($protocol);
                     }
                     $protocol->rset();
                     if ($emailValidator->isValid($members[$k]['GP_Email'])) {
                         $date = new Zend_Date($release['NR_Date'], null, Zend_Registry::get('languageSuffix') == 'fr' ? 'fr_CA' : 'en_CA');
                         $date_string = Cible_FunctionsGeneral::dateToString($date, Cible_FunctionsGeneral::DATE_LONG_NO_DAY, '.');
                         $date_string_url = Cible_FunctionsGeneral::dateToString($date, Cible_FunctionsGeneral::DATE_SQL, '-');
                         $newsletterCategoryID = $release['NR_CategoryID'];
                         $this->view->assign('unsubscribeLink', "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'unsubscribe', 8));
                         $this->view->assign('subscribeLink', "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'subscribe', 8, $releaseLanguage));
                         $this->view->assign('archiveLink', "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'list_archives', 8, $releaseLanguage));
                         //$this->view->assign('details_release', "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'details_release', 8) . "/ID/" . $release['NR_ID']);
                         $this->view->assign('details_release', "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'details_release', 8, $releaseLanguage) . "/" . $date_string_url . "/" . $release['NR_Title']);
                         $this->view->assign('details_page', Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'details_article', 8));
                         $this->view->assign('isOnline', $release['NR_Online']);
                         $this->view->assign('newsletterID', $release['NR_ID']);
                         $this->view->assign('memberId', $members[$k]['GP_MemberID']);
                         $this->view->assign('moduleId', $this->_moduleID);
                         $this->view->assign('dateString', $date_string);
                         $this->view->assign('parutionDate', $date_string_url);
                         $bodyText = $this->view->render($release['NM_DirectoryEmail']);
                         $salutationsSelect = new Salutations();
                         $select = $salutationsSelect->select()->setIntegrityCheck(false);
                         $salutationId = $members[$k]['GP_Salutation'];
                         if (is_null($salutationId)) {
                             $salutationId = 0;
                         }
                         $select->from('Salutations')->join('Static_Texts', 'ST_Identifier = S_StaticTitle')->where('ST_LangID = ?', Zend_Registry::get("languageID"))->where('S_ID = ?', $salutationId);
                         $salutationsData = $salutationsSelect->fetchRow($select);
                         $bodyText = str_replace('#prenom#', $members[$k]['GP_FirstName'], $bodyText);
                         $bodyText = str_replace('#nom#', $members[$k]['GP_LastName'], $bodyText);
                         $bodyText = str_replace('#courtoisie#', $salutationsData['ST_Value'], $bodyText);
                         //$newsletterData['NR_AfficherTitre'] = $form->getValue('NR_AfficherTitre');
                         $newsletterAfficherTitre = $release['NR_AfficherTitre'];
                         $newsletterTextIntro = $release['NR_TextIntro'];
                         $newsletterTextIntro = str_replace('##prenom##', $members[$k]['GP_FirstName'], $newsletterTextIntro);
                         $newsletterTextIntro = str_replace('##nom##', $members[$k]['GP_LastName'], $newsletterTextIntro);
                         $newsletterTextIntro = str_replace('##salutation##', $salutationsData['ST_Value'], $newsletterTextIntro);
                         $this->view->intro = $newsletterTextIntro;
                         $this->view->newsletterAfficherTitre = $newsletterAfficherTitre;
                         $mail = new Zend_Mail();
                         $mail->setBodyHtml($bodyText);
                         $mail->setFrom($release['NM_FromEmail'], $release['NMI_FromName']);
                         $mail->addTo($members[$k]['GP_Email']);
                         $mail->setSubject($release['NR_Title']);
                         if (!$mail->send()) {
                             array_push($failedEmailAddress, array('fname' => $members[$k]['GP_FirstName'], 'lname' => $members[$k]['GP_LastName'], 'email' => $members[$k]['GP_Email']));
                         }
                         $sentToCount++;
                         $releaseMember = new NewsletterReleasesMembers();
                         $releaseMemberData = $releaseMember->createRow();
                         $releaseMemberData['NRM_ReleaseID'] = $release['NR_ID'];
                         $releaseMemberData['NRM_MemberID'] = $members[$k]['GP_MemberID'];
                         $releaseMemberData['NRM_DateTimeReceived'] = date('Y-m-d H:i:s');
                         $insert = $releaseMemberData->save();
                         $i++;
                     } else {
                         array_push($failedEmailAddress, array('fname' => $members[$k]['GP_FirstName'], 'lname' => $members[$k]['GP_LastName'], 'email' => $members[$k]['GP_Email']));
                     }
                 } catch (Exception $exc) {
                     $index = $releaseID . '-';
                     $index .= $k + 1 . '-';
                     $index .= $members[$k]['GP_MemberID'];
                     $mailLog[$index]['message'] = $exc->getCode() . '-' . $exc->getFile() . '-' . $exc->getLine();
                     $mailLog[$index]['log'] = $protocol->getResponse();
                     $columnsMap = array('NEL_IdIndex' => 'NEL_IdIndex', 'NEL_CodeFileLine' => 'NEL_CodeFileLine', 'NEL_Response' => 'NEL_Response', 'NEL_Timestamp' => 'timestamp');
                     $writer = new Zend_Log_Writer_Db($this->_db, 'Newsletter_ErrorsLog', $columnsMap);
                     $oZLog = new Zend_Log($writer);
                     $oZLog->setEventItem('NEL_IdIndex', $index);
                     $oZLog->setEventItem('NEL_CodeFileLine', $mailLog[$index]['message']);
                     $oZLog->setEventItem('NEL_Response', $mailLog[$index]['log'][0]);
                     $oZLog->log('errors', 4);
                 }
             }
             $protocol->quit();
             $protocol->disconnect();
         } else {
             echo Zend_Json::encode(array('sentTo' => '0', 'targetedTotal' => '0', 'failedEmail' => array(), 'select' => $selection));
             break;
         }
         $stats['sentTo'] = $sentToCount;
         $dateTimeEnd = date('Y-m-d H:i:s');
         $release['NR_MailingDateTimeStart'] = $dateTimeStart;
         $release['NR_MailingDateTimeEnd'] = $dateTimeEnd;
         $release['NR_SendTo'] = $stats['action'] == 'set' ? $stats['sentTo'] : $release['NR_SendTo'] + $stats['sentTo'];
         $release['NR_TargetedTotal'] = $stats['action'] == 'set' ? $stats['targetedTotal'] : $release['NR_TargetedTotal'] + $stats['targetedTotal'];
         $release['NR_Status'] = 1;
         $release->save();
         if (count($failedEmailAddress) > 0) {
             $this->_recordEmails($failedEmailAddress, $releaseID);
         }
         $this->_stats = array('invalidEmails' => count($failedEmailAddress), 'errors' => count($mailLog), 'totalToSend' => $stats['targetedTotal'], 'totalSent' => $stats['sentTo']);
         if ($this->_isXmlHttpRequest) {
             array_push($listSent, $release['NR_Title']);
             array_push($listIds, $release['NR_ID']);
             array_push($listDest, $release['NR_AdminEmail']);
             $data = array('list' => $listSent, 'dest' => $listDest, 'ids' => $listIds);
             $this->_adminNotification($data);
             $this->_logSending($data);
         }
         echo Zend_Json::encode(array('sentTo' => $stats['sentTo'], 'targetedTotal' => $stats['targetedTotal'], 'failedEmail' => $failedEmailAddress, 'select' => $selection));
         exit;
     }
     // If all the newsletter have a status = 1, we don't pass through the foreach
     // So redirect the action to the newsletter
     //        echo(Zend_Json::encode(array('sentTo' => '0', 'targetedTotal' => '0', 'failedEmail' => array(), 'select' => '')));
     //        exit;
 }
Exemplo n.º 16
0
 /**
  * Get our logger
  * 
  * @return Zend_Log
  */
 public function getLog()
 {
     if (null === $this->_log) {
         $logAdapter = Engine_Api::_()->getDbtable('settings', 'core')->getSetting('core.log.adapter', 'file');
         $log = new Zend_Log();
         $log->setEventItem('domain', 'tasks');
         try {
             switch ($logAdapter) {
                 case 'file':
                 default:
                     $log->addWriter(new Zend_Log_Writer_Stream(APPLICATION_PATH . '/temporary/log/tasks.log'));
                     break;
                 case 'database':
                     $log->addWriter(new Zend_Log_Writer_Db($this->getAdapter(), 'engine4_core_log'));
                     break;
                 case 'none':
                     $log->addWriter(new Zend_Log_Writer_Null());
                     break;
             }
         } catch (Exception $e) {
             $log->addWriter(new Zend_Log_Writer_Null());
         }
         $this->_log = $log;
     }
     return $this->_log;
 }
Exemplo n.º 17
0
 /**
  * The primary log function that will take an incoming message and specified paramter and log in the
  * appropriate location and format
  *
  * @param int $level - Follow common BSD error levels
  * @param string $package - A way to group log messages
  * @param string $message - The actual message to log
  * @param string $fileName - An optional specific file name where the message should be logged
  * @param string $string - An optional list of the Application stack at the time of error
  * @return boolean -TRUE on success otherwise FALSE
  */
 public function logError($level = 7, $package, $message, $fileName = NULL, $backTrace = '')
 {
     //Adapt PHP Errors
     switch ($level) {
         case 8:
             // E_NOTICE
         // E_NOTICE
         case 1024:
             // E_USER_NOTICE
             $level = 4;
             break;
         case 2048:
             //E_STRICT
         //E_STRICT
         case 8192:
             //E_DEPRICIATED
         //E_DEPRICIATED
         case 16384:
             //E_DEPRICIATED
             $level = 5;
             break;
         case 2:
             //E_WARNING
         //E_WARNING
         case 512:
             //E_USER_WARNING
             $level = 3;
             break;
         case 256:
             $level = 2;
             break;
         default:
             $level = 2;
     }
     if ($this->_level == FALSE) {
         return true;
     }
     //Get the file path
     $this->_level = $level;
     $path = $this->_getPath($fileName);
     if (!is_writable($path)) {
         return false;
     }
     $this->prepFile($path);
     //Create the log writer object
     $writer = new \Zend_Log_Writer_Stream($path);
     $writer->setFormatter($this->_formatter);
     //Instantiate logging object
     $logger = new \Zend_Log($writer);
     //Filter log entries to those allowed by configuration
     $filter = new \Zend_Log_Filter_Priority($this->_level);
     $logger->addFilter($filter);
     //Set additional information about the class and function that called the log
     // Add custom elements to default log package
     $logger->setEventItem('back_trace', $backTrace);
     $logger->setEventItem('package', $package);
     $logger->setEventItem('date', date("m/d/Y"));
     $logger->setEventItem('time', date("H:i:s"));
     //Write Log Entry
     $logger->log($message, $level);
     $this->closeFile($path);
     return TRUE;
 }
Exemplo n.º 18
0
 public function setColEventDate($value)
 {
     $this->log->setEventItem('eventdate', $value);
 }
Exemplo n.º 19
0
$arsConfig = new Zend_Config_Ini(APPLICATION_PATH . '/modules/ars/config/ars.ini', APPLICATION_ENVIRONMENT);
if (file_exists(LOCAL_CONFIG_FILE) && is_readable(LOCAL_CONFIG_FILE)) {
    $localConfig = new Zend_Config_Ini(LOCAL_CONFIG_FILE, APPLICATION_ENVIRONMENT);
    $configuration->merge($localConfig);
}
// LOGGER
$logfile = APPLICATION_PATH . "/" . $configuration->log->path;
if (is_file($logfile) && !is_writeable($logfile)) {
    die("Unable to write to log file " . $logfile);
}
$writer = new Zend_Log_Writer_Stream($logfile);
$writer->setFormatter(new Zend_Log_Formatter_Simple('%timestamp% %priorityName% %request% %remote%: %message%' . "\n"));
$filter = new Zend_Log_Filter_Priority((int) $configuration->log->level);
$writer->addFilter($filter);
$logger = new Zend_Log($writer);
$logger->setEventItem('pid', getmypid());
$logger->setEventItem('request', $_SERVER['REQUEST_URI']);
$logger->setEventItem('remote', $_SERVER['REMOTE_ADDR']);
// TRANSLATIONS
$locale = new Zend_Locale();
Zend_Registry::set('Zend_Locale', $locale);
// default language when requested language is not available
$defaultlanguage = 'en';
define('DEFAULT_LANGUAGE', 'en');
$translate = new Zend_Translate('csv', APPLICATION_PATH . '/languages/', null, array('scan' => Zend_Translate::LOCALE_FILENAME));
$translate->setOptions(array('log' => $logger, 'logUntranslated' => true));
if (!$translate->isAvailable($locale->getLanguage())) {
    // not available languages are rerouted to another language
    $translate->setLocale(DEFAULT_LANGUAGE);
}
// REGISTRY - setup the application registry
 public function displayAction()
 {
     // set filters and validators for GET input
     $filters = array('id' => array('HtmlEntities', 'StripTags', 'StringTrim'));
     $validators = array('id' => array('NotEmpty', 'Int'));
     // test if input is valid
     // retrieve requested record
     // attach to view
     $input = new Zend_Filter_Input($filters, $validators);
     $input->setData($this->getRequest()->getParams());
     if ($input->isValid()) {
         $q = Doctrine_Query::create()->from('Webteam_Model_Video i')->where('i.VideoID = ?', $input->id);
         $result = $q->fetchArray();
         if (count($result) == 1) {
             $this->view->item = $result[0];
             // initialize logging engine
             $logger = new Zend_Log();
             // add Doctrine writer
             //values on the right represent database attritubtes
             $columnMap = array('message' => 'LogMessage', 'user' => 'UserName', 'videoid' => 'VideoID');
             $dbWriter = new Webteam_Log_Writer_Doctrine('Webteam_Model_Log', $columnMap);
             $logger->addWriter($dbWriter);
             // add additional data to log message
             $auth = Zend_Auth::getInstance();
             $identity = $auth->getIdentity();
             $user = $identity['UserName'];
             $logger->setEventItem('user', $user);
             $logger->setEventItem('videoid', $result[0]['VideoID']);
             // write log message
             $logger->log('user trace', Zend_Log::INFO);
         } else {
             throw new Zend_Controller_Action_Exception('Page not found', 404);
         }
     } else {
         throw new Zend_Controller_Action_Exception('Invalid input');
     }
 }
Exemplo n.º 21
0
 /**
  * get the Zend_Log object
  * @return Zend_Log
  */
 public function getLog()
 {
     $this->log->setEventItem('pid', posix_getpid());
     $this->log->setEventItem('syslog_time', date('Y-m-d H:i:s'));
     return $this->log;
 }
Exemplo n.º 22
0
#!/usr/bin/php
<?php 
require_once '../application/bootstrap.php';
//TODO MP3 ID3 Tagging
//TODO
$init = new Initializer(isset($argv[1]) ? $argv[1] : 'production');
$init->initDb();
$init->initApp();
$config = $init->getConfig();
$log = new Zend_Log();
$logwriter = new Zend_Log_Writer_Stream('ingestion.log');
$logwriter->setFormatter(new Zend_Log_Formatter_Simple('%timestamp% %priorityName% (%priority%): %process% [%track%] %message%' . PHP_EOL));
$log->addWriter($logwriter);
$log->setEventItem('process', str_pad(rand(0, 999), 3, '0'));
define('WORKDIR', $config->injestion->workDir);
$s3 = new S3($config->aws->accessKey, $config->aws->secretKey);
//------------------------------------
$log->log('-- begin processing tracks --', Zend_Log::INFO);
$table = new Doctrine_Table('Track', Doctrine_Manager::connection(), true);
while ($track = $table->findOneByEncodingstatus('UPLOADED')) {
    $log->setEventItem('track', $track->id);
    $track->encodingStatus = 'PROCESSING';
    $track->save();
    $log->log('- processing track', Zend_Log::INFO);
    // Make sure track has an original file id
    if (intval($track->originalFileId) == 0) {
        $track->encodingStatus = 'ERROR';
        $track->save();
        $log->log('error: no source file to process', Zend_Log::ERR);
        continue;
    }
Exemplo n.º 23
0
 protected function _initLog()
 {
     $log = new Zend_Log();
     $log->setEventItem('domain', 'error');
     // Non-production
     if (APPLICATION_ENV !== 'production') {
         $log->addWriter(new Zend_Log_Writer_Firebug());
     }
     // Get log config
     $db = Engine_Db_Table::getDefaultAdapter();
     $logAdapter = $db->select()->from('engine4_core_settings', 'value')->where('`name` = ?', 'core.log.adapter')->query()->fetchColumn();
     // Set up log
     switch ($logAdapter) {
         case 'database':
             try {
                 $log->addWriter(new Zend_Log_Writer_Db($db, 'engine4_core_log'));
             } catch (Exception $e) {
                 // Make sure logging doesn't cause exceptions
                 $log->addWriter(new Zend_Log_Writer_Null());
             }
             break;
         default:
         case 'file':
             try {
                 $log->addWriter(new Zend_Log_Writer_Stream(APPLICATION_PATH . '/temporary/log/main.log'));
             } catch (Exception $e) {
                 // Check directory
                 if (!@is_dir(APPLICATION_PATH . '/temporary/log') && @mkdir(APPLICATION_PATH . '/temporary/log', 0777, true)) {
                     $log->addWriter(new Zend_Log_Writer_Stream(APPLICATION_PATH . '/temporary/log/main.log'));
                 } else {
                     // Silence ...
                     if (APPLICATION_ENV !== 'production') {
                         $log->log($e->__toString(), Zend_Log::CRIT);
                     } else {
                         // Make sure logging doesn't cause exceptions
                         $log->addWriter(new Zend_Log_Writer_Null());
                     }
                 }
             }
             break;
         case 'none':
             $log->addWriter(new Zend_Log_Writer_Null());
             break;
     }
     // Save to registry
     Zend_Registry::set('Zend_Log', $log);
     // Register error handlers
     Engine_Api::registerErrorHandlers();
     if ('production' != APPLICATION_ENV) {
         Engine_Exception::setLog($log);
     }
     return $log;
 }
Exemplo n.º 24
0
require_once 'push_handler/OpenZisPushHandler.php';
$ZSN = new Zend_Session_Namespace('openzisadmin');
$config = new Zend_Config_Ini('../config.ini', 'zit_config');
$tz = isset($config->application->root->date_timezone) ? $config->application->root->date_timezone : 'America/New_York';
date_default_timezone_set($tz);
define('CACHE', $config->application->root->directory . "/tmp");
define('NUMMESSAGES', $config->interface->message->display);
$frontendOptions = array('automatic_serialization' => true);
$backendOptions = array('cache_dir' => CACHE);
$cache = Zend_Cache::factory('Core', 'File', $frontendOptions, $backendOptions);
$logger = new Zend_Log();
$writer = new Zend_Log_Writer_Stream($config->application->root->directory . "/logs/recordshelf-log.xml");
$formater = new Zend_Log_Formatter_Xml();
$writer->setFormatter($formater);
$logger->addWriter($writer);
$logger->setEventItem('timestamp', date('D, j M Y H:i:s', time()));
Zend_Registry::set('logger', $logger);
Zend_Registry::set('log', $config->application->root->directory . '/logs/recordshelf-log.xml');
try {
    $frontController = Zend_Controller_Front::getInstance();
    $frontController->setControllerDirectory('../ADMIN_APPLICATION/controllers');
    if ($config->code->level == 1) {
        $frontController->throwExceptions(false);
        ini_set('error_reporting', 0);
        Zend_Db_Table_Abstract::setDefaultMetadataCache($cache);
    } elseif ($config->code->level == 2) {
        $frontController->throwExceptions(true);
        ini_set('error_reporting', E_ERROR);
    } elseif ($config->code->level == 3) {
        $frontController->throwExceptions(true);
        ini_set('error_reporting', E_ERROR & ~E_STRICT);