Exemplo n.º 1
0
 /**
  * Add our own stuff to the templates
  */
 public function inject_template(midgardmvc_core_request $request)
 {
     // Replace the default MeeGo sidebar with our own
     $route = $request->get_route();
     $route->template_aliases['content-sidebar'] = 'cmp-show-sidebar';
     $route->template_aliases['main-menu'] = 'cmp-show-main_menu';
     midgardmvc_core::get_instance()->head->add_link(array('rel' => 'stylesheet', 'type' => 'text/css', 'href' => MIDGARDMVC_STATIC_URL . '/com_meego_planet/planet.css'));
 }
Exemplo n.º 2
0
 /**
  * Some template hack
  */
 public function inject_template(midgardmvc_core_request $request)
 {
     $route = $request->get_route();
     $request->set_data_item('admin', false);
     if ($this->mvc->authentication->is_user()) {
         if ($this->mvc->authentication->get_user()->is_admin()) {
             $request->set_data_item('admin', true);
         }
     }
 }
Exemplo n.º 3
0
 /**
  * Some template hack
  */
 public function inject_template(midgardmvc_core_request $request)
 {
     // Replace the default MeeGo sidebar with our own
     $route = $request->get_route();
     $route->template_aliases['content-sidebar'] = 'cmd-sidebar';
     $route->template_aliases['main-menu'] = 'cmd-main-menu';
     // set user flag
     // set create program url for the menu in the sidebar
     // set admin flag to have extra functionality later on
     if ($this->mvc->authentication->is_user()) {
         $request->set_data_item('user', true);
         $create_provider_url = $this->mvc->dispatcher->generate_url('provider_create', array(), $request);
         $request->set_data_item('create_provider_url', $create_provider_url);
         $create_device_url = $this->mvc->dispatcher->generate_url('device_create', array(), $request);
         $request->set_data_item('create_device_url', $create_device_url);
         $create_program_url = $this->mvc->dispatcher->generate_url('program_create', array(), $request);
         $request->set_data_item('create_program_url', $create_program_url);
         if ($this->mvc->authentication->get_user()->is_admin()) {
             $request->set_data_item('admin', true);
         }
     }
     // set open programs url for the menu in the sidebar
     $open_programs_url = $this->mvc->dispatcher->generate_url('open_programs', array(), $request);
     $request->set_data_item('open_programs_url', $open_programs_url);
     // set more info url for the menu in the sidebar
     $more_info_url = $this->mvc->configuration->more_info_url;
     $request->set_data_item('more_info_url', $more_info_url);
     // set list of providers url for the menu in the sidebar
     $providers_url = $this->mvc->dispatcher->generate_url('providers', array(), $request);
     $request->set_data_item('providers_url', $providers_url);
     // set bugtracker url for the menu in the sidebar
     $bugtracker_url = $this->mvc->configuration->bugtracker_url;
     $request->set_data_item('bugtracker_url', $bugtracker_url);
     //
     if ($this->mvc->configuration->enable_breadcrumb) {
         // add breadcrumb if enabled in configuration
         self::set_breadcrumb($request);
     }
     // add some js and css  to html head if needed
     $this->add_head_elements();
 }
Exemplo n.º 4
0
 public function get_element(midgardmvc_core_request $request, $element, $handle_includes = true)
 {
     // Check for possible element aliases
     $route = $request->get_route();
     if ($route && isset($route->template_aliases[$element])) {
         $element = $route->template_aliases[$element];
     }
     $component_chain = $request->get_component_chain();
     foreach ($component_chain as $component) {
         $element_content = $component->get_template_contents($element);
         if (is_null($element_content)) {
             // This component didn't provide the necessary element, go to next one in stack
             continue;
         }
         if (!$handle_includes) {
             return $element_content;
         }
         // Replace instances of <mgd:include>elementname</mgd:include> with contents of the element
         return preg_replace_callback("%<mgd:include[^>]*>([a-zA-Z0-9_-]+)</mgd:include>%", array($this, 'get_element_callback'), $element_content);
     }
     throw new OutOfBoundsException("Element {$element} not found in Midgard MVC component chain.");
 }
Exemplo n.º 5
0
 private function data_to_request(midgardmvc_core_request $request, array $data)
 {
     $components = $request->get_component_chain();
     foreach ($components as $component) {
         $request->set_data_item($component->name, $data);
     }
     $request->set_data_item('current_component', $data);
     // Set other request data from route
     $route = $request->get_route();
     $request->set_data_item('mimetype', $route->mimetype);
 }