Пример #1
0
 function executeRequest()
 {
     $my_path = Request::getRequestPath();
     $my_name = Request::getRequestName();
     $peer = new PaginePeer();
     $peer->path__EQUAL($my_path);
     $peer->nome__EQUAL($my_name);
     $all_pages = $peer->find();
     $my_page = $all_pages[0];
     $peer_ep = new ElementiPaginaPeer();
     $peer_ep->id_pagina__EQUAL($my_page->id);
     $all_elementi_pagina = $peer_ep->find();
     /*
      * Carico tutti gli elementi pagina
      * Nel nome di un settore eventualmente ci posso mettere una descrizione
      * */
     foreach ($all_elementi_pagina as $elem) {
         $categoria = $elem->categoria;
         $sotto_categoria = $elem->sotto_categoria;
         $specifica = $elem->specifica;
         $categoria_instance = __create_instance(StringUtils::underscored_to_camel_case($categoria) . "SectorRenderer");
         $result = $categoria_instance->{$sotto_categoria}($specifica);
         set_sector($elem->path_settore, $result);
     }
     /*
      * Questi rendering popolano i vari settori a modo loro
      * */
     //render pagina
     render(PageData::instance()->get("/"));
     //trova il layout e renderizza il tutto.
 }
Пример #2
0
 public static function require_css($css_path, $media = CSS::MEDIA_ALL)
 {
     self::init_css();
     if (!ArrayUtils::has_value(self::$css_elements, $css_path)) {
         self::$css_elements[] = $css_path;
         PageData::instance()->add("/page/headers/required_css_files/css_file_list", array("path" => $css_path, "media" => $media));
     }
 }
Пример #3
0
 function testCssAddIntoResult()
 {
     CSS::clean();
     CSS::require_css_file("/" . FRAMEWORK_CORE_PATH . "tests/html/example_css/my_css_file.css");
     $this->assertEqual(1, CSS::get_loaded_css(), "Il numero di css caricati non corrisponde!!");
     $this->assertTrue(PageData::instance()->is_set("/page/headers/required_css_files"));
     $this->assertEqual(1, count(PageData::instance()->get("/page/headers/required_css_files/css_file_list")), "Il numero di css caricati non corrisponde!!");
 }
Пример #4
0
 public static function raw($key, $script)
 {
     self::init_javascript();
     if (!ArrayUtils::has_value(self::$scripts, $key)) {
         self::$scripts[$key] = $script;
         $p = array(Block::MARKER_KEY => "head/raw_javascript", "raw_script" => $script);
         PageData::instance()->add("/page/headers/required_javascripts/list", $p);
     }
 }
Пример #5
0
 function testJsOrder()
 {
     JS::clean();
     JS::require_jquery();
     JS::require_script("/js/jquery/pippo.js");
     JS::require_script("/js/jquery/another_js.js");
     $required_javascripts = PageData::instance()->get("/page/headers/required_javascripts/list");
     $this->assertTrue(strstr("/framework/core/js/jquery/jquery.min.js", $required_javascripts[0]["script_path"]) == 0, "Il primo file non corrisponde!!");
     $this->assertTrue(strstr("/js/jquery/pippo.js", $required_javascripts[1]["script_path"]) == 0, "Il secondo file non corrisponde!!");
     $this->assertTrue(strstr("/js/jquery/another_js.js", $required_javascripts[2]["script_path"]) == 0, "Il terzo file non corrisponde!!");
 }
Пример #6
0
 public function renderResult()
 {
     $request_part = Request::getRequestPart();
     $dot_pos = strpos($request_part, ".");
     $page_name = substr($request_part, 1, $dot_pos - 1);
     $page = PageFactory::create($page_name, new DataHolder());
     Params::push();
     Params::importFromPost(false);
     Params::importFromGet(true);
     ob_start();
     $page->render();
     $page_result = ob_get_contents();
     ob_end_clean();
     Params::pop();
     PageData::instance()->set(Html::get_default_content_save_path(), $page_result);
     render(PageData::instance()->get("/"));
     //trova il layout e renderizza il tutto.
 }
Пример #7
0
 function tearDown()
 {
     PageData::instance()->clear();
 }
Пример #8
0
 private static function init()
 {
     if (empty(self::$stack)) {
         array_push(self::$stack, PageData::instance()->view("/"));
     }
 }
Пример #9
0
 static function get_layout()
 {
     return PageData::instance()->get(Layout::MARKER_KEY);
 }
Пример #10
0
 public function render()
 {
     RenderingStack::push(PageData::instance());
     include $this->__page_path;
     RenderingStack::pop();
 }