function set_unit($unit)
{
    global $mysqli;
    echo "> Get homechannel's access rights\n";
    // get current access rights
    $sql = 'SELECT userid, level FROM ChannelAccess c
            JOIN Units u ON u.homechannel = c.channelid
            WHERE u.id=?';
    $stmt = $mysqli->prepare($sql);
    $stmt->bind_param('i', $unit);
    $stmt->execute();
    $stmt->bind_result($id, $level);
    // try to fetch
    $current_permissions = array();
    while ($stmt->fetch()) {
        $current_permissions[$id] = $level;
    }
    $stmt->close();
    echo "> List Groups\n";
    // then work on unit
    // 1. find out which groups have currently what level of access here
    $data = list_groups($unit);
    echo "> Insert Group Permissions\n";
    // 2. check if permissions already present
    foreach ($data as $permissions) {
        insert_unit_permissions($unit, $permissions['id'], $permissions['level'], $current_permissions);
    }
}
Ejemplo n.º 2
0
function recursive_call($channel, $current_permissions)
{
    global $mysqli;
    // then work on channels
    // 1. find out which groups have currently what level of access here
    $data = list_groups($channel);
    // 2. check if permissions already present
    foreach ($data as $permissions) {
        if (array_key_exists($permissions['id'], $current_permissions) && $current_permissions[$permissions['id']] == $permissions['level']) {
            // already in there
        } else {
            // put in database
            insert_channel_permissions($channel, $permissions['id'], $permissions['level']);
            $current_permissions[$permissions['id']] = $permissions['level'];
        }
    }
    // recurse
    $sql = 'SELECT id FROM Channels WHERE parent = ?';
    $stmt = $mysqli->prepare($sql);
    $stmt->bind_param('i', $channel);
    $stmt->execute();
    $stmt->bind_result($id);
    $list = array();
    while ($stmt->fetch()) {
        $list[] = $id;
    }
    $stmt->close();
    foreach ($list as $id) {
        // recurse
        recursive_call($id, $current_permissions);
    }
}
Ejemplo n.º 3
0
function list_groups($parent)
{
    $str = '';
    $qb_groups = midcom_db_group::new_query_builder();
    $qb_groups->add_constraint('owner', '=', $parent);
    $groups = $qb_groups->execute();
    if (count($groups) > 0) {
        $str = "<ul>\n";
        foreach ($groups as $group) {
            $str .= "<li>";
            $str .= '<input name="add_to_groups[' . $group->guid . ']" id="group_' . $group->guid . '" type="checkbox" value="' . $group->guid . '">&nbsp;<label for="group_' . $group->guid . '">' . $group->official . '</label>';
            $str .= "</li>\n";
            $str .= list_groups($group->id);
        }
        $str .= "</ul>";
    }
    return $str;
}
Ejemplo n.º 4
0
        $class = $class == 'even' ? 'odd' : 'even';
    }
    echo "\r\n\t\t<tr>\r\n\t\t\t<td class='foot' align='center' colspan='6'>\r\n\t\t\t\t<input type='hidden' name='fct' value='blocksadmin' />\r\n\t\t\t\t<input type='hidden' name='op' value='order' />\r\n\t\t\t\t<input type='submit' name='submit' value='" . _SUBMIT . "' />\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t\t</table>\r\n\t</form>\n";
}
function list_groups()
{
    global $xoopsModule, $block_arr;
    foreach (array_keys($block_arr) as $i) {
        $item_list[$block_arr[$i]->getVar("bid")] = $block_arr[$i]->getVar("title");
    }
    $form = new MyXoopsGroupPermForm(_MD_AM_ADGS, 1, 'block_read', '');
    $form->addAppendix('module_admin', $xoopsModule->mid(), $xoopsModule->name() . ' ' . _AM_ACTIVERIGHTS);
    $form->addAppendix('module_read', $xoopsModule->mid(), $xoopsModule->name() . ' ' . _AM_ACCESSRIGHTS);
    foreach ($item_list as $item_id => $item_name) {
        $form->addItem($item_id, $item_name);
    }
    echo $form->render();
}
if (!empty($_POST['submit'])) {
    include "mygroupperm.php";
    redirect_header(XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/admin/myblocksadmin.php", 1, _MD_AM_DBUPDATED);
}
xoops_cp_header();
if (file_exists('./mymenu.php')) {
    include './mymenu.php';
}
echo "<h3 style='text-align:left;'>" . $xoopsModule->name() . "</h3>\n";
echo "<h4 style='text-align:left;'>" . _AM_BADMIN . "</h4>\n";
list_blocks();
list_groups();
xoops_cp_footer();
Ejemplo n.º 5
0
    $cancel = 'display_on';
    $viewedit = 'display_off';
    $selected_group = mysql_real_escape_string($_GET['group']);
    //we will continue adding users to this group
    $added_user = mysql_real_escape_string($_GET['user']);
    $added_user_text = "&nbsp;'" . $added_user . "' added to group.";
    $user_dropdown = user_dropdown($selected_group);
    //dropdown should show only users not already in the group
}
#get result count
$get_records = $Query;
$check_get_records = mysql_query($get_records);
$result = $check_get_records;
#Count table rows
$count = mysql_num_rows($result);
$grouplist = list_groups();
//list of current troups
$gdb_dropdown = gdb_dropdown();
//list all GDB available
$groups_dropdown = groups_dropdown();
//select a group
### Mode Button Display
$display_block = "\r\n<table style=\"font-size:12px\" width=\"92%\">\r\n<tbody>\r\n\t<tr>\r\n\t\t<td colspan=\"8\">\r\n\t\t\t<h2 class=\"{$edituser} indent1 bottommargin1\">\r\n\t\t\t\tEdit Group Membership:\r\n\t\t\t</h2>\r\n\t\t\t<p class=\"{$edituser} instruction\"> \r\n\t\t\t\tClick radio button(s) to change user Group Member Type, then click 'Update'.  <span class=\"heading\"> (Inactive Users are <span class=\"gray\">Gray</span>)</span>\r\n\t\t\t</p>\r\n\t\t\t<p class=\"{$edituser} instruction\">\r\n\t\t\t\tSelect 'REMOVE' to delete a user-group assignment (does NOT affect user's yrGATE account)\r\n\t\t\t</p>\r\n\t\t\t<h2 class=\"{$addgroup} indent1 bottommargin1\">\r\n\t\t\t\tCreate New Group\r\n\t\t\t</h2>\r\n\t\t\t<p class=\"{$addgroup} instruction indent1\">\r\n\t\t\t\tEnter New Group name, single GDB or 'All', and Group Administrator (required).\r\n\t\t\t</p>\r\n\t\t\t<p class=\"{$addgroup} instruction indent1\">\r\n\t\t\t\tOnce you have created this group, click 'Add Users to Group...' from the Groups page.\r\n\t\t\t</p>\t\t\t\r\n   \t\t\t<p class= \"{$view}\">\r\n   \t\t\t\tyrGATE users can be assigned to one or more <b>Groups</b> that share common curation resources. On this page you can <b>create Groups</b>, add <b>Users</b>, and edit <b>Group Membership</b> (assign Group Admins; remove Members from Group). See also <a href=\"/admin/users.php\">Manage User Accounts</a>\r\n   \t\t\t</p>\r\n   \t\t\t<p class= \"{$view}\">\r\n   \t\t\t\t<b>Only Active users are shown except in Edit mode </b>.\r\n   \t\t\t</p>\r\n   \t\t\t\t<p class=\"{$view} instruction indent1\">Select an action from the choices below: \r\n   \t\t\t</p>\r\n\t\t\t<h2 class=\"{$adduser} indent1 bottommargin1\">\r\n\t\t\tAdd Users to Group:\r\n\t\t\t</h2>\r\n\t\t\t</td>\r\n   \t</tr>\r\n\t<tr>\r\n   \t\t<td width=\"20%\" align = \"left\">\r\n   \t\t\r\n   \t\t</td>\r\n\t\t<td align=\"right\" valign=\"bottom\">\r\n\t\t\t<form method=\"post\" action=\"/admin/groups.php\" name=\"add_group_on\" class=\"styled\">\r\n\t\t\t\t<input id=\"creategrp\" class=\"submit {$view}\" type=\"submit\" name=\"mode\" value=\"1. Create New Group...\" />\r\n\t\t\t\t<input type=\"hidden\" name=\"mode\" value=\"AddGroup\" />\r\n\t\t\t</form>\r\n\t\t</td>\r\n\t\t<td width=\"20%\" align = \"right\" >\r\n\t\t</td>\r\n\t\t<td align=\"right\">\r\n\t\t\t<form method=\"post\" action=\"/admin/groups.php\" name=\"add_users_on\" class=\"styled\">\r\n\t\t\t\t<select class=\"submit {$view} normalfont\" name=\"group\">{$groups_dropdown}</select><br />\r\n\t\t\t\t<input id=\"adduser\" class=\"submit {$view}\" type=\"submit\" name=\"mode\" value=\"2. Add Users to Group...\" />\r\n\t\t\t    <input type=\"hidden\" name=\"mode\" value=\"AddUser\" />\r\n            </form>\r\n\t\t</td>\r\n\t    <td width=\"20%\" align=\"right\">\r\n\t\t</td>\r\n\t\t<td align = \"right\" valign=\"bottom\">\r\n\t\t\t<form method=\"post\" action=\"/admin/groups.php\" name=\"edit_status_on\" class=\"styled\">\r\n\t\t\t\t<input id=\"editacct\" class=\"submit {$view}\" type=\"submit\" name=\"mode\" value=\"3. Edit Group Membership...\" />\r\n\t\t\t\t<input type=\"hidden\" name=\"mode\" value=\"EditUser\" />\r\n\t\t\t</form>\r\n\t\t</td>\r\n\t\t<td width=\"20%\" align = \"right\">\r\n\t\t\t<form method=\"post\" action=\"/admin/groups.php\" name=\"view_status_on\" class=\"styled\">\r\n\t\t\t\t<input id=\"cancel\" class=\"{$cancel} submit\" type=\"submit\" value=\"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cancel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\" />\r\n\t\t\t\t<input type=\"hidden\" name=\"mode\" value=\"Cancel\" />\r\n\t\t\t</form>\r\n\t\t</td>\r\n\t</tr>\r\n\t</tbody>\r\n</table>\r\n";
#Action Button Display and Table Headers
$display_block .= "\r\n\r\n<form name=\"form1\" method=\"post\" action=\"/admin/update_groups.php\" class=\"styled\">\r\n\r\n<table style=\"font-size:12px\" width=\"92%\">\r\n\t\t\t<tr>\r\n\t\t\t\t<td class=\"{$adduser} indent2\" width=\"90%\">\r\n\t\t\t\t\t<p class=\"instruction\">Select Username and Account Type (USER or ADMIN) </p>\r\n\t\t\t\t\t<p class=\"instruction\">If adding more users to this Group, click 'Insert & Next'; or, click 'Insert & Done'</p>\r\n\t\t\t\t</td>\r\n\t\t\t\t<td>\r\n\t\t\t\t\t<input id=\"update\"  class=\"{$edituser} submit\" type=\"submit\" name=\"edit_action\" value=\"Update Accounts\">\r\n\t\t\t\t\t<input id=\"count\"  class=\"{$edituser} submit\" type=\"hidden\" name=\"count\" value=\"{$count}\">\r\n\t\t\t\t</td>\r\n\t\t\t\t<td align=\"right\">\r\n\t\t\t\t\t<input id=\"insert_group\"  class=\"{$addgroup} submit\" type=\"submit\" name=\"group_action\" value=\"Create Group\">\r\n\t\t\t\t</td>\r\n\t\t\t\t<td>\r\n                    <input id=\"insertuser_repeat\"  class=\"{$adduser} submit\" type=\"submit\" name=\"user_action_repeat\" value=\"Insert &amp; Next\">\r\n\t\t\t\t\t<input id=\"insertuser\"  class=\"{$adduser} submit\" type=\"submit\" name=\"user_action\" value=\"Insert &amp; Done\">\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n</table>\r\n<table class=\"featuretable bottommargin1 topmargin1\" style=\"font-size:12px\" cellpadding=\"6\">\r\n\t\t<thead align=\"center\">\r\n\t\t\t\t\t\t<tr class=\"{$viewedit}\">\r\n\t\t\t\t\t\t\t<th class=\"reverse_1\">User Group</th>\r\n\t\t\t\t\t\t\t<th class=\"reverse_1\">GDB </th>\r\n\t\t\t\t\t\t\t<th class=\"reverse_1\">User</th>\r\n\t\t\t\t\t\t\t<th class=\"reverse_1\">Email</th>\r\n\t\t\t\t\t\t\t<th class=\"reverse_1\" style=\"width:250px\">\r\n\t\t\t\t\t\t\tGroup Member Type \r\n\t\t\t\t\t\t\t<img id='admin_group_account' title='Help' class='help-button nudge1' src='/XGDB/images/help-icon.png' alt='?' />\r\n\t\t\t\t\t\t\t</th>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\r\n\t\t</thead>\r\n\t\t<tbody>\r\n";
# Table Body Rows for View mode
$user_check = array();
$admin_check = array();
$inactive_check = array();
$user_style = array();
$admin_style = array();
Ejemplo n.º 6
0
				<th>last log <small>(sysop)</small></th>
				<th>Local groups</th>
			</tr>
		</thead>
		<tbody>';
    foreach ($wikis as $wiki) {
        $dbname = $wiki->dbName;
        $domain = $wiki->domain;
        $family = $wiki->family;
        /* get data */
        $db->Connect($dbname);
        $id = $db->Query('SELECT user_id FROM user WHERE user_name=? LIMIT 1', array($user))->fetchValue();
        if ($id) {
            // groups
            $groups = $db->Query('SELECT GROUP_CONCAT(ug_group SEPARATOR ", ") FROM user_groups WHERE ug_user=?', array($id))->fetchValue();
            // edits
            $last_edit = $db->Query('SELECT DATE_FORMAT(rev_timestamp, "%Y-%m-%d %H:%i") FROM revision_userindex WHERE rev_user=? ORDER BY rev_timestamp DESC LIMIT 1', array($id))->fetchValue();
            // log actions
            $last_log_bur = $db->Query('SELECT DATE_FORMAT(log_timestamp, "%Y-%m-%d %H:%i") FROM logging_userindex WHERE log_user=? AND log_type IN ("makebot", "renameuser", "rights") ORDER BY log_timestamp DESC LIMIT 1', array($id))->fetchValue();
            $last_log_sys = $db->Query('SELECT DATE_FORMAT(log_timestamp, "%Y-%m-%d %H:%i") FROM logging_userindex WHERE log_user=? AND log_type IN ("block", "delete", "protect") ORDER BY log_timestamp DESC LIMIT 1', array($id))->fetchValue();
            // output
            if ($show_all || !empty($last_edit) || !empty($last_log_bur) || !empty($last_log_sys)) {
                echo '<tr>', '<td>', $family, '</td>', '<td>', link_domain($domain), '</td>', color_cell($last_edit), color_cell($last_log_bur), color_cell($last_log_sys), list_groups($groups), '</tr>';
            }
        }
        $db->dispose();
    }
    echo '</tbody></table>';
    echo '</div>';
} while (0);
$backend->footer();