Let objectManager output table headers. A class returns an array of header cells and then

the objectManager adds an edit column if appropriate.
This commit is contained in:
Alexander Nicolaysen Sørnes
2007-03-17 21:04:43 +00:00
committed by WineHQ
parent 80e30b65a8
commit ed7026be6e
7 changed files with 29 additions and 28 deletions

View File

@@ -199,7 +199,7 @@ class appData
}
function objectOutputHeader($sClass, $sType)
function objectGetHeader($sType)
{
$aCells = array(
"Submission Date",
@@ -207,10 +207,7 @@ class appData
"Application",
"Version");
if(appData::canEdit($sType))
$aCells[] = "Action";
echo html_tr($aCells, $sClass);
return $aCells;
}
function objectGetEntries($bQueued, $iRows = 0, $iStart = 0, $sType)

View File

@@ -400,17 +400,14 @@ class distribution {
echo "</select>\n";
}
function objectOutputHeader($sClass = "")
function objectGetHeader()
{
$aCells = array(
"Distribution name",
"Distribution url",
array("Linked Tests", "align=\"right\""));
if(distribution::canEdit())
$aCells[3] = array("Action", "align=\"center\"");
echo html_tr($aCells, $sClass);
return $aCells;
}
function objectGetEntries($bQueued, $iRows = 0, $iStart = 0)

View File

@@ -409,7 +409,7 @@ class maintainer
return $aUserIds;
}
function ObjectOutputHeader($sClass)
function ObjectGetHeader()
{
$aCells = array(
"Submission Date",
@@ -418,10 +418,7 @@ class maintainer
"Super maintainer?",
"Submitter");
if(maintainer::canEdit())
$aCells[sizeof($aCells)] = "Action";
echo html_tr($aCells, $sClass);
return $aCells;
}
/* arg1 = OM object, arg2 = CSS style, arg3 = text for edit link */

View File

@@ -55,7 +55,7 @@ class ObjectManager
/* displays the list of entries */
function display_table()
{
$this->checkMethods(array("ObjectGetEntries", "ObjectOutputHeader",
$this->checkMethods(array("ObjectGetEntries", "ObjectGetHeader",
"ObjectGetInstanceFromRow", "ObjectOutputTableRow", "canEdit"));
@@ -85,9 +85,8 @@ class ObjectManager
/* output the header */
echo '<table width="100%" border="0" cellpadding="3" cellspacing="0">';
call_user_func(array($this->sClass,
"objectOutputHeader"), "color4");
/* Output header cells */
$this->outputHeader("color4");
/* output each entry */
for($iCount = 0; $oRow = mysql_fetch_object($hResult); $iCount++)
@@ -324,6 +323,20 @@ class ObjectManager
$sId = "i".ucfirst($this->sClass)."Id";
return $aClean[$sId];
}
/* Output headers for a table */
function outputHeader($sClass)
{
$oObject = new $this->sClass();
$aCells = $oObject->objectGetHeader();
/* Add an action column if the user can edit this class, or if it is a queue.
Even though a user annot process items, he can edit his queued submissions */
if($oObject->canEdit() || $this->bIsQueue)
$aCells[] = "Action";
echo html_tr($aCells, $sClass);
}
}
?>

View File

@@ -518,9 +518,9 @@ class Screenshot {
return appData::objectGetEntries($bQueued, $iRows, $iStart, "screenshot");
}
function objectOutputHeader($sClass)
function objectGetHeader()
{
return appData::objectOutputHeader($sClass, "screenshot");
return appData::objectGetHeader("screenshot");
}
function canEdit()

View File

@@ -167,17 +167,14 @@ class Vendor {
return $hResult;
}
function objectOutputHeader($sClass = "")
function objectGetHeader()
{
$sCells = array(
$aCells = array(
"Name",
"Website",
array("Linked apps", "align=\"right\""));
if(vendor::canEdit())
$sCells[sizeof($sCells)] = "Action";
echo html_tr($sCells, $sClass);
return $aCells;
}
function objectGetInstanceFromRow($oRow)

View File

@@ -143,7 +143,7 @@ function test_object_methods()
echo "PASSED:\t\t".$sClassName."\n";
}*/
$aTestMethods = array("objectOutputHeader", "objectOutputTableRow",
$aTestMethods = array("objectGetHeader", "objectOutputTableRow",
"objectGetEntries", "display",
"objectGetInstanceFromRow", "outputEditor", "canEdit",
"getOutputEditorValues", "objectMakeUrl", "objectMakeLink");