Exemplo n.º 1
0
 /**
  *@desc Build URL link based on xmlnuke model.
  *@desc Note: target must be the follow values:
  *@desc  - site if URLTYPE is equal to ENGINE or ADMIN
  *@desc  - module is URLTYPE is equal to MODULE
  *@desc  - Full URL (without protocol) if any other.
  *@return string
  */
 public function getUrl()
 {
     if ($this->_urltype == URLTYPE::ENGINE || $this->_urltype == URLTYPE::ADMINENGINE) {
         $url = $this->_urltype;
     } else {
         $url = $this->_target;
         if ($this->_urltype == URLTYPE::MODULE || $this->_urltype == URLTYPE::JAVASCRIPT || $this->_urltype == URLTYPE::ADMIN) {
             if (strpos($this->_target, $this->_urltype) === false) {
                 $url = $this->_urltype . $url;
             }
         }
     }
     $separator = strpos($this->_target, "?") === false ? '?' : "&";
     $count = 0;
     foreach ($this->_parameters as $param => $value) {
         if ($count > 0) {
             $separator = '&';
         }
         $count++;
         $url .= $separator . $param . '=' . XmlnukeManageUrl::encodeParam($value);
     }
     //return $url;
     return str_replace('&', '&', $url);
 }
Exemplo n.º 2
0
 /**
  *
  */
 function processModule()
 {
     $context = Context::getInstance();
     //IModule
     $module = null;
     $moduleName = $context->getModule();
     if ($moduleName == "") {
         // Experimental... Not finished...
         $moduleName = $context->getVirtualCommand();
         if ($moduleName == 'admin') {
             $moduleName = 'Xmlnuke.Admin.ControlPanel';
         }
     }
     $firstError = null;
     $debug = $context->getDebugStatus();
     // Try load modules
     // Catch errors from permissions and so on.
     $writeResult = $this->getProcessResult();
     try {
         $module = ModuleFactory::GetModule($moduleName);
         $engine = $this->createXmlnukeEngine();
         $writeResult->SearchAndReplace($engine->TransformDocumentFromModule($module));
     } catch (ModuleNotFoundException $ex) {
         $module = ModuleFactory::GetModule('Xmlnuke.HandleException', array('TYPE' => 'NOTFOUND', 'MESSAGE' => 'The module "' . $moduleName . '" was not found.', 'OBJECT' => $moduleName));
         $engine = $this->createXmlnukeEngine();
         $writeResult->SearchAndReplace($engine->TransformDocumentFromModule($module));
     } catch (NotAuthenticatedException $ex) {
         $s = XmlnukeManageUrl::encodeParam($_SERVER["REQUEST_URI"]);
         $url = $context->bindModuleUrl($context->get("xmlnuke.LOGINMODULE")) . "&ReturnUrl=" . $s;
         // Do not leave empty spaces at begin or end of modules
         // Não deixe espaços em branco no início ou fim dos módulos
         $context->redirectUrl($url);
     }
 }