Advertisement
Guest User

silverstripe - resource web service

a guest
May 5th, 2015
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.46 KB | None | 0 0
  1.     protected function getHandler() {
  2.         header('Content-Type: application/json');
  3.         //$locale = i18n::get_locale();    
  4.         if($this->request->getVar('segment')) {
  5.             $segment = $this->request->getVar('segment');  
  6.             $segment = parse_url($segment, PHP_URL_PATH);
  7.  
  8.             $segment = str_replace("/en", "", $segment);
  9.             $segment = str_replace("/es", "", $segment);
  10.         }  
  11.  
  12.         //i18n::set_locale('es_US')
  13.         $page = SiteTree::get_by_link($segment);
  14.  
  15.         //var_dump($page); die;
  16.  
  17.         // page not found
  18.         if(!$page) { echo json_encode(array("status" => "404","message" => "Page not found.")); die; }     
  19.  
  20.         $sections = array();
  21.  
  22.         // add main section
  23.         $section = $this->sectionFactory($page);
  24.         array_push($sections, $section);
  25.  
  26.         // if page is PreziPage then render subpages
  27.         if($page->className == "PreziPage") {
  28.  
  29.             foreach($page->Children() AS $p) {
  30.                 $section = $this->sectionFactory($p);
  31.                 // add section slides
  32.                 if($section->pagetype == "PreziPage") {
  33.                     // get page childrens
  34.                     $slides = array();
  35.                    
  36.                     foreach($p->Children() AS $s) {
  37.                         $slide = $this->sectionFactory($s);
  38.                         array_push($slides, $slide);
  39.                     }
  40.  
  41.                     $section->slides = $slides;
  42.  
  43.                 }
  44.                
  45.                 array_push($sections, $section);
  46.             }  
  47.         }
  48.  
  49.         // setup final result
  50.         $result = array(
  51.             "status" => "success",
  52.             "message" => "",
  53.             "gallery" => null,
  54.             "sections" => $sections
  55.         );
  56.  
  57.         // output data in json format.
  58.         echo json_encode($result);
  59.  
  60.         die;
  61.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement