S

snooker

+10
Репутация
0
Рейтинг
#1 Виджет Инстаграм 17 июня 2014 в 00:02
Поискал, решил сам написать, так как большинство завязаны на сервисах и работают через ифрейм.
Вот что получилось: вставил в модуль, показывается нужное количество фоток, минус фотки юзеров из черного списка, все одним файлом.
Принимаю критику)
Думаю фильтровать по количеству лайков. Застолбил название "Инстантграм"
  1.  
  2. <style>
  3. .instantgram {
  4. border: 3px solid #eee;
  5. float:left;
  6. overflow: hidden;
  7. margin:5px;
  8. position: relative;
  9. }
  10. .instantgram img:hover {
  11. filter: alpha(opacity=80);
  12. opacity: 0.8;
  13. }
  14. .dark-background {
  15. background-color: rgba(15, 15, 15, 0.6);
  16. color: #fff;
  17. text-shadow: #000 0px 0px 10px;
  18. display: none;
  19. font-size: 1.0em;
  20. font-weight: bold;
  21. height: 100%;
  22. position: absolute;
  23. text-align: center;
  24. text-decoration: none;
  25. width: 100%;
  26. z-index: 100;
  27. }
  28. </style>
  29.  
  30. <?php
  31. $tag="питер";
  32. $count=10;// колво фоток
  33. $token="ХХХХХХХХХХХХХХХХХХХХ";//access token можно получить по адресу http://instagram.com/developer/api-console/# , авторизовавшись, сделать любой запрос, в ответе придет токен
  34. $blist="reklama,spamer"; //черный список пользователей, через запятую
  35. $resolution="thumbnail"; //thumbnail =150x150, low_resolution =306х306, standard_resolution =640х640
  36. $bl=explode(",",$blist);
  37.  
  38. $url="https://api.instagram.com/v1/tags/".$tag."/media/recent?access_token=".$token;
  39. $html=file_get_contents_curl($url);
  40.  
  41.  
  42. $posts = json_decode( $html );
  43. $a = object_to_array($posts);
  44. $posts = $a["data"];
  45. //print_r($posts);
  46. $i=0;$x=0;
  47. while ($i <$count) {
  48. $post=$posts[$x];
  49. $x++;
  50. if (!in_array($post["caption"]["from"]["username"],$bl)){
  51. echo "<div class=\"instantgram\">\n";
  52. echo "<a href=\"".$post["link"]."\" target=\"_blank\">\n";
  53. echo "<span class=\"dark-background\">".$post["caption"]["from"]["username"]."<br>&hearts; ".$post["likes"]["count"]."<br>".date("d.m.Y",$post["created_time"])."<br>".$post["caption"]["text"]."</span>\n";
  54. echo "<img src='".$post["images"][$resolution]["url"]."'></a>\n";
  55. echo "</div>\n";
  56. $i++;
  57. }
  58. }
  59.  
  60.  
  61. function object_to_array($data)
  62. {
  63. if(is_array($data) || is_object($data))
  64. {
  65. $result = array();
  66. foreach($data as $key => $value) {
  67. $result[$key] = object_to_array($value);
  68. }
  69. return $result;
  70. }
  71. return $data;
  72. }
  73.  
  74. function file_get_contents_curl($url) {
  75. $ch = curl_init();
  76. curl_setopt($ch, CURLOPT_HEADER, 0);
  77. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  78. curl_setopt($ch, CURLOPT_URL, $url);
  79. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  80. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
  81. $data = curl_exec($ch);
  82. curl_close($ch);
  83. return $data;
  84. }
  85. ?>
  86. <script type="text/javascript">
  87. $(document).ready(function() {
  88. $('.instantgram').mouseenter(function(e) {
  89. $(this).children('a').children('span').fadeIn(200);
  90. }).mouseleave(function(e) {
  91. $(this).children('a').children('span').fadeOut(200);
  92. });
  93. });
  94. </script>
  95.  
#2 Виджет Инстаграм 16 июня 2014 в 22:08


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

Sonat

