function shuffle_assoc($list) {
if (!is_array($list)) return $list;
$keys = array_keys($list);
shuffle($keys);
$random = [];
foreach ($keys as $key)
$random[$key] = $list[$key];
return $random;
}
Class GarbageStorage{
private static $globalStorage = [];
public static function set ($storageName, $variableValue){ self::$globalStorage[$storageName] = $variableValue;}
public static function get ($storageName){ return self::$globalStorage[$storageName];}
}
соответственно использование
\GarbageStorage::set("SomeIdentificator", $arResult["ID"]); // Устанавливаем значение
\GarbageStorage::get("SomeIdentificator"); // Получаем значение
- Количество элементов на странице PAGE_ELEMENT_COUNT Указывается количество элементов, отображаемых на одной странице.
- Количество элементов, выводимых в одной строке LINE_ELEMENT_COUNT Указывается количество элементов, выводимых в одной строке таблицы. Данный параметр недоступен для шаблона vertical.
- Период выборки (дней) PERIOD Указывается период выборки (количество дней) для построения списка самых продаваемых товаров.
let editButton = $("#edit-button");
editButton.on('click', function () {
let articleId = $(this).attr("article-id"); // Здесь будет храниться идентификатор записи, которую хотите отредактировать (article-id произвольное название)
$("#genElement").load("/api/v1/article-edit.php?ID=" + articleId); // genElement - пустой блок на странице, куда будем получать модальное окно
});
// Подробнее: https://api.jquery.com/load/
<!-- Сюда будет приходить наше модальное окно -->
<div id="genElement">
</div>
- Проверить в файле dbconn.php на наличие параметра set_time_limit
- Проверить php.ini на наличие аналогичной установки - max_execution_time (помните, то, что указано в dbconn.php имеет приоритет перед тем, что написано в php.ini
- Значение memory_limit также может влиять на это дело.
html {
scroll-behavior: smooth;
}
// Проходимся по всем элементам "linkList", и делаем выборку по ссылкам (a с атрибутом href, который равен "#")
const anchors = document.querySelectorAll('.linkList a[href*="#"]')
for (let anchor of anchors) {
anchor.addEventListener('click', function (e) {
e.preventDefault()
const blockID = anchor.getAttribute('href').substr(1)
document.getElementById(blockID).scrollIntoView({
behavior: 'smooth',
block: 'start'
})
})
}
const GROUP_ID = SOME_GROUP_ID;
const mentionPattern = new RegExp(
String.raw`^(?:\[-${GROUP_ID}\|[^\]]+\])(?:[\s.,\'\"!?\-+]+|$)`,
'i'
);
vk.updates.on('message', (context, next) => {
if (context.isChat && !mentionPattern.test(context.text)) {
return;
}
if (context.text) {
context.text = context.text.replace(mentionPattern, '');
}
return next();
});
<button id="addcolumn">Add Column</button>
<button id="addrow">Add Row</button>
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<thead id="theads">
<tr>
<th class="th" contenteditable>Heading</th>
<th class="th" contenteditable>Heading</th>
</tr>
</thead>
<tbody id="tbody">
</tbody>
</table>
$(document).ready(function () {
var $cell = $('<td>', {
'class': 'td',
'align': 'center',
'contenteditable': '',
'text': 'Content'
});
var $header = $('<th>', {
'class': 'th',
'contenteditable': '',
'text': 'Heading'
});
$('#addcolumn').click(function() {
$header.clone().appendTo('thead tr');
$cell.clone().appendTo('tbody tr');
});
$('#addrow').click(function(){
var $row = $('<tr>');
$('th').each(function() {
$cell.clone().appendTo($row);
});
$row.appendTo('tbody');
});
});
ul {
padding: 0;
margin: 0;
list-style-type: none;
}
ul li {
display: block;
overflow: hidden;
position: relative;
}
.item__name {
display: inline-block;
position: relative;
}
.item__name:after {
content: '';
position: absolute;
left: 100%;
right: -9999px;
bottom: 0;
border-bottom: 1px dotted #888;
}
.left {
width: 80%;
overflow: hidden;
position: relative;
float: left;
}
.item__value {
width: 20%;
float: right;
}
<ul>
<li>
<div class="left">
<span class="item__name">Первый пункт</span>
</div>
<span class="item__value">Значение</span>
</li>
<li>
<div class="left">
<span class="item__name">Второй пункт</span>
</div>
<span class="item__value">Значение</span>
</li>
<li>
<div class="left">
<span class="item__name">Третий пункт</span>
</div>
<span class="item__value">Значение</span>
</li>
</ul>
<input id="input-id" />
let selectedInput = document.querySelector("#input-id");
selectedInput.addEventListener("input", function() {
if (this.value[0] != '@') {
this.value = '@' + this.value;
}
});