for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* @copyright Copyright (c) Flipbox Digital Limited
* @license https://github.com/flipbox/spark/blob/master/LICENSE
* @link https://github.com/flipbox/spark
*/
namespace flipbox\spark\helpers;
use Craft;
use craft\web\Controller as CraftWebController;
use yii\web\Controller as WebController;
use yii\web\Response;
* @author Flipbox Factory <[email protected]>
* @since 1.0.0
class ControllerHelper
{
* @param WebController $controller
* @param null $object
* @param string|null $default
* @return \yii\web\Response|\craft\web\Response
public static function redirectToPostedUrl(
WebController $controller,
$object = null,
string $default = null
): Response {
if ($controller instanceof CraftWebController) {
return $controller->redirectToPostedUrl($object, $default);
}
$url = Craft::$app->getRequest()->getValidatedBodyParam('redirect');
if ($url === null) {
if ($default !== null) {
$url = $default;
} else {
$url = Craft::$app->getRequest()->getPathInfo();
if ($object) {
$url = Craft::$app->getView()->renderObjectTemplate($url, $object);
return $controller->redirect($url);