Esempio n. 1
0
 private static function getAction($action)
 {
     $app = Manager::getApp();
     $re = '#^(\\/?)' . $app . '\\/#';
     if (preg_match($re, $action)) {
         $action = preg_replace($re, '', $action);
     }
     return $app . '/' . $action;
 }
Esempio n. 2
0
 public function getApplication()
 {
     return Manager::getApp();
 }
Esempio n. 3
0
 public function getService($service, $module = '')
 {
     $service = MApp::getService(Manager::getApp(), $module == '' ? Manager::getModule() : $module, $service);
     $service->setData();
     return $service;
 }
Esempio n. 4
0
 public function buildURL($action = '', $parameters = array())
 {
     $app = Manager::getApp();
     $module = Manager::getModule();
     if ($action[0] == '@') {
         $url = Manager::getAppURL($app);
         $action = substr($action, 1);
     } elseif ($action[0] == '>') {
         $url = Manager::getAppURL($app);
         $action = substr($action, 1);
     } elseif ($action[0] == '#') {
         $url = Manager::getStaticURL();
         $action = substr($action, 1);
     } else {
         $url = Manager::getAppURL($app);
     }
     $path = '';
     $parts = explode('/', $action);
     $i = 0;
     $n = count($parts);
     if ($parts[$i] == $app) {
         ++$i;
         --$n;
     }
     if ($n == 3) {
         //module
         $path = '/' . $parts[$i] . '/' . $parts[$i + 1] . '/' . $parts[$i + 2];
     } elseif ($n == 2) {
         $path = '/' . $parts[$i] . '/' . $parts[$i + 1];
     } elseif ($n == 1) {
         $path = '/' . $parts[$i];
     } else {
         throw new EMException(_M('Error building URL. Action = ' . $action));
     }
     if (count($parameters)) {
         $query = http_build_query($parameters);
         $path .= (strpos($path, '?') === false ? '?' : '') . $query;
     }
     $url .= $path;
     return $url;
 }