Beispiel #1
0
 /**
  * Get portal object by target
  *
  * @param string $target Target to search
  *
  * @return \XLite\Module\CDev\DrupalConnector\Model\Portal
  */
 public function getPortalByTarget($target)
 {
     $class = \XLite\Core\Converter::getControllerClass($target);
     $portals = array_filter(\XLite\Module\CDev\DrupalConnector\Drupal\Module::getInstance()->getPortals(), function (\XLite\Module\CDev\DrupalConnector\Model\Portal $portal) use($class) {
         return $portal->getController() === $class;
     });
     return is_array($portals) ? array_shift($portals) : null;
 }
Beispiel #2
0
 /**
  * Assemble and get controller class name
  *
  * @return string
  */
 protected static function getControllerClass()
 {
     return \XLite\Core\Converter::getControllerClass(static::getTarget());
 }
Beispiel #3
0
 /**
  * Return controller for current page
  *
  * @param string $target Controller target
  * @param array  $params Controller params OPTIONAL
  *
  * @return \XLite\Core\WidgetDataTransport
  */
 public function getPageInstance($target, array $params = array())
 {
     $class = \XLite\Core\Converter::getControllerClass($target);
     return new \XLite\Core\WidgetDataTransport($class ? new $class(array('target' => $target) + $params) : null);
 }
Beispiel #4
0
 /**
  * Compose URL from target, action and additional params
  *
  * @param string  $target      Page identifier OPTIONAL
  * @param string  $action      Action to perform OPTIONAL
  * @param array   $params      Additional params OPTIONAL
  * @param boolean $forceCuFlag Force flag - use Clean URL OPTIONAL
  *
  * @return string
  */
 public function buildURL($target = '', $action = '', array $params = array(), $forceCuFlag = null)
 {
     if ('' !== $target && ('' !== $action || isset($params['action']) && '' !== $params['action'])) {
         $class = \XLite\Core\Converter::getControllerClass($target);
         $paramAction = isset($params['action']) ? $params['action'] : $action;
         if ($class && $class::needFormId() && !in_array($paramAction, $class::defineFreeFormIdActions())) {
             $params[\XLite::FORM_ID] = \XLite::getFormId(empty($params['static_form_id']));
         }
     }
     return \XLite\Core\Converter::buildURL($target, $action, $params, null, false, $forceCuFlag);
 }
Beispiel #5
0
 /**
  * Check if the form must have the form ID
  *
  * @return boolean
  */
 protected function hasFormId()
 {
     $class = \XLite\Core\Converter::getControllerClass($this->getParam(static::PARAM_FORM_TARGET));
     return $class ? $class::needFormId() : true;
 }