<?php
/**
- * poche, a read it later open source system
+ * wallabag, self hostable application allowing you to not miss any content anymore
*
- * @category poche
- * @author Nicolas LÅ“uillet <support@inthepoche.com>
+ * @category wallabag
+ * @author Nicolas LÅ“uillet <nicolas@loeuillet.org>
* @copyright 2013
* @license http://www.wtfpl.net/ see COPYING file
*/
$scriptname = str_replace('/index.php', '/', $_SERVER["SCRIPT_NAME"]);
- if (!isset($_SERVER["SERVER_NAME"])) {
+ if (!isset($_SERVER["HTTP_HOST"])) {
return $scriptname;
}
return 'http' . ($https ? 's' : '') . '://'
- . $_SERVER["SERVER_NAME"] . $serverport . $scriptname;
+ . $_SERVER["HTTP_HOST"] . $serverport . $scriptname;
}
public static function redirect($url = '')
public static function getTplFile($view)
{
- $default_tpl = 'home.twig';
-
- switch ($view) {
- case 'install':
- $tpl_file = 'install.twig';
- break;
- case 'import';
- $tpl_file = 'import.twig';
- break;
- case 'export':
- $tpl_file = 'export.twig';
- break;
- case 'config':
- $tpl_file = 'config.twig';
- break;
- case 'view':
- $tpl_file = 'view.twig';
- break;
-
- case 'login':
- $tpl_file = 'login.twig';
- break;
-
- case 'error':
- $tpl_file = 'error.twig';
- break;
-
- default:
- $tpl_file = $default_tpl;
- break;
+ $views = array(
+ 'install', 'import', 'export', 'config', 'tags',
+ 'edit-tags', 'view', 'login', 'error', 'tag'
+ );
+
+ if (in_array($view, $views)) {
+ return $view . '.twig';
}
-
- return $tpl_file;
+
+ return 'home.twig';
}
public static function getFile($url)
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
- curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
+ if (!ini_get('open_basedir') && !ini_get('safe_mode')) {
+ curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
+ }
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
$lang = explode('.', $userlanguage);
return str_replace('_', '-', $lang[0]);
}
+
+ public static function status($status_code)
+ {
+ if (strpos(php_sapi_name(), 'apache') !== false) {
+
+ header('HTTP/1.0 '.$status_code);
+ }
+ else {
+
+ header('Status: '.$status_code);
+ }
+ }
+
+
+ public static function download_db() {
+ header('Content-Disposition: attachment; filename="poche.sqlite.gz"');
+ self::status(200);
+
+ header('Content-Transfer-Encoding: binary');
+ header('Content-Type: application/octet-stream');
+ echo gzencode(file_get_contents(STORAGE_SQLITE));
+
+ exit;
+ }
}