diff options
Diffstat (limited to 'inc/poche/Tools.class.php')
-rw-r--r-- | inc/poche/Tools.class.php | 63 |
1 files changed, 61 insertions, 2 deletions
diff --git a/inc/poche/Tools.class.php b/inc/poche/Tools.class.php index 4ed28ed1..eeb101b4 100644 --- a/inc/poche/Tools.class.php +++ b/inc/poche/Tools.class.php | |||
@@ -193,7 +193,7 @@ class Tools | |||
193 | 193 | ||
194 | public static function logm($message) | 194 | public static function logm($message) |
195 | { | 195 | { |
196 | if (DEBUG_POCHE) { | 196 | if (DEBUG_POCHE && php_sapi_name() != 'cli') { |
197 | $t = strval(date('Y/m/d_H:i:s')) . ' - ' . $_SERVER["REMOTE_ADDR"] . ' - ' . strval($message) . "\n"; | 197 | $t = strval(date('Y/m/d_H:i:s')) . ' - ' . $_SERVER["REMOTE_ADDR"] . ' - ' . strval($message) . "\n"; |
198 | file_put_contents(CACHE . '/log.txt', $t, FILE_APPEND); | 198 | file_put_contents(CACHE . '/log.txt', $t, FILE_APPEND); |
199 | error_log('DEBUG POCHE : ' . $message); | 199 | error_log('DEBUG POCHE : ' . $message); |
@@ -241,7 +241,6 @@ class Tools | |||
241 | } | 241 | } |
242 | } | 242 | } |
243 | 243 | ||
244 | |||
245 | public static function download_db() { | 244 | public static function download_db() { |
246 | header('Content-Disposition: attachment; filename="poche.sqlite.gz"'); | 245 | header('Content-Disposition: attachment; filename="poche.sqlite.gz"'); |
247 | self::status(200); | 246 | self::status(200); |
@@ -252,4 +251,64 @@ class Tools | |||
252 | 251 | ||
253 | exit; | 252 | exit; |
254 | } | 253 | } |
254 | |||
255 | public static function getPageContent(Url $url) | ||
256 | { | ||
257 | // Saving and clearing context | ||
258 | $REAL = array(); | ||
259 | foreach( $GLOBALS as $key => $value ) { | ||
260 | if( $key != 'GLOBALS' && $key != '_SESSION' && $key != 'HTTP_SESSION_VARS' ) { | ||
261 | $GLOBALS[$key] = array(); | ||
262 | $REAL[$key] = $value; | ||
263 | } | ||
264 | } | ||
265 | // Saving and clearing session | ||
266 | if ( isset($_SESSION) ) { | ||
267 | $REAL_SESSION = array(); | ||
268 | foreach( $_SESSION as $key => $value ) { | ||
269 | $REAL_SESSION[$key] = $value; | ||
270 | unset($_SESSION[$key]); | ||
271 | } | ||
272 | } | ||
273 | |||
274 | // Running code in different context | ||
275 | $scope = function() { | ||
276 | extract( func_get_arg(1) ); | ||
277 | $_GET = $_REQUEST = array( | ||
278 | "url" => $url->getUrl(), | ||
279 | "max" => 5, | ||
280 | "links" => "preserve", | ||
281 | "exc" => "", | ||
282 | "format" => "json", | ||
283 | "submit" => "Create Feed" | ||
284 | ); | ||
285 | ob_start(); | ||
286 | require func_get_arg(0); | ||
287 | $json = ob_get_contents(); | ||
288 | ob_end_clean(); | ||
289 | return $json; | ||
290 | }; | ||
291 | $json = $scope( "inc/3rdparty/makefulltextfeed.php", array("url" => $url) ); | ||
292 | |||
293 | // Clearing and restoring context | ||
294 | foreach( $GLOBALS as $key => $value ) { | ||
295 | if( $key != "GLOBALS" && $key != "_SESSION" ) { | ||
296 | unset($GLOBALS[$key]); | ||
297 | } | ||
298 | } | ||
299 | foreach( $REAL as $key => $value ) { | ||
300 | $GLOBALS[$key] = $value; | ||
301 | } | ||
302 | // Clearing and restoring session | ||
303 | if ( isset($REAL_SESSION) ) { | ||
304 | foreach( $_SESSION as $key => $value ) { | ||
305 | unset($_SESSION[$key]); | ||
306 | } | ||
307 | foreach( $REAL_SESSION as $key => $value ) { | ||
308 | $_SESSION[$key] = $value; | ||
309 | } | ||
310 | } | ||
311 | |||
312 | return json_decode($json, true); | ||
313 | } | ||
255 | } | 314 | } |