コード例 #1
0
ファイル: PageForm.php プロジェクト: agentmedia/phine-core
 /**
  * Saves page member groups not already assigned
  * @param array $selectedIDs The selected member group ids
  * @param array $exIDs The already assigned membergroup ids
  */
 private function SaveNewMemberGroups(array $selectedIDs, array $exIDs)
 {
     foreach ($selectedIDs as $selID) {
         if (!in_array($selID, $exIDs)) {
             $pgGrp = new PageMembergroup();
             $pgGrp->SetPage($this->page);
             $pgGrp->SetMemberGroup(new Membergroup($selID));
             $pgGrp->Save();
         }
     }
 }
コード例 #2
0
 /**
  * Gets the page's member groups
  * @param Page $page
  * @return Membergroup[] Returns the member groups assigned to the page
  */
 static function PageMembergroups(Page $page)
 {
     if (!$page->Exists()) {
         return array();
     }
     $sql = Access::SqlBuilder();
     $tblPmg = PageMembergroup::Schema()->Table();
     $tblMg = Membergroup::Schema()->Table();
     $join = $sql->Join($tblPmg);
     $joinCondition = $sql->Equals($tblPmg->Field('MemberGroup'), $tblMg->Field('ID'));
     $where = $sql->Equals($tblPmg->Field('Page'), $sql->Value($page->GetID()));
     $orderBy = $sql->OrderList($sql->OrderAsc($tblMg->Field('Name')));
     return Membergroup::Schema()->Fetch(false, $where, $orderBy, null, 0, null, $join, JoinType::Inner(), $joinCondition);
 }