*********************************************************/ // this should include all sites that the user owns as well. $userOwnedSlots = slot::getSlotInfoWhereUserOwner($_GET['user']); if (!array_key_exists($_GET['user'], $userOwnedSlots)) { $userOwnedSlots[$_GET['user']] = array(); $userOwnedSlots[$_GET['user']]['slot_name'] = $_GET['user']; $userOwnedSlots[$_GET['user']]['slot_type'] = 'personal'; $userOwnedSlots[$_GET['user']]['slot_owner'] = $_GET['user']; $userOwnedSlots[$_GET['user']]['site_exits'] = false; } // Add any user-owned groups that aren't already in the slot list $userOwnedGroups = group::getGroupsOwnedBy($_GET['user']); foreach ($userOwnedGroups as $classSiteName) { if (!isset($userOwnedSlots[$classSiteName])) { $userOwnedSlots[$classSiteName] = array(); $userOwnedSlots[$classSiteName]['slot_name'] = $classSiteName; $userOwnedSlots[$classSiteName]['slot_type'] = 'class'; $userOwnedSlots[$classSiteName]['slot_owner'] = $_GET['user']; $userOwnedSlots[$classSiteName]['site_exits'] = false; } } $siteLevelEditorSites = segue::getSiteInfoWhereUserIsSiteLevelEditor($_GET['user']); if (!is_array($siteLevelEditorSites)) { $siteLevelEditorSites = array(); } // $anyLevelEditorSites = segue::getSiteInfoWhereUserIsEditor($_GET['user']); $allSlots = array_merge($userOwnedSlots, $userOwnedGroups, $siteLevelEditorSites); foreach ($allSlots as $slotInfo) { printSlotLine($slotInfo); } print "\n</slotList>";
/** * Build an array of all of the sites and slots that the user * is either the owner of or an editor (has permission add, edit, and delete) of */ function allSitesSlots($user) { global $classes, $usersFutureClasses; $allsites = array(); // The user's personal site if ($user == slot::getOwner($user) || !slot::exists($user)) { $allsites[$user] = array(); $allsites[$user]['slot_name'] = $user; $allsites[$user]['slot_type'] = 'personal'; $allsites[$user]['owner_uname'] = $user; $allsites[$user]['site_exits'] = false; } // Add slots that the user is an owner of. // This will include all of the created sites as well $allsites = array_merge($allsites, $slots); // Add the sites that the user is a Site-Level Editor for. $allsites = array_merge($allsites, segue::getSiteInfoWhereUserIsSiteLevelEditor($user)); $sitesEditorOf = segue::getSiteInfoWhereUserIsSiteLevelEditor($user); $usersAllClasses = array(); if ($_SESSION[atype] == 'prof') { foreach ($classes as $n => $v) { $usersAllClasses[] = $n; } foreach ($usersFutureClasses as $n => $v) { $usersAllClasses[] = $n; } } printpre($allsites); printpre($usersAllClasses); printpre($sitesEditorOf); printpre($sitesOwnerOf); printpre($slots); $allsites = array_unique(array_merge($allsites, $usersAllClasses, $sitesOwnerOf, $sitesEditorOf, $slots)); $allGroups = group::getGroupsOwnedBy($user); $sitesInGroups = array(); foreach ($allGroups as $n => $g) { $sitesInGroups = array_unique(array_merge($sitesInGroups, group::getClassesFromName($g))); } foreach ($allsites as $n => $site) { if (!in_array($site, $sitesInGroups)) { $allsites2[] = $site; } } $allsites = array_merge($allsites2, $allGroups); asort($allsites); /* print "<pre>"; print_r($usersAllClasses); print "</pre>"; */ $sites = array(); $slots = array(); foreach ($allsites as $n => $site) { $siteObj =& new site($site); $exists = $siteObj->fetchFromDB(); if ($exists) { $sites[] = $site; } else { $slots[] = $site; } } return array($sites, $slots); }