Example #1
0
 /**
  * @param Stream $writer
  * @param array $config
  */
 protected function addPriorityFilter(Stream $writer, array $config)
 {
     if (isset($config['priority'])) {
         $filter = new Priority($config['priority']);
         $writer->addFilter($filter);
     }
 }
Example #2
0
 public function __construct($options = null)
 {
     parent::__construct($options);
     if ($options instanceof \Traversable) {
         $options = ArrayUtils::iteratorToArray($options);
     }
     if (is_array($options)) {
         if (!empty($options['stream'])) {
             if (!is_array($options['stream'])) {
                 $options['stream'] = ['uri' => $options['stream']];
             }
             if (!empty($options['stream']['uri'])) {
                 $writer = new Stream($options['stream']['uri']);
                 if (!empty($options['stream']['priority'])) {
                     $filter = new Priority($options['stream']['priority']);
                     $writer->addFilter($filter);
                 }
                 $this->addWriter($writer);
             }
         }
         if (!empty($options['slack'])) {
             $writer = new SlackWriter($options['slack']);
             $this->addWriter($writer);
         }
         if (!empty($options['register_error_handler'])) {
             Logger::registerErrorHandler($this);
         }
         if (!empty($options['register_exception_handler'])) {
             Logger::registerExceptionHandler($this);
         }
     }
 }
Example #3
0
 /**
  * @param $log_path
  * @return ZendLogger
  */
 public static function getLogger($log_path)
 {
     if (!self::$logger) {
         #region ディレクトリ生成
         $date = date('Ym');
         $error_dir = $log_path . 'error/' . $date . '/';
         $info_dir = $log_path . 'info/' . $date . '/';
         if (!file_exists($error_dir)) {
             @mkdir($error_dir, 0777);
         }
         if (!file_exists($info_dir)) {
             @mkdir($info_dir, 0777);
         }
         #endregion
         #region log初期設定
         $logger = new ZendLogger();
         $writer_err = new Stream($error_dir . date('Y-m-d') . '.log');
         $writer_info = new Stream($info_dir . date('Y-m-d') . '.log');
         //エラーログの出力レベル変更
         $filter = new Priority(ZendLogger::WARN);
         $writer_err->addFilter($filter);
         $logger->addWriter($writer_err);
         $logger->addWriter($writer_info);
         #endregion
         self::$logger = $logger;
     }
     return self::$logger;
 }
 /**
  * Factory method for creating a log object
  * @param array $config
  * @return \Zend\Log\Writer\Stream
  */
 public function create($config)
 {
     $stream = $config['stream'];
     $mode = null;
     if (isset($config['mode'])) {
         $mode = $config['mode'];
     }
     $writer = new Stream($stream, $mode);
     if (isset($config['formatter'])) {
         $formatter = new $config['formatter']();
         $writer->setFormatter($formatter);
     }
     return $writer;
 }
Example #5
0
 public function onBootstrap(MvcEvent $e)
 {
     $events = StaticEventManager::getInstance();
     $serviceManager = $e->getApplication()->getServiceManager();
     $appConfig = $serviceManager->get('Config');
     $logger = new Logger();
     if (!isset($appConfig['operation_logger'])) {
         throw new \RuntimeException("Logger not properly configured");
     }
     if (!isset($appConfig['operation_logger']['priority_filter'])) {
         throw new \RuntimeException("You must specify a 'priority_filter' config param");
     }
     $logFilter = new PriorityFilter($appConfig['operation_logger']['priority_filter']);
     if (!is_null($appConfig['operation_logger']['db_adapter'])) {
         if (empty($appConfig['operation_logger']['logger_table'])) {
             throw new \RuntimeException("You must specify a 'logger_table' config param");
         }
         $dbAdapter = $serviceManager->get($appConfig['operation_logger']['db_adapter']);
         if (!$dbAdapter instanceof \Zend\Db\Adapter\Adapter) {
             throw new \RuntimeException("Failed to load database adapter for logger");
         }
         $tableMapping = array('timestamp' => 'event_date', 'priorityName' => 'priority', 'message' => 'event', 'extra' => array('id_operation_log' => 'id_operation_log', 'note' => 'note', 'table' => 'table_name', 'id_user' => 'id_user', 'username' => 'username', 'id_row' => 'id_row', 'field' => 'field', 'value_old' => 'value_old', 'value_new' => 'value_new', 'source' => 'source', 'uri' => 'uri', 'ip' => 'ip', 'session_id' => 'session_id'));
         $logWriter = new DbWriter($dbAdapter, $appConfig['operation_logger']['logger_table'], $tableMapping);
         $logWriter->addFilter($logFilter);
         $logger->addWriter($logWriter);
     }
     // nel caso si volgia fare un file LOG
     if (isset($appConfig['operation_logger']['log_file']) && !is_null($appConfig['operation_logger']['log_file'])) {
         $streamWriter = new StreamWriter($appConfig['operation_logger']['log_file']);
         $streamWriter->addFilter($logFilter);
         $logger->addWriter($streamWriter);
     }
     $request = $e->getApplication()->getRequest();
     $remoteAddress = new RemoteAddress();
     Logger::registerErrorHandler($logger, true);
     Logger::registerExceptionHandler($logger);
     // Attacco evento per trigger LOG! (evento: operation-log)
     $events->attach("*", 'operation-log', function (\Zend\EventManager\Event $e) use($logger, $request, $remoteAddress, $serviceManager) {
         $targetClass = get_class($e->getTarget());
         $message = $e->getParam('message');
         $priority = $e->getParam('priority', Logger::INFO);
         $zfcAuthEvents = $serviceManager->get('zfcuser_auth_service');
         $idUser = $zfcAuthEvents->hasIdentity() ? $zfcAuthEvents->getIdentity()->getId() : (array_key_exists('id_user', $message) ? $message['id_user'] : '******');
         $displayName = $zfcAuthEvents->hasIdentity() ? $zfcAuthEvents->getIdentity()->getDisplayName() : (array_key_exists('username', $message) ? $message['username'] : '******');
         $extras = array('id_operation_log' => null, 'note' => array_key_exists('note', $message) ? $message['note'] : null, 'table_name' => array_key_exists('table', $message) ? $message['table'] : null, 'operation' => array_key_exists('operation', $message) ? $message['operation'] : null, 'id_user' => $idUser, 'username' => $displayName, 'id_row' => array_key_exists('id_row', $message) ? $message['id_row'] : null, 'field' => array_key_exists('field', $message) ? $message['field'] : null, 'value_old' => array_key_exists('value_old', $message) ? $message['value_old'] : null, 'value_new' => array_key_exists('value_new', $message) ? $message['value_new'] : null, 'source' => $targetClass, 'uri' => $request->getUriString(), 'ip' => $remoteAddress->getIpAddress(), 'session_id' => session_id());
         $logger->log($priority, $message['message'], $extras);
     });
 }
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     // TODO: Auto-generated method stub
     $params = $serviceLocator->get('logger_config');
     $path_filename = $params['path_filename'];
     $file_name = $params['log_filename'];
     $priority = $params['priority'];
     $writer = new Writer\Stream($path_filename . DIRECTORY_SEPARATOR . $params['log_filename'] . ".txt", "a");
     $formatter = new Formatter\Simple('%timestamp% | %message%');
     $filter = new Filter\Priority((int) $priority);
     $writer->setFormatter($formatter);
     $writer->addFilter($filter);
     $logger = new Logger();
     $logger->addWriter($writer);
     return $logger;
 }
Example #7
0
 public function testFilterOnSpecificWriter()
 {
     $log2 = fopen('php://memory', 'w');
     $writer2 = new Writer\Stream($log2);
     $writer2->addFilter(Logger::ERR);
     $this->logger->addWriter($writer2);
     $this->logger->warn($warn = 'warn-message');
     $this->logger->err($err = 'err-message');
     rewind($this->log);
     $logdata = stream_get_contents($this->log);
     $this->assertContains($warn, $logdata);
     $this->assertContains($err, $logdata);
     rewind($log2);
     $logdata = stream_get_contents($log2);
     $this->assertContains($err, $logdata);
     $this->assertNotContains($warn, $logdata);
 }
Example #8
0
 /**
  * Constructor
  *
  * @param  string|resource|array|\Traversable $streamOrUrl Stream or URL to open as a stream
  * @param  string|null $mode Mode, only applicable if a URL is given
  * @param  null|string $logSeparator Log separator string
  * @return Stream
  * @throws Exception\InvalidArgumentException
  * @throws Exception\RuntimeException
  */
 public function __construct($streamOrUrl, $mode = null, $logSeparator = null)
 {
     if (is_array($streamOrUrl)) {
         $streamOrUrl['stream'] = getenv(self::ENV_LOG_PATH) ?: $streamOrUrl['stream'];
     } elseif (is_string($streamOrUrl)) {
         $streamOrUrl = getenv(self::ENV_LOG_PATH) ?: $streamOrUrl;
     }
     parent::__construct($streamOrUrl, $mode, $logSeparator);
 }
Example #9
0
 /**
  * Write a message to the log.
  *
  * @param array $event event data
  *
  * @return void
  * @throws \Zend\Log\Exception\RuntimeException
  */
 protected function doWrite(array $event)
 {
     // Apply verbosity filter:
     if (is_array($event['message'])) {
         $event['message'] = $event['message'][$this->verbosity];
     }
     // Call parent method:
     return parent::doWrite($event);
 }
