Василий Столейков

Василий Столейков

С нами с 19 декабря 2012; Место в рейтинге пользователей: #25
Отправить деньги
Володя
29 марта 2017, 10:54
1
+2
сразу через include не получится.
сначала забейте переменную и потом к ней применяйте модификатор
{var $tmp}
  {include 'test_banner_del'}
{/var}
{$tmp| ereplace : '/<ins.*?\<\/ins\>|<script.*?\<\/script\>|<hr>|<!--.*?-->/is':' '}
Сергей Шлоков
24 марта 2017, 10:06
3
+2
Держи.
<?php
switch ($modx->event->name) {
	case 'OnManagerPageBeforeRender':
		$script = "<script>\n\t";
		$script .= "function setLogoutTimer(){if (logoutTimer) clearTimeout(logoutTimer); return setTimeout(function(){location.href='?a=security/logout';}, ".$modx->getOption('admin_logout_time', null, 20)."*60000);};"."\n\t";
		$script .= "var logoutTimer = setLogoutTimer();\n\t";
		$script .= 'document.addEventListener( "click" , function() {logoutTimer = setLogoutTimer();}, true);'."\n\t";
		$script .= 'document.addEventListener( "mousemove" , function() {logoutTimer = setLogoutTimer();}, true);'."\n\t";
		$script .= 'document.addEventListener( "contextmenu" , function() {logoutTimer = setLogoutTimer();}, true);'."\n\t";
		$script .= 'document.addEventListener( "wheel" , function() {logoutTimer = setLogoutTimer();}, true);'."\n\t";
		$script .= 'document.addEventListener( "keydown" , function() {logoutTimer = setLogoutTimer();}, true);'."\n";
		$script .= "</script>";
		$modx->controller->addHtml($script);
	break;
}
Выставлять время в минутах можно в системной настройке admin_logout_time.

П.С. В боевом режиме не тестировал.
Николай Савин
21 марта 2017, 14:31
1
0
Добрый день. 500р — час работы.
Илья Уткин
14 марта 2017, 07:15
2
+2
Очень часто фраза «предыдущий разработчик слился» характеризует отнюдь не разработчика… Не всегда, конечно, но к таким заказчикам надо относиться с осторожностью.
Николай Савин
13 марта 2017, 15:40
1
+4
Да люди скорее здравому смыслу плюсуют, а не конкретным ценам.
Взять хотя бы ваши срок 2 недели.
Минимальная часовая оплата среднего программиста -500 р.
Берем две недели с двумя выходными и стандартный 8 часовой рабочий день.
500 x 8 x 10 = 40 тыс.
Уже за пределами бюджета.
Далее сюда нужно плюсовать правки. Это скажем еще 25%.
Ну и так далее.

Максим Кузнецов
10 марта 2017, 00:20
1
+4
Лучше сделать так (в плагине):

меняем строку (в двух местах)
$modx->user->addSessionContext($modx->context->key);

на следующую
$contexts = $modx->getCollection('modContext', array('key:!=' => 'mgr'));

foreach($contexts as $context) {
	$modx->user->addSessionContext($context->key);
}
Илья Уткин
09 марта 2017, 13:52
1
+1
Хм… Подтверждаю, проблема действительно воспроизводится…

Если нужно быстрое решение, придётся просто написать свой сниппет для выборки нужных картинок — типа такого:
<?php
$product = empty($product) ? $modx->resource->id : $product;
$miniShop2 = $modx->getService('minishop2');
$q = $modx->newQuery('msProductFile', array('parent' => 0, 'product_id' => $product));
$q->sortby('rank','ASC');
$q->prepare();
$q->stmt->execute();
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
$output = array();
foreach($res as $r) {
    $output[] = $modx->getChunk('tpl.gal');
}
return implode(PHP_EOL, $output);
Илья Уткин
09 марта 2017, 09:47
3
+6
Создаёшь в папке index.php и открываешь так: s8820.h5.modhost.pro/console/
<?php
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
    @ini_set('display_errors', 1);
    $code = str_replace(array('<?php', '?>'), '', $_POST['code']);
    ob_start();
    $result = eval($code);
    $output = ob_get_contents();
    ob_end_clean();
    if($result){
        $output = $result;
    }
    echo $output;
    die();
}
?><!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Console</title>
    <link href="http://getbootstrap.com/dist/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <style>
        .ace_editor {
            height: 250px !important;
        }
        body {
            padding-bottom: 80px;
        }
    </style>
  </head>

  <body>
    
    <div class="container">
        

        <h1>Console</h1>
        <form action="" class="jumbotron" id="code_form" method="post">
            <textarea class="form-control" name="code" id="code" rows="15"><?php echo "<?php\n"; ?></textarea>
            
            <input type="submit" class="btn btn-lg btn-primary" value="Выполнить" onclick="return run();">
        </form>
        <div id="result"></div>
    </div>

    <script src="https://ace.c9.io/build/src/ace.js"></script>
    <script>
        function run() {
            document.getElementById("result").innerHTML = '<img src="http://downloads.pcauthority.com.au/images/spinner.gif">';
            $.ajax({
                url: document.location.href,
                type: "POST",
                dataType: "html",
                data: {code: window.editor.getValue()},
                success: function(response) {
                    $("#result").html(response);
                },
                error: function(response) {
                    $("#result").html("Ошибка сервера");
                }
             });
             return false;
        }
        window.onkeydown = function(e) {
            if (e.ctrlKey) {
                if (e.keyCode == 13) {
                    run();
                }
            }
        };
        window.editor = ace.edit("code");
        window.editor.setTheme("ace/theme/monokai");
        window.editor.getSession().setMode("ace/mode/php");
        window.editor.gotoLine(2);
        window.editor.focus();
    </script>
  </body>
</html>
Илья Уткин
06 марта 2017, 15:46
1
+4
&where=`{"Data.vendor:IN":[3247,3247], "Data.discount_per:=":0}`
Николай
02 марта 2017, 00:17
1
0
Пользуюсь biz.mail.ru, очень часто провожу рассылки по пользователям, которых уже 5565, пока лимитов не обнаружил никаких.
ps конечно же через smtp и php на сервере.