use Friendica\App;
use Friendica\BaseModule;
-use Friendica\Core\Addon;
use Friendica\Core\Config;
+use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Logger;
+use Friendica\Core\Renderer;
use Friendica\Database\DBA;
+use Friendica\Util\Config\ConfigFileLoader;
use Friendica\Util\DateTimeFormat;
+use Friendica\Util\Strings;
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');
- Addon::registerHook('logged_in', 'addon/public_server/public_server.php', 'public_server_login');
+ Hook::register('load_config', 'addon/public_server/public_server.php', 'public_server_load_config');
+ Hook::register('register_account', 'addon/public_server/public_server.php', 'public_server_register_account');
+ Hook::register('cron', 'addon/public_server/public_server.php', 'public_server_cron');
+ Hook::register('enotify', 'addon/public_server/public_server.php', 'public_server_enotify');
+ Hook::register('logged_in', 'addon/public_server/public_server.php', 'public_server_login');
}
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');
+ Hook::unregister('load_config', 'addon/public_server/public_server.php', 'public_server_load_config');
+ Hook::unregister('register_account', 'addon/public_server/public_server.php', 'public_server_register_account');
+ Hook::unregister('cron', 'addon/public_server/public_server.php', 'public_server_cron');
+ Hook::unregister('enotify', 'addon/public_server/public_server.php', 'public_server_enotify');
+ Hook::unregister('logged_in', 'addon/public_server/public_server.php', 'public_server_login');
}
-function public_server_load_config(App $a)
+function public_server_load_config(App $a, ConfigFileLoader $loader)
{
- $a->loadConfigFile(__DIR__. '/config/public_server.ini.php');
+ $a->getConfigCache()->load($loader->loadAddonConfig('public_server'));
}
function public_server_register_account($a, $b)
{
Logger::log("public_server: cron start");
- require_once('include/enotify.php');
$r = q("SELECT * FROM `user` WHERE `account_expires_on` < UTC_TIMESTAMP() + INTERVAL 5 DAY AND
`account_expires_on` > '%s' AND
`expire_notification_sent` <= '%s'",
function public_server_enotify(&$a, &$b)
{
- if (x($b, 'params') && $b['params']['type'] == NOTIFY_SYSTEM
- && x($b['params'], 'system_type') && $b['params']['system_type'] === 'public_server_expire') {
+ if (!empty($b['params']) && $b['params']['type'] == NOTIFY_SYSTEM
+ && !empty($b['params']['system_type']) && $b['params']['system_type'] === 'public_server_expire') {
$b['itemlink'] = $a->getBaseURL();
$b['epreamble'] = $b['preamble'] = L10n::t('Your account on %s will expire in a few days.', Config::get('system', 'sitename'));
$b['subject'] = L10n::t('Your Friendica account is about to expire.');
function public_server_addon_admin_post(&$a)
{
BaseModule::checkFormSecurityTokenRedirectOnError('/admin/addons/publicserver', 'publicserver');
- $expiredays = (x($_POST, 'expiredays') ? notags(trim($_POST['expiredays'])) : '');
- $expireposts = (x($_POST, 'expireposts') ? notags(trim($_POST['expireposts'])) : '');
- $nologin = (x($_POST, 'nologin') ? notags(trim($_POST['nologin'])) : '');
- $flagusers = (x($_POST, 'flagusers') ? notags(trim($_POST['flagusers'])) : '');
- $flagposts = (x($_POST, 'flagposts') ? notags(trim($_POST['flagposts'])) : '');
- $flagpostsexpire = (x($_POST, 'flagpostsexpire') ? notags(trim($_POST['flagpostsexpire'])) : '');
+ $expiredays = (!empty($_POST['expiredays']) ? Strings::escapeTags(trim($_POST['expiredays'])) : '');
+ $expireposts = (!empty($_POST['expireposts']) ? Strings::escapeTags(trim($_POST['expireposts'])) : '');
+ $nologin = (!empty($_POST['nologin']) ? Strings::escapeTags(trim($_POST['nologin'])) : '');
+ $flagusers = (!empty($_POST['flagusers']) ? Strings::escapeTags(trim($_POST['flagusers'])) : '');
+ $flagposts = (!empty($_POST['flagposts']) ? Strings::escapeTags(trim($_POST['flagposts'])) : '');
+ $flagpostsexpire = (!empty($_POST['flagpostsexpire']) ? Strings::escapeTags(trim($_POST['flagpostsexpire'])) : '');
Config::set('public_server', 'expiredays', $expiredays);
Config::set('public_server', 'expireposts', $expireposts);
Config::set('public_server', 'nologin', $nologin);
function public_server_addon_admin(&$a, &$o)
{
$token = BaseModule::getFormSecurityToken("publicserver");
- $t = get_markup_template("admin.tpl", "addon/public_server");
- $o = replace_macros($t, [
+ $t = Renderer::getMarkupTemplate("admin.tpl", "addon/public_server");
+ $o = Renderer::replaceMacros($t, [
'$submit' => L10n::t('Save Settings'),
'$form_security_token' => $token,
'$infotext' => L10n::t('Set any of these options to 0 to deactivate it.'),