Exemplo n.º 1
0
 /**
  * @inheritdoc
  */
 public function decorate($content, ViewInterface $view = null)
 {
     $registry = $view->getEngine()->getViewFactory()->getResourcesManager();
     foreach ($registry->types() as $type) {
         $content = preg_replace(self::pattern($type), $registry->render($type), $content);
     }
     return $content;
 }
Exemplo n.º 2
0
 /**
  * @inheritdoc
  */
 public function decorate($content, ViewInterface $view = null)
 {
     $manager = $view->getEngine()->getViewFactory()->getStringsManager();
     foreach ($manager->getKeys() as $key) {
         $pattern = self::pattern($key);
         $content = preg_replace($pattern, $manager->render($key), $content);
     }
     return $content;
 }
Exemplo n.º 3
0
 /**
  * @inheritdoc
  */
 public function decorate($content, ViewInterface $view = null, $element = null, $class = null)
 {
     $userManager = $view->getEngine()->getUserManager();
     // TODO This 'manager' should be defined somewhere or perhaps passed in as an argument??
     if (!$userManager->isLoggedIn() || !$userManager->getStorage()->hasPrivilege($userManager->getLoggedInUserEmail(), 'manager')) {
         return $content;
     }
     return parent::decorate($content, $element, array('class' => $class ?: 'sitegear-editable'));
 }
Exemplo n.º 4
0
 /**
  * @inheritdoc
  */
 public function decorate($content, ViewInterface $view = null, $beginMarker = null, $endMarker = null)
 {
     $beginMarker = $beginMarker ?: self::DEFAULT_BEGIN_MARKER;
     $endMarker = $endMarker ?: self::DEFAULT_END_MARKER;
     // Only output the comments in development environments
     if (!$view->getEngine()->getEnvironmentInfo()->isDevMode()) {
         return $content;
     }
     // Determine the spec, which is printed at the beginning and end
     $spec = array('view');
     for ($i = 0, $len = $view->getTargetCount(); $i < $len; ++$i) {
         $spec[] = $view->getTarget($i);
     }
     $spec = implode('.', $spec);
     // Render and return the result
     return sprintf('<!-- %s [[ %s ]] --> %s%s<!-- %s [[ %s ]] -->%s', $beginMarker, $spec, PHP_EOL, $content, $endMarker, $spec, PHP_EOL);
 }
Exemplo n.º 5
0
 /**
  * @inheritdoc
  */
 public function decorate($content, ViewInterface $view = null, Request $request = null)
 {
     $renderTime = $this->formatTime($view->getEngine()->getTimestamp());
     $version = $view->getEngine()->getApplicationInfo()->getSitegearVersionIdentifier();
     $userManager = $view->getEngine()->getUserManager();
     $comment = sprintf('<!-- %s%s :: %s :: %s -->%s<!-- %s :: %s :: %s -->', $request->getUri(), is_null($view->getEngine()->getEnvironmentInfo()->getEnvironment()) ? '' : sprintf(' :: %s environment', $view->getEngine()->getEnvironmentInfo()->getEnvironment()), $userManager->isLoggedIn() ? 'logged in as ' . ($userManager->getLoggedInUserEmail() ?: 'guest') : 'not logged in', $renderTime, PHP_EOL, $view->getEngine()->getApplicationInfo()->getSitegearHomepage(), $version, $this->formatNow());
     LoggerRegistry::log($this->logLevel(), '{pathInfo} {renderTime} by {version}', array('pathInfo' => $request->getPathInfo(), 'renderTime' => $renderTime, 'version' => $version));
     return $content . $comment . PHP_EOL;
 }
Exemplo n.º 6
0
 /**
  * @inheritdoc
  */
 public function buildViewContext(ViewInterface $view, Request $request)
 {
     LoggerRegistry::debug('SitegearViewFactory::buildViewContext()');
     // Check for special targets at the module level
     switch ($view->getTarget(View::TARGET_LEVEL_MODULE)) {
         // $view->template()->{templateName}()
         case self::SPECIAL_TARGET_MODULE_TEMPLATE:
             $context = new TemplateViewContext($view, $request);
             break;
             // $view->section()->{sectionName}()
         // $view->section()->{sectionName}()
         case self::SPECIAL_TARGET_MODULE_SECTION:
             $index = $this->getIndexSectionName();
             $fallback = $this->getFallbackSectionName();
             $context = new SectionViewContext($view, $request, $index, $fallback);
             break;
             // $view->component()->{componentName}()
         // $view->component()->{componentName}()
         case self::SPECIAL_TARGET_MODULE_COMPONENT:
             $context = new ComponentViewContext($view, $request, true);
             break;
             // $view->resources()->{resourceTypeName}()
         // $view->resources()->{resourceTypeName}()
         case self::SPECIAL_TARGET_MODULE_RESOURCES:
             $context = new ResourcesViewContext($view, $request);
             break;
             // $view->strings()->{stringName}()
         // $view->strings()->{stringName}()
         case self::SPECIAL_TARGET_MODULE_STRINGS:
             $context = new StringsViewContext($view, $request);
             break;
             // $view->{moduleName}()...
         // $view->{moduleName}()...
         default:
             // No special target at the module level, check at the method level
             switch ($view->getTarget(View::TARGET_LEVEL_METHOD)) {
                 // $view->{moduleName}()->item()
                 case self::SPECIAL_TARGET_METHOD_ITEM:
                     $context = new ModuleItemViewContext($view, $request);
                     break;
                     // $view->{moduleName}()->{componentName}()
                 // $view->{moduleName}()->{componentName}()
                 default:
                     $context = new ComponentViewContext($view, $request, false);
             }
     }
     return $context;
 }