Beispiel #1
0
     $_SESSION[siteObj]->setField("active", $_REQUEST[active]);
 }
 if ($_REQUEST[viewpermissions] == "everyone") {
     $_SESSION[siteObj]->setUserPermissionDown("view", "everyone", "1");
     $_SESSION[siteObj]->addEditor("institute");
     //		$_SESSION[siteObj]->updatePermissionsDB();
     $_SESSION[settings][viewpermissions] = "";
 }
 if ($_REQUEST[viewpermissions] == "institute") {
     $_SESSION[siteObj]->setUserPermissionDown("view", "everyone", "0");
     $_SESSION[siteObj]->setUserPermissionDown("view", "institute", "1");
     //		$_SESSION[siteObj]->updatePermissionsDB();
     $_SESSION[settings][viewpermissions] = "";
 }
 if ($_REQUEST[viewpermissions] == "class") {
     if (isgroup($_SESSION[settings][className])) {
         //			print "<br />".$_SESSION[siteObj]->getField("name")."is a classgroup";
         $classes = group::getClassesFromName($_SESSION[settings][className]);
         //			print "<br />Classes contained:<pre>"; print_r($classes); print "</pre>";
         foreach ($classes as $class) {
             if (!$_SESSION[siteObj]->isEditor($class)) {
                 $_SESSION[siteObj]->addEditor($class);
                 //					print "<br />Adding $class as editor";
             }
             $_SESSION[siteObj]->setUserPermissionDown("view", $class, "1");
             //				print "<br />Setting 1 view permission for $class";
         }
     } else {
         if (!$_SESSION[siteObj]->isEditor($_SESSION[settings][className])) {
             $_SESSION[siteObj]->addEditor($_SESSION[settings][className]);
         }
Beispiel #2
0
 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++) {
     print "<td class='td{$color}' align='center'" . ($i == 0 ? "  style='border-left: 2px solid #fff;'" : "") . ">";
     print $permissions[$user][$i] ? "X" : "&nbsp;";
Beispiel #3
0
 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;
 }
        /* end bug-fix. Again, thank you, Adam. */
        $_SESSION[obj]->updateDB(1);
        //		print_r($_SESSION[obj]->editorsToDelete);
        $_SESSION[obj]->deletePendingEditors();
        //		echo "<pre>";
        //		print_r($_SESSION[obj]);
        unset($_SESSION[obj], $_SESSION[editors]);
        Header("Location: close.php");
        exit;
    }
}
/******************************************************************************
 * Editor Actions:
 ******************************************************************************/
if ($isOwner && $_REQUEST[edaction] == 'add') {
    if (isgroup($_REQUEST[edname])) {
        $classes = group::getClassesFromName($_REQUEST[edname]);
        foreach ($classes as $class) {
            $_SESSION[obj]->addEditor($class);
        }
    } else {
        $_SESSION[obj]->addEditor($_REQUEST[edname]);
    }
}
if ($isOwner && $_REQUEST[edaction] == 'del') {
    $_SESSION[obj]->delEditor($_REQUEST[edname]);
}
/******************************************************************************
 * switch between forms 1 and 2
 ******************************************************************************/
