You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vcl.apache.org by jf...@apache.org on 2017/03/15 13:49:52 UTC
svn commit: r1787046 - /vcl/trunk/web/.ht-inc/utils.php
Author: jfthomps
Date: Wed Mar 15 13:49:52 2017
New Revision: 1787046
URL: http://svn.apache.org/viewvc?rev=1787046&view=rev
Log:
VCL-1006 - performance improvements for 2.5
VCL-277 - Add support for images to join Active Directory domains
VCL-867 - Active Directory Authentication for Windows VM's
utils.php:
-modified getUserResources: removed some checks for second level arrays existing before setting a value in them as the values can be set directly without directly defining the arrays first
-added $privdataset to header documentation for getUserResourcesUp, getUserResourcesDown, and addNodeUserResourcePrivs
-modified addOwnedResources and getResourcesFromGroups: if $includedeleted is 0 and $type is managementnode, add conditional to query to not include deleted managementnodes
-modified getRequestInfo: removed domainDNSName from header documentation
-modified getUserComputerMetaData: changed array_key_exists to isset
-modified selectInputHTML: reverted 3 issets back to array_key_exists because $dataArr[$id] could be a string
-modified getMaintItems: changed array_key_exists to isset
-modified sortKeyIndex: reverted 2 issets back to array_key_exists because $a could be a string
-modified getConnectMethods: changed array_key_exists to isset
-modified validateHostname: fixed bug where dashes were not allowed in the hostname
-modified getFSlocales: changed array_key_exists to isset
Modified:
vcl/trunk/web/.ht-inc/utils.php
Modified: vcl/trunk/web/.ht-inc/utils.php
URL: http://svn.apache.org/viewvc/vcl/trunk/web/.ht-inc/utils.php?rev=1787046&r1=1787045&r2=1787046&view=diff
==============================================================================
--- vcl/trunk/web/.ht-inc/utils.php (original)
+++ vcl/trunk/web/.ht-inc/utils.php Wed Mar 15 13:49:52 2017
@@ -2036,10 +2036,7 @@ function getUserResources($userprivs, $r
foreach($resourceprivs as $priv) {
if(isset($nodeprivs[$nodeid]["resources"][$resourceid][$priv])) {
list($type, $name, $id) = explode('/', $resourceid);
- if(! isset($resourcegroups[$type]))
- $resourcegroups[$type] = array();
- if(! isset($resourcegroups[$type][$name]))
- $resourcegroups[$type][$id] = $name;
+ $resourcegroups[$type][$id] = $name;
}
}
}
@@ -2049,10 +2046,7 @@ function getUserResources($userprivs, $r
if(isset($nodeprivs[$nodeid]["cascaderesources"][$resourceid][$priv]) &&
! (isset($nodeprivs[$nodeid]["resources"][$resourceid]["block"]))) {
list($type, $name, $id) = explode('/', $resourceid);
- if(! isset($resourcegroups[$type]))
- $resourcegroups[$type] = array();
- if(! isset($resourcegroups[$type][$name]))
- $resourcegroups[$type][$id] = $name;
+ $resourcegroups[$type][$id] = $name;
}
}
}
@@ -2084,13 +2078,15 @@ function getUserResources($userprivs, $r
////////////////////////////////////////////////////////////////////////////////
///
/// \fn getUserResourcesUp(&$nodeprivs, $nodeid, $userid,
-/// $resourceprivs)
+/// $resourceprivs, $privdataset)
///
/// \param $nodeprivs - node privilege array used in getUserResources
/// \param $nodeid - an id from the nodepriv table
/// \param $userid - an id from the user table
/// \param $resourceprivs - array of privileges to look for (such as
/// imageAdmin, imageCheckOut, etc); don't include 'block' or 'cascade'
+/// \param $privdataset - array of data from userpriv table built in
+/// getUserResources function
///
/// \return modifies $nodeprivs, but doesn't return anything
///
@@ -2118,13 +2114,15 @@ function getUserResourcesUp(&$nodeprivs,
////////////////////////////////////////////////////////////////////////////////
///
/// \fn getUserResourcesDown(&$nodeprivs, $nodeid, $userid,
-/// $resourceprivs)
+/// $resourceprivs, $privdataset)
///
/// \param $nodeprivs - node privilege array used in getUserResources
/// \param $nodeid - an id from the nodepriv table
/// \param $userid - an id from the user table
/// \param $resourceprivs - array of privileges to look for (such as
/// imageAdmin, imageCheckOut, etc); don't include 'block' or 'cascade'
+/// \param $privdataset - array of data from userpriv table built in
+/// getUserResources function
///
/// \return modifies $nodeprivs, but doesn't return anything
///
@@ -2145,7 +2143,7 @@ function getUserResourcesDown(&$nodepriv
////////////////////////////////////////////////////////////////////////////////
///
/// \fn addNodeUserResourcePrivs(&$nodeprivs, $id, $lastid, $userid,
-/// $resourceprivs)
+/// $resourceprivs, $privdataset)
///
/// \param $nodeprivs - node privilege array used in getUserResources
/// \param $id - an id from the nodepriv table
@@ -2153,6 +2151,8 @@ function getUserResourcesDown(&$nodepriv
/// \param $userid - an id from the user table
/// \param $resourceprivs - array of privileges to look for (such as
/// imageAdmin, imageCheckOut, etc); don't include 'block' or 'cascade'
+/// \param $privdataset - array of data from userpriv table built in
+/// getUserResources function
///
/// \return modifies $nodeprivs, but doesn't return anything
///
@@ -2338,6 +2338,8 @@ function addOwnedResources(&$resources,
if(! $includedeleted &&
($type == "image" || $type == "computer" || $type == 'config'))
$query .= " AND deleted = 0";
+ if(! $includedeleted && $type == 'managementnode')
+ $query .= " AND stateid != (SELECT id FROM state WHERE name = 'deleted') ";
$qh = doQuery($query, 101);
while($row = mysql_fetch_assoc($qh)) {
if(! isset($resources[$type][$row["id"]]))
@@ -2423,11 +2425,13 @@ function getResourcesFromGroups($groups,
. "m.resourcegroupid = g.id AND "
. "g.name IN ($inlist) AND "
. "g.resourcetypeid = rt.id AND "
- . "rt.name = '$type'";
+ . "rt.name = '$type' ";
if(! $includedeleted &&
($type == "image" || $type == "computer" || $type == 'config')) {
$query .= "AND deleted = 0 ";
}
+ if(! $includedeleted && $type == 'managementnode')
+ $query .= "AND t.stateid != (SELECT id FROM state WHERE name = 'deleted') ";
/*if($type == "image")
$query .= "AND test = 0 ";*/
$query .= "ORDER BY t.$field";
@@ -5489,9 +5493,7 @@ function findManagementNode($compid, $st
/// \b forcheckout - whether or not the image is intended for checkout\n
/// \b password - password for this computer\n
/// \b connectIP - IP to which user will connect\n
-/// \b remoteIP - IP of remote user\n
-/// \b domainDNSName - AD domain DNS name associated with image if image is
-/// using AD integration; empty string if AD integration not being used\n\n
+/// \b remoteIP - IP of remote user\n\n
/// an array of arrays of passwords whose key is 'passwds', with the next key
/// being the reservationid and the elements being the userid as a key and that
/// user's password as the value
@@ -8386,7 +8388,7 @@ function getComputers($sort=0, $included
////////////////////////////////////////////////////////////////////////////////
function getUserComputerMetaData() {
$key = getKey(array('getUserComputerMetaData'));
- if(array_key_exists($key, $_SESSION['usersessiondata']))
+ if(isset($_SESSION['usersessiondata'][$key]))
return $_SESSION['usersessiondata'][$key];
$computers = getComputers();
$resources = getUserResources(array("computerAdmin"),
@@ -9126,12 +9128,14 @@ function selectInputHTML($name, $dataArr
$h .= " <option value=\"$id\" selected=\"selected\">";
else
$h .= " <option value=\"$id\">";
- if(isset($dataArr[$id]['prettyname']))
- $h .= $dataArr[$id]["prettyname"] . "</option>\n";
- elseif(isset($dataArr[$id]['name']))
- $h .= $dataArr[$id]["name"] . "</option>\n";
- elseif(isset($dataArr[$id]['hostname']))
- $h .= $dataArr[$id]["hostname"] . "</option>\n";
+ if(is_array($dataArr[$id])) {
+ if(array_key_exists('prettyname', $dataArr[$id]))
+ $h .= $dataArr[$id]['prettyname'] . "</option>\n";
+ elseif(array_key_exists('name', $dataArr[$id]))
+ $h .= $dataArr[$id]['name'] . "</option>\n";
+ elseif(array_key_exists('hostname', $dataArr[$id]))
+ $h .= $dataArr[$id]['hostname'] . "</option>\n";
+ }
else
$h .= $dataArr[$id] . "</option>\n";
}
@@ -9771,7 +9775,7 @@ function checkUpdateServerRequestGroups(
////////////////////////////////////////////////////////////////////////////////
function getMaintItems($id=0) {
$key = getKey(array('getMaintItems', $id));
- if(isset($_SESSION) && array_key_exists($key, $_SESSION['usersessiondata']))
+ if(isset($_SESSION['usersessiondata'][$key]))
return $_SESSION['usersessiondata'][$key];
$query = "SELECT m.id, "
. "m.start, "
@@ -11100,7 +11104,7 @@ function getNodePath($nodeid) {
////////////////////////////////////////////////////////////////////////////////
function sortKeepIndex($a, $b) {
if(is_array($a)) {
- if(isset($a["prettyname"])) {
+ if(array_key_exists("prettyname", $a)) {
if(preg_match('/[0-9]-[0-9]/', $a['prettyname']) ||
preg_match('/\.edu$|\.com$|\.net$|\.org$/', $a['prettyname']) ||
preg_match('/[0-9]-[0-9]/', $b['prettyname']) ||
@@ -11108,7 +11112,7 @@ function sortKeepIndex($a, $b) {
return compareDashedNumbers($a["prettyname"], $b["prettyname"]);
return strcasecmp($a["prettyname"], $b["prettyname"]);
}
- elseif(isset($a["name"])) {
+ elseif(array_key_exists("name", $a)) {
if(preg_match('/[0-9]-[0-9]/', $a['name']) ||
preg_match('/\.edu$|\.com$|\.net$|\.org$/', $a['name']) ||
preg_match('/[0-9]-[0-9]/', $b['name']) ||
@@ -11261,7 +11265,7 @@ function getResourceMapping($resourcetyp
////////////////////////////////////////////////////////////////////////////////
function getConnectMethods($imageid) {
$key = getKey(array('getConnectMethods', $imageid));
- if(array_key_exists($key, $_SESSION['usersessiondata']))
+ if(isset($_SESSION['usersessiondata'][$key]))
return $_SESSION['usersessiondata'][$key];
$query = "SELECT DISTINCT c.id, "
. "c.description, "
@@ -11983,7 +11987,7 @@ function validateHostname($name) {
// return 0 if dotted numbers only
if(preg_match('/^[0-9]+(\.[0-9]+){3}$/', $name))
return 0;
- return preg_match('/^([A-Za-z0-9]{1,63})(\.[A-Za-z0-9-_]+)*(\.?[A-Za-z0-9])$/', $name);
+ return preg_match('/^([-A-Za-z0-9]{1,63})(\.[A-Za-z0-9-_]+)*(\.?[A-Za-z0-9])$/', $name);
}
////////////////////////////////////////////////////////////////////////////////
@@ -13841,7 +13845,7 @@ function getSelectLanguagePulldown() {
///
////////////////////////////////////////////////////////////////////////////////
function getFSlocales() {
- if(isset($_SESSION) && array_key_exists('locales', $_SESSION))
+ if(isset($_SESSION['locales']))
return $_SESSION['locales'];
$tmp = explode('/', $_SERVER['SCRIPT_FILENAME']);
array_pop($tmp);