Виталий Барышников

Виталий Барышников

С нами с 03 ноября 2015; Место в рейтинге пользователей: #165
Виталий Барышников
04 декабря 2016, 16:53
0
Ок, спасибо. Я так, мельком почитал (про безопасность), тоже думал, что с этим связано. Без параметров результат тот же, надеюсь автор поправит свой компонент.
Виталий Барышников
04 декабря 2016, 13:59
0
Не, не то, у меня итак из параметров только чанк для вывода.
Виталий Барышников
26 ноября 2016, 16:47
0
Привет. FA нормально работает на Modx 2.5.2? У меня после обновления не даёт скачивать (ни админу, ни анониму), права перепроверил, всё нормально с ними. До обновления работало.
{"success":false,"message":"\u0414\u043e\u0441\u0442\u0443\u043f \u0437\u0430\u043f\u0440\u0435\u0449\u0451\u043d.","total":0,"data":[],"object":{"code":401}}
Виталий Барышников
29 августа 2016, 09:15
0
А я ещё не успел добраться. Спасибо. Стоит ли ждать исправление в следующей версии или на своих костылях ходить?)
Виталий Барышников
27 августа 2016, 13:38
0
Ну да, прощай… Попробуем, спасибо. А можешь прокомментировать это решение, почему?
Виталий Барышников
27 августа 2016, 11:26
0
Могу ещё порекомендовать, с минимальными изменениями. Скопируйте JS-файл тикетсов, укажите к нему путь в системных настройках тикетов (так обновление не повлияет на этот файл).
В этот файл в самое начало добавьте проверку объекта и при отстутствии его объявление (настройки MarkItUp смените по желанию, тут они по умолчанию):
if (typeof TicketsConfig.editor == 'undefined') {
	TicketsConfig.editor = {
		ticket: {
			onTab: {keepDefault: false, replaceWith: "	"}
			, markupSet: [
				{name: "Bold", className: "btn-bold", key: "B", openWith: "<b>", closeWith: "</b>"}
				, {name: "Italic", className: "btn-italic", key: "I", openWith: "<i>", closeWith: "</i>"}
				, {name: "Underline", className: "btn-underline", key: "U", openWith: "<u>", closeWith: "</u>"}
				, {name: "Stroke through", className: "btn-stroke", key: "S", openWith: "<s>", closeWith: "</s>"}
				, {separator: "---------------"}
				, {
					name: "Bulleted List",
					className: "btn-bulleted",
					openWith: "	<li>",
					closeWith: "</li>",
					multiline: true,
					openBlockWith: "<ul>\n",
					closeBlockWith: "\n</ul>"
				}
				, {
					name: "Numeric List",
					className: "btn-numeric",
					openWith: "	<li>",
					closeWith: "</li>",
					multiline: true,
					openBlockWith: "<ol>\n",
					closeBlockWith: "\n</ol>"
				}
				, {separator: "---------------"}
				, {name: "Quote", className: "btn-quote", openWith: "<blockquote>", closeWith: "</blockquote>"}
				, {name: "Code", className: "btn-code", openWith: "<code>", closeWith: "</code>"}
				, {
					name: "Link",
					className: "btn-link",
					openWith: "<a href=\"[![Link:!:http://]!]\">",
					closeWith: "</a>"
				}
				, {name: "Picture", className: "btn-picture", replaceWith: "<img src=\"[![Source:!:http://]!]\" />"}
				, {separator: "---------------"}
				, {name: "Cut", className: "btn-cut", openWith: "<cut/>"}
			]
		}, comment: {
			onTab: {keepDefault: false, replaceWith: "	"}
			, markupSet: [
				{name: "Bold", className: "btn-bold", key: "B", openWith: "<b>", closeWith: "</b>"}
				, {name: "Italic", className: "btn-italic", key: "I", openWith: "<i>", closeWith: "</i>"}
				, {name: "Underline", className: "btn-underline", key: "U", openWith: "<u>", closeWith: "</u>"}
				, {name: "Stroke through", className: "btn-stroke", key: "S", openWith: "<s>", closeWith: "</s>"}
				, {separator: "---------------"}
				, {name: "Quote", className: "btn-quote", openWith: "<blockquote>", closeWith: "</blockquote>"}
				, {name: "Code", className: "btn-code", openWith: "<code>", closeWith: "</code>"}
				, {
					name: "Link",
					className: "btn-link",
					openWith: "<a href=\"[![Link:!:http://]!]\">",
					closeWith: "</a>"
				}
				, {name: "Picture", className: "btn-picture", replaceWith: "<img src=\"[![Source:!:http://]!]\" />"}
			]
		}
	};
}
//дальше ничего не изменено
var Tickets = {
	initialize: function() {
...
Виталий Барышников
25 августа 2016, 15:07
0
В общем-то сработал мой костыль. Вырезал из модели этот кусок с подключением скриптов:
$this->modx->regClientStartupScript('<script type="text/javascript">TicketsConfig.editor={ticket: ' . $this->modx->getOption('tickets.editor_config.ticket') . ',comment: ' . $this->modx->getOption('tickets.editor_config.comment') . '};</script>', true);
И руками вбил эти настройки во фрондендовский JS Tickets, в начало.
Ждемс более интересного решения и объяснения причины бага…
Виталий Барышников
25 августа 2016, 10:06
0
Да тут не только у нас ошибка, видел тоже темы, но без ответов… Не могу понять причём тут кэш. Получается при первом запуске после очистки код срабатывает и потом работает нормально всё время. НО потом я авторизуюсь на сайте и всё, на той же странице он уже не работает. Снова чищу — начинает работать, разлогиниваюсь — не работает, браузер игнорит объект. Позже попробую загнать объект в JS-файл, где инициализация идёт, вдруг что-то изменится.
Виталий Барышников
24 августа 2016, 10:16
0
Получается, что браузер почему-то не видит в одном из контекстов вот это кусок из HEADa:
<script type="text/javascript">TicketsConfig.editor={ticket: {onTab: {keepDefault:false, replaceWith:"	"}
		,markupSet: [
			{name:"Bold", className: "btn-bold", key:"B", openWith:"<b>", closeWith:"</b>" }
			,{name:"Italic", className: "btn-italic", key:"I", openWith:"<i>", closeWith:"</i>"  }
			,{name:"Underline", className: "btn-underline", key:"U", openWith:"<u>", closeWith:"</u>" }
			,{name:"Stroke through", className: "btn-stroke", key:"S", openWith:"<s>", closeWith:"</s>" }
			,{separator:"---------------" }
			,{name:"Bulleted List", className: "btn-bulleted", openWith:"	<li>", closeWith:"</li>", multiline:true, openBlockWith:"<ul>\n", closeBlockWith:"\n</ul>"}
			,{name:"Numeric List", className: "btn-numeric", openWith:"	<li>", closeWith:"</li>", multiline:true, openBlockWith:"<ol>\n", closeBlockWith:"\n</ol>"}
			,{separator:"---------------" }
			,{name:"Quote", className: "btn-quote", openWith:"<blockquote>", closeWith:"</blockquote>"}
			,{name:"Code", className: "btn-code", openWith:"<code>", closeWith:"</code>"}
			,{name:"Link", className: "btn-link", openWith:"<a href=\"[![Link:!:http://]!]\">", closeWith:"</a>" }
			,{name:"Picture", className: "btn-picture", replaceWith:"<img src=\"[![Source:!:http://]!]\" />" }
			,{separator:"---------------" }
			,{name:"Cut", className: "btn-cut", openWith:"<cut/>" }
		]},comment: {onTab: {keepDefault:false, replaceWith:"	"}
		,markupSet: [
			{name:"Bold", className: "btn-bold", key:"B", openWith:"<b>", closeWith:"</b>" }
			,{name:"Italic", className: "btn-italic", key:"I", openWith:"<i>", closeWith:"</i>"  }
			,{name:"Underline", className: "btn-underline", key:"U", openWith:"<u>", closeWith:"</u>" }
			,{name:"Stroke through", className: "btn-stroke", key:"S", openWith:"<s>", closeWith:"</s>" }
			,{separator:"---------------" }
			,{name:"Quote", className: "btn-quote", openWith:"<blockquote>", closeWith:"</blockquote>"}
			,{name:"Code", className: "btn-code", openWith:"<code>", closeWith:"</code>"}
			,{name:"Link", className: "btn-link", openWith:"<a href=\"[![Link:!:http://]!]\">", closeWith:"</a>" }
			,{name:"Picture", className: "btn-picture", replaceWith:"<img src=\"[![Source:!:http://]!]\" />" }
		]}};</script>
Виталий Барышников
24 августа 2016, 09:57
0
Привет. Удалось победить MarkItUp?
У меня тоже подключает после очистки кэша. Я нашел, что когда перестаёт подключать, что основной frontend JS-скрипт Tickets не видит настроек (не находит объект TicketsConfig.editor — undefined хотя этот кусок c настройками MarkitUp в head c этим объектом есть), из-за того что не видит объект в основном JS-скрипте он не может инициализировать MarkitUp.
$('#comment-editor').markItUp(TicketsConfig.editor.comment); // будет ошибка, т.к. объекта TicketsConfig.editor почему-то нет
Ещё странно, что после сброса кэша он подключается всегда нормально, но стоит залогинится — перестаёт. Чищу кэша, когда я залогинен — начинает работать. Работает, пока я залогинен, когда разлогиниваюсь — отрубается. Снова чищу кэш и он снова работает, когда я разлогинен. В общем работает после чистки кэша только когда я только залогинен, либо только разлогинен.
Виталий Барышников
04 августа 2016, 03:03
0
Привет. Через форму можно указать тип, но не размер. Это вообще очень плохой способ, на уровне вёрстки и поддержки браузером.
<input type="file" name="photo" multiple accept="image/*,image/jpeg">
Всё конечно же нужно проверять на сервере.
Тут лучше взять компонент типа AjaxUpload, Uploadify, FileAttach или ms2gallery, там у них есть настройки для размеров и типов, выбирайте для своих задач.
Виталий Барышников
01 августа 2016, 14:26
0
Смотрел Mapex2, но где его можно пощупать? Leaflet (LL) пользует карты OpenStreetMap они как-то поинтереснее, без лишнего и посвежее. Ещё там есть плагин такой для LL, что можно загружать профиль трека с GPSа (потом выводить график изменения высоты), либо наоборот скачать себе трек для навигатора (формат GPX).


Виталий Барышников
06 июня 2016, 06:32
1
0
Не, не в core дело было. Это видимо случилось после обновления modx. Я заново переустановил все дополнения, ошибок больше не вижу, кэш чистится. B еще в htaccessах добавил:
RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://mysite.ru/manager/$1
Без этого тоже кое-что в менеджере не отображалось
Виталий Барышников
04 июня 2016, 07:46
0
Привет, не подскажешь как фотки дёрнуть по https (app_id, secret и access_token в настройки ввёл)
вызываю:

$photosObj = $modx->vk->api('photos.get', array(
    'album_id' => '*****184',
    'owner_id' => '*****71',
    'count' => $limit,
    'photo_sizes' => '1'))[response];
Прилетают http.
Виталий Барышников
02 июня 2016, 16:16
0
Я его ковырял, да. Но не пойму как потом файлы удалить. Это ведь хук надо делать, который надо после mail вызвать, а в нём я и не понял что писать, хотя метод-то есть на удаление у AjaxUpload, но как его вызвать я не понял (не понимаю как правильно инициализировать компонент и прочее). Разраб AjaxUpload мне не ответил, я спрашивал.
Виталий Барышников
02 июня 2016, 16:12
0
Ладно, всё, я понял, что свои проблемы буду решать сам или их решит cash животворящий)
Виталий Барышников
02 июня 2016, 16:04
0
Ну это скорее хобби, для себя и для своих, не коммерческие дела. А так интересно, но из-за основной работы времени на углубление нет. Чужой код ковыряю, иногда понимаю, иногда нет.
Виталий Барышников
02 июня 2016, 15:39
0
Проблема в том, что я не разработчик. И почти не шарю и скорее всего таких как я много, а решения нигде нет. Сам пытался срастить несколько раз, но неудачно, куча времени без выхлопа. Хотя мне бы на 2х сайтиках это бы пригодилось. Тут ведь важно для безопасности именно на сервере их проверить (размер, тип, количество, переименование). Короче мое дело предложить. Мож кто из блогеров солюшн напишет по этой теме.
Виталий Барышников
02 июня 2016, 15:25
0
Приветствую. Может компонент-форма обратной связи для сайта (на базе Formit+AjaxForm) с аттачем файлов (нескольких) и их отправкой (чтобы анонимы могли этой формой пользоваться тоже). Красивая загрузка файлов, прогресс, drag&drop, c ограничением по объему, количеству и типу файлов. А после удачной отправки или таймаута файлы с сервера удалять.