$step = $_REQUEST['step'];
 function outputForm(&$o, $d = 0, $canAddEditors = true)
 {
     global $cfg;
     $sitename = $o->owning_site;
     if ($_SESSION[settings][edit] && !$o->builtPermissions) {
         $o->buildPermissionsArray();
     }
     // ---- Editor actions ----
     if ($_REQUEST[edaction] == 'add') {
         if (isgroup($_REQUEST[edname])) {
             $classes = group::getClassesFromName($_REQUEST[edname]);
             foreach ($classes as $class) {
                 $o->addEditor($class);
             }
         } else {
             $o->addEditor($_REQUEST[edname]);
         }
     }
     if ($_REQUEST[edaction] == 'del') {
         $o->delEditor($_REQUEST[edname]);
     }
     printc("\n<input type='hidden' name='edaction' value='' />");
     printc("\n<input type='hidden' name='edname' value='' />");
     if ($className = $sitename) {
         print "<script type='text/javascript'>";
         print "\n// <![CDATA[";
         print "\nfunction addClassEditor() {";
         print "\n\tf = document.addform;";
         print "\n\tf.edaction.value='add';";
         print "\n\tf.edname.value='{$className}';";
         print "\n\tf.submit();";
         print "\n}";
         print "\n// ]]>";
         print "\n</script>";
     }
     $a = array(0 => 4, 1 => 1);
     printc("\n<style type='text/css'>th, .td0, .td1 {font-size: 10px;}</style>");
     printc("\n<table width='100%' style='border: 1px solid gray'>");
     printc("\n<tr><th width='50%'>name</th>\t<th colspan='" . $a[$d] . "' width='30%'>permissions</th>");
     if ($canAddEditors) {
         printc("<th>del</th>");
     }
     printc("</tr>");
     printc("\n<tr><th>&nbsp;</th>" . ($d ? "<th>discuss</th>" : "<th>add</th><th>edit</th><th>delete</th><th>view</th>"));
     if ($canAddEditors) {
         printc("<th>&nbsp;</th>");
     }
     printc("</tr>");
     if ($edlist = $o->getEditors()) {
         $permissions = $o->getPermissions();
         if (count($edlist)) {
             $color = 0;
             foreach ($edlist as $e) {
                 // :: hack ::
                 // this is needed until "anonymous" discussion is enabled. could be v 2.0
                 //if ($e == 'everyone') continue;
                 // :: /hack ::
                 printc("\n<tr><td class='td{$color}' align='left'>");
                 if ($e == "everyone") {
                     printc("Everyone (will override other entries)</td>");
                 } else {
                     if ($e == "institute") {
                         printc($cfg[inst_name] . " Users</td>");
                     } else {
                         printc(ldapfname($e) . " ({$e})</td>");
                     }
                 }
                 for ($i = 0; $i < 5; $i++) {
                     $skip = 0;
                     $nob = 0;
                     if ($d && $i < 4) {
                         $skip = 1;
                     }
                     if (!$d && $i == 4) {
                         $skip = 1;
                     }
                     if (!$d && (($e == 'everyone' || $e == 'institute') && $i != 3)) {
                         $nob = 1;
                     }
                     if (!$skip) {
                         printc("\n<td class='td{$color}' align='center'>");
                         if ($nob) {
                             printc("&nbsp;");
                         } else {
                             printc("\n<input type='checkbox' name='permissions[{$e}][{$i}]' value='1'" . ($permissions[$e][$i] ? " checked='checked'" : "") . " />");
                         }
                         printc("</td>");
                     }
                     if ($skip || $nob) {
                         printc("\n<input type='hidden' name='permissions[{$e}][{$i}]' value='" . $permissions[$e][$i] . "' />");
                     }
                 }
                 printc("</td>");
                 if ($canAddEditors) {
                     printc("\n<td class='td{$color}' align='center'>");
                     if ($e == 'everyone' || $e == 'institute') {
                         printc("&nbsp;");
                     } else {
                         printc("<a href='#' onclick='delEditor(\"{$e}\");'>remove</a>");
                     }
                     printc("</td>");
                 }
                 printc("</tr>");
                 $color = 1 - $color;
             }
         }
     } else {
         printc("\n<tr><td class='td1' > &nbsp; </td><td class='td1' colspan=" . ($a[$d] + 1) . ">no editors added</td></tr>");
     }
     if ($canAddEditors) {
         printc("\n<tr><th colspan=" . ($a[$d] + 1) . ">");
         $className = array();
         if (isgroup($sitename)) {
             $className = $sitename;
         } else {
             $className = $sitename;
         }
         if (is_array($className)) {
             foreach ($className as $class) {
                 if (!in_array($class, $edlist)) {
                     printc("<a href='#' onclick='addClassEditor();'>Add students in " . $sitename . "</a><br />");
                     break;
                 } else {
                     printc("&nbsp;");
                 }
             }
         }
         printc("</th><th><a href='add_editor.php?{$sid}' target='addeditor' onclick='doWindow(\"addeditor\",400,250);'>add editor</a></th></tr>");
     }
     printc("\n</table>");
     //		if ($_SESSION[settings][edit]) printc("<a href='editor_access.php?$sid&amp;site=".$sitename."' onclick='doWindow(\"permissions\",600,400)' target='permissions'>Permissions as of last save</a>");
 }
Beispiel #6
0
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";
    }
}
Beispiel #7
0
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];
}