Exemplo n.º 1
0
 private function _decodeName($name)
 {
     $data = AppTools::decodeUri($name, $this->app, $this->defaultModule ? $this->defaultModule : $this->app->currentTask->module, $this->defaultPlugin ? $this->defaultPlugin : $this->app->currentTask->plugin);
     if ($data[1]) {
         $template = $data[1]->path . 'templates/' . $data[2] . '.php';
     } else {
         $template = $data[0]->path . 'templates/' . $data[2] . '.php';
     }
     return $template;
 }
Exemplo n.º 2
0
 public function a($uri, $parameters = null)
 {
     if ($this->publicAssetUrl !== null && strpos($uri, ':') === false) {
         return $this->publicAssetUrl . $uri;
     } else {
         $data = AppTools::decodeUri($uri, $this->_app, $this->_app->currentTask->module, $this->_app->currentTask->plugin);
         if ($data[0]) {
             /** @var Module $m */
             $m = $data[0];
             return $m->getPublicUrl($data[2], true, $parameters);
         } elseif ($data[1]) {
             /** @var Plugin $p */
             $p = $data[1];
             return $p->getPublicUrl($data[2], true, $parameters);
         }
         return null;
     }
 }
Exemplo n.º 3
0
 /** @param $task Task
  * @param $route Route
  */
 public function redirectTaskToRoute($task, $route)
 {
     $task->setRoute($route);
     if (strpos($task->route->page, '@')) {
         $type = explode('@', $task->route->page, 2);
         $class = $type[0];
         $action = $type[1];
     } else {
         $class = $task->route->page;
         $action = 'parseTask';
     }
     $classData = AppTools::decodeUri($class, $this, $task->route->module, $task->route->plugin);
     if ($classData[1]) {
         $class = NamespaceTools::getNamespaceOfInstance($classData[1]) . '\\' . $classData[2];
     } elseif ($classData[0]) {
         $class = NamespaceTools::getNamespaceOfInstance($classData[0]) . '\\' . $classData[2];
     } else {
         trigger_error('No page class found for "' . $task->request->url . '" with "' . $task->route->page . '"');
         $class = null;
     }
     $task->setPage(new $class());
     if (!$task->page) {
         trigger_error('No page was set', E_USER_ERROR);
     }
     $task->page->task = $task;
     $task->page->beforeParsing();
     $task->page->{$action}();
     $task->page->afterParsing();
 }
Exemplo n.º 4
0
 public function getUrl($arguments = null, $absoluteURL = true, $parameters = null, $escapeArguments = true)
 {
     $url = $this->permaUrl;
     $url = AppTools::encodePageUrlString($url, $arguments, $escapeArguments);
     if ($parameters != null) {
         $url .= StringTools::getQueryString($parameters);
     }
     if ($absoluteURL) {
         $url = $this->module->app->url . $url;
     }
     return $url;
 }