コード例 #1
0
ファイル: Logger.php プロジェクト: agentmedia/phine-core
 /**
  * Reports a page action with dependencies to the log
  * @param Page $page The page being manipulated
  * @param Enums\Action $action The operation executed on the page
  */
 function ReportPageAction(Page $page, Enums\Action $action)
 {
     $logItem = $this->CreateLogItem(Enums\ObjectType::Page(), $action);
     if (!$action->Equals(Enums\Action::Delete())) {
         $logPage = new LogPage();
         $logPage->SetLogItem($logItem);
         $logPage->SetPage($page);
         $logPage->Save();
     } else {
         $this->ReportSiteAction($page->GetSite(), Enums\Action::ChildDelete());
     }
 }
コード例 #2
0
 /**
  * The last log item that is directly related to the page
  * @param Page $page The page
  * @return LogItem Returns the log item
  */
 static function LastPageLog(Page $page)
 {
     $tblLogPage = LogPage::Schema()->Table();
     $tblLogItem = LogItem::Schema()->Table();
     $sql = Access::SqlBuilder();
     $orderBy = $sql->OrderList($sql->OrderDesc($tblLogItem->Field('Changed')));
     $joinCond = $sql->Equals($tblLogPage->Field('LogItem'), $tblLogItem->Field('ID'));
     $where = $sql->Equals($tblLogPage->Field('Page'), $sql->Value($page->GetID()));
     return LogItem::Schema()->First($where, $orderBy, null, $sql->Join($tblLogPage), JoinType::Inner(), $joinCond);
 }