Новости Joomla

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

👩‍💻 Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод triggerEvent(), с помощью которого раньше вызывались события для плагинов. Теперь чтобы в своём коде вызвать событие для плагина и получить от него результаты нужно:- создать объект класса события- передать в него параметры

use Joomla\CMS\Event\AbstractEvent;use Joomla\CMS\Factory;use Joomla\CMS\Plugin\PluginHelper;// Грузим плагины нужных группPluginHelper::importPlugin('system');// Создаём объект события$event = AbstractEvent::create('onAfterInitUniverse', [    'subject' => $this,    'data'    => $data, // какие-то данные    'article' => $article, // ещё материал вдовесок    'product' => $product, // и товаров подвезли]);// Триггерим событиеFactory::getApplication()->getDispatcher()->dispatch(    $event->getName(), // Тут можно строку передать 'onAfterInitUniverse'    $event);// Получаем результаты// В случае с AbstractEvent это может быть не 'result',// а что-то ещё - куда сами отдадите данные.// 2-й аргумент - значение по умолчанию, // если не получены результаты$results = $event->getArgument('result', []);
Плюсы такого подхода - вам не нужно запоминать порядок аргументов и проверять их наличие. Если вы написали свой класс события, то в плагине можно получать аргументы с помощью методов $event->getArticle(), $event->getData(), $event->getProduct() и подобными - реализуете сами под свои нужды. Если такой класс события написали, то создаёте экземпляр своего класса события и укажите его явно в аргументе eventClass
use Joomla\Component\MyComponent\Administrator\Event\MyCoolEvent;$event = MyCoolEvent::create('onAfterInitUniverse', [    'subject'    => $this,    'eventClass' => MyCoolEvent::class, // ваш класс события    'data'       => $data, // какие-то данные    'article'    => $article, // ещё материал вдовесок    'product'    => $product, // и товаров подвезли]);
Ожидаемо, что класс вашего события будет расширять AbsractEvent или другие классы событий Joomla.🙁 Есть неприятный нюанс - нельзя просто так вызывать событие и ничего не передать в аргументы. Аргумент subject обязательный. Но если вы всё-таки не хотите туда ничего передавать - передайте туда пустой stdClass или объект Joomla\registry\Registry.
@joomlafeed#joomla #php #webdev

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

m__g

  • Захожу иногда
  • 124
  • 25 / 0
неделал, как смогу сделать, сюда обязательно выложу.
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
Где можно скачать последнюю версию?
Всё есть в тебе. Реализовывайся.
*

m__g

  • Захожу иногда
  • 124
  • 25 / 0
Где можно скачать последнюю версию?
на прошлой странице, в 79 посте помоему.
*

m__g

  • Захожу иногда
  • 124
  • 25 / 0
m__g,не делал еще для 1.0.х?Мне навороты не нужны!Лиж бы внешние ссылки перекрывало
исправленная версия ниже, в посте 97
« Последнее редактирование: 20.03.2010, 09:58:19 от m__g »
*

Neboqitel

  • Осваиваюсь на форуме
  • 39
  • 1 / 0
по этой ссылке без наворотов, позже добавлю если надо будет кому нибудь.
go.php можно взять с плагина для 1.5
Спасибо огромное!Держи +
*

Neboqitel

  • Осваиваюсь на форуме
  • 39
  • 1 / 0
Тут же багрепорт)))) Посбивались внутренние ссылки в контенте!Зато внешние изменяются отлично!Смею предположить что это из за ЧПУ.Странно,но мамбот работает даже когда он не активирован!В контенте и в модулях пропали внутренние ссылки
« Последнее редактирование: 13.03.2010, 22:53:48 от Neboqitel »
*

m__g

  • Захожу иногда
  • 124
  • 25 / 0
подправленная версия, теперь реагирует на отключение плагина, как и должно быть, и внутренние ссылки не съедает))

