Skip to content

Instantly share code, notes, and snippets.

View alexsoin's full-sized avatar

Alex Soin alexsoin

View GitHub Profile
@alexsoin
alexsoin / modxAddUserInGroup.php
Created October 16, 2018 10:37
Добавление пользователя в группу
<?php
// получаем объект пользователя по id [ если нужно по имени то меняем на array('username' => 'Иван') ]
$user = $modx->getObject('modUser', array('id' => 2));
// если пользователь существует
if (is_object($user)) {
//получаем группу поимени
$group = $modx->getObject('modUserGroup', array('name' => 'Users'));
// создаем объект прав доступа пользователя
$groupMember = $modx->newObject('modUserGroupMember');
@alexsoin
alexsoin / modxAccessUserGroup.php
Created October 16, 2018 09:42
Скрипт для создания группы пользователей Users в MODX Revo
<?php
$policy_name = 'Users'; // Имя группы пользователей
$policy_data = '{"load":true,"list":true,"view":true,"save":true,"remove":true,"copy":true,"view_unpublished":false}';
$role_rank = 9999;
// Создаем новый шаблон политики доступа
$policy = $modx->newObject('modAccessPolicy');
$policy->fromArray(array(
'name' => $policy_name,
'description' => 'User access control',
@alexsoin
alexsoin / ajaxform_sweetalert.tpl
Last active September 12, 2018 04:18
ajaxform на анаболиках
{'!AjaxForm' | snippet : [
'snippet' => 'FormIt',
'form' => '@FILE chunks/callback.tpl',
'hooks' => 'spam,email,FormItSaveForm',
'frontend_js' => 'assets/libs/ajaxform-sweetalert/js/sweetalert.js',
'frontend_css' => 'assets/libs/ajaxform-sweetalert/css/sweetalert.css',
'emailSubject' => 'Сообщение из формы обратной связи',
'emailTo' => 1 | resource : 'email',
'validationErrorMessage' => 'В форме содержатся ошибки!',
'successMessage' => 'Сообщение успешно отправлено'
@alexsoin
alexsoin / get_users.php
Created August 29, 2018 09:27
Вывод списка пользователей сайта modx
<?php
$q = $modx->newQuery('modUser');
$q->innerJoin('modUserProfile', 'Profile');
$q->limit(0);
$q->select(array(
"Profile.*",
"modUser.*",
));
$s = $q->prepare();
$s->execute();
@alexsoin
alexsoin / rename_table_modx.php
Last active September 3, 2018 06:13
Скрипт переименования таблиц у modx (нужно изменить значение префикса в конфиге)
<?php
ini_set("max_execution_time", 0);
ignore_user_abort(true);
$current_prefix = $modx->config['table_prefix'];
function randPrefix($size) {
$chars="qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP";
$out_prefix=null;
while($size--) $out_prefix.=$chars[rand(0,StrLen($chars)-1)];
return $out_prefix;
}
@alexsoin
alexsoin / plugin_frontendmanager.php
Last active September 17, 2018 04:33
Отображение панельки frontendmanager на всех страницах и tpl
<?php
if (!$modx->user->hasSessionContext('mgr') || !$modx->user->isMember('Administrator')) return;
switch ($modx->event->name) {
case 'OnWebPagePrerender':
if (!$modx->resource->get('template')) break;
$frontendManager = $modx->getService('frontendmanager','frontendManager', MODX_CORE_PATH . 'components/frontendmanager/model/frontendmanager/', array());
if(!$frontendManager) return;
$modx->resource->_output .= $frontendManager->initialize($modx->context->key);
break;
case 'OnBeforeManagerPageInit':
@alexsoin
alexsoin / img_array_num.php
Last active July 1, 2023 20:32
Генерация картинок с изменяющимся значением
<?php
header("Content-type: image/jpeg"); // указываем на тип передаваемых данных
$root_dir = __DIR__; // корневая папка
$img = $root_dir."/nakl.png"; // указываем картинку фона PNG
$font = $root_dir."/ff.ttf"; // подрубаем шрифт
$font_size = 140; // размер шрифта
$center_w = 220; // отступ слева
$center_h = 680; // отступ справа
@alexsoin
alexsoin / removeMSOrder.php
Created March 13, 2018 07:47
Удаление заказа minishop2 modx из бд
<?php
$id_order = 9999; // id заказа который нужно удалить
$order = $modx->getObject('msOrder', $id_order);
$order->remove();
@alexsoin
alexsoin / .htaccess
Last active February 28, 2018 06:08
Настройка доступа к файлам каталога через авторизацию
AuthName "Need authorization"
AuthType Basic
AuthUserFile /home/www/name/.htpasswd
require valid-user
#AuthUserFile /home/www/name/.htapsswd
#AuthName "Private access"
#AuthType Basic
#<FilesMatch "name.txt">
@alexsoin
alexsoin / modxAccessManagerGroup.php
Last active July 21, 2021 11:49
Скрипт для создания менеджера в MODX Revo https://modx.pro/solutions/10026/
<?php
/*define('MODX_API_MODE', true);
require_once dirname(dirname(__FILE__)) . '/index.php';
$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_ERROR);
$modx->setLogTarget('FILE');*/
$NAME = 'manager';