// Add alerts for any failed input validation
foreach ($validator->errors as $error) {
    addAlert("danger", $error);
}
if (count($validator->errors) > 0) {
    apiReturnError($ajax, getReferralPage());
}
if ($user_id) {
    // Special case to load groups for the logged in user
    if ($user_id == "0") {
        $user_id = $loggedInUser->user_id;
    }
    // Attempt to load group information for the specified user.
    if (!($results = loadUserGroups($user_id))) {
        apiReturnError($ajax, getReferralPage());
    }
} else {
    if ($group_id) {
        // Attempt to load information for the specified group.
        if (!($results = loadGroup($group_id))) {
            apiReturnError($ajax, getReferralPage());
        }
    } else {
        // Attempt to load information for all groups
        if (!($results = loadGroups())) {
            apiReturnError($ajax, getReferralPage());
        }
    }
}
restore_error_handler();
echo json_encode($results);
Exemplo n.º 2
0
/**
 * Change active entity to the $ID one. Update glpiactiveentities session variable.
 * Reload groups related to this entity.
 *
 * @param $ID : ID of the new active entity ("all"=>load all possible entities)
 * @param $is_recursive : also display sub entities of the active entity ?
 *
 * @return Nothing
**/
function changeActiveEntities($ID = "all", $is_recursive = false)
{
    global $LANG;
    $newentities = array();
    $newroots = array();
    if (isset($_SESSION['glpiactiveprofile'])) {
        if ($ID == "all") {
            $ancestors = array();
            foreach ($_SESSION['glpiactiveprofile']['entities'] as $key => $val) {
                $ancestors = array_unique(array_merge(getAncestorsOf("glpi_entities", $val['id']), $ancestors));
                $newroots[$val['id']] = $val['is_recursive'];
                $newentities[$val['id']] = $val['id'];
                if ($val['is_recursive']) {
                    $entities = getSonsOf("glpi_entities", $val['id']);
                    if (count($entities)) {
                        foreach ($entities as $key2 => $val2) {
                            $newentities[$key2] = $key2;
                        }
                    }
                }
            }
        } else {
            /// Check entity validity
            $ancestors = getAncestorsOf("glpi_entities", $ID);
            $ok = false;
            foreach ($_SESSION['glpiactiveprofile']['entities'] as $key => $val) {
                if ($val['id'] == $ID || in_array($val['id'], $ancestors)) {
                    // Not recursive or recursive and root entity is recursive
                    if (!$is_recursive || $val['is_recursive']) {
                        $ok = true;
                    }
                }
            }
            if (!$ok) {
                return false;
            }
            $newroots[$ID] = $is_recursive;
            $newentities[$ID] = $ID;
            if ($is_recursive) {
                $entities = getSonsOf("glpi_entities", $ID);
                if (count($entities)) {
                    foreach ($entities as $key2 => $val2) {
                        $newentities[$key2] = $key2;
                    }
                }
            }
        }
    }
    if (count($newentities) > 0) {
        $_SESSION['glpiactiveentities'] = $newentities;
        $_SESSION['glpiactiveentities_string'] = "'" . implode("', '", $newentities) . "'";
        $active = reset($newentities);
        $_SESSION['glpiparententities'] = $ancestors;
        $_SESSION['glpiparententities_string'] = implode("', '", $ancestors);
        if (!empty($_SESSION['glpiparententities_string'])) {
            $_SESSION['glpiparententities_string'] = "'" . $_SESSION['glpiparententities_string'] . "'";
        }
        // Active entity loading
        $_SESSION["glpiactive_entity"] = $active;
        $_SESSION["glpiactive_entity_name"] = Dropdown::getDropdownName("glpi_entities", $active);
        $_SESSION["glpiactive_entity_shortname"] = getTreeLeafValueName("glpi_entities", $active);
        if ($is_recursive) {
            $_SESSION["glpiactive_entity_name"] .= " (" . $LANG['entity'][7] . ")";
            $_SESSION["glpiactive_entity_shortname"] .= " (" . $LANG['entity'][7] . ")";
        }
        if ($ID == "all") {
            $_SESSION["glpiactive_entity_name"] .= " (" . $LANG['buttons'][40] . ")";
            $_SESSION["glpiactive_entity_shortname"] .= " (" . $LANG['buttons'][40] . ")";
        }
        if (countElementsInTable('glpi_entities') < count($_SESSION['glpiactiveentities'])) {
            $_SESSION['glpishowallentities'] = 1;
        } else {
            $_SESSION['glpishowallentities'] = 0;
        }
        // Clean session variable to search system
        if (isset($_SESSION['glpisearch']) && count($_SESSION['glpisearch'])) {
            foreach ($_SESSION['glpisearch'] as $itemtype => $tab) {
                if (isset($tab['start']) && $tab['start'] > 0) {
                    $_SESSION['glpisearch'][$itemtype]['start'] = 0;
                }
            }
        }
        loadGroups();
        doHook("change_entity");
        return true;
    }
    return false;
}
Exemplo n.º 3
0
<?php

