Service class items
Items / webpages /attachment message
This commit is contained in:
parent
94fb9c2406
commit
f4dfb90dbc
@ -339,7 +339,7 @@ function attach_store($channel,$observer_hash,$options = '',$arr = null) {
|
||||
intval($channel_id)
|
||||
);
|
||||
if(($r) && (($r[0]['total'] + $filesize) > ($limit - $existing_size))) {
|
||||
$ret['message'] = upgrade_message(true);
|
||||
$ret['message'] = upgrade_message(true).sprintf(t("You have reached your limit of %1$.0f Mbytes attachment storage."),$limit / 1024000);
|
||||
@unlink($src);
|
||||
return $ret;
|
||||
}
|
||||
|
48
mod/item.php
48
mod/item.php
@ -71,7 +71,18 @@ function item_post(&$a) {
|
||||
$webpage = ((x($_REQUEST,'webpage')) ? intval($_REQUEST['webpage']) : 0);
|
||||
$pagetitle = ((x($_REQUEST,'pagetitle')) ? escape_tags($_REQUEST['pagetitle']): '');
|
||||
$buildblock = ((x($_REQUEST,'buildblock')) ? intval($_REQUEST['buildblock']) : 0);
|
||||
/*
|
||||
Check service class limits
|
||||
*/
|
||||
if (local_user() && !(x($_REQUEST,'parent')) && !(x($_REQUEST,'post_id'))) {
|
||||
$ret=item_check_service_class(local_user(),x($_REQUEST,'webpage'));
|
||||
if (!$ret['success']) {
|
||||
notice( t($ret['message']) . EOL) ;
|
||||
goaway($a->get_baseurl() . "/" . $return_path );
|
||||
killme();
|
||||
|
||||
}
|
||||
}
|
||||
if($pagetitle) {
|
||||
require_once('library/urlify/URLify.php');
|
||||
$pagetitle = strtolower(URLify::transliterate($pagetitle));
|
||||
@ -1081,3 +1092,40 @@ function fix_attached_file_permissions($channel,$observer_hash,$body,
|
||||
}
|
||||
}
|
||||
}
|
||||
function item_check_service_class($channel_id,$iswebpage) {
|
||||
$ret = array('success' => false, $message => '');
|
||||
if ($iswebpage) {
|
||||
$r = q("select count(i.id) as total from item i
|
||||
right join channel c on (i.author_xchan=c.channel_hash and i.uid=c.channel_id )
|
||||
and i.parent=i.id and (i.item_restrict & %d) and i.uid= %d ",
|
||||
intval(ITEM_WEBPAGE),
|
||||
intval($channel_id)
|
||||
);
|
||||
}
|
||||
else {
|
||||
$r = q("select count(i.id) as total from item i
|
||||
right join channel c on (i.author_xchan=c.channel_hash and i.uid=c.channel_id )
|
||||
and i.parent=i.id and (i.item_restrict=0) and i.uid= %d ",
|
||||
intval($channel_id)
|
||||
);
|
||||
}
|
||||
if(! ($r && count($r))) {
|
||||
$ret['message'] = t('Unable to obtain identity information from database');
|
||||
return $ret;
|
||||
}
|
||||
if (!$iswebpage) {
|
||||
if(! service_class_allows($channel_id,'total_items',$r[0]['total'])) {
|
||||
$result['message'] .= upgrade_message().sprintf(t("You have reached your limit of %1$.0f top level posts."),$r[0]['total']);
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(! service_class_allows($channel_id,'total_pages',$r[0]['total'])) {
|
||||
$result['message'] .= upgrade_message().sprintf(t("You have reached your limit of %1$.0f webpages."),$r[0]['total']);
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
$ret['success'] = true;
|
||||
return $ret;
|
||||
}
|
||||
|
Reference in New Issue
Block a user