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

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

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Евгений Борисов
05 сентября 2018, 14:12
3
0
DatabaseCustomURL http://www.rfxn.com/downloads/rfxn.ndb
DatabaseCustomURL http://www.rfxn.com/downloads/rfxn.hdb
DatabaseCustomURL http://ftp.swin.edu.au/sanesecurity/junk.ndb
DatabaseCustomURL http://ftp.swin.edu.au/sanesecurity/phish.ndb
DatabaseCustomURL http://ftp.swin.edu.au/sanesecurity/rogue.hdb
DatabaseCustomURL http://ftp.swin.edu.au/sanesecurity/foxhole_filename.cdb
DatabaseCustomURL http://ftp.swin.edu.au/sanesecurity/foxhole_generic.cdb
DatabaseCustomURL http://ftp.swin.edu.au/sanesecurity/foxhole_js.cdb
DatabaseCustomURL http://ftp.swin.edu.au/sanesecurity/badmacro.ndb
DatabaseCustomURL http://ftp.swin.edu.au/sanesecurity/scam.ndb
DatabaseCustomURL http://ftp.swin.edu.au/sanesecurity/sanesecurity.ftm
DatabaseCustomURL http://ftp.swin.edu.au/sanesecurity/sigwhitelist.ign2
DatabaseCustomURL http://cdn.malware.expert/malware.expert.ndb
DatabaseCustomURL http://cdn.malware.expert/malware.expert.hdb
DatabaseCustomURL http://clamav.bofhland.org/bofhland_cracked_URL.ndb
DatabaseCustomURL http://clamav.bofhland.org/bofhland_malware_URL.ndb
DatabaseCustomURL http://clamav.bofhland.org/bofhland_malware_attach.hdb
DatabaseCustomURL http://clamav.bofhland.org/bofhland_phishing_URL.ndb
Туда же
Евгений Борисов
04 сентября 2018, 15:21
1
0
Увы, но айболит не самое лучшее решение. Они анализируют файлы по регулярным выражениям. В итоге точность детекта в лучшем случае 90%. Я предпочитаю ClamAV с базами SecuriteInfo
Володя
12 ноября 2017, 19:40
6
+4
— создаем настройку в медиасорс hideSource булево. Задаем в да.
— плагин на OnMediaSourceGetProperties
$properties = json_decode($properties, true);
if (!empty($properties['hideSource']) AND !empty($properties['hideSource']['value']) AND $_REQUEST['node'] == '/') {
    die('{}');
}
все.

ps. посмотрев в $_REQUEST можно увидеть переменные и продумать скрытие в дереве, в окне и тд…
как фантазия ваша разыграется.
Василий Наумкин
10 октября 2017, 12:39
6
+5
Если покопаться в MODX API то можно научиться выводить любой ресурс в плагине на нужном событии:
$modx->resource = $modx->getObject('modResource', $modx->getOption('site_start'));
$modx->resource->set('content', $pdoTools->runSnippet('@FILE snippets/get_panel.php'));
$modx->request->prepareResponse();
Здесь, как видно, еще и замена контента на свой идёт, на лету.

Можно так на лету и виртуальные ресурсы делать, со своими pagetitle и прочими свойствами. При желании, можно вообще весь сайт без ресурсов сделать =)
Виталий
22 декабря 2016, 09:41
2
+1
Спасибо, Евгений!

тоже думал в этом направлении

Павел подсказал такое решение:
[[!pdoPage?
		&element=`msProducts`
		 &select=`["ROUND(((old_price - price) / old_price) * 100) as price_percentage"]`
		&sortby=`price_percentage`
		&sortdir=`DESC`
	]]
Василий Наумкин
06 сентября 2016, 10:40
3
+1
Ну тогда rewrite должен решить все твои проблемы.
location ~* ^/en/assets/images/ {
    rewrite	^/en/assets/images/(.*)    /assets/images/$1 permanent;
}

Кстати, можно сделать еще круче — без редиректа, а просто подставляя нужную директорию, вот так:
location ~* ^/en/assets/images/(.*) {
    alias /полный_путь_к_файлам_от_корня_сервера/assets/images/$1;
}
Володя
05 августа 2016, 22:35
21
+5
можно добавить так
создать плагин на pdoToolsOnFenomInit, в нем добавить модификатор detector
<?php
switch ($modx->event->name) {
    case 'pdoToolsOnFenomInit':
    if (!$fenom = $modx->getOption('fenom', $scriptProperties)) {
        return;
    }
    if (!$MobileDetect = $modx->getService('mobiledetect', 'MobileDetect', MODX_CORE_PATH . 'components/mobiledetect/')) {
	    return;
    }
    
    $key = $MobileDetect->config['force_browser_variable'];
    $device = !empty($_GET) && array_key_exists($key, $_GET)
		? $modx->stripTags($_GET[$key])
		: '';
	if (empty($device)) {
	    $device = $MobileDetect->getSettings();
    }
    if (empty($device)) {
        $detector = $MobileDetect->getDetector();
        $device = ($detector->isMobile() ? ($detector->isTablet() ? 'tablet' : 'mobile') : 'standard');
        $MobileDetect->saveSettings($device);
    }

    $fenom->addModifier("detector", function ($value) use ($device) {
        return $value == $device;
    });

    break;
}

и теперь в любом месте можно делать так
{if 'mobile'|detector}
mobile
{/if}

{if 'tablet'|detector}
tablet
{/if}

{if 'standard'|detector}
standard
{/if}
Василий Наумкин
26 февраля 2016, 23:16
1
+4
Чтобы работало как надо, через ajax:

1. Обновляем pdoTools до версии 2.2.7-pl, в которой добавлена возможность получать доступ к конфигурации объекта pdoPage.

2. На странице примерно такая разметка, &pageVarKey по умолчанию — page.
<div class="select_goodlist_count">
    <p>Товаров на странице:</p>
    <select name="count_pages">
        <option>5</option>
        <option>20</option>
        <option>50</option>
    </select>
    <div class="clear"></div>
</div>

<div id="pdopage">
	<div class="rows">
	[[!pdoPage?
		&parents=`0`
		&ajaxMode=`default`
		&limit=`5`
	]]
	</div>
	[[!+page.nav]]
</div>

3. И такой скрипт:
<script>
$(document).on('change', 'select[name="count_pages"]', function() {
	var params = pdoPage.Hash.get();
	params['page'] = 1;
	params['limit'] = $(this).val();
	pdoPage.Hash.set(params);
	pdoPage.keys['page'] = 0;
	pdoPage.loadPage(document.location.href, pdoPage.configs['page']);
});
</script>
Василий Наумкин
15 февраля 2016, 21:57
2
+1
[[!msProducts?
	&parents=`0`
	&innerJoin=`{
		"OrderProduct": {"class":"msOrderProduct", "on":"msProduct.id = OrderProduct.product_id"},
		"Order": {"class":"msOrder", "on":"Order.id = OrderProduct.order_id"}
	}`
	&where=`{
		"Order.user_id": [[!+modx.user.id]],
		"Order.status:>": 1
	}`
	&groupby=`msProduct.id`
	&showLog=`1`
]]
Выводим только те товары, которые были оформлены в заказе текущего юзера и статус у заказа «Оплачен» или выше. Можно еще указывать разные условия в &where.