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"); }
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; }
/** * return md5($this->sessionId().':'.$controllerName').'.csdo' */ protected function fileName() { $controllerName = Mempool::instance()->get("bong.mvc.controller"); return md5($this->sessionId() . ':' . $controllerName) . '.csdo'; }
/** * 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'; }
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); }