[вложение удалено Администратором]
« Последнее редактирование: 20.03.2010, 09:56:53 от m__g »
*

Neboqitel

  • Осваиваюсь на форуме
  • 39
  • 1 / 0
Теперь работает!А промежуточной страницы не планируется?
*

m__g

  • Захожу иногда
  • 124
  • 25 / 0
А промежуточной страницы не планируется?
можно чуть go.php подправить и будет промежуточная страница, вечером сделаю, только я не знаю как это сделать в общем дизайне сайта... Это наверно простой компонент делать надо...или пойдет статичная страница с простеньким оформлением в этом файле?
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
Можно сделать наподобие.
- Ссылка откроется через X секунд.
- Пока можете ознакомиться с информацией, предоставленной нашим спонсором... и код Adsense... ^-^
Всё есть в тебе. Реализовывайся.
*

ZHart

  • Захожу иногда
  • 324
  • 53 / 2
Код Adsense отображает тематическую рекламу в зависимости от окружающего контента.
А какой может быть окружающий контент на промежуточной странице?
*

m__g

  • Захожу иногда
  • 124
  • 25 / 0
ну вот что получилось))
как я уже и говорил, с ява-скриптами я на ВЫ, так что опять добрые хозяева сайта depositfiles.com одолжили свой скрипт обратного отсчета.
в этом файле скрипт, картинка и go.php, всё это добро бросать в корень сайта, редирект будет через промежуточную страницу, внешнего вида ни какого, это уже своими силами так сказать))) получилось что то вроде этого



время, через которое будет редиректить и количество секунд которое будет отображаться на странице устанавливать в файле go.php открыть в любом редакторе, там я прокомментировал где именно. сейчас это 5 секунд.
кстати, работает с версиями плагинов для j1.5 и j1.0 одинаково хорошо.
« Последнее редактирование: 15.03.2010, 21:00:09 от m__g »
*

vremennyy

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Наверное, сейчас именно тот момент, когда можно было бы все подитожить в маленький ФАК-ХЕЛП по работе с данным плагином.
И, конечно, огромная благодарность m__g, спасибо Вам огромное!
« Последнее редактирование: 16.03.2010, 22:26:30 от vremennyy »
*

ZHart

  • Захожу иногда
  • 324
  • 53 / 2
vremennyy, а чем не устраивает тот чудесный help, который m__g выложил в настройках плагина?
*

Neboqitel

  • Осваиваюсь на форуме
  • 39
  • 1 / 0
А как сделать чтобы весь этот текст отображался с шаблоном сайта в компоненте?У меня в принцепе есть место в компоненте под это дело.Нужен только код который вставить.А корявую ссылку типа index.php?option=com_prochamp&do=redirect уже сефом прикрою
*

m__g

  • Захожу иногда
  • 124
  • 25 / 0
я до компонентов ещё не дошел)) не сталкивался, даже пока не знаю как это сделать в компоненте... но чувствую, это не сложно. а код, в go.php вся логика.
p.s. вот не помню точно, помоему можно в компоненте Jumi указать файл который будет исполняться при обращении, но надо в плагине адрес который к ссылкам добавляется переписывать, если не получится самостоятельно с помощью блокнота, обращайтесь)))
*

Neboqitel

  • Осваиваюсь на форуме
  • 39
  • 1 / 0
А можно сделать так чтобы изменялись даже те ссылки которые в компонентах прописаны?
*

m__g

  • Захожу иногда
  • 124
  • 25 / 0
а это уже, на сколько я понял, зависит от компонента, если в нем есть событие onPrepareContent, то ссылки изменяться будут.
*

