mirror of
https://github.com/vichan-devel/vichan.git
synced 2025-02-25 22:48:00 +01:00
Refactor post.php: split upload file hashing to a function
This commit is contained in:
parent
15cce3a31f
commit
d02c4eb31d
47
post.php
47
post.php
@ -5,6 +5,39 @@
|
|||||||
|
|
||||||
require_once 'inc/bootstrap.php';
|
require_once 'inc/bootstrap.php';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Utility functions
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the md5 hash of the file.
|
||||||
|
*
|
||||||
|
* @param array $config instance configuration.
|
||||||
|
* @param string $file file to the the md5 of.
|
||||||
|
* @return string|false
|
||||||
|
*/
|
||||||
|
function md5_hash_of_file($config, $path) {
|
||||||
|
$cmd = false;
|
||||||
|
if ($config['bsd_md5']) {
|
||||||
|
$cmd = '/sbin/md5 -r';
|
||||||
|
}
|
||||||
|
if ($config['gnu_md5']) {
|
||||||
|
$cmd = 'md5sum';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($cmd) {
|
||||||
|
$output = shell_exec_error($cmd . " " . escapeshellarg($path));
|
||||||
|
$output = explode(' ', $output);
|
||||||
|
return $output[0];
|
||||||
|
} else {
|
||||||
|
return md5_file($path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method handling functions
|
||||||
|
*/
|
||||||
|
|
||||||
$dropped_post = false;
|
$dropped_post = false;
|
||||||
|
|
||||||
// Is it a post coming from NNTP? Let's extract it and pretend it's a normal post.
|
// Is it a post coming from NNTP? Let's extract it and pretend it's a normal post.
|
||||||
@ -837,12 +870,7 @@ if (isset($_POST['delete'])) {
|
|||||||
$post['tracked_cites'] = markup($post['body'], true);
|
$post['tracked_cites'] = markup($post['body'], true);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ($post['has_file']) {
|
if ($post['has_file']) {
|
||||||
$md5cmd = false;
|
|
||||||
if ($config['bsd_md5']) $md5cmd = '/sbin/md5 -r';
|
|
||||||
if ($config['gnu_md5']) $md5cmd = 'md5sum';
|
|
||||||
|
|
||||||
$allhashes = '';
|
$allhashes = '';
|
||||||
|
|
||||||
foreach ($post['files'] as $key => &$file) {
|
foreach ($post['files'] as $key => &$file) {
|
||||||
@ -863,14 +891,7 @@ if (isset($_POST['delete'])) {
|
|||||||
if (!is_readable($upload))
|
if (!is_readable($upload))
|
||||||
error($config['error']['nomove']);
|
error($config['error']['nomove']);
|
||||||
|
|
||||||
if ($md5cmd) {
|
$hash = md5_hash_of_file($config, $upload);
|
||||||
$output = shell_exec_error($md5cmd . " " . escapeshellarg($upload));
|
|
||||||
$output = explode(' ', $output);
|
|
||||||
$hash = $output[0];
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$hash = md5_file($upload);
|
|
||||||
}
|
|
||||||
|
|
||||||
$file['hash'] = $hash;
|
$file['hash'] = $hash;
|
||||||
$allhashes .= $hash;
|
$allhashes .= $hash;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user