Sidebar
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

-
- phpBB 1.4.3
- Сообщения: 90
- Стаж: 10 лет 1 месяц
- Откуда: Italia
- Благодарил (а): 12 раз
- Поблагодарили: 4 раза
Re: Sidebar
I tried, but I can not. I might add the code please? So I learn. Thank You.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Former team member
- Сообщения: 12113
- Стаж: 18 лет 2 месяца
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 36 раз
- Поблагодарили: 1526 раз
Re: Sidebar
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Re: Sidebar
Do not do it.Sheer писал(а):Код: Выделить всё
$config->set('sidebar_text', htmlspecialchars_decode($request->variable('sidebar_text', '', true)));
rxu, перейду-ка я на русский язык - в соответствии с правилами конференции, а также для того, чтобы нижесказанное было понятно владеющим только русским языком. Затем можете перевести нашему итальянскому другу. Итак:rxu писал(а):You have to inject a dependency into the listener (or whatever extension script) first:- @config_text
as an argument inservices.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....
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".
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: Sidebar
c61, я вообще не имел желания вдаваться в подробности кода, а лишь привел пример (
Остальное - дело непосредственного разработчика.
do something like
) работы с объектом config_text
на основе уже существующего.Остальное - дело непосредственного разработчика.
-
- Former team member
- Сообщения: 12113
- Стаж: 18 лет 2 месяца
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 36 раз
- Поблагодарили: 1526 раз
Re: Sidebar
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
- phpBB 1.4.3
- Сообщения: 90
- Стаж: 10 лет 1 месяц
- Откуда: Italia
- Благодарил (а): 12 раз
- Поблагодарили: 4 раза
Re: Sidebar
How you think? Tips?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: Sidebar
cece74, looks good, but as c61 has stated above (in Russian), probably there's no need in
When you store data via
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.-
- Former team member
- Сообщения: 12113
- Стаж: 18 лет 2 месяца
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 36 раз
- Поблагодарили: 1526 раз
Re: Sidebar
cece74, It was about the dangers of storing code in a database
listener.php
replace
with
and in sidebar_module.php replace
with
listener.php
replace
Код: Выделить всё
'SIDEBAR_TEXT' => $sidebar_data['sidebar_text'],
Код: Выделить всё
'SIDEBAR_TEXT' => htmlspecialchars_decode($sidebar_data['sidebar_text']),
Код: Выделить всё
$config_text->set('sidebar_text', htmlspecialchars_decode($request->variable('sidebar_text', '', true)));
Код: Выделить всё
$config_text->set('sidebar_text', $request->variable('sidebar_text', '', true));
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
- phpBB 1.4.3
- Сообщения: 90
- Стаж: 10 лет 1 месяц
- Откуда: Italia
- Благодарил (а): 12 раз
- Поблагодарили: 4 раза
Re: Sidebar
I can not understand how the upgrade version.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Former team member
- Сообщения: 12113
- Стаж: 18 лет 2 месяца
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 36 раз
- Поблагодарили: 1526 раз
Re: Sidebar
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
- Former team member
- Сообщения: 12113
- Стаж: 18 лет 2 месяца
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 36 раз
- Поблагодарили: 1526 раз
Re: Sidebar
Some imrovement. Forgot change
to
and replace
with
Код: Выделить всё
$sidebar_data = $config_text->get_array(array(
'sidebar_text',
));
$sidebar2_data = $config_text->get_array(array(
'sidebar_urlpage',
));
Код: Выделить всё
$sidebar_data = $config_text->get_array(array(
'sidebar_text',
'sidebar_urlpage',
));
Код: Выделить всё
'SIDEBAR_URLPAGE' => $sidebar2_data['sidebar_urlpage'],
Код: Выделить всё
'SIDEBAR_URLPAGE' => $sidebar_data['sidebar_urlpage'],
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
- phpBB 1.4.3
- Сообщения: 90
- Стаж: 10 лет 1 месяц
- Откуда: Italia
- Благодарил (а): 12 раз
- Поблагодарили: 4 раза
Re: Sidebar
Thanks to our friends phpbbguru.net: https://www.phpbb.com/community/viewtop ... &t=2306856