Skip to content

Instantly share code, notes, and snippets.

Avatar
🏠
Working from home

Artem Vasilev kernusr

🏠
Working from home
View GitHub Profile
@kernusr
kernusr / formatBytes.php
Last active Jul 29, 2022
Преобразует байты в удобно читаемый формат (KB, MB, UB и т.д.)
View formatBytes.php
<?php
/**
* @param int $bytes Число байт
* @param int $decimals Число знаков после запятой в ответе
*
* @return string Перобразованная в удобно читаемый формат строка
*/
function formatBytes(int $bytes, int $decimals = 2)
{
if ($bytes === 0)
@kernusr
kernusr / check_ssl_connection.php
Created Oct 13, 2021
Проверяет, есть ли проблема с SSL и дохлым DST ROOT CA X3 в Joomla
View check_ssl_connection.php
<?php
$ch = curl_init();
$options[CURLOPT_HTTPGET] = true;
$options[CURLOPT_NOBODY] = false;
$options[CURLOPT_CAINFO] = __DIR__ . '/libraries/src/Http/Transport/cacert.pem';
$options[CURLOPT_URL] = 'https://webmasterskaya.xyz';
$options[CURLOPT_HEADER] = true;
$options[CURLOPT_RETURNTRANSFER] = true;
@kernusr
kernusr / ai_change.md
Created Oct 11, 2021
Двигаем auto_increment в mysql
View ai_change.md

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

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

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

@kernusr
kernusr / index.js
Created Aug 8, 2021
Print js object, format as PHP assoc array
View index.js
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 / README.md
Created Jul 19, 2021
Запрет индексации "Установки для разработки" Bitrix
View README.md

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

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

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

Результат

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

@kernusr
kernusr / installDependencies.php
Created Jul 19, 2021
Установка доп пакетов в Joomla по ссылке
View installDependencies.php
<?php
protected function installDependencies($parent)
{
// Load installer plugins for assistance if required:
PluginHelper::importPlugin('installer');
$app = Factory::getApplication();
$package = null;
@kernusr
kernusr / boubles_search_bx.js
Created Jun 18, 2021
Поиск дублей товаров в заказе в админке bitrix
View boubles_search_bx.js
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 / Example.php
Created Apr 15, 2021
Пример чтения подписи из файла
View Example.php
<?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 / BaseTagsTranslations.php
Created Apr 15, 2021
Человекопонятные названия атрибутов
View BaseTagsTranslations.php
<?php
abstract class BaseTagsTranslations implements TagsTranslationsInterface{
static function getTagTranslation(string $key): string
{
switch ($key):
case 'UnstructuredName':
case 'UN':
return 'Неструктурированное имя';
case 'C':
@kernusr
kernusr / simplexml_ex.php
Created Mar 17, 2021
Вставить один simplexmlelement в другой
View simplexml_ex.php
<?php
class SimpleXMLElementEx extends SimpleXMLElement{
public function appendXML(\SimpleXMLElement $data): void
{
$name = $data->getName();
$nameSpaces = $data->getNamespaces(false);
$qualifiedName = $name;
$value = null;