<?php
/**
* Name: public_server
- * Description: Friendica addon with functions suitable for a public server.
+ * Description: Friendica addon with functions suitable for a public server. WARNING: This addon is currently not well maintained. It may produce unexpected results. Use with caution!
* Version: 1.1
* Author: Keith Fernie <http://friendika.me4.it/profile/keith>
*/
use Friendica\Core\Renderer;
use Friendica\Database\DBA;
use Friendica\DI;
+use Friendica\Model\Notification;
use Friendica\Util\ConfigFileLoader;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Strings;
Hook::register('logged_in', 'addon/public_server/public_server.php', 'public_server_login');
}
-function public_server_uninstall()
-{
- 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, ConfigFileLoader $loader)
{
$a->getConfigCache()->load($loader->loadAddonConfig('public_server'));
if (DBA::isResult($r)) {
foreach ($r as $rr) {
notification([
+ 'type' => Notification\Type::SYSTEM,
'uid' => $rr['uid'],
- 'type' => NOTIFY_SYSTEM,
'system_type' => 'public_server_expire',
- 'language' => $rr['language'],
- 'to_name' => $rr['username'],
- 'to_email' => $rr['email'],
'source_name' => DI::l10n()->t('Administrator'),
'source_link' => DI::baseUrl()->get(),
'source_photo' => DI::baseUrl()->get() . '/images/person-80.jpg',
function public_server_enotify(&$a, &$b)
{
- if (!empty($b['params']) && $b['params']['type'] == NOTIFY_SYSTEM
+ if (!empty($b['params']) && $b['params']['type'] == Notification\Type::SYSTEM
&& !empty($b['params']['system_type']) && $b['params']['system_type'] === 'public_server_expire') {
$b['itemlink'] = DI::baseUrl()->get();
$b['epreamble'] = $b['preamble'] = DI::l10n()->t('Your account on %s will expire in a few days.', DI::config()->get('system', 'sitename'));
DI::config()->set('public_server', 'flagusers', $flagusers);
DI::config()->set('public_server', 'flagposts', $flagposts);
DI::config()->set('public_server', 'flagpostsexpire', $flagpostsexpire);
- info(DI::l10n()->t('Settings saved').EOL);
}
function public_server_addon_admin(&$a, &$o)