diff --git a/e107_plugins/pm/pm_shortcodes.php b/e107_plugins/pm/pm_shortcodes.php index c6718a516a..51394649df 100644 --- a/e107_plugins/pm/pm_shortcodes.php +++ b/e107_plugins/pm/pm_shortcodes.php @@ -688,14 +688,35 @@ public function sc_pm_newpm_animate() } - public function sc_pm_nextprev($parm = null) + public function sc_pm_nextprev($parms = null) { if(empty($this->pmNextPrev['total'])) { return null; } + /** + * The NEW way. + * New parameter requirements formatted as a GET string. + * Template support. + */ + if(is_string($parms)) + {parse_str($parms, $parmsarray);} + else {$parmsarray = $parms; } - return e107::getParser()->parseTemplate("{NEXTPREV={$this->pmNextPrev['total']},{$this->pmPrefs['perpage']},{$this->pmNextPrev['start']},".e_SELF."?{$parm}.[FROM]}"); + foreach (['inbox', 'outbox'] as $key) { + if (array_key_exists($key, $parmsarray)) { + unset($parmsarray[$key]); + $parmsarray['type'] = $key; + break; + } + } + + if ($parmsarray['tmpl_prefix']) { + $string = 'tmpl_prefix='.$parmsarray['tmpl-prefix'].'&'; + } + +//// return e107::getParser()->parseTemplate("{NEXTPREV={$this->pmNextPrev['total']},{$this->pmPrefs['perpage']},{$this->pmNextPrev['start']},".e_SELF."?{$parm}.[FROM]}"); + return $this->tp->parseTemplate("{NEXTPREV={$string}total={$this->pmNextPrev['total']}&amount={$this->pmPrefs['perpage']}¤t={$this->pmNextPrev['start']}&url=?{$parmsarray["type"]}.--FROM--}"); }