Module: appdb Branch: master Commit: f04c6fe4dc44eaf504d38f3a7af4415541297b77 URL: http://source.winehq.org/git/appdb.git/?a=commit;h=f04c6fe4dc44eaf504d38f3a7...
Author: Alexander Nicolaysen Sørnes alex@thehandofagony.com Date: Sun Jan 6 01:14:56 2008 +0100
objectManager: Handle sState in URLs
---
include/objectManager.php | 14 +++++++++++++- include/sidebar.php | 8 ++++---- include/sidebar_admin.php | 40 ++++++++++++++++++++-------------------- objectManager.php | 4 +++- 4 files changed, 40 insertions(+), 26 deletions(-)
diff --git a/include/objectManager.php b/include/objectManager.php index e296b1d..05b1d5c 100644 --- a/include/objectManager.php +++ b/include/objectManager.php @@ -65,7 +65,19 @@ class ObjectManager
public function setState($sState) { - $this->sState = $sState; + /* Ensure that the given state is valid */ + switch($sState) + { + case 'accepted': + case 'queued': + case 'rejected': + case 'deleted': + $this->sState = $sState; + return true; + + default: + return false; + } }
public function getIsQueue() diff --git a/include/sidebar.php b/include/sidebar.php index ac060ec..dc748cf 100644 --- a/include/sidebar.php +++ b/include/sidebar.php @@ -21,7 +21,7 @@ function global_sidebar_menu() $g->add("Screenshots", BASE."objectManager.php?sClass=screenshot&sTitle=View+Screenshots"); $g->add("Browse Apps", BASE."appbrowse.php"); $g->add("Browse Newest Apps", BASE."objectManager.php?sClass=application&". - "bIsQueue=false&sTitle=Newest%20apps&sOrderBy=appId&bAscending=false"); + 'sTitle=Newest%20apps&sOrderBy=appId&bAscending=false'); $g->add("Downloadable Apps", BASE."browse_downloadable.php"); $g->add("Browse Apps by Rating", BASE."browse_by_rating.php"); $g->add("Top 25", BASE."votestats.php"); @@ -29,10 +29,10 @@ function global_sidebar_menu() "sTitle=Submit+Application&sAction=add"); $g->add("Help & Documentation", BASE."help/"); $g->add("Statistics", BASE."appdbStats.php"); - $g->add("Distributions (".distribution::objectGetEntriesCount(false, false).")", BASE."objectManager.php?sClass=distribution&bIsQueue=false&sTitle=View%20Distributions"); - $g->add("Vendors (".vendor::objectGetEntriesCount(false, false).")", BASE."objectManager.php?sClass=vendor&bIsQueue=false&sTitle=View%20Vendors"); + $g->add("Distributions (".distribution::objectGetEntriesCount(false, false).")", BASE.'objectManager.php?sClass=distribution&sTitle=View%20Distributions'); + $g->add("Vendors (".vendor::objectGetEntriesCount(false, false).")", BASE.'objectManager.php?sClass=vendor&sTitle=View%20Vendors'); $g->add("Email your suggestions for improving the AppDB", "mailto:appdb@winehq.org"); - $g->done(); + $g->done();
$g = new htmlmenu("Search"); $g->addmisc(app_search_box(!empty($aClean['sSearchQuery']) ? $aClean['sSearchQuery'] : '')); diff --git a/include/sidebar_admin.php b/include/sidebar_admin.php index 0ee3db5..bc1fdb4 100644 --- a/include/sidebar_admin.php +++ b/include/sidebar_admin.php @@ -10,34 +10,34 @@ function global_admin_menu() { $g = new htmlmenu("Global Admin");
$g->add("App Queue (".application::objectGetEntriesCount(true, false).")", - BASE."objectManager.php?sClass=application_queue&bIsQueue=true&sTitle=". - "Application%20Queue"); + BASE.'objectManager.php?sClass=application_queue&sState=queued&sTitle='. + 'Application%20Queue'); $g->add("Version Queue (".version::objectGetEntriesCount(true, false).")", - BASE."objectManager.php?sClass=version_queue&bIsQueue=true&sTitle=". - "Version%20Queue"); + BASE.'objectManager.php?sClass=version_queue&sState=queued&sTitle='. + 'Version%20Queue'); $g->add("Screenshot Queue (".appData::objectGetEntriesCount("true", false, "screenshot").")", - BASE."objectManager.php?sClass=screenshot&bIsQueue=true&sTitle=". - "Screenshot%20Queue"); + BASE.'objectManager.php?sClass=screenshot&sState=queued&sTitle='. + 'Screenshot%20Queue'); $g->add("Maintainer Queue (".Maintainer::objectGetEntriesCount(true, false).")", - BASE."objectManager.php?sClass=maintainer&bIsQueue=true&sTitle=". - "Maintainer%20Queue"); + BASE.'objectManager.php?sClass=maintainer&sState=queued&sTitle='. + 'Maintainer%20Queue'); $g->add("Test Results Queue (".testData::objectGetEntriesCount(true, false).")", - BASE."objectManager.php?sClass=testData_queue&bIsQueue=true&sTitle=". - "Test%20Results%20Queue"); + BASE.'objectManager.php?sClass=testData_queue&sState=queued&sTitle='. + 'Test%20Results%20Queue'); $g->add("Bug Link Queue (".bug::objectGetEntriesCount(true, false).")", - BASE."objectManager.php?sClass=bug&bIsQueue=true&sTitle=". - "Bug%20Link%20Queue"); + BASE.'objectManager.php?sClass=bug&sState=queued&sTitle='. + 'Bug%20Link%20Queue');
$g->addmisc(" ");
$g->add("Maintainer Entries (".Maintainer::getMaintainerCount().")", BASE."admin/adminMaintainers.php"); $g->add("Bug Links (".bug::objectGetEntriesCount(false, false).")", - BASE."objectManager.php?sClass=bug&bIsQueue=false&sTitle=". + BASE."objectManager.php?sClass=bug&sTitle=". "Bug%20Links"); $g->add("Test Results (".testData::objectGetEntriesCount(false, false).")", - BASE."objectManager.php?sClass=testData&bIsQueue=false&sTitle=". + BASE."objectManager.php?sClass=testData&sTitle=". "View%20Test%20Results"); $g->add("Users Management", BASE."admin/adminUsers.php"); $g->add("Comments Management", BASE."admin/adminCommentView.php"); @@ -47,15 +47,15 @@ function global_admin_menu() {
$g->add("Rejected Applications (".application::objectGetEntriesCount(true, true).")", - BASE."objectManager.php?sClass=application_queue&bIsQueue=true&bIsRejected=". - "true&sTitle=Rejected%20Applications"); + BASE.'objectManager.php?sClass=application_queue&sState=rejected&'. + 'sTitle=Rejected%20Applications'); $g->add("Rejected Versions (".version::objectGetEntriesCount(true, true).")", - BASE."objectManager.php?sClass=version_queue&bIsQueue=true&". - "bIsRejected=true&sTitle=Rejected%20Versions"); + BASE.'objectManager.php?sClass=version_queue&sState=rejected&'. + 'sTitle=Rejected%20Versions'); $g->add("Rejected Test Results (".testData::objectGetEntriesCount(true, true).")", - BASE."objectManager.php?sClass=testData_queue&bIsQueue=true". - "&bIsRejected=true&sTitle=Rejected%20Test%20Results"); + BASE.'objectManager.php?sClass=testData_queue&sState=rejected&'. + 'sTitle=Rejected%20Test%20Results');
$g->addmisc(" ");
diff --git a/objectManager.php b/objectManager.php index 8be8181..29fb539 100644 --- a/objectManager.php +++ b/objectManager.php @@ -42,7 +42,9 @@ $aClean['iId'] = isset($aClean['iId']) ? $aClean['iId'] : 0;
$oObject = new objectManager($aClean['sClass'], $aClean['sTitle'], $aClean['iId']);
-if(getInput('bIsRejected', $aClean) == 'true') +if(getInput('sState', $aClean)) + $oObject->setState($aClean['sState']); +else if(getInput('bIsRejected', $aClean) == 'true') // Compatibility with old URLs $oObject->setState('rejected'); else if(getInput('bIsQueue', $aClean) == 'true') $oObject->setState('queued');