Новости Joomla

👩‍💻 Joomla включена в программу Google Summer of Code 2026.

👩‍💻 Joomla включена в программу Google Summer of Code 2026.

Google Summer of Code (GSoC) - программа компании Google, которая позволяет участникам программы под руководством опытных наставников писать код для организаций, занимающейся открытым исходным кодом. Joomla принимает участие в этой программе не в первый раз и в 2026 году снова включена в список GSoC. Для программы утверждается список "идей", воплотить которые должны участники под руководством наставников.

Проекты Joomla в рамках программы GSoC 2026.

Проект I: Ajax-бэкенд.
- Действия в административной панели без необходимости обновлять страницу.
- Автоматическое сохранение содержимого во время редактирования.
- Расширенный фильтр - поиск и фильтрация по пользовательским полям.

Проект II: Автоматизация рабочих процессов (workflow + task scheduler).
Joomla имеет функцию процессов и планировщика задач. Теперь эти две функции следует объединить, чтобы пользователь мог настраивать назначенные рабочие процессы таким образом, чтобы переходы выполнялись автоматически, с возможностью точного определения времени. Должна быть возможность создавать циклы или прямые запланированные рабочие процессы. Предполагается, что интерфейс должен учитывать хороший пользовательский опыт, удобство использования и современные стандарты доступности. Ожидается, что будет добавлен интерфейс для управления процессами и их расписанием на страницах категорий и материалов. Так же ожидается, что сторонние компоненты также смогут воспользоваться этим функционалом.

Проект III: Мультикатегории.
В настоящее время Joomla! не позволяет назначать один элемент нескольким категориям. Хотя система тегов часто используется в качестве замены, существует острая потребность в нативной поддержке нескольких категорий, чтобы привести Joomla! в соответствие с другими современными системами управления контентом.

Проект IV: Обучение с подкреплением на основе отзывов переводчиков.
Joomla собирается использовать автоматический перевод документации. В каждом языке есть свои специфические слова, характерные для Joomla. Предполагается обучать языковые модели, используя обратную связь от переводчиков, чтобы постоянно улучшать качество переводов и учитывать специфические языковые особенности Joomla.

Принять участие GSoC 2026
Подробнее о проектах Joomla GSoC 2026
Чат GSoC в Mattermost (международное сообщество Joomla)

Вышли релизы Joomla 6.0.3 и Joomla 5.4.3

Релиз Joomla 6.0.3 и Joomla 5.4.3

Проект Joomla рад сообщить о выпуске Joomla 6.0.3 и Joomla 5.4.3. Это релиз исправлений ошибок и улучшений для серии Joomla 6.0 и Joomla 5.4.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

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

NEOLiT

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Приветствую форумчан! Столкнулся недавно с такой бедой. Нашел в сети сайт-клон своего горячо любимого сайта. Какие-то хулиганы с помощью проги TelePort выкачали сайт и разместили на созвучном домене, при этом не забыв навешать саповской рекламы. Хотел реализовать защиту от скачки на другом своем сайте, по третьему способу описанному  здесь http://blog.theringing.net/noteleport-ili-kak-zashhitit-sajt-ot-polnogo-vykachivaniya/.
Заминка произошла при добавлении вот этого фрагмента кода в шапку сайта
Код
<?php
include “flooders.inc.php”;
$f=new Flooders(”/tmp/ban.txt”);
$f->Check(403);
?>
Добавлял в файле index.php шаблона сайта. После вставки кода, сайт не отображается, убираю код - все нормально. Подскажите что не так делаю.  !
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Защита от скачивания сайта!
« Ответ #1 : 14.02.2010, 00:39:57 »
Цитировать
Добавлял в файле index.php шаблона сайта. После вставки кода, сайт не отображается, убираю код - все нормально. Подскажите что не так делаю.  !
А файл flooders.inc.php у вас есть, который собственно подключаете?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

NEOLiT

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Re: Защита от скачивания сайта!
« Ответ #2 : 14.02.2010, 00:46:23 »
Да ,конечно, flooders.inc.php сделан, положен в корень сайта. Код который должен быть на “подставной” странице также присутствует, скрытую ссылку сделал, а вот с кодом , который должен быть по идее в шапке - заминка.   
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Защита от скачивания сайта!
« Ответ #3 : 14.02.2010, 00:49:26 »
если видите белую страницу - смотрим error.log сервера
Ошибка может быть как в подключаемом файле так и в неверном пути до него
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

NEOLiT

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Re: Защита от скачивания сайта!
« Ответ #4 : 14.02.2010, 00:57:08 »
понял, будем смотреть error.log . так и есть - страница белая.
*

NEOLiT

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Re: Защита от скачивания сайта!
« Ответ #5 : 14.02.2010, 19:29:06 »
После вставки вышеуказанного кода в шапку шаблона сайта (файл index.php), журнал ошибок (error_log) выдает следующее

