Василий Наумкин

Василий Наумкин

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
05 февраля 2013, 13:35
0
Есть у меня мысль написать скрипт, который будет вообще всё настраивать одной командой.

Но времени на него нет, а ньюансов там много.
Василий Наумкин
05 февраля 2013, 05:45
0
Да это не то, чтобы решение, просто свой процессор для создания юзеров:
<?php
require MODX_CORE_PATH . 'model/modx/processors/security/user/create.class.php';

class UserCreateProcessor extends modUserCreateProcessor {
	public $classKey = 'modUser';
	public $languageTopics = array('user');
	public $permission = '';
	public $objectType = 'user';
	public $beforeSaveEvent = 'OnBeforeUserFormSave';
	public $afterSaveEvent = 'OnUserFormSave';

	public function beforeSet() {
		if (!$this->getProperty('email')) {
			return $this->addFieldError('email', $this->modx->lexicon('field_required'));
		}
		if (!$this->getProperty('username')) {
			return $this->addFieldError('username', $this->modx->lexicon('field_required'));
		}
		$this->setProperty('passwordnotifymethod', 's');
		$this->setProperty('passwordgenmethod', 'spec');
		$this->setProperty('specifiedpassword', md5($this->getProperty('email')));
		$this->setProperty('confirmpassword', md5($this->getProperty('email')));
		$this->setProperty('groups', '[{"usergroup":"2","role":"1"]}');
		$this->setProperty('active', false);

		return parent::beforeSet();
	}

}

return 'UserCreateProcessor';

Он не требует никаких прав для работы (см. переменную $permission), поэтому запускать его может кто угодно.
$response = $this->runProcessor('web/user/create', array(
	'username' => $email
	,'email' => $email
	,'fullname' => $email
));
Василий Наумкин
04 февраля 2013, 17:18
0
Я готового не знаю, тут работы на 10 минут.

Просто добавлять плагином в сессию id загружаемого ресурса, а потом это вывести, где нужно.
Василий Наумкин
04 февраля 2013, 17:16
0
1. Должно работать. Если используешь Tickets — то у них свой набор параметров, в котором надо это указать.

2. Указывай с /, то есть путь от корня.
Василий Наумкин
04 февраля 2013, 12:52
0
Очисти его в конце сниппета:
$pdoFetch->timings = array();
Василий Наумкин
04 февраля 2013, 12:39
0
У тебя на скриншоте написано «MODX could not create database...» В скрипте для работы нужно было указать пароль рута от mysql.

Всё, дальше сам — я устал помогать.
Василий Наумкин
04 февраля 2013, 12:26
0
По моему, нормальное решение.

Менять исходники библиотеки однозначно не хорошо.
Василий Наумкин
04 февраля 2013, 12:25
1
0
Нужно обновлять конфиг класса, ибо MODX его кэширует
$pdoFetch->config = array_merge($pdoFetch->config, $scriptProperties);

Смотри как сделано вот тут.
Василий Наумкин
04 февраля 2013, 12:23
0
Используй скрипты, они сами всё разложат и сделают, включая БД. Хранить эти скрипты лучше в /root/modx

Закачивать их на сервер вот так:
wget https://gist.github.com/raw/2179479/5b626bc233a2baf70b3e1b40aed04816a28f67d2/addsite.sh -O /root/modx/addsite.sh && chmod +x /root/modx/addsite.sh
update.sh, remove.sh

Потом прописываешь пароль от Mysql в начале файла и можно ставить сайты.
Василий Наумкин
04 февраля 2013, 12:18
0
Сейчас готовлю пакет с новой версией HybridAuth 2.1.1 — вроде как раз это и поправили.
Василий Наумкин
04 февраля 2013, 12:06
0
Решение проблемы с авторизацией на MODX Cloud простое, просто добавить в index.php
ini_set('apc.cache_by_default', 0);

Возможно, это же поможет и на Петерхосте.
Василий Наумкин
04 февраля 2013, 09:13
0
Обнови jquery. В версии 1.4.2 нет метода data, который используется в скрипте miniShop для отправки id товара в корзину.
Василий Наумкин
04 февраля 2013, 09:06
0
По умолчанию nginx создаёт свой пустой сайт + ты создал еще один.

Итого, 2 сайта на одном ip. Либо удали дефолтный, либо настрой домен, как я написал.

sudo rm /etc/nginx/sites-enabled/www.conf && sudo service nginx restart
Василий Наумкин
04 февраля 2013, 08:57
0
Если сайт один — должно работать просто по ip. Если больше, то надо настроить:.

— Пропиши любое имя у себя на компе в hosts и укажи ему твой ip.
— В nginx, соответственно, укажи отзываться на это имя и будет работать.
Василий Наумкин
04 февраля 2013, 08:45
0
1. adduser user sudo — и пользователь будет добавлен в группу sudo.
4. Смотри конфиги nginx, у тебя дублируется где-то директива.
6. Тут бэкапим — это просто копируем куда-нить, на всякий случай.
7. В чем трудность создать директорию?

Зачем тебе хостинг, если у тебя нет доменного имени? Как на твой сайт люди будут попадать?

На всякий случай проясню, что bezumkin.ru — это доменное имя, которое ведёт на сервер с сайтом. На одном сервере может быть куча сайтов с разными именами, но с одним ip.
Василий Наумкин
04 февраля 2013, 08:22
0
Каждый ТВ — это одна астрока в таблице.

Нужно 2 ТВ — таблицу придется джойнить 2 раза. Если получать ТВ по такой схеме, то рано или поздно будут тормоза джойнов, поэтому я и не стал делать работу с ТВ.

Вообще не люблю ими пользоваться, и чуть позже опишу способ, как обходиться без них, при выборке.
Василий Наумкин
03 февраля 2013, 23:20
0
Не использую Apache2, не могу подсказать.
Василий Наумкин
03 февраля 2013, 22:11
0
Да, проблема есть — буду разбираться.
Василий Наумкин
03 февраля 2013, 19:26
0
Спешал фор ю — modx.pro/hosting/648/