Skip to content

Instantly share code, notes, and snippets.

@Electrica
Electrica / gist:075cc906489807318686dfd83ec53845
Created November 6, 2017 13:36
Вывод доставки отдельным столбцом
<?php
// Переопределяем метод и добавляем стоимость доставки.
class CustomOrder extends msOrderHandler{
public function getCost($with_cart = true, $only_cost = false) {
$response = $this->ms2->invokeEvent('msOnBeforeGetOrderCost', array(
'order' => $this,
@andronex
andronex / delete_old_sessions.php
Created October 2, 2017 20:33
Удаление старых сессий в таблице MODX посредством плагина, а не настройками PHP.
<?php
$rand = rand(1, 1000);
if ($rand === 1) {
$gcMaxlifetime = (integer) $modx->getOption('session_gc_maxlifetime', null, @ini_get('session.gc_maxlifetime'), true);
$access = time() - $gcMaxlifetime;
$modx->exec("
DELETE FROM {$modx->getTableName('modSession')} WHERE `access` < {$access};
OPTIMIZE TABLE {$modx->getTableName('modSession')};
");
$modx->log(modX::LOG_LEVEL_ERROR, 'clearOldSessions: old sessions have been removed.');
@Rachind
Rachind / modx-minishop2-carttable-row-cost-update.txt
Created May 1, 2017 08:48
Обновление суммы в строчке корзины miniShop2
Обновление суммы в строчке корзины miniShop2
Javascript:
---------------------------------
change: function () {
var callbacks = miniShop2.Cart.callbacks;
callbacks.change.response.success = function (response) {
var num_v = $('#'+response.data.key).find('input[name=count]').val();
var pri = $('#'+response.data.key).find('input[name=price]').val();
var td_pri = parseFloat(pri)*num_v;
@geforester
geforester / addplace7.4-http.sh
Last active February 3, 2022 22:41
Script for add non MODX site
#!/bin/bash
# MySQL root password
ROOTPASS='password'
TIMEZONE='Europe/Moscow'
MYSQLPASS=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12`
SFTPPASS=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12`
PASSWORD=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12`
##############
@geforester
geforester / remove-7.4.sh
Last active February 3, 2022 23:02
Ubuntu 10.04 (nginx + php5-fpm): remove site including user & database
#!/bin/bash
ROOTPASS='password'
echo "Enter username to delete:"
read USERNAME
mysql -uroot --password=$ROOTPASS -e "DROP USER $USERNAME@localhost"
mysql -uroot --password=$ROOTPASS -e "DROP DATABASE $USERNAME"
rm -f /etc/nginx/sites-enabled/$USERNAME.conf
@geforester
geforester / addsite-php7.0.sh
Last active February 3, 2022 23:09
Ubuntu 10.04 (nginx + php5-fpm): Install MODX 2.2 including user, virtual host, database
#!/bin/bash
# MySQL root password
ROOTPASS='password'
TIMEZONE='Europe/Moscow'
MYSQLPASS=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12`
SFTPPASS=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12`
PASSWORD=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c12`
##############
@vgrish
vgrish / msCart.tpl
Last active July 10, 2018 14:37
msopModification
{$_modx->lexicon->load('minishop2:product')}
<div id="msCart">
{if !count($products)}
{'ms2_cart_is_empty' | lexicon}
{else}
<div class="table-responsive">
<table class="table table-striped">
<tr class="header">
<th class="image">&nbsp;</th>
<?php
// обрабатываем только события OnPageNotFound, на случай, если отметили галкой и другие в настройках плагина
if ($modx->event->name != 'OnPageNotFound') {
return false;
}
// на случай, если у нас настройки кто-то менял, получаем значение переменной, через которую передаются ссылки в modx от веб-сервера
$alias = $modx->context->getOption('request_param_alias', 'q');
@antk25
antk25 / Вывод количества товаров в категории.php
Created September 5, 2016 14:15
Вывод количества товаров в категории minishop2 Сниппет получает сумму всех товаров в категории, с учетом мультикатегорий MS2. Можно указать нужную категорию параметром $parent.
<?php
if (empty($parent)) {$parent = $modx->resource->id;}
$pids = array_merge(array($parent), $modx->getChildIds($parent));
$ids = array();
$q = $modx->newQuery('msProduct');
$q->where(array('class_key' => 'msProduct','parent:IN' => $pids,'published' => 1,'deleted' => 0));
$q->select('`msProduct`.`id`');
if ($q->prepare() && $q->stmt->execute()) {
$ids = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
@antk25
antk25 / Вывод производителей товаров MS2.php
Created September 5, 2016 14:14
Вывод производителей товаров MS2 Сниппет получает всех производителей, у которых есть хоть один активный товар и выводит в виде селектбокса.
<?php
$q = $modx->newQuery('msVendor');
$q->innerJoin('msProductData', 'msProductData', '`msProductData`.`vendor` = `msVendor`.`id`');
$q->innerJoin('msProduct', 'msProduct', array(
'`msProductData`.`id` = `msProduct`.`id`',
'msProduct.deleted' => 0,
'msProduct.published' => 1
));
$q->groupby('msVendor.id');
$q->sortby('name','ASC');