Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Sidebar

Форум для авторов расширений для phpBB. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
cece74
phpBB 1.4.3
Сообщения: 90
Стаж: 9 лет 1 месяц
Откуда: Italia
Благодарил (а): 12 раз
Поблагодарили: 4 раза

Re: Sidebar

Сообщение cece74 »

I tried, but I can not. I might add the code please? So I learn. Thank You.
cece74-Sidebar.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Sidebar

Сообщение Sheer »

cece7420150405174209.rar
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
c61
phpBB 2.0.6
Сообщения: 506
Стаж: 11 лет 4 месяца
Благодарил (а): 20 раз
Поблагодарили: 81 раз

Re: Sidebar

Сообщение c61 »

Sheer писал(а):

Код: Выделить всё

$config->set('sidebar_text', htmlspecialchars_decode($request->variable('sidebar_text', '', true)));
Do not do it.
rxu писал(а):You have to inject a dependency into the listener (or whatever extension script) first: - @config_text as an argument in services.yml, \phpbb\config\db_text $config_text as a constructor argument in .php file, $this->config_text = $config_text; in the constructor body, and then do something like....
rxu, перейду-ка я на русский язык - в соответствии с правилами конференции, а также для того, чтобы нижесказанное было понятно владеющим только русским языком. Затем можете перевести нашему итальянскому другу. Итак:
1) не стоит сохранять в базе данных "чистый" html-код с непреобразованными спецсимволами (там ведь есть кавычки и прочие радости);
2) htmlspecialchars_decode следует использовать в момент присвоения html-кода переменной шаблона, которая будет использована для подстановки;
3) как я уже ранее говорил, в phpBB имеется неявный баг, связанный с set_array: когда Вы решите сохранить длинный текст в config_text, то обнаружите, что некоторые базы данных такого не переваривают, если текст не был изменён (баг с INSERT INTO); записывать следует только изменившиеся значения;
4) в ACP надо использовать 'validate' => 'text', 'type' => 'textarea с заданными размерчиками и класс no-auto-resize для обсуждаемого текстового поля.
Если не хотите собрать все "грабли", см. в качестве примера расширения "Empennage" и "Extender".
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16378
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1746 раз

Re: Sidebar

Сообщение rxu »

c61, я вообще не имел желания вдаваться в подробности кода, а лишь привел пример (do something like) работы с объектом config_text на основе уже существующего.
Остальное - дело непосредственного разработчика.
Изображение
cece74
phpBB 1.4.3
Сообщения: 90
Стаж: 9 лет 1 месяц
Откуда: Italia
Благодарил (а): 12 раз
Поблагодарили: 4 раза

Re: Sidebar

Сообщение cece74 »

I'll make it. Thanks friends!
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Sidebar

Сообщение Sheer »

rxu писал(а): я вообще не имел желания вдаваться в подробности кода
Я в общем-то тоже...
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
cece74
phpBB 1.4.3
Сообщения: 90
Стаж: 9 лет 1 месяц
Откуда: Italia
Благодарил (а): 12 раз
Поблагодарили: 4 раза

Re: Sidebar

Сообщение cece74 »

How you think? Tips?
cece74-Sidebar 0.0.4.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16378
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1746 раз

Re: Sidebar

Сообщение rxu »

cece74, looks good, but as c61 has stated above (in Russian), probably there's no need in htmlspecialchars_decode() to store the values in config_text table, but just to display output.
When you store data via set_array(), the strings will be escaped by that method anyway.
Изображение
cece74
phpBB 1.4.3
Сообщения: 90
Стаж: 9 лет 1 месяц
Откуда: Italia
Благодарил (а): 12 раз
Поблагодарили: 4 раза

Re: Sidebar

Сообщение cece74 »

But it works. No it does not take more than 255 characters.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Sidebar

Сообщение Sheer »

cece74, It was about the dangers of storing code in a database
listener.php
replace

Код: Выделить всё

            'SIDEBAR_TEXT'        => $sidebar_data['sidebar_text'], 
with

Код: Выделить всё

            'SIDEBAR_TEXT'        => htmlspecialchars_decode($sidebar_data['sidebar_text']), 
and in sidebar_module.php replace

Код: Выделить всё

            $config_text->set('sidebar_text', htmlspecialchars_decode($request->variable('sidebar_text', '', true))); 
with

Код: Выделить всё

            $config_text->set('sidebar_text', $request->variable('sidebar_text', '', true)); 
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
cece74
phpBB 1.4.3
Сообщения: 90
Стаж: 9 лет 1 месяц
Откуда: Italia
Благодарил (а): 12 раз
Поблагодарили: 4 раза

Re: Sidebar

Сообщение cece74 »

cece74-Sidebar 0.0.5.zip
I did it! If you have suggestions on how to improve. Tell me.
I can not understand how the upgrade version.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Sidebar

Сообщение Sheer »

cece7420150407234212.rar
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
cece74
phpBB 1.4.3
Сообщения: 90
Стаж: 9 лет 1 месяц
Откуда: Italia
Благодарил (а): 12 раз
Поблагодарили: 4 раза

Re: Sidebar

Сообщение cece74 »

Code shorter, I do not understand what you did. ;)
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Sidebar

Сообщение Sheer »

Some imrovement. Forgot change

Код: Выделить всё

        $sidebar_data = $config_text->get_array(array(
            'sidebar_text',
        ));

        $sidebar2_data = $config_text->get_array(array(
            'sidebar_urlpage',
        )); 
to

Код: Выделить всё

        $sidebar_data = $config_text->get_array(array(
            'sidebar_text',
            'sidebar_urlpage',
        )); 
and replace

Код: Выделить всё

            'SIDEBAR_URLPAGE'        => $sidebar2_data['sidebar_urlpage'], 
with

Код: Выделить всё

            'SIDEBAR_URLPAGE'        => $sidebar_data['sidebar_urlpage'], 
cece7420150408015048.rar
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
cece74
phpBB 1.4.3
Сообщения: 90
Стаж: 9 лет 1 месяц
Откуда: Italia
Благодарил (а): 12 раз
Поблагодарили: 4 раза

Re: Sidebar

Сообщение cece74 »

Thanks to our friends phpbbguru.net: https://www.phpbb.com/community/viewtop ... &t=2306856

Вернуться в «Для разработчиков»