nevidimko

  • Осваиваюсь на форуме
  • 25
  • 0 / 2
  • Ковка изделий высшего уровня
Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru-ru" lang="ru-ru" dir="ltr" id="minwidth" >
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Переход на сайт партнера</title>
<style>

                body {
                        background: url(img/bg.png);
                        margin: 0;
                        padding: 0;
                        font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
                        font-size: 10px;
                }
                .txt {                               
                        font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
                        font-size: 12px;
                }
                td {
                        font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
                        font-size: 10px;
                }

                a:visited.m, a:link.m, a:hover.m {
                        width: 100px;
                        background-color: #62707E;
                        color: White;
                        text-decoration: none;
                        margin: 5px 5px 5px 5px;
                        padding: 3px 3px 3px 3px;
                        text-align: center;
                }
                a:hover.m {
                        background-color: #D2691E;
                }
.стиль1 {
font-size: 12px;
font-style: italic;
font-weight: bold;
}
</style>
<script language="JavaScript" type="text/javascript">
//<!--
var timeout = null;
var lastt=0;
var thistime=0;
var l=0;
var total=0;
var div;

function cross() {
if (document.getElementById||document.all) return 1;
return 0;
}
function ob(id_ob) {
return document.getElementById? document.getElementById(id_ob) : document.all(id_ob);
}

function LoadUp() {
timeout = setTimeout('update()', 7000);
}


function update() {
ob('sec').innerHTML ='<a href="<?php echo $_SERVER['QUERY_STRING']; ?>" rel="nofollow"><?php echo $_SERVER['QUERY_STRING']; ?></a>';
}

//-->
</script><script language='javascript' type='text/javascript' src='<a href="<?php echo $_SERVER['QUERY_STRING']; ?>" rel="nofollow"><?php echo $_SERVER['QUERY_STRING']; ?></a>'></script>


</head>

<body  onLoad="LoadUp()">

        <table border="0" cellspacing="0" cellpadding="0" align="center" style="width: 80%; height: 90%; margin-top: 2%;">
        <tr style="border: 0 none Black; background-color: White; background: url(img/bg3.png);">
                <td><a href="http://www.iron-forge.ru"><img src="img/logo.png" alt="" width="258" height="121" border="0"></a></td>
                <td width="100%" align="center" style="width: 100%; vertical-align: middle; text-align: center;"></td>
          </tr>
<tr><td colspan="2" align="right" style="border-top: 2px solid Black;">


</td></tr>
<tr>
        <td colspan="2" align="center" valign="middle" bgcolor="#FFFFFF" style="height: 100%; border: 1px dashed Black;">

<div id='vsta_t1600'>Здается рекламное место! Обращайтесь к администрации!</div>


<div id="foot">

<table width="320" border="0" cellspacing="2" cellpadding="0" align="center" style="text-align: center;">
<tr>
  <td align="center" valign="middle"><span class="стиль1"><br/>
    Cсылка на сайт организации</span>:<br />
<br /></td>
</tr>
<tr><td id="sec" align="center" valign="middle"><img src="img/loader.gif" alt="" width="32" height="32" border="0"></td></tr>
<tr><td width="320" colspan="2" id="bg" style="text-align: center;"></td>
</table></div>
<br><br>
        </td>
       
</tr>
</table><br>

<div align="center">
    Copyright © 2009 –
  <script language="JavaScript">
<!--
var tDate = new Date();
document.write( tDate.getFullYear())
//-->
                </script>
    <a href="http://iron-forge.ru/">Кузнецы россии</a>. Все права защищены <br>
        <!--LiveInternet counter-->
  <script type="text/javascript"><!--
document.write("<a href='http://www.liveinternet.ru/click' "+
"target=_blank><img src='http://counter.yadro.ru/hit?t52.5;r"+
escape(document.referrer)+((typeof(screen)=="undefined")?"":
";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?
screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+
";"+Math.random()+
"' alt='' title='LiveInternet: показано число просмотров и"+
" посетителей за 24 часа' "+
"border='0' width='88' height='31'><\/a>")
//--></script>
    <!--/LiveInternet-->
    │
    <!-- HotLog -->
  <script type="text/javascript" language="javascript">
hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=2045858&im=131&r="+
escape(document.referrer)+"&pg="+escape(window.location.href);
document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N");
              </script>
  <script type="text/javascript" language="javascript1.1">
hotlog_js="1.1"; hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N");
              </script>
  <script type="text/javascript" language="javascript1.2">
hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+"x"+screen.height+"&px="+
(((navigator.appName.substring(0,3)=="Mic"))?screen.colorDepth:screen.pixelDepth);
              </script>
  <script type="text/javascript" language="javascript1.3">
hotlog_js="1.3";
              </script>
  <script type="text/javascript" language="javascript">
hotlog_r+="&js="+hotlog_js;
document.write('<a href="http://click.hotlog.ru/?2045858" target="_top"><img '+
'src="http://hit33.hotlog.ru/cgi-bin/hotlog/count?'+
hotlog_r+'" border="0" width="88" height="31" alt="HotLog"><\/a>');
              </script>
    <noscript>
    <a href="http://click.hotlog.ru/?2045858" target="_top"><img
src="http://hit33.hotlog.ru/cgi-bin/hotlog/count?s=2045858&im=131" border="0"
width="88" height="31" alt="HotLog"></a>
    </noscript>
    <!-- /HotLog -->
    │
    <!--Openstat-->
    <span id="openstat2075163"></span>
  <script type="text/javascript"> var openstat = { counter: 2075163, image: 5001, next: openstat , track_links: "all" }; document.write(unescape("%3Cscript%20src=%22http" +
(("https:" == document.location.protocol)? "s" : "") +
"://openstat.net/cnt.js%22%20defer=%22defer%22%3E%3C/script%3E")); </script>
  </p>
</div>
 
</body>
</html>

Закос под обмен ссылок как на http://drivec.ru/?lid=1102818&u=619957&h=1225042359
Просто замените код в go.php  на этот. ну и соответственно залейте картинки... ^-^
*

m__g

  • Захожу иногда
  • 124
  • 25 / 0

    <a href="http://iron-forge.ru/">Кузнецы россии</a>. Все права защищены <br>
        <!--LiveInternet counter-->
  <script type="text/javascript"><!--
document.write("<a href='http://www.liveinternet.ru/click' "+
"target=_blank><img src='http://counter.yadro.ru/hit?t52.5;r"+
escape(document.referrer)+((typeof(screen)=="undefined")?"":
";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?
screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+
";"+Math.random()+
"' alt='' title='LiveInternet: показано число просмотров и"+
" посетителей за 24 часа' "+
"border='0' width='88' height='31'><\/a>")
//--></script>
    <!--/LiveInternet-->
    │
   <!-- HotLog -->
  <script type="text/javascript" language="javascript">
hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=2045858&im=131&r="+
escape(document.referrer)+"&pg="+escape(window.location.href);
document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N");
              </script>
  <script type="text/javascript" language="javascript1.1">
hotlog_js="1.1"; hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N");
              </script>
  <script type="text/javascript" language="javascript1.2">
hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+"x"+screen.height+"&px="+
(((navigator.appName.substring(0,3)=="Mic"))?screen.colorDepth:screen.pixelDepth);
              </script>
  <script type="text/javascript" language="javascript1.3">
hotlog_js="1.3";
              </script>
  <script type="text/javascript" language="javascript">
hotlog_r+="&js="+hotlog_js;
document.write('<a href="http://click.hotlog.ru/?2045858" target="_top"><img '+
'src="http://hit33.hotlog.ru/cgi-bin/hotlog/count?'+
hotlog_r+'" border="0" width="88" height="31" alt="HotLog"><\/a>');
              </script>
    <noscript>
    <a href="http://click.hotlog.ru/?2045858" target="_top"><img
src="http://hit33.hotlog.ru/cgi-bin/hotlog/count?s=2045858&im=131" border="0"
width="88" height="31" alt="HotLog"></a>
    </noscript>
    <!-- /HotLog -->
    │
    <!--Openstat-->

    <span id="openstat2075163"></span>
  <script type="text/javascript"> var openstat = { counter: 2075163, image: 5001, next: openstat , track_links: "all" }; document.write(unescape("%3Cscript%20src=%22http" +
(("https:" == document.location.protocol)? "s" : "") +
"://openstat.net/cnt.js%22%20defer=%22defer%22%3E%3C/script%3E")); </script>
  </p>
</div>




а зачем нам чужие счетчики? и ссылка какая то не понятная....
*

vremennyy

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Hammer, разобрался: в плагине из 79 поста действительно есть справка, я же использовал из 97.

Плагин 79 поста ругается так:"Warning: strpos() [function.strpos]: Empty delimiter. in Z:\home\localhost\www\блаблабла\plugins\content\jmredirect.php on line 104" в том случае если опция "тип обработки ссылок" = 2

При демонстрации go.php текст в нем отображается крякозяблами :((гоу.пшп брал из 102 ответа с отсчетом времени)

При включении "поле из базы CB" никак не влияет пользовательская настройка, может неправильно поле создал (во вложеном нарисовано созданное поле)

Помогите пожлста  ! :'(

P.S. И вот еще интересно, какой лучше "тип обработки ссылок" использовать с точки зрения рейтингов (и прочих) на поисковиках:1 или 2?

[вложение удалено Администратором]
« Последнее редактирование: 18.03.2010, 23:59:35 от vremennyy »
*

nevidimko

  • Осваиваюсь на форуме
  • 25
  • 0 / 2
  • Ковка изделий высшего уровня
а зачем нам чужие счетчики? и ссылка какая то не понятная....
извиняюсь не заметил)
*

m__g

  • Захожу иногда
  • 124
  • 25 / 0
Цитировать
я же использовал из 97
там для Joomla 1.0
Цитировать
Плагин 79 поста ругается так:"Warning: strpos() [function.strpos]: Empty delimiter. in Z:\home\localhost\www\блаблабла\plugins\content\jmredirect.php on line 104" в том случае если опция "тип обработки ссылок" = 2
исправил, в прикрепленном файле без этой ошибки.
Цитировать
При демонстрации go.php текст в нем отображается крякозяблами (гоу.пшп брал из 102 ответа с отсчетом времени)
это тоже делалось сначала для Joomla 1.0, поэтому надо было просто изменить кодировку в этом файле на UTF-8
во втором прикрепленном файле уже готовый, в нужной кодировке
Цитировать
При включении "поле из базы CB" никак не влияет пользовательская настройка, может неправильно поле создал (во вложеном нарисовано созданное поле)
и правда не работало))) исправил
Цитировать
P.S. И вот еще интересно, какой лучше "тип обработки ссылок" использовать с точки зрения рейтингов (и прочих) на поисковиках:1 или 2?
как раз вот это интересно всем кто писал в этой теме))) пока это не известно (по крайней мере мне).

