Browse Source

Merge branch 'master' of github.com:savetheinternet/Tinyboard

Conflicts:
	inc/config.php
	inc/functions.php
	post.php
pull/40/head
Savetheinternet 14 years ago
parent
commit
599530e935
  1. 10
      .gitignore
  2. 3
      README.md
  3. 111
      inc/config.php
  4. 16
      inc/display.php
  5. 8
      inc/functions.php
  6. 19
      inc/instance-config.php
  7. 7
      post.php
  8. 3
      test.php

10
.gitignore

@ -0,0 +1,10 @@
# static html
*.html
# directories
res/
src/
thumb/
# instance-config
inc/instance-config.php

3
README.md

@ -12,7 +12,7 @@ Tinyboard is not currently at a stable state.
2. Import 'install.sql' into the database. There are several ways to do this.
- using phpMyAdmin
- `mysql -uUSERNAME -pPASSWORD DATABASE < install.sql`
3. Edit '[inc/config.php][c]' to suit your installation
3. Edit 'instance-config.php' to suit your installation. You should copy some values from '[inc/config.php][c]' to redefine them in the instance-config.
4. Make sure that the directories used by Tinyboard are writable. Depending on your setup, you may need to `chmod` the directories to 777.
The default directories are:
- ./res
@ -43,3 +43,4 @@ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

111
inc/config.php

