/** * Takes a system name and checks if it's a class or user. If it's a class, * makes sure that the local DB is synchronized with the class data, * otherwise, checks the user db */ function synchronizeLocalUserAndClassDB($systemName) { global $cfg; if ($systemName == 'everyone' || $systemName == 'institute') { return; } if (isclass($systemName)) { // it's a class code synchronizeClassDBFromCode($systemName); } else { // we're going to assume this is a user // look up their email address & full name $unames = userlookup($systemName, LDAP_USER, LDAP_EXACT, LDAP_LASTNAME, 0, true); $info = $unames[$systemName]; $fullname = $info[0]; $email = $info[1]; $type = $info[2]; // we're going to assume the loginMethod is LDAP -- THIS COULD BE A STUPID MOVE! (remember, this is a hack) synchronizeUserDB($systemName, $email, $fullname, $type, $cfg["network"] == "kenyon" ? "pam" : "ldap"); // done and done. } // that should do it... }
</head> <body> <div align='right' class='bg'> <?php /****************************************************************************** * Get site id for links to participation section ******************************************************************************/ $siteObj =& new site($site); $siteid = $siteObj->id; if ($_SESSION['ltype'] == 'admin') { print "<table width='100%' class='bg'><tr><td class='bg'>\n\t\tLogs: sites\n\t\t | <a href='viewlogs.php?{$sid}&site={$site}'>users</a>\n\t\t</td><td align='right' class='bg'>\n\t\t<a href='users.php?{$sid}&site={$site}'>add/edit users</a> | \n\t\t<a href='classes.php?{$sid}&site={$site}'>add/edit classes</a> | \n\t\t<a href='add_slot.php?{$sid}&site={$site}'>add/edit slots</a> |\n\t\t<a href='update.php?{$sid}&site={$site}'>segue updates</a>\n\t\t</td></tr></table>"; } if ($site) { if (isclass($site)) { print "<a href='add_students.php?{$sid}&name={$site}'>Roster</a> |"; } print " <a href='email.php?{$sid}&siteid={$siteid}&site={$site}&action=list&scope=site'>Participation</a>"; print " | <a href='viewlogs.php?{$sid}&site={$site}'>Logs</a>"; } ?> </div> <div class='bg'> <?php print $content; ?> </div>
} print "\n\t\t\t\t</div>"; print "\n\t\t\t</th>"; print "\n\t\t</tr>"; /****************************************************************************** * Buttons: * check all/uncheck all buttons, edit permissions for checked editors button * add editor button ******************************************************************************/ $buttons = "\n\t\t<tr>"; $buttons .= "\n\t\t\t<th align='left' colspan='2'>"; $buttons .= "\n\t\t\t\t<input type='button' name='checkall' value='Check All' onclick='checkAll()' /> "; $buttons .= "\n\t\t\t\t<input type='button' name='uncheckall' value='Uncheck All' onclick='uncheckAll()' /> "; $buttons .= "\n\t\t\t\t<input type='button' name='add' value='Add Editor' onclick=\"sendWindow('addeditor',400,250,'add_editor.php?{$sid}')\" />"; $edlist = $_SESSION[obj]->getEditors(); $buttons .= isclass($className) && !in_array($className, $edlist) ? "\n\t\t\t\t<div><a href='#' onclick='addClassEditor();'>Add students in " . $className . "</a></div>" : ""; $buttons .= "\n\t\t\t</th>\n\t\t\t<th align='right'>"; $buttons .= "\n\t\t\t\t<input type='submit' name='editpermissions' value='Edit Permissions of Checked ->' />"; $buttons .= "\n\t\t\t</th>\n\t\t</tr>"; print $buttons; //printpre ($edlist); //printpre ($className); /****************************************************************************** * editor table headings ******************************************************************************/ ?> <tr> <th>edit</th> <th>name</th> <th> </th>
// foreach($editors as $editor) { print "<td align='center' style='border-left: 2px solid #fff; background-color: #bbb; '>Add</td>"; print "<td align='center' style='background-color: #bbb;'>Edit</td>"; print "<td align='center' style='background-color: #bbb;'>Del</td>"; // } print "</tr>"; $color = 0; print "<tr>"; print "<td class='td{$color}' style='font-variant: small-caps'><a href='#' onClick{$nl}='opener.window.location=\"index.php?{$sid}&action=viewsite&site={$site}\"'>{$sa['title']}</a></td>"; $permissions = decode_array($sa[permissions]); // foreach($editors as $user) { $classes = getuserclasses($user); if (isclass($site)) { // print "is class"; //debug foreach ($permissions as $e => $p) { if (isclass($e)) { $l = array(); if ($r = isgroup($e)) { $l = $r; } else { $l[] = $e; } foreach ($l as $c) { if ($classes[$c]) { $user = $e; } } } } } for ($i = 0; $i < 3; $i++) {
} else { $userid = $students[$key]['id']; $postcount = getNumPosts($userid); $avg_rating = getAvgRating($userid); print "\n\t\t\t\t\t\t<td class='td{$color}' align='center'>\n\t\t\t\t\t\t\t<input type='checkbox' name='editors[]' value='{$e}' " . $checkstatus . " />\n\t\t\t\t\t\t</td>"; print "\n\t\t\t\t\t\t<td class='td{$color}'>\n\t\t\t\t\t\t\t<a href='{$PHP_SELF}?{$sid}&action=review&userid=" . $students[$key][id] . "&userfname=" . urlencode($students[$key][fname]) . "&" . htmlspecialchars($getvariables) . "'>" . $students[$key][fname] . "</a\n\t\t\t\t\t\t></td>"; print "\n\t\t\t\t\t\t<td class='td{$color}'>" . $students[$key][email] . "</td>"; print "\n\t\t\t\t\t\t<td class='td{$color}'>" . $postcount . "</td>"; print "\n\t\t\t\t\t\t<td class='td{$color}'>" . $avg_rating . "</td>"; $logged_students_id[] = $students[$key][id]; } print "\n\t\t\t\t\t</tr>"; $color = 1 - $color; } } if ($curraction == 'list' && is_array($students) && isclass($_REQUEST[site])) { print "\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td colspan='4'>\n\t\t\t\t\t\t\t<b>Participants not in Roster</b>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>"; } $logged_participants = array(); while ($a = db_fetch_assoc($r)) { $userid = $a['user_id']; $e = $a['user_id']; /****************************************************************************** * if listing participants and site has roster, * include here only non-roster participants (roster participants listed above) * for each participant get # of posts and avg. rating ******************************************************************************/ if (!in_array($userid, $logged_students_id) && $curraction == 'list') { $userid = $a[user_id]; $logged_participants[] = $a[user_uname]; $postcount = getNumPosts($userid);
$_SESSION[siteObj]->setField("header", $_SESSION[siteObj]->getField("footer")); } if ($_REQUEST[copyheader]) { $_SESSION[siteObj]->setField("footer", $_SESSION[siteObj]->getField("header")); } } if (!isset($_SESSION["settings"]) || !isset($_SESSION["siteObj"])) { // create the settings array with default values. $settings must be passed along with each link. // The array will be saved on clicking a save button. $_SESSION[settings] = array("sitename" => $_REQUEST[sitename], "add" => 0, "edit" => 0, "step" => 1, "recursiveenable" => "", "copydownpermissions" => "", "template" => "template0", "comingFrom" => $_REQUEST[comingFrom]); $_SESSION[siteObj] =& new site($_REQUEST[sitename]); if (slot::exists($_REQUEST[sitename])) { $slotObj = new slot($_REQUEST[sitename]); $_SESSION[siteObj]->setField("type", $slotObj->getField("type")); } else { if (isclass($_REQUEST[sitename])) { $_SESSION[siteObj]->setField("type", "class"); } else { if (!$_SESSION[siteObj]->getField("type") || $_SESSION[siteObj]->getField("type") == "") { $_SESSION[siteObj]->setField("type", "personal"); } } } $_SESSION[settings][className] = $_REQUEST[sitename]; if ($_REQUEST[action] == 'add_site') { $_SESSION[settings][add] = 1; $_SESSION[settings][edit] = 0; } if ($_REQUEST[action] == 'edit_site') { $_SESSION[settings][add] = 0; $_SESSION[settings][edit] = 1;
function returnEditorOverlap($classes) { $toCheck = array(); // print_r($classes); foreach ($this->editors as $u) { $good = 0; // print "$u - "; // if (isclass($u)) print "class"; $c = array(); if (isclass($u)) { $c[] = $u; } if ($g = isgroup($u)) { $c = array_merge($c, $g); } foreach ($c as $class) { if (is_array($classes[$class])) { $good = 1; } } if ($good) { $toCheck[] = $u; } } /* print_r($toCheck); */ return $toCheck; }
function ldapfname($uname) { $uname = strtolower($uname); if (isgroup($uname)) { return "Students in group"; } if (isclass($uname)) { return "Students in class"; } if ($fname = db_get_value("user", "user_fname", "user_uname='" . addslashes($uname) . "'")) { return $fname; } else { return "n/a"; } }
function ldapfname($uname) { $uname = strtolower($uname); if (isgroup($uname)) { return "Students in group"; } if (isclass($uname)) { return "Students in class"; } if ($fname = db_get_value("user", "user_fname", "user_uname='" . addslashes($uname) . "'")) { return $fname; } $r = userlookup($uname, LDAP_USER, LDAP_EXACT, LDAP_LASTNAME, 1); return $r[$uname]; }