aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNicolas LÅ“uillet <nicolas.loeuillet@gmail.com>2014-02-20 13:03:59 +0100
committerNicolas LÅ“uillet <nicolas.loeuillet@gmail.com>2014-02-20 13:03:59 +0100
commit8975653d4c1e31981b3af190aa5b59754190c757 (patch)
tree9c2c77ade29fb692799e7c2508ae6d0fa3fa7257
parent689de3dbcc1252e230ab25723c237723f5a4d4a1 (diff)
parentab5bb94b12e04b357f8faee376704bc29ff019a5 (diff)
downloadwallabag-8975653d4c1e31981b3af190aa5b59754190c757.tar.gz
wallabag-8975653d4c1e31981b3af190aa5b59754190c757.tar.zst
wallabag-8975653d4c1e31981b3af190aa5b59754190c757.zip
Merge branch 'mariroz-dev' into dev
-rwxr-xr-x[-rw-r--r--]inc/3rdparty/config.php2
-rwxr-xr-x[-rw-r--r--]inc/3rdparty/makefulltextfeed.php1
-rw-r--r--inc/poche/Database.class.php4
-rwxr-xr-x[-rw-r--r--]inc/poche/Poche.class.php56
4 files changed, 52 insertions, 11 deletions
diff --git a/inc/3rdparty/config.php b/inc/3rdparty/config.php
index 61fc0d0e..e618117b 100644..100755
--- a/inc/3rdparty/config.php
+++ b/inc/3rdparty/config.php
@@ -11,6 +11,8 @@
11// options you'd like to override in custom_config.php. 11// options you'd like to override in custom_config.php.
12// ..................................................... 12// .....................................................
13 13
14global $options;
15
14// Create config object 16// Create config object
15if (!isset($options)) $options = new stdClass(); 17if (!isset($options)) $options = new stdClass();
16 18
diff --git a/inc/3rdparty/makefulltextfeed.php b/inc/3rdparty/makefulltextfeed.php
index 7104bc73..2852c4c2 100644..100755
--- a/inc/3rdparty/makefulltextfeed.php
+++ b/inc/3rdparty/makefulltextfeed.php
@@ -424,6 +424,7 @@ $http->rewriteUrls = $options->rewrite_url;
424////////////////////////////////// 424//////////////////////////////////
425// Set up Content Extractor 425// Set up Content Extractor
426////////////////////////////////// 426//////////////////////////////////
427global $extractor;
427$extractor = new ContentExtractor(dirname(__FILE__).'/site_config/custom', dirname(__FILE__).'/site_config/standard'); 428$extractor = new ContentExtractor(dirname(__FILE__).'/site_config/custom', dirname(__FILE__).'/site_config/standard');
428$extractor->debug = $debug_mode; 429$extractor->debug = $debug_mode;
429SiteConfig::$debug = $debug_mode; 430SiteConfig::$debug = $debug_mode;
diff --git a/inc/poche/Database.class.php b/inc/poche/Database.class.php
index 3332b5a3..a366e866 100644
--- a/inc/poche/Database.class.php
+++ b/inc/poche/Database.class.php
@@ -345,7 +345,7 @@ class Database {
345 } 345 }
346 346
347 public function retrieveAllTags($user_id) { 347 public function retrieveAllTags($user_id) {
348 $sql = "SELECT tags.* FROM tags 348 $sql = "SELECT DISTINCT tags.* FROM tags
349 LEFT JOIN tags_entries ON tags_entries.tag_id=tags.id 349 LEFT JOIN tags_entries ON tags_entries.tag_id=tags.id
350 LEFT JOIN entries ON tags_entries.entry_id=entries.id 350 LEFT JOIN entries ON tags_entries.entry_id=entries.id
351 WHERE entries.user_id=?"; 351 WHERE entries.user_id=?";
@@ -357,7 +357,7 @@ class Database {
357 357
358 public function retrieveTag($id, $user_id) { 358 public function retrieveTag($id, $user_id) {
359 $tag = NULL; 359 $tag = NULL;
360 $sql = "SELECT tags.* FROM tags 360 $sql = "SELECT DISTINCT tags.* FROM tags
361 LEFT JOIN tags_entries ON tags_entries.tag_id=tags.id 361 LEFT JOIN tags_entries ON tags_entries.tag_id=tags.id
362 LEFT JOIN entries ON tags_entries.entry_id=entries.id 362 LEFT JOIN entries ON tags_entries.entry_id=entries.id
363 WHERE tags.id=? AND entries.user_id=?"; 363 WHERE tags.id=? AND entries.user_id=?";
diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php
index 753bd7f0..fc9a455a 100644..100755
--- a/inc/poche/Poche.class.php
+++ b/inc/poche/Poche.class.php
@@ -348,17 +348,55 @@ class Poche
348 348
349 protected function getPageContent(Url $url) 349 protected function getPageContent(Url $url)
350 { 350 {
351 $options = array('http' => array('user_agent' => 'poche')); 351 // Saving and clearing context
352 if (isset($_SERVER['AUTH_TYPE']) && "basic" === strtolower($_SERVER['AUTH_TYPE'])) { 352 $REAL = array();
353 $options['http']['header'] = sprintf( 353 foreach( $GLOBALS as $key => $value ) {
354 "Authorization: Basic %s", 354 if( $key != "GLOBALS" && $key != "_SESSION" ) {
355 base64_encode( 355 $GLOBALS[$key] = array();
356 sprintf('%s:%s', $_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) 356 $REAL[$key] = $value;
357 ) 357 }
358 }
359 // Saving and clearing session
360 $REAL_SESSION = array();
361 foreach( $_SESSION as $key => $value ) {
362 $REAL_SESSION[$key] = $value;
363 unset($_SESSION[$key]);
364 }
365
366 // Running code in different context
367 $scope = function() {
368 extract( func_get_arg(1) );
369 $_GET = $_REQUEST = array(
370 "url" => $url->getUrl(),
371 "max" => 5,
372 "links" => "preserve",
373 "exc" => "",
374 "format" => "json",
375 "submit" => "Create Feed"
358 ); 376 );
377 ob_start();
378 require func_get_arg(0);
379 $json = ob_get_flush();
380 return $json;
381 };
382 $json = $scope( "inc/3rdparty/makefulltextfeed.php", array("url" => $url) );
383
384 // Clearing and restoring context
385 foreach( $GLOBALS as $key => $value ) {
386 if( $key != "GLOBALS" && $key != "_SESSION" ) {
387 unset($GLOBALS[$key]);
388 }
389 }
390 foreach( $REAL as $key => $value ) {
391 $GLOBALS[$key] = $value;
392 }
393 // Clearing and restoring session
394 foreach( $_SESSION as $key => $value ) {
395 unset($_SESSION[$key]);
396 }
397 foreach( $REAL_SESSION as $key => $value ) {
398 $_SESSION[$key] = $value;
359 } 399 }
360 $context = stream_context_create($options);
361 $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);
362 return json_decode($json, true); 400 return json_decode($json, true);
363 } 401 }
364 402