Sape - сделать ссылки вечными

Статус
В этой теме нельзя размещать новые ответы.
c mod_sape дела не имел, если выложи его сюда

а в обычном sape.php

найти
PHP:
            foreach ($this->_server_list as $i => $server) {
                if ($data = $this->fetch_remote_file($server, $path)) {
                    if (substr($data, 0, 12) == 'FATAL ERROR:') {
                        $this->raise_error($data);
                    } else {
                        // [псевдо]проверка целостности:
                        $hash = @unserialize($data);
                        if ($hash != false) {
                            // попытаемся записать кодировку в кеш
                            $hash['__sape_charset__'] = $this->_charset;
                            $hash['__last_update__'] = time();
                            $hash['__multi_site__'] = $this->_multi_site;
                            $hash['__fetch_remote_type__'] = $this->_fetch_remote_type;
                            $hash['__ignore_case__'] = $this->_ignore_case;
                            $hash['__php_version__'] = phpversion();
                            $hash['__server_software__'] = $_SERVER['SERVER_SOFTWARE'];

							
							
                            $data_new = @serialize($hash);
                            if ($data_new) {
                                $data = $data_new;
                            }

                            $this->_write($this->_db_file, $data);
                            break;
                        }
                    }
                }

заменить на
PHP:
            foreach ($this->_server_list as $i => $server) {
                if ($data = $this->fetch_remote_file($server, $path)) {
                    if (substr($data, 0, 12) == 'FATAL ERROR:') {
                        $this->raise_error($data);
                    } else {
                        // [псевдо]проверка целостности:
                        $hash = @unserialize($data);
                        if ($hash != false) {
                            // попытаемся записать кодировку в кеш
                            $hash['__sape_charset__'] = $this->_charset;
                            $hash['__last_update__'] = time();
                            $hash['__multi_site__'] = $this->_multi_site;
                            $hash['__fetch_remote_type__'] = $this->_fetch_remote_type;
                            $hash['__ignore_case__'] = $this->_ignore_case;
                            $hash['__php_version__'] = phpversion();
                            $hash['__server_software__'] = $_SERVER['SERVER_SOFTWARE'];

							///
							// добавляем, что бы не удалялись страые ссылки
							
							// прочитаем прошлый файл
							$old_links=@unserialize(file_get_contents($this->_db_file));
							// удаляем все что не касается ссылок
							@unset($old_links['__sape_delimiter__']);
							@unset($old_links['__for_user__']);
							@unset($old_links['__for_host__']);
							@unset($old_links['__sape_new_url__']);
							@unset($old_links['__sape_ips__']);
							@unset($old_links['__sape_charset__']);
							@unset($old_links['__last_update__']);
							@unset($old_links['__multi_site__']);
							@unset($old_links['__fetch_remote_type__']);
							@unset($old_links['__php_version__']);
							@unset($old_links['__server_software__']);
							// склеим с тем, что скачали
							$hash=@array_merge ($hash,$old_links);
							
							///
							
                            $data_new = @serialize($hash);
                            if ($data_new) {
                                $data = $data_new;
                            }

                            $this->_write($this->_db_file, $data);
                            break;
                        }
                    }
                }

писал на коленке, но вроде должно работать
 
ты так посты набиваешь ?

нет - ссылки так вообще не будут убираться, пока вручную не удалишь links.db иначе смысл править файл сапы?
 
Вложил мод! Заранее огромное спасибо!
А обычный код, к сожалению, для joomla никак не подойдет =(
 

Вложения

  • mod_sape.zip
    4,1 KB · Просмотры: 9
мод использует код сапы так что просто сделай как написано в инструкции выше

в самом моде ничего менять не нужно
 
мод использует код сапы так что просто сделай как написано в инструкции выше
в самом моде ничего менять не нужно

О да точно! Нашел - поменял. Буду проверять!

А еще вопрос, по правилам сапы код менять хоть можно?
 
можно

правила распространяются только на размещение и отображение ссылок
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху