/** * Системный 301 редирект * * @param string $url ссылка, на которую надо перейти * @param string $msg текст сообщения, отображаемый после перехода * @param string $type тип перехода - ошибка, предупреждение, сообщение и т.д. * @return void */ public function redirect($url, $msg = '', $type = 'success') { $iFilter = joosInputFilter::instance(); $url = $iFilter->process($url); empty($msg) ? null : joosFlashMessage::add($iFilter->process($msg), $type); $url = preg_split("/[\r\n]/", $url); $url = $url[0]; if ($iFilter->badAttributeValue(array('href', $url))) { $url = JPATH_SITE; } if (headers_sent()) { echo "<script>document.location.href='{$url}';</script>\n"; } else { !ob_get_level() ?: ob_end_clean(); joosRequest::send_headers_by_code(301); joosRequest::send_headers("Location: " . $url); } exit; }
public static function save($redirect = 0) { joosCSRF::check_code(); $obj_data = joosAutoadmin::get_active_model_obj(); $save_result = $obj_data->save($_POST); $option = joosRequest::param('option'); if ($save_result !== true) { $errors = $obj_data->get_errors(); joosFlashMessage::add($errors, 'success'); joosAutoadmin::edit($obj_data, $obj_data); return; } switch ($redirect) { default: case 0: // просто сохранение joosRoute::redirect('index2.php?option=' . $option . '&menu=' . static::$active_menu, 'Всё ок!'); break; case 1: // применить joosRoute::redirect('index2.php?option=' . $option . '&menu=' . static::$active_menu . '&task=edit&id=' . $obj_data->id, 'Всё ок, редактируем дальше'); break; case 2: // сохранить и добавить новое joosRoute::redirect('index2.php?option=' . $option . '&menu=' . static::$active_menu . '&task=create', 'Всё ок, создаём новое'); break; } }
<?php defined('_JOOS_CORE') or exit; /** * Модуль информацинного сообщения * * @version 1.0 * @package Core\Modules * @author JoostinaTeam * @copyright (C) 2007-2012 Joostina Team * **/ if ($message = joosFlashMessage::get()) { echo '<div class="alert">' . $message . '</div>'; }