Merge service class
//service class configure in .htconfig.php:
$a->config['system']['default_service_class']='standard'; // this is
the default service class that is attached to every new account
$a->config['service_class']['standard'] =
array('photo_upload_limit'=>20000000, // total photo storage limit per
channel (here 20MB)
'total_identities' =>5, // number of channels an account can create
'total_items' =>2000, // number of top level posts a channel can
create. Applies only to top level posts of the user, other posts and
comments are unaffected
'total_pages' =>10, // number of pages a channel can create
'total_channels' =>500, // number of channels the user can add, other
users can still add this channel, even if the limit is reached
'attach_upload_limit' =>20000000); // total attachment storage limit
per channel (here 20MB)
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -1,12 +1,27 @@
|
||||
<?php /** @file */
|
||||
|
||||
function follow_widget() {
|
||||
|
||||
$a = get_app();
|
||||
$uid =$a->channel['channel_id'];
|
||||
$r = q("select count(*) as total from abook where abook_channel = %d and not (abook_flags & %d) ",
|
||||
intval($uid),
|
||||
intval(ABOOK_FLAG_SELF)
|
||||
);
|
||||
if($r)
|
||||
$total_channels = $r[0]['total'];
|
||||
$limit = service_class_fetch($uid,'total_channels');
|
||||
if($limit !== false) {
|
||||
$abook_usage_message = sprintf( t("You have %1$.0f of %2$.0f allowed connections."), $total_channels, $limit);
|
||||
}
|
||||
else {
|
||||
$abook_usage_message = '';
|
||||
}
|
||||
return replace_macros(get_markup_template('follow.tpl'),array(
|
||||
'$connect' => t('Add New Connection'),
|
||||
'$desc' => t('Enter the channel address'),
|
||||
'$hint' => t('Example: bob@example.com, http://example.com/barbara'),
|
||||
'$follow' => t('Connect')
|
||||
'$follow' => t('Connect'),
|
||||
'$abook_usage_message' => $abook_usage_message
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ require_once('include/crypto.php');
|
||||
function identity_check_service_class($account_id) {
|
||||
$ret = array('success' => false, $message => '');
|
||||
|
||||
$r = q("select count(channel_id) as total from channel were channel_account_id = %d ",
|
||||
$r = q("select count(channel_id) as total from channel where channel_account_id = %d ",
|
||||
intval($account_id)
|
||||
);
|
||||
if(! ($r && count($r))) {
|
||||
@@ -80,7 +80,10 @@ function create_identity($arr) {
|
||||
$ret['message'] = t('No account identifier');
|
||||
return $ret;
|
||||
}
|
||||
|
||||
$ret=identity_check_service_class($arr['account_id']);
|
||||
if (!$ret['success']) {
|
||||
return $ret;
|
||||
}
|
||||
$nick = mb_strtolower(trim($arr['nickname']));
|
||||
$name = escape_tags($arr['name']);
|
||||
$pageflags = ((x($arr,'pageflags')) ? intval($arr['pageflags']) : PAGE_NORMAL);
|
||||
|
||||
@@ -374,12 +374,14 @@ function get_theme_screenshot($theme) {
|
||||
|
||||
|
||||
function service_class_allows($uid,$property,$usage = false) {
|
||||
|
||||
$a = get_app();
|
||||
if($uid == local_user()) {
|
||||
$service_class = $a->user['service_class'];
|
||||
$service_class = $a->account['account_service_class'];
|
||||
}
|
||||
else {
|
||||
$r = q("select service_class from user where uid = %d limit 1",
|
||||
$r = q("select account_service_class as service_class
|
||||
from channel c, account a
|
||||
where c.channel_account_id=a.account_id and c.channel_id= %d limit 1",
|
||||
intval($uid)
|
||||
);
|
||||
if($r !== false and count($r)) {
|
||||
@@ -404,13 +406,15 @@ function service_class_allows($uid,$property,$usage = false) {
|
||||
|
||||
|
||||
function service_class_fetch($uid,$property) {
|
||||
|
||||
$a = get_app();
|
||||
if($uid == local_user()) {
|
||||
$service_class = $a->user['service_class'];
|
||||
$service_class = $a->account['account_service_class'];
|
||||
}
|
||||
else {
|
||||
$r = q("select service_class from user where uid = %d limit 1",
|
||||
intval($uid)
|
||||
$r = q("select account_service_class as service_class
|
||||
from channel c, account a
|
||||
where c.channel_account_id=a.account_id and c.channel_id= %d limit 1",
|
||||
intval($uid)
|
||||
);
|
||||
if($r !== false and count($r)) {
|
||||
$service_class = $r[0]['service_class'];
|
||||
@@ -420,6 +424,7 @@ function service_class_fetch($uid,$property) {
|
||||
return false; // everything is allowed
|
||||
|
||||
$arr = get_config('service_class',$service_class);
|
||||
|
||||
if(! is_array($arr) || (! count($arr)))
|
||||
return false;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user