diff --git a/docs/Update.md b/docs/Update.md index 4fbec1d..ad8529c 100644 --- a/docs/Update.md +++ b/docs/Update.md @@ -1,15 +1,20 @@ +### Update requirements + +- Your system must comply with the latest [system requirements](https://github.com/electerious/Lychee/blob/master/docs/Installation.md) of Lychee. +- Ensure that your current version is greater than 2.7.0. Updates from older Lychee versions aren't supported. + ### Update with `git` -The easiest way to update Lychee is with `git`: +Updating Lychee with `git` is the easiest way: git pull - + ### Update manually -1. Download the [newest Version](https://github.com/electerious/Lychee/archive/master.zip) +1. Download the [newest Version](https://github.com/electerious/Lychee/release) 2. Replace all existing files, excluding `uploads/` and `data/` 3. Open Lychee (and enter your database details) ### Changelog -Take a look at the [Changelog](Changelog.md) to see what's new. +Take a look at the [Changelog](Changelog.md) to see what's new. \ No newline at end of file diff --git a/php/database/update_020500.php b/php/database/update_020500.php deleted file mode 100644 index 9892961..0000000 --- a/php/database/update_020500.php +++ /dev/null @@ -1,156 +0,0 @@ -query($query); -if ($result->num_rows===0) { - $query = Database::prepare($database, "INSERT INTO `?` (`key`, `value`) VALUES ('plugins', '')", array(LYCHEE_TABLE_SETTINGS)); - $result = $database->query($query); - if (!$result) { - Log::error($database, 'update_020500', __LINE__, 'Could not update database (' . $database->error . ')'); - return false; - } -} - -# Add `takestamp` -$query = Database::prepare($database, "SELECT `takestamp` FROM `?` LIMIT 1;", array(LYCHEE_TABLE_PHOTOS)); -if (!$database->query($query)) { - $query = Database::prepare($database, "ALTER TABLE `?` ADD `takestamp` INT(11) DEFAULT NULL", array(LYCHEE_TABLE_PHOTOS)); - $result = $database->query($query); - if (!$result) { - Log::error($database, 'update_020500', __LINE__, 'Could not update database (' . $database->error . ')'); - return false; - } -} - -# Convert to `takestamp` -$query = Database::prepare($database, "SELECT `takedate`, `taketime` FROM `?` LIMIT 1;", array(LYCHEE_TABLE_PHOTOS)); -if ($database->query($query)) { - $query = Database::prepare($database, "SELECT `id`, `takedate`, `taketime` FROM `?` WHERE `takedate` <> '' AND `taketime` <> ''", array(LYCHEE_TABLE_PHOTOS)); - $result = $database->query($query); - if (!$result) { - Log::error($database, 'update_020500', __LINE__, 'Could not update database (' . $database->error . ')'); - return false; - } - while ($photo = $result->fetch_object()) { - $takestamp = strtotime($photo->takedate . $photo->taketime); - $query = Database::prepare($database, "UPDATE `?` SET `takestamp` = '?' WHERE `id` = '?'", array(LYCHEE_TABLE_PHOTOS, $takestamp, $photo->id)); - $database->query($query); - } - $query = Database::prepare($database, "ALTER TABLE `?` DROP COLUMN `takedate`;", array(LYCHEE_TABLE_PHOTOS)); - $result = $database->query($query); - $query = Database::prepare($database, "ALTER TABLE `?` DROP COLUMN `taketime`", array(LYCHEE_TABLE_PHOTOS)); - $result = $database->query($query); -} - -# Remove `import_name` -$query = Database::prepare($database, "SELECT `import_name` FROM `?` LIMIT 1", array(LYCHEE_TABLE_PHOTOS)); -if ($database->query($query)) { - $query = Database::prepare($database, "ALTER TABLE `?` DROP COLUMN `import_name`", array(LYCHEE_TABLE_PHOTOS)); - $result = $database->query($query); -} - -# Remove `sysdate` and `systime` -$query = Database::prepare($database, "SELECT `sysdate`, `systime` FROM `?` LIMIT 1", array(LYCHEE_TABLE_PHOTOS)); -if ($database->query($query)) { - $query = Database::prepare($database, "ALTER TABLE `?` DROP COLUMN `sysdate`", array(LYCHEE_TABLE_PHOTOS)); - $result = $database->query($query); - $query = Database::prepare($database, "ALTER TABLE `?` DROP COLUMN `systime`", array(LYCHEE_TABLE_PHOTOS)); - $result = $database->query($query); -} - -# Add `sysstamp` -$query = Database::prepare($database, "SELECT `sysstamp` FROM `?` LIMIT 1", array(LYCHEE_TABLE_ALBUMS)); -if (!$database->query($query)) { - $query = Database::prepare($database, "ALTER TABLE `?` ADD `sysstamp` INT(11) DEFAULT NULL", array(LYCHEE_TABLE_ALBUMS)); - $result = $database->query($query); - if (!$result) { - Log::error($database, 'update_020500', __LINE__, 'Could not update database (' . $database->error . ')'); - return false; - } -} - -# Convert to `sysstamp` -$query = Database::prepare($database, "SELECT `sysdate` FROM `?` LIMIT 1", array(LYCHEE_TABLE_ALBUMS)); -if ($database->query($query)) { - $query = Database::prepare($database, "SELECT `id`, `sysdate` FROM `?`", array(LYCHEE_TABLE_ALBUMS)); - $result = $database->query($query); - if (!$result) { - Log::error($database, 'update_020500', __LINE__, 'Could not update database (' . $database->error . ')'); - return false; - } - while ($album = $result->fetch_object()) { - $sysstamp = strtotime($album->sysdate); - $query = Database::prepare($database, "UPDATE `?` SET `sysstamp` = '?' WHERE `id` = '?'", array(LYCHEE_TABLE_ALBUMS, $sysstamp, $album->id)); - $database->query($query); - } - $query = Database::prepare($database, "ALTER TABLE `?` DROP COLUMN `sysdate`", array(LYCHEE_TABLE_ALBUMS)); - $result = $database->query($query); -} - -# Set character of database -$result = $database->query("ALTER DATABASE $dbName CHARACTER SET utf8 COLLATE utf8_general_ci;"); -if (!$result) { - Log::error($database, 'update_020500', __LINE__, 'Could not update database (' . $database->error . ')'); - return false; -} - -# Set character -$query = Database::prepare($database, "ALTER TABLE `?` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci", array(LYCHEE_TABLE_ALBUMS)); -$result = $database->query($query); -if (!$result) { - Log::error($database, 'update_020500', __LINE__, 'Could not update database (' . $database->error . ')'); - return false; -} - -# Set character -$query = Database::prepare($database, "ALTER TABLE `?` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci", array(LYCHEE_TABLE_PHOTOS)); -$result = $database->query($query); -if (!$result) { - Log::error($database, 'update_020500', __LINE__, 'Could not update database (' . $database->error . ')'); - return false; -} - -# Set character -$query = Database::prepare($database, "ALTER TABLE `?` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci", array(LYCHEE_TABLE_SETTINGS)); -$result = $database->query($query); -if (!$result) { - Log::error($database, 'update_020500', __LINE__, 'Could not update database (' . $database->error . ')'); - return false; -} - -# Set album password length to 100 (for longer hashes) -$query = Database::prepare($database, "ALTER TABLE `?` CHANGE `password` `password` VARCHAR(100)", array(LYCHEE_TABLE_ALBUMS)); -$result = $database->query($query); -if (!$result) { - Log::error($database, 'update_020500', __LINE__, 'Could not update database (' . $database->error . ')'); - return false; -} - -# Set make length to 50 -$query = Database::prepare($database, "ALTER TABLE `?` CHANGE `make` `make` VARCHAR(50)", array(LYCHEE_TABLE_PHOTOS)); -$result = $database->query($query); -if (!$result) { - Log::error($database, 'update_020500', __LINE__, 'Could not update database (' . $database->error . ')'); - return false; -} - -# Reset sorting -$query = Database::prepare($database, "UPDATE ? SET value = 'ORDER BY takestamp DESC' WHERE `key` = 'sorting' AND `value` LIKE '%UNIX_TIMESTAMP%'", array(LYCHEE_TABLE_SETTINGS)); -$result = $database->query($query); -if (!$result) { - Log::error($database, 'update_020500', __LINE__, 'Could not update database (' . $database->error . ')'); - return false; -} - -# Set version -if (Database::setVersion($database, '020500')===false) return false; - -?> \ No newline at end of file diff --git a/php/database/update_020505.php b/php/database/update_020505.php deleted file mode 100644 index 6c25fa0..0000000 --- a/php/database/update_020505.php +++ /dev/null @@ -1,24 +0,0 @@ -query($query)) { - $query = Database::prepare($database, "ALTER TABLE `?` ADD `checksum` VARCHAR(100) DEFAULT NULL", array(LYCHEE_TABLE_PHOTOS)); - $result = $database->query($query); - if (!$result) { - Log::error($database, 'update_020505', __LINE__, 'Could not update database (' . $database->error . ')'); - return false; - } -} - -# Set version -if (Database::setVersion($database, '020505')===false) return false; - -?> \ No newline at end of file diff --git a/php/database/update_020601.php b/php/database/update_020601.php deleted file mode 100644 index 453114b..0000000 --- a/php/database/update_020601.php +++ /dev/null @@ -1,24 +0,0 @@ -query($query)) { - $query = Database::prepare($database, "ALTER TABLE `?` ADD `downloadable` TINYINT(1) NOT NULL DEFAULT 1", array(LYCHEE_TABLE_ALBUMS)); - $result = $database->query($query); - if (!$result) { - Log::error($database, 'update_020601', __LINE__, 'Could not update database (' . $database->error . ')'); - return false; - } -} - -# Set version -if (Database::setVersion($database, '020601')===false) return false; - -?> \ No newline at end of file diff --git a/php/database/update_020602.php b/php/database/update_020602.php deleted file mode 100644 index a97f263..0000000 --- a/php/database/update_020602.php +++ /dev/null @@ -1,47 +0,0 @@ -query($query); -if (!$result) { - Log::error($database, 'update_020602', __LINE__, 'Could not find photos without checksum (' . $database->error . ')'); - return false; -} -while ($photo = $result->fetch_object()) { - $checksum = sha1_file(LYCHEE_UPLOADS_BIG . $photo->url); - if ($checksum!==false) { - $query = Database::prepare($database, "UPDATE `?` SET `checksum` = '?' WHERE `id` = '?'", array(LYCHEE_TABLE_PHOTOS, $checksum, $photo->id)); - $setChecksum = $database->query($query); - if (!$setChecksum) { - Log::error($database, 'update_020602', __LINE__, 'Could not update checksum (' . $database->error . ')'); - return false; - } - } else { - Log::error($database, 'update_020602', __LINE__, 'Could not calculate checksum for photo with id ' . $photo->id); - return false; - } -} - -# Add Imagick -$query = Database::prepare($database, "SELECT `key` FROM `?` WHERE `key` = 'imagick' LIMIT 1", array(LYCHEE_TABLE_SETTINGS)); -$result = $database->query($query); -if ($result->num_rows===0) { - $query = Database::prepare($database, "INSERT INTO `?` (`key`, `value`) VALUES ('imagick', '1')", array(LYCHEE_TABLE_SETTINGS)); - $result = $database->query($query); - if (!$result) { - Log::error($database, 'update_020602', __LINE__, 'Could not update database (' . $database->error . ')'); - return false; - } -} - -# Set version -if (Database::setVersion($database, '020602')===false) return false; - -?> \ No newline at end of file diff --git a/php/modules/Database.php b/php/modules/Database.php index 3b088ed..aa56c56 100755 --- a/php/modules/Database.php +++ b/php/modules/Database.php @@ -10,10 +10,6 @@ if (!defined('LYCHEE')) exit('Error: Direct access is not allowed!'); final class Database extends Module { private static $versions = array( - '020500', #2.5 - '020505', #2.5.5 - '020601', #2.6.1 - '020602', #2.6.2 '020700', #2.7.0 '030000', #3.0.0 '030001', #3.0.1