Skip to content

Instantly share code, notes, and snippets.

Avatar

Andrey andronex

View GitHub Profile
@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
@andronex
andronex / get_all_cities.php
Created Jun 4, 2020
Вывод всех городов региональных поддоменов со ссылками на соответствующий поддомен (с разбивкой по алфавиту)
View get_all_cities.php
<?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
Все цены из доп. TV в формате TVTable на одной странице
View getprices.php
<?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 May 14, 2020
Кастомизация админки
View adminka.php
<?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 Feb 26, 2020
Замена шаблона ресурса MODX налету в зависимости от авторизации пользователя или любых прочий условий
View NEW_TPL.php
<?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 Feb 16, 2020
Save page HTML to PDF and some IMAGES and PDF files attachment to results PDF using JavaScript / Сохраняем веб страницу из HTML в PDF и прикрепляем несколько произвольных IMAGE и PDF-файлов к результирующему PDF с помощью JavaScript на стороне клиента
View download.js
/*
* 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 = [],
@andronex
andronex / index.html
Last active Nov 15, 2019
Экспорт/импорт товаров в/из файл(а) с закачкой на Я.Диск. Используется компонент msImportExport by @Prihod
View index.html
<div class="form">
<div class="progress" style="display: none;">
<div class="bar" style="width: 0%;"><span></span></div>
</div>
<a href="#" id="runScript" data-url="yandex/ya_import.php" class="btn" data-action="ajax">Импорт из Яндекс.Диска</a>
</div>
<div class="form">
<div class="progress" style="display: none;">
<div class="bar" style="width: 0%;"><span></span></div>
@andronex
andronex / action.php
Last active Nov 15, 2019
Обновление остатков товаров в системе MODX Revolution + miniShop2 из CRM Мой Склад
View action.php
<?php
/*
* коннектор по пути assets/components/moysklad/action.php
*/
require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/config.core.php';
define('MODX_REQP', false);
require_once MODX_CORE_PATH . 'config/' . MODX_CONFIG_KEY . '.inc.php';
require_once MODX_CONNECTORS_PATH . 'index.php';
$corePath = $modx->getOption('moysklad_core_path', null, $modx->getOption('core_path') . 'components/myskladlib/');
@andronex
andronex / autoTemplate.php
Created Oct 20, 2019 — forked from Realetive/autoTemplate.php
Plugin for setup template by parent resource
View autoTemplate.php
<?php
if ( $modx->event->name == 'OnDocFormRender' && $mode == modSystemEvent::MODE_NEW ) {
$template = $modx->runSnippet( 'pdoField', array(
"id" => $_REQUEST['parent']
, "field" => "template"
, "top" => 0
) );
switch ( $template ) {
case 1:
$template = 2;
@andronex
andronex / oasis_config.php
Last active Oct 14, 2019
Парсер товаров для импорта с oasiscatalog (аналог gifts.ru) для MODX Revolution v.2.6+ и miniShop2 v.2.4.10+
View oasis_config.php
<?php
//настройки для коннекта к oasiscatalog.com
$apiKey = '***********e64837b3502915***********'; // ключ доступа
$oasisUrlTree = 'https://api.oasiscatalog.com/v4/categories?format=json';
$oasisUrlProducts = 'https://api.oasiscatalog.com/v4/products?format=json&fieldset=full&fields=id,article,article_base,size,size_sort,stock_msk,attributes&not_on_order=1';
$oasisUrlProduct = 'https://api.oasiscatalog.com/v4/products/{PRODUCT_ID}';
//настройки для парсинга и установки шаблонов для создаваемых продуктов
$fileProductGroups = dirname(__FILE__).'/oasis_groups.txt';
$fileCatExist = dirname(__FILE__).'/oasis_category_exist.txt';
You can’t perform that action at this time.