implement service class for feed polling frequenecy, fixed a service class bug, moved service class stuff from plugin to account.php where it belongs and load that by default instead of on demand
This commit is contained in:
parent
d93f7d688d
commit
844087bc71
1
boot.php
1
boot.php
@ -41,6 +41,7 @@ require_once('include/features.php');
|
|||||||
require_once('include/taxonomy.php');
|
require_once('include/taxonomy.php');
|
||||||
require_once('include/identity.php');
|
require_once('include/identity.php');
|
||||||
require_once('include/Contact.php');
|
require_once('include/Contact.php');
|
||||||
|
require_once('include/account.php');
|
||||||
|
|
||||||
|
|
||||||
define ( 'RED_PLATFORM', 'Red Matrix' );
|
define ( 'RED_PLATFORM', 'Red Matrix' );
|
||||||
|
@ -547,3 +547,91 @@ function downgrade_accounts() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// check service_class restrictions. If there are no service_classes defined, everything is allowed.
|
||||||
|
// if $usage is supplied, we check against a maximum count and return true if the current usage is
|
||||||
|
// less than the subscriber plan allows. Otherwise we return boolean true or false if the property
|
||||||
|
// is allowed (or not) in this subscriber plan. An unset property for this service plan means
|
||||||
|
// the property is allowed, so it is only necessary to provide negative properties for each plan,
|
||||||
|
// or what the subscriber is not allowed to do.
|
||||||
|
|
||||||
|
|
||||||
|
function service_class_allows($uid,$property,$usage = false) {
|
||||||
|
$a = get_app();
|
||||||
|
if($uid == local_user()) {
|
||||||
|
$service_class = $a->account['account_service_class'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$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'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(! x($service_class))
|
||||||
|
return true; // everything is allowed
|
||||||
|
|
||||||
|
$arr = get_config('service_class',$service_class);
|
||||||
|
if(! is_array($arr) || (! count($arr)))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
if($usage === false)
|
||||||
|
return ((x($arr[$property])) ? (bool) $arr[$property] : true);
|
||||||
|
else {
|
||||||
|
if(! array_key_exists($property,$arr))
|
||||||
|
return true;
|
||||||
|
return (((intval($usage)) < intval($arr[$property])) ? true : false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function service_class_fetch($uid,$property) {
|
||||||
|
$a = get_app();
|
||||||
|
if($uid == local_user()) {
|
||||||
|
$service_class = $a->account['account_service_class'];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$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'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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($bbcode = false) {
|
||||||
|
$l = get_config('service_class','upgrade_link');
|
||||||
|
if(! $l)
|
||||||
|
return '';
|
||||||
|
if($bbcode)
|
||||||
|
$t = sprintf('[zrl=%s]' . t('Click here to upgrade.') . '[/zrl]', $l);
|
||||||
|
else
|
||||||
|
$t = sprintf('<a href="%s">' . t('Click here to upgrade.') . '</div>', $l);
|
||||||
|
return $t;
|
||||||
|
}
|
||||||
|
|
||||||
|
function upgrade_message($bbcode = false) {
|
||||||
|
$x = upgrade_link($bbcode);
|
||||||
|
return t('This action exceeds the limits set by your subscription plan.') . (($x) ? ' ' . $x : '') ;
|
||||||
|
}
|
||||||
|
|
||||||
|
function upgrade_bool_message($bbcode = false) {
|
||||||
|
$x = upgrade_link($bbcode);
|
||||||
|
return t('This action is not available under your subscription plan.') . (($x) ? ' ' . $x : '') ;
|
||||||
|
}
|
||||||
|
@ -430,93 +430,6 @@ function get_theme_screenshot($theme) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// check service_class restrictions. If there are no service_classes defined, everything is allowed.
|
|
||||||
// if $usage is supplied, we check against a maximum count and return true if the current usage is
|
|
||||||
// less than the subscriber plan allows. Otherwise we return boolean true or false if the property
|
|
||||||
// is allowed (or not) in this subscriber plan. An unset property for this service plan means
|
|
||||||
// the property is allowed, so it is only necessary to provide negative properties for each plan,
|
|
||||||
// or what the subscriber is not allowed to do.
|
|
||||||
|
|
||||||
|
|
||||||
function service_class_allows($uid,$property,$usage = false) {
|
|
||||||
$a = get_app();
|
|
||||||
if($uid == local_user()) {
|
|
||||||
$service_class = $a->account['account_service_class'];
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$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'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(! x($service_class))
|
|
||||||
return true; // everything is allowed
|
|
||||||
|
|
||||||
$arr = get_config('service_class',$service_class);
|
|
||||||
if(! is_array($arr) || (! count($arr)))
|
|
||||||
return true;
|
|
||||||
|
|
||||||
if($usage === false)
|
|
||||||
return ((x($arr[$property])) ? (bool) $arr['property'] : true);
|
|
||||||
else {
|
|
||||||
if(! array_key_exists($property,$arr))
|
|
||||||
return true;
|
|
||||||
return (((intval($usage)) < intval($arr[$property])) ? true : false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function service_class_fetch($uid,$property) {
|
|
||||||
$a = get_app();
|
|
||||||
if($uid == local_user()) {
|
|
||||||
$service_class = $a->account['account_service_class'];
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$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'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
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($bbcode = false) {
|
|
||||||
$l = get_config('service_class','upgrade_link');
|
|
||||||
if(! $l)
|
|
||||||
return '';
|
|
||||||
if($bbcode)
|
|
||||||
$t = sprintf('[zrl=%s]' . t('Click here to upgrade.') . '[/zrl]', $l);
|
|
||||||
else
|
|
||||||
$t = sprintf('<a href="%s">' . t('Click here to upgrade.') . '</div>', $l);
|
|
||||||
return $t;
|
|
||||||
}
|
|
||||||
|
|
||||||
function upgrade_message($bbcode = false) {
|
|
||||||
$x = upgrade_link($bbcode);
|
|
||||||
return t('This action exceeds the limits set by your subscription plan.') . (($x) ? ' ' . $x : '') ;
|
|
||||||
}
|
|
||||||
|
|
||||||
function upgrade_bool_message($bbcode = false) {
|
|
||||||
$x = upgrade_link($bbcode);
|
|
||||||
return t('This action is not available under your subscription plan.') . (($x) ? ' ' . $x : '') ;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief add CSS to <head>
|
* @brief add CSS to <head>
|
||||||
*
|
*
|
||||||
|
@ -151,7 +151,6 @@ function poller_run($argv, $argc){
|
|||||||
q("delete from notify where seen = 1 and date < UTC_TIMESTAMP() - INTERVAL 30 DAY");
|
q("delete from notify where seen = 1 and date < UTC_TIMESTAMP() - INTERVAL 30 DAY");
|
||||||
|
|
||||||
// expire any expired accounts
|
// expire any expired accounts
|
||||||
require_once('include/account.php');
|
|
||||||
downgrade_accounts();
|
downgrade_accounts();
|
||||||
|
|
||||||
// If this is a directory server, request a sync with an upstream
|
// If this is a directory server, request a sync with an upstream
|
||||||
@ -264,7 +263,9 @@ function poller_run($argv, $argc){
|
|||||||
$c = $contact['abook_connected'];
|
$c = $contact['abook_connected'];
|
||||||
|
|
||||||
if($contact['abook_flags'] & ABOOK_FLAG_FEED) {
|
if($contact['abook_flags'] & ABOOK_FLAG_FEED) {
|
||||||
$min = intval(get_config('system','minimum_feedcheck_minutes'));
|
$min = service_class_fetch($contact['abook_channel'],'minimum_feedcheck_minutes');
|
||||||
|
if(! $min)
|
||||||
|
$min = intval(get_config('system','minimum_feedcheck_minutes'));
|
||||||
if(! $min)
|
if(! $min)
|
||||||
$min = 60;
|
$min = 60;
|
||||||
$x = datetime_convert('UTC','UTC',"now - $min minutes");
|
$x = datetime_convert('UTC','UTC',"now - $min minutes");
|
||||||
|
@ -608,13 +608,11 @@ function admin_page_users_post(&$a){
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (x($_POST,'page_users_approve')){
|
if (x($_POST,'page_users_approve')){
|
||||||
require_once('include/account.php');
|
|
||||||
foreach($pending as $hash){
|
foreach($pending as $hash){
|
||||||
user_allow($hash);
|
user_allow($hash);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (x($_POST,'page_users_deny')){
|
if (x($_POST,'page_users_deny')){
|
||||||
require_once('include/account.php');
|
|
||||||
foreach($pending as $hash){
|
foreach($pending as $hash){
|
||||||
user_deny($hash);
|
user_deny($hash);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once('include/account.php');
|
|
||||||
|
|
||||||
function register_init(&$a) {
|
function register_init(&$a) {
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once('include/account.php');
|
|
||||||
|
|
||||||
function regmod_content(&$a) {
|
function regmod_content(&$a) {
|
||||||
|
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once('include/account.php');
|
|
||||||
|
|
||||||
function regver_content(&$a) {
|
function regver_content(&$a) {
|
||||||
|
|
||||||
global $lang;
|
global $lang;
|
||||||
|
@ -273,7 +273,6 @@ function zfinger_init(&$a) {
|
|||||||
if($access_policy == ACCESS_TIERED)
|
if($access_policy == ACCESS_TIERED)
|
||||||
$ret['site']['access_policy'] = 'tiered';
|
$ret['site']['access_policy'] = 'tiered';
|
||||||
|
|
||||||
require_once('include/account.php');
|
|
||||||
$ret['site']['accounts'] = account_total();
|
$ret['site']['accounts'] = account_total();
|
||||||
|
|
||||||
require_once('include/identity.php');
|
require_once('include/identity.php');
|
||||||
|
Reference in New Issue
Block a user