Skip to content

Instantly share code, notes, and snippets.

@qwertik17
qwertik17 / send_telegram.php
Created June 17, 2020 07:02
Отправка заказов в телеграм
if($modx->event->name != 'msOnCreateOrder') return;
$token = $modx->getOption('mstelegram_token', null, false);
$recipients = explode(',', $modx->getOption('mstelegram_recipients', null, ''));
$contacts = $modx->getObject('msOrderAddress', array('id'=> $msOrder->address));
$_products = $msOrder->getMany('Products');
$delivery = $msOrder->getOne('Delivery');
$payment = $msOrder->getOne('Payment');
@qwertik17
qwertik17 / subcategory_vendors.php
Created June 17, 2020 07:00
Поиск всех производителей в подкаталоге
<?php
$parent = 12791;
$parents = array_merge([$parent], $modx->getChildIds($parent, 10, ['context' => 'web']));
$template = [28];
$pdo = $modx->getService('pdoFetch');
$results = $pdo->getCollection('msProduct', [], [
'leftJoin' => [
'msProductData' => [
'class' => 'msProductData',
@qwertik17
qwertik17 / minishop2_notices_by_orders.php
Created June 17, 2020 06:58
Напоминание за 1 час о доставке заказа
<?php
define('MODX_API_MODE', true);
/** @noinspection PhpIncludeInspection */
require dirname(dirname(dirname(dirname(__FILE__)))) . '/index.php';
$emailTo = $modx->getOption('notice_emailTo');
$notice_period = $modx->getOption('notice_def');
if (!$emailTo || !$notice_period) return;
$notice_period = $notice_period * 60;
@qwertik17
qwertik17 / getTVvalues
Created June 17, 2020 06:54
Получаем все уникальные значения ТВ во всех ресурсах
<?php
$res = array();
$q = $modx->newQuery('modTemplateVarResource', array('tmplvarid' => $tv_id));
$template_id = 28;
$template_id = explode(',',$template_id);
$q->innerJoin('modResource', 'modResource', "modResource.id = modTemplateVarResource.contentid");
$q->select('contentid,value,modResource.template');
$q->where(array(
'modResource.template:IN' => $template_id,
'modResource.published' => 1,
@qwertik17
qwertik17 / add_new_products.php
Last active June 17, 2020 07:04
Добавляем и обновление товаров с сайта донора
<?php
define(PICTURE_UPLOAD_PATH, MODX_ASSETS_PATH . 'images/vhodnye/');
$mes = array();
$bravo = $modx->getService('bravo', 'bravo', MODX_CORE_PATH.'components/bravo/');
$data = $bravo->getImport(); //Весь каталог
$products = $bravo->getProducts($data); //Все товары с Браво
$colors = $bravo->getIdsColors($data); //Все цвета с Браво
$categories = $bravo->getCategoriesIds(); //Список категорий
$siteProducts = $bravo->getSiteProductsBravo([28]); //Все товары входных дверей с сайта
@qwertik17
qwertik17 / client_config
Created November 14, 2019 07:40
Add groups & fields for MODx ClientConfig
<?php
//СОЗДАНИЕ ИЛИ ОБНОВЛЕНИЕ ГРУПП
$groups = array(
array('id' => 1,'sortorder' => 1,'label' => 'Общие'),
array('id' => 2,'sortorder' => 2,'label' => 'Почта'),
array('id' => 3,'sortorder' => 3,'label' => 'Политика и куки'),
array('id' => 4,'sortorder' => 4,'label' => 'Социальные сети'),
);
foreach ($groups as $group)
@qwertik17
qwertik17 / webconnector.php
Created June 3, 2019 07:51
webconnector for ajax requests in frontend
<?php
require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/config.core.php';
require_once MODX_CORE_PATH . 'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService('error', 'error.modError', '', '');
$path = MODX_CORE_PATH.'components/ajax/processors/web/';
@qwertik17
qwertik17 / crm_class.php
Created June 3, 2019 07:15
Service crm
<?php
class mcrm {
public $baseUrl = "******";
public $resto_key = "****";
function __construct(modX &$modx, array $config = array())
{
$this->modx =& $modx;
@qwertik17
qwertik17 / custom_plugin.php
Created June 3, 2019 07:13
Custom plugin for resources modx revo
<?php
$id = $resource->get('id');
$currentRes = $modx->getObject('modResource', $id);
$template = $currentRes->get('template');
//Шаблон товара "Кухня"
if ($template == 13) {
$cg = 'k_color_groups';
$sg = 'k_style_groups';
@qwertik17
qwertik17 / domclick.php
Created June 3, 2019 07:08
Domclick feed for modx revo
<?php
require_once MODX_ASSETS_PATH . 'ArrayToXML.php';
$feeds = $developer = $complexes = $sales_info = array();
$site_url = $modx->getOption('site_url');
//Информация о застройщике
$developer['id'] = $developer_id;
$developer['name'] = $developer_name;
$developer['phone'] = $developer_phone;