Public Server is a Friendica addon which implements automatic account & post expiration so that a site may be used as a public
-test bed with reduced data retention.
+test bed with reduced data retention.
This is a modified version of the testdrive addon, DO NOT ACTIVATE AT THE SAME TIME AS THE TESTDRIVE ADDON.
- //When an account is created on the site, it is given a hard expiration date of
- $a->config['public_server']['expiredays'] = 30;
- //Set the default days for posts to expire here
- $a->config['public_server']['expireposts'] = 30;
- //Remove users who have never logged in after nologin days
- $a->config['public_server']['nologin'] = 30;
- //Remove users who last logged in over flagusers days ago
- $a->config['public_server']['flagusers'] = 146;
- //For users who last logged in over flagposts days ago set post expiry days to flagpostsexpire
- $a->config['public_server']['flagposts'] = 90;
- $a->config['public_server']['flagpostsexpire'] = 146;
-
-Set these in your .htconfig.php file. By default nothing is defined in case the addon is activated accidentally.
+ [public_server]
+ ; When an account is created on the site, it is given a hard expiration date of
+ expiredays = 30
+ ; Set the default days for posts to expire here
+ expireposts = 30
+ ; Remove users who have never logged in after nologin days
+ nologin = 30
+ ; Remove users who last logged in over flagusers days ago
+ flagusers = 146
+ ; For users who last logged in over flagposts days ago set post expiry days to flagpostsexpire
+ flagposts = 90
+ flagpostsexpire = 146
+
+Set these in your config/local.ini.php file. By default nothing is defined in case the addon is activated accidentally.
They can be ommitted or set to 0 to disable each option.
The default values are those used by friendica.eu, change these as desired.
The expiration date is updated when the user logs in.
-An email warning will be sent out approximately five days before the expiration occurs. Five days later the account is removed completely.
-
+An email warning will be sent out approximately five days before the expiration occurs. Five days later the account is removed completely.
+
--- /dev/null
+<?php return <<<INI
+
+; Warning: Don't change this file! It only holds the default config values for this addon.
+; Instead overwrite these config values in config/local.ini.php in your Friendica directory
+
+[public_server]
+; expiredays (Integer)
+; When an account is created on the site, it is given a hard expiration date of
+expiredays =
+
+; expireposts (Integer)
+; Set the default days for posts to expire here
+expireposts =
+
+; nologin (Integer)
+; Remove users who have never logged in after nologin days
+nologin =
+
+; flagusers (Integer)
+; Remove users who last logged in over flagusers days ago
+flagusers =
+
+; flagposts (Integer)
+; flagpostsexpire (Integer)
+; For users who last logged in over flagposts days ago set post expiry days to flagpostsexpire
+flagposts =
+flagpostsexpire =
+
+INI;
+//Keep this line
\ No newline at end of file
function public_server_install()
{
+ Addon::registerHook('load_config', 'addon/public_server/public_server.php', 'public_server_load_config');
Addon::registerHook('register_account', 'addon/public_server/public_server.php', 'public_server_register_account');
Addon::registerHook('cron', 'addon/public_server/public_server.php', 'public_server_cron');
Addon::registerHook('enotify', 'addon/public_server/public_server.php', 'public_server_enotify');
function public_server_uninstall()
{
+ Addon::unregisterHook('load_config', 'addon/public_server/public_server.php', 'public_server_load_config');
Addon::unregisterHook('register_account', 'addon/public_server/public_server.php', 'public_server_register_account');
Addon::unregisterHook('cron', 'addon/public_server/public_server.php', 'public_server_cron');
Addon::unregisterHook('enotify', 'addon/public_server/public_server.php', 'public_server_enotify');
Addon::unregisterHook('logged_in', 'addon/public_server/public_server.php', 'public_server_login');
}
+function public_server_load_config(\Friendica\App $a)
+{
+ $a->loadConfigFile(__DIR__. '/config/public_server.ini.php');
+}
+
function public_server_register_account($a, $b)
{
$uid = $b;