diff options
author | friendica <info@friendica.com> | 2012-06-25 01:37:44 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2012-06-25 01:37:44 -0700 |
commit | 35a098e0dc7940974132d8d65bbc4418d92fb204 (patch) | |
tree | 3f49c1497c38c54b50dacbafc04933aa16cfb28a | |
parent | ad6c82bdea11e4c35284e18608f78ad4c355405d (diff) | |
download | volse-hubzilla-35a098e0dc7940974132d8d65bbc4418d92fb204.tar.gz volse-hubzilla-35a098e0dc7940974132d8d65bbc4418d92fb204.tar.bz2 volse-hubzilla-35a098e0dc7940974132d8d65bbc4418d92fb204.zip |
service limits for photo uploads
-rw-r--r-- | include/plugin.php | 25 | ||||
-rw-r--r-- | mod/photos.php | 33 | ||||
-rw-r--r-- | view/photos_upload.tpl | 3 | ||||
-rw-r--r-- | view/theme/duepuntozero/style.css | 3 |
4 files changed, 63 insertions, 1 deletions
diff --git a/include/plugin.php b/include/plugin.php index 89715485e..e8fec4cbe 100644 --- a/include/plugin.php +++ b/include/plugin.php @@ -355,6 +355,31 @@ function service_class_allows($uid,$property,$usage = false) { } } + +function service_class_fetch($uid,$property) { + + if($uid == local_user()) { + $service_class = $a->user['service_class']; + } + else { + $r = q("select service_class from user where uid = %d limit 1", + intval($uid) + ); + if($r !== false and count($r)) { + $service_class = $r[0]['service_class']; + } + } + if(! x($service_class)) + return false; // everything is allowed + + $arr = get_config('service_class',$service_class); + if(! is_array($arr) || (! count($arr))) + return false; + + return((array_key_exists($property,$arr)) ? $arr[$property] : false); + +} + function upgrade_link() { $l = get_config('service_class','upgrade_link'); $t = sprintf('<a href="%s">' . t('Click here to upgrade.') . '</div>', $l); diff --git a/mod/photos.php b/mod/photos.php index 31046565d..ea4d7f81f 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -711,6 +711,24 @@ function photos_post(&$a) { logger('mod/photos.php: photos_post(): loading the contents of ' . $src , LOGGER_DEBUG); $imagedata = @file_get_contents($src); + + + + $r = q("select sum(octet_length(data)) as total from photo where uid = %d and scale = 0 and album != 'Contact Photos' ", + intval($a->data['user']['uid']) + ); + + $limit = service_class_fetch($a->data['user']['uid'],'photo_upload_limit'); + + if(($limit !== false) && (($r[0]['total'] + strlen($imagedata)) > $limit)) { + notice( upgrade_message() . EOL ); + @unlink($src); + $foo = 0; + call_hooks('photo_post_end',$foo); + killme(); + } + + $ph = new Photo($imagedata, $type); if(! $ph->is_valid()) { @@ -968,12 +986,25 @@ function photos_content(&$a) { <input type="submit" name="submit" value="' . t('Submit') . '" id="photos-upload-submit" /> </div>'; - + $r = q("select sum(octet_length(data)) as total from photo where uid = %d and scale = 0 and album != 'Contact Photos' ", + intval($a->data['user']['uid']) + ); + + + $limit = service_class_fetch($a->data['user']['uid'],'photo_upload_limit'); + if($limit !== false) { + $usage_message = sprintf( t("You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."), $r[0]['total'] / 1024000, $limit / 1024000 ); + } + else { + $usage_message = sprintf( t('You have used %1$.2f Mbytes of photo storage.'), $r[0]['total'] / 1024000 ); + } + $tpl = get_markup_template('photos_upload.tpl'); $o .= replace_macros($tpl,array( '$pagename' => t('Upload Photos'), '$sessid' => session_id(), + '$usage' => $usage_message, '$nickname' => $a->data['user']['nickname'], '$newalbum' => t('New album name: '), '$existalbumtext' => t('or existing album name: '), diff --git a/view/photos_upload.tpl b/view/photos_upload.tpl index 318a92427..706b3398d 100644 --- a/view/photos_upload.tpl +++ b/view/photos_upload.tpl @@ -1,4 +1,7 @@ <h3>$pagename</h3> + +<div id="photos-usage-message">$usage</div> + <form action="photos/$nickname" enctype="multipart/form-data" method="post" name="photos-upload-form" id="photos-upload-form" > <div id="photos-upload-new-wrapper" > <div id="photos-upload-newalbum-div"> diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css index de366210b..ea3a2da9c 100644 --- a/view/theme/duepuntozero/style.css +++ b/view/theme/duepuntozero/style.css @@ -1644,6 +1644,9 @@ input#dfrn-url { display:block!important; } +#photos-usage-message { + margin-bottom: 15px; +} #acl-wrapper { |