Jump to content
bot002

ПОМОГИТЕ. постоянно добавляется код в seo_pro.php

Recommended Posts

Posted (edited)

Доброе время суток.

При редактировании модулей или любом сохранении настроек в админке сайт - вылетает с ошибкой  (админка продолжает работать нормально)

Parse error: syntax error, unexpected 'if' (T_IF), expecting function (T_FUNCTION) in ХХХХХХХХХ/www/system/storage/modification/catalog/controller/startup/seo_pro.php on line 22

 

Посмотрел - постоянно добавляется в функцию class ControllerStartupSeoPro extends Controller {

вот это

 if (isset($this->request->get['route']) && $this->request->get['route'] == 'extension/feed/google_sitemap') {
            return;
        }

 

Стираю - все нормально. Все работает... но как только лезу обновлять модификаторы или еще что - сразу эта беда((( Как найти, почему это происходит? что меняет файл seo-pro

Edited by bot002

Share this post


Link to post
Share on other sites

посмотрите ocmod.log какой модификатор добавляет этот код

Share this post


Link to post
Share on other sites

у вас есть какой-то конфликт модификаторов
1. открыть файл, в котором ошибка www/system/storage/modification/catalog/controller/startup/seo_pro.php, посмотреть что там на 22 строке
2. понять какой модификатор вносит изменения в этот файл, примерно в этот блок
3. поправить сам модификатор

Share this post


Link to post
Share on other sites
Posted (edited)

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

Edited by Tom
  • +1 1

Share this post


Link to post
Share on other sites
5 часов назад, Tom сказал:

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

нашел дефолтный файл, заменил, обновил кеш модификаторов - то же самое! что-то постоянно перезаписывает этот файл, дописывая вот это на 22 строку

 if (isset($this->request->get['route']) && $this->request->get['route'] == 'extension/feed/google_sitemap') {

Share this post


Link to post
Share on other sites
Posted (edited)
6 часов назад, PaulKravchenko сказал:

посмотрите ocmod.log какой модификатор добавляет этот код

Нашел log.

Значит получается, файл сеопро модифицирует только 

Спойлер

MOD: UniShop template
FILE: catalog/controller/startup/seo_url.php
CODE: if ($url[0] == 'information_id') {
LINE: 44
CODE: $url[0] != 'information_id'
LINE: 48
CODE: } elseif (isset($this->request->get['information_id'])) {
LINE: 69
CODE: } elseif ($key == 'path') {
LINE: 95
FILE: catalog/controller/startup/seo_pro.php
CODE: $this->request->get['route'] = 'information/information';
LINE: 95
CODE: case 'path':
LINE: 198

 

после изменения на 22 строке в seo_pro.php появляется упоминание google_sitemap

Спойлер

MOD: Sitemap Lastmod Fix 2032
FILE: catalog/controller/extension/feed/google_sitemap.php
CODE: $output .= '<lastmod>' . date('Y-m-d\TH:i:sP', strtotime($product['date_modified'])) . '</lastmod>';
LINE: 17

 

Прикрепил файлы, может что подскажете(

ocmod_error.log ocmod.log

Edited by bot002

Share this post


Link to post
Share on other sites
28 минут назад, bot002 сказал:

после изменения на  строке в seo_pro.php появляется упоминание google_sitemap

Где появляется?

То, что вы скинули, к SeoPro никакого отношения не имеет.

 

29 минут назад, bot002 сказал:

Значит получается, файл сеопро модифицирует только 

Значит конфликт с модификаторами шаблона UniShop.

Share this post


Link to post
Share on other sites
5 часов назад, bot002 сказал:

нашел дефолтный файл, заменил, обновил кеш модификаторов - то же самое! что-то постоянно перезаписывает этот файл, дописывая вот это на 22 строку

 if (isset($this->request->get['route']) && $this->request->get['route'] == 'extension/feed/google_sitemap') {

Заменять нужно было файл 

catalog\controller\startup\seo_pro.php

 

5 часов назад, Dotrox сказал:

Значит конфликт с модификаторами шаблона UniShop.

Здесь конфликт с личными правками данного файла.

Share this post


Link to post
Share on other sites
Posted (edited)
3 часа назад, Tom сказал:

Заменять нужно было файл 


catalog\controller\startup\seo_pro.php

 

Здесь конфликт с личными правками данного файла.

 

Я не знаю, что я не так пишу выше...

 

Я заменил файл 

seo_pro.php

на дефолтный именно по тому адресу, по которому вы указали. Но при первой же правке панели управления. (очистка кеша модификаторов или сохранения изменения настроек каких либл) ЭТОТ файл перезаписывается... в нем появляется дополнительный код!

 

КОНКРЕТНО:

БЫЛО В ДЕФОЛТЕ :

 

Спойлер

 

<?php
class ControllerStartupSeoPro extends Controller {
    private $cache_data = null;

    public function __construct($registry) {
        parent::__construct($registry);
        $this->cache_data = $this->cache->get('seo_pro');
        if (!$this->cache_data) {
            $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id");
            $this->cache_data = array();
            foreach ($query->rows as $row) {
                if (isset($this->cache_data['keywords'][$row['keyword']])){
                    $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']];
                    continue;
                }
                $this->cache_data['keywords'][$row['keyword']] = $row['query'];
                $this->cache_data['queries'][$row['query']] = $row['keyword'];
            }
            $this->cache->set('seo_pro', $this->cache_data);
        }
    }

    public function index() {

 

 

Стало в измененном файле (выделил, что добавляется):

Спойлер

 

<?php
class ControllerStartupSeoPro extends Controller {
    private $cache_data = null;

    public function __construct($registry) {
        parent::__construct($registry);
        $this->cache_data = $this->cache->get('seo_pro');
        if (!$this->cache_data) {
            $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id");
            $this->cache_data = array();
            foreach ($query->rows as $row) {
                if (isset($this->cache_data['keywords'][$row['keyword']])){
                    $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']];
                    continue;
                }
                $this->cache_data['keywords'][$row['keyword']] = $row['query'];
                $this->cache_data['queries'][$row['query']] = $row['keyword'];
            }
            $this->cache->set('seo_pro', $this->cache_data);
        }
    }
if (isset($this->request->get['route']) && $this->request->get['route'] == 'extension/feed/google_sitemap') {
            return;
        }

    public function index() {

 

 


В связи с этим сайт не работает. При загрузке домена появляется ошибка 


Parse error: syntax error, unexpected 'if' (T_IF), expecting function (T_FUNCTION) in /home/ukrcoi00/ukrcoins.com.ua/www/system/storage/modification/catalog/controller/startup/seo_pro.php on line 22

 

Только я стираю эту добавленную запись, сохраняю файл - все сразу работает. Все норм. Но при следующих манипуляциях в панели управления опять все по новой...

Edited by bot002

Share this post


Link to post
Share on other sites
Posted (edited)

Ещё раз....

Вы внесли правки в файл catalog\controller\startup\seo_pro.php

Внесли их собственноручно или с чьей либо помощью.

Строка эта вызывает ошибку, вы добавили её в файл , но эта ошибка не отображалась, до тех пор пока не был обновлён кеш модификаторов. 

В дефолтном файле нет таких строк.

Заменить файл  нужно точно там , где я написал, а именно по пути
catalog/controller/startup/seo_pro.php

Но никак не в 
system/storage/modification/catalog/controller/startup/seo_pro.php

Edited by Tom

Share this post


Link to post
Share on other sites
Posted (edited)
7 часов назад, Tom сказал:

Ещё раз....

Вы внесли правки в файл catalog\controller\startup\seo_pro.php

Внесли их собственноручно или с чьей либо помощью.

Строка эта вызывает ошибку, вы добавили её в файл , но эта ошибка не отображалась, до тех пор пока не был обновлён кеш модификаторов. 

В дефолтном файле нет таких строк.

Заменить файл  нужно точно там , где я написал, а именно по пути
catalog/controller/startup/seo_pro.php

Но никак не в 
system/storage/modification/catalog/controller/startup/seo_pro.php

 

Все. Сделал. Благодарю в который раз. 

Edited by bot002

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.