[Sun Feb 14 19:08:09 2010] [error] PHP Warning: include(\xe2\x80\x9cfloodersincphp\xe2\x80\x9d) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in /home/u184407/mysite.ru/www/templates/mysite/index.php on line 17
[Sun Feb 14 19:08:09 2010] [error] PHP Warning: include() [<a href='function.include'>function.include</a>]: Failed opening '\xe2\x80\x9cfloodersincphp\xe2\x80\x9d' for inclusion (include_path='.:') in /home/u184407/mysite.ru/www/templates/mysite/index.php on line 17
[Sun Feb 14 19:08:09 2010] [error] PHP Fatal error: Class 'Flooders' not found in /home/u184407/mysite.ru/www/templates/mysite/index.php on line 18

*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Защита от скачивания сайта!
« Ответ #6 : 14.02.2010, 19:32:30 »
выдает ошибку подключения файла, еще раз проверьте наличие файла, пути к нему в инклюде, CHMOD на чтение
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

NEOLiT

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Re: Защита от скачивания сайта!
« Ответ #7 : 14.02.2010, 19:48:19 »
Еще некоторые моменты:

1) Сайт оригинал - Joomla 1.5.12
2) На сайте стоит компонент Photoslide GK2, который на сайте-клоне не функционирует (этот компонент выводит изображения на главной странице, что-то вроде слайдшоу) На клоне выводятся только превьюшки, а само изображение не отображается.
3) При переходе по внешней ссылке на сайте-клоне выскакивает окно где написано :
http://www.ссылка на какой-либо сайт.ru//  

This file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  

Do you want to open it from the server? Yes No

3) На моем сайте стоит компонент автоматического перевода от Google, при попытке перевода на сайте-клоне выскакивает окно, где написано : Google   Error     Bad Request
    Your client has issued a malformed or illegal request.
*

Gazon

  • Захожу иногда
  • 138
  • 7 / 0
  • Образец морали куртуазной
Re: Защита от скачивания сайта!
« Ответ #8 : 14.02.2010, 19:55:58 »
Не отходя от кассы.. Как реализовать данный пункт?
Цитировать
2. Ограничение по количеству просмотренных страниц за назначенный промежуток времени.
*

rubasket

  • Захожу иногда
  • 346
  • 13 / 1
  • RuBasket.com
Re: Защита от скачивания сайта!
« Ответ #9 : 14.02.2010, 19:57:26 »
при чем здесь это ? 0-о
Только я знаю,что могу (C) Джон Локк 
Why him ?Mmm? What  about me? БЕНЖАМИН Л
*

NEOLiT

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Re: Защита от скачивания сайта!
« Ответ #10 : 14.02.2010, 20:02:17 »
Gazon, я ухватился за 3ий вариант, его и пытаюсь реализовать. Разберешься со вторым - честь тебе и хвала. ;)
*

NEOLiT

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Re: Защита от скачивания сайта!
« Ответ #11 : 14.02.2010, 20:33:39 »
Наличие файлов проверил, CHMOD выставил как надо, пути тоже вроде верно. На этот раз  error_log выдает следующее

[Sun Feb 14 20:20:15 2010] [error] PHP Parse error: syntax error, unexpected '"' in /home/u184407/mysite.ru/www/flooders.inc.php on line 63

