Skip to content

Instantly share code, notes, and snippets.

View kernusr's full-sized avatar
🏠
Working from home

Artem Vasilev kernusr

🏠
Working from home
View GitHub Profile
@kernusr
kernusr / lines.css
Created February 26, 2021 10:02
Расчертить страницу вертикальными линиями в фоне
.bg-vertical-lines {
background-image: linear-gradient(90deg, transparent, transparent, #414143 1.5px, transparent 1.5px),
linear-gradient(90deg, transparent, transparent 25%, #414143 calc(25% + 1.5px), transparent calc(25% + 1.5px)),
linear-gradient(90deg, transparent, transparent calc(50% - 1.5px), #414143 50%, transparent 0),
linear-gradient(90deg, transparent, transparent calc(75% - 1.5px), #414143 75%, transparent 0),
linear-gradient(90deg, transparent, transparent calc(100% - 1.5px), #414143 100%, transparent 0);
}
@kernusr
kernusr / waitForYm.js
Created March 3, 2021 11:57
Ожидание загрузки счетчика Яндекс.Метрики
/** Ожидание загрузки счетчика Яндекс.Метрики
* @param {?(number|string)} ymCounterNum - номер счетчика, если известен
* @param {function} callback - получает аргументами объект и номер счетчика
* @param {number} interval - интервал проверки готовности счетчика
*/
function waitForYm(ymCounterNum, callback, interval) {
if (!callback) return;
if (!ymCounterNum) {
let metrikaObj = (window.Ya && (window.Ya.Metrika || window.Ya.Metrika2)) || null;
ymCounterNum = (metrikaObj && metrikaObj.counters && (metrikaObj.counters() || [0])[0].id) || 0;
@kernusr
kernusr / simplexml_ex.php
Created March 17, 2021 10:10
Вставить один simplexmlelement в другой
<?php
class SimpleXMLElementEx extends SimpleXMLElement{
public function appendXML(\SimpleXMLElement $data): void
{
$name = $data->getName();
$nameSpaces = $data->getNamespaces(false);
$qualifiedName = $name;
$value = null;
@kernusr
kernusr / BaseTagsTranslations.php
Created April 15, 2021 22:24
Человекопонятные названия атрибутов
<?php
abstract class BaseTagsTranslations implements TagsTranslationsInterface{
static function getTagTranslation(string $key): string
{
switch ($key):
case 'UnstructuredName':
case 'UN':
return 'Неструктурированное имя';
case 'C':
@kernusr
kernusr / Example.php
Created April 15, 2021 22:26
Пример чтения подписи из файла
<?php
use Sop\ASN1\Element;
use Sop\ASN1\Type\Constructed\Sequence;
use Webmasterskaya\X509\Certificate\Certificate;
require_once __DIR__ . './vendor/autoload.php';
$content = file_get_contents(__DIR__ . '/Polozhenie.pdf');
@kernusr
kernusr / boubles_search_bx.js
Created June 18, 2021 09:17
Поиск дублей товаров в заказе в админке bitrix
if (typeof prods == 'undefined' || prods === null) {
let prods = {};
} else {
prods = {};
}
document.querySelectorAll('#sale_order_basketsale_order_view_product_table tbody[id*="sale_order_basketsale-order-basket-product-"] > tr:first-of-type').forEach(tr => {
let link = tr.querySelector('td:nth-of-type(2) > a');
if (!!link.href) {
let uri = new URL(link.href),
@kernusr
kernusr / installDependencies.php
Created July 19, 2021 09:15
Установка доп пакетов в Joomla по ссылке
<?php
protected function installDependencies($parent)
{
// Load installer plugins for assistance if required:
PluginHelper::importPlugin('installer');
$app = Factory::getApplication();
$package = null;
@kernusr
kernusr / README.md
Created July 19, 2021 11:57
Запрет индексации "Установки для разработки" Bitrix

Метод ограничивает доступ поисковых роботов к сайту

Как использовать

1 - Приведённый код вставить в файл init.php 2 - Перейти в Панельуправления > Настройки > Настройки продукта > Настройки модулей > Главный модуль 3 - Перейти на вкладку "Система обновлений" 4 - Активировать настройку "Установка для разработки" и сохранить

Результат

Содержимое файла robots.txt в корне сайта будет заменено на

@kernusr
kernusr / index.js
Created August 8, 2021 19:01
Print js object, format as PHP assoc array
function formatAsPhpArray(obj, depth = 0) {
let buffer = '[\n';
depth++;
Object.entries(obj).forEach(entry => {
const [key, val] = entry;
if (typeof val == 'object') {
buffer += '\t'.repeat(depth) + '"' + key + '" => ' + formatAsPhpArray(val, depth) + ',\n';
} else {
buffer += '\t'.repeat(depth) + '"' + key + '" => "' + val + '",\n';
}
@kernusr
kernusr / ai_change.md
Created October 11, 2021 07:41
Двигаем auto_increment в mysql

Посмотреть текущее значение AUTO_INCREMENT

SELECT `AUTO_INCREMENT`
FROM  INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'db_name'
  AND   TABLE_NAME   = 'table_name';

Поменять текущее значение AUTO_INCREMENT