etService('dispatcher'), $this->getService('user'), $this->getService('helper'), $this->getService('i18n'), $this); return $instance; } protected function getPageRoutingService() { if (isset($this->shared['page_routing'])) return $this->shared['page_routing']; $class = $this->getParameter('page_routing.class'); $instance = new $class($this, $this->getParameter('page_routing.options')); return $this->shared['page_routing'] = $instance; } protected function getHtmlSitemapService() { if (isset($this->shared['html_sitemap'])) return $this->shared['html_sitemap']; $class = $this->getParameter('html_sitemap.class'); $instance = new $class($this->getService('helper'), $this->getParameter('user.culture')); return $this->shared['html_sitemap'] = $instance; } protected function getPageNotFoundHandlerService() { $class = $this->getParameter('page_not_found_handler.class'); $instance = new $class($this, $this->getService('dispatcher')); return $instance; } protected function getFormManagerService() { if (isset($this->shared['form_manager'])) return $this->shared['form_manager']; $class = $this->getParameter('form_manager.class'); $instance = new $class($this, $this->getService('dispatcher')); return $this->shared['form_manager'] = $instance; } protected function getLinkTagRecordService() { $class = $this->getParameter('link_tag_record.class'); $instance = new $class($this->getParameter('link_tag.resource'), $this->getParameter('request.context'), $this->getParameter('context.page'), $this->getService('user'), $this->getParameter('link_tag_record.options')); return $instance; } protected function getLinkTagPageService() { $class = $this->getParameter('link_tag_page.class'); $instance = new $class($this->getParameter('link_tag.resource'), $this->getParameter('request.context'), $this->getParameter('context.page'), $this->getService('user'), $this->getParameter('link_tag_page.options')); return $instance; } protected function getLinkTagMediaService() { $class = $this->getParameter('link_tag_media.class'); $instance = new $class($this->getParameter('link_tag.resource'), $this->getParameter('request.context'), $this->getParameter('link_tag_media.options')); return $instance; } protected function getLinkTagActionService() { $class = $this->getParameter('link_tag_action.class'); $instance = new $class($this->getParameter('link_tag.resource'), $this->getService('controller'), $this->getParameter('request.context'), $this->getParameter('link_tag_action.options')); return $instance; } protected function getLinkTagUriService() { $class = $this->getParameter('link_tag_uri.class'); $instance = new $class($this->getParameter('link_tag.resource'), $this->getService('controller'), $this->getParameter('request.context'), $this->getParameter('link_tag_uri.options')); return $instance; } protected function getLinkTagRouteService() { $class = $this->getParameter('link_tag_route.class'); $instance = new $class($this->getParameter('link_tag.resource'), $this->getService('controller'), $this->getService('routing'), $this->getParameter('request.context'), $this->getParameter('link_tag_uri.options')); return $instance; } protected function getLinkTagErrorService() { $class = $this->getParameter('link_tag_error.class'); $instance = new $class($this->getParameter('link_tag.resource'), $this->getParameter('request.context'), $this->getParameter('link_tag_error.options')); return $instance; } protected function getLinkResourceService() { $class = $this->getParameter('link_resource.class'); $instance = new $class(); return $instance; } protected function getThemeManagerService() { if (isset($this->shared['theme_manager'])) return $this->shared['theme_manager']; $class = $this->getParameter('theme_manager.class'); $instance = new $class($this->getService('dispatcher'), $this, $this->getParameter('theme_manager.options')); return $this->shared['theme_manager'] = $instance; } protected function getWidgetViewService() { $class = $this->getParameter('widget_view.class'); $instance = new $class($this->getService('context'), $this->getParameter('widget_view.type'), $this->getParameter('widget_view.data')); return $instance; } protected function getPageHelperService() { if (isset($this->shared['page_helper'])) return $this->shared['page_helper']; $class = $this->getParameter('page_helper.class'); $instance = new $class($this->getService('dispatcher'), $this, $this->getService('helper'), $this->getParameter('page_helper.options')); return $this->shared['page_helper'] = $instance; } protected function getWidgetRendererService() { $class = $this->getParameter('widget_renderer.class'); $instance = new $class($this->getService('dispatcher'), $this, $this->getParameter('widget_renderer.widget')); return $instance; } protected function getZoneFormService() { $class = $this->getParameter('zone_form.class'); $instance = new $class($this->getParameter('zone_form.object')); return $instance; } protected function getFrontAddMenuService() { if (isset($this->shared['front_add_menu'])) return $this->shared['front_add_menu']; $class = $this->getParameter('front_add_menu.class'); $instance = new $class($this, $this->getParameter('menu.options')); return $this->shared['front_add_menu'] = $instance; } protected function getFrontCodeEditorFileMenuService() { if (isset($this->shared['front_code_editor_file_menu'])) return $this->shared['front_code_editor_file_menu']; $class = $this->getParameter('front_code_editor_file_menu.class'); $instance = new $class($this, $this->getParameter('menu.options')); return $this->shared['front_code_editor_file_menu'] = $instance; } protected function getFrontClipboardService() { if (isset($this->shared['front_clipboard'])) return $this->shared['front_clipboard']; $class = $this->getParameter('front_clipboard.class'); $instance = new $class($this->getService('user')); return $this->shared['front_clipboard'] = $instance; } protected function getFrontPagerViewService() { $class = $this->getParameter('front_pager_view.class'); $instance = new $class($this->getService('context'), $this->getParameter('front_pager_view.options')); return $instance; } protected function getSitemapMenuService() { $class = $this->getParameter('sitemap_menu.class'); $instance = new $class($this, $this->getParameter('menu.options')); return $instance; } protected function getHelperExtensionService() { if (isset($this->shared['helper_extension'])) return $this->shared['helper_extension']; $class = $this->getParameter('helper_extension.class'); $instance = new $class($this->getService('dispatcher'), $this); return $this->shared['helper_extension'] = $instance; } protected function getBrowserCheckService() { $class = $this->getParameter('browser_check.class'); $instance = new $class($this->getService('user')); return $instance; } protected function getXmlSitemapGeneratorService() { $class = $this->getParameter('xml_sitemap_generator.class'); $instance = new $class($this->getService('dispatcher'), $this->getService('filesystem'), $this->getService('i18n'), $this->getParameter('xml_sitemap_generator.options')); return $instance; } protected function getFacebookApiService() { if (isset($this->shared['facebook_api'])) return $this->shared['facebook_api']; $class = $this->getParameter('facebook_api.class'); $instance = new $class($this->getParameter('facebook_api.options')); return $this->shared['facebook_api'] = $instance; } protected function getCommunicatorPlatformService() { if (isset($this->shared['communicator_platform'])) return $this->shared['communicator_platform']; $class = $this->getParameter('communicator_platform.class'); $instance = new $class($this->getService('logger')); return $this->shared['communicator_platform'] = $instance; } protected function getHtmlPurifierService() { if (isset($this->shared['html_purifier'])) return $this->shared['html_purifier']; $class = $this->getParameter('html_purifier.class'); $instance = new $class($this->getParameter('html_purifier.config')); return $this->shared['html_purifier'] = $instance; } protected function getAiGenderHandlerService() { if (isset($this->shared['ai_gender_handler'])) return $this->shared['ai_gender_handler']; $class = $this->getParameter('ai_gender_handler.class'); $instance = new $class($this->getService('i18n'), $this->getService('logger')); return $this->shared['ai_gender_handler'] = $instance; } protected function getAiCursingHandlerService() { if (isset($this->shared['ai_cursing_handler'])) return $this->shared['ai_cursing_handler']; $class = $this->getParameter('ai_cursing_handler.class'); $instance = new $class($this->getService('logger')); return $this->shared['ai_cursing_handler'] = $instance; } protected function getAiCacheService() { if (isset($this->shared['ai_cache'])) return $this->shared['ai_cache']; $class = $this->getParameter('ai_cache.class'); $instance = new $class($this->getParameter('ai_cache.params')); return $this->shared['ai_cache'] = $instance; } protected function getAiHandlerService() { if (isset($this->shared['ai_handler'])) return $this->shared['ai_handler']; $class = $this->getParameter('ai_handler.class'); $instance = new $class($this->getService('context'), $this->getService('ai_gender_handler'), $this->getService('ai_cursing_handler'), $this->getService('ai_cache'), $this->getParameter('ai_handler.chatbot'), $this->getParameter('ai_handler.chatter'), $this->getParameter('ai_handler.chatter_session'), $this->getParameter('ai_handler.platform'), $this->getService('logger'), $this->getService('i18n')); return $this->shared['ai_handler'] = $instance; } protected function getDefaultParameters() { return array ( 'text_diff.class' => 'dmTextDiff', 'record_text_diff.class' => 'dmRecordTextDiff', 'record_text_diff.options' => array ( 'media_width' => 150, 'media_height' => 100, ), 'mail.class' => 'dmMail', 'thread_launcher.class' => 'dmThreadLauncher', 'thread_launcher.options' => array ( 'cli_file' => 'cache/dm/cli.php', ), 'page_synchronizer.class' => 'CustomPageSynchronizer', 'seo_synchronizer.class' => 'dmSeoSynchronizer', 'media_synchronizer.class' => 'CustomMediaSynchronizer', 'cache_cleaner.class' => 'dmCacheCleaner', 'cache_cleaner.options' => array ( 'applications' => array ( 0 => 'admin', 1 => 'front', ), 'environments' => array ( 0 => 'prod', 1 => 'dev', ), 'safe_models' => array ( 0 => 'DmSentMail', 1 => 'DmError', 2 => 'DmRedirect', 3 => 'DmUser', 4 => 'DmPermission', 5 => 'DmGroup', 6 => 'DmGroupPermission', 7 => 'DmUserPermission', 8 => 'DmUserGroup', 9 => 'DmRememberKey', 10 => 'DmMailTemplate', ), ), 'form_field.class' => 'dmFormField', 'markdown.class' => 'dmMarkdown', 'markdown.options' => array ( 'auto_header_id' => true, ), 'script_name_resolver.class' => 'dmScriptNameResolver', 'error_watcher.class' => 'dmErrorWatcher', 'error_watcher.options' => array ( 'error_description_class' => 'dmErrorDescription', 'mail_superadmin' => false, 'store_in_db' => true, ), 'media_tag_image.class' => 'dmMediaTagImage', 'media_tag_image.options' => array ( 'resize_method' => 'center', 'resize_quality' => '95', ), 'media_tag_application.class' => 'dmMediaTagFlowPlayerApplication', 'media_tag_application.options' => array ( ), 'media_tag_video.class' => 'dmMediaTagFlowPlayerVideo', 'media_tag_video.options' => array ( ), 'media_tag_audio.class' => 'dmMediaTagFlowPlayerAudio', 'media_tag_audio.options' => array ( ), 'media_resource.class' => 'dmMediaResource', 'table_tag.class' => 'dmTableTag', 'search_engine.class' => 'CustomSearchEngine', 'search_engine.options' => array ( 'dir' => 'data/dm/index', ), 'search_index.class' => 'CustomSearchIndex', 'search_index.options' => array ( 'culture' => NULL, 'name' => NULL, ), 'search_document.class' => 'dmSearchPageDocument', 'search_document.source' => NULL, 'search_document.options' => array ( 'culture' => NULL, ), 'search_hit.class' => 'CustomSearchPageHit', 'search_hit.score' => NULL, 'search_hit.page_id' => NULL, 'search_hit.page_content' => NULL, 'theme.class' => 'dmTheme', 'stylesheet_compressor.class' => 'CustomStylesheetCompressor', 'stylesheet_compressor.options' => array ( 'minify' => true, 'gz_compression' => false, ), 'javascript_compressor.class' => 'CustomJavascriptCompressor', 'javascript_compressor.options' => array ( 'minify' => true, 'black_list' => array ( 0 => 'jquery.tree.min.js', ), 'gz_compression' => false, ), 'cache_manager.class' => 'dmCacheManager', 'cache_manager.options' => array ( 'meta_cache_class' => 'CustomMetaCache', ), 'filesystem.class' => 'dmFilesystem', 'mime_type_resolver.class' => 'dmMimeTypeResolver', 'event_log.class' => 'dmEventLog', 'event_log.options' => array ( 'name' => 'Events', 'file' => 'data/dm/log/event.log', 'entry_service_name' => 'event_log_entry', 'rotation' => true, 'max_size_kilobytes' => 1024, 'ignore_models' => array ( ), 'ignore_internal_actions' => true, 'enabled' => true, ), 'event_log_entry.class' => 'dmEventLogEntry', 'request_log.class' => 'dmRequestLog', 'request_log.options' => array ( 'name' => 'Requests', 'file' => 'data/dm/log/request.log', 'entry_service_name' => 'request_log_entry', 'rotation' => true, 'max_size_kilobytes' => 1024, 'enabled' => true, ), 'request_log_entry.class' => 'dmRequestLogEntry', 'browser.class' => 'dmBrowser', 'browser.user_agent_string' => NULL, 'user_agent_parser.class' => 'dmUserAgentParser', 'page_tree_watcher.class' => 'CustomPageTreeWatcher', 'page_tree_watcher.options' => array ( 'use_thread' => true, ), 'file_backup.class' => 'dmFileBackup', 'file_backup.options' => array ( 'dir' => 'data/dm/backup/filesystem', ), 'helper.class' => 'dmHelper', 'helper.options' => array ( 'use_beaf' => false, ), 'widget_type_manager.class' => 'dmWidgetTypeManager', 'widget_type_manager.options' => array ( 'config_file' => 'config/dm/widget_types.yml', ), 'page_i18n_builder.class' => 'dmPageI18nBuilder', 'page_i18n_builder.options' => array ( 'activate_new_translations' => true, ), 'project_loremizer.class' => 'dmProjectLoremizer', 'project_loremizer.options' => array ( 'nb_records_per_table' => 10, ), 'table_loremizer.class' => 'dmTableLoremizer', 'table_loremizer.options' => array ( 'nb_records' => 10, 'create_associations' => true, ), 'record_loremizer.class' => 'dmRecordLoremizer', 'record_loremizer.options' => array ( 'override' => false, 'create_associations' => true, ), 'test_functional.class' => 'dmTestFunctional', 'sf_browser.class' => 'dmSfBrowser', 'doctrine_pager.class' => 'dmDoctrinePager', 'web_browser.class' => 'dmWebBrowser', 'web_browser.options' => array ( 'default_headers' => array ( ), 'adapter_class' => NULL, 'adapter_options' => array ( ), ), 'menu.class' => 'dmMenu', 'menu.options' => array ( ), 'page_tree_view.class' => 'dmFrontPageTreeView', 'page_tree_view.options' => array ( ), 'download.class' => 'dmDownloadResponse', 'download.options' => array ( ), 'data_load.class' => 'dmDataLoad', 'markdown_translator.class' => 'dmMarkdownTranslator', 'markdown_translator.options' => array ( 'messages' => arra