// 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);
/** * 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; }
<?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";
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";
$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(); } }