Example #1
0
 public function __construct()
 {
     $this->project = Fstab::instance()->project(Mempool::instance()->get("bong.project.current"));
     $this->controller = Mempool::instance()->get("bong.mvc.controller");
     $this->method = Mempool::instance()->get("bong.mvc.method");
     $this->url = Mempool::instance()->get("bong.url.path");
     $this->base = MemPool::instance()->get("bong.url.base");
     $this->root = MemPool::instance()->get("bong.url.root");
 }
Example #2
0
 protected function fileName()
 {
     $filePath = md5(($this->_abstractor->sessioned() == SpiritAbstractor::Sessioned ? $this->sessionId() : '') . ($this->_abstractor->feeder() == SpiritAbstractor::SelfFeeded ? '' : Mempool::instance()->get("bong.mvc.controller")) . $this->_spiritName . ($this->_abstractor->binding() == SpiritAbstractor::StaticBinding ? '' : $this->uid())) . '.sxdo';
     /*{ Experimental*/
     if ($this->_abstractor->feeder() == SpiritAbstractor::SpiritFeeded) {
         return md5($this->_abstractor->controller->xdo->uName() . $filePath) . '.sxdo';
     }
     /*} */
     //if(!$this->_spiritName)
     //	debug_print_backtrace();
     return $filePath;
 }
Example #3
0
 /**
  * return md5($this->sessionId().':'.$controllerName').'.csdo'
  */
 protected function fileName()
 {
     $controllerName = Mempool::instance()->get("bong.mvc.controller");
     return md5($this->sessionId() . ':' . $controllerName) . '.csdo';
 }
Example #4
0
 /**
  * return md5($this->sessionId().':'.$controllerName'.':'.$spiritName).'.sxdo'
  */
 protected function fileName()
 {
     md5($this->sessionId() . ':' . Mempool::instance()->get("bong.mvc.controller") . ':' . $this->_spiritName . ($this->hasUID() ? '#' . $this->uid() : '')) . '.sxdo';
 }
Example #5
0
 public function buildNavigation($parts)
 {
     $spiritNamePos = -1;
     $propertyPos = -1;
     foreach ($parts as $i => $part) {
         if ($part[0] == '+') {
             if ($spiritNamePos != -1) {
                 throw new MalformedUrlException(implode('/', $parts));
             }
             $spiritNamePos = $i;
         }
         if ($part[0] == '-') {
             if ($propertyPos != -1) {
                 throw new MalformedUrlException(implode('/', $parts));
             }
             $propertyPos = $i;
         }
     }
     if ($spiritNamePos == -1) {
         throw new MalformedUrlException(implode('/', $parts));
     }
     $controllerParts = array_slice($parts, 0, $spiritNamePos);
     $spiritParts = array_slice($parts, $spiritNamePos, $propertyPos == -1 ? count($parts) : $propertyPos - $spiritNamePos);
     $propParts = $propertyPos == -1 ? array() : array_slice($parts, $propertyPos);
     /*
     print_r($controllerParts);
     print_r($spiritParts);
     print_r($propParts);
     */
     $controllerName = null;
     $controllerMethodName = null;
     $controllerMethodArgs = array();
     if (count($controllerParts) > 0) {
         $controllerName = $controllerParts[0];
         if (strpos($controllerParts[0], ".s") === false) {
             throw new MalformedUrlException(implode('/', $parts));
         } else {
             $controllerName = substr($controllerParts[0], 0, -2);
         }
         $controllerMethodName = null;
         $controllerMethodArgs = array();
         if (count($controllerParts) > 1) {
             $controllerMethodName = $controllerParts[1];
             if (count($controllerParts) > 2) {
                 $controllerMethodArgs = array_slice($controllerParts, 2);
             }
         }
     }
     $spiritName = $spiritParts[0];
     $spiritExtension = "res";
     $spiritInstanceId = null;
     if (strpos($spiritParts[0], ".") === false) {
         throw new MalformedUrlException(implode('/', $parts));
     } else {
         $spiritName = substr($spiritParts[0], 0, strpos($spiritParts[0], "."));
         $spiritExtension = substr($spiritParts[0], strpos($spiritParts[0], "."));
         if (strpos($spiritName, ':') !== false) {
             $spiritInstanceId = substr($spiritName, strpos($spiritName, ":") + 1);
             $spiritName = substr($spiritName, 0, strpos($spiritName, ":"));
         }
     }
     $spiritMethodName = null;
     $spiritMethodArgs = array();
     if (count($spiritParts) > 1) {
         $spiritMethodName = $spiritParts[1];
         if (count($spiritParts) > 2) {
             $spiritMethodArgs = array_slice($spiritParts, 2);
         }
     }
     $this->navigation->controllerName = $controllerName;
     $this->navigation->controllerMethodName = $controllerMethodName;
     $this->navigation->controllerMethodArgs = $controllerMethodArgs;
     $this->navigation->spiritName = substr($spiritName, 1);
     $this->navigation->methodName = $spiritMethodName;
     $this->navigation->args = $spiritMethodArgs;
     $this->navigation->spiritExtension = substr($spiritExtension, 1);
     $this->navigation->spiritInstanceId = $spiritInstanceId;
     $this->navigation->propertyName = $propertyPos == -1 ? null : substr($propParts[0], 1);
     Mempool::instance()->set('bong.mvc.controller', $this->navigation->controllerName);
     MemPool::instance()->set('bong.mvc.method', $this->navigation->controllerMethodName);
     //print_r($this->navigation);
 }