Skip to content

Instantly share code, notes, and snippets.

View andronex's full-sized avatar

Andrey andronex

View GitHub Profile
@andronex
andronex / api.php
Last active July 24, 2023 11:30
MODX API для Яндекс Маркет плейсмаркета (Я.Маркет для партнёров) (MODX Revolution от 2.7.2-pl + miniShop2 от 2.5.0-pl)
<?php
/*
* API для Я.Маркет плейсмаркета
* by [email protected] / andronex
* интеграция от 12 т.р.
*/
//шлём заголовки
header('Access-Control-Allow-Origin: *');
header('Content-type: application/json; charset=utf-8');
@andronex
andronex / adminkaExtJS.php
Created January 28, 2021 21:58
Различные манипуляции с ExtJS в админке MODX Revolution с помощью плагина
<?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 December 18, 2020 14:17
Фильтрация с предсказанием кол-ва результатов. //TODO
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 September 2, 2020 20:53
Очистка таблицы сессий MODX Revolution
#!/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 June 28, 2020 16:29 — forked from DaveChild/ean_check.php
PHP Function to Validate EANs
<?php
/*
0346745008178
Should fail - checksum should be 9
5060096384137
Should pass
5020650002112
@andronex
andronex / get_all_cities.php
Created June 4, 2020 22:55
Вывод всех городов региональных поддоменов со ссылками на соответствующий поддомен (с разбивкой по алфавиту)
<?php
/*
* вызов {$_modx->runSnippet('@FILE snippets/get_all_cities.php', ['split' => 'А-Б,Г-Д,Е-Ж,З-И,Ш-Щ,Ф-Х'])}
* split - объединение букв для вывода городов
* шаблон вывода вшит в скрипт (при желании можно сделать параметром)
* название настройки контекста, содержащее название города, вшито в скрипт (при желании можно сделать параметром)
*/
$query = $modx->newQuery('modContext');
$query->leftJoin('modContextSetting', 'ContextSettings');
$query->where(array(
@andronex
andronex / getprices.php
Created May 14, 2020 23:32
Все цены из доп. TV в формате TVTable на одной странице
<?php
/*
* используется компонент TVTable
*/
$criteria = array();
$criteria['modTemplateVarResource.tmplvarid'] = 18;
$criteria['modTemplateVarResource.value:!='] = '';
$criteria['Resource.template:IN'] = array(9,10);
$criteria = $modx->newQuery('modTemplateVarResource', $criteria);
$tvrs = $modx->getCollectionGraph('modTemplateVarResource','{"Resource":{}}', $criteria);
@andronex
andronex / adminka.php
Last active October 5, 2022 10:08
Кастомизация админки
<?php
$eventName = $modx->event->name;
switch($eventName) {
case 'OnDocFormPrerender':
$script = '
if (MODx.loadRTE && Ext.getCmp(\'modx-resource-introtext\')) {
MODx.loadRTE(\'modx-resource-introtext\');
}
';
$modx->controller->addHtml('<script>
@andronex
andronex / NEW_TPL.php
Created February 26, 2020 11:21
Замена шаблона ресурса MODX налету в зависимости от авторизации пользователя или любых прочий условий
<?php
$is_admin = false;
switch ($modx->event->name) {
case 'OnWebPageInit':
if($modx->user->isAuthenticated('web')){
$is_admin = true;
}
if ($is_admin) {
//Устанавливаем ключ для кэша версии для админа
$modx->setOption('cache_resource_key', 'resource/is_admin');
@andronex
andronex / download.js
Last active February 16, 2020 00:10
Save page HTML to PDF and some IMAGES and PDF files attachment to results PDF using JavaScript / Сохраняем веб страницу из HTML в PDF и прикрепляем несколько произвольных IMAGE и PDF-файлов к результирующему PDF с помощью JavaScript на стороне клиента
/*
* USE
* <script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script>
* <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.5.3/jspdf.debug.js" integrity="sha384-NaWTHo/8YCBYJ59830LTz/P4aQZK1sS0SneOgAvhsIl3zBu8r9RevNg5lHCHAuQ/" crossorigin="anonymous"></script>
* <script src="https://mozilla.github.io/pdf.js/build/pdf.js"></script>
* and Library https://github.com/CodeSeven/toastr for open modal messages
*/
/****** this in up to code page ******/
var SERT_PDF = [],