X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Мини Хак для ДЛЕ
OldSpice
OldSpice
Topic Starter сообщение 17.4.2017, 18:42; Ответить: OldSpice
Сообщение #1


Всем привет!
Яндекс диск начал тотальное впаривание своего говнобраузера. И теперь если заходишь по старой ссылке на файл - он просит сначала установить яндекс браузер. Чтобы такого не было, нужно к каждой ссылке добавлять в конце "?force_show=1"

Как средствами ДЛЕ можно сделать, чтобы если ссылка на яндекс.диске, то в конце каждой ссылки будет добавляться эта фраза?

Если кто-то готов помочь платно - тоже пишите, договоримся.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WoWeb
WoWeb
сообщение 17.4.2017, 18:52; Ответить: WoWeb
Сообщение #2


OldSpice, могу простенький скрипт написать для этого, пишите в скайп или icq


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alexandr_js
Alexandr_js
сообщение 17.4.2017, 19:34; Ответить: Alexandr_js
Сообщение #3


В зависимости где лежит ссылка:
1) Через запрос в базу (и заменить везде)
2) Добавить концвоку ссылки в шаблоне

Сообщение отредактировал Alexandr_js - 17.4.2017, 19:35


--------------------
Забанен за мошенничество
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
OldSpice
OldSpice
Topic Starter сообщение 17.4.2017, 21:38; Ответить: OldSpice
Сообщение #4


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

Цитата
2) Добавить концвоку ссылки в шаблоне

В шаблон не получится. Потому как часть файлов только на яндексе.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Kumidzeke
Kumidzeke
сообщение 18.4.2017, 12:53; Ответить: Kumidzeke
Сообщение #5


Цитата(OldSpice @ 17.4.2017, 21:38) *
В шаблон не получится. Потому как часть файлов только на яндексе.

В шаблоне проверить куда ведет ссылка и добавить что вам необходимо. :pardon:
Но думаю это говнокод и по скорости может подводить. Решение с базой которое вам советовал Александр самое здравое, ИМХО. Сколько у вас файлов/записей хранится?


--------------------
Telegram — @za4me
Skype — Kumidzeke
Vk — vk.com/za4me


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
webjey
webjey
сообщение 19.4.2017, 12:27; Ответить: webjey
Сообщение #6


Насколько я понял ,вам надо все ссылки вида https://yadi.sk/i/123123 ,превратить в https://yadi.sk/i/123123?force_show=1
Добавте в шаблон следующий код(конечно если jQuery подключен):
Код
    
<script type="text/javascript">
        jQuery(function($){
            $( "a[href^='https://yadi.sk/']" ).attr('href',function (idx, value) {
                return value+'?force_show=1';
            });
        });
</script>


Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alexandr_js
Alexandr_js
сообщение 19.4.2017, 14:43; Ответить: Alexandr_js
Сообщение #7


Цитата(Kumidzeke @ 18.4.2017, 12:53) *
Решение с базой которое вам советовал Александр самое здравое, ИМХО. Сколько у вас файлов/записей хранится?

Да там без разницы по сути, через Replace и все будет пучком, 1 запрос и вся база готова.

Цитата(webjey @ 19.4.2017, 12:27) *
Насколько я понял ,вам надо все ссылки вида https://yadi.sk/i/123123 ,превратить в https://yadi.sk/i/123123?force_show=1
Добавте в шаблон следующий код(конечно если jQuery подключен):

Вот он любитель костылей :D


п.с. если такой скрипт делать то уж на пхп в момент вывода дома. А не переделывать дом...
Как выше подметил коллега
Цитата(Kumidzeke @ 18.4.2017, 12:53) *
В шаблоне проверить куда ведет ссылка и добавить что вам необходимо.



Сообщение отредактировал Alexandr_js - 19.4.2017, 14:56


--------------------
Забанен за мошенничество
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Kumidzeke
Kumidzeke
сообщение 19.4.2017, 16:54; Ответить: Kumidzeke
Сообщение #8


Цитата(Alexandr_js @ 19.4.2017, 14:43) *
Да там без разницы по сути, через Replace и все будет пучком, 1 запрос и вся база готова.

Если очень объемная база, то думаю разумнее будет прогнать циклом, т.к. сервак может лечь.
ТС не хочет рассказывать про объем БД, а так у меня где-то в закромах валяется скриптец подобный для DLE, который циклом в БД меняет ссылки или еще что-то.

Цитата(Alexandr_js @ 19.4.2017, 14:43) *
п.с. если такой скрипт делать то уж на пхп в момент вывода дома. А не переделывать дом

Yep, +1. ТС, крайне не советую использовать вариант с jQuery предложенный выше.

Сообщение отредактировал Kumidzeke - 19.4.2017, 16:56


--------------------
Telegram — @za4me
Skype — Kumidzeke
Vk — vk.com/za4me
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alexandr_js
Alexandr_js
сообщение 19.4.2017, 18:31; Ответить: Alexandr_js
Сообщение #9


Цитата(Kumidzeke @ 19.4.2017, 16:54) *
Если очень объемная база, то думаю разумнее будет прогнать циклом, т.к. сервак может лечь.

Ну тогда сделать процедуру :P И все прогнать внутри базы


--------------------
Забанен за мошенничество
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
webjey
webjey
сообщение 20.4.2017, 13:35; Ответить: webjey
Сообщение #10


Продолжим :popcorn2:

PHP

Код
preg_replace('#(https://yadi.sk/i/[\w\d]+)#is',"$1?force_show=1",$text);


MYSQL

Код
DROP FUNCTION IF EXISTS `change_link`;

CREATE FUNCTION `change_link`(original TEXT)
RETURNS text
    DETERMINISTIC
BEGIN
  DECLARE endpos INTEGER;
  DECLARE startpos  INTEGER;
  DECLARE url VARCHAR(100);

  SET startpos=LOCATE('https://yadi.sk',original);
  SET endpos=startpos+18;

  WHILE  SUBSTR(original,endpos,1) REGEXP '[A-Za-z0-9 ]' DO
    SET endpos=endpos+1;
  END WHILE;
    SET url=SUBSTR(original ,startpos,endpos-startpos);
    RETURN  REPLACE(original ,url,CONCAT(url,'?force_show=1'));
  END;


Код
UPDATE dle_post SET short_story = change_link(short_story);
UPDATE dle_post SET full_story = change_link(full_story);



Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыSiteAnalyzer - бесплатная программа для аудита и анализа сайта
79 Chaser 74320 Сегодня, 1:02
автор: Chaser
Открытая тема (нет новых ответов) Посоветуйте массажер для спины и шеи
11 Boymaster 935 Вчера, 18:24
автор: Arsenwenger
Горячая тема (нет новых ответов) ⭕Антидетект браузер AdsPower для эффективной работы с мультиаккаунтами!
84 AdsPower 24599 Вчера, 16:35
автор: AdsPower
Горячая тема (нет новых ответов) Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат
55 arendator 35109 Вчера, 2:12
автор: arendator
Открытая тема (нет новых ответов) Rebex.io – Ваша инновационная платформа для обмена криптовалюты!
3 Rebex 975 24.4.2024, 20:50
автор: Rebex


 



RSS Текстовая версия Сейчас: 26.4.2024, 4:02
Дизайн