129 private function load_page_packages()
133 $this->AutoMarkup =
get_package(
'page::auto_markup' ,
'last' , __FILE__ );
134 $this->PageAccess =
get_package(
'page::page_access' ,
'last' , __FILE__ );
135 $this->PageComposerUtilities =
get_package(
'page::page_composer_utilities' ,
'last' , __FILE__ );
136 $this->PageCSS =
get_package(
'page::page_css' ,
'last' , __FILE__ );
137 $this->PageJS =
get_package(
'page::page_js' ,
'last' , __FILE__ );
138 $this->PageMarkup =
get_package(
'page::page_markup' ,
'last' , __FILE__ );
139 $this->PageMeta =
get_package(
'page::page_meta' ,
'last' , __FILE__ );
140 $this->PageParts =
get_package(
'page::page_parts' ,
'last' , __FILE__ );
142 catch( Exception $e )
166 $this->Messages =
get_package(
'page::messages' ,
'last' , __FILE__ );
167 $this->load_page_packages();
168 $this->Security =
get_package(
'security' ,
'last' , __FILE__ );
169 $this->String =
get_package(
'string' ,
'last' , __FILE__ );
170 $this->Trace =
get_package(
'trace' ,
'last' , __FILE__ );
172 catch( Exception $e )
201 $this->PageCSS->add_stylesheet(
"{http_host}/$PackagePath/res/css/core.css" );
204 $Lang->include_strings_js(
'page::page_composer' );
206 $this->PageComposerUtilities->page_permit_validation( $Options );
208 catch( Exception $e )
242 @ob_start(
'ob_gzhandler' , 9 );
244 $this->Messages->get_success_message_from_session();
245 $PageDescription = $this->PageAccess->get_page_description( $PageName );
247 $this->PageComposerUtilities->translate_template_name( $this , $PageDescription );
249 return( $PageDescription );
251 catch( Exception $e )
275 private function set_page_meta_info( &$PageDescription )
279 $this->PageMeta->set_page_title( $PageDescription[
'title' ] );
280 $this->PageMeta->add_page_keywords( $PageDescription[
'keywords' ] );
281 $this->PageMeta->add_page_description( $PageDescription[
'description' ] );
283 catch( Exception $e )
307 private function load_layout( $PageDescription )
312 $Settings->load_settings( $PageDescription[
'options' ] );
313 $this->Layout = $Settings->get_setting(
'layout' ,
'default' );
315 catch( Exception $e )
351 $this->Trace->add_trace_string(
"{lang:fetching_data} : $PageName" , COMMON );
352 $this->Template = $this->PageComposerUtilities->get_template_for_package( $PageDescription );
354 $this->set_page_meta_info( $PageDescription );
356 $Options = $PageDescription[
'options' ];
357 $this->Packages = $this->PageParts->get_package_appliance( $Page , $PageName , $Options );
359 $this->load_layout( $PageDescription );
361 $this->PageParts->fetch_packages( $this->Packages , $this->Template );
363 catch( Exception $e )
395 private function apply_options( $Str , $Options )
401 $Settings->load_settings( $Options );
403 return( $this->String->print_record( $Str , $Settings->get_raw_settings() ) );
405 catch( Exception $e )
433 private function before_generation( &
$Template , $PageDescription )
437 $this->PageParts->execute_generators( $this->Packages ,
'pre_generation' ,
$Template );
440 if( $this->String->block_exists( $Str ,
'layout' ) )
442 $Str = str_replace(
'{layout}' ,
'{include:'.$this->Layout.
'}' , $Str );
445 $Str = $this->apply_options( $Str , $PageDescription[
'options' ] );
449 catch( Exception $e )
477 private function after_generation( &
$Template , $PageDescription )
483 if( strpos( $PageDescription[
'options' ] ,
'process_macro=0' ) ===
false )
485 $Str = $this->AutoMarkup->compile_string( $Str );
490 $this->PageComposerUtilities->output_trace_if_necessary( $this );
492 catch( Exception $e )
524 $this->Trace->add_trace_string(
"{lang:run_generation_loop} : $PageName" , COMMON );
526 $this->before_generation( $this->Template , $PageDescription );
528 $this->Template->process( $PageName );
530 $this->PageParts->compile_controllers( $this->Packages );
531 $this->PageParts->compile_views( $this->Packages , $this->Template );
533 $this->after_generation( $this->Template , $PageDescription );
535 $this->Template->cleanup( $PageName , $PageDescription[
'options' ] );
537 catch( Exception $e )
571 if( $PageDescription !==
false )
573 $this->Trace->add_trace_string(
"{lang:page_generation_start} : $PageName" , COMMON );
574 $this->
fetch_page_data( $this->PageAccess , $PageName , $PageDescription );
578 return( $this->Template->get_template() );
581 $this->Trace->add_trace_string(
"{lang:requested_page_was_not_found} : $PageName" , ERROR );
585 catch( Exception $e )
618 'page::page_markup::page_markup_utilities' ,
'last' , __FILE__
621 if( $Options->get_setting(
'direct_view' ,
false ) )
623 $Options->load_from_http();
625 return( $PageMarkupUtilities->direct_view( $Options ) );
627 if( $Options->get_setting(
'direct_controller' ,
false ) )
629 $Options->load_from_http();
631 $PageMarkupUtilities->direct_controller( $Options );
636 catch( Exception $e )