cannot use file_get/put_contents in attach_store, must use pipe_streams
This commit is contained in:
parent
9845272522
commit
8fc9d87b1b
@ -550,6 +550,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||||||
$type = $f['type'];
|
$type = $f['type'];
|
||||||
} else {
|
} else {
|
||||||
if(! x($_FILES,'userfile')) {
|
if(! x($_FILES,'userfile')) {
|
||||||
|
logger('No source file');
|
||||||
$ret['message'] = t('No source file.');
|
$ret['message'] = t('No source file.');
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
@ -590,6 +591,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||||||
intval($channel_id)
|
intval($channel_id)
|
||||||
);
|
);
|
||||||
if(! $x) {
|
if(! $x) {
|
||||||
|
logger('update file source not found');
|
||||||
$ret['message'] = t('Cannot locate file to revise/update');
|
$ret['message'] = t('Cannot locate file to revise/update');
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
@ -731,6 +733,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||||||
$maxfilesize = get_config('system','maxfilesize');
|
$maxfilesize = get_config('system','maxfilesize');
|
||||||
|
|
||||||
if(($maxfilesize) && ($filesize > $maxfilesize)) {
|
if(($maxfilesize) && ($filesize > $maxfilesize)) {
|
||||||
|
logger('quota_exceeded');
|
||||||
$ret['message'] = sprintf( t('File exceeds size limit of %d'), $maxfilesize);
|
$ret['message'] = sprintf( t('File exceeds size limit of %d'), $maxfilesize);
|
||||||
if($remove_when_processed)
|
if($remove_when_processed)
|
||||||
@unlink($src);
|
@unlink($src);
|
||||||
@ -751,6 +754,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||||||
intval($channel['channel_account_id'])
|
intval($channel['channel_account_id'])
|
||||||
);
|
);
|
||||||
if(($r) && (($r[0]['total'] + $filesize) > ($limit - $existing_size))) {
|
if(($r) && (($r[0]['total'] + $filesize) > ($limit - $existing_size))) {
|
||||||
|
logger('service_class limit exceeded');
|
||||||
$ret['message'] = upgrade_message(true) . sprintf(t("You have reached your limit of %1$.0f Mbytes attachment storage."), $limit / 1024000);
|
$ret['message'] = upgrade_message(true) . sprintf(t("You have reached your limit of %1$.0f Mbytes attachment storage."), $limit / 1024000);
|
||||||
if($remove_when_processed)
|
if($remove_when_processed)
|
||||||
@unlink($src);
|
@unlink($src);
|
||||||
@ -783,8 +787,15 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||||||
$os_path = $os_relpath;
|
$os_path = $os_relpath;
|
||||||
$display_path = ltrim($pathname . '/' . $filename,'/');
|
$display_path = ltrim($pathname . '/' . $filename,'/');
|
||||||
|
|
||||||
if($src)
|
if($src) {
|
||||||
@file_put_contents($os_basepath . $os_relpath,@file_get_contents($src));
|
$istream = @fopen($src,'rb');
|
||||||
|
$ostream = @fopen($os_basepath . $os_relpath,'wb');
|
||||||
|
if($istream && $ostream) {
|
||||||
|
pipe_streams($istream,$ostream,65535);
|
||||||
|
fclose($istream);
|
||||||
|
fclose($ostream);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(array_key_exists('created', $arr))
|
if(array_key_exists('created', $arr))
|
||||||
$created = $arr['created'];
|
$created = $arr['created'];
|
||||||
|
Reference in New Issue
Block a user