Remember multipage values when processing entries

This commit is contained in:
Alexander Nicolaysen Sørnes
2007-06-15 04:10:42 +00:00
committed by WineHQ
parent 6f1ac4d074
commit 5e7a75584a
2 changed files with 43 additions and 9 deletions

View File

@@ -544,22 +544,34 @@ class ObjectManager
/* Make an objectManager URL based on the object and optional parameters */ /* Make an objectManager URL based on the object and optional parameters */
function makeUrl($sAction = false, $iId = false, $sTitle = false) function makeUrl($sAction = false, $iId = false, $sTitle = false)
{ {
if($iId) $sUrl = APPDB_ROOT."objectManager.php?";
$sId = "&iId=$iId";
if($sAction)
$sAction = "&sAction=$sAction";
$sIsQueue = $this->bIsQueue ? "true" : "false"; $sIsQueue = $this->bIsQueue ? "true" : "false";
$sUrl .= "bIsQueue=$sIsQueue";
$sIsRejected = $this->bIsRejected ? "true" : "false"; $sIsRejected = $this->bIsRejected ? "true" : "false";
$sUrl .= "&bIsRejected=$sIsRejected";
$sUrl .= "&sClass=".$this->sClass;
if($iId)
$sUrl .= "&iId=$iId";
if($sAction)
$sUrl .= "&sAction=$sAction";
if(!$sTitle) if(!$sTitle)
$sTitle = $this->sTitle; $sTitle = $this->sTitle;
$sTitle = urlencode($sTitle); $sUrl .= "&sTitle=".urlencode($sTitle);
return APPDB_ROOT."objectManager.php?bIsQueue=$sIsQueue&sClass=$this->sClass". if($this->oMultiPage->bEnabled)
"&sTitle=$sTitle$sId$sAction&bIsRejected=$sIsRejected"; {
$sUrl .= "&iItemsPerPage=".$this->oMultiPage->iItemsPerPage;
$sUrl .= "&iPage=".$this->oMultiPage->iPage;
}
return $sUrl;
} }
/* Inserts the information in an objectManager object as form data, so that it /* Inserts the information in an objectManager object as form data, so that it
@@ -574,6 +586,14 @@ class ObjectManager
$sReturn .= "<input type=\"hidden\" name=\"sClass\" value=\"".$this->sClass."\" />\n"; $sReturn .= "<input type=\"hidden\" name=\"sClass\" value=\"".$this->sClass."\" />\n";
$sReturn .= "<input type=\"hidden\" name=\"sTitle\" value=\"".$this->sTitle."\" />\n"; $sReturn .= "<input type=\"hidden\" name=\"sTitle\" value=\"".$this->sTitle."\" />\n";
if($this->oMultiPage->bEnabled)
{
$sReturn .= "<input type=\"hidden\" name=\"iItemsPerPage\" value=\"".
$this->oMultiPage->iItemsPerPage."\" />\n";
$sReturn .= "<input type=\"hidden\" name=\"iPage\" value=\"".
$this->oMultiPage->iPage."\" />\n";
}
return $sReturn; return $sReturn;
} }
/* Get id from form data */ /* Get id from form data */
@@ -709,7 +729,8 @@ class ObjectManager
class MultiPage class MultiPage
{ {
var $iItemsPerPage; var $iItemsPerPage;
var $iLowerLimit; var $iLowerLimit; /* Internal; set by handleMultiPageControls. We use iPage in the URls */
var $iPage;
var $bEnabled; var $bEnabled;
function MultiPage($bEnabled = FALSE, $iItemsPerPage = 0, $iLowerLimit = 0) function MultiPage($bEnabled = FALSE, $iItemsPerPage = 0, $iLowerLimit = 0)
@@ -718,6 +739,17 @@ class MultiPage
$this->iItemsPerPage = $iItemsPerPage; $this->iItemsPerPage = $iItemsPerPage;
$this->iLowerLimit = $iLowerLimit; $this->iLowerLimit = $iLowerLimit;
} }
function getDataFromInput($aClean)
{
if($aClean['iItemsPerPage'] && $aClean['iPage'])
$this->bEnabled = TRUE;
else
return;
$this->iItemsPerPage = $aClean['iItemsPerPage'];
$this->iPage = $aClean['iPage'];
}
} }
class TableRow class TableRow

View File

@@ -52,6 +52,8 @@ if($aClean['bIsRejected'] == 'true')
} else } else
$oObject->bIsRejected = false; $oObject->bIsRejected = false;
$oObject->oMultiPage->getDataFromInput($aClean);
$oOtherObject = new $oObject->sClass($oObject->iId); $oOtherObject = new $oObject->sClass($oObject->iId);
/* Certain actions must be performed before the header is set. */ /* Certain actions must be performed before the header is set. */