Module: appdb Branch: master Commit: af87e895357d62a90114ec87186e06bdd933e56c URL: http://source.winehq.org/git/appdb.git/?a=commit;h=af87e895357d62a90114ec871...
Author: Alexander Nicolaysen Sørnes alex@thehandofagony.com Date: Tue Sep 18 14:04:23 2007 +0200
Use objectManager to display applications
---
appview.php | 86 +++++++++-------------------------------------- help/appdb_faq.help | 2 +- include/application.php | 57 ++++++++++++++++++++++++++++--- 3 files changed, 69 insertions(+), 76 deletions(-)
diff --git a/appview.php b/appview.php index 6b4e3b3..f154840 100644 --- a/appview.php +++ b/appview.php @@ -1,93 +1,39 @@ <?php /** - * Displays an application or a version. + * Previously used to display an application or a version. + * It still does that, but only for compatibility with old links * * Mandatory parameters: * - iAppId, application identifier * OR * - iVersionId, version identifier * - * Optional parameters: - * - sSub, action to perform ("delete", "unqueue", "Submit a new bug link.") - * - iBuglinkId, bug identifier to link a bug with a version - * - * TODO: - * - replace sSub with iAction and replace "delete", "unqueue", etc. with integer constants DELETE, UNQUEUE, etc. - * - move and rename display_bundle into its respective modules - * - replace require_once with require after checking that it won't break anything - */ +*/
-// application environment +// Basic environment require("path.php"); require(BASE."include/incl.php"); -require_once(BASE."include/application.php"); -require_once(BASE."include/appdb.php"); -require_once(BASE."include/vote.php"); -require_once(BASE."include/category.php"); -require_once(BASE."include/maintainer.php"); -
-/** - * Displays the SUB apps that belong to this application. - */ -function display_bundle($iAppId) +if(isset($aClean['iAppId']) || isset($aClean['iVersionId'])) // Valid args { - $oApp = new Application($iAppId); - $hResult = query_parameters("SELECT appFamily.appId, appName, description FROM appBundle, appFamily ". - "WHERE appFamily.queued='false' AND bundleId = '?' AND appBundle.appId = appFamily.appId", - $iAppId); - if(!$hResult || query_num_rows($hResult) == 0) - { - return; // do nothing - } - - echo html_frame_start("","98%","",0); - echo "<table width="100%" border="0" cellpadding="3" cellspacing="1">\n\n"; - - echo "<tr class="color4">\n"; - echo " <td>Application Name</td>\n"; - echo " <td>Description</td>\n"; - echo "</tr>\n\n"; - - $c = 0; - while($ob = query_fetch_object($hResult)) - { - $oApp = new application($ob->appId); - //set row color - $bgcolor = ($c % 2 == 0) ? "color0" : "color1"; - - //display row - echo "<tr class="$bgcolor">\n"; - echo " <td>".$oApp->objectMakeLink()."</td>\n"; - echo " <td>".util_trim_description($oApp->sDescription)."</td>\n"; - echo "</tr>\n\n"; + if( isset($aClean['iAppId']) ) // Application + $oObject = new Application($aClean['iAppId']); + else // We want to see a particular version. + $oObject = new Version($aClean['iVersionId']);
- $c++; - } + // header + apidb_header($oObject->objectGetCustomTitle("display"));
- echo "</table>\n\n"; - echo html_frame_end(); -} + if(isset($aClean['iVersionId'])) + $oObject->display($aClean); + else + $oObject->display();
-/** - * We want to see an application family (=no version). - */ -if( isset($aClean['iAppId']) ) -{ - $oApp = new Application($aClean['iAppId']); - $oApp->display(); -} else if( isset($aClean['iVersionId']) ) // We want to see a particular version. -{ - $oVersion = new Version($aClean['iVersionId']); - - // header - apidb_header("Viewing App: ".version::fullName($oVersion->iVersionId)); - $oVersion->display($aClean); + apidb_footer(); } else { // Oops! Called with no params, bad llamah! util_show_error_page_and_exit('Page Called with No Params!'); }
-apidb_footer(); ?> diff --git a/help/appdb_faq.help b/help/appdb_faq.help index 94657ae..3fa60ee 100644 --- a/help/appdb_faq.help +++ b/help/appdb_faq.help @@ -12,7 +12,7 @@ Application Database.</p> <p><b>A:</b> The Application Database is a repository for Windows application compatibility information with Wine. In particular it provides the following information:<br> -(see the <a href="/appview.php?iAppId=296">Visual FoxPro</a> entry for an +(see the <a href="/objectManager.php?sClass=application&iId=296">Visual FoxPro</a> entry for an example)<p> <ul> <li>Whether a given application works at all with Wine.</li> diff --git a/include/application.php b/include/application.php index 57a1345..b259934 100644 --- a/include/application.php +++ b/include/application.php @@ -628,6 +628,56 @@ class Application { $this->iMaintainerRequest = $aValues['iMaintainerRequest']; }
+ /** + * Displays the SUB apps that belong to this application. + */ + function displayBundle() + { + $hResult = query_parameters("SELECT appFamily.appId, appName, description FROM appBundle, appFamily ". + "WHERE appFamily.queued='false' AND bundleId = '?' AND appBundle.appId = appFamily.appId", + $this->iAppId); + if(!$hResult || query_num_rows($hResult) == 0) + { + return; // do nothing + } + + echo html_frame_start("","98%","",0); + echo "<table width="100%" border="0" cellpadding="3" cellspacing="1">\n\n"; + + echo "<tr class="color4">\n"; + echo " <td>Application Name</td>\n"; + echo " <td>Description</td>\n"; + echo "</tr>\n\n"; + + for($c = 0; $ob = query_fetch_object($hResult); $c++) + { + $oApp = new application($ob->appId); + //set row color + $bgcolor = ($c % 2 == 0) ? "color0" : "color1"; + + //display row + echo "<tr class="$bgcolor">\n"; + echo " <td>".$oApp->objectMakeLink()."</td>\n"; + echo " <td>".util_trim_description($oApp->sDescription)."</td>\n"; + echo "</tr>\n\n"; + } + + echo "</table>\n\n"; + echo html_frame_end(); + } + + function objectGetCustomTitle($sAction) + { + switch($sAction) + { + case "display": + return "Viewing App: ".$this->sName; + + default: + return null; + } + } + /* display this application */ function display() { @@ -635,9 +685,6 @@ class Application { if(!$_SESSION['current']->canViewApplication($this)) util_show_error_page_and_exit("Something went wrong with the application or version id");
- // header - apidb_header("Viewing App - ".$this->sName); - // cat display $oCategory = new Category($this->iCatId); $oCategory->display($this->iAppId); @@ -755,7 +802,7 @@ class Application { Version::displayList($this->aVersionsIds);
// display bundle - display_bundle($this->iAppId); + $this->displayBundle(); }
function lookup_name($appId) @@ -816,7 +863,7 @@ class Application {
function objectMakeUrl() { - $sUrl = APPDB_ROOT."appview.php?iAppId=$this->iAppId"; + $sUrl = APPDB_ROOT."objectManager.php?sClass=application&iId=$this->iAppId"; return $sUrl; }