[вложение удалено Администратором]
« Последнее редактирование: 20.03.2010, 10:30:49 от m__g »
*

vremennyy

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
m__g, спасибо.
Цитировать
исправил, в прикрепленном файле без этой ошибки.
Спасибо, помогло.
Цитировать
это тоже делалось сначала для Joomla 1.0, поэтому надо было просто изменить кодировку в этом файле на UTF-8
во втором прикрепленном файле уже готовый, в нужной кодировке
Перед тем как задавать вопрос я сам уже пересохранял в кодировке УТФ-8 и это мне не помогло. Новая версия гоу.пшп тоже в крякозяблах :(
Цитировать
и правда не работало))) исправил
При включении "поле из базы CB" снова не влияет пользовательская настройка - исправления не сработали :(
Цитировать
как раз вот это интересно всем кто писал в этой теме))) пока это не известно (по крайней мере мне).
Мда, по этой теме сложно найти специалиста, а Вы сами какой вариант используете? Будем считать, что если включен 1-й тип, то можна вычислить откуда приходят по ссылке (что для вареза не всегда хорошо, наверное)
« Последнее редактирование: 19.03.2010, 23:24:32 от vremennyy »
*

m__g

  • Захожу иногда
  • 124
  • 25 / 0
Цитировать
Перед тем как задавать вопрос я сам уже пересохранял в кодировке УТФ-8 и это мне не помогло. Новая версия гоу.пшп тоже в крякозяблах
да, что то не понятное твориться с кодировкой...в прикрепленном файле go.php вроде без этого, кодировка windows-1251, менять не надо.
Цитировать
При включении "поле из базы CB" снова не влияет пользовательская настройка - исправления не сработали
в настройках плагина вводится просто cb_kindlink, без всяких ковычек? и варианты ответов должны быть с маленькой буквы (да и нет), на скрине они с большой.

