diff --git a/include/appData.php b/include/appData.php index deacba7..37e1c01 100644 --- a/include/appData.php +++ b/include/appData.php @@ -72,6 +72,82 @@ class appData return $hResult; } + + function objectGetEntriesCount($sQueued, $sType = null) + { + if(($sQueued == "true" || $sQueued == "all") && !appData::canEdit($sType)) + return FALSE; + + if(($sQueued == "true" || $sQueued == "all") && + !$_SESSION['current']->hasPriv("admin")) + { + $sQuery = "SELECT COUNT(DISTINCT id) as count FROM appData, appMaintainers, + appVersion, appFamily + WHERE appMaintainers.userId = '?' AND + ((((appMaintainers.appId = appFamily.appId) OR appMaintainers.appId = + appVersion.appId) AND + appMaintainers.superMaintainer = '1' AND (appData.appId = + appMaintainers.appId OR (appData.versionId = appVersion.versionId + AND appVersion.appId = appMaintainers.appId)) + ) OR (appMaintainers.superMaintainer = '0' AND appMaintainers.versionId = + appVersion.versionId AND appMaintainers.versionId = appData.versionId)) + AND appVersion.queued = 'false' AND + appFamily.queued = 'false'"; + + if($sQueued == "true") + $sQuery .= " AND appData.queued = 'true'"; + + if($sType) + { + $sQuery = " AND type = '?'"; + $hResult = query_parameters($sQuery, $_SESSION['current']->iUserId, + $sType); + } else { + $hResult = query_parameters($sQuery, $_SESSION['current']->iUserId); + } + } else + { + $sQuery = "SELECT COUNT(DISTINCT id) as count FROM appData, + appFamily, appVersion + WHERE ((appData.appId = appFamily.appId) OR (appData.versionId = + appVersion.versionId)) AND appVersion.queued = 'false' AND + appFamily.queued = 'false'"; + + if($sQueued == "true" || $sQueued == "false") + $sQuery .= " AND appData.queued = '$sQueued'"; + + if($sType) + { + $sQuery .= " AND type = '?'"; + $hResult = query_parameters($sQuery,$sType); + } else + $hResult = query_parameters($sQuery); + } + + if(!$hResult) + return FALSE; + + if(!$oRow = mysql_fetch_object($hResult)) + return FALSE; + + return $oRow->count; + } + + function canEdit($sType = null) + { + if($sType) + { + $oObject = new $sType(); + return $oObject->canEdit(); + } else + { + if($_SESSION['current']->hasPriv("admin") || + maintainer::isUserMaintainer($_SESSION['current'])) + return TRUE; + else + return FALSE; + } + } } ?> diff --git a/include/sidebar_admin.php b/include/sidebar_admin.php index 365ab7f..cc1dc14 100644 --- a/include/sidebar_admin.php +++ b/include/sidebar_admin.php @@ -8,14 +8,14 @@ require_once(BASE."include/distribution.php"); function global_admin_menu() { $g = new htmlmenu("Global Admin"); - + $g->add("Add Category", BASE."admin/addCategory.php"); $g->add("Add Vendor", BASE."objectManager.php?sClass=vendor&bQueue=". "false&sAction=add&sTitle=Add%20Vendor"); - + $g->addmisc(" "); $g->add("View App Queue (".$_SESSION['current']->getQueuedAppCount()."/".$_SESSION['current']->getQueuedVersionCount().")", BASE."admin/adminAppQueue.php"); - $g->add("View App Data Queue (".$_SESSION['current']->getQueuedAppDataCount().")", + $g->add("View App Data Queue (".appData::objectGetEntriesCount("true").")", BASE."admin/adminAppDataQueue.php"); $g->add("View Maintainer Queue (".Maintainer::getQueuedMaintainerCount().")", BASE."objectManager.php?sClass=maintainer&bIsQueue=true&sTitle=Maintainer%20Queue"); diff --git a/include/sidebar_maintainer_admin.php b/include/sidebar_maintainer_admin.php index 7c0af19..9d29465 100644 --- a/include/sidebar_maintainer_admin.php +++ b/include/sidebar_maintainer_admin.php @@ -8,7 +8,7 @@ function global_maintainer_admin_menu() { $g = new htmlmenu("Maintainer Admin"); $g->add("View App Queue (".$_SESSION['current']->getQueuedVersionCount().")", BASE."admin/adminAppQueue.php"); - $g->add("View App Data Queue (".$_SESSION['current']->getQueuedAppDataCount().")", BASE."admin/adminAppDataQueue.php"); + $g->add("View App Data Queue (".appData::objectGetEntriesCount("true").")", BASE."admin/adminAppDataQueue.php"); $g->done(); } diff --git a/include/user.php b/include/user.php index 0edab92..3fbcd71 100644 --- a/include/user.php +++ b/include/user.php @@ -299,15 +299,6 @@ class User { return $oRow->queued_versions - $this->getQueuedAppCount(); } - - /* get the number of queued appdata */ - function getQueuedAppDataCount() - { - $hResult = $this->getAppDataQuery(0, true, false); - $oRow = mysql_fetch_object($hResult); - return $oRow->queued_appdata; - } - function addPriv($sPriv) { if(!$this->isLoggedIn() || !$sPriv) @@ -682,6 +673,7 @@ class User { function get_notify_email_address_list($iAppId = null, $iVersionId = null) { $aUserId = array(); + $sRetval = ""; /* * Retrieve version maintainers.