Alexander Nicolaysen Sørnes : objectManager: Handle sState in URLs
Chris Morgan
cmorgan at winehq.org
Thu Jan 10 19:36:51 CST 2008
Module: appdb
Branch: master
Commit: f04c6fe4dc44eaf504d38f3a7af4415541297b77
URL: http://source.winehq.org/git/appdb.git/?a=commit;h=f04c6fe4dc44eaf504d38f3a7af4415541297b77
Author: Alexander Nicolaysen Sørnes <alex at 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 at 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');
More information about the wine-cvs
mailing list