Добавить CSS в белый список - радиус границы, непрозрачность, тень текста

Начнем с того, что у меня очень мало понимания PHP или того, как работает сам HTMLPurifier, и я полностью учусь на ходу. Я неплохо разбираюсь в HTML и CSS благодаря самообучению, но на данный момент я бы не назвал себя кем-то большим, чем новичком.

Я запускаю форум myBB через hostgator, где мои пользователи хотят, чтобы HTML позволял создавать причудливые таблицы для их сообщений. Поскольку мы открыли магазин всего месяц назад и пока у нас очень мало пользователей, которых я знаю и которым доверяю, я включил HTML. Около недели назад я использовал плагин и текущую библиотеку для установки HTMLPurifier на свой форум. Это прекрасно работает. Дело в том, что он съедает большую часть кода, который используют мои пользователи, чтобы их сообщения выглядели хорошо.

Я попытался подключить этот код, который я нашел здесь, в мой файл CSSDefinition.php между цветом границы и коды ширины границы, чтобы попытаться исправить проблему с радиусом границы.

// border-radius
$border_radius =
    $this->info['border-top-left-radius'] =
    $this->info['border-top-right-radius'] =
    $this->info['border-bottom-left-radius'] =
    $this->info['border-bottom-right-radius'] = new HTMLPurifier_AttrDef_CSS_Composite(array
(
    new HTMLPurifier_AttrDef_CSS_Length('0'),
    new HTMLPurifier_AttrDef_CSS_Percentage(true)
)
);
    $this->info['border-radius'] = new HTMLPurifier_AttrDef_CSS_Multiple($border_radius);

Это абсолютно ничего не дало, я полагаю, потому что он устарел. Я не смог найти никакой информации о добавлении text-shadow в мой белый список или о том, как разрешить непрозрачность ни через opacity:#;, ни через rbga(#,#,#,0.5), хотя я нашел хак для последнего, с которым я не мог разобраться. для того, что на самом деле делать с файлом.

Я не знаю, как запустить мой файл Config.php, потому что, глядя на код, я вижу, что там есть информация, но попытки посетить страницу с помощью различных средств ни к чему не приводят.


person Uri    schedule 07.10.2015    source источник
comment
Я это понимаю. Если вы прочтете мой пост, то увидите, что я прошу помощи в том, как добавить в белый список три конкретных элемента CSS, два из которых я понятия не имею, какой код мне следует вставить. Я просмотрел этот документ документации по конфигурации и нашел, где он говорит о CSS.AllowedProperties, но это не работает, когда я пытаюсь добавить код радиуса границы, который я связал выше.   -  person Uri    schedule 08.10.2015
comment
Вы нашли решение?   -  person user706420    schedule 04.01.2016
comment
@ user706420 Я не нашел решения. Я пытался обойтись использованием фильтра ненормативной лексики для некоторого кодирования, которое вызвало незначительные проблемы (ничего вредоносного), но я действительно хотел бы иметь возможность использовать HTMLPurifier.   -  person Uri    schedule 06.01.2016
comment
Патч для радиуса границы вы можете найти здесь: github.com/ezyang/htmlpurifier/pull/19 Патч для rgba можно найти здесь: reviews.mahara.org/#/c/3679/2/htdocs/lib/htmlpurifier/ непрозрачность включена, вы должны использовать $config-›set('CSS.AllowTricky' , ИСТИННЫЙ); не забудьте удалить кеш css в htmlpurifer, я все еще ищу решение для text- и border-shadow. ;)   -  person user706420    schedule 07.01.2016
comment
@ user706420 Спасибо! Я пытался очистить кеш и не нашел папку с именем CSS в DefinitionCache\Serializer\ . Папка Serializer пуста, если не считать фиктивного файла README. edit: Когда я установил HTMLPurifier на свой форум mybb, я включил только папку /library, как указано в плагине, который я использовал для его настройки, и я заметил, что «flush.php», конечно, вне этого. Это единственный способ очистить кеш?   -  person Uri    schedule 09.01.2016
comment
@user706420 user706420 Вы видели какие-либо коды белого списка для кода overflow:scroll/hidden/etc? Исправления, которые вы показали мне для других частей, сработали.   -  person Uri    schedule 12.01.2016