Иван Бондаренко

Иван Бондаренко

С нами с 30 января 2013; Место в рейтинге пользователей: #91

Резервное копирование сайтов в Яндекс Диск


Благодаря статье Михаила Воеводского заметил, что тема резервного копирования востребована в сообществе. Решил поделиться своим скриптом резервного копирования написанным на Python. Примечателен он тем, что полностью удовлетворяет закону импортозамещения заливает файлы на Яндекс Диск, раскладывая их по папочкам вида ГГГГ-ММ-ДД. Это не все его приятные особенности, вот список:

  • Умеет удалять старые бекапы с ЯДиска, если они старее чем N дней (настраивается в config.yaml)
  • Умеет удалять старые логи с сервера
  • Раскладывает бекапы на ЯДиске по папкам вида: ГГГГ-ММ-ДД
  • Бекапит системные папки: /etc/, /var/log/, /root/
Павел Гвоздь
26 июня 2016, 11:04
modx.pro
34
5 334
+14

Как сделать сортировку через select?

Пытаюсь сделать сортировку
<select id="mse2_sort" >
                            <option data-sort="ms_product|publishedon" data-dir="[[+mse2_sort:is=`resource|publishedon:desc`:then=`desc`]]" data-default="desc" class="sort">[[%mse2_sort_publishedon]]</option>
                            <option data-sort="ms|price" data-dir="[[+mse2_sort:is=``:then=`desc`]]" data-default="desc" class="sort [[+mse2_sort:is=``:then=`active`]]">[[%mse2_sort_price]]</option>
                        </select>
Как сделать, чтоб при выборе пункт, все заработало?) Заранее спасибо.
DimenSi
24 июня 2016, 22:37
modx.pro
11
4 109
0

Резервное копирование сайта на MODX в Google Диск

О необходимости резервного копирования сказано много. Мы в этой статье рассмотрим удобный и простой способ для серверов, настроенных по этой замечательной инструкции.

Итак, вводные данные:
  • Каждый сайт работает от своего пользователя;
  • Все сайты находятся в /var/www/ ;
  • Системное имя пользователя, имя пользователя БД и название БД совпадают.
Что нам нужно в результате:
  • Создание zip архива всего сайта и sql дампа БД в ~/backup
  • Подстановка даты в имя файлов
  • [Опционально] Закачивание всех архивов в Google Drive и удаление с сервера
Воеводский Михаил
24 июня 2016, 12:00
modx.pro
30
5 407
+21

Ошибка сессии в PHP7 при логине в менеджере

Столкнулся с ошибкой PHP session_start() при попытке залогиниться в менеджере (PHP 7 + MODX REVO 2.5.0). В результате войти в менеджер не получается — выбрасывает на страницу с формой входа без каких-либо сообщений. Чичтил куки, удалял кэш, очищал таблицу modx_session — результат тот же. Одновременно нет никаких проблем с логином в контекст web через Login. Раньше с авторизацией в менеджере все было в порядке. Перешел на PHP 5.6 авторизация заработала.

Лог PHP:
PHP Warning: session_start(): Session callback expects true/false return value in ...../core/model/modx/modx.class.php on line 2270

В журнале ошибок менеджера:
(ERROR @ ......../core/model/modx/moduser.class.php: 355) PHP warning: session_regenerate_id(): Cannot regenerate session id — session is not active

Кто-нибудь сталкивался с подобной проблемой? Хотелось бы работать на PHP7.
Юрий
20 июня 2016, 18:28
modx.pro
3
4 439
+1

ResVideoGallery

ResVideoGallery — адаптивная видеогалерея с Ajax-подгрузкой видео

Поддерживаются следующие видеохостеры:
— youtube.com;
— vimeo.com;
— dailymotion.com;
— rutube.ru;
— vk.com;
— coub.com


Видео-обзор

Больше информации на странице дополнения
Prihod
20 июня 2016, 15:52
modx.pro
9
9 826
+23

Просмотры, комментарии всех дочерних тикетов

Может кому-то пригАдится пригодится сниппет для подсчета всех дочерних тикетов, их комментариев и количества просмотров. Выводит информацию по всем дочерним тикетам, вне зависимости от иерархии и вложенности. Написан на очень скорую руку (точнее, переделан и собран из сниппетов Василия), так что, почти Франкенштейн… Мне сгодился для форума на сайте, построенного на Тикетсах, в силу того, что есть вложенные разделы тикетов в другие разделы тикетов.
Виктор Долгий
15 июня 2016, 12:22
modx.pro
13
2 479
+4

[msDigitalOffers] Продажа цифровых товаров (кодов)

Компонент реализует продажу цифровых товаров (например: ключей для игр).

Что умеет

— Добавление одного или списка кодов в товаре
— Учет проданных кодов в товаре
— Отправка кода на email покупателя

Компонент не может сам генерировать коды, для этого используйте msKuponator.
Логика именно в продаже существующих ключей, кодов, файлов.

Список кодов


but1head
10 июня 2016, 12:22
modx.pro
3
4 307
+9

И опять теги: теперь индексируемые

Здравствуйте.
Многие пользуются тегами, но вывод, в большинстве случаев, осуществляется на одной и той же странице с помощью перехвата (GET). Поэтому данные страницы нормально не ранжируются поисковиками. Предлагаю сделать иначе.
Борис И
09 июня 2016, 07:47
modx.pro
11
3 860
+7

Comparison: картинка-превью из ms2Gallery

Возникла необходимость использовать дополнение Comparison для сравнения обычных документов (не товаров Minishop). Для загрузки изображений используется дополнение ms2Gallery.

Задача: сделать так, чтобы превью для таблицы сравнения брались из изображений ms2Gallery.

Решение:

Шаг 1: Присоединяем таблицу с картинками через leftJoin. При этом указываем размеры превью. В моем случае это 206x117. Если у вас другие размеры — поставьте свои.

[[!CompareList?
	&leftJoin=`{
		"206x117": {"class":"msResourceFile","alias":"206x117", "on": "206x117.resource_id = modResource.id AND 206x117.path LIKE '%/206x117/' AND 206x117.rank=0"}
	}`
	&select=`{
		"modResource":"*"
		,"206x117":"206x117.url as 206x117"
	}`
]]
Шаг 2: В чанке оформления tpl.Comparison.head заменяем плейсхолдер [[+thumb]] на новый с размерами вашей картинки, т.е в моем случае [[+206x117]].

Наслаждаемся результатом.
Иван Бондаренко
04 июня 2016, 10:22
modx.pro
3
1 978
-2

Дополнительные поля профиля юзера (не extended)


Разрабатываю проект, в котором необходимо было реализовать более простое редактирование дополнительных полей профиля, чем есть из коробки. К слову, неудобное редактирование — это не единственный минус нативного способа расширения профиля полями. Ни для кого не секрет, что фильтрацию по JSON полям нормально не осуществить, только костылями. Фактически, мне надо было получить решение, которое бы расширяло стандартный код MODX, не трогая исходники, дабы сохранить карму в порядке возможность обновления системы.
Пришёл к выводу, что буду расширять стандартную вкладку профиля «Общая информация». При желании можно чуть переписать код в событии OnUserFormPrerender и создать свою вкладку со своими полями.
Павел Гвоздь
30 мая 2016, 22:36
modx.pro
115
19 574
+19