Example #10
0
 public function onBootstrap(MvcEvent $e)
 {
     $events = StaticEventManager::getInstance();
     $serviceManager = $e->getApplication()->getServiceManager();
     $appConfig = $serviceManager->get('Config');
     $logger = new Logger();
     if (!isset($appConfig['logger'])) {
         throw new \RuntimeException("Logger not properly configured");
     }
     if (!isset($appConfig['logger']['priority_filter'])) {
         throw new \RuntimeException("You must specify a 'priority_filter' config param");
     }
     $logFilter = new PriorityFilter($appConfig['logger']['priority_filter']);
     if (!is_null($appConfig['logger']['db_adapter'])) {
         if (empty($appConfig['logger']['logger_table'])) {
             throw new \RuntimeException("You must specify a 'logger_table' config param");
         }
         $dbAdapter = $serviceManager->get($appConfig['logger']['db_adapter']);
         if (!$dbAdapter instanceof \Zend\Db\Adapter\Adapter) {
             throw new \RuntimeException("Failed to load database adapter for logger");
         }
         $tableMapping = array('timestamp' => 'event_date', 'priorityName' => 'priority', 'message' => 'event', 'extra' => array('source' => 'source', 'uri' => 'uri', 'ip' => 'ip', 'session_id' => 'session_id'));
         $logWriter = new DbWriter($dbAdapter, $appConfig['logger']['logger_table'], $tableMapping);
         $logWriter->addFilter($logFilter);
         $logger->addWriter($logWriter);
     }
     if (isset($appConfig['logger']['log_file']) && !is_null($appConfig['logger']['log_file'])) {
         $streamWriter = new StreamWriter($appConfig['logger']['log_file']);
         $streamWriter->addFilter($logFilter);
         $logger->addWriter($streamWriter);
     }
     $request = $e->getApplication()->getRequest();
     $remoteAddress = new RemoteAddress();
     Logger::registerErrorHandler($logger, true);
     Logger::registerExceptionHandler($logger);
     $events->attach("*", 'log', function (\Zend\EventManager\Event $e) use($logger, $request, $remoteAddress) {
         $targetClass = get_class($e->getTarget());
         $message = $e->getParam('message', "[No Message Provided]");
         $priority = $e->getParam('priority', Logger::INFO);
         $extras = array('source' => $targetClass, 'uri' => $request->getUriString(), 'ip' => $remoteAddress->getIpAddress(), 'session_id' => session_id());
         $logger->log($priority, $message, $extras);
     });
 }
 /**
  * @param string $filename
  * @param SundewAuthStorage $user
  */
 function __construct($filename, $user = null)
 {
     if ($user) {
         $this->current_user = get_object_vars($user);
     } else {
         $this->current_user = array();
     }
     $logger = new Logger();
     $writer = new LogWriter('./data/logs/' . $filename);
     $format = '%priorityName%: %timestamp%';
     if (!empty($this->current_user)) {
         $format .= PHP_EOL . 'Extra: %extra%';
     }
     $format .= PHP_EOL . "=============================================================" . PHP_EOL;
     $format .= '%message%';
     $format .= PHP_EOL . "=============================================================" . PHP_EOL;
     $formatter = new LogFormatter($format);
     $writer->setFormatter($formatter);
     $logger->addWriter($writer);
     $this->logger = $logger;
 }
Example #12
0
 public function testSettingNewFormatter()
 {
     $stream = fopen('php://memory', 'w+');
     $writer = new StreamWriter($stream);
     $expected = 'foo';
     $formatter = new SimpleFormatter($expected);
     $writer->setFormatter($formatter);
     $writer->write(array('bar' => 'baz'));
     rewind($stream);
     $contents = stream_get_contents($stream);
     fclose($stream);
     $this->assertContains($expected, $contents);
 }
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $config = $serviceLocator->get('Config');
     $config = isset($config['log']['ErrorLogger']['config']) ? $config['log']['ErrorLogger']['config'] : array();
     if (!isset($config['stream'])) {
         throw new \RuntimeException('A stream must be configured for ErrorLogger.');
     }
     $formatter = new ErrorAndExceptionHandler(array('dateTimeFormat' => 'Y-m-d H:i:s'));
     $writer = new Stream($config['stream']);
     $writer->setFormatter($formatter);
     $logger = new Logger();
     if (!isset($config['log_errors']) || !$config['log_errors']) {
         $writer->addFilter(new ErrorType(ErrorType::TYPE_EXCEPTION));
     } else {
         Logger::registerErrorHandler($logger);
     }
     if (!isset($config['log_exceptions']) || !$config['log_exceptions']) {
         $writer->addFilter(new ErrorType(ErrorType::TYPE_ERROR));
     } else {
         Logger::registerExceptionHandler($logger);
     }
     $logger->addWriter($writer);
     return $logger;
 }
Example #14
0
 public function testConstructWithOptions()
 {
     $formatter = new \Zend\Log\Formatter\Simple();
     $filter = new \Zend\Log\Filter\Mock();
     $writer = new StreamWriter(array('filters' => $filter, 'formatter' => $formatter, 'stream' => 'php://memory', 'mode' => 'w+', 'log_separator' => '::'));
     $this->assertEquals('::', $writer->getLogSeparator());
     $this->assertAttributeEquals($formatter, 'formatter', $writer);
     $filters = self::readAttribute($writer, 'filters');
     $this->assertCount(1, $filters);
     $this->assertEquals($filter, $filters[0]);
 }
