public function addJsFileRef($js_file, $use_local_js_lib = true) { if ($use_local_js_lib == true) { $local_js_lib = __ApplicationContext::getInstance()->getPropertyContent('JS_LIB_DIR'); $js_file = __UrlHelper::resolveUrl(__UrlHelper::glueUrlParts($local_js_lib, $js_file)); } else { $js_file = __UrlHelper::resolveUrl($js_file); } $this->_js_files[] = '"' . $js_file . '"'; }
public function startRender() { if (__FrontController::getInstance()->getRequestType() != REQUEST_TYPE_XMLHTTP) { if (__ApplicationContext::getInstance()->hasProperty('INCLUDE_LION_JS')) { $include_lion_js = __ApplicationContext::getInstance()->getPropertyContent('INCLUDE_LION_JS'); } else { $include_lion_js = true; } if ($include_lion_js) { $local_js_lib = __ApplicationContext::getInstance()->getPropertyContent('JS_LIB_DIR'); $lion_js_file = __UrlHelper::resolveUrl(__UrlHelper::glueUrlParts($local_js_lib, 'lion.js')); __FrontController::getInstance()->getResponse()->prependContent('<script language="javascript" type="text/javascript" src="' . $lion_js_file . '"></script>' . "\n", 'lion-js'); } } $response_writer_manager = __ResponseWriterManager::getInstance(); if ($response_writer_manager->hasResponseWriter('javascript')) { $javascript_response_writer = $response_writer_manager->getResponseWriter('javascript'); } else { $javascript_response_writer = new __JavascriptOnDemandResponseWriter('javascript'); $response_writer_manager->addResponseWriter($javascript_response_writer); } if (!$javascript_response_writer->hasResponseWriter('setup-client-event-handler')) { $setup_client_event_handler_rw = new __JavascriptOnDemandResponseWriter('setup-client-event-handler'); $js_code = "\n" . '(__ClientEventHandler.getInstance()).setCode("' . __CurrentContext::getInstance()->getId() . '");' . "\n"; if (__Lion::getInstance()->getRuntimeDirectives()->getDirective('DEBUG_MODE')) { $js_code .= "(__ClientEventHandler.getInstance()).setDebug(true);\n"; if (__ApplicationContext::getInstance()->getPropertyContent('DEBUG_AJAX_CALLS') == true) { if (strtoupper(__ApplicationContext::getInstance()->getPropertyContent('DEBUGGER')) == 'ZEND') { $client_ip = $_SERVER['REMOTE_ADDR']; $debug_port = __ApplicationContext::getInstance()->getPropertyContent('ZEND_DEBUG_PORT'); $debug_url = 'index.ajax?' . 'start_debug=1&debug_port=' . $debug_port . '&debug_fastfile=1&debug_host=' . $client_ip . '&send_sess_end=1&debug_stop=1&debug_url=1&debug_new_session=1&no_remote=1'; $js_code .= "(__ClientEventHandler.getInstance()).setUrl('" . $debug_url . "');\n"; } } } if (!__FrontController::getInstance() instanceof __ComponentLazyLoaderFrontController && __FrontController::getInstance()->getRequestType() == REQUEST_TYPE_HTTP) { $url = __FrontController::getInstance()->getRequest()->getUrl(); $encoded_url = base64_encode(serialize($url)); $js_code .= "(__ClientEventHandler.getInstance()).setViewCode('" . $encoded_url . "');\n"; $flow_scope = __ApplicationContext::getInstance()->getFlowScope(); if ($flow_scope != null) { $js_code .= "(__ClientEventHandler.getInstance()).setFlowExecutionKey('" . $flow_scope->getId() . "');\n"; } } $setup_client_event_handler_rw->addJsCode($js_code); $javascript_response_writer->addResponseWriter($setup_client_event_handler_rw); } parent::startRender(); }