Ну, так то, да) Начал искать в яндексе. Думал уже есть готовое решение, но поиск по форуму не дал.
#1 Виджет Инстаграм 16 июня 2014 в 21:28
Всем привет!
Подскажите, существует ли виджет для instantcms отображающий фотки из инстаграма?
#3 [ЕСТЬ РЕШЕНИЕ] Подскажите по GET в php) 16 июня 2014 в 21:00


строку-то формирует не юзер абы как, эти abr наверняка ограничены и все известны и на стадии написания

Sonat
Известны, всего 16 (возможно прибавиться), и пересечения уже есть)
Можно убрать пересечения, но разбить строку всего один раз не проблема)

… а вот проверка вывода мне не сильно нравится) каждый раз скрипт пробегает по 16 блокам и проверяет 16 строк на вхождение искомого)) даже если мы запросили всего 1 блок) но без проверки мы не узнаем какой именно из них…

Вернее я название знаю и визуально вижу часть кода которую нужно вывести, но php слепой)) пока все не пощупает не поверит))

Вопрос: Стоит ли как то делать подсчет переданных "слов" и искать блоки пока кол-во блоков не сравняется с кол-вом слов?)))
Типа чтоб лишнее не проверять если уже все блоки найдены)

reload

Так просто пройтись по массиву $abr, не будет лишних проверок.

  1.  
  2. $abr = explode(",", $_GET["abr"]);
  3. foreach ($abr as $blok){
  4. echo "<br>Блок ".$blok;
  5. }
  6.  
#4 Как сделать страницу зависимой 16 июня 2014 в 16:39


Вопрос решен! Помогло

{ФАЙЛ=test.php}

Только ват нюанс один. как убрать

Shahin

Это хорошо. Я обычно вставляю файл в модуль и потом настраиваю только его отображение и доступ.
#5 Как сделать страницу зависимой 16 июня 2014 в 15:31


snooker, Пишет

Shahin

А он есть на самом деле?
#6 Как сделать страницу зависимой 16 июня 2014 в 15:05
Shahin, а вы не пробовали залить свой файл в includes/myphp/ и вызвать его в статье {ФАЙЛ=my.php}?
#7 Фальшивый счетчик 16 июня 2014 в 02:45
Самое простое выводить количество секунд с начала суток, естественно в нужной пропорции. В сутках 86400 секунд, если надо всего 3000 человек в сутки, то составляем пропорцию. Нигде ничего сохранять не надо, минус только в том, что для пытливого юзера, перезагрузившего страницу десять раз подряд цифра не будет меняться, но это можно объяснить "умностью" счетчика, который не учитывает сессии.
  1. $max=3000;
  2. $time=date("H")*3600+date("i")*60+date("s");
  3. $count=round($time*$max/86400);
  4. echo "Посетителей за сегодня ".$count;
#8 [ЕСТЬ РЕШЕНИЕ] Подскажите по GET в php) 16 июня 2014 в 02:20
тьфу, опоздал)
#9 [ЕСТЬ РЕШЕНИЕ] Подскажите по GET в php) 16 июня 2014 в 02:19
Sonat
Будут ложные срабатывания, например при "paramama".
Наверно лучше разбить строку:
  1.  
  2. $abr = explode(",", $_GET["abr"]);
  3. if (in_array("mama", $abr )) {
  4. echo "Это мама";
  5. }
  6.  
#10 Упорядочивание вкладок в профиле 6 февраля 2014 в 01:05
В com_users_profile.tpl порядок смотрели?
#11 2165 "местных сайтов" от компании geebinot 6 февраля 2014 в 00:58


А на фоне возможной будущей отмены ссылочного ранжирования Яндексом

Николаiч

Не отменят ссылочное) Так что 2100 х 5 ссылок с главной х 5 рублей, уже 50 тысяч, а там глядишь по мелочи набежит с других страниц, так и будут поднимать тысяч 300 в месяц.

letsgo

Домены и хостинг дороже обходятся. Вся сетка будет забанена за один раз.
#12 Подскажите (про Тиц) 18 января 2014 в 03:45
Оба варианта влияют на тиц, юзать можно оба — более естественно будет выглядеть. Уникальность анкоров тоже влияет на тиц.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.