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 &amp; 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("&nbsp;");
 
     $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("&nbsp;");
 
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