Вставляем фотогафий из Instagram в DLE
Instagram уже довольно популярна и вставку фотографий из этой сети уже можно включать в DLE, но пока этого не произошло сделаем это сами.
Единственный минус то, что нет настроек размера через админку, но это уже мелочи. Фотографии в Instargam все одного размера 640х640 px., поэтому, собственно, настройки особо и не нужны.
Правка движка не значительная, я делаю для версии 10.4, но для остальных версий думаю тоже самое, по крайней мере для 10.3 точно. Нам нужен только 1 файл — engine/classes/parse.class.php
Во-первых, нужно разрешить вставку iframe для домена instagram.com, для этого нужно добавить в
var $allowed_domains = array();
обязательно до закрывающей скобки, домен:
"//instagram.com/"
найти
if ($source['host'] != "youtube.com" AND $source['host'] != "youtu.be" AND $source['host'] != "vimeo.com" AND $source['host'] != "video.mail.ru" AND $source['host'] != "smotri.com" AND $source['host'] != "gametrailers.com") return "[media=".$url."]";
и заменить на
if ($source['host'] != "youtube.com" AND $source['host'] != "youtu.be" AND $source['host'] != "vimeo.com" AND $source['host'] != "video.mail.ru" AND $source['host'] != "smotri.com" AND $source['host'] != "gametrailers.com" AND $source['host'] != "instagram.com") return "[media=".$url."]";
далее найти
} elseif ($source['host'] == "video.mail.ru") {
и ниже, после закрывающейся фигурной скобки } вставить
elseif ($source['host'] == "instagram.com") { $video_link = substr($source['path'], 2); $video_link = str_replace( "/", "", $video_link ); $depre_url = "http://instagram.com/p/".$video_link."/"; return '<!--dle_media_begin:'.$depre_url.'--><iframe width="640px" height="720px" src="http://instagram.com/p/'.$video_link.'/embed" frameborder="0" allowfullscreen="allowfullscreen"></iframe><!--dle_media_end-->'; }
Вот и всё. Вставлять очень просто, нужно скопировать адрес страницы с фотографией и вставить в тег [media=…]
например:
[media=http://instagram.com/p/MjYxxJs32C/]
P.S. иногда, ссылки на страницу с фотографией имеют в конце: ?modal=true, так вставлять тоже можно, т.е.
[media=http://instagram.com/p/MjYxxJs32C/?modal=true]
сработает и фотография будет отображаться.