@ -1,36 +1,46 @@
<?php
/*
* WARNING: This is a project-wide configuration file shared by all Tinyboard users around the globe.
* If you would like to make instance-specific changes to your own setup, please use instance-config.php.
*
* This is the default configuration. You can copy values from here and use them in
* your instance-config.php
*
*/
// Database stuff
define('MY_SERVER', 'localhost');
define('MY_USER', '');
define('MY_PASSWORD', '');
define('MY_DATABASE', '');
define('MY_SERVER', 'localhost', true);
define('MY_USER', '', true);
define('MY_PASSWORD', '', true);
define('MY_DATABASE', '', true);
// The name of the session cookie (PHP's $_SESSION)
define('SESS_COOKIE', 'imgboard');
define('SESS_COOKIE', 'imgboard', true);
// Used to safely determine when the user was first seen, to prevent floods.
// time()
define('TIME_COOKIE', 'arrived');
define('TIME_COOKIE', 'arrived', true);
// HASH_COOKIE contains an MD5 hash of TIME_COOKIE+SALT for verification.
define('HASH_COOKIE', 'hash');
define('HASH_COOKIE', 'hash', true);
// How long should the cookies last (in seconds)
define('COOKIE_EXPIRE', 15778463); //6 months
define('COOKIE_EXPIRE', 15778463, true); //6 months
define('SALT', 'wefaw98YHEWUFuo');
define('SALT', 'wefaw98YHEWUFuo', true);
// How many seconds before you can post, after the first visit
define('LURKTIME', 30);
define('LURKTIME', 30, true);
// Max body length
define('MAX_BODY', 1800);
define('MAX_BODY', 1800, true);
define('THREADS_PER_PAGE', 10);
define('MAX_PAGES', 5);
define('THREADS_PREVIEW', 5);
define('THREADS_PER_PAGE', 10, true);
define('MAX_PAGES', 5, true);
define('THREADS_PREVIEW', 5, true);
// Error messages
<<<<<<< HEAD
define('ERROR_LURK', 'Lurk some more before posting.');
define('ERROR_BOT', 'You look like a bot.');
define('ERROR_TOOLONG', 'The %s field was too long.');
@ -42,16 +52,33 @@
define('ERR_INVALIDIMG','Invalid image.');
define('ERR_FILESIZE', 'Maximum file size: %maxsz% bytes<br>Your file\'s size: %filesz% bytes');
define('ERR_MAXSIZE', 'The file was too big.');
=======
define('ERROR_LURK', 'Lurk some more before posting.', true);
define('ERROR_BOT', 'You look like a bot.', true);
define('ERROR_TOOLONG', 'The %s field was too long.', true);
define('ERROR_TOOLONGBODY', 'The body was too long.', true);
define('ERROR_TOOSHORTBODY', 'The body was too short or empty.', true);
define('ERROR_NOIMAGE', 'You must upload an image.', true);
define('ERROR_NOMOVE', 'The server failed to handle your upload.', true);
define('ERROR_FILEEXT', 'Unsupported image format.', true);
define('ERR_INVALIDIMG','Invalid image.', true);
define('ERR_FILESIZE', 'Maximum file size: %maxsz% bytes<br>Your file\'s size: %filesz% bytes', true);
define('ERR_MAXSIZE', 'The file was too big.', true);
>>>>>>> 6cdaed486e6c373b52f639d3e92d7365242f6a89
// For resizing, max values
define('THUMB_WIDTH', 200);
define('THUMB_HEIGHT', 200);
define('THUMB_WIDTH', 200, true);
define('THUMB_HEIGHT', 200, true);
// Maximum image upload size in bytes
define('MAX_FILESIZE', 1048576); // 10MB
define('MAX_FILESIZE', 10*1024*1024, true); // 10MB
// Maximum image dimensions
define('MAX_WIDTH', 10000);
define('MAX_HEIGHT', MAX_WIDTH);
define('MAX_WIDTH', 10000, true);
define('MAX_HEIGHT', MAX_WIDTH, true);
define('ALLOW_ZIP', true, true);
define('ZIP_IMAGE', 'src/zip.png', true);
define('ALLOW_ZIP', true);
define('ZIP_IMAGE', 'src/zip.png');
@ -61,44 +88,54 @@
Redraw the image using GD functions to strip any excess data (commonly ZIP archives)
WARNING: Very beta. Currently strips animated GIFs too :(
**/
define('REDRAW_IMAGE', true);
define('REDRAW_IMAGE', false, true);
// Redrawing configuration
define('JPEG_QUALITY', 100);
define('REDRAW_GIF', false);
define('JPEG_QUALITY', 100, true);
define('REDRAW_GIF', false, true);
// Display the aspect ratio in a post's file info
<<<<<<< HEAD
define('SHOW_RATIO', true);
=======
define('SHOW_RATIO', true, true);
>>>>>>> 6cdaed486e6c373b52f639d3e92d7365242f6a89
define('DIR_IMG', 'src/');
define('DIR_THUMB', 'thumb/');
define('DIR_RES', 'res/');
define('DIR_IMG', 'src/', true);
define('DIR_THUMB', 'thumb/', true);
define('DIR_RES', 'res/', true);
// The root directory, including the trailing slash, for Tinyboard.
// examples: '/', '/board/', '/chan/'
define('ROOT', '/');
define('POST_URL', ROOT . 'post.php');
define('FILE_INDEX', 'index.html');
define('FILE_PAGE', '%d.html');
define('ROOT', '/', true);
define('POST_URL', ROOT . 'post.php', true);
define('FILE_INDEX', 'index.html', true);
define('FILE_PAGE', '%d.html', true);
// Automatically convert things like "..." to Unicode characters ("�")
define('AUTO_UNICODE', true);
define('AUTO_UNICODE', true, true);
// Whether to turn URLs into functional links
define('MARKUP_URLS', true);
define('URL_REGEX', '/' . '(https?|ftp):\/\/' . '([\w\-]+\.)+[a-zA-Z]{2,6}' . '(\/([\w\-~\.#\/?=&;:+%]+))?' . '/');
define('MARKUP_URLS', true, true);
define('URL_REGEX', '/' . '(https?|ftp):\/\/' . '([\w\-]+\.)+[a-zA-Z]{2,6}' . '(\/([\w\-~\.#\/?=&;:+%]+))?' . '/', true);
// Allowed file extensions
$allowed_ext = Array('jpg', 'jpeg', 'bmp', 'gif', 'png');
$allowed_ext = Array('jpg', 'jpeg', 'bmp', 'gif', 'png', true);
define('BUTTON_NEWTOPIC', 'New Topic');
define('BUTTON_REPLY', 'New Reply');
define('BUTTON_NEWTOPIC', 'New Topic', true);
define('BUTTON_REPLY', 'New Reply', true);
define('ALWAYS_NOKO', false);
define('ALWAYS_NOKO', false, true);
define('URL_MATCH', '/^' . (@$_SERVER['HTTPS']?'https':'http').':\/\/'.$_SERVER['HTTP_HOST'] . '(' . preg_quote(ROOT, '/') . '|' . preg_quote(ROOT, '/') . '' . preg_quote(FILE_INDEX, '/') . '|' . preg_quote(ROOT, '/') . '' . str_replace('%d', '\d+', preg_quote(FILE_PAGE, '/')) . ')$/');
define('URL_MATCH', '/^' . (@$_SERVER['HTTPS']?'https':'http').':\/\/'.$_SERVER['HTTP_HOST'] . '(' . preg_quote(ROOT, '/') . '|' . preg_quote(ROOT, '/') . '' . preg_quote(FILE_INDEX, '/') . '|' . preg_quote(ROOT, '/') . '' . str_replace('%d', '\d+', preg_quote(FILE_PAGE, '/')) . ')$/', true);
if(!defined('IS_INSTALLATION')) {
<<<<<<< HEAD
if(!file_exists(DIR_IMG)) @mkdir(DIR_IMG) or error("Couldn't create " . DIR_IMG . ". Install manually.");
if(!file_exists(DIR_THUMB)) @mkdir(DIR_THUMB) or error("Couldn't create " . DIR_IMG . ". Install manually.");
if(!file_exists(DIR_RES)) @mkdir(DIR_RES) or error("Couldn't create " . DIR_IMG . ". Install manually.");
=======
if(!file_exists(DIR_IMG)) @mkdir(DIR_IMG) or error("Couldn't create " . DIR_IMG . ". Install manually.", true);
if(!file_exists(DIR_THUMB)) @mkdir(DIR_THUMB) or error("Couldn't create " . DIR_IMG . ". Install manually.", true);
if(!file_exists(DIR_RES)) @mkdir(DIR_RES) or error("Couldn't create " . DIR_IMG . ". Install manually.", true);
>>>>>>> 6cdaed486e6c373b52f639d3e92d7365242f6a89
}
?>

16
inc/display.php

@ -14,8 +14,21 @@
return round($size, 2).$units[$i];
}
function commaize($n) {
$n = strval($n);
return (intval($n) < 1000) ? $n : commaize(substr($n, 0, -3)) . ',' . substr($n, -3);
}
function error($message) {
die(Element('page.html', Array('index' => ROOT, 'title'=>'Error', 'subtitle'=>'An error has occured.', 'body'=>"<h1>$message</h1><p style=\"text-align:center;\"><a href=\"" . ROOT . FILE_INDEX . "\">Go back</a>.</p>")));
die(Element('page.html', Array(
'index'=>ROOT,
'title'=>'Error',
'subtitle'=>'An error has occured.',
'body'=>"<center>" .
"<h2>$message</h2>" .
"<p><a href=\"" . ROOT . FILE_INDEX . "\">Go back</a>.</p>" .
"</center>"
)));
}
class Post {
@ -181,3 +194,4 @@
}
};
?>

