aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/contact_widgets.php19
-rw-r--r--include/identity.php7
-rwxr-xr-xinclude/plugin.php19
3 files changed, 34 insertions, 11 deletions
diff --git a/include/contact_widgets.php b/include/contact_widgets.php
index e5f778e49..cc7d92508 100644
--- a/include/contact_widgets.php
+++ b/include/contact_widgets.php
@@ -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
));
}
diff --git a/include/identity.php b/include/identity.php
index 8db6355c0..98209c8ae 100644
--- a/include/identity.php
+++ b/include/identity.php
@@ -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);
diff --git a/include/plugin.php b/include/plugin.php
index 01ee99786..ea88a61df 100755
--- a/include/plugin.php
+++ b/include/plugin.php
@@ -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;