PHP
73
Вклад в тег
function(e) {
// отменяем привычное действие ссылки
e.preventDefault();
// добавляем класс loading
$(this).addClass("loading");
// переменной confirm_text присваиваем атрибут ссылки "Выход" с именем data-confirm или false
var confirm_text = $(this).data("confirm") || false;
// переменной method присваиваем атрибут ссылки "Выход" с именем data-method или get
var method = $(this).data("method") || "get";
// берем адрес ссылки для выхода
var url = $(this).attr("href");
// создаем пустой объект, будем использовать его для отправки данных на сервер
var post_data = {};
// если метод отправки = post, пробегаемся по всем атрибутам "data-post" ссылки "Выход" и заносим их значения с маленькой буквы в наш объект
if (method == "post") {
for (var i in $(this).data()) {
if (i.indexOf("post") === 0) {
post_data[i.replace(/^post/, "").toLowerCase()] = $(this).data(i)
}
}
}
var send = true;
// если у нас задан атрибут confirm_text (по всей видимости это alert-сообщение типа "Вы уверены что хотите выйти?"), то проверяем нажал ли пользователь "Да"
if (confirm_text) {
if (confirm(confirm_text)) {
send = true
} else {
send = false
}
}
// Если пользователь нажал "Да" или атрибут confirm_text не задан, то отправляем данные на сервер
if (send) {
$.ajax({
url: url,
cache: false,
dataType: "script",
type: method,
data: post_data
})
}
}
... а также почему если я перейду по ссылке toster.ru/auth/sign_out будет совсем не то, что я ожидаю (выход из аккаунта).
<img src="http://toster/sign-out">
и после захода на эту страницу все пользователи автоматом разлогинивались. SELECT LEFT(`name`, 1) `abc`, `id`, `name` FROM `persons` ORDER BY `name` ASC;
$data = [
['abc' => 'а', 'id' => 1, 'name' => 'Абрамов Михаил Фёдорович'],
['abc' => 'а', 'id' => 2, 'name' => 'Агутин Юрий Николаевич'],
['abc' => 'б', 'id' => 4, 'name' => 'Баринов Олег Юрьевич'],
];
$alphabet = [];
foreach ($data as $row){
$alphabet[$row['abc']][$row['id']] = $row['name'];
}
$alphabet = [
'а' => [
1 => 'Абрамов Михаил Фёдорович',
2 => 'Агутин Юрий Николаевич',
],
'б' => [
4 => 'Баринов Олег Юрьевич',
],
];
foreach($alphabet as $alpha => $rows){
echo '<h2>'.$alpha.'</h2>';
echo '<ul>';
foreach ($rows as $id => $name){
echo '<li><a href="/person?id='.$id.'">'.$name.'</a></li>';
}
echo '</ul>';
}
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=my_db',
'username' => 'db_user',
'password' => 'db_password',
// 'enableSchemaCache' => true,
// 'schemaCacheDuration' => 3600,
// 'tablePrefix' => '',
// 'charset' => 'utf8mb4',
// 'enableQueryCache' => true,
// 'queryCacheDuration' => 600,
],
backend && frontend && console
) нужно вынести в main-local.php в папке common
. А все файлы конфигурации настраивать в папке environments
и запускать php init
.