Алексей Ерохин

Алексей Ерохин

С нами с 23 сентября 2013; Место в рейтинге пользователей: #114
Ruslan Butakov
30 июля 2018, 15:37
1
+2
Для тех у кого бэкапы мало хранятся, или очухались поздно.

find /home/путь_до_сайта/ -type f -iname "*.php" -exec grep -Him1 'eval' {} \;
find /home/путь_до_сайта/ -type f -name '*.php' | xargs grep -l "eval *(" --color
find /home/путь_до_сайта/ -type f -name '*.php' | xargs grep -l "base64_decode *(" --color
find /home/путь_до_сайта/ -type f -name '*.php' | xargs grep -l "GLOB_ONLYDIR" --color
find /home/путь_до_сайта/ -type f -name '*.php' | xargs grep -l "gzinflate *(" --color
find /home/путь_до_сайта/ -type f -name '*.php' | xargs egrep -i "preg_replace *\((['|\"])(.).*\2[a-z]*e[^\1]*\1 *," --color
find /home/путь_до_сайта/ -type f -name '*.php' | xargs grep base64_ | less
find /home/путь_до_сайта/ -type f -name '*.php' | xargs grep -il x29
Само собой, нужно хоть малость понимать код и тогда 2 команды покажут всю заразу.
Денис
21 мая 2018, 15:01
3
+3
Создайте плагин на событие OnManagerPageBeforeRender с следующим кодом:

switch ($modx->event->name) {
    case 'OnManagerPageBeforeRender':
        if($controller->config['controller'] == "security/user") {
            $controller->addHTML('
                <script>
                    Ext.ComponentMgr.onAvailable("modx-panel-users", function () {
                        this.items[1].items[1].baseParams = {
                            action: "security/user/getList",
                            usergroup: MODx.request["usergroup"] ? MODx.request["usergroup"] : "",
                	    sort: "id"
                        };
                    });
                </script>
            ');
        }
    break;
}
Володя
18 февраля 2017, 16:29
2
+1
использолвать синтаксис феном?
{set $weight = 'weight'}
{('ms2_'~'product_'~$weight) | lexicon}
Павел Романов
23 января 2017, 13:43
1
+3
{if $.get['параметр'] != ''}****{/if}
Володя
08 января 2017, 16:51
1
+1
можно, примерно так
$data = array();
$data['parent'] = 1;
$data['class'] = 'Ticket';
$data['ctx'] = 'web';
$data['action'] = 'file/upload';
$data['list'] = 'form';
$data['createdby'] = '1';
$data['source'] = $modx->getOption('userfiles_source_default');
$data['name'] = 'название';
$data['anonym'] = 1;
$data['propkey'] = 1;

$data['_file_path'] = '/var/www/temp/www/assets/metallodetectory.jpg';
$data['_file_name'] = 'metallodetectory.jpg';

$data['properties'] = $modx->toJSON($data);

$response = $modx->runProcessor('file/upload',
    $data,
    array('processors_path' => MODX_CORE_PATH.'components/userfiles/processors/mgr/')
);
if ($response->isError()) {
    $modx->log(modX::LOG_LEVEL_ERROR, "Error: \n". print_r($response->getAllErrors(), 1));
}
else {
    $modx->log(modX::LOG_LEVEL_INFO, "Success \n". print_r($response->getObject(), 1));
}
Василий Наумкин
14 декабря 2016, 12:43
2
+3
500 000 страниц сайта — это нормально. А вот 500 000 ресурсов — совершенно нет, MODX к такому не готов.

Разница в том, что ресурсы нужны для разделов сайта, служебных страниц и всего такого. Если же сайт продаёт полмиллиона товаров или содержит объявления — нужно это выносить в отдельные таблицы, с нужными колонками и индексами.

Например, вот я делал vrmedia.tv. Ресурсов в дереве там меньше 50, а фоторепортажей и картинок многие тысячи. Всё летает, лайкается, добавляется в избранное — и хранится в отдельных таблицах.

В таком направлении и нужно двигаться, используя MODX как удобную обёртку для своих данных.