diff --git a/inc/poche/Poche.class.php b/inc/poche/Poche.class.php
index 4371c3d..cb865a2 100644
--- a/inc/poche/Poche.class.php
+++ b/inc/poche/Poche.class.php
@@ -41,15 +41,23 @@ class Poche
{
$msg = '';
$allIsGood = TRUE;
- if (file_exists('./install') && !DEBUG_POCHE) {
- Tools::logm('folder /install exists');
+
+ if (file_exists('./install/update.php') && !DEBUG_POCHE) {
+ $msg = 'A poche update is needed. Please execute this update by clicking here. If you have already do the update, please delete /install folder.';
+ $allIsGood = FALSE;
+ }
+ else if (file_exists('./install') && !DEBUG_POCHE) {
$msg = 'If you want to update your poche, you just have to delete /install folder.
To install your poche with sqlite, copy /install/poche.sqlite in /db and delete the folder /install. you have to delete the /install folder before using poche.';
$allIsGood = FALSE;
}
-
- if (STORAGE == 'sqlite' && !is_writable(STORAGE_SQLITE)) {
- Tools::logm('you don\'t have write access on db file');
- $msg = 'You don\'t have write access on ' . STORAGE_SQLITE . ' file.';
+ else if (STORAGE == 'sqlite' && !is_writable(STORAGE_SQLITE)) {
+ Tools::logm('you don\'t have write access on sqlite file');
+ $msg = 'You don\'t have write access on sqlite file.';
+ $allIsGood = FALSE;
+ }
+ else if (!is_writable(CACHE)) {
+ Tools::logm('you don\'t have write access on cache directory');
+ $msg = 'You don\'t have write access on cache directory.';
$allIsGood = FALSE;
}
@@ -118,10 +126,12 @@ class Poche
if (($_POST['password'] == $_POST['password_repeat'])
&& $_POST['password'] != "" && $_POST['login'] != "") {
# let's rock, install poche baby !
- $this->store->install($_POST['login'], Tools::encodeString($_POST['password'] . $_POST['login']));
- Session::logout();
- Tools::logm('poche is now installed');
- Tools::redirect();
+ if ($this->store->install($_POST['login'], Tools::encodeString($_POST['password'] . $_POST['login'])))
+ {
+ Session::logout();
+ Tools::logm('poche is now installed');
+ Tools::redirect();
+ }
}
else {
Tools::logm('error during installation');
diff --git a/inc/poche/Tools.class.php b/inc/poche/Tools.class.php
index 0eb0d9e..1baf745 100644
--- a/inc/poche/Tools.class.php
+++ b/inc/poche/Tools.class.php
@@ -233,4 +233,30 @@ class Tools
return $minutes;
}
+
+
+ public static function createMyConfig()
+ {
+ $myconfig_file = './inc/poche/myconfig.inc.php';
+
+ if (version_compare(POCHE_VERSION, '1.0-beta3') == 1) {
+ # $myconfig_file is only created with poche > 1.0-beta3
+ # in 1.0-beta3, the update script creates $myconfig_file
+
+ if (!is_writable('./inc/poche/')) {
+ self::logm('you don\'t have write access to create ./inc/poche/myconfig.inc.php');
+ die('You don\'t have write access to create ./inc/poche/myconfig.inc.php.');
+ }
+
+ if (!file_exists($myconfig_file))
+ {
+ $fp = fopen($myconfig_file, 'w');
+ fwrite($fp, 'the documentation.');
}
-
-require_once './inc/poche/User.class.php';
-require_once './inc/poche/Tools.class.php';
-require_once './inc/poche/Url.class.php';
-require_once './inc/3rdparty/class.messages.php';
-require_once './inc/poche/Poche.class.php';
-require_once './inc/3rdparty/Readability.php';
-require_once './inc/3rdparty/Encoding.php';
-require_once './inc/poche/Database.class.php';
-require_once './vendor/autoload.php';
-require_once './inc/3rdparty/simple_html_dom.php';
-require_once './inc/3rdparty/paginator.php';
-require_once './inc/3rdparty/Session.class.php';
+
+if (file_exists(__DIR__ . '/../../inc/poche/myconfig.inc.php')) {
+ require_once __DIR__ . '/../../inc/poche/myconfig.inc.php';
+}
+require_once __DIR__ . '/../../inc/poche/User.class.php';
+require_once __DIR__ . '/../../inc/poche/Url.class.php';
+require_once __DIR__ . '/../../inc/3rdparty/class.messages.php';
+require_once __DIR__ . '/../../inc/poche/Poche.class.php';
+require_once __DIR__ . '/../../inc/3rdparty/Readability.php';
+require_once __DIR__ . '/../../inc/3rdparty/Encoding.php';
+require_once __DIR__ . '/../../inc/poche/Database.class.php';
+require_once __DIR__ . '/../../vendor/autoload.php';
+require_once __DIR__ . '/../../inc/3rdparty/simple_html_dom.php';
+require_once __DIR__ . '/../../inc/3rdparty/paginator.php';
+require_once __DIR__ . '/../../inc/3rdparty/Session.class.php';
if (DOWNLOAD_PICTURES) {
- require_once './inc/poche/pochePictures.php';
+ require_once __DIR__ . '/../../inc/poche/pochePictures.php';
}
$poche = new Poche();
diff --git a/inc/poche/define.inc.php b/inc/poche/define.inc.php
new file mode 100644
index 0000000..c32ca09
--- /dev/null
+++ b/inc/poche/define.inc.php
@@ -0,0 +1,30 @@
+
+ * @copyright 2013
+ * @license http://www.wtfpl.net/ see COPYING file
+ */
+
+define ('STORAGE','sqlite'); # postgres, mysql, sqlite
+define ('STORAGE_SERVER', 'localhost'); # leave blank for sqlite
+define ('STORAGE_DB', 'poche'); # only for postgres & mysql
+define ('STORAGE_SQLITE', __DIR__ . '/../../db/poche.sqlite');
+define ('STORAGE_USER', 'postgres'); # leave blank for sqlite
+define ('STORAGE_PASSWORD', 'postgres'); # leave blank for sqlite
+
+define ('MODE_DEMO', FALSE);
+define ('DEBUG_POCHE', FALSE);
+define ('CONVERT_LINKS_FOOTNOTES', FALSE);
+define ('REVERT_FORCED_PARAGRAPH_ELEMENTS', FALSE);
+define ('DOWNLOAD_PICTURES', FALSE);
+define ('SHARE_TWITTER', TRUE);
+define ('SHARE_MAIL', TRUE);
+define ('ABS_PATH', 'assets/');
+define ('TPL', __DIR__ . '/../../tpl');
+define ('LOCALE', __DIR__ . '/../../locale');
+define ('CACHE', __DIR__ . '/../../cache');
+define ('PAGINATION', '10');
+define ('THEME', 'light');
\ No newline at end of file
diff --git a/index.php b/index.php
index a60e4e9..51a33d7 100644
--- a/index.php
+++ b/index.php
@@ -8,6 +8,9 @@
* @license http://www.wtfpl.net/ see COPYING file
*/
+require_once './inc/poche/Tools.class.php';
+Tools::createMyConfig();
+
include dirname(__FILE__).'/inc/poche/config.inc.php';
# Parse GET & REFERER vars
diff --git a/install/update.php b/install/update.php
new file mode 100644
index 0000000..392ab80
--- /dev/null
+++ b/install/update.php
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+ +login($_POST['login'], sha1($_POST['password'] . $_POST['login'] . $old_salt)); + if ($user != array()) { + $new_salt = md5(time() . $_SERVER['SCRIPT_FILENAME'] . rand()); + $myconfig_file = '../inc/poche/myconfig.inc.php'; + if (!is_writable('../inc/poche/')) { + die('You don\'t have write access to create ./inc/poche/myconfig.inc.php.'); + } + + if (!file_exists($myconfig_file)) + { + $fp = fopen($myconfig_file, 'w'); + + fwrite($fp, 'updatePassword($user['id'], sha1($_POST['password'] . $_POST['login'] . $new_salt)); +?> +your poche is up to date!
+don't forget to delete ./install/ folder after the update.
+ + + + \ No newline at end of file