AEOS Calvarium v0.4
This commit is contained in:
parent
821b405f5a
commit
57b531cb62
189 changed files with 3810 additions and 1417 deletions
162
admin/owEditor/upload.php
Executable file
162
admin/owEditor/upload.php
Executable file
|
|
@ -0,0 +1,162 @@
|
|||
<?php
|
||||
define('OWUPLOAD_PATH', "../../data/images");
|
||||
define('OWUPLOAD_URI', "../../data/images");
|
||||
|
||||
$owupload_allowed_extensions = array('jpg','jpeg','png','gif','bmp');
|
||||
$rfc1867 = function_exists('apc_fetch') && ini_get('apc.rfc1867');
|
||||
|
||||
$id = $_POST['APC_UPLOAD_PROGRESS'];
|
||||
if(empty($id)) $id = $_GET['id'];
|
||||
|
||||
if($_SERVER['REQUEST_METHOD']=='POST')
|
||||
{
|
||||
$file = $_FILES['owImage'];
|
||||
$image = $file['tmp_name'];
|
||||
|
||||
$max_upload_size = ini_max_upload_size();
|
||||
$ext = strtolower(substr(strrchr($file['name'], '.'), 1));
|
||||
@$size = getimagesize($image);
|
||||
$filename = $id.'.'.$ext;
|
||||
$path = OWUPLOAD_PATH.'/'.$filename;
|
||||
|
||||
if(!move_uploaded_file($image, $path)) {
|
||||
owupload_error('Impossible de déplacer le fichier.');
|
||||
}
|
||||
|
||||
if($rfc1867) {
|
||||
$status = apc_fetch('upload_'.$id);
|
||||
}
|
||||
if(!$status) {
|
||||
$status = array();
|
||||
}
|
||||
$status['done'] = 1;
|
||||
$status['width'] = $size[0];
|
||||
$status['url'] = owupload_file_uri($filename);
|
||||
|
||||
if($rfc1867) {
|
||||
apc_store('upload_'.$id, $status);
|
||||
}
|
||||
|
||||
owupload_output($status, $rfc1867);
|
||||
exit;
|
||||
}
|
||||
else if(isset($_GET['check']))
|
||||
{
|
||||
$check = $_GET['check'];
|
||||
|
||||
if($rfc1867) {
|
||||
$status = apc_fetch('upload_'.$check);
|
||||
|
||||
if($status['total'] > 500000 && $status['current']/$status['total'] < 0.9 ) { // Large file and we are < 90% complete
|
||||
$status['interval'] = 3000;
|
||||
} else if($status['total'] > 200000 && $status['current']/$status['total'] < 0.8 ) { // Is this a largeish file and we are < 80% complete
|
||||
$status['interval'] = 2000;
|
||||
} else {
|
||||
$status['interval'] = 1000;
|
||||
}
|
||||
|
||||
owupload_output($status);
|
||||
} else {
|
||||
$status = array();
|
||||
$status['noprogress'] = true;
|
||||
foreach($owupload_allowed_extensions as $e) {
|
||||
if(file_exists(OWUPLOAD_PATH.'/'.$check.'.'.$e)) {
|
||||
$ext = $e;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if($ext) {
|
||||
$status['url'] = owupload_file_uri($check.'.'.$ext);
|
||||
}
|
||||
owupload_output($status);
|
||||
}
|
||||
}
|
||||
|
||||
// Display error
|
||||
function owupload_error($msg)
|
||||
{
|
||||
echo owupload_output(array('error' => $msg));
|
||||
}
|
||||
|
||||
function owupload_output($status, $showLoadingMsg = false)
|
||||
{
|
||||
$script = '
|
||||
try
|
||||
{
|
||||
'.(($_SERVER['REQUEST_METHOD']=='POST') ? 'top.' : '').'owUploadButton.statusCb('.json_encode($status).');
|
||||
} catch(e) { alert(e.message); }
|
||||
';
|
||||
|
||||
if($_SERVER['REQUEST_METHOD']=='POST')
|
||||
{
|
||||
echo '<script>'.$script.'</script>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $script;
|
||||
}
|
||||
|
||||
if($_SERVER['REQUEST_METHOD']=='POST' && $showLoadingMsg)
|
||||
{
|
||||
|
||||
echo
|
||||
<<<END
|
||||
<html><body>
|
||||
<div id="uploadingMessage" style="text-align: center; font-size: 14px;">
|
||||
<img src="owEditor/loader.gif" style="float: right; margin-right: 40px;" />
|
||||
<strong>Upload en cours...</strong><br />
|
||||
</div>
|
||||
</body></html>
|
||||
END;
|
||||
}
|
||||
exit;
|
||||
}
|
||||
|
||||
function owupload_file_uri($filename)
|
||||
{
|
||||
$path = $_SERVER['PHP_SELF'];
|
||||
$file = basename ($path);
|
||||
if($_SERVER['SERVER_PORT']!=80) $base = str_replace($file,"", $_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].$_SERVER['SCRIPT_NAME']);
|
||||
else $base = str_replace($file,"", $_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']);
|
||||
$base = str_replace('/admin/owEditor/','', $base);
|
||||
//$folder = "http://".$base."/data/images"; // => 127*/.../*images
|
||||
$folder = "../../data/images"; // => 127*/.../*images
|
||||
return $folder.'/'.$filename;
|
||||
}
|
||||
|
||||
function ini_max_upload_size()
|
||||
{
|
||||
$post_size = ini_get('post_max_size');
|
||||
$upload_size = ini_get('upload_max_filesize');
|
||||
if(!$post_size) $post_size = '8M';
|
||||
if(!$upload_size) $upload_size = '2M';
|
||||
|
||||
return min( ini_bytes_from_string($post_size), ini_bytes_from_string($upload_size) );
|
||||
}
|
||||
|
||||
function ini_bytes_from_string($val)
|
||||
{
|
||||
$val = trim($val);
|
||||
$last = strtolower($val[strlen($val)-1]);
|
||||
switch($last) {
|
||||
case 'g':
|
||||
$val *= 1024;
|
||||
case 'm':
|
||||
$val *= 1024;
|
||||
case 'k':
|
||||
$val *= 1024;
|
||||
}
|
||||
return $val;
|
||||
}
|
||||
|
||||
function bytes_to_readable( $bytes )
|
||||
{
|
||||
if ($bytes<=0)
|
||||
return '0 Byte';
|
||||
|
||||
$convention=1000; //[1000->10^x|1024->2^x]
|
||||
$s=array('B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB');
|
||||
$e=floor(log($bytes,$convention));
|
||||
return round($bytes/pow($convention,$e),2).' '.$s[$e];
|
||||
}
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue