From 5ada7afcd12b8db252d7d9a124d8ee78ace9afd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Enguehard?= Date: Tue, 22 Dec 2015 18:03:46 +0100 Subject: [PATCH 1/2] Ajout d'un pont vers Viadeo et LinkedLn --- bridges/LinkedInCompany.php | 52 +++++++++++++++++++++++++++++++++++++ bridges/ViadeoCompany.php | 52 +++++++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 bridges/LinkedInCompany.php create mode 100644 bridges/ViadeoCompany.php diff --git a/bridges/LinkedInCompany.php b/bridges/LinkedInCompany.php new file mode 100644 index 0000000..185fee9 --- /dev/null +++ b/bridges/LinkedInCompany.php @@ -0,0 +1,52 @@ +maintainer = "regisenguehard"; + $this->name = "LinkedIn Company"; + $this->uri = "https://www.linkedin.com/"; + $this->description = "Returns most recent actus from Company on LinkedIn."; + $this->update = "2015-12-22"; + + $this->parameters[] = + '[ + { + "name" : "Company name", + "identifier" : "c" + } + ]'; + } + + public function collectData(array $param){ + $html = ''; + $link = 'https://www.linkedin.com/company/'.urlencode($param[c]); + + $html = file_get_html($link) or $this->returnError('Could not request LinkedIn.', 404); + + foreach($html->find('//*[@id="my-feed-post"]/li') as $element) { + $title = $element->find('span.share-body', 0)->innertext; + if ($title) { + $item = new \Item(); + $item->uri = $link; + $item->title = mb_substr(strip_tags($element->find('span.share-body', 0)->innertext), 0 ,100); + $item->content = strip_tags($element->find('span.share-body', 0)->innertext); + $item->thumbnailUri = htmlspecialchars_decode($element->find('img', 0)->attr['data-li-lazy-load-src']); + $this->items[] = $item; + $i++; + } + } + } + + public function getName(){ + return 'LinkedIn'; + } + + public function getURI(){ + return 'https://www.linkedin.com'; + } + + public function getCacheDuration(){ + return 0; // 6 hours + } +} diff --git a/bridges/ViadeoCompany.php b/bridges/ViadeoCompany.php new file mode 100644 index 0000000..979bdf5 --- /dev/null +++ b/bridges/ViadeoCompany.php @@ -0,0 +1,52 @@ +maintainer = "regisenguehard"; + $this->name = "Viadeo Company"; + $this->uri = "https://www.viadeo.com/"; + $this->description = "Returns most recent actus from Company on Viadeo."; + $this->update = "2015-12-22"; + + $this->parameters[] = + '[ + { + "name" : "Company name", + "identifier" : "c" + } + ]'; + } + + public function collectData(array $param){ + $html = ''; + $link = 'http://www.viadeo.com/fr/company/'.$param[c]; + + $html = file_get_html($link) or $this->returnError('Could not request Viadeo.', 404); + + foreach($html->find('//*[@id="company-newsfeed"]/ul/li') as $element) { + $title = $element->find('p', 0)->innertext; + if ($title) { + $item = new \Item(); + $item->uri = $link; + $item->title = mb_substr($element->find('p', 0)->innertext, 0 ,100); + $item->content = $element->find('p', 0)->innertext; + $item->thumbnailUri = str_replace('//', 'http://', $element->find('img.usage-article__image_only', 0)->src); + $this->items[] = $item; + $i++; + } + } + } + + public function getName(){ + return 'Viadeo'; + } + + public function getURI(){ + return 'https://www.viadeo.com'; + } + + public function getCacheDuration(){ + return 21600; // 6 hours + } +} From e4d31c32947f2b2ab50a94bebddbe51161d7fa44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Enguehard?= Date: Wed, 23 Dec 2015 16:14:28 +0100 Subject: [PATCH 2/2] maj LinkedIn & Viadeo --- bridges/LinkedInCompany.php | 6 +++--- bridges/ViadeoCompany.php | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bridges/LinkedInCompany.php b/bridges/LinkedInCompany.php index 185fee9..476cfc8 100644 --- a/bridges/LinkedInCompany.php +++ b/bridges/LinkedInCompany.php @@ -6,7 +6,7 @@ class LinkedInCompany extends BridgeAbstract{ $this->maintainer = "regisenguehard"; $this->name = "LinkedIn Company"; $this->uri = "https://www.linkedin.com/"; - $this->description = "Returns most recent actus from Company on LinkedIn."; + $this->description = "Returns most recent actus from Company on LinkedIn. (https://www.linkedin.com/company/apple)"; $this->update = "2015-12-22"; $this->parameters[] = @@ -20,7 +20,7 @@ class LinkedInCompany extends BridgeAbstract{ public function collectData(array $param){ $html = ''; - $link = 'https://www.linkedin.com/company/'.urlencode($param[c]); + $link = 'https://www.linkedin.com/company/'.$param[c]; $html = file_get_html($link) or $this->returnError('Could not request LinkedIn.', 404); @@ -47,6 +47,6 @@ class LinkedInCompany extends BridgeAbstract{ } public function getCacheDuration(){ - return 0; // 6 hours + return 21600; // 6 hours } } diff --git a/bridges/ViadeoCompany.php b/bridges/ViadeoCompany.php index 979bdf5..6b474f5 100644 --- a/bridges/ViadeoCompany.php +++ b/bridges/ViadeoCompany.php @@ -6,7 +6,7 @@ class ViadeoCompany extends BridgeAbstract{ $this->maintainer = "regisenguehard"; $this->name = "Viadeo Company"; $this->uri = "https://www.viadeo.com/"; - $this->description = "Returns most recent actus from Company on Viadeo."; + $this->description = "Returns most recent actus from Company on Viadeo. (http://www.viadeo.com/fr/company/apple)"; $this->update = "2015-12-22"; $this->parameters[] =