Multi-board support.
This commit is contained in:
parent
e9e854829b
commit
4f6160f242
26
post.php
26
post.php
@ -18,7 +18,9 @@
|
|||||||
$board['url'] = sprintf(BOARD_ABBREVIATION, $board['uri']);
|
$board['url'] = sprintf(BOARD_ABBREVIATION, $board['uri']);
|
||||||
|
|
||||||
if(!file_exists($board['dir'])) mkdir($board['dir'], 0777);
|
if(!file_exists($board['dir'])) mkdir($board['dir'], 0777);
|
||||||
chdir($board['dir']);
|
if(!file_exists($board['dir'] . DIR_IMG)) mkdir($board['dir'] . DIR_IMG, 0777);
|
||||||
|
if(!file_exists($board['dir'] . DIR_THUMB)) mkdir($board['dir'] . DIR_THUMB, 0777);
|
||||||
|
if(!file_exists($board['dir'] . DIR_RES)) mkdir($board['dir'] . DIR_RES, 0777);
|
||||||
|
|
||||||
$body = '';
|
$body = '';
|
||||||
|
|
||||||
@ -105,8 +107,8 @@
|
|||||||
if($post['has_file']) {
|
if($post['has_file']) {
|
||||||
$post['extension'] = strtolower(substr($post['filename'], strrpos($post['filename'], '.') + 1));
|
$post['extension'] = strtolower(substr($post['filename'], strrpos($post['filename'], '.') + 1));
|
||||||
$post['file_id'] = rand(0, 1000000000);
|
$post['file_id'] = rand(0, 1000000000);
|
||||||
$post['file'] = DIR_IMG . $post['file_id'] . '.' . $post['extension'];
|
$post['file'] = $board['dir'] . DIR_IMG . $post['file_id'] . '.' . $post['extension'];
|
||||||
$post['thumb'] = DIR_THUMB . $post['file_id'] . '.png';
|
$post['thumb'] = $board['dir'] . DIR_THUMB . $post['file_id'] . '.png';
|
||||||
$post['zip'] = $OP && $post['has_file'] && ALLOW_ZIP && $post['extension'] == 'zip' ? $post['file'] : false;
|
$post['zip'] = $OP && $post['has_file'] && ALLOW_ZIP && $post['extension'] == 'zip' ? $post['file'] : false;
|
||||||
if(!($post['zip'] || in_array($post['extension'], $allowed_ext))) error(ERROR_FILEEXT);
|
if(!($post['zip'] || in_array($post['extension'], $allowed_ext))) error(ERROR_FILEEXT);
|
||||||
}
|
}
|
||||||
@ -125,7 +127,7 @@
|
|||||||
// Just trim the filename if it's too long
|
// Just trim the filename if it's too long
|
||||||
if(strlen($post['filename']) > 30) $post['filename'] = substr($post['filename'], 0, 27).'…';
|
if(strlen($post['filename']) > 30) $post['filename'] = substr($post['filename'], 0, 27).'…';
|
||||||
// Move the uploaded file
|
// Move the uploaded file
|
||||||
if(!@move_uploaded_file($_FILES['file']['tmp_name'], $post['file'])) error(ERROR_NOMOVE);
|
if(!move_uploaded_file($_FILES['file']['tmp_name'], $post['file'])) error(ERROR_NOMOVE);
|
||||||
|
|
||||||
if($post['zip']) {
|
if($post['zip']) {
|
||||||
// Validate ZIP file
|
// Validate ZIP file
|
||||||
@ -189,8 +191,8 @@
|
|||||||
|
|
||||||
// Remove DIR_* before inserting them into the database.
|
// Remove DIR_* before inserting them into the database.
|
||||||
if($post['has_file']) {
|
if($post['has_file']) {
|
||||||
$post['file'] = substr_replace($post['file'], '', 0, strlen(DIR_IMG));
|
$post['file'] = substr_replace($post['file'], '', 0, strlen($board['dir'] . DIR_IMG));
|
||||||
$post['thumb'] = substr_replace($post['thumb'], '', 0, strlen(DIR_THUMB));
|
$post['thumb'] = substr_replace($post['thumb'], '', 0, strlen($board['dir'] . DIR_THUMB));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Todo: Validate some more, remove messy code, allow more specific configuration
|
// Todo: Validate some more, remove messy code, allow more specific configuration
|
||||||
@ -225,8 +227,8 @@
|
|||||||
'filename' => $filename
|
'filename' => $filename
|
||||||
);
|
);
|
||||||
|
|
||||||
$dump_post['file'] = DIR_IMG . $dump_post['file_id'] . '.' . $extension;
|
$dump_post['file'] = $board['dir'] . DIR_IMG . $dump_post['file_id'] . '.' . $extension;
|
||||||
$dump_post['thumb'] = DIR_THUMB . $dump_post['file_id'] . '.png';
|
$dump_post['thumb'] = $board['dir'] . DIR_THUMB . $dump_post['file_id'] . '.png';
|
||||||
|
|
||||||
// Extract the image from the ZIP
|
// Extract the image from the ZIP
|
||||||
$fp = fopen($dump_post['file'], 'w+');
|
$fp = fopen($dump_post['file'], 'w+');
|
||||||
@ -280,8 +282,8 @@
|
|||||||
$dump_post['thumbheight'] = $thumb['height'];
|
$dump_post['thumbheight'] = $thumb['height'];
|
||||||
|
|
||||||
// Remove DIR_* before inserting them into the database.
|
// Remove DIR_* before inserting them into the database.
|
||||||
$dump_post['file'] = substr_replace($dump_post['file'], '', 0, strlen(DIR_IMG));
|
$dump_post['file'] = substr_replace($dump_post['file'], '', 0, strlen($board['dir'] . DIR_IMG));
|
||||||
$dump_post['thumb'] = substr_replace($dump_post['thumb'], '', 0, strlen(DIR_THUMB));
|
$dump_post['thumb'] = substr_replace($dump_post['thumb'], '', 0, strlen($board['dir'] . DIR_THUMB));
|
||||||
|
|
||||||
// Create the post
|
// Create the post
|
||||||
post($dump_post, false);
|
post($dump_post, false);
|
||||||
@ -311,9 +313,9 @@
|
|||||||
sql_close();
|
sql_close();
|
||||||
|
|
||||||
if(ALWAYS_NOKO || $noko) {
|
if(ALWAYS_NOKO || $noko) {
|
||||||
header('Location: ' . DIR_RES . ($OP?$id:$post['thread']) . '.html' . (!$OP?'#'.$id:''), true, 302);
|
header('Location: ' . ROOT . $board['dir'] . DIR_RES . ($OP?$id:$post['thread']) . '.html' . (!$OP?'#'.$id:''), true, 302);
|
||||||
} else {
|
} else {
|
||||||
header('Location: ' . ROOT . FILE_INDEX, true, 302);
|
header('Location: ' . ROOT . $board['dir'] . FILE_INDEX, true, 302);
|
||||||
}
|
}
|
||||||
|
|
||||||
exit;
|
exit;
|
||||||
|
Loading…
Reference in New Issue
Block a user