Skip to content

Instantly share code, notes, and snippets.

Avatar

Andrey andronex

View GitHub Profile
@andronex
andronex / .htaccess
Created Sep 12, 2022
Редиректы с маршрутизацией статического сайта
View .htaccess
DirectoryIndex index.php
RewriteEngine On
RewriteBase /
# Rewrite www.example.com -> example.com
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
# Force rewrite to https for every host
@andronex
andronex / createdBy.plugin.php
Created Feb 1, 2022 — forked from matdave/createdBy.plugin.php
MODX change author plugin
View createdBy.plugin.php
<?php
/**
* Plugin to add a "created by" field on a resource form and moves "published on" to document tab
*
* @var modX $modx
* @var array $scriptProperties
*
* @event OnDocFormPrerender
*/
$dateFormat = $modx->getOption('manager_date_format',null,'d.m.Y');
@andronex
andronex / watch.sh
Created Jul 5, 2021
Перезапуск MySQL в докере при падении
View watch.sh
#!/bin/bash
a=`ps ax|grep 3310|grep -v grep|wc -l`
echo $a
if (( "$a" < 1 )); then
/usr/bin/docker start 21ab17aeab7b
fi
@andronex
andronex / sheet.php
Created Jun 10, 2021
Синхронизация остатков товаров с Гугл таблицами по номеру ячейки (MODX Revolution)
View sheet.php
<?php
/*
* на основе статьи https://pocketadmin.tech/ru/%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0-%D1%81-4-%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B5%D0%B9-api-google-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D1%8B-%D0%BD%D0%B0-php/
* библиотека wget https://github.com/googleapis/google-api-php-client/releases/download/v2.7.2/google-api-php-client-v2.7.2-PHP7.0.zip
* номер ячейки, из которой следует брать остатки товара, указывается в TV поле товара
* остатки записываются в другое TV поле (при желании можно записать хоть куда)
*/
if (!isset($modx)) {
define('MODX_API_MODE', true);
while (!isset($modx) && ($i = isset($i) ? --$i : 10)) {
@andronex
andronex / portobello_config.php
Created Apr 2, 2021
Парсер товаров с сайта поставщика portobello.ru для MODX Revolution от 2.6.5-pl + miniShop2 от 2.4.12-pl / можно запускать как из браузера с offset, так из консоли или по cron
View portobello_config.php
<?php
//настройки для коннекта к portobello.ru
$portobelloUrlTree = 'https://portobello.ru/export/new-products.xml'; //весь каталог товаров
$portobelloUrlStock = 'https://portobello.ru/export/new-products-quantity.xml'; //наличие товаров
//настройки для парсинга и установки шаблонов для создаваемых продуктов
$fileProductGroups = dirname(__FILE__).'/portobello_groups.txt';
$fileCatExist = dirname(__FILE__).'/portobello_category_exist.txt';
//настройки для обработки товаров
@andronex
andronex / api.php
Last active Jul 7, 2021
MODX API для Яндекс Маркет плейсмаркета (Я.Маркет для партнёров) (MODX Revolution от 2.7.2-pl + miniShop2 от 2.5.0-pl)
View api.php
<?php
/*
* API для Я.Маркет плейсмаркета
* by i.modx@ya.ru / andronex
* интеграция от 12 т.р.
*/
//шлём заголовки
header('Access-Control-Allow-Origin: *');
header('Content-type: application/json; charset=utf-8');
@andronex
andronex / adminkaExtJS.php
Created Jan 28, 2021
Различные манипуляции с ExtJS в админке MODX Revolution с помощью плагина
View adminkaExtJS.php
<?php
$eventName = $modx->event->name;
switch($eventName) {
case 'pdoToolsOnFenomInit':
$fenom->addModifier('lazy', function ($html) use ($modx) {
libxml_use_internal_errors(true);
$dom = new DOMDocument();
$dom->loadHTML('<?xml encoding="utf-8" ?>' . (string)$html);
$output = $html;
//img
@andronex
andronex / script.js
Last active Dec 18, 2020
Фильтрация с предсказанием кол-ва результатов. //TODO
View script.js
var mSearch2 = {},
selectorFilter = '.js-filter',
selectorInput = selectorFilter+' input',
selectorClear = selectorFilter+' .js-filter-clean',
selectorExe = selectorFilter+' .js-execute',
selectorToggle = selectorFilter+' .js-filter-toggle',
selectorFormWrap = selectorFilter+' .js-filter-form-wrap',
selectorRows = '.js-rows';
mSearch2.Hash = {
get: function() {
@andronex
andronex / session.sh
Created Sep 2, 2020
Очистка таблицы сессий MODX Revolution
View session.sh
#!/bin/bash
#запускать скрипт каждую ночь
/usr/bin/mysql -pПАРОЛЬ -uЛОГИН ИМЯ_БД <<EOF
DELETE FROM modx_session WHERE access <UNIX_TIMESTAMP(DATE_SUB(now(), INTERVAL 4 DAY)); #удалять записи старше 4-х дней
OPTIMIZE TABLE modx_session;
EOF
@andronex
andronex / ean_check.php
Created Jun 28, 2020 — forked from DaveChild/ean_check.php
PHP Function to Validate EANs
View ean_check.php
<?php
/*
0346745008178
Should fail - checksum should be 9
5060096384137
Should pass
5020650002112