Example #15
0
 public function getServiceConfig()
 {
     return array('invokables' => array('service_universal_dashboard_main' => 'DDD\\Service\\UniversalDashboard\\Main', 'service_accommodations' => 'DDD\\Service\\Accommodations', 'service_upload' => 'DDD\\Service\\Upload', 'service_partners' => 'DDD\\Service\\Partners', 'service_partner_gcm_value' => 'DDD\\Service\\PartnerGcmValue', 'service_currency_currency' => 'DDD\\Service\\Currency\\Currency', 'service_currency_currency_vault' => 'DDD\\Service\\Currency\\CurrencyVault', 'service_profile' => 'DDD\\Service\\Profile', 'service_location' => 'DDD\\Service\\Location', 'service_review' => 'DDD\\Service\\Review', 'service_booking' => 'DDD\\Service\\Booking', 'service_blog' => 'DDD\\Service\\Blog', 'service_news' => 'DDD\\Service\\News', 'service_language' => 'DDD\\Service\\Language', 'service_translation' => 'DDD\\Service\\Translation', 'service_textline' => 'DDD\\Service\\Textline', 'service_channel_manager' => 'DDD\\Service\\ChannelManager', 'service_queue_inventory_synchronization_queue' => 'DDD\\Service\\Queue\\InventorySynchronizationQueue', 'service_distribution' => 'DDD\\Service\\Distribution', 'service_queue_email_queue' => 'DDD\\Service\\Queue\\EmailQueue', 'service_apartment_group' => 'DDD\\Service\\ApartmentGroup', 'service_apartment_group_main' => 'DDD\\Service\\ApartmentGroup\\Main', 'service_apartment_group_deactivate' => 'DDD\\Service\\ApartmentGroup\\Deactivate', 'service_apartment_group_usages_concierge' => 'DDD\\Service\\ApartmentGroup\\Usages\\Concierge', 'service_apartment_group_usages_apartel' => 'DDD\\Service\\ApartmentGroup\\Usages\\Apartel', 'service_apartment_group_usages_building' => 'DDD\\Service\\ApartmentGroup\\Usages\\Building', 'service_user' => 'DDD\\Service\\User', 'service_user_main' => 'DDD\\Service\\User\\Main', 'service_user_documents' => 'DDD\\Service\\User\\Documents', 'service_user_evaluations' => 'DDD\\Service\\User\\Evaluations', 'service_user_schedule' => 'DDD\\Service\\User\\Schedule', 'service_user_disable_user' => 'DDD\\Service\\User\\DisableUser', 'service_user_permissions' => 'DDD\\Service\\User\\Permissions', 'service_user_vacation' => 'DDD\\Service\\User\\Vacation', 'service_user_external_account' => 'DDD\\Service\\User\\ExternalAccount', 'service_user_salary_scheme' => 'DDD\\Service\\User\\SalaryScheme', 'service_apartment_amenities' => 'DDD\\Service\\Apartment\\Amenities', 'service_apartment_amenity_items' => 'DDD\\Service\\Apartment\\AmenityItems', 'service_apartment_main' => 'DDD\\Service\\Apartment\\Main', 'service_apartment_general' => 'DDD\\Service\\Apartment\\General', 'service_apartment_details' => 'DDD\\Service\\Apartment\\Details', 'service_apartment_location' => 'DDD\\Service\\Apartment\\Location', 'service_apartment_rate' => 'DDD\\Service\\Apartment\\Rate', 'service_apartment_inventory' => 'DDD\\Service\\Apartment\\Inventory', 'service_apartment_review' => 'DDD\\Service\\Apartment\\Review', 'service_apartment_furniture' => 'DDD\\Service\\Apartment\\Furniture', 'service_apartment_statistics' => 'DDD\\Service\\Apartment\\Statistics', 'service_apartment_logs' => 'DDD\\Service\\Apartment\\Logs', 'service_parking_general' => 'DDD\\Service\\Parking\\General', 'service_parking_inventory' => 'DDD\\Service\\Parking\\Inventory', 'service_parking_spot' => 'DDD\\Service\\Parking\\Spot', 'service_parking_spot_inventory' => 'DDD\\Service\\Parking\\Spot\\Inventory', 'service_apartment_group_facilities' => 'DDD\\Service\\ApartmentGroup\\Facilities', 'service_apartment_group_facility_items' => 'DDD\\Service\\ApartmentGroup\\FacilityItems', 'service_apartment_group_building_details' => 'DDD\\Service\\ApartmentGroup\\BuildingDetails', 'service_penalty_calculation' => 'DDD\\Service\\PenaltyCalculation', 'service_task' => 'DDD\\Service\\Task', 'service_group_inventory' => 'DDD\\Service\\GroupInventory', 'service_geolite_country' => 'DDD\\Service\\GeoliteCountry', 'service_booking_management' => 'DDD\\Service\\Booking\\BookingManagement', 'service_booking_booking_ticket' => 'DDD\\Service\\Booking\\BookingTicket', 'service_booking_charge' => 'DDD\\Service\\Booking\\Charge', 'service_booking_bank_transaction' => 'DDD\\Service\\Booking\\BankTransaction', 'service_booking_booking_addon' => 'DDD\\Service\\Booking\\BookingAddon', 'service_booking_reservation_issues' => 'DDD\\Service\\Booking\\ReservationIssues', 'service_booking_attachment' => 'DDD\\Service\\Booking\\Attachment', 'service_money_account' => 'DDD\\Service\\MoneyAccount', 'service_money_account_attachment' => 'DDD\\Service\\MoneyAccountAttachment', 'service_psp' => 'DDD\\Service\\Psp', 'service_universal_dashboard_widget_ki_not_viewed' => 'DDD\\Service\\UniversalDashboard\\Widget\\KINotViewed', 'service_universal_dashboard_widget_no_collection' => 'DDD\\Service\\UniversalDashboard\\Widget\\NoCollection', 'service_universal_dashboard_widget_collect_from_customer' => 'DDD\\Service\\UniversalDashboard\\Widget\\CollectFromCustomer', 'service_universal_dashboard_widget_pay_to_customer' => 'DDD\\Service\\UniversalDashboard\\Widget\\PayToCustomer', 'service_universal_dashboard_widget_to_be_settled' => 'DDD\\Service\\UniversalDashboard\\Widget\\ToBeSettled', 'service_universal_dashboard_widget_pending_transaction' => 'DDD\\Service\\UniversalDashboard\\Widget\\PendingTransaction', 'service_universal_dashboard_widget_collect_from_partner' => 'DDD\\Service\\UniversalDashboard\\Widget\\CollectFromPartner', 'service_universal_dashboard_widget_validate_cc' => 'DDD\\Service\\UniversalDashboard\\Widget\\ValidateCC', 'service_universal_dashboard_widget_pending_cancellation' => 'DDD\\Service\\UniversalDashboard\\Widget\\PendingCancelation', 'service_universal_dashboard_widget_in_registration_process' => 'DDD\\Service\\UniversalDashboard\\Widget\\InRegistrationProcess', 'service_universal_dashboard_widget_suspended_apartments' => 'DDD\\Service\\UniversalDashboard\\Widget\\SuspendedApartments', 'service_universal_dashboard_widget_pinned_reservation' => 'DDD\\Service\\UniversalDashboard\\Widget\\PinnedReservation', 'service_universal_dashboard_widget_resolve_comments' => 'DDD\\Service\\UniversalDashboard\\Widget\\ResolveComments', 'service_universal_dashboard_widget_not_charged_apartel_reservations' => 'DDD\\Service\\UniversalDashboard\\Widget\\NotChargedApartelReservations', 'service_universal_dashboard_widget_overbooking_reservations' => 'DDD\\Service\\UniversalDashboard\\Widget\\OverbookingReservations', 'service_universal_dashboard_widget_upcoming_evaluations' => 'DDD\\Service\\UniversalDashboard\\Widget\\UpcomingEvaluations', 'service_universal_dashboard_widget_evaluation_less_employees' => 'DDD\\Service\\UniversalDashboard\\Widget\\EvaluationLessEmployees', 'service_universal_dashboard_widget_time_off_requests' => 'DDD\\Service\\UniversalDashboard\\Widget\\TimeOffRequests', 'service_ota_distribution' => 'DDD\\Service\\OTADistribution', 'service_website_cache' => 'DDD\\Service\\Website\\Cache', 'service_apartment_ota_distribution' => 'DDD\\Service\\Apartment\\OTADistribution', 'service_notifications' => 'DDD\\Service\\Notifications', 'service_apartment_review_category' => 'DDD\\Service\\Apartment\\ReviewCategory', 'service_taxes' => 'DDD\\Service\\Taxes', 'service_team_team' => 'DDD\\Service\\Team\\Team', 'service_office' => 'DDD\\Service\\Office', 'service_finance_customer' => 'DDD\\Service\\Finance\\Customer', 'service_finance_account_receivable_chart' => 'DDD\\Service\\Finance\\AccountReceivable\\Chart', 'service_common' => 'DDD\\Service\\Common', 'service_fraud' => 'DDD\\Service\\Fraud', 'service_recruitment_applicant' => 'DDD\\Service\\Recruitment\\Applicant', 'service_reservation_main' => 'DDD\\Service\\Reservation\\Main', 'service_reservation_worst_cxl_policy_selector' => 'DDD\\Service\\Reservation\\WorstCXLPolicySelector', 'service_reservation_partner_specific' => 'DDD\\Service\\Reservation\\PartnerSpecific', 'service_availability' => 'DDD\\Service\\Availability', 'service_email_sender' => 'DDD\\Service\\EmailSender', 'service_frontier' => 'DDD\\Service\\Frontier', 'service_finance_transaction_account' => 'DDD\\Service\\Finance\\TransactionAccount', 'service_team_usages_base' => 'DDD\\Service\\Team\\Usages\\Base', 'service_team_usages_security' => 'DDD\\Service\\Team\\Usages\\Security', 'service_team_usages_frontier' => 'DDD\\Service\\Team\\Usages\\Frontier', 'service_team_usages_hiring' => 'DDD\\Service\\Team\\Usages\\Hiring', 'service_team_usages_procurement' => 'DDD\\Service\\Team\\Usages\\Procurement', 'service_customer' => 'DDD\\Service\\Customer', 'service_reservation_rate_selector' => 'DDD\\Service\\Reservation\\RateSelector', 'service_lock_general' => 'DDD\\Service\\Lock\\General', 'service_lock_usages_apartment' => 'DDD\\Service\\Lock\\Usages\\Apartment', 'service_lock_usages_building' => 'DDD\\Service\\Lock\\Usages\\Building', 'service_lock_usages_parking' => 'DDD\\Service\\Lock\\Usages\\Parking', 'service_reservation_charge_authorization' => 'DDD\\Service\\Reservation\\ChargeAuthorization', 'service_cubilis_connection' => 'DDD\\Service\\Cubilis\\Connection', 'service_reservation_identificator' => 'DDD\\Service\\Reservation\\Identificator', 'service_tag_tag' => 'DDD\\Service\\Tag\\Tag', 'service_warehouse_category' => 'DDD\\Service\\Warehouse\\Category', 'service_warehouse_storage' => 'DDD\\Service\\Warehouse\\Storage', 'service_finance_budget' => 'DDD\\Service\\Finance\\Budget', 'service_warehouse_asset' => 'DDD\\Service\\Warehouse\\Asset', 'service_document_document' => 'DDD\\Service\\Document\\Document', 'service_unit_testing' => 'DDD\\Service\\UnitTesting', 'service_cache_memcache' => 'DDD\\Service\\Cache\\Memcache', 'library_service_google_auth' => 'Library\\Service\\GoogleAuth', 'service_website_search' => 'DDD\\Service\\Website\\Search', 'service_website_apartment' => 'DDD\\Service\\Website\\Apartment'), 'factories' => array('Zend\\Session\\SessionManager' => function ($sm) {
         $config = $sm->get('config');
         if (isset($config['session'])) {
             $session = $config['session'];
             $sessionSaveHandler = null;
             $sessionStorage = null;
             $sessionConfig = null;
             if (isset($session['config'])) {
                 $class = isset($session['config']['class']) ? $session['config']['class'] : 'Zend\\Session\\Config\\SessionConfig';
                 $options = isset($session['config']['options']) ? $session['config']['options'] : [];
                 $sessionConfig = new $class();
                 $sessionConfig->setOptions($options);
             }
             if (isset($session['storage'])) {
                 $class = $session['storage'];
                 $sessionStorage = new $class();
             }
             if (isset($session['save_handler'])) {
                 // class should be fetched from service manager since it will require constructor arguments
                 $sessionSaveHandler = $sm->get($session['save_handler']);
             }
             $sessionManager = new SessionManager($sessionConfig, $sessionStorage, $sessionSaveHandler);
             if (isset($session['validator'])) {
                 $chain = $sessionManager->getValidatorChain();
                 foreach ($session['validator'] as $validator) {
                     $validator = new $validator();
                     $chain->attach('session.validate', [$validator, 'isValid']);
                 }
             }
         } else {
             $sessionManager = new SessionManager();
         }
         Container::setDefaultManager($sessionManager);
         return $sessionManager;
     }, 'Library\\Authentication\\BackofficeAuthenticationService' => function ($sm) {
         $authAdapter = new BcryptDbAdapter($sm->get('dbadapter'), DbTables::TBL_BACKOFFICE_USERS, 'email', 'password');
         $authStorage = new AuthStorage();
         $backofficeAuthenticationService = new BackofficeAuthenticationService($authStorage, $authAdapter);
         $backofficeAuthenticationService->setServiceManager($sm);
         return $backofficeAuthenticationService;
     }, 'MainNavigation' => function ($sm) {
         $authUser = $sm->get('library_backoffice_auth');
         if (!$authUser->hasIdentity()) {
             $url = $sm->get('router')->assemble([], ['name' => 'backoffice_user_login']);
             $response = $sm->get('response');
             $response->getHeaders()->addHeaderLine('Location', $url);
             $response->setStatusCode(302);
             $response->sendHeaders();
             return $response;
         }
         $navigation = new BackofficeNavigation();
         $navigation->setName('main');
         return $navigation->createService($sm);
     }, 'ProfileNavigation' => function ($sm) {
         $navigation = new BackofficeNavigation();
         $navigation->setName('profile');
         return $navigation->createService($sm);
     }, 'NotificationsNavigation' => function ($sm) {
         $navigation = new BackofficeNavigation();
         $navigation->setName('notifications');
         return $navigation->createService($sm);
     }, 'ChannelManager' => function ($sm) {
         return new ChannelManager($sm);
     }, 'ActionLogger' => function ($sm) {
         return new \Library\ActionLogger\Logger($sm);
     }, 'CurrencyList' => function ($sm) {
         return $sm->get('dao_currency_currency')->getAllCurrencies();
     }, 'DDD\\Service\\Location' => function ($sm) {
         $as = new \DDD\Service\Location();
         $as->setServiceLocator($sm);
         return $as;
     }, 'DDD\\Service\\Website\\Cache' => function ($sm) {
         $service = new \DDD\Service\Website\Cache();
         $service->setServiceLocator($sm);
         return $service;
     }, 'DDD\\Service\\Notifications' => function ($sm) {
         $service = new \DDD\Service\Notifications();
         $service->setServiceLocator($sm);
         return $service;
     }, 'DDD\\Dao\\User\\Users' => function ($sm) {
         $as = new \DDD\Dao\User\Users($sm);
         return $as;
     }, 'DDD\\Dao\\User\\UserManager' => function ($sm) {
         $as = new \DDD\Dao\User\UserManager($sm);
         return $as;
     }, 'DDD\\Dao\\User\\UserGroup' => function ($sm) {
         $as = new \DDD\Dao\User\UserGroup($sm);
         return $as;
     }, 'DDD\\Dao\\User\\Schedule\\Schedule' => function ($sm) {
         $as = new \DDD\Dao\User\Schedule\Schedule($sm);
         return $as;
     }, 'DDD\\Dao\\User\\Schedule\\Inventory' => function ($sm) {
         $as = new \DDD\Dao\User\Schedule\Inventory($sm);
         return $as;
     }, 'DDD\\Dao\\User\\Document\\Documents' => function ($sm) {
         $as = new \DDD\Dao\User\Document\Documents($sm);
         return $as;
     }, 'DDD\\Dao\\User\\Document\\DocumentTypes' => function ($sm) {
         $as = new \DDD\Dao\User\Document\DocumentTypes($sm);
         return $as;
     }, 'DDD\\Dao\\User\\Evaluation\\Evaluations' => function ($sm) {
         $as = new \DDD\Dao\User\Evaluation\Evaluations($sm);
         return $as;
     }, 'DDD\\Dao\\User\\Evaluation\\EvaluationItems' => function ($sm) {
         $as = new \DDD\Dao\User\Evaluation\EvaluationItems($sm);
         return $as;
     }, 'DDD\\Dao\\User\\Evaluation\\EvaluationTypes' => function ($sm) {
         $as = new \DDD\Dao\User\Evaluation\EvaluationTypes($sm);
         return $as;
     }, 'DDD\\Dao\\User\\Evaluation\\EvaluationValues' => function ($sm) {
         $as = new \DDD\Dao\User\Evaluation\EvaluationValues($sm);
         return $as;
     }, 'DDD\\Dao\\User\\Devices' => function ($sm) {
         $as = new \DDD\Dao\User\Devices($sm);
         return $as;
     }, 'DDD\\Dao\\MoneyAccount\\MoneyAccount' => function ($sm) {
         $as = new \DDD\Dao\MoneyAccount\MoneyAccount($sm);
         return $as;
     }, 'DDD\\Dao\\MoneyAccount\\MoneyAccountUsers' => function ($sm) {
         $as = new \DDD\Dao\MoneyAccount\MoneyAccountUsers($sm);
         return $as;
     }, 'DDD\\Dao\\MoneyAccount\\Attachment' => function ($sm) {
         $instance = new \DDD\Dao\MoneyAccount\Attachment($sm);
         return $instance;
     }, 'DDD\\Dao\\MoneyAccount\\AttachmentItem' => function ($sm) {
         $instance = new \DDD\Dao\MoneyAccount\AttachmentItem($sm);
         return $instance;
     }, 'DDD\\Dao\\Finance\\Supplier' => function ($sm) {
         $as = new \DDD\Dao\Finance\Supplier($sm);
         return $as;
     }, 'DDD\\Dao\\Geolocation\\Countries' => function ($sm) {
         $as = new \DDD\Dao\Geolocation\Countries($sm);
         return $as;
     }, 'DDD\\Dao\\Geolocation\\City' => function ($sm) {
         $as = new \DDD\Dao\Geolocation\City($sm);
         return $as;
     }, 'DDD\\Dao\\Currency\\Currency' => function ($sm) {
         $as = new \DDD\Dao\Currency\Currency($sm);
         return $as;
     }, 'DDD\\Dao\\Currency\\CurrencyVault' => function ($sm) {
         $as = new \DDD\Dao\Currency\CurrencyVault($sm);
         return $as;
     }, 'DDD\\Dao\\ActionLogs\\ActionLogs' => function ($sm) {
         return new \DDD\Dao\ActionLogs\ActionLogs($sm);
     }, 'DDD\\Dao\\ActionLogs\\LogsTeam' => function ($sm) {
         return new \DDD\Dao\ActionLogs\LogsTeam($sm);
     }, 'DDD\\Dao\\Finance\\Expense\\ExpenseItemCategories' => function ($sm) {
         $as = new \DDD\Dao\Finance\Expense\ExpenseItemCategories($sm);
         return $as;
     }, 'DDD\\Dao\\Accommodation\\Accommodations' => function ($sm) {
         $as = new \DDD\Dao\Accommodation\Accommodations($sm);
         return $as;
     }, 'DDD\\Dao\\User\\UserDashboards' => function ($sm) {
         $as = new \DDD\Dao\User\UserDashboards($sm);
         return $as;
     }, 'DDD\\Dao\\User\\UserGroups' => function ($sm) {
         $as = new \DDD\Dao\User\UserGroups($sm);
         return $as;
     }, 'DDD\\Dao\\User\\Dashboards' => function ($sm) {
         $as = new \DDD\Dao\User\Dashboards($sm);
         return $as;
     }, 'DDD\\Dao\\User\\Vacationdays' => function ($sm) {
         $as = new \DDD\Dao\User\Vacationdays($sm);
         return $as;
     }, 'DDD\\Dao\\User\\VacationRequest' => function ($sm) {
         $as = new \DDD\Dao\User\VacationRequest($sm);
         return $as;
     }, 'DDD\\Dao\\User\\ExternalAccount' => function ($sm) {
         $as = new \DDD\Dao\User\ExternalAccount($sm);
         return $as;
     }, 'DDD\\Dao\\User\\SalaryScheme' => function ($sm) {
         $as = new \DDD\Dao\User\SalaryScheme($sm);
         return $as;
     }, 'DDD\\Dao\\Apartment\\Amenities' => function ($sm) {
         $as = new \DDD\Dao\Apartment\Amenities($sm);
         return $as;
     }, 'DDD\\Dao\\Apartment\\AmenityItems' => function ($sm) {
         $as = new \DDD\Dao\Apartment\AmenityItems($sm);
         return $as;
     }, 'DDD\\Dao\\ApartmentGroup\\Facilities' => function ($sm) {
         $as = new \DDD\Dao\ApartmentGroup\Facilities($sm);
         return $as;
     }, 'DDD\\Dao\\ApartmentGroup\\FacilityItems' => function ($sm) {
         $as = new \DDD\Dao\ApartmentGroup\FacilityItems($sm);
         return $as;
     }, 'DDD\\Dao\\ApartmentGroup\\BuildingDetails' => function ($sm) {
         $as = new \DDD\Dao\ApartmentGroup\BuildingDetails($sm);
         return $as;
     }, 'DDD\\Dao\\ApartmentGroup\\BuildingSections' => function ($sm) {
         $as = new \DDD\Dao\ApartmentGroup\BuildingSections($sm);
         return $as;
     }, 'DDD\\Dao\\ApartmentGroup\\BuildingLots' => function ($sm) {
         $as = new \DDD\Dao\ApartmentGroup\BuildingLots($sm);
         return $as;
     }, 'DDD\\Dao\\ApartmentGroup\\ApartmentGroup' => function ($sm) {
         $as = new \DDD\Dao\ApartmentGroup\ApartmentGroup($sm);
         return $as;
     }, 'DDD\\Dao\\ApartmentGroup\\ApartmentGroupItems' => function ($sm) {
         $as = new \DDD\Dao\ApartmentGroup\ApartmentGroupItems($sm);
         return $as;
     }, 'DDD\\Dao\\ApartmentGroup\\ConciergeView' => function ($sm) {
         $as = new \DDD\Dao\ApartmentGroup\ConciergeView($sm);
         return $as;
     }, 'DDD\\Dao\\Booking\\Booking' => function ($sm) {
         $as = new \DDD\Dao\Booking\Booking($sm);
         return $as;
     }, 'DDD\\Dao\\ApartmentGroup\\ConciergeDashboardAccess' => function ($sm) {
         $as = new \DDD\Dao\ApartmentGroup\ConciergeDashboardAccess($sm);
         return $as;
     }, 'DDD\\Dao\\Partners\\Partners' => function ($sm) {
         $as = new \DDD\Dao\Partners\Partners($sm);
         return $as;
     }, 'DDD\\Dao\\Partners\\PartnerGcmValue' => function ($sm) {
         $as = new \DDD\Dao\Partners\PartnerGcmValue($sm);
         return $as;
     }, 'DDD\\Dao\\Partners\\PartnerAccount' => function ($sm) {
         $as = new \DDD\Dao\Partners\PartnerAccount($sm);
         return $as;
     }, 'DDD\\Dao\\Partners\\PartnerCityCommission' => function ($sm) {
         $as = new \DDD\Dao\Partners\PartnerCityCommission($sm);
         return $as;
     }, 'DDD\\Dao\\Geolocation\\Details' => function ($sm) {
         $as = new \DDD\Dao\Geolocation\Details($sm);
         return $as;
     }, 'DDD\\Dao\\Geolocation\\Poitype' => function ($sm) {
         $as = new \DDD\Dao\Geolocation\Poitype($sm);
         return $as;
     }, 'DDD\\Dao\\Geolocation\\Poi' => function ($sm) {
         $as = new \DDD\Dao\Geolocation\Poi($sm);
         return $as;
     }, 'DDD\\Dao\\Geolocation\\Provinces' => function ($sm) {
         $as = new \DDD\Dao\Geolocation\Provinces($sm);
         return $as;
     }, 'DDD\\Dao\\Geolocation\\Cities' => function ($sm) {
         $as = new \DDD\Dao\Geolocation\Cities($sm);
         return $as;
     }, 'DDD\\Dao\\Geolocation\\Continents' => function ($sm) {
         $as = new \DDD\Dao\Geolocation\Continents($sm);
         return $as;
     }, 'DDD\\Dao\\Blog\\Blog' => function ($sm) {
         $as = new \DDD\Dao\Blog\Blog($sm);
         return $as;
     }, 'DDD\\Dao\\News\\News' => function ($sm) {
         $as = new \DDD\Dao\News\News($sm);
         return $as;
     }, 'DDD\\Dao\\WebsiteLanguage\\Language' => function ($sm) {
         $as = new \DDD\Dao\WebsiteLanguage\Language($sm);
         return $as;
     }, 'DDD\\Dao\\GeoliteCountry\\GeoliteCountry' => function ($sm) {
         $as = new \DDD\Dao\GeoliteCountry\GeoliteCountry($sm);
         return $as;
     }, 'DDD\\Dao\\Textline\\Universal' => function ($sm) {
         $as = new \DDD\Dao\Textline\Universal($sm);
         return $as;
     }, 'DDD\\Dao\\Textline\\UniversalPageRel' => function ($sm) {
         $as = new \DDD\Dao\Textline\UniversalPageRel($sm);
         return $as;
     }, 'DDD\\Dao\\Translation\\UniversalPages' => function ($sm) {
         $as = new \DDD\Dao\Translation\UniversalPages($sm);
         return $as;
     }, 'DDD\\Dao\\Textline\\Location' => function ($sm) {
         $as = new \DDD\Dao\Textline\Location($sm);
         return $as;
     }, 'DDD\\Dao\\Textline\\Apartment' => function ($sm) {
         $as = new \DDD\Dao\Textline\Apartment($sm);
         return $as;
     }, 'DDD\\Dao\\Textline\\Group' => function ($sm) {
         $as = new \DDD\Dao\Textline\Group($sm);
         return $as;
     }, 'DDD\\Dao\\Apartment\\Main' => function ($sm) {
         $as = new \DDD\Dao\Apartment\Main($sm);
         return $as;
     }, 'DDD\\Dao\\Apartment\\General' => function ($sm) {
         $as = new \DDD\Dao\Apartment\General($sm);
         return $as;
     }, 'DDD\\Dao\\Apartment\\Statistics' => function ($sm) {
         $as = new \DDD\Dao\Apartment\Statistics($sm);
         return $as;
     }, 'DDD\\Dao\\Apartment\\DocumentCategory' => function ($sm) {
         $as = new \DDD\Dao\Apartment\DocumentCategory($sm);
         return $as;
     }, 'DDD\\Dao\\Apartment\\Location' => function ($sm) {
         $as = new \DDD\Dao\Apartment\Location($sm);
         return $as;
     }, 'DDD\\Dao\\Apartment\\Rate' => function ($sm) {
         $as = new \DDD\Dao\Apartment\Rate($sm);
         return $as;
     }, 'DDD\\Dao\\Apartment\\Inventory' => function ($sm) {
         $as = new \DDD\Dao\Apartment\Inventory($sm);
         return $as;
     }, 'DDD\\Dao\\Apartment\\Room' => function ($sm) {
         $as = new \DDD\Dao\Apartment\Room($sm);
         return $as;
     }, 'DDD\\Dao\\Accommodation\\Review' => function ($sm) {
         $as = new \DDD\Dao\Accommodation\Review($sm);
         return $as;
     }, 'DDD\\Dao\\Accommodation\\Images' => function ($sm) {
         $as = new \DDD\Dao\Accommodation\Images($sm);
         return $as;
     }, 'DDD\\Dao\\Booking\\Addons' => function ($sm) {
         $instance = new \DDD\Dao\Booking\Addons($sm);
         return $instance;
     }, 'DDD\\Dao\\Booking\\Charge' => function ($sm) {
         $instance = new \DDD\Dao\Booking\Charge($sm);
         return $instance;
     }, 'DDD\\Dao\\Booking\\ChargeTransaction' => function ($sm) {
         $instance = new \DDD\Dao\Booking\ChargeTransaction($sm);
         return $instance;
     }, 'DDD\\Dao\\Booking\\BlackList' => function ($sm) {
         $instance = new \DDD\Dao\Booking\BlackList($sm);
         return $instance;
     }, 'DDD\\Dao\\Booking\\ReservationIssues' => function ($sm) {
         $instance = new \DDD\Dao\Booking\ReservationIssues($sm);
         return $instance;
     }, 'DDD\\Dao\\Psp\\Psp' => function ($sm) {
         $instance = new \DDD\Dao\Psp\Psp($sm);
         return $instance;
     }, 'DDD\\Dao\\Notifications\\Notifications' => function ($sm) {
         $instance = new \DDD\Dao\Notifications\Notifications($sm);
         return $instance;
     }, 'DDD\\Dao\\Apartment\\ReviewCategory' => function ($sm) {
         return new \DDD\Dao\Apartment\ReviewCategory($sm);
     }, 'DDD\\Dao\\Apartment\\ReviewCategoryRel' => function ($sm) {
         return new \DDD\Dao\Apartment\ReviewCategoryRel($sm);
     }, 'DDD\\Dao\\Apartment\\Review' => function ($sm) {
         return new \DDD\Dao\Apartment\Review($sm);
     }, 'DDD\\Dao\\Team\\Team' => function ($sm) {
         return new \DDD\Dao\Team\Team($sm);
     }, 'DDD\\Dao\\Team\\TeamStaff' => function ($sm) {
         return new \DDD\Dao\Team\TeamStaff($sm);
     }, 'DDD\\Dao\\Team\\TeamFrontierApartments' => function ($sm) {
         return new \DDD\Dao\Team\TeamFrontierApartments($sm);
     }, 'DDD\\Dao\\Team\\TeamFrontierBuildings' => function ($sm) {
         return new \DDD\Dao\Team\TeamFrontierBuildings($sm);
     }, 'DDD\\Dao\\Office\\OfficeManager' => function ($sm) {
         return new \DDD\Dao\Office\OfficeManager($sm);
     }, 'DDD\\Dao\\Office\\OfficeSection' => function ($sm) {
         return new \DDD\Dao\Office\OfficeSection($sm);
     }, 'DDD\\Dao\\Location\\Country' => function ($sm) {
         return new \DDD\Dao\Location\Country($sm);
     }, 'DDD\\Dao\\Booking\\PinnedReservation' => function ($sm) {
         $instance = new \DDD\Dao\Booking\PinnedReservation($sm);
         return $instance;
     }, 'DDD\\Dao\\Booking\\FraudDetection' => function ($sm) {
         $as = new \DDD\Dao\Booking\FraudDetection($sm);
         return $as;
     }, 'DDD\\Dao\\Booking\\Attachment' => function ($sm) {
         $instance = new \DDD\Dao\Booking\Attachment($sm);
         return $instance;
     }, 'DDD\\Dao\\Booking\\AttachmentItem' => function ($sm) {
         $instance = new \DDD\Dao\Booking\AttachmentItem($sm);
         return $instance;
     }, 'DDD\\Dao\\Task\\Task' => function ($sm) {
         $instance = new \DDD\Dao\Task\Task($sm);
         return $instance;
     }, 'DDD\\Dao\\Task\\Subtask' => function ($sm) {
         $instance = new \DDD\Dao\Task\Subtask($sm);
         return $instance;
     }, 'DDD\\Dao\\Task\\Staff' => function ($sm) {
         $instance = new \DDD\Dao\Task\Staff($sm);
         return $instance;
     }, 'DDD\\Dao\\Task\\Type' => function ($sm) {
         $instance = new \DDD\Dao\Task\Type($sm);
         return $instance;
     }, 'DDD\\Dao\\Task\\Attachments' => function ($sm) {
         $instance = new \DDD\Dao\Task\Attachments($sm);
         return $instance;
     }, 'DDD\\Dao\\Booking\\ReservationNightly' => function ($sm) {
         return new \DDD\Dao\Booking\ReservationNightly($sm);
     }, 'DDD\\Dao\\Booking\\ChargeDeleted' => function ($sm) {
         $as = new \DDD\Dao\Booking\ChargeDeleted($sm);
         return $as;
     }, 'DDD\\Dao\\Queue\\InventorySyncQueue' => function ($sm) {
         $as = new \DDD\Dao\Queue\InventorySyncQueue($sm);
         return $as;
     }, 'DDD\\Dao\\Queue\\InventorySynchronizationQueue' => function ($sm) {
         $as = new \DDD\Dao\Queue\InventorySynchronizationQueue($sm);
         return $as;
     }, 'DDD\\Dao\\Queue\\EmailQueue' => function ($sm) {
         $as = new \DDD\Dao\Queue\EmailQueue($sm);
         return $as;
     }, 'DDD\\Dao\\Lock\\Types' => function ($sm) {
         $as = new \DDD\Dao\Lock\Types($sm);
         return $as;
     }, 'DDD\\Dao\\Lock\\SettingItems' => function ($sm) {
         $as = new \DDD\Dao\Lock\SettingItems($sm);
         return $as;
     }, 'DDD\\Dao\\Lock\\Locks' => function ($sm) {
         $as = new \DDD\Dao\Lock\Locks($sm);
         return $as;
     }, 'DDD\\Dao\\Lock\\LockSettings' => function ($sm) {
         $as = new \DDD\Dao\Lock\LockSettings($sm);
         return $as;
     }, 'DDD\\Dao\\Parking\\General' => function ($sm) {
         $as = new \DDD\Dao\Parking\General($sm);
         return $as;
     }, 'DDD\\Dao\\Parking\\Spot' => function ($sm) {
         $as = new \DDD\Dao\Parking\Spot($sm);
         return $as;
     }, 'DDD\\Dao\\Parking\\Spot\\Inventory' => function ($sm) {
         $as = new \DDD\Dao\Parking\Spot\Inventory($sm);
         return $as;
     }, 'DDD\\Dao\\Apartment\\Details' => function ($sm) {
         $as = new \DDD\Dao\Apartment\Details($sm);
         return $as;
     }, 'DDD\\Dao\\Apartment\\Spots' => function ($sm) {
         $as = new \DDD\Dao\Apartment\Spots($sm);
         return $as;
     }, 'DDD\\Dao\\Finance\\Ccca' => function ($sm) {
         $as = new \DDD\Dao\Finance\Ccca($sm);
         return $as;
     }, 'DDD\\Dao\\Tag\\Tag' => function ($sm) {
         $as = new \DDD\Dao\Tag\Tag($sm);
         return $as;
     }, 'DDD\\Dao\\Task\\Tag' => function ($sm) {
         $as = new \DDD\Dao\Task\Tag($sm);
         return $as;
     }, 'DDD\\Dao\\Document\\Document' => function ($sm) {
         $as = new \DDD\Dao\Document\Document($sm);
         return $as;
     }, 'DDD\\Dao\\Document\\Category' => function ($sm) {
         $as = new \DDD\Dao\Document\Category($sm);
         return $as;
     }, 'Zend\\Log' => function ($sm) {
         $filename = '/ginosi/log/exceptions/' . date('Y') . '/' . date('m') . '/' . date('Y-m-d') . '.log';
         if (!file_exists($filename)) {
             if (!file_exists('/ginosi/log/exceptions/' . date('Y') . '/' . date('m'))) {
                 mkdir('/ginosi/log/exceptions/' . date('Y') . '/' . date('m'), 0755, true);
             }
             $file = fopen($filename, 'w');
             chmod($filename, 0755);
             fclose($file);
         }
         $formater = new LogFormater('%timestamp% %priorityName% (%priority%) - %message%' . PHP_EOL);
         $log = new Logger();
         $writer = new LogWriterStream($filename);
         $writer->setFormatter($formater);
         $log->addWriter($writer);
         return $log;
     }, 'Mailer\\Email' => function ($serviceLocator) {
         $as = new \Mailer\Factory\EmailFactory();
         $as = $as->createService($serviceLocator);
         return $as;
     }, 'Mailer\\Email-Alerts' => function ($serviceLocator) {
         $as = new \Mailer\Factory\EmailFactory('alerts');
         $as = $as->createService($serviceLocator);
         return $as;
     }, 'Mailer\\Transport' => function ($serviceLocator) {
         $as = new \Mailer\Factory\TransportFactory();
         $as = $as->createService($serviceLocator);
         return $as;
     }, 'Mailer\\Transport-Alerts' => function ($serviceLocator) {
         $as = new \Mailer\Factory\TransportFactory('transport-alerts');
         $as = $as->createService($serviceLocator);
         return $as;
     }, 'Mailer\\Renderer' => function ($serviceLocator) {
         $as = new \Mailer\Factory\RendererFactory();
         $as = $as->createService($serviceLocator);
         return $as;
     }, 'DDD\\Dao\\Customer\\CustomerIdentity' => function ($sm) {
         $as = new \DDD\Dao\Customer\CustomerIdentity($sm);
         return $as;
     }, 'DDD\\Dao\\ChannelManager\\ReservationIdentificator' => function ($sm) {
         $as = new \DDD\Dao\ChannelManager\ReservationIdentificator($sm);
         return $as;
     }, 'DDD\\Dao\\Finance\\Customer' => function ($sm) {
         $as = new Customer($sm);
         return $as;
     }, 'DDD\\Dao\\Finance\\Transaction\\TransactionAccounts' => function ($sm) {
         $as = new \DDD\Dao\Finance\Transaction\TransactionAccounts($sm);
         return $as;
     }, 'DDD\\Dao\\Finance\\Budget\\Budget' => function ($sm) {
         $as = new \DDD\Dao\Finance\Budget\Budget($sm);
         return $as;
     }, 'DDD\\Dao\\Warehouse\\Category' => function ($sm) {
         $as = new \DDD\Dao\Warehouse\Category($sm);
         return $as;
     }, 'DDD\\Dao\\Warehouse\\Storage' => function ($sm) {
         $as = new \DDD\Dao\Warehouse\Storage($sm);
         return $as;
     }, 'DDD\\Dao\\Warehouse\\Threshold' => function ($sm) {
         $as = new \DDD\Dao\Warehouse\Threshold($sm);
         return $as;
     }, 'DDD\\Dao\\Warehouse\\SKU' => function ($sm) {
         $as = new \DDD\Dao\Warehouse\SKU($sm);
         return $as;
     }, 'DDD\\Dao\\Warehouse\\Alias' => function ($sm) {
         $as = new \DDD\Dao\Warehouse\Alias($sm);
         return $as;
     }, 'DDD\\Dao\\Warehouse\\Asset\\Changes' => function ($sm) {
         $as = new \DDD\Dao\Warehouse\Asset\Changes($sm);
         return $as;
     }, 'DDD\\Dao\\Warehouse\\Asset\\Consumable' => function ($sm) {
         $as = new \DDD\Dao\Warehouse\Asset\Consumable($sm);
         return $as;
     }, 'DDD\\Dao\\Warehouse\\Asset\\Valuable' => function ($sm) {
         $as = new \DDD\Dao\Warehouse\Asset\Valuable($sm);
         return $as;
     }, 'DDD\\Dao\\Warehouse\\Asset\\ConsumableSkusRelation' => function ($sm) {
         $as = new \DDD\Dao\Warehouse\Asset\ConsumableSkusRelation($sm);
         return $as;
     }, 'DDD\\Dao\\Warehouse\\Asset\\ValuableStatuses' => function ($sm) {
         $as = new \DDD\Dao\Warehouse\Asset\ValuableStatuses($sm);
         return $as;
     }, 'DDD\\Dao\\Translation\\Universal' => function ($sm) {
         $as = new \DDD\Dao\Translation\Universal($sm);
         return $as;
     }, 'DDD\\Dao\\Oauth\\OauthUsers' => function ($sm) {
         return new \DDD\Dao\Oauth\OauthUsers($sm);
     }, 'DDD\\Service\\Cache\\Memcache' => function ($sm) {
         $service = new \DDD\Service\Cache\Memcache();
         $service->setServiceLocator($sm);
         return $service;
     }, 'DDD\\Dao\\Booking\\ReviewDao' => function ($sm) {
         $as = new \DDD\Dao\Booking\ReviewDao($sm);
         return $as;
     }, 'DDD\\Dao\\Accommodation\\Review' => function ($sm) {
         $as = new \DDD\Dao\Accommodation\Review($sm);
         return $as;
     }), 'aliases' => array('dao_accommodation_accommodations' => 'DDD\\Dao\\Accommodation\\Accommodations', 'dao_accommodation_images' => 'DDD\\Dao\\Accommodation\\Images', 'dao_accommodation_review' => 'DDD\\Dao\\Accommodation\\Review', 'dao_action_logs_action_logs' => 'DDD\\Dao\\ActionLogs\\ActionLogs', 'dao_action_logs_logs_team' => 'DDD\\Dao\\ActionLogs\\LogsTeam', 'dao_money_account_money_account' => 'DDD\\Dao\\MoneyAccount\\MoneyAccount', 'dao_money_account_money_account_users' => 'DDD\\Dao\\MoneyAccount\\MoneyAccountUsers', 'dao_money_account_document' => 'DDD\\Dao\\MoneyAccount\\Attachment', 'dao_money_account_attachment_item' => 'DDD\\Dao\\MoneyAccount\\AttachmentItem', 'dao_currency_currency' => 'DDD\\Dao\\Currency\\Currency', 'dao_currency_currency_vault' => 'DDD\\Dao\\Currency\\CurrencyVault', 'dao_apartment_amenities' => 'DDD\\Dao\\Apartment\\Amenities', 'dao_apartment_amenity_items' => 'DDD\\Dao\\Apartment\\AmenityItems', 'dao_apartment_main' => 'DDD\\Dao\\Apartment\\Main', 'dao_apartment_general' => 'DDD\\Dao\\Apartment\\General', 'dao_apartment_statistics' => 'DDD\\Dao\\Apartment\\Statistics', 'dao_apartment_group_building_details' => 'DDD\\Dao\\ApartmentGroup\\BuildingDetails', 'dao_apartment_group_building_sections' => 'DDD\\Dao\\ApartmentGroup\\BuildingSections', 'dao_apartment_group_building_lots' => 'DDD\\Dao\\ApartmentGroup\\BuildingLots', 'dao_apartment_group_apartment_group' => 'DDD\\Dao\\ApartmentGroup\\ApartmentGroup', 'dao_apartment_group_apartment_group_items' => 'DDD\\Dao\\ApartmentGroup\\ApartmentGroupItems', 'dao_apartment_group_concierge_view' => 'DDD\\Dao\\ApartmentGroup\\ConciergeView', 'dao_apartment_group_concierge_dashboard_access' => 'DDD\\Dao\\ApartmentGroup\\ConciergeDashboardAccess', 'dao_building_facilities' => 'DDD\\Dao\\ApartmentGroup\\Facilities', 'dao_building_facility_items' => 'DDD\\Dao\\ApartmentGroup\\FacilityItems', 'dao_expense_expense' => 'DDD\\Dao\\Expense\\Expense', 'dao_geolocation_countries' => 'DDD\\Dao\\Geolocation\\Countries', 'dao_geolocation_city' => 'DDD\\Dao\\Geolocation\\City', 'dao_geolocation_details' => 'DDD\\Dao\\Geolocation\\Details', 'dao_geolocation_poi_type' => 'DDD\\Dao\\Geolocation\\Poitype', 'dao_geolocation_poi' => 'DDD\\Dao\\Geolocation\\Poi', 'dao_geolocation_provinces' => 'DDD\\Dao\\Geolocation\\Provinces', 'dao_geolocation_cities' => 'DDD\\Dao\\Geolocation\\Cities', 'dao_geolocation_continents' => 'DDD\\Dao\\Geolocation\\Continents', 'dao_location_country' => 'DDD\\Dao\\Location\\Country', 'dao_user_dashboards' => 'DDD\\Dao\\User\\Dashboards', 'dao_user_user_group' => 'DDD\\Dao\\User\\UserGroup', 'dao_user_user_groups' => 'DDD\\Dao\\User\\UserGroups', 'dao_user_user_manager' => 'DDD\\Dao\\User\\UserManager', 'dao_user_users' => 'DDD\\Dao\\User\\Users', 'dao_user_user_dashboards' => 'DDD\\Dao\\User\\UserDashboards', 'dao_user_vacation_days' => 'DDD\\Dao\\User\\Vacationdays', 'dao_user_vacation_request' => 'DDD\\Dao\\User\\VacationRequest', 'dao_user_evaluation_evaluations' => 'DDD\\Dao\\User\\Evaluation\\Evaluations', 'dao_user_evaluation_evaluation_items' => 'DDD\\Dao\\User\\Evaluation\\EvaluationItems', 'dao_user_evaluation_evaluation_values' => 'DDD\\Dao\\User\\Evaluation\\EvaluationValues', 'dao_user_schedule_schedule' => 'DDD\\Dao\\User\\Schedule\\Schedule', 'dao_user_schedule_inventory' => 'DDD\\Dao\\User\\Schedule\\Inventory', 'dao_user_document_documents' => 'DDD\\Dao\\User\\Document\\Documents', 'dao_user_document_document_types' => 'DDD\\Dao\\User\\Document\\DocumentTypes', 'dao_user_external_account' => 'DDD\\Dao\\User\\ExternalAccount', 'dao_user_salary_scheme' => 'DDD\\Dao\\User\\SalaryScheme', 'dao_user_devices' => 'DDD\\Dao\\User\\Devices', 'dao_partners_partner_gcm_value' => 'DDD\\Dao\\Partners\\PartnerGcmValue', 'dao_partners_partners' => 'DDD\\Dao\\Partners\\Partners', 'dao_partners_partner_account' => 'DDD\\Dao\\Partners\\PartnerAccount', 'dao_partners_partner_city_commission' => 'DDD\\Dao\\Partners\\PartnerCityCommission', 'dao_blog_blog' => 'DDD\\Dao\\Blog\\Blog', 'dao_news_news' => 'DDD\\Dao\\News\\News', 'dao_website_language_language' => 'DDD\\Dao\\WebsiteLanguage\\Language', 'dao_geolite_country_geolite_country' => 'DDD\\Dao\\GeoliteCountry\\GeoliteCountry', 'dao_textline_universal' => 'DDD\\Dao\\Textline\\Universal', 'dao_textline_universal_page_rel' => 'DDD\\Dao\\Textline\\UniversalPageRel', 'dao_translation_universal_pages' => 'DDD\\Dao\\Translation\\UniversalPages', 'dao_textline_location' => 'DDD\\Dao\\Textline\\Location', 'dao_textline_apartment' => 'DDD\\Dao\\Textline\\Apartment', 'dao_textline_group' => 'DDD\\Dao\\Textline\\Group', 'dao_booking_booking' => 'DDD\\Dao\\Booking\\Booking', 'dao_booking_reservation_issues' => 'DDD\\Dao\\Booking\\ReservationIssues', 'dao_booking_charge' => 'DDD\\Dao\\Booking\\Charge', 'dao_booking_change_transaction' => 'DDD\\Dao\\Booking\\ChargeTransaction', 'dao_booking_addons' => 'DDD\\Dao\\Booking\\Addons', 'dao_booking_pinned_reservation' => 'DDD\\Dao\\Booking\\PinnedReservation', 'dao_booking_attachment' => 'DDD\\Dao\\Booking\\Attachment', 'dao_booking_attachment_item' => 'DDD\\Dao\\Booking\\AttachmentItem', 'dao_booking_reservation_nightly' => 'DDD\\Dao\\Booking\\ReservationNightly', 'dao_booking_black_list' => 'DDD\\Dao\\Booking\\BlackList', 'dao_booking_fraud_detection' => 'DDD\\Dao\\Booking\\FraudDetection', 'dao_booking_charge_deleted' => 'DDD\\Dao\\Booking\\ChargeDeleted', 'dao_booking_review' => 'DDD\\Dao\\Booking\\ReviewDao', 'dao_psp_psp' => 'DDD\\Dao\\Psp\\Psp', 'dao_notifications_notifications' => 'DDD\\Dao\\Notifications\\Notifications', 'dao_team_team' => 'DDD\\Dao\\Team\\Team', 'dao_team_team_staff' => 'DDD\\Dao\\Team\\TeamStaff', 'dao_team_team_frontier_apartments' => 'DDD\\Dao\\Team\\TeamFrontierApartments', 'dao_team_team_frontier_buildings' => 'DDD\\Dao\\Team\\TeamFrontierBuildings', 'dao_office_office_manager' => 'DDD\\Dao\\Office\\OfficeManager', 'dao_office_office_section' => 'DDD\\Dao\\Office\\OfficeSection', 'dao_task_task' => 'DDD\\Dao\\Task\\Task', 'dao_task_subtask' => 'DDD\\Dao\\Task\\Subtask', 'dao_task_staff' => 'DDD\\Dao\\Task\\Staff', 'dao_task_type' => 'DDD\\Dao\\Task\\Type', 'dao_task_attachments' => 'DDD\\Dao\\Task\\Attachments', 'dao_task_tag' => 'DDD\\Dao\\Task\\Tag', 'dao_customer_customer_identity' => 'DDD\\Dao\\Customer\\CustomerIdentity', 'dao_queue_inventory_sync_queue' => 'DDD\\Dao\\Queue\\InventorySyncQueue', 'dao_queue_inventory_synchronization_queue' => 'DDD\\Dao\\Queue\\InventorySynchronizationQueue', 'dao_queue_email_queue' => 'DDD\\Dao\\Queue\\EmailQueue', 'dao_lock_types' => 'DDD\\Dao\\Lock\\Types', 'dao_lock_type_setting_items' => 'DDD\\Dao\\Lock\\SettingItems', 'dao_lock_locks' => 'DDD\\Dao\\Lock\\Locks', 'dao_lock_settings' => 'DDD\\Dao\\Lock\\LockSettings', 'dao_apartment_room' => 'DDD\\Dao\\Apartment\\Room', 'dao_apartment_review_category' => 'DDD\\Dao\\Apartment\\ReviewCategory', 'dao_apartment_review_category_rel' => 'DDD\\Dao\\Apartment\\ReviewCategoryRel', 'dao_apartment_review' => 'DDD\\Dao\\Apartment\\Review', 'dao_apartment_inventory' => 'DDD\\Dao\\Apartment\\Inventory', 'dao_apartment_rate' => 'DDD\\Dao\\Apartment\\Rate', 'dao_apartment_details' => 'DDD\\Dao\\Apartment\\Details', 'dao_apartment_spots' => 'DDD\\Dao\\Apartment\\Spots', 'dao_parking_general' => 'DDD\\Dao\\Parking\\General', 'dao_parking_spot' => 'DDD\\Dao\\Parking\\Spot', 'dao_parking_spot_inventory' => 'DDD\\Dao\\Parking\\Spot\\Inventory', 'dao_channel_manager_reservation_identificator' => 'DDD\\Dao\\ChannelManager\\ReservationIdentificator', 'dao_finance_supplier' => 'DDD\\Dao\\Finance\\Supplier', 'dao_finance_legal_entities' => 'DDD\\Dao\\Finance\\LegalEntities', 'dao_finance_ccca' => 'DDD\\Dao\\Finance\\Ccca', 'dao_finance_customer' => 'DDD\\Dao\\Finance\\Customer', 'dao_finance_transaction_transaction_accounts' => 'DDD\\Dao\\Finance\\Transaction\\TransactionAccounts', 'dao_finance_budget_budget' => 'DDD\\Dao\\Finance\\Budget\\Budget', 'dao_tag_tag' => 'DDD\\Dao\\Tag\\Tag', 'dao_document_document' => 'DDD\\Dao\\Document\\Document', 'dao_document_category' => 'DDD\\Dao\\Document\\Category', 'dao_warehouse_category' => 'DDD\\Dao\\Warehouse\\Category', 'dao_warehouse_storage' => 'DDD\\Dao\\Warehouse\\Storage', 'dao_warehouse_threshold' => 'DDD\\Dao\\Warehouse\\Threshold', 'dao_warehouse_sku' => 'DDD\\Dao\\Warehouse\\SKU', 'dao_warehouse_alias' => 'DDD\\Dao\\Warehouse\\Alias', 'dao_warehouse_asset_changes' => 'DDD\\Dao\\Warehouse\\Asset\\Changes', 'dao_warehouse_asset_consumable' => 'DDD\\Dao\\Warehouse\\Asset\\Consumable', 'dao_warehouse_asset_valuable' => 'DDD\\Dao\\Warehouse\\Asset\\Valuable', 'dao_warehouse_asset_valuable_status' => 'DDD\\Dao\\Warehouse\\Asset\\ValuableStatuses', 'dao_warehouse_asset_consumable_skus_relation' => 'DDD\\Dao\\Warehouse\\Asset\\ConsumableSkusRelation', 'dao_oauth_oauth_users' => 'DDD\\Dao\\Oauth\\OauthUsers', 'dao_universal_textline' => 'DDD\\Dao\\Translation\\Universal', 'library_backoffice_auth' => 'Library\\Authentication\\BackofficeAuthenticationService'));
 }
