From: adev Date: Sun, 12 Jan 2014 16:08:52 +0000 (+0100) Subject: add basic auth in file_get_contents for content extraction when user use basic auth X-Git-Tag: 1.4.0^2~9^2 X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=f878daeb8bc9245a294677e4ac141f8bd37c2b4f;p=github%2Fwallabag%2Fwallabag.git add basic auth in file_get_contents for content extraction when user use basic auth --- 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 ); } + protected function getPageContent(Url $url) + { + $options = array('http' => array('user_agent' => 'poche')); + if (isset($_SERVER['AUTH_TYPE']) && "basic" === strtolower($_SERVER['AUTH_TYPE'])) { + $options['http']['header'] = sprintf( + "Authorization: Basic %s", + base64_encode( + sprintf('%s:%s', $_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) + ) + ); + } + $context = stream_context_create($options); + $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); + return json_decode($json, true); + } + /** * Call action (mark as fav, archive, delete, etc.) */ @@ -333,10 +349,7 @@ class Poche switch ($action) { case 'add': - $options = array('http' => array('user_agent' => 'poche')); - $context = stream_context_create($options); - $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); - $content = json_decode($json, true); + $content = $this->getPageContent($url); $title = $content['rss']['channel']['item']['title']; $body = $content['rss']['channel']['item']['description'];