Craft\RetourController::actionSaveRedirect PHP Method

actionSaveRedirect() public method

public actionSaveRedirect ( array $variables = [] )
$variables array
    public function actionSaveRedirect(array $variables = array())
    {
        $this->requirePostRequest();
        $redirectId = craft()->request->getPost('redirectId');
        if ($redirectId) {
            $record = craft()->retour->getRedirectById($redirectId);
        } else {
            $record = new Retour_StaticRedirectsRecord();
        }
        /* -- Set the record attributes, defaulting to the existing values for whatever is missing from the post data */
        $record->locale = craft()->language;
        $record->redirectMatchType = craft()->request->getPost('redirectMatchType', $record->redirectMatchType);
        $record->redirectSrcUrl = craft()->request->getPost('redirectSrcUrl', $record->redirectSrcUrl);
        if ($record->redirectMatchType == "exactmatch" && $record->redirectSrcUrl != "") {
            $record->redirectSrcUrl = '/' . ltrim($record->redirectSrcUrl, '/');
        }
        $record->redirectSrcUrlParsed = $record->redirectSrcUrl;
        $record->redirectDestUrl = craft()->request->getPost('redirectDestUrl', $record->redirectDestUrl);
        $record->redirectHttpCode = craft()->request->getPost('redirectHttpCode', $record->redirectHttpCode);
        $record->hitLastTime = DateTimeHelper::currentUTCDateTime();
        $record->associatedElementId = 0;
        $result = craft()->retour->saveStaticRedirect($record);
        if ($result === "" || $result === -1) {
            $this->redirectToPostedUrl($record);
        } else {
            /* -- Send the record back to the template */
            craft()->urlManager->setRouteVariables(array('values' => $record));
        }
    }