Config in data/

pull/91/head
Tobias Reich 10 years ago
parent c91b2829e6
commit 4fd302f3d0

@ -16,12 +16,20 @@ To use Lychee without restrictions, we recommend to increase the values of the f
upload_max_size = 200M
upload_max_filesize = 20M
max_file_uploads = 100
### Download Lychee
The easiest way to download Lychee is with git:
git clone https://github.com/electerious/Lychee.git
You can also use the [direct download](https://github.com/electerious/Lychee/archive/master.zip).
### Folder permissions
Change the permissions of `uploads/` and `php/` to 777, including all subfolders:
Change the permissions of `uploads/` and `data/` to 777, including all subfolders:
chmod -R 777 uploads/ php/
chmod -R 777 uploads/ data/
### Lychee installation

@ -27,7 +27,7 @@ if (!empty($_POST['function'])||!empty($_GET['function'])) {
require('modules/tags.php');
require('modules/misc.php');
if (file_exists('config.php')) require('config.php');
if (file_exists('../data/config.php')) require('../data/config.php');
else {
/**
@ -55,7 +55,7 @@ if (!empty($_POST['function'])||!empty($_GET['function'])) {
// Get Settings
$settings = getSettings();
// Escape
foreach(array_keys($_POST) as $key) $_POST[$key] = mysqli_real_escape_string($database, urldecode($_POST[$key]));
foreach(array_keys($_GET) as $key) $_GET[$key] = mysqli_real_escape_string($database, urldecode($_GET[$key]));
@ -64,7 +64,7 @@ if (!empty($_POST['function'])||!empty($_GET['function'])) {
if (isset($_POST['albumIDs'])&&preg_match('/^[0-9\,]{1,}$/', $_POST['albumIDs'])!==1) exit('Error: Wrong parameter type for albumIDs!');
if (isset($_POST['photoIDs'])&&preg_match('/^[0-9\,]{1,}$/', $_POST['photoIDs'])!==1) exit('Error: Wrong parameter type for photoIDs!');
if (isset($_POST['albumID'])&&preg_match('/^[0-9sf]{1,}$/', $_POST['albumID'])!==1) exit('Error: Wrong parameter type for albumID!');
if (isset($_POST['photoID'])&&preg_match('/^[0-9]{14}$/', $_POST['photoID'])!==1) exit('Error: Wrong parameter type for photoID!');
if (isset($_POST['photoID'])&&preg_match('/^[0-9]{14}$/', $_POST['photoID'])!==1) exit('Error: Wrong parameter type for photoID!');
if (isset($_SESSION['login'])&&$_SESSION['login']==true) {
@ -158,13 +158,13 @@ if (!empty($_POST['function'])||!empty($_GET['function'])) {
case 'search': if (isset($_POST['term']))
echo json_encode(search($_POST['term']));
break;
// Tag Functions
case 'getTags': if (isset($_POST['photoID']))
echo json_encode(getTags($_POST['photoID']));
break;
case 'setTags': if (isset($_POST['photoIDs'])&&isset($_POST['tags']))
echo setTags($_POST['photoIDs'], $_POST['tags']);
break;

@ -236,54 +236,55 @@ function deleteAlbum($albumIDs) {
function getAlbumArchive($albumID) {
global $database;
switch($albumID) {
case 's':
$query = "SELECT * FROM lychee_photos WHERE public = '1';";
$zipTitle = "Public";
break;
case 'f':
$query = "SELECT * FROM lychee_photos WHERE star = '1';";
$zipTitle = "Starred";
break;
default:
$query = "SELECT * FROM lychee_photos WHERE album = '$albumID';";
$zipTitle = "Unsorted";
}
$result = $database->query($query);
$files = array();
$i=0;
while($row = $result->fetch_object()) {
$files[$i] = "../uploads/big/".$row->url;
$i++;
}
$result = $database->query("SELECT * FROM lychee_albums WHERE id = '$albumID';");
$row = $result->fetch_object();
if ($albumID!=0&&is_numeric($albumID))$zipTitle = $row->title;
$filename = "../uploads/".$zipTitle.".zip";
$zip = new ZipArchive();
if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
return false;
}
foreach($files AS $zipFile) {
$newFile = explode("/",$zipFile);
$newFile = array_reverse($newFile);
$zip->addFile($zipFile, $zipTitle."/".$newFile[0]);
}
$zip->close();
header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=\"$zipTitle.zip\"");
header("Content-Length: ".filesize($filename));
readfile($filename);
unlink($filename);
return true;
switch($albumID) {
case 's':
$query = "SELECT * FROM lychee_photos WHERE public = '1';";
$zipTitle = "Public";
break;
case 'f':
$query = "SELECT * FROM lychee_photos WHERE star = '1';";
$zipTitle = "Starred";
break;
default:
$query = "SELECT * FROM lychee_photos WHERE album = '$albumID';";
$zipTitle = "Unsorted";
}
$zip = new ZipArchive();
$result = $database->query($query);
$files = array();
$i=0;
while($row = $result->fetch_object()) {
$files[$i] = "../uploads/big/".$row->url;
$i++;
}
$result = $database->query("SELECT * FROM lychee_albums WHERE id = '$albumID';");
$row = $result->fetch_object();
if ($albumID!=0&&is_numeric($albumID)) $zipTitle = $row->title;
$filename = "../data/$zipTitle.zip";
if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
return false;
}
foreach($files AS $zipFile) {
$newFile = explode("/",$zipFile);
$newFile = array_reverse($newFile);
$zip->addFile($zipFile, $zipTitle."/".$newFile[0]);
}
$zip->close();
header("Content-Type: application/zip");
header("Content-Disposition: attachment; filename=\"$zipTitle.zip\"");
header("Content-Length: ".filesize($filename));
readfile($filename);
unlink($filename);
return true;
}

@ -61,6 +61,9 @@ $config = "<?php
if(!defined('LYCHEE')) exit('Error: Direct access is not allowed!');
// Config version
\$configVersion = '2.1';
// Database configurations
\$dbHost = '$dbHost'; //Host of the Database
\$dbUser = '$dbUser'; //Username of the database
@ -69,7 +72,7 @@ if(!defined('LYCHEE')) exit('Error: Direct access is not allowed!');
?>";
if (file_put_contents("config.php", $config)===false) return "Warning: Could not create file!";
if (file_put_contents("../data/config.php", $config)===false) return "Warning: Could not create file!";
else {
$_SESSION['login'] = true;

@ -16,8 +16,8 @@ header('content-type: text/plain');
$error = '';
// Include
if (!file_exists('../php/config.php')) exit('Error 001: Configuration not found. Please install Lychee first.');
require('../php/config.php');
if (!file_exists('../data/config.php')) exit('Error 001: Configuration not found. Please install Lychee first.');
require('../data/config.php');
require('../php/modules/settings.php');
// Database
@ -54,7 +54,7 @@ if (substr(sprintf('%o', @fileperms('../uploads/big/')), -4)!='0777') $error .=
if (substr(sprintf('%o', @fileperms('../uploads/thumb/')), -4)!='0777') $error .= ('Error 501: Wrong permissions for \'uploads/thumb\' (777 required)' . PHP_EOL);
if (substr(sprintf('%o', @fileperms('../uploads/import/')), -4)!='0777') $error .= ('Error 502: Wrong permissions for \'uploads/import\' (777 required)' . PHP_EOL);
if (substr(sprintf('%o', @fileperms('../uploads/')), -4)!='0777') $error .= ('Error 503: Wrong permissions for \'uploads/\' (777 required)' . PHP_EOL);
if (substr(sprintf('%o', @fileperms('../php/')), -4)!='0777') $error .= ('Error 504: Wrong permissions for \'php/\' (777 required)' . PHP_EOL);
if (substr(sprintf('%o', @fileperms('../data/')), -4)!='0777') $error .= ('Error 504: Wrong permissions for \'data/\' (777 required)' . PHP_EOL);
if ($error=='') echo('Lychee is ready. Lets rock!' . PHP_EOL . PHP_EOL); else echo $error;

@ -17,11 +17,11 @@ You can use Lychee right after the installation. Here are some advanced features
### Settings
Sign in and click the gear on the top left corner to change your settings. If you want to edit them manually: MySQL details are stored in `php/config.php`. Other options and settings are stored directly in the database. [Settings &#187;](docs/md/Settings.md)
Sign in and click the gear on the top left corner to change your settings. If you want to edit them manually: MySQL details are stored in `data/config.php`. Other options and settings are stored directly in the database. [Settings &#187;](docs/md/Settings.md)
### Update
1. Replace all files, excluding `uploads/`
1. Replace all files, excluding `uploads/` and `data/`
2. Open Lychee and enter your database details
### FTP Upload

@ -24,7 +24,7 @@
define("LYCHEE", true);
require("php/config.php");
require("data/config.php");
require("php/modules/db.php");
require("php/modules/misc.php");

Loading…
Cancel
Save