Александр Туниеков

Александр Туниеков

С нами с 19 декабря 2015; Место в рейтинге пользователей: #11
12 августа 2018, 22:56
0
у phpThumbOn качество по умолчанию стоит 0.9 и я его не менял. А вот OptiPic этот же файл сжал на 67%
12 августа 2018, 21:08
0
У меня при загрузке в ms2Gallery картинки не загружались. Поправил следующим образом.
В файле core/components/tinycompressor/model/tinycompressor/tinycompressor.class.php
это
function createTinyPNG() {

        require_once $this->config['modelPath'] . '/tinycompressor/lib/tinify/init_tinify.php';
        $this->tinyPNGClient = (empty(trim($this->config['tinyPNGApiKey'])) ) ? false : new Tinify\Client($this->config['tinyPNGApiKey']);
        $this->tinyPNGCrazyClient = new Tinify\CrazyClient();
        return true;
    }

    function createILovePDF()
    {
        require_once $this->config['modelPath'] . '/tinycompressor/lib/ilovepdf/init_ilovepdf.php';
        $this->iLovePDF = (empty(trim($this->config['iLovePDFProjectID'])) || empty(trim($this->config['iLovePDFProjectKey'])) ) ? false : new Ilovepdf\Ilovepdf($this->config['iLovePDFProjectID'], $this->config['iLovePDFProjectKey']);

        return true;

    }
заменил на это
function createTinyPNG() {

        require_once $this->config['modelPath'] . '/tinycompressor/lib/tinify/init_tinify.php';
        $t = trim($this->config['tinyPNGApiKey']);
        $this->tinyPNGClient = (empty($t) ) ? false : new Tinify\Client($this->config['tinyPNGApiKey']);
        $this->tinyPNGCrazyClient = new Tinify\CrazyClient();
        return true;
    }

    function createILovePDF()
    {
        require_once $this->config['modelPath'] . '/tinycompressor/lib/ilovepdf/init_ilovepdf.php';
        $t1 = trim($this->config['iLovePDFProjectID']);
        $t2 = trim($this->config['iLovePDFProjectKey']);
        $this->iLovePDF = (empty($t1) || empty($t2) ) ? false : new Ilovepdf\Ilovepdf($this->config['iLovePDFProjectID'], $this->config['iLovePDFProjectKey']);

        return true;

    }
Теперь работает, но сервис после phpTrumbOn картинки меньше не делает.


PageSpeed Insights ругается, что картинки можно сжать еще. В итоге компонент мне не подходит. Буду пробовать OptiPic
12 августа 2018, 18:54
0
Т.е. я не знаю зачем это нужно, поэтому удалю нафиг?
Да :). Там где это точно не на что не повлияет. Просто имя кеша будет другое и все. А в сам $scriptProperties не трогаю. Я ведь верно понимаю, что удаление из переменной $options внутри функции на $scriptProperties не влияет? И в остальном коде setTotal присутствует?
Не знаю в каких. Наверно не в каких, но если вдруг где-то еще кеш используется, то очистка зависимости имени файла кеша от request не помешает.
И вообще включите на гитхабе issue и я бы вообще в этот код не лез.
12 августа 2018, 18:10
0
Ну я хотел сначала issue, но не разобрался где оно там на гитхабе, а с пулл-регвест разобрался. На pdoTools issue кажется вообще заблокированы. Это во первых. Во вторых setTotal мне вообще не понятно зачем нужно и зачем оно именно в том месте. А request лучше в ядре удалить. Из-за него у всех сниппетов pdoTools проблемы с кешированием.
12 августа 2018, 17:00
0
Сделал пулл-регвест. https://github.com/bezumkin/pdoTools/pull/278 описание правда заново не стал писать. Надеюсь Василий разберется.
PS: кстати у меня открывается ваш сайт за ~400-500мсек.
А у меня время ответа сайта прыгает от 183 до 700 мс. В основном 180-195мс а иногда 300 или 700мс. debugParser ничего такого не показывает. У него от 100мс до 180мс. Как выяснить из-за чего прыгает?
06 августа 2018, 22:59
+1
Нашел 2 ошибки с кешем в pdoPage
06 августа 2018, 10:11
0
Зачем на главной вызов pdoPage, если нет пагинации?
Достаточно просто msProducts.
Пагинация есть. Кнопка загрузить еще. Только она когда вызываешь сниппет кешируемым не показывается. Кстати, если бы не это, то можно было бы вызвать pdoPage кешируемым и Total parse time 0.1153460 s. В рамки гугл бы укладывался. Но вот не работает пагинация.
06 августа 2018, 07:55
0
Спасибо не знал или уже забыл.
pdoPage все равно 88-93мс занимает. Его надо еще сокращать. Правда стало Total parse time 0.1874032 s. Но у гугла время ответа сервера от 210мс до 420мс. Как еще сократить время pdoPage?
06 августа 2018, 07:18
0
Спасибо за ответ.
js и css от компонентов можно тоже в minifyx загнать (не забыть отключить их в настройках или в вызове)
До этого еще просто не добрался. Завис на скорости ответа сайта.
Это очень плохо yadi.sk/i/rvBAyF2g3ZvLEq