[вложение удалено Администратором]
« Последнее редактирование: 20.03.2010, 10:29:28 от m__g »
*

vremennyy

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Цитировать
да, что то не понятное твориться с кодировкой...в прикрепленном файле go.php вроде без этого, кодировка windows-1251, менять не надо.
Спасибо. Кракозяблы пропали.

Цитировать
в настройках плагина вводится просто cb_kindlink, без всяких ковычек?
Кавычки не стоят. Но у вас в справке (описании плагина) написано, что "... новые поля будут иметь имя cb_newpole, сюда нужно вводить имя без cb_, то есть только newpole.". Какое утверждение верно: в форуме или  в описании (пишем с cb_ или без) - у меня написано без cb_.

Цитировать
и варианты ответов должны быть с маленькой буквы (да и нет), на скрине они с большой.
Спасибо, исправил.

*

m__g

  • Захожу иногда
  • 124
  • 25 / 0
ой, значит запутался уже, попробуйте методом научного тыка:) я сейчас с телефона тут, поэтому посмотреть не могу плагин, но функция эта у меня точно работает.
попробуйте написать полное имя поля, cb_pole. Вечером исправлю:)
« Последнее редактирование: 20.03.2010, 15:13:15 от m__g »
*

vremennyy

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
ой, значит запутался уже, попробуйте методом научного тыка:) я сейчас с телефона тут, поэтому посмотреть не могу плагин, но функция эта у меня точно работает.
попробуйте написать полное имя поля, cb_pole. Вечером исправлю:)
В настройках надо писать с cb_ - тогда работает
Спасибо.
*

Besik

  • Захожу иногда
  • 86
  • 0 / 3
помогите пожалуйста, возможно за деньги.
у меня интернет  каталог предприятий типа
www.name.by
я для каждого предприятия  нужен свой поддомен (name1), типа  www.name1.name.by
и при вводе его в адресную страку чтоб переход осушествлялся на страницу в каталоге того же предприятия.
пример:
 tochka.gip.by

файл в корень я залил, плагин уже установил.
что дальше?
как создать ссылку - name. мой сайт.by
где name- любое значение.
и при вводе в браузере переход что б осуществлялся по другой сслке?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не могу разобраться как в админке заставить работать свой плагин

Автор kkmspb

Ответов: 3
Просмотров: 1699
Последний ответ 02.09.2024, 11:35:25
от kkmspb
Не работает плагин на хостинге

Автор a7951396

Ответов: 3
Просмотров: 2408
Последний ответ 29.11.2023, 17:56:49
от a7951396
Плагин joomirseopagination доработка

Автор Stasweb

Ответов: 15
Просмотров: 3093
Последний ответ 16.03.2023, 15:00:33
от Stasweb
Формирование ссылок для компонента Joomla Tags

Автор stepan39

Ответов: 6
Просмотров: 3779
Последний ответ 05.02.2023, 15:22:13
от tweenpix
По поводу перенаправления ссылок

Автор itbc

Ответов: 4
Просмотров: 913
Последний ответ 21.04.2021, 13:37:02
от itbc