From c2624275ca75a2c678a1bae5df33a4310aba7f99 Mon Sep 17 00:00:00 2001 From: kevin_fourie Date: Wed, 1 Oct 2008 13:00:29 +0000 Subject: [PATCH] Merged in... --- lib/actions/bulkaction.php | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------- plugins/ktcore/KTBulkActions.php | 16 ++++++++-------- 2 files changed, 65 insertions(+), 28 deletions(-) diff --git a/lib/actions/bulkaction.php b/lib/actions/bulkaction.php index c434830..102949b 100644 --- a/lib/actions/bulkaction.php +++ b/lib/actions/bulkaction.php @@ -402,8 +402,42 @@ class KTBulkAction extends KTStandardDispatcher { $this->persistParams(array('fListCode', 'fActiveListCode', 'fFolderId', 'fReturnData', 'fReturnAction')); } + /** + * Get the return url based on the return action and data + */ + function getReturnUrl() + { + $sReturnAction = $_REQUEST['fReturnAction']; + $sReturnData = $_REQUEST['fReturnData']; + $sAction = 'main'; + $qs = ''; + + switch ($sReturnAction){ + case 'browse': + $sReturnData = (empty($sReturnData)) ? $_REQUEST['fFolderId'] : $sReturnData; + $sTargetUrl = KTBrowseUtil::getUrlForFolder(Folder::get($sReturnData)); + break; + case 'simpleSearch': + $sTargetUrl = KTBrowseUtil::getSimpleSearchBaseUrl(); + $extra = 'fSearchableText='.$sReturnData; + break; + case 'booleanSearch': + $sTargetUrl = KTBrowseUtil::getBooleanSearchBaseUrl(); + $sAction = 'performSearch'; + $extra = 'boolean_search_id='.$sReturnData; + break; + case 'search2': + $sTargetUrl = KTBrowseUtil::getSearchResultURL(); + $sAction = 'searchResults'; + break; + } + $qs = 'action='.$sAction; + $qs .= (!empty($extra))? '&'.$extra : ''; + $sTargetUrl = KTUtil::addQueryString($sTargetUrl, $qs); + return $sTargetUrl; + } // forms // form to list the entites after checking each one @@ -411,6 +445,8 @@ class KTBulkAction extends KTStandardDispatcher { $sListCode = $this->oEntityList->getCode(); $sActiveListCode = $this->oActiveEntityList->getCode(); + $sTargetUrl = $this->getReturnUrl(); + $oForm = new KTForm; $oForm->setOptions(array( 'identifier' => 'ktcore.actions.bulk.listing.form', @@ -418,7 +454,7 @@ class KTBulkAction extends KTStandardDispatcher { 'targeturl' => $this->getURL(), 'action' => 'collectinfo', 'fail_action' => 'main', - 'cancel_url' => KTBrowseUtil::getUrlForFolder($this->oFolder), + 'cancel_url' => $sTargetUrl, 'noframe' => true, 'extraargs' => array('fListCode' => $sListCode, 'fActiveListCode' => $sActiveListCode, @@ -437,23 +473,24 @@ class KTBulkAction extends KTStandardDispatcher { $sReturnData = KTUtil::arrayGet($_REQUEST, 'fReturnData'); $sAction = 'main'; - if($sReturnAction == 'browse') { - if ($sReturnData == '') - { - $sReturnData = KTUtil::arrayGet($_REQUEST, 'fFolderId'); - } - $sTargetUrl = KTBrowseUtil::getUrlForFolder(Folder::get($sReturnData)); - } elseif($sReturnAction == 'simpleSearch') { - $sTargetUrl = KTBrowseUtil::getSimpleSearchBaseUrl(); - $extraargs = array('fSearchableText'=>$sReturnData); - } elseif($sReturnAction == 'booleanSearch') { - $sTargetUrl = KTBrowseUtil::getBooleanSearchBaseUrl(); - $sAction = 'performSearch'; - $extraargs = array('boolean_search_id'=>$sReturnData); - } - elseif($sReturnAction == 'search2') { - $sTargetUrl = KTBrowseUtil::getSearchResultURL(); - $sAction = 'searchResults'; + switch ($sReturnAction){ + case 'browse': + $sReturnData = (empty($sReturnData)) ? $_REQUEST['fFolderId'] : $sReturnData; + $sTargetUrl = KTBrowseUtil::getUrlForFolder(Folder::get($sReturnData)); + break; + case 'simpleSearch': // do we use this? + $sTargetUrl = KTBrowseUtil::getSimpleSearchBaseUrl(); + $extraargs = array('fSearchableText'=>$sReturnData); + break; + case 'booleanSearch': // do we use this? + $sTargetUrl = KTBrowseUtil::getBooleanSearchBaseUrl(); + $sAction = 'performSearch'; + $extraargs = array('boolean_search_id'=>$sReturnData); + break; + case 'search2': + $sTargetUrl = KTBrowseUtil::getSearchResultURL(); + $sAction = 'searchResults'; + break; } $oForm = new KTForm; @@ -480,8 +517,8 @@ class KTBulkAction extends KTStandardDispatcher { // gives us $this->aFailed $iActiveCount = $this->check_entities(); - $oTemplating =& KTTemplating::getSingleton(); - $oTemplate = $oTemplating->loadTemplate('ktcore/bulk_action_listing'); + $oTemplating =& KTTemplating::getSingleton(); + $oTemplate = $oTemplating->loadTemplate('ktcore/bulk_action_listing'); $this->store_lists(); diff --git a/plugins/ktcore/KTBulkActions.php b/plugins/ktcore/KTBulkActions.php index ff3ed56..8283fe5 100644 --- a/plugins/ktcore/KTBulkActions.php +++ b/plugins/ktcore/KTBulkActions.php @@ -65,7 +65,7 @@ class KTBulkDeleteAction extends KTBulkAction { } function form_collectinfo() { - $cancelUrl = KTBrowseUtil::getUrlForFolder($this->oFolder); + $cancelUrl = $this->getReturnUrl(); $oForm = new KTForm; $oForm->setOptions(array( @@ -200,7 +200,7 @@ class KTBulkMoveAction extends KTBulkAction { } function form_collectinfo() { - $cancelUrl = KTBrowseUtil::getUrlForFolder($this->oFolder); + $cancelUrl = $this->getReturnUrl(); $oForm = new KTForm; $oForm->setOptions(array( @@ -353,7 +353,7 @@ class KTBulkCopyAction extends KTBulkAction { } function form_collectinfo() { - $cancelUrl = KTBrowseUtil::getUrlForFolder($this->oFolder); + $cancelUrl = $this->getReturnUrl(); $oForm = new KTForm; $oForm->setOptions(array( @@ -499,7 +499,7 @@ class KTBulkArchiveAction extends KTBulkAction { } function form_collectinfo() { - $cancelUrl = KTBrowseUtil::getUrlForFolder($this->oFolder); + $cancelUrl = $this->getReturnUrl(); $oForm = new KTForm; $oForm->setOptions(array( @@ -723,7 +723,7 @@ class KTBrowseBulkExportAction extends KTBulkAction { $this->oZip = new ZipFolder($folderName); $res = $this->oZip->checkConvertEncoding(); - $folderurl = KTBrowseUtil::getUrlForFolder($this->oFolder); + $folderurl = $this->getReturnUrl(); $sReturn = sprintf('

' . _kt('Return to the original folder') . "

\n", $folderurl); if(PEAR::isError($res)){ @@ -757,7 +757,6 @@ class KTBrowseBulkExportAction extends KTBulkAction { $url = KTUtil::addQueryStringSelf(sprintf('action=downloadZipFile&fFolderId=%d&exportcode=%s', $this->oFolder->getId(), $sExportCode)); $str = sprintf('

' . _kt('Your download will begin shortly. If you are not automatically redirected to your download, please click here ') . "

\n", $url); - $folderurl = KTBrowseUtil::getUrlForFolder($this->oFolder); $str .= sprintf('

' . _kt('Once your download is complete, click here to return to the original folder') . "

\n", $folderurl); //$str .= sprintf("\n"); $str .= sprintf('