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; }