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

Статус
В этой теме нельзя размещать новые ответы.
Я не понял вопроса - автоматизировать можно

как часто - когда захочешь убрать неоплаченные ссылки

Вопрос - на сколько я понял - как сделать ссылки вечными, что бы не было мигания. В этих рамках твой вопрос мне непонятен

Если цель не убирать неоплаченные всегоп ару дней ссылки - код будет другой. Совсем.
 
Попробовал вот сегодня добавить сайт - с измененным кодом не добавляется сайт в sape. Поменял на обычный код - добавился.

Почему так? Если после индексации заменить код, то может будет работать?
 
может при индексации какой-то особенный линкс db создается - у меня такого нет

попробуй после индексации поменять код
 
поменяй @unset на unset

если не пойдет - стучи в аську
 
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;
                        }
                    }
                }
писал на коленке, но вроде должно работать

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