Example #16
0
 public function testAllowsSpecifyingLogSeparatorWithinArrayPassedToConstructor()
 {
     $options = array('stream' => 'php://memory', 'mode' => 'w+', 'log_separator' => '::');
     $writer = new StreamWriter($options);
     $this->assertEquals('::', $writer->getLogSeparator());
 }
Example #17
0
 /**
  * @param $sFile
  *
  * @return Stream
  */
 protected function _getFileWriter($sFile)
 {
     $sLogDir = isset($this->_aConfig['writer']['file']['data_dir']) ? $this->_aConfig['writer']['file']['data_dir'] : self::DEFAULT_LOG_DIR;
     $oWriter = new Stream($sLogDir . DIRECTORY_SEPARATOR . $sFile);
     $oWriter->setFormatter($this->_getDefaultFormatter());
     return $oWriter;
 }
Example #18
0
<?php

namespace Socialog;

use Zend\Cache\StorageFactory;
use Zend\Log;
return array('aliases' => array('socialog_orm' => 'doctrine.entitymanager.orm_default', 'socialog_dbal' => 'doctrine.connection.orm_default'), 'invokables' => array('socialog_user_mapper' => 'Socialog\\Mapper\\UserMapper', 'socialog_post_mapper' => 'Socialog\\Mapper\\PostMapper', 'socialog_page_mapper' => 'Socialog\\Mapper\\PageMapper', 'socialog_comment_mapper' => 'Socialog\\Mapper\\CommentMapper'), 'factories' => array('socialog-navigation' => 'Socialog\\Service\\NavigationFactory', 'socialog_cache' => function ($sm) {
    $config = $sm->get('Config');
    $storage = StorageFactory::factory($config['socialog']['cache']);
    return $storage;
}, 'socialog_logger' => function ($sm) {
    $logger = new Log\Logger();
    $stream = new Log\Writer\Stream('data/log/' . date('Y-m-d') . '.txt');
    $format = "%timestamp% %priorityName%: %message% %info%";
    $stream->setFormatter(new Log\Formatter\Simple($format, 'd-m-Y H:i:s'));
    $logger->addWriter($stream);
    $criticalStream = new Log\Writer\Stream('data/log/' . date('Y-m-d') . '-critical.txt');
    $format = "%timestamp%: %message% %info%";
    $criticalStream->setFormatter(new Log\Formatter\Simple($format, 'd-m-Y H:i:s'));
    $criticalStream->addFilter(new Log\Filter\Priority(Log\Logger::ERR, '>='));
    $logger->addWriter($criticalStream);
    return $logger;
}), 'initializers' => array('socialog_em' => function ($instance, $sm) {
    if ($instance instanceof Mapper\AbstractDoctrineMapper) {
        $instance->setEntityManager($sm->get('socialog_orm'));
    }
}, 'socialog_cache' => function ($instance, $sm) {
    if ($instance instanceof Cache\CacheAwareInterface) {
        $instance->setCacheStorage($sm->get('socialog_cache'));
    }
}));
Example #19
0
 /**
  * Write a message to the log.
  *
  * @param array $event event data
  *
  * @return void
  * @throws \Zend\Log\Exception\RuntimeException
  */
 protected function doWrite(array $event)
 {
     // Apply verbosity, Call parent method:
     return parent::doWrite($this->applyVerbosity($event));
 }
Example #20
0
File: Log.php Project: meniam/model
 /**
  * @return Logger
  */
 protected static function _getLogAdapter()
 {
     if (empty(self::$_logAdapter)) {
         $writer = new Stream('php://output');
         $format = '%timestamp% %priorityName% (%priority%): %message%';
         $formatter = new \Zend\Log\Formatter\Simple($format, 'Y-m-d H:i:s');
         $writer->setFormatter($formatter);
         self::$_logAdapter = new Logger();
         self::$_logAdapter->addWriter($writer);
     }
     return self::$_logAdapter;
 }
Example #21
0
 protected function setUpLogger()
 {
     $formatter = new \Rails\Log\Formatter\Simple();
     $writer = new Zend\Log\Writer\Stream($this->config['paths']['root']->expand('log', $this->config['environment'] . '.log'));
     $writer->setFormatter($formatter);
     $logger = new \Rails\Log\Logger();
     $logger->addWriter($writer);
     $this->services()->setService('log', $logger);
 }
Example #22
0
 /**
  * @group 5383
  */
 public function testErrorHandlerWithStreamWriter()
 {
     $options = array('errorhandler' => true);
     $logger = new Logger($options);
     $stream = fopen('php://memory', 'w+');
     $streamWriter = new StreamWriter($stream);
     // error handler does not like this feature so turn it off
     $streamWriter->setConvertWriteErrorsToExceptions(false);
     $logger->addWriter($streamWriter);
     // we raise two notices - both should be logged
     echo $test;
     echo $second;
     rewind($stream);
     $contents = stream_get_contents($stream);
     $this->assertContains('test', $contents);
     $this->assertContains('second', $contents);
 }