xreturnable

xreturnable
5 followers

This behavior can create URLs that allow to return to a page by storing its GET Parameters on a stack.

Resources

The extension evolved from this forum discussion. Please add any comments or bug reports there.

Documentation

Installation

  • Extract the release file under protected/extensions
  • Attach the beahvior in the CController::init() method of any controller you want to use it.

Usage

Create an URL that contains all the GET parameter of the current page:

echo CHtml::link('A link',
    $this->createReturnableUrl('user/edit',array('id'=>124))
);

If you perform an action on the page user/edit you can use this code to return to the originating page:

$this->goBack()

or create a link to the originating page in the view with:

echo CHtml::link('Cancel',$this->getReturnUrl())

See the included demo for a more extensive example.

Change Log

Release 1.0.2, November 11, 2009

  • Fixed bug with multi-dim GET parameters (thanks to Márcio for supplying a fix)
  • Name of GET stack variable is now configurable with paramName

Release 1.0.1, July 13, 2009

  • Fixed bug with url compression and path format (thanks to robak for finding this)

Release 1.0.0, June 8, 2009

  • Initial release

Total 2 comments

#1531 report it
robak at 2009/07/05 11:10am
404 PageNot found Error

When using path url format I've got 404 error from web server.

My sollution: add urldecode and urlencode to urlCompress and Uncompress

public static function urlCompress($data) {
  return urlencode(base64_encode(addslashes(gzcompress(serialize($data),9))));
}

public static function urlUncompress($data) {
  return unserialize(gzuncompress(stripslashes(base64_decode(urldecode($data)))));
}
#1556 report it
velsa at 2009/06/24 12:07pm
how to install

how to install xReturnable

Leave a comment

Please to leave your comment.

Create extension