From 0695fa699c3aeae086d419326868098716e99ce5 Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 18 Oct 2017 21:44:27 +0000 Subject: [PATCH] Removed "service class" functionality --- database.sql | 3 +- doc/database/db_user.md | 1 - doc/htconfig.md | 5 --- include/Photo.php | 13 ------ include/dbstructure.php | 1 - include/follow.php | 26 ------------ include/plugin.php | 90 ----------------------------------------- include/user.php | 14 ++----- mod/photos.php | 27 ------------- mod/settings.php | 7 +--- mod/wall_attach.php | 20 --------- mod/wall_upload.php | 23 ----------- 12 files changed, 6 insertions(+), 224 deletions(-) diff --git a/database.sql b/database.sql index 197a542321..902249f778 100644 --- a/database.sql +++ b/database.sql @@ -1,5 +1,5 @@ -- ------------------------------------------ --- Friendica 3.5.3-dev (Asparagus) +-- Friendica 3.6-dev (Asparagus) -- DB_UPDATE_VERSION 1234 -- ------------------------------------------ @@ -1084,7 +1084,6 @@ CREATE TABLE IF NOT EXISTS `user` ( `account_expired` tinyint(1) NOT NULL DEFAULT 0, `account_expires_on` datetime NOT NULL DEFAULT '0001-01-01 00:00:00', `expire_notification_sent` datetime NOT NULL DEFAULT '0001-01-01 00:00:00', - `service_class` varchar(32) NOT NULL DEFAULT '', `def_gid` int(11) NOT NULL DEFAULT 0, `allow_cid` mediumtext, `allow_gid` mediumtext, diff --git a/doc/database/db_user.md b/doc/database/db_user.md index e9306f8c5a..7033bcc896 100644 --- a/doc/database/db_user.md +++ b/doc/database/db_user.md @@ -38,7 +38,6 @@ Table user | account_expired | | tinyint(1) | NO | | 0 | | | account_expires_on | timestamp when account expires and will be deleted | datetime | NO | | 0001-01-01 00:00:00 | | | expire_notification_sent | timestamp of last warning of account expiration | datetime | NO | | 0001-01-01 00:00:00 | | -| service_class | service class for this account, determines what if any limits/restrictions are in place | varchar(32) | NO | | | | | def_gid | | int(11) | NO | | 0 | | | allow_cid | default permission for this user | mediumtext | NO | | NULL | | | allow_gid | default permission for this user | mediumtext | NO | | NULL | | diff --git a/doc/htconfig.md b/doc/htconfig.md index cbb76a38c3..8fc4483ea0 100644 --- a/doc/htconfig.md +++ b/doc/htconfig.md @@ -37,7 +37,6 @@ Example: To set the directory value please add this line to your .htconfig.php: * **db_log_index_blacklist** - Blacklist of indexes that shouldn't be watched * **dbclean** (Boolean) - Enable the automatic database cleanup process * **dbclean-expire-days** (Integer) - Days after which remote items will be deleted. Own items, and marked or filed items are kept. -* **default_service_class** - * **diaspora_test** (Boolean) - For development only. Disables the message transfer. * **directory** - The path to global directory. If not set then "http://dir.friendica.social" is used. * **disable_email_validation** (Boolean) - Disables the check if a mail address is in a valid format and can be resolved via DNS. @@ -96,10 +95,6 @@ Example: To set the directory value please add this line to your .htconfig.php: * **worker_cooldown** - Cooldown time after each worker function call. Default value is 0 seconds. * **xrd_timeout** - Timeout for fetching the XRD links. Default value is 20 seconds. -## service_class ## - -* **upgrade_link** - - ## experimental ## * **exp_themes** (Boolean) - Show experimental themes as well. diff --git a/include/Photo.php b/include/Photo.php index 78d448fbc2..a86942ee29 100644 --- a/include/Photo.php +++ b/include/Photo.php @@ -947,19 +947,6 @@ function store_photo(App $a, $uid, $imagedata = "", $url = "") { return(array()); } -/* - $r = q("select sum(octet_length(data)) as total from photo where uid = %d and scale = 0 and album != 'Contact Photos' ", - intval($uid) - ); - - $limit = service_class_fetch($uid,'photo_upload_limit'); - - if (($limit !== false) && (($r[0]['total'] + strlen($imagedata)) > $limit)) { - logger("Image exceeds personal limit of uid ".$uid, LOGGER_DEBUG); - return(array()); - } -*/ - $tempfile = tempnam(get_temppath(), "cache"); $stamp1 = microtime(true); diff --git a/include/dbstructure.php b/include/dbstructure.php index b8cf8e57ac..fd2192665c 100644 --- a/include/dbstructure.php +++ b/include/dbstructure.php @@ -1708,7 +1708,6 @@ function db_definition() { "account_expired" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), "account_expires_on" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), "expire_notification_sent" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE), - "service_class" => array("type" => "varchar(32)", "not null" => "1", "default" => ""), "def_gid" => array("type" => "int(11)", "not null" => "1", "default" => "0"), "allow_cid" => array("type" => "mediumtext"), "allow_gid" => array("type" => "mediumtext"), diff --git a/include/follow.php b/include/follow.php index c5214fe461..650eb7fc89 100644 --- a/include/follow.php +++ b/include/follow.php @@ -197,32 +197,6 @@ function new_contact($uid, $url, $interactive = false, $network = '') { $fields = array('rel' => $new_relation, 'subhub' => $subhub, 'readonly' => false); dba::update('contact', $fields, array('id' => $r[0]['id'])); } else { - // check service class limits - - $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND `pending` = 0 AND `self` = 0", - intval($uid) - ); - if (dbm::is_result($r)) - $total_contacts = $r[0]['total']; - - if (! service_class_allows($uid,'total_contacts',$total_contacts)) { - $result['message'] .= upgrade_message(); - return $result; - } - - $r = q("SELECT COUNT(`network`) AS `total` FROM `contact` WHERE `uid` = %d AND `network` = '%s' AND `pending` = 0 AND `self` = 0", - intval($uid), - dbesc($network) - ); - if (dbm::is_result($r)) { - $total_network = $r[0]['total']; - } - - if (! service_class_allows($uid,'total_contacts_' . $network,$total_network)) { - $result['message'] .= upgrade_message(); - return $result; - } - $new_relation = ((in_array($ret['network'], array(NETWORK_MAIL))) ? CONTACT_IS_FRIEND : CONTACT_IS_SHARING); // create contact record diff --git a/include/plugin.php b/include/plugin.php index d5bceafdea..4c07f6d3f1 100644 --- a/include/plugin.php +++ b/include/plugin.php @@ -443,96 +443,6 @@ function install_theme($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) { - - 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 (dbm::is_result($r)) { - $service_class = $r[0]['service_class']; - } - } - - if (! x($service_class)) { - // everything is allowed - return true; - } - - $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) { - - 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 (dbm::is_result($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('[url=%s]' . t('Click here to upgrade.') . '[/url]', $l); - } else { - $t = sprintf('' . t('Click here to upgrade.') . '', $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 Get the full path to relevant theme files by filename * diff --git a/include/user.php b/include/user.php index a05bd831a8..7eef876ad6 100644 --- a/include/user.php +++ b/include/user.php @@ -169,11 +169,6 @@ function create_user($arr) { return $result; } - $default_service_class = get_config('system','default_service_class'); - if(! $default_service_class) - $default_service_class = ''; - - $prvkey = $keys['prvkey']; $pubkey = $keys['pubkey']; @@ -182,9 +177,9 @@ function create_user($arr) { $sprvkey = $sres['prvkey']; $spubkey = $sres['pubkey']; - $r = q("INSERT INTO `user` ( `guid`, `username`, `password`, `email`, `openid`, `nickname`, - `pubkey`, `prvkey`, `spubkey`, `sprvkey`, `register_date`, `verified`, `blocked`, `timezone`, `service_class`, `default-location` ) - VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, 'UTC', '%s', '' )", + $r = q("INSERT INTO `user` (`guid`, `username`, `password`, `email`, `openid`, `nickname`, + `pubkey`, `prvkey`, `spubkey`, `sprvkey`, `register_date`, `verified`, `blocked`, `timezone`, `default-location`) + VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, 'UTC', '')", dbesc(generate_user_guid()), dbesc($username), dbesc($new_password_encoded), @@ -197,8 +192,7 @@ function create_user($arr) { dbesc($sprvkey), dbesc(datetime_convert()), intval($verified), - intval($blocked), - dbesc($default_service_class) + intval($blocked) ); if ($r) { diff --git a/mod/photos.php b/mod/photos.php index 6c9f4bd662..bafd97ebee 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -832,24 +832,6 @@ function photos_post(App $a) { $imagedata = @file_get_contents($src); - - $limit = service_class_fetch($a->data['user']['uid'], 'photo_upload_limit'); - - if ($limit) { - $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']) - ); - $size = $r[0]['total']; - - if (($size + 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()) { @@ -1145,15 +1127,6 @@ function photos_content(App $a) { )); $usage_message = ''; - $limit = service_class_fetch($a->data['user']['uid'], 'photo_upload_limit'); - if ($limit !== false) { - - $r = q("SELECT SUM(`datasize`) AS `total` FROM `photo` WHERE `uid` = %d AND `scale` = 0 AND `album` != 'Contact Photos'", - intval($a->data['user']['uid']) - ); - $usage_message = sprintf(t("You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."), $r[0]['total'] / 1024000, $limit / 1024000 ); - } - // Private/public post links for the non-JS ACL form $private_post = 1; diff --git a/mod/settings.php b/mod/settings.php index 9970d32595..e8d24f43de 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -874,12 +874,7 @@ function settings_content(App $a) { $tpl = get_markup_template("settings_connectors.tpl"); - if (! service_class_allows(local_user(),'email_connect')) { - $mail_disabled_message = upgrade_bool_message(); - } else { - $mail_disabled_message = (($mail_disabled) ? t('Email access is disabled on this site.') : ''); - } - + $mail_disabled_message = (($mail_disabled) ? t('Email access is disabled on this site.') : ''); $o .= replace_macros($tpl, array( '$form_security_token' => get_form_security_token("settings_connectors"), diff --git a/mod/wall_attach.php b/mod/wall_attach.php index 9f455a19f3..c9d13abef4 100644 --- a/mod/wall_attach.php +++ b/mod/wall_attach.php @@ -114,26 +114,6 @@ function wall_attach_post(App $a) { killme(); } - $limit = service_class_fetch($page_owner_uid,'attach_upload_limit'); - - if ($limit) { - $r = q("select sum(octet_length(data)) as total from photo where uid = %d and scale = 0 and album != 'Contact Photos' ", - intval($page_owner_uid) - ); - $size = $r[0]['total']; - - if (($size + strlen($imagedata)) > $limit) { - $msg = upgrade_message(true); - if ($r_json) { - echo json_encode(array('error'=>$msg)); - } else { - echo $msg. EOL ; - } - @unlink($src); - killme(); - } - } - $filedata = @file_get_contents($src); $mimetype = z_mime_content_type($filename); $hash = get_guid(64); diff --git a/mod/wall_upload.php b/mod/wall_upload.php index 164ca470c3..cbd1b28445 100644 --- a/mod/wall_upload.php +++ b/mod/wall_upload.php @@ -189,29 +189,6 @@ function wall_upload_post(App $a, $desktopmode = true) { killme(); } - - $limit = service_class_fetch($page_owner_uid, 'photo_upload_limit'); - - if ($limit) { - $r = q("SELECT SUM(OCTET_LENGTH(`data`)) AS `total` FROM `photo` - WHERE `uid` = %d AND `scale` = 0 - AND `album` != 'Contact Photos' ", - intval($page_owner_uid) - ); - $size = $r[0]['total']; - - if (($size + strlen($imagedata)) > $limit) { - $msg = upgrade_message(true); - if ($r_json) { - echo json_encode(array('error'=>$msg)); - } else { - echo $msg. EOL; - } - @unlink($src); - killme(); - } - } - $imagedata = @file_get_contents($src); $ph = new Photo($imagedata, $filetype); -- 2.39.5