1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

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

Тема в разделе "Joomla", создана пользователем bummm, 1 ноя 2010.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
Модераторы: arman29, DMS, Genk0
  1. bummm

    bummm

    Регистр.:
    26 июл 2008
    Сообщения:
    443
    Симпатии:
    95

    Хочу убрать с сайтов мигание, как сделать так, чтобы купленная ссылка уже не исчазала?
    Может кто-то подскажет решение? =)
    Ручное размещение не интересует...
     
  2. EugeneVC

    EugeneVC

    Регистр.:
    28 окт 2007
    Сообщения:
    297
    Симпатии:
    83

    Самое простое модифицировать файл sape.php. Этот скрипт раз в N минут обновляет кэш ссылок, примерно раз в 3 часа. Вам нужно запретить ему удалять ссылки которые уже были, а только добавлять. Закажите PHP программисту за 10$.

     
  3. bummm

    bummm

    Регистр.:
    26 июл 2008
    Сообщения:
    443
    Симпатии:
    95


    Порекомендовать какого-то php программиста можете?
    Надо тогда изменить модуль mod_sape...

     
  4. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    c mod_sape дела не имел, если выложи его сюда

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

    найти
    PHP:
                foreach ($this->_server_list as $i => $server) {
                    if (
    $data $this->fetch_remote_file($server$path)) {
                        if (
    substr($data012) == '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($data012) == '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;
                            }
                        }
                    }
    писал на коленке, но вроде должно работать
     
    bummm нравится это.
  5. Капча

    Капча Читатель

    Заблокирован
    Регистр.:
    23 мар 2010
    Сообщения:
    101
    Симпатии:
    12
    а будут ли тогда убираться непроплаченные ссылки ?
     
  6. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    ты так посты набиваешь ?

    нет - ссылки так вообще не будут убираться, пока вручную не удалишь links.db иначе смысл править файл сапы?
     
  7. bummm

    bummm

    Регистр.:
    26 июл 2008
    Сообщения:
    443
    Симпатии:
    95
    Вложил мод! Заранее огромное спасибо!
    А обычный код, к сожалению, для joomla никак не подойдет =(
     

    Вложения:

    • mod_sape.zip
      Размер файла:
      4,1 КБ
      Просмотров:
      9
  8. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    мод использует код сапы так что просто сделай как написано в инструкции выше

    в самом моде ничего менять не нужно
     
  9. bummm

    bummm

    Регистр.:
    26 июл 2008
    Сообщения:
    443
    Симпатии:
    95
    О да точно! Нашел - поменял. Буду проверять!

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

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    можно

    правила распространяются только на размещение и отображение ссылок
     
Статус темы:
Закрыта.