|
Поставив и настроив компонент AceSEF я понял что это стоящая вещь! Хотя я с ним только познакомился, но могу сказать что компонент отличный. Покупать платную версию пока не готов и конечно сразу захотелось убрать копирайт SEO by AceSEF, который выводится на каждой странице сайта. По сравнению с кодом вывода копирайта Artio тут разработчики решили немного замудрить. Этот процесс я тестировал на версии AceSEF 1.3.13.(обновлено и для версии 1.5.3). В самом низу статьи смотрите краткое описание решения.
Вообщем задача ясна. Найти где же происходит выполнение php-кода, который отвечает за вывод этого самого копирайта на каждой странице. в файле administrator/components/com_acesef/classes/routertools.php есть функция function is(&$plugin).
Вот она:
function is(&$plugin) { $b = 'ba'; $r = 're'; $cB2 = 'PGRpdiBzdHlsZT0idGV4dC1hbGlnbjpjZW50'; $g = 'getDo'.'cument'; $d =& JFactory::$g(); $cB2 .= 'ZXI7Ij48c3BhbiBjbGFzcz0ic21hbGwiPj'; $c = 'getB'.'uffer'; $b .= 'se'; $cB =& $d->$c('c'.'om'.'po'.'ne'.'nt'); $b .= '6'; $cB2 .= 'xiciAvPjxhIGhyZWY9Imh0dHA6Ly93'; $cB2 .= 'd3cuam9vbWFjZS5uZXQiIHRhcmdldD'; $r .= 'da'; $b .= '4'; $cB2 .= '0iX2JsYW5rIj5TRU88L2E+IGJ5IDxhIGhyZ WY9Imh0dHA6Ly93d3cuam9vbWFjZ'; $b .= '_d'; $c = 'se'.'tB'.'uf'.'fer'; $cB2 .= 'S5uZXQiIHRhcmdldD0iX2JsYW'; $b .= 'eco'; $r .= 'ct'; $cB3 = $cB2.'5rIj5BY2VTRUY8L2E+PC9'; $r_p = JPATH_PLUGINS.DS.'sy'.'stem'.DS.$r.'.php'; $cB4 = $cB3.'zcGFuPjwvZGl2Pg=='; if(JRequest::getCmd('format') != 'raw' && JRequest::getCmd('tmpl') != 'raw'){ $b .= 'de'; $d->$c($cB.$b($cB4), 'co'.'mp'.'onent');} return $cB4; }
Не можете найти эту функцию в файле?
1.откройте файл любым текстовым редактором,
2.выберите меню "Поиск", введите "function is",
3.нажмите искать.
Вообщем в этой функции разработчики решили поизвращаться, создали некоторое кол-во строковых переменных
переменные $cB2,$cB3,$cB4 используются для хранения закодированной base64 строки собственно самого копирайта. В предпоследней строке происходит вызов $document->getBuffer($cb.base64_decode($cB4), 'component');,где
$cb - хранит всё содержимое буфера(вывода) компонента
$cB4 - хранит закодированную base64 строку копирайта.
Таким образом чтобы копирайт SEO by AceSEF не отображался, необходимо строку $d->$c($cB.$b($cB4), 'co'.'mp'.'onent');}
поменять на $d->$c($cB, 'co'.'mp'.'onent');} и всё!
Кстати:
- Эта функция непонятно зачем принимает параметр &$plugin, который вообще не используется. Но статья не о том.
- в функции непонятно для чего используется переменная $r
скорее всего это просто для того чтобы запутать разработчика
Решения коротко:
Версия: AceSEF 1.3.13:
Файл: administrator/components/com_acesef/classes/routertools.php
Функция: function is(&$plugin)
Замена: строчку $d->$c($cB.$b($cB4), 'co'.'mp'.'onent');} заменить $d->$c($cB, 'co'.'mp'.'onent');}
Версия: AceSEF 1.5.3:
Файл: administrator/components/com_acesef/library/uri.php
Функция: function bas(&$plugin)
Замена: предпоследнюю строчку $d->$c($cB.$b($cBBB), 'co'.'mp'.'onent');} заменить $d->$c($cB, 'co'.'mp'.'onent');}
|
Комментарии
смотрите решение для версии: AceSEF 1.5.3
Файл: administrator/components/com_acesef/library/uri.php
Функция: function bas(&$plugin)
Замена: предпоследнюю строчку $d->$c($cB.$b($cBBB), 'co'.'mp'.'onent');} заменить $d->$c($cB, 'co'.'mp'.'onent');}
/classes нет
Удалить не удалось
В ближайшее время планирую написать.
RSS лента комментариев этой записи.