Exemplo n.º 1
0
 /**
  * Parse any media group placeholders
  *
  * @param  AbstractController $controller
  * @param  Application        $application
  * @return void
  */
 public static function parseMedia(AbstractController $controller, Application $application)
 {
     if ($controller->hasView() && ($controller instanceof \Phire\Categories\Controller\IndexController || $controller instanceof \Phire\Content\Controller\IndexController)) {
         $data = $controller->view()->getData();
         foreach ($data as $key => $value) {
             if (is_string($value)) {
                 $subIds = self::parseLibraryIds($value);
                 if (count($subIds) > 0) {
                     $media = new Model\Media();
                     foreach ($subIds as $sid) {
                         $view = new \Pop\View\View($value, ['media_' . $sid => $media->getAllByLibraryId($sid)]);
                         $controller->view()->{$key} = $view->render();
                     }
                 }
             }
         }
         $body = $controller->response()->getBody();
         $ids = self::parseLibraryIds($body);
         if (count($ids) > 0) {
             $media = new Model\Media();
             foreach ($ids as $id) {
                 $key = 'media_' . $id;
                 $controller->view()->{$key} = $media->getAllByLibraryId($id);
             }
         }
     }
 }
Exemplo n.º 2
0
 /**
  * Parse any content group placeholders
  *
  * @param  AbstractController $controller
  * @param  Application        $application
  * @return void
  */
 public static function parseContent(AbstractController $controller, Application $application)
 {
     if ($controller->hasView() && ($controller instanceof \Phire\Categories\Controller\IndexController || $controller instanceof \Phire\Content\Controller\IndexController)) {
         $data = $controller->view()->getData();
         foreach ($data as $key => $value) {
             if (is_string($value)) {
                 $subIds = self::parseContentIds($value);
                 if (count($subIds) > 0) {
                     $content = new Model\Content();
                     foreach ($subIds as $sid) {
                         $c = substr($value, strpos($value, '[{content_' . $sid . '}]'));
                         $c = substr($c, 0, strpos($c, '[{/content_' . $sid . '}]') + strlen('[{/content_' . $sid . '}]'));
                         $view = new \Pop\View\View($c, ['content_' . $sid => $content->getAllByTypeId($sid)]);
                         $controller->view()->{$key} = str_replace($c, $view->render(), $value);
                     }
                 }
             }
         }
         $body = $controller->response()->getBody();
         $ids = self::parseContentIds($body);
         if (count($ids) > 0) {
             $content = new Model\Content();
             foreach ($ids as $id) {
                 $key = 'content_' . $id;
                 $controller->view()->{$key} = $content->getAllByTypeId($id);
             }
         }
     }
 }