Это вообще не понятно зачем такое. В модальном окне зум работает. Наверно разраб сайта под одну гребенку все сделал.
Не работал с Gallery, но на каждую картинку слайдера идет запрос на коннектор — отсюда короткое время кеширования. может есть там возможность уже готовый статичный путь получать?
Тоже удивило. Здесь еще не копался. Только стандартные параметры сниппета смотрел. Наверно напишу свой сниппет для вывода галереи. А то стандартный сниппет работает аж 50мс. Что он там делает столько времени не понятно :(.
Пока больше интересует скорость работы. Кто-нибудь замерял насколько феном убыстряет?
06 августа 2018, 07:04
0
У вас функционал похожий, но явно другой зачем-то табличка в базе создается и какое-то ограничение по пользователям и группам. А у меня все просто скрипт загружает чанк, что указали в параметрах и запускает модальное окно в нем. Если конечно оно там есть. И больше ничего не делает. Функционала на 2 часа работы :). И то в основном на то чтобы из modExtra лишнее вырезать и описание написать.
06 августа 2018, 01:05
0
Спасибо большое. Только добрался проверить. все работает.
03 августа 2018, 16:46
-1
Добрый день! На тикетах доска объявлений не очень. Всякие доп и платные функции сложно программировать.
09 июля 2018, 17:19
0
В плагине usertest сейчас
/*Адрес получателя нашего письма*/
		$teachers_email = explode(",",$teachers_email);
		foreach($teachers_email as $te){
			$modx->mail->address('to', trim($te));
		}
Можно вместо этого сделать примерно так:
switch($test['id']){
	case 1:
		$modx->mail->address('to', 'teacher1@mail.ru');
	break;
}
09 июля 2018, 17:12
0
Вот и придумали. В текущем плагине нету. Но переписать плагин для этого не сложно :).
09 июля 2018, 17:11
0
К сожалению, я чисто программист и подавать красиво не сильно умею :(. На практике, можно отправить отправку сообщения администратору. Что и сделано. Но в сообщении, можно, не только итоговый балл, как сейчас, отправлять но еще и отправить отчет со всеми ответами пользователя. Можно прикрутить счетчик пройденных тестов. Больше вариантов, пока, в голову не приходит :). Событие сделано чтоб программисты не лезя в основной код могли что угодно сделать по окончании сеанса тестирования. Мне в голову не приходит что еще можно, но Думаю что-нибудь оригинально придумают.
09 июля 2018, 16:12
0
Ну когда топик выкладываешь, лучше покупают. Обновление маленькое, но повод напомнить :). Стараюсь не спамить, но что-то по краю спама пошел :(. Извиняюсь если что не так.
25 июня 2018, 13:04
+1
Похоже я понял в чем косяк. $modx внутри функции вызывается. А внутри функции его нет. Попробуйте перед if (is_email($user['email'])) { вставить global $modx;

->each(function($user, $idx) {
       global $modx;
	 if (is_email($user['email'])) {
           $queue_email = $modx->newObject('EmailQueueItem');
25 июня 2018, 12:59
0
Поставил Cron Manager. Запустил такой код. И все успешно.
<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);


if (!$EmailQueue = $modx->getService('emailqueue', 'EmailQueue', $modx->getOption('emailqueue_core_path', null,
	$modx->getOption('core_path') . 'components/emailqueue/') . 'model/emailqueue/', array())) {
	return;
}
$user['email'] = 'a@b.ru';
$queue_email = $modx->newObject('EmailQueueItem');
$data1 = array(
	'sender_package'=>'UsersSend', //дополнение отправитель письма
	'to'=>$user['email'], //емаил
	'from_name'=>'Тест',
	'subject'=>'Поздравляем с Днём рождения!', // тема письма
	'body'=>$modx->getChunk('email_ru', $user), // тело письма
	'date'=>date("Y-m-d H:i:s"), // дата в очереди. Нужно чтоб письма удалялись по истечении срока хранения.
);
$queue_email->fromArray($data1);
if(!$queue_email->save())
	$modx->log(1,"Письмо для ".$user['email']." не удалось добавить в очередь писем!");
25 июня 2018, 12:35
0
Не работал с Cron Manager. По идее в нем не надо $modx подключать. он уже должен быть подключен. Надо разбираться. Так ничего не понятно. Мой скайп touols. Можите доступ скинуть?
странно что на $modx->getService не ругается