diff --git a/include/objectManager.php b/include/objectManager.php index c197058..37cf809 100644 --- a/include/objectManager.php +++ b/include/objectManager.php @@ -544,22 +544,34 @@ class ObjectManager /* Make an objectManager URL based on the object and optional parameters */ function makeUrl($sAction = false, $iId = false, $sTitle = false) { - if($iId) - $sId = "&iId=$iId"; - - if($sAction) - $sAction = "&sAction=$sAction"; + $sUrl = APPDB_ROOT."objectManager.php?"; $sIsQueue = $this->bIsQueue ? "true" : "false"; + $sUrl .= "bIsQueue=$sIsQueue"; $sIsRejected = $this->bIsRejected ? "true" : "false"; + $sUrl .= "&bIsRejected=$sIsRejected"; + + $sUrl .= "&sClass=".$this->sClass; + if($iId) + $sUrl .= "&iId=$iId"; + + if($sAction) + $sUrl .= "&sAction=$sAction"; + + if(!$sTitle) $sTitle = $this->sTitle; - $sTitle = urlencode($sTitle); + $sUrl .= "&sTitle=".urlencode($sTitle); - return APPDB_ROOT."objectManager.php?bIsQueue=$sIsQueue&sClass=$this->sClass". - "&sTitle=$sTitle$sId$sAction&bIsRejected=$sIsRejected"; + if($this->oMultiPage->bEnabled) + { + $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 @@ -574,6 +586,14 @@ class ObjectManager $sReturn .= "sClass."\" />\n"; $sReturn .= "sTitle."\" />\n"; + if($this->oMultiPage->bEnabled) + { + $sReturn .= "oMultiPage->iItemsPerPage."\" />\n"; + $sReturn .= "oMultiPage->iPage."\" />\n"; + } + return $sReturn; } /* Get id from form data */ @@ -709,7 +729,8 @@ class ObjectManager class MultiPage { var $iItemsPerPage; - var $iLowerLimit; + var $iLowerLimit; /* Internal; set by handleMultiPageControls. We use iPage in the URls */ + var $iPage; var $bEnabled; function MultiPage($bEnabled = FALSE, $iItemsPerPage = 0, $iLowerLimit = 0) @@ -718,6 +739,17 @@ class MultiPage $this->iItemsPerPage = $iItemsPerPage; $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 diff --git a/objectManager.php b/objectManager.php index 809716b..5cf5872 100644 --- a/objectManager.php +++ b/objectManager.php @@ -52,6 +52,8 @@ if($aClean['bIsRejected'] == 'true') } else $oObject->bIsRejected = false; +$oObject->oMultiPage->getDataFromInput($aClean); + $oOtherObject = new $oObject->sClass($oObject->iId); /* Certain actions must be performed before the header is set. */