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));
}
}