Add and use appData::objectGetEntriesCount()

This commit is contained in:
Alexander Nicolaysen Sørnes
2007-03-10 21:21:10 +00:00
committed by WineHQ
parent 89fa871033
commit ebb47fedc7
4 changed files with 81 additions and 13 deletions

View File

@@ -72,6 +72,82 @@ class appData
return $hResult; 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;
}
}
} }
?> ?>

View File

@@ -15,7 +15,7 @@ function global_admin_menu() {
$g->addmisc(" "); $g->addmisc(" ");
$g->add("View App Queue (".$_SESSION['current']->getQueuedAppCount()."/".$_SESSION['current']->getQueuedVersionCount().")", BASE."admin/adminAppQueue.php"); $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"); BASE."admin/adminAppDataQueue.php");
$g->add("View Maintainer Queue (".Maintainer::getQueuedMaintainerCount().")", $g->add("View Maintainer Queue (".Maintainer::getQueuedMaintainerCount().")",
BASE."objectManager.php?sClass=maintainer&bIsQueue=true&sTitle=Maintainer%20Queue"); BASE."objectManager.php?sClass=maintainer&bIsQueue=true&sTitle=Maintainer%20Queue");

View File

@@ -8,7 +8,7 @@ function global_maintainer_admin_menu() {
$g = new htmlmenu("Maintainer Admin"); $g = new htmlmenu("Maintainer Admin");
$g->add("View App Queue (".$_SESSION['current']->getQueuedVersionCount().")", BASE."admin/adminAppQueue.php"); $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(); $g->done();
} }

View File

@@ -299,15 +299,6 @@ class User {
return $oRow->queued_versions - $this->getQueuedAppCount(); 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) function addPriv($sPriv)
{ {
if(!$this->isLoggedIn() || !$sPriv) if(!$this->isLoggedIn() || !$sPriv)
@@ -682,6 +673,7 @@ class User {
function get_notify_email_address_list($iAppId = null, $iVersionId = null) function get_notify_email_address_list($iAppId = null, $iVersionId = null)
{ {
$aUserId = array(); $aUserId = array();
$sRetval = "";
/* /*
* Retrieve version maintainers. * Retrieve version maintainers.