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 / 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 / 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 / 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 / gist:41f169ca9acc913e262e4b5979cdcc0a
Created May 2, 2020 11:30
RegEX for replace version in projects
(@version\s*\t*|\<version\>)([0-9\.\-a-z_A-Z]+)
@kernusr
kernusr / readme.md
Last active April 13, 2020 09:32
Ручная загрузка заказов на сайт bitrix

1 - авторизоваться в админке

2 - перейти на https://{mysite}/bitrix/admin/1c_exchange.php?type=sale&mode=checkauth и получить sessid

3 - перейти на https://{mysite}/bitrix/admin/1c_exchange.php?type=sale&mode=init&sessid={sessid}

4 - скопировать файл заказа order.xml в /upload/1c_exchange

@kernusr
kernusr / getorderxml.php
Created April 7, 2020 21:27
Получаем xml заказа, как при обмене Bitrix
<?php
define("NO_AGENT_CHECK", true);
define("NO_KEEP_STATISTIC", true);
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
if (!$GLOBALS['USER']->IsAdmin()) {
die("Доступно только для администратора.");
}
@kernusr
kernusr / docker-compose.yml
Created March 22, 2020 23:33
docker-compose for joomla project
version: '3'
services:
joomla:
image: joomla
ports:
- 80:80
- 443:443
volumes:
- ./html:/var/www/html
environment:
@kernusr
kernusr / Uikit style fixes.less
Created January 27, 2020 10:16
Фиксим косяки ютима
//Переопределение цветов в dropdown-inverse
.hook-inverse() {
.uk-navbar-dropdown-nav > li.uk-active > a { color: @inverse-navbar-nav-item-active-color !important; }
.uk-navbar-dropdown-nav > li > a:hover { color: @inverse-navbar-nav-item-hover-color !important; }
}
@kernusr
kernusr / youtube_search_regex.php
Created January 15, 2020 10:46
Regular Expression to search for all known links to YouTube embedded in the HTML document code
$re = '~<a\s+(?:[^>]*?\s+)?href=(["\'])(https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube(?:-nocookie)?\.com\S*?[^\w\s-])([\w-]{11})(?=[^\w-]|$)[?=&+%\w.-]*)\1~ix';
$str = '<a href="http://youtu.be/NLqAF9hrVbY">asd</a>
<a href="http://www.youtube.com/embed/NLqAF9hrVbY">asd</a>
<a href="https://www.youtube.com/embed/NLqAF9hrVbY">asd</a>
<a href="http://www.youtube.com/v/NLqAF9hrVbY?fs=1&hl=en_US">asd</a>
<a href="http://www.youtube.com/v/NLqAF9hrVbY?fs=1&hl=en_US">asd</a>
<a href="http://www.youtube.com/watch?v=NLqAF9hrVbY">asd</a>
<a href="http://www.youtube-nocookie.com/NLqAF9hrVbY">asd</a>
<a href="http://www.youtube.com/user/Scobleizer#p/u/1/1p3vcRhsYGo">asd</a>
<a href="http://www.youtube.com/ytscreeningroom?v=NRHVzbJVx8I">asd</a>
@kernusr
kernusr / remove_iblock_elements.php
Created July 13, 2019 08:55
Удалить элементы инфоблока
// Выполнять в командной строке PHP
// Настройки>Инструменты>Командная PHP-строка
CModule::IncludeModule('iblock');
$arFilter=array('IBLOCK_ID'=>7);//ID инфоблока, который чистим
$arNavStartParams=array('nTopCount'=>1663);//Колчество элементов, удаляемых за один проход
$rsItems=CIBlockElement::GetList(array(), $arFilter, false, $arNavStartParams, array('ID'));
while($arItem = $rsItems->GetNext(false, false))
{
if(!CIBlockElement::Delete($arItem['ID']))
echo 'Ошибка удаления элемента '.$arItem['ID'] . PHP_EOL;