session_start();
require "../database/connect.php";
require "../database/jobs.php";
$depID = $HTTP_GET_VARS["depID"];
$groupID = -1;
if ($HTTP_GET_VARS["groupID"]) {
    $groupID = $HTTP_GET_VARS["groupID"];
}
$groups = array();
$groups = loadGroups($depID);
echo "<groups>";
for ($i = 0; $i < count($groups); $i++) {
    echo "<group id='" . $groups[$i]->id . "'" . ($groups[$i]->id == $groupID ? " selected='true'" : "") . ">" . $groups[$i]->name . "</group>";
}
echo "</groups>";
require "../database/disconnect.php";
Exemplo n.º 4
0
        exit;
    }
}
// Load CSRF token
$csrf_token = $loggedInUser->csrf_token;
$response .= "<input type='hidden' name='csrf_token' value='{$csrf_token}'/>";
$response .= "\n<div class='dialog-alert'>\n</div>\n<div class='row'>\n    <div class='col-sm-6'>\n        <h5>Username</h5>\n        <div class='input-group'>\n            <span class='input-group-addon'><i class='fa fa-edit'></i></span>\n            <input type='text' class='form-control' name='user_name' autocomplete='off' value='{$user_name}' data-validate='{\"minLength\": 1, \"maxLength\": 25, \"label\": \"Username\" }' {$username_disable_str}>\n        </div>\n    </div>\n    <div class='col-sm-6'>\n        <h5>Display Name</h5>\n        <div class='input-group'>\n            <span class='input-group-addon'><i class='fa fa-edit'></i></span>\n            <input type='text' class='form-control' name='display_name' autocomplete='off' value='{$display_name}' data-validate='{\"minLength\": 1, \"maxLength\": 50, \"label\": \"Display name\" }' {$disable_str}>\n        </div>\n    </div>\n</div>\n<div class='row'>\n    <div class='col-sm-6'>\n        <h5>Email</h5>\n        <div class='input-group'>\n            <span class='input-group-addon'><a id='email-link' href=''><i class='fa fa-envelope'></i></a></span>\n            <input type='text' class='form-control' name='email' autocomplete='off' value='{$email}' data-validate='{\"email\": true, \"label\": \"Email\" }' {$disable_str}>\n        </div>\n    </div>\n    <div class='col-sm-6'>\n        <h5>Title</h5>\n        <div class='input-group'>\n            <span class='input-group-addon'><i class='fa fa-edit'></i></span>\n            <input type='text' class='form-control' name='user_title' autocomplete='off' value='{$user_title}' data-validate='{\"minLength\": 1, \"maxLength\": 100, \"label\": \"Title\" }' {$disable_str}>\n        </div>\n    </div>\n</div>";
if ($show_dates) {
    $response .= "\n    <div class='row'>\n        <div class='col-sm-6'>\n        <h5>Last Sign-in</h5>\n        <div class='input-group optional'>\n            <span class='input-group-addon'><i class='fa fa-calendar'></i></span>\n            <input type='text' class='form-control' name='last_sign_in_date' value='{$last_sign_in_date}' disabled>\n        </div>\n        </div>\n        <div class='col-sm-6'>\n        <h5>Registered Since</h5>\n        <div class='input-group optional'>\n            <span class='input-group-addon'><i class='fa fa-calendar'></i></span>\n            <input type='text' class='form-control' name='sign_up_date' value='{$sign_up_date}' disabled>\n        </div>\n        </div>\n    </div>";
}
$response .= "<div class='row'>";
if ($show_passwords) {
    $response .= "\n    <div class='col-sm-6'>\n        <div class='input-group'>\n            <h5>Password</h5>\n            <div class='input-group'>\n                <span class='input-group-addon'><i class='fa fa-lock'></i></span>\n                <input type='password' name='password' class='form-control'  autocomplete='off' data-validate='{\"minLength\": 8, \"maxLength\": 50, \"passwordMatch\": \"passwordc\", \"label\": \"Password\"}'>\n            </div>\n        </div>\n        <div class='input-group'>\n            <h5>Confirm password</h5>\n            <div class='input-group'>\n                <span class='input-group-addon'><i class='fa fa-lock'></i></span>\n                <input type='password' name='passwordc' class='form-control'  autocomplete='off' data-validate='{\"minLength\": 8, \"maxLength\": 50, \"label\": \"Confirm password\"}'>\n            </div>\n        </div>         \n    </div>";
}
// Attempt to load all user groups
$groups = loadGroups();
if ($groups) {
    $response .= "    \n      <div class='col-sm-6'>\n          <h5>Groups</h5>\n          <ul class='list-group permission-summary-rows'>";
    foreach ($groups as $id => $group) {
        $group_name = $group['name'];
        $is_default = $group['is_default'];
        $disable_primary_toggle = $disable_str;
        $response .= "\n      <li class='list-group-item'>\n          {$group_name}\n          <span class='pull-right'>\n          <input name='select_permissions' type='checkbox' class='form-control' data-id='{$id}' {$disable_str}";
        if ((!$populate_fields and $is_default >= 1) || $populate_fields && isset($user_permissions[$id])) {
            $response .= " checked";
        } else {
            $disable_primary_toggle = "disabled";
        }
        $response .= "/>";
        if ((!$populate_fields and $is_default == 2) || $populate_fields && $id == $primary_group_id) {
            $primary_group_class = "btn-toggle-primary-group btn-toggle-primary-group-on";
Exemplo n.º 5
0
    $valu = substr($valu, 0, -1);
    $fi .= ")";
    $valu .= ")";
    $query = "insert into `access` {$fi} values {$valu}";
    $mysql = new mysql_class();
    $mysql->ex_sqlx($query);
}
$pages = loadPages();
$grid = new jshowGrid_new("access", "grid1");
$grid->divProperty = '';
$grid->index_width = '20px';
$grid->sortEnabled = TRUE;
$grid->columnHeaders[0] = 'تعریف جزئیات';
$grid->columnHeaders[1] = 'گروه';
$grid->columnHeaders[2] = 'نام صفحه';
$grid->columnLists[1] = loadGroups();
$grid->columnLists[2] = $pages;
$grid->columnFilters[1] = TRUE;
$grid->columnFilters[2] = TRUE;
$grid->columnFunctions[0] = 'loadDet';
$grid->columnAccesses[0] = 0;
$grid->addFunction = 'add_item';
$grid->pageCount = 30;
$grid->intial();
$grid->executeQuery();
$out = $grid->getGrid();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
function getData($_internal, $_groups, $_visitors, $_filters, $_events = false)
{
    if ($_internal) {
        loadInternals();
    }
    if ($_groups) {
        loadGroups();
    }
    if ($_visitors) {
        loadVisitors();
    }
    if ($_filters) {
        loadFilters();
    }
    if ($_events) {
        loadEvents();
    }
}