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 2010/04/22 17:01:40 UTC
svn commit: r936884 - in /incubator/vcl/trunk/web/.ht-inc: images.php
utils.php
Author: jfthomps
Date: Thu Apr 22 15:01:39 2010
New Revision: 936884
URL: http://svn.apache.org/viewvc?rev=936884&view=rev
Log:
VCL-125
VCL-325
images.php:
-added in patch attached to VCL-125 by Andy Kurth to add control of rootaccess field in imagemeta table
-modified editOrAddImage, confirmEditOrAddImage, viewImageDetails (tweaked this part to always show rootaccess field, also modified to always show checkuser field), processInputVar, updateImage, addImage
-modified subimageDialogContent: if there were duplicate subimages, only one of them was showing up which was introduced when I made the images sorted; corrected to still sort, but show all subimages
-modified AJremSubimage: moved code to check for and delete imagemeta entry to separate function in utils.php
-modified updateImage: added call to checkClearImageMeta to get the imagemeta entry cleared if all values set to defaults
utils.php:
-added in patch attached to VCL-125 by Andy Kurth to add control of rootaccess field in imagemeta table
-modified getImages to include rootaccess field
-added checkClearImageMeta
Modified:
incubator/vcl/trunk/web/.ht-inc/images.php
incubator/vcl/trunk/web/.ht-inc/utils.php
Modified: incubator/vcl/trunk/web/.ht-inc/images.php
URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/web/.ht-inc/images.php?rev=936884&r1=936883&r2=936884&view=diff
==============================================================================
--- incubator/vcl/trunk/web/.ht-inc/images.php (original)
+++ incubator/vcl/trunk/web/.ht-inc/images.php Thu Apr 22 15:01:39 2010
@@ -936,6 +936,16 @@ function editOrAddImage($state) {
printSelectInput("checkuser", $yesno, $default);
print " </TD>\n";
print " </TR>\n";
+ print " <TR>\n";
+ print " <TH align=right>Users have administrative access:</TH>\n";
+ if(array_key_exists("rootaccess", $data) && ! $data["rootaccess"])
+ $default = 0;
+ else
+ $default = 1;
+ print " <TD>\n";
+ printSelectInput("rootaccess", $yesno, $default);
+ print " </TD>\n";
+ print " </TR>\n";
# finally just limited access so only high level access people see this
# because it confused too many people
if($user["adminlevel"] == "developer") {
@@ -1133,11 +1143,12 @@ function subimageDialogContent() {
if(array_key_exists("subimages", $image) && count($image["subimages"])) {
$subimages = array();
foreach($image["subimages"] as $imgid)
- $subimages[$imgid] = $images[$imgid]['prettyname'];
+ $subimages[] = array('id' => $imgid,
+ 'name' => $images[$imgid]['prettyname']);
uasort($subimages, "sortKeepIndex");
$content .= "<select id=cursubimagesel multiple size=10>";
- foreach($subimages as $imgid => $name) {
- $content .= "<option value=$imgid>$name</option>";
+ foreach($subimages as $img) {
+ $content .= "<option value={$img['id']}>{$img['name']}</option>";
$subimgcnt++;
}
}
@@ -1285,40 +1296,14 @@ function AJremSubimage() {
$qh = doQuery($query, 101);
$row = mysql_fetch_row($qh);
if($row[0] == 0) {
- # get defaults for imagemeta table
- $query = "DESC imagemeta";
- $qh = doQuery($query, 101);
- $defaults = array();
- while($row = mysql_fetch_assoc($qh))
- $defaults[$row['Field']] = $row['Default'];
- # get imagemeta data
- $query = "SELECT * FROM imagemeta WHERE id = $imagemetaid";
- $qh = doQuery($query, 101);
- $row = mysql_fetch_assoc($qh);
- $alldefaults = 1;
- foreach($row as $field => $val) {
- if($field == 'id' || $field == 'subimages')
- continue;
- if($defaults[$field] != $val) {
- $alldefaults = 0;
- break;
- }
- }
- // if all default values, delete imagemeta entry
- if($alldefaults) {
- $query = "DELETE FROM imagemeta WHERE id = $imagemetaid";
- doQuery($query, 101);
- $query = "UPDATE image SET imagemetaid = NULL WHERE id = $imageid";
- doQuery($query, 101);
+ $rc = checkClearImageMeta($imagemetaid, $imageid, 'subimages');
+ if($rc)
$imagemetaid = NULL;
- $subimages = array();
- }
- # otherwise, just set subimages to 0
else {
$query = "UPDATE imagemeta SET subimages = 0 WHERE id = $imagemetaid";
doQuery($query, 101);
- $subimages = array();
}
+ $subimages = array();
}
# rebuild list of subimages
else {
@@ -1490,6 +1475,13 @@ function confirmEditOrAddImage($state) {
else
print " <TD>No</TD>\n";
print " </TR>\n";
+ print " <TR>\n";
+ print " <TH align=right>Users have administrative access:</TH>\n";
+ if($data["rootaccess"])
+ print " <TD>Yes</TD>\n";
+ else
+ print " <TD>No</TD>\n";
+ print " </TR>\n";
if($user["adminlevel"] == "developer" || $user['adminlevel'] == 'full') {
print " <TR>\n";
print " <TH align=right>User group allowed to log in:</TH>\n";
@@ -2163,15 +2155,22 @@ function viewImageDetails() {
else
print " <TD>no</TD>\n";
print " </TR>\n";
- if(array_key_exists("checkuser", $images[$imageid])) {
- print " <TR>\n";
- print " <TH align=right>Check for logged in user:</TH>\n";
- if($images[$imageid]["checkuser"])
- print " <TD>yes</TD>\n";
- else
- print " <TD>no</TD>\n";
- print " </TR>\n";
- }
+ print " <TR>\n";
+ print " <TH align=right>Check for logged in user:</TH>\n";
+ if(array_key_exists("checkuser", $images[$imageid]) &&
+ $images[$imageid]["checkuser"] == 0)
+ print " <TD>no</TD>\n";
+ else
+ print " <TD>yes</TD>\n";
+ print " </TR>\n";
+ print " <TR>\n";
+ print " <TH align=right>Users have administrative access:</TH>\n";
+ if(array_key_exists("rootaccess", $images[$imageid]) &&
+ $images[$imageid]["rootaccess"] == 0)
+ print " <TD>no</TD>\n";
+ else
+ print " <TD>yes</TD>\n";
+ print " </TR>\n";
if(! empty($images[$imageid]["usergroupid"])) {
print " <TR>\n";
print " <TH align=right>User group allowed to log in:</TH>\n";
@@ -2431,6 +2430,7 @@ function processImageInput($checks=1) {
$return["reloadtime"] = processInputVar("reloadtime", ARG_NUMERIC, 10);
$return["forcheckout"] = processInputVar("forcheckout", ARG_NUMERIC, 1);
$return["checkuser"] = processInputVar("checkuser", ARG_NUMERIC, 1);
+ $return["rootaccess"] = processInputVar("rootaccess", ARG_NUMERIC, 1);
$return["usergroupid"] = processInputVar("usergroupid", ARG_NUMERIC);
$return["sysprep"] = processInputVar("sysprep", ARG_NUMERIC, 1);
$return["description"] = processInputVar("description", ARG_STRING);
@@ -2568,14 +2568,18 @@ function updateImage($data) {
$qh = doQuery($query, 200);
$return = mysql_affected_rows($GLOBALS["mysql_link_vcl"]);
if(empty($imgdata[$data["imageid"]]["imagemetaid"]) &&
- ($data["checkuser"] == 0 || $data["usergroupid"] != 0)) {
+ ($data["checkuser"] == 0 ||
+ $data["usergroupid"] != 0 ||
+ $data['rootaccess'] == 0)) {
if($data["usergroupid"] == 0)
$data["usergroupid"] = "NULL";
$query = "INSERT INTO imagemeta "
. "(checkuser, "
- . "usergroupid) "
+ . "usergroupid, "
+ . "rootaccess) "
. "VALUES ({$data["checkuser"]}, "
- . "{$data["usergroupid"]})";
+ . "{$data["usergroupid"]}, "
+ . "{$data["rootaccess"]})";
doQuery($query, 101);
$qh = doQuery("SELECT LAST_INSERT_ID() FROM imagemeta", 101);
if(! $row = mysql_fetch_row($qh))
@@ -2586,16 +2590,20 @@ function updateImage($data) {
. "WHERE id = {$data["imageid"]}";
doQuery($query, 101);
}
- elseif(! empty($imgdata[$data["imageid"]]["imagemetaid"]) &&
- ($data["checkuser"] != $imgdata[$data["imageid"]]["checkuser"] ||
- $data["usergroupid"] != $imgdata[$data["imageid"]]["usergroupid"])) {
- if($data["usergroupid"] == 0)
- $data["usergroupid"] = "NULL";
- $query = "UPDATE imagemeta "
- . "SET checkuser = {$data["checkuser"]}, "
- . "usergroupid = {$data["usergroupid"]} "
- . "WHERE id = {$imgdata[$data["imageid"]]["imagemetaid"]}";
- doQuery($query, 101);
+ elseif(! empty($imgdata[$data["imageid"]]["imagemetaid"])) {
+ if($data["checkuser"] != $imgdata[$data["imageid"]]["checkuser"] ||
+ $data["rootaccess"] != $imgdata[$data["imageid"]]["rootaccess"] ||
+ $data["usergroupid"] != $imgdata[$data["imageid"]]["usergroupid"]) {
+ if($data["usergroupid"] == 0)
+ $data["usergroupid"] = "NULL";
+ $query = "UPDATE imagemeta "
+ . "SET checkuser = {$data["checkuser"]}, "
+ . "rootaccess = {$data["rootaccess"]}, "
+ . "usergroupid = {$data["usergroupid"]} "
+ . "WHERE id = {$imgdata[$data["imageid"]]["imagemetaid"]}";
+ doQuery($query, 101);
+ }
+ checkClearImageMeta($imgdata[$data['imageid']]['imagemetaid'], $data['imageid']);
}
return $return;
}
@@ -2666,19 +2674,24 @@ function addImage($data) {
$imagemetaid = 0;
if($data['checkuser'] != 0 && $data['checkuser'] != 1)
$data['checkuser'] = 1;
+ if($data['rootaccess'] != 0 && $data['rootaccess'] != 1)
+ $data['rootaccess'] = 1;
if(! is_numeric($data['usergroupid']) || $data['usergroupid'] <= 0)
$data['usergroupid'] = "NULL";
if($data['sysprep'] != 0 && $data['sysprep'] != 1)
$data['sysprep'] = 1;
if($data['checkuser'] == 0 ||
+ $data['rootaccess'] == 0 ||
(is_numeric($data['usergroupid']) && $data['usergroupid'] > 0) ||
$data['sysprep'] == 0) {
$query = "INSERT INTO imagemeta "
. "(checkuser, "
+ . "rootaccess, "
. "usergroupid, "
. "sysprep) "
. "VALUES "
. "({$data['checkuser']}, "
+ . "{$data['rootaccess']}, "
. "{$data['usergroupid']}, "
. "{$data['sysprep']})";
doQuery($query, 101);
Modified: incubator/vcl/trunk/web/.ht-inc/utils.php
URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/web/.ht-inc/utils.php?rev=936884&r1=936883&r2=936884&view=diff
==============================================================================
--- incubator/vcl/trunk/web/.ht-inc/utils.php (original)
+++ incubator/vcl/trunk/web/.ht-inc/utils.php Thu Apr 22 15:01:39 2010
@@ -1096,6 +1096,7 @@ function getImages($includedeleted=0, $i
$imagelist[$row["id"]] = $row;
if($row["imagemetaid"] != NULL) {
$query2 = "SELECT i.checkuser, "
+ . "i.rootaccess, "
. "i.subimages, "
. "i.usergroupid, "
. "u.name AS usergroup, "
@@ -1108,6 +1109,7 @@ function getImages($includedeleted=0, $i
$qh2 = doQuery($query2, 101);
if($row2 = mysql_fetch_assoc($qh2)) {
$imagelist[$row["id"]]["checkuser"] = $row2["checkuser"];
+ $imagelist[$row["id"]]["rootaccess"] = $row2["rootaccess"];
$imagelist[$row["id"]]["usergroupid"] = $row2["usergroupid"];
if(! empty($row2['affiliation']))
$imagelist[$row["id"]]["usergroup"] = "{$row2["usergroup"]}@{$row2['affiliation']}";
@@ -1228,6 +1230,52 @@ function getImageNotes($imageid) {
////////////////////////////////////////////////////////////////////////////////
///
+/// \fn checkClearImageMeta($imagemetaid, $imageid, $ignorefield)
+///
+/// \param $imagemetaid - id from imagemeta table
+/// \param $imageid - id from image table
+/// \param $ignorefield - (optional, default='') field to ignore being different
+/// from default
+///
+/// \return 0 if imagemeta entry was not deleted, 1 if it was
+///
+/// \brief checks to see if all values of the imagemeta table are defaults, and
+/// if so, deletes the entry and sets imagemetaid to NULL in image table
+///
+////////////////////////////////////////////////////////////////////////////////
+function checkClearImageMeta($imagemetaid, $imageid, $ignorefield='') {
+ # get defaults for imagemeta table
+ $query = "DESC imagemeta";
+ $qh = doQuery($query, 101);
+ $defaults = array();
+ while($row = mysql_fetch_assoc($qh))
+ $defaults[$row['Field']] = $row['Default'];
+ # get imagemeta data
+ $query = "SELECT * FROM imagemeta WHERE id = $imagemetaid";
+ $qh = doQuery($query, 101);
+ $row = mysql_fetch_assoc($qh);
+ $alldefaults = 1;
+ foreach($row as $field => $val) {
+ if($field == 'id' || $field == $ignorefield)
+ continue;
+ if($defaults[$field] != $val) {
+ $alldefaults = 0;
+ break;
+ }
+ }
+ // if all default values, delete imagemeta entry
+ if($alldefaults) {
+ $query = "DELETE FROM imagemeta WHERE id = $imagemetaid";
+ doQuery($query, 101);
+ $query = "UPDATE image SET imagemetaid = NULL WHERE id = $imageid";
+ doQuery($query, 101);
+ return 1;
+ }
+ return 0;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+///
/// \fn getProductionRevisionid($imageid)
///
/// \param $imageid