Beispiel #1
0
 public function load_page_blocks()
 {
     if (!empty(self::$page_block) && !empty(self::$block_relations)) {
         return;
     }
     if ($this->BuilderEngine->get_page_path() == "{error:no_path_specified}") {
         return;
     }
     $this->load_block_relations();
     $page_version = $this->get_current_page_version();
     $layout_version = $this->get_current_layout_version();
     PC::load_page_blocks("Loading blocks on page version: {$page_version} layout version: {$layout_version}");
     $this->db->where("(`version` = '{$page_version}'");
     $this->db->or_where("`version` = '{$layout_version}')");
     $this->db->order_by("ID ASC");
     $query = $this->db->get("blocks");
     $result = $query->result_array();
     foreach ($result as $key => $row) {
         //print_r($result);
         if ($row['version'] == 0) {
             if ($row->global == "true") {
                 $this->bind_block_to_page_version($row['id'], $layout_version);
                 $result[$key]['version'] = $layout_version;
             } else {
                 $this->bind_block_to_page_version($row['id'], $page_version);
                 $result[$key]['version'] = $page_version;
             }
         }
         if (isset(self::$block_relations[$row['name']])) {
             $result[$key]['children'] = self::$block_relations[$row['name']];
         } else {
             $result[$key]['children'] = array();
         }
         $result[$key] = (object) $result[$key];
         self::$page_block[$row['name']] = $result[$key];
     }
 }