private static function save() { joosCSRF::check_code(1); /** * * Тут код выполнения задачи * */ joosDocument::instance()->set_page_title('Блоги')->add_meta_tag('description', 'Блоги'); joosBreadcrumbs::instance()->add('Блоги'); return array(); }
/** * Получение уникального ключа для значения пользовательской сессии * * @static * @param null $hash_key * @return string * * @todo добавить возможность работы через прокси, когда у пользователя меняется конечный IP, но единый IP прокси */ public static function session_cookie_value($hash_key = null) { $user_ip = joosRequest::user_ip(); $user_browser = joosRequest::server('HTTP_USER_AGENT', 'none'); $type = joosConfig::get2('session', 'type', 2); switch ($type) { case 1: $value = md5($hash_key . $user_ip); break; default: $value = joosCSRF::hash($hash_key . $user_ip . $user_browser); break; } return $value; }
?> <b class="caret"></b> </a> <ul class="dropdown-menu"> <li> <a href="<?php echo joosRoute::href('user_view', array('id' => $user->id, 'user_name' => $user->user_name)); ?> ">Перейти в профиль</a> </li> <li><a href="<?php echo joosRoute::href('user_edit'); ?> ">Настройки профиля</a></li> <li class="divider"></li> <li class="logout"> <form action="<?php echo joosRoute::href('logout'); ?> " method="post" id="m-auto_logout"> <button type="submit" class="btn">Выйти</button> <input type="hidden" name="<?php echo joosCSRF::get_code(1); ?> " value="1" /> </form> </li> </ul> </li> </ul>
/** * Разлогинивание епользователя */ public function logout() { joosCSRF::check_code(1); modelUsers::logout(); $return = joosRequest::param('return'); if ($return && !(strpos($return, 'registration') || strpos($return, 'login'))) { joosRoute::redirect($return); } elseif (isset($_SERVER['HTTP_REFERER'])) { joosRoute::redirect($_SERVER['HTTP_REFERER']); } else { joosRoute::redirect(JPATH_SITE); } }
?> </div> </div> </div> </section> <section id="admin-form_body"> <fieldset> <?php echo implode('', $_elements); ?> </fieldset> </section> </div> <?php //Выводим скрытые поля формы echo joosHtml::hidden($obj->get_key_field(), $obj_data->{$obj->get_key_field()}) . "\t"; // id объекта echo joosHtml::hidden('option', $option) . "\t"; echo joosHtml::hidden('model', joosAdminView::get_current_model()) . "\t"; echo joosHtml::hidden('menu', joosAutoadmin::get_active_menu_name()); echo joosHtml::hidden('task', '') . "\t"; echo joosHtml::hidden(joosCSRF::get_code(), 1) . "\t"; // элемент защиты от XSS ?> </form>
/** * Смена статуса (поля 'state') */ public static function publish_unpublish($state = 1) { joosCSRF::check_code(); $cid = (array) joosRequest::array_param('cid'); $option = joosRequest::param('option'); $obj_data = joosAutoadmin::get_active_model_obj(); $obj_data->set_state_group($cid, $state) ? joosRoute::redirect('index2.php?option=' . $option . '&menu=' . static::$active_menu, 'Выполнено успешно') : joosRoute::redirect('index2.php?option=' . $option . '&menu=' . static::$active_menu, 'Ошибка смены статуса'); }
<?php joosModuleAdmin::load_by_name('flash_message'); ?> <h6>Joostina CMS v2.x</h6> <form action="<?php echo JPATH_SITE_ADMIN; ?> /init.php" method="post" name="login_form" id="login_form" class="well"> <input name="user_name" id="user_name" type="text" class="input-medium" placeholder="Логин"> <input name="password" type="password" type="password" class="input-medium" placeholder="Пароль"> <button type="submit" class="btn btn-primary">Войти</button> <br /> <a href="#">Восстановить пароль</a> | <a href="<?php echo JPATH_SITE; ?> ">Перейти на сайт</a> <input type="hidden" value="1" name="<?php echo joosCSRF::get_code('admin_login'); ?> "/> </form> </div> </div> </div> <?php echo joosDocument::javascript(); ?> </body> </html>