aboutsummaryrefslogtreecommitdiffhomepage
path: root/inc/poche/Poche.class.php
diff options
context:
space:
mode:
authoradev <adev2000@gmail.com>2014-01-12 17:08:52 +0100
committeradev <adev2000@gmail.com>2014-01-12 17:08:52 +0100
commitf878daeb8bc9245a294677e4ac141f8bd37c2b4f (patch)
tree478609f121f57ef25bbe7d786fde89b082968f58 /inc/poche/Poche.class.php
parent9ba98a0abe4ac5efed5213812f0f26821417b47d (diff)
downloadwallabag-f878daeb8bc9245a294677e4ac141f8bd37c2b4f.tar.gz
wallabag-f878daeb8bc9245a294677e4ac141f8bd37c2b4f.tar.zst
wallabag-f878daeb8bc9245a294677e4ac141f8bd37c2b4f.zip
add basic auth in file_get_contents for content extraction when user use basic auth
Diffstat (limited to 'inc/poche/Poche.class.php')
-rw-r--r--inc/poche/Poche.class.php21
1 files changed, 17 insertions, 4 deletions
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php
index e033ad74..004cca8e 100644
--- a/inc/poche/Poche.class.php
+++ b/inc/poche/Poche.class.php
@@ -325,6 +325,22 @@ class Poche
325 ); 325 );
326 } 326 }
327 327
328 protected function getPageContent(Url $url)
329 {
330 $options = array('http' => array('user_agent' => 'poche'));
331 if (isset($_SERVER['AUTH_TYPE']) && "basic" === strtolower($_SERVER['AUTH_TYPE'])) {
332 $options['http']['header'] = sprintf(
333 "Authorization: Basic %s",
334 base64_encode(
335 sprintf('%s:%s', $_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])
336 )
337 );
338 }
339 $context = stream_context_create($options);
340 $json = file_get_contents(Tools::getPocheUrl() . '/inc/3rdparty/makefulltextfeed.php?url='.urlencode($url->getUrl()).'&max=5&links=preserve&exc=&format=json&submit=Create+Feed', false, $context);
341 return json_decode($json, true);
342 }
343
328 /** 344 /**
329 * Call action (mark as fav, archive, delete, etc.) 345 * Call action (mark as fav, archive, delete, etc.)
330 */ 346 */
@@ -333,10 +349,7 @@ class Poche
333 switch ($action) 349 switch ($action)
334 { 350 {
335 case 'add': 351 case 'add':
336 $options = array('http' => array('user_agent' => 'poche')); 352 $content = $this->getPageContent($url);
337 $context = stream_context_create($options);
338 $json = file_get_contents(Tools::getPocheUrl() . '/inc/3rdparty/makefulltextfeed.php?url='.urlencode($url->getUrl()).'&max=5&links=preserve&exc=&format=json&submit=Create+Feed', false, $context);
339 $content = json_decode($json, true);
340 $title = $content['rss']['channel']['item']['title']; 353 $title = $content['rss']['channel']['item']['title'];
341 $body = $content['rss']['channel']['item']['description']; 354 $body = $content['rss']['channel']['item']['description'];
342 355