8
inc/functions.php

@ -3,16 +3,23 @@
$replaces = array();
foreach($vars as $k => $v) {
$replaces[$delim . $k . $delim] = $v;
<<<<<<< HEAD
}
=======
}
>>>>>>> 6cdaed486e6c373b52f639d3e92d7365242f6a89
return str_replace(array_keys($replaces),
array_values($replaces), $str);
}
<<<<<<< HEAD
function commaize($n) {
$n = strval($n);
return (intval($n) < 1000) ? $n : commaize(substr($n, 0, -3)) . ',' . substr($n, -3);
}
=======
>>>>>>> 6cdaed486e6c373b52f639d3e92d7365242f6a89
function sql_open() {
global $sql;
$sql = @mysql_connect(MY_SERVER, MY_USER, MY_PASSWORD) or error('Database error.');
@ -569,3 +576,4 @@
return chr($n & 255).chr(($n >> 8) & 255);
}
?>

19
inc/instance-config.php

@ -0,0 +1,19 @@
<?php
/*
* Instance Configuration
* ----------------------
* Edit this file and not config.php for imageboard configuration.
*
* You can copy values from config.php (defaults) and paste them here.
*/
/*
define('MY_SERVER', 'localhost', true);
define('MY_USER', '', true);
define('MY_PASSWORD', '', true);
define('MY_DATABASE', '', true);
// define('FOO', 'bar');
*/
?>

7
post.php

@ -2,6 +2,9 @@
require 'inc/functions.php';
require 'inc/display.php';
require 'inc/template.php';
if (file_exists('inc/instance-config.php')) {
require 'inc/instance-config.php';
}
require 'inc/config.php';
require 'inc/user.php';
@ -78,7 +81,11 @@
$size = $_FILES['file']['size'];
if($size > MAX_FILESIZE)
error(sprintf3(ERR_FILESIZE, array(
<<<<<<< HEAD
'sz'=>commaize($size),
=======
'filesz'=>commaize($size),
>>>>>>> 6cdaed486e6c373b52f639d3e92d7365242f6a89
'maxsz'=>commaize(MAX_FILESIZE))));
}

3
test.php

@ -4,6 +4,9 @@
require 'inc/functions.php';
require 'inc/display.php';
require 'inc/template.php';
if (file_exists('inc/instance-config.php')) {
require 'inc/instance-config.php';
}
require 'inc/config.php';
require 'inc/user.php';

Loading…
Cancel
Save