use Joomla\CMS\Factory;
class PlgContentJCEAttach extends JPlugin //создаем класс PlgContentCurrentDate на базе системного JPlugin
{
public function onContentPrepare($context, &$article, &$params, $page = 0) //переписываем метод onContentPrepare класа JPlugin, который вызовется перед показом материала
{
// $pretext = $this->params->get('pretext'); //загружаем из параметров фразу-приветствие с аттрибутом name="pretext"
//Если есть уже модифицированное вложение
if (preg_match_all('/
find('[data-fio]')) {
$fio = $html->find('[data-fio]')[0]->attr["data-fio"];
} else {
$fio = '';
}
if ($html->find('[data-key]')) {
$key = $html->find('[data-key]')[0]->attr["data-key"];
} else {
$key = '';
}
if ($html->find('[data-data]')) {
$data = $html->find('[data-data]')[0]->attr["data-data"];
} else {
$data = '';
}
if ($html->find('a')) {
foreach ($html->find('a') as $texts) {
$text = $texts->innertext;
}
} else {
$text = '1';
}
//var_dump($text);
$extension = pathinfo($href, PATHINFO_EXTENSION);
if ($sizes != '') {
$size = $sizes;
} else {
$size = get_filesize($href);
}
$iconPath = getExtension($href);
//Если это файл с меню, модифицируем ссылку и название
if (preg_match('/images\/food\/[0-9]{4}-[0-9]{2}-[0-9]{2}-sm\.xlsx/', $href)) {
$href = str_replace('images/', '/', $href);
$text = $article->title;
}
if (preg_match('/images\/food\/tm[0-9]{4}-sm\.xlsx/', $href)) {
$href = str_replace('images/', '/', $href);
}
if (preg_match('/images\/food\/kp[0-9]{4}\.xlsx/', $href)) {
$href = str_replace('images/', '/', $href);
}
if (preg_match('/images\/food\/findex\.xlsx/', $href)) {
$href = str_replace('images/', '/', $href);
//$text = $article->title;
}
//Если заполнено поле с датой показыаем иконку эцп, иначе не показываем
if ($data != '' && $data != 0 && strlen($data) > 5) {
$newUrl = '' . $iconPath . '' . $text . ' (' . $extension . ', ' . $size . ')Документ подписан электронной подписьюСерийный номер
' . $key . 'Подписан
' . $fio . 'Дата подписания документа
' . $data . '';
} else {
//var_dump($text);
$newUrl = '
' . $iconPath . ' ' . $text . ' (' . $extension . ', ' . $size . ')';
}
// echo '
';
// var_dump ($newUrl);
// echo '
';
//Отображаем ссылку
$article->text = str_replace($file, $newUrl, $article->text);
}
}
// $article->description != ''
//проверяем, есть ли в материале ссылка вложение и пишем ее в переменную
if (preg_match_all('/
find('[data-key]')) {
$key = $html->find('[data-key]')[0]->attr["data-key"];
} else {
$key = '';
}
if ($html->find('[data-data]')) {
$data = $html->find('[data-data]')[0]->attr["data-data"];
} else {
$data = '';
}
if ($html->find('a')) {
foreach ($html->find('a') as $texts) {
$text = $texts->innertext;
}
} else {
$text = '1';
}
$extension = pathinfo($href, PATHINFO_EXTENSION);
$size = get_filesize($href);
$iconPath = getExtension($href);
//Проверяем на наличие ЭЦП и формируем нужную ссылку
$fileecp = $_SERVER['DOCUMENT_ROOT'] . '/' . $href;
$otvetecp = goPictogram($fileecp);
//var_dump($otvetecp);
if ($otvetecp['dat'] != '' && strlen($otvetecp['dat']) > 5 && strlen($otvetecp['dat']) < 30) {
$key = $otvetecp['key'];
$data = $otvetecp['dat'];
$fio = $otvetecp['fio'];
}
// var_dump($article);
//ссылка для замены перед выводом
$newUrl = '' . $iconPath . '' . $text . ' (' . $extension . ', ' . $size . ')';
//var_dump($newUrl);
//ссылка для бд
$newUrlBD = '
' . $text . '';
//var_dump($article->id);
// Пишем в категорию
if ($article->description != '') {
//Заменяем в базе категории описание ссылку на новую
$db = Factory::getDbo();
$query = $db->getQuery(true);
$query = "UPDATE #__categories SET `description` = REPLACE(`description`,'$file','$newUrlBD') WHERE `id` = '$article->id';";
$db->setQuery($query);
$result = $db->loadObjectList();
//echo $query;
// Пишем в материал
} else {
//Заменяем в базе материала ссылку на новую
$db = Factory::getDbo();
$query = $db->getQuery(true);
$query = "UPDATE #__content SET `introtext` = REPLACE(`introtext`,'$file','$newUrlBD') WHERE `id` = '$article->id';";
$db->setQuery($query);
$result = $db->loadObjectList();
//Заменяем в базе материала ссылку на новую
$db = Factory::getDbo();
$query = $db->getQuery(true);
$query = "UPDATE #__content SET `fulltext` = REPLACE(`fulltext`,'$file','$newUrlBD') WHERE `id` = '$article->id';";
$db->setQuery($query);
$result = $db->loadObjectList();
}
//Отображаем ссылку с эцп на сайте
$article->text = str_replace($file, $newUrl, $article->text);
}
}
return false;
}
}
В школе прошла акция по сбору гуманитарной помощи «Подари новогоднее чудо» для наших солдат СВО. Ученики и педагоги собрали продукты длительного хранения, средства личной гигиены, медикаменты, теплую одежду. Не забыли ребята и поздравить с участников СВО с наступающим Новым Годом, написав трогательные письма!
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter