From 4fac0e382c8c4c0cadb5c1c1364faf120d141a52 Mon Sep 17 00:00:00 2001 From: ahiles3005 Date: Tue, 1 Mar 2016 20:39:09 +0400 Subject: [PATCH 1/4] bug fix: After adding a new bridge, it is not loaded because it was removed from the list of action --- index.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/index.php b/index.php index 5578b2de..783e91a2 100644 --- a/index.php +++ b/index.php @@ -54,8 +54,6 @@ if (!file_exists($whitelist_file)) { } else { $whitelist_selection = explode("\n", file_get_contents($whitelist_file)); - //Remove the last empty line. - array_pop($whitelist_selection); } Cache::purge(); From ffa1ea8f0f3cd6231f51cfc4edd7865c93b51cca Mon Sep 17 00:00:00 2001 From: ahiles3005 Date: Tue, 1 Mar 2016 21:06:08 +0400 Subject: [PATCH 2/4] add: Bridge for Russian popular social network.Vkontakte or simply VK --- bridges/VkBridge.php | 80 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 bridges/VkBridge.php diff --git a/bridges/VkBridge.php b/bridges/VkBridge.php new file mode 100644 index 00000000..7126027c --- /dev/null +++ b/bridges/VkBridge.php @@ -0,0 +1,80 @@ +maintainer = "ahiles3005"; + $this->name = "VK.com"; + $this->uri = "http://www.vk.com/"; + $this->description = "Working with open pages"; + $this->update = "21/02/2016"; + + $this->parameters["Url on page group or user"] = '[ + { + "name" : "Url", + "identifier" : "u" + } + ]'; + } + + public function collectData(array $param) { + $html = ''; + if (isset($param['u'])) { + $this->request = $param['u']; + + $opts = array(//option for get EN ver. site + 'https' => array( + 'method' => "GET", + 'header' => "Set-Cookie: remixlang=3\r\n" . + "Referer: http://www.vk.com/\r\n" + ) + ); + $context = stream_context_create($opts); + $text_html = file_get_contents(urldecode($this->request), false, $context) or $this->returnError('No results for this query.', 404); + $text_html = iconv('windows-1251', 'utf-8', $text_html); + $html = str_get_html($text_html); + } + + + foreach ($html->find('div.post_table') as $post) { + if (is_object($post->find('a.wall_post_more', 0))) { + $post->find('a.wall_post_more', 0)->outertext = ''; //delete link "show full" in content + } + + + $item = new \Item(); + $item->content = strip_tags($post->find('div.wall_post_text', 0)->innertext); + + if (is_object($post->find('a.page_media_link_title', 0))) { + $link = $post->find('a.page_media_link_title', 0)->getAttribute('href'); + $item->content .= "\n\rExternal link: " . str_replace('/away.php?to=', '', urldecode($link)); //external link in the post + } + //get video on post + if (is_object($post->find('span.post_video_title_content', 0))) { + $titleVideo = $post->find('span.post_video_title_content', 0)->plaintext; + $linkToVideo = 'https://vk.com' . $post->find('a.page_post_thumb_video', 0)->getAttribute('href'); + $item->content .= "\n\r {$titleVideo}: {$linkToVideo}"; + } + $item->uri = 'https://vk.com' . $post->find('.reply_link_wrap', 0)->find('a', 0)->getAttribute('href'); // get post link + $item->date = $post->find('span.rel_date', 0)->plaintext; + $this->items[] = $item; + // var_dump($item->date); + } + } + + public function getName() { + return(isset($this->name) ? $this->name . ' - ' : '') . 'VK Bridge'; + } + + public function getURI() { + return 'http://vk.com'; + } + + public function getCacheDuration() { + return 300; // 5 minutes + } + +} From 5f35988a184416c54738a8690937e82c94e493ad Mon Sep 17 00:00:00 2001 From: ahiles3005 Date: Tue, 1 Mar 2016 21:08:33 +0400 Subject: [PATCH 3/4] Revert "add: Bridge for Russian popular social network.Vkontakte or simply VK" This reverts commit ffa1ea8f0f3cd6231f51cfc4edd7865c93b51cca. --- bridges/VkBridge.php | 80 -------------------------------------------- 1 file changed, 80 deletions(-) delete mode 100644 bridges/VkBridge.php diff --git a/bridges/VkBridge.php b/bridges/VkBridge.php deleted file mode 100644 index 7126027c..00000000 --- a/bridges/VkBridge.php +++ /dev/null @@ -1,80 +0,0 @@ -maintainer = "ahiles3005"; - $this->name = "VK.com"; - $this->uri = "http://www.vk.com/"; - $this->description = "Working with open pages"; - $this->update = "21/02/2016"; - - $this->parameters["Url on page group or user"] = '[ - { - "name" : "Url", - "identifier" : "u" - } - ]'; - } - - public function collectData(array $param) { - $html = ''; - if (isset($param['u'])) { - $this->request = $param['u']; - - $opts = array(//option for get EN ver. site - 'https' => array( - 'method' => "GET", - 'header' => "Set-Cookie: remixlang=3\r\n" . - "Referer: http://www.vk.com/\r\n" - ) - ); - $context = stream_context_create($opts); - $text_html = file_get_contents(urldecode($this->request), false, $context) or $this->returnError('No results for this query.', 404); - $text_html = iconv('windows-1251', 'utf-8', $text_html); - $html = str_get_html($text_html); - } - - - foreach ($html->find('div.post_table') as $post) { - if (is_object($post->find('a.wall_post_more', 0))) { - $post->find('a.wall_post_more', 0)->outertext = ''; //delete link "show full" in content - } - - - $item = new \Item(); - $item->content = strip_tags($post->find('div.wall_post_text', 0)->innertext); - - if (is_object($post->find('a.page_media_link_title', 0))) { - $link = $post->find('a.page_media_link_title', 0)->getAttribute('href'); - $item->content .= "\n\rExternal link: " . str_replace('/away.php?to=', '', urldecode($link)); //external link in the post - } - //get video on post - if (is_object($post->find('span.post_video_title_content', 0))) { - $titleVideo = $post->find('span.post_video_title_content', 0)->plaintext; - $linkToVideo = 'https://vk.com' . $post->find('a.page_post_thumb_video', 0)->getAttribute('href'); - $item->content .= "\n\r {$titleVideo}: {$linkToVideo}"; - } - $item->uri = 'https://vk.com' . $post->find('.reply_link_wrap', 0)->find('a', 0)->getAttribute('href'); // get post link - $item->date = $post->find('span.rel_date', 0)->plaintext; - $this->items[] = $item; - // var_dump($item->date); - } - } - - public function getName() { - return(isset($this->name) ? $this->name . ' - ' : '') . 'VK Bridge'; - } - - public function getURI() { - return 'http://vk.com'; - } - - public function getCacheDuration() { - return 300; // 5 minutes - } - -} From 54e912805e6ba4bf4d2210b6244aabe174537d28 Mon Sep 17 00:00:00 2001 From: ahiles3005 Date: Tue, 1 Mar 2016 21:10:46 +0400 Subject: [PATCH 4/4] add: Bridge for Russian popular social network.Vkontakte or simply VK --- bridges/VkBridge.php | 64 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 bridges/VkBridge.php diff --git a/bridges/VkBridge.php b/bridges/VkBridge.php new file mode 100644 index 00000000..4aaf367e --- /dev/null +++ b/bridges/VkBridge.php @@ -0,0 +1,64 @@ +maintainer = "ahiles3005"; + $this->name = "VK.com"; + $this->uri = "http://www.vk.com/"; + $this->description = "Working with open pages"; + $this->update = "21/02/2016"; + $this->parameters["Url on page group or user"] = '[ + { + "name" : "Url", + "identifier" : "u" + } + ]'; + } + + public function collectData(array $param) { + $html = ''; + if (isset($param['u'])) { + $this->request = $param['u']; + $text_html = file_get_contents(urldecode($this->request)) or $this->returnError('No results for this query.', 404); + $text_html = iconv('windows-1251', 'utf-8', $text_html); + $html = str_get_html($text_html); + } + foreach ($html->find('div.post_table') as $post) { + if (is_object($post->find('a.wall_post_more', 0))) { + $post->find('a.wall_post_more', 0)->outertext = ''; //delete link "show full" in content + } + $item = new \Item(); + $item->content = strip_tags($post->find('div.wall_post_text', 0)->innertext); + if (is_object($post->find('a.page_media_link_title', 0))) { + $link = $post->find('a.page_media_link_title', 0)->getAttribute('href'); + $item->content .= "\n\rExternal link: " . str_replace('/away.php?to=', '', urldecode($link)); //external link in the post + } + //get video on post + if (is_object($post->find('span.post_video_title_content', 0))) { + $titleVideo = $post->find('span.post_video_title_content', 0)->plaintext; + $linkToVideo = 'https://vk.com' . $post->find('a.page_post_thumb_video', 0)->getAttribute('href'); + $item->content .= "\n\r {$titleVideo}: {$linkToVideo}"; + } + $item->uri = 'https://vk.com' . $post->find('.reply_link_wrap', 0)->find('a', 0)->getAttribute('href'); // get post link + $item->date = $post->find('span.rel_date', 0)->plaintext; + $this->items[] = $item; + // var_dump($item->date); + } + } + + public function getName() { + return(isset($this->name) ? $this->name . ' - ' : '') . 'VK Bridge'; + } + + public function getURI() { + return 'http://vk.com'; + } + + public function getCacheDuration() { + return 300; // 5 minutes + } + +}