/**
  * Gets the first page url parameter
  * @return PageUrlParameter Returns the first parameter or null if none exists
  */
 public function TopMost()
 {
     $sql = Access::SqlBuilder();
     $tblParams = PageUrlParameter::Schema()->Table();
     $where = $sql->Equals($tblParams->Field('PageUrl'), $sql->Value($this->pageUrl->GetID()))->And_($sql->IsNull($tblParams->Field('Previous')));
     return PageUrlParameter::Schema()->First($where);
 }
Example #2
0
 /**
  * Gets the url for a page url entity
  * @param PageUrl $pageUrl The page url as stored in the database
  * @param array $additionalParameters Additional parameters; will override stored parameters with same keys
  * @return string Returns the page url
  */
 static function Url(PageUrl $pageUrl, array $additionalParameters = array())
 {
     $list = new PageParamListProvider($pageUrl);
     $params = $list->ToArray();
     foreach ($additionalParameters as $key => $value) {
         $params[$key] = $value;
     }
     return self::PageUrl($pageUrl->GetPage(), $params, $pageUrl->GetFragment());
 }
 /**
  * Clears the parameters of the page url
  * @param PageUrl $pageUrl The page url
  */
 private function ClearParams(PageUrl $pageUrl)
 {
     $sql = Access::SqlBuilder();
     $tblParams = PageUrlParameter::Schema()->Table();
     $where = $sql->Equals($tblParams->Field('PageUrl'), $sql->Value($pageUrl->GetID()));
     PageUrlParameter::Schema()->Delete($where);
 }