attributes(); $this->signOwner = isset($attributes['sign_owner']) ? trim($attributes['sign_owner']) : true; $this->signViewer = isset($attributes['sign_viewer']) ? trim($attributes['sign_viewer']) : true; $this->href = isset($attributes['href']) ? trim($attributes['href']) : ''; if (empty($this->href)) { throw new SpecParserException("Preload/@href is missing or invalid."); } // Record all the associated views $viewNames = isset($attributes['views']) ? trim($attributes['views']) : ''; $views = array(); $arrViewNames = explode(",", $viewNames); foreach ($arrViewNames as $view) { $view = trim($view); if (strlen($view) > 0) { $views[] = $view; } } $this->views = $views; $this->auth = Auth::parse($attributes[Preload::$AUTHZ_ATTR]); } public function getHref() { return $this->href; } public function getAuth() { return $this->auth; } public function isSignViewer() { return $this->signViewer; } public function isSignOwner() { return $this->signOwner; } public function getViews() { return $this->views; } public function substitute($substituter) { return $this->fillPreload($this, $substituter); } private function fillPreload(Preload $preload, $substituter) { $this->signOwner = $preload->signOwner; $this->signViewer = $preload->signViewer; $this->views = $preload->views; $this->auth = $preload->auth; $this->href = $substituter->substituteUri(null, $preload->href); return $this; } }