<?php
+use Friendica\App;
+
require_once('include/attach.php');
require_once('include/datetime.php');
-function wall_attach_post(App &$a) {
+function wall_attach_post(App $a) {
$r_json = (x($_GET,'response') && $_GET['response']=='json');
killme();
}
- $r = q("select sum(octet_length(data)) as total from attach where uid = %d ",
- intval($page_owner_uid)
- );
-
$limit = service_class_fetch($page_owner_uid,'attach_upload_limit');
- if(($limit !== false) && (($r[0]['total'] + strlen($imagedata)) > $limit)) {
- $msg = upgrade_message(true);
- if ($r_json) {
- echo json_encode(array('error'=>$msg));
- } else {
- echo $msg. EOL ;
+ if ($limit) {
+ $r = q("select sum(octet_length(data)) as total from photo where uid = %d and scale = 0 and album != 'Contact Photos' ",
+ intval($page_owner_uid)
+ );
+ $size = $r[0]['total'];
+
+ if (($size + strlen($imagedata)) > $limit) {
+ $msg = upgrade_message(true);
+ if ($r_json) {
+ echo json_encode(array('error'=>$msg));
+ } else {
+ echo $msg. EOL ;
+ }
+ @unlink($src);
+ killme();
}
- @unlink($src);
- killme();
}
-
$filedata = @file_get_contents($src);
$mimetype = z_mime_content_type($filename);
$hash = get_guid(64);
$created = datetime_convert();
- $r = q("INSERT INTO `attach` ( `uid`, `hash`, `filename`, `filetype`, `filesize`, `data`, `created`, `edited`, `allow_cid`, `allow_gid`,`deny_cid`, `deny_gid` )
- VALUES ( %d, '%s', '%s', '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
- intval($page_owner_uid),
- dbesc($hash),
- dbesc($filename),
- dbesc($mimetype),
- intval($filesize),
- dbesc($filedata),
- dbesc($created),
- dbesc($created),
- dbesc('<' . $page_owner_cid . '>'),
- dbesc(''),
- dbesc(''),
- dbesc('')
- );
+
+ $fields = array('uid' => $page_owner_uid, 'hash' => $hash, 'filename' => $filename, 'filetype' => $mimetype,
+ 'filesize' => $filesize, 'data' => $filedata, 'created' => $created, 'edited' => $created,
+ 'allow_cid' => '<' . $page_owner_cid . '>', 'allow_gid' => '','deny_cid' => '', 'deny_gid' => '');
+
+ $r = dba::insert('attach', $fields);
@unlink($src);