Андрей

Андрей

Был в сети 19 апреля 2026, 16:01
Заказы не принимаю
Весь код там большой, 4 аналогичные выборки и обработка полученных данных. В 3-х из них этот TV параметр у родителя, поэтому я вынужден получать его через дополнительный запрос, а в этом случае этот параметр есть у самого ресурса.
И еще смущает что когда я его выбираю как он называется (vznos), то страница наглухо падает от 500 ошибки, а если как tv.vznos то ошибки нет, код работает корректно, кроме того что в полученном json массиве нет нужного TV параметра.
Папку спам проверял, высылал и на почту Яндекса и на почту Гугла.
Пробовал отправлять сообщения сниппетом Register, Sendex и встроенной функцией восстановления пароля в MODX.

Ошибки, конечно, есть. Я тестировал другой сниппет и там были ошибки.
Но по времени если брать, время вызова phpmailer, то в это время ошибок не было.
в результате многочисленных экспериментов выяснил, что проблема возникают на тех страницах, где используется fastfield в частности вот такая конструкция
[[#49.uri]]
можно это как-то исправить, кроме как не пользоваться fastfield?
ясно, с настройкой прав если подтормаживает не буду связываться, пойду по второму пути, просто там придется явным образом писать какие пункты выводить и для кого, думал может есть какой-то красивый способ.
еще вопрос, пошел по первому пути, он больше подходит, но на одной странице есть вызов сниппета
[[!pdoResources?
        &parents=`137`
        &tpl=`tpl.mprojects`
	&sortby=`{"pm2":"DESC", "pm1":"DESC"}`
        &where=`{"pagetitle":"[[*id]]"}`
        &limit=`0`
        &showUnpublished=`1`
        &idmem=`[[*id]]`
        &leftJoin=`{
           "p1": {
           "class": "modResource",
           "on": "p1.id = modResource.id"
            	},
       	  "p2": {
            	"class": "modResource",
            	"on": "p2.id = p1.parent"
        		}            							
        		 }`
         &select=`{
        "modResource": "*",
        	"p1": "COALESCE(p1.menuindex, 999999999) as pm1",
        	"p2": "COALESCE(p2.menuindex, 999999999) as pm2"
        }`
                        ]]
и с ним он конфликтует
/var/www/data/www/s.ru/core/components/pdotools/model/pdotools/pdotools.class.php : 989) Unexpected token ':' in b7b298b993896f7b869f4d5ffc13576c line 142, near '{"pm2":' <- there
можно их как-то подружить?
вопрос снят, после чистки кэша все заработало
теперь проблема в другом. создал 2 сниппета
encrypt
<?php
$key = 'dfdfdsfsd23';
$decrypted = $path . $decrypted;
$ekey = hash('SHA256', $key, true);
  srand(); $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC), MCRYPT_RAND);
  if (strlen($iv_base64 = rtrim(base64_encode($iv), '=')) != 22) return false;
  $encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $ekey, $decrypted . md5($decrypted), MCRYPT_MODE_CBC, $iv));
  return $iv_base64 . $encrypted;
decrypt
<?php
$key = 'dfdfdsfsd23';
$ekey = hash('SHA256', $key, true);
  $iv = base64_decode(substr($encrypted, 0, 22) . '==');
  $encrypted = substr($encrypted, 22);
  $decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $ekey, base64_decode($encrypted), MCRYPT_MODE_CBC, $iv), "\0\4");
  $hash = substr($decrypted, -32);
  $decrypted = substr($decrypted, 0, -32);
  if (md5($decrypted) != $hash) return false;
  return $decrypted;
кодирует без проблем, а вот декодировать — выдает пустую строку почему-то