An Si

An Si

С нами с 11 июня 2013; Место в рейтинге пользователей: #177
An Si
12 июня 2015, 14:11
0
А так не прокатит? Без подмены тегов во всём документе.
<a href="#" onclick="document.location.href='http://ya.ru'">Внешняя ссылка</a>
An Si
12 мая 2015, 15:38
0
спасибо за совет… ещё поищу решения, если что-то придумаю, то отпишу.
An Si
12 мая 2015, 15:35
0
Спасибо Илья, ещё немного подумаю и, наверно, так и сделаю.
An Si
04 мая 2015, 13:09
0
Хотел кинуть issuse на GitHub, но проблема видимо не в Tickets. Прокомментируй пожалуйста, как думаешь, на чьей стороне проблема и корректно ли я её устраняю:

У Tickets не получается работать с Selectel потому что в файле /core/components/tickets/model/tickets/ticketfile.class.php в функции save(); не отрабатывает
$this->mediaSource->moveObject(); Зависает и всё. Пробовал заменить её на $this->mediaSource->renameObject(); Результат тот же.
И из консоли эти функции не отрабатывают с источником Selectel.

Пришлось делать такую конструкцию для загрузки файлов в облако из TicketForm:

if ($old_path!=$new_path) {
	
	// замена $this->mediaSource->moveObject();
	$fContent = $this->mediaSource->getObjectContents($old_path . $file);
	$this->mediaSource->createObject($new_path, $file, $fContent['content']);
	$this->mediaSource->removeObject($old_path . $file);

	$this->set('path', $new_path);
	$this->set('url', $this->mediaSource->getObjectUrl($new_path . $file));
}
Так Tickets работает как надо с Selectel.

PS Сравниваю старый путь и новый не просто так, я не углублялся почему так происходит, но при формировании превьюшки в форме создания тикета по логам видно что $old_path и $new_path совпадают — '0/'.
An Si
29 апреля 2015, 12:59
0
у меня не чистится без этого кода. Для обновления использую плагин https://modx.pro/components/4464-currencyrate-currency-exchange-rate/#comment-38471 а не кнопку Обновить в самом компоненте. Возможно в этом дело.
An Si
29 апреля 2015, 11:26
1
0
Я создал плагин для обновления раз в день и в нём после обновления очищаю кэш так:
$cacheOptions = array(xPDO::OPT_CACHE_KEY => 'crlist');
$modx->getCacheManager()->delete('crlist', $cacheOptions);
An Si
22 апреля 2015, 16:53
0
Я этот компонент нигде не выкладывал, да и написан он был на коленке, так что зря тут спрашиваешь. Посмотри в сторону Яндекс капчи или смотри файл /assets/components/realcaptcha/kcaptcha/index.php Мне кажется там класс modx.class.php не подключается по каким-то причинам. Проверь правильность пути к нему.
An Si
17 апреля 2015, 11:28
0
Ты про то, что если в течении месяца на сайте не будет посетителя, а потом бац и кто-то зашел в день последнего обновления месяц назад? Поправить не сложно, хотя имхо вероятность такого события очень мала. Даже если постетителей на сайте действительно не бывает, то поисковые боты постоянно будут заходить ;)
An Si
17 апреля 2015, 11:02
2
+2
мда, логично… затупил с утра. В общем, чтобы обновлять раз в день без крона можно создать плагин на событие OnLoadWebDocument. В плагине просто сравнивать день последнего обновления и сегодняшний день. Если они отличаются, то обновляем, иначе нет.

$lastDayUpdate = strftime('%d',strtotime($modx->getOption('currencyrate_last_date')));
if ($lastDayUpdate!=date('d')) {
    $currencyrate = $modx->getService('currencyrate', 'currencyrate', $modx->getOption('currencyrate_core_path', null, $modx->getOption('core_path') . 'components/currencyrate/') . 'model/currencyrate/');
    if (!($currencyrate instanceof currencyrate)) return '';
    $currencyrate->rateIntoDb();
}
return;
An Si
17 апреля 2015, 10:05
0
Подскажи пожалуйста, как можно обновить курс валют из сниппета. Хочу сделать обновление курса раз в день без использования крона.
An Si
14 апреля 2015, 12:11
0
Я пробовал. Выдаёт через jgrowl — Ошибка HTTP. Думал может вбил что не так. Ну всё равно было интересно узнать о таких возможностях.
An Si
14 апреля 2015, 10:30
0
Для Tickets эта инструкция не распространяется?