Example #1
0
 public static function addStatic($data, TreeInterface $parent = null)
 {
     $db = Database::connection();
     $cParentID = 1;
     $cDisplayOrder = 0;
     $cInheritPermissionsFromCID = 1;
     $cOverrideTemplatePermissions = 1;
     if ($parent instanceof Page) {
         $cParentID = $parent->getCollectionID();
         $parent->rescanChildrenDisplayOrder();
         $cDisplayOrder = $parent->getNextSubPageDisplayOrder();
         $cInheritPermissionsFromCID = $parent->getPermissionsCollectionID();
         $cOverrideTemplatePermissions = $parent->overrideTemplatePermissions();
     }
     if (isset($data['pkgID'])) {
         $pkgID = $data['pkgID'];
     } else {
         $pkgID = 0;
     }
     $cFilename = $data['filename'];
     $uID = USER_SUPER_ID;
     $data['uID'] = $uID;
     $cobj = parent::addCollection($data);
     $cID = $cobj->getCollectionID();
     // These get set to parent by default here, but they can be overridden later
     $cInheritPermissionsFrom = 'PARENT';
     $siteTreeID = 0;
     if (is_object($parent)) {
         $siteTreeID = $parent->getSiteTreeID();
     }
     $v = [$cID, $siteTreeID, $cFilename, $cParentID, $cInheritPermissionsFrom, $cOverrideTemplatePermissions, $cInheritPermissionsFromCID, $cDisplayOrder, $uID, $pkgID];
     $q = 'insert into Pages (cID, siteTreeID, cFilename, cParentID, cInheritPermissionsFrom, cOverrideTemplatePermissions, cInheritPermissionsFromCID, cDisplayOrder, uID, pkgID) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
     $r = $db->prepare($q);
     $res = $r->execute($v);
     if ($res) {
         // Collection added with no problem -- update cChildren on parrent
         PageStatistics::incrementParents($cID);
     }
     $pc = self::getByID($cID);
     $pc->rescanCollectionPath();
     return $pc;
 }