Привожу полный код flooders.inc.php
Код
<?
    class Flooders {
        var $filename;    /* Имя файла, в котором хранится список  */
                          /* запрещенных IP адресов                */

        var $timeout;     /* Время, на которое производится бан IP */
                          /* адреса. По умолчанию - 600 (10 минут) */

        var $log;         /* Имя лог-файла.                        */

        var $AGENTS;      /* Массив - список разрешенных агентов   */

        /*                                                             */
        /* Конструктор - в параметрах можно указать основные настройки */
        /*                                                             */
        /*   $filename - имя файла, в котором хранится список          */
        /*               забаненных адресов.                           */
        /*   $timeout - время, в секундах, на которое банится IP.      */
        /*                                                             */
        /* Пример: $f=new Flooders("ban.txt",3600);                    */
        /*                                                             */

        function Flooders($filename="flooders.txt",$timeout=600) {
            $this->filename=$filename;
            $this->timeout=$timeout;
            $this->AGENTS=Array();
            $this->log="";
            }

        /*                                                             */
        /* Задает имя лог-файла. Если имя файла пустое, то лог-файл    */
        /* не испольщуется                                             */
        /*                                                             */

        function SetLogFileName($filename) {
            $this->log=$filename;
            }
       
        /*                                                             */
        /* Проверка IP адреса на нахождение в бан-листе.               */
        /*                                                               */
        /* Если $http_errror==0, то возвращает true, если IP адрес     */
        /* забанен, и false, если IP адрес разрешен.                   */
        /*                                                             */
        /* Если $http_error==404 и IP адрес забанен, то выводится      */
        /* стандартная страница 404 сервера Apache                     */
        /*                                                             */
        /* Если $http_error==403 и IP адрес забанен, то выводится      */
        /* стандартная страница 403 сервера Apache                     */
        /*                                                             */

        function Check($http_error=0) {
            GLOBAL $HTTP_SERVER_VARS;

            $ip1=$HTTP_SERVER_VARS["REMOTE_ADDR"];
            $ip2=$HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
            $ip1=str_replace(":","_",$ip1);
            $ip2=str_replace(":","_",$ip2);

            $curtime=time();

            $d=@file($this->filename);
            if (!is_array($d)) {print "Ошибка чтения из файла "".$this->filename."".";return(false);}

            $found=false;
            for ($i=0;$i<count($d);$i++) {
                $e=explode(" : ",$d[$i]);
                if ($e[1]==$ip1 && trim($e[2])==$ip2 && $e[0]+$this->timeout>$curtime) {$found=true;break;}
                }
            if ($http_error==404 && $found==true) {
                header("HTTP/1.0 404 Not Found");
                die("\n The requested URL ".$HTTP_SERVER_VARS["REQUEST_URI"]." was not found on this server.");
                }
            if ($http_error==403 && $found==true) {
                header("HTTP/1.0 403 Forbidden");
                die("n\n\n\n <h1>Forbidden</h1>

    nYou don't have permission to access ".$HTTP_SERVER_VARS["REQUEST_URI"]."non this server. \n

    \n".$HTTP_SERVER_VARS["SERVER_SIGNATURE"]."n");
                }
            return($found);
            }

        /*                                                             */
        /* Добавления IP адреса в бан-лист                             */
        /*                                                             */

        function Ban() {
            GLOBAL $HTTP_SERVER_VARS;

            $agent=" ".$HTTP_SERVER_VARS["HTTP_USER_AGENT"];
            for ($i=0;$i<count($this->AGENTS);$i++) {
                if (strpos($agent,$this->AGENTS[$i])) return;
                }

            $ip1=$HTTP_SERVER_VARS["REMOTE_ADDR"];
            $ip2=$HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
            $ip1=str_replace(":","_",$ip1);
            $ip2=str_replace(":","_",$ip2);

            $curtime=time();

            $d=@file($this->filename);
            if (!is_array($d)) {print "Ошибка чтения из файла "".$this->filename."".";}

            for ($i=0;$i<count($d);$i++) {
                $e=explode(" : ",$d[$i]);
                if ($e[1]==$ip1 && trim($e[2])==$ip2) unset($d[$i]);
                }

            if (need_add) {
                if (!empty($this->log)) {
                    $fw=fopen($this->log,"at");
                    if ($fw) {
                        fputs($fw, date("Y-m-d H:i:s")." [".$ip1."|".$ip2."]".$agent."n");
                        fclose($fw);
                        }
                    }
                $d[]=$curtime." : ".$ip1." : ".$ip2."n";
                }

            $fw=@fopen($this->filename,"wt");
            if (!$fw) {print "Ошибка записи в файла "".$this->filename."".";return;}

            foreach ($d as $e) fputs($fw,$e);
            fclose($fw);
            }
       
        function AddAlowAgent($agent) {
            $this->AGENTS[]=$agent;
            }
        }
    ?>
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Защита от скачивания сайта!
« Ответ #12 : 14.02.2010, 20:35:02 »
мы должны считать строки чтобы найти где там неправильные кавычки?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

NEOLiT

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Re: Защита от скачивания сайта!
« Ответ #13 : 14.02.2010, 20:37:18 »
63 строка

if (!is_array($d)) {print "Ошибка чтения из файла "".$this->filename."".";return(false);}
*

NEOLiT

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Re: Защита от скачивания сайта!
« Ответ #14 : 16.02.2010, 14:17:17 »
Может кто-то предложит свои варианты для защиты сайта на Joomla от TelePorta и ему подобных оффлайн браузеров. Что можно еще предпринять? В сети на эту тему ничего стоящего не нашел, все что нашел - это ссылка в первом посте.
Делаете Вы сайт с уникальным дизайном и контентом, стараетесь, а потом пионерят весь Ваш сайт целиком и делают в сети клон, что не очень то приятно...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Чем лучше всего делать резервные копии сайта?

Автор 7Azimuth

Ответов: 115
Просмотров: 64605
Последний ответ 29.11.2023, 14:41:12
от sivers
Joomla 1.5 как убрать кнопку редактировать материант с сайта

Автор andriy465

Ответов: 5
Просмотров: 11749
Последний ответ 12.11.2023, 23:37:03
от all_zer
Не могу распаковать jpa архив сайта Akeeba backup. ajax error

Автор smadkz

Ответов: 4
Просмотров: 6812
Последний ответ 26.12.2020, 15:15:15
от stendapuss
Версия сайта для слабовидящих

Автор nikos

Ответов: 22
Просмотров: 47851
Последний ответ 27.11.2020, 11:04:18
от chernobyl
Поиск статьи по url сайта в админке Joomla 1.5

Автор Tema

Ответов: 5
Просмотров: 8937
Последний ответ 14.08.2020, 07:16:44
от rsn