Пример #1
0
 /**
  * Returns the top most area
  * @return Area
  */
 public function TopMost()
 {
     $sql = Access::SqlBuilder();
     $tblArea = Area::Schema()->Table();
     $where = $sql->Equals($tblArea->Field('Layout'), $sql->Value($this->layout->GetID()))->And_($sql->IsNull($tblArea->Field('Previous')));
     return Area::Schema()->First($where);
 }
Пример #2
0
 /**
  * Initializes the areas and stores them in a list with area names as keys
  */
 private function InitAreas()
 {
     $sql = Access::SqlBuilder();
     $tbl = Area::Schema()->Table();
     $where = $sql->Equals($tbl->Field('Layout'), $sql->Value($this->layout->GetID()))->And_($sql->IsNull($tbl->Field('Previous')));
     $area = Area::Schema()->First($where);
     while ($area) {
         $this->areas[$area->GetName()] = $area;
         $area = Area::Schema()->ByPrevious($area);
     }
 }
Пример #3
0
 /**
  * Gets the last layout modification log item
  * @param Layout $layout The layout
  * @return LogItem Returns the last log item that changed anything related to the layout
  */
 static function LastLayoutModLog(Layout $layout)
 {
     $lastLog = $this->LastLayoutLog($layout);
     $areas = Area::Schema()->FetchByLayout(false, $layout);
     foreach ($areas as $area) {
         $areaLog = self::LastAreaModLog($area);
         if (self::IsAfter($areaLog, $lastLog)) {
             $lastLog = $areaLog;
         }
     }
     return $lastLog;
 }
Пример #4
0
 private function AreaNameExists($name)
 {
     $sql = Access::SqlBuilder();
     $tblArea = Area::Schema()->Table();
     $where = $sql->Equals($tblArea->Field('Layout'), $sql->Value($this->layout->GetID()))->And_($sql->Equals($tblArea->Field('Name'), $sql->Value($name)));
     return Area::Schema()->Count(false, $where) > 0;
 }
Пример #5
0
 protected function TableSchema()
 {
     return Area::Schema();
 }