4 * Description: Change the displayed application you are posting from
6 * Author: Commander Zot
11 use Friendica\Core\Hook;
12 use Friendica\Core\Logger;
13 use Friendica\Core\Renderer;
14 use Friendica\Core\Session;
17 function fromapp_install()
19 Hook::register('post_local', 'addon/fromapp/fromapp.php', 'fromapp_post_hook');
20 Hook::register('addon_settings', 'addon/fromapp/fromapp.php', 'fromapp_settings');
21 Hook::register('addon_settings_post', 'addon/fromapp/fromapp.php', 'fromapp_settings_post');
22 Logger::notice("installed fromapp");
25 function fromapp_settings_post(App $a, $post)
27 if (!Session::getLocalUser() || empty($_POST['fromapp-submit'])) {
31 DI::pConfig()->set(Session::getLocalUser(), 'fromapp', 'app', $_POST['fromapp-input']);
32 DI::pConfig()->set(Session::getLocalUser(), 'fromapp', 'force', intval($_POST['fromapp-force']));
35 function fromapp_settings(App &$a, array &$data)
37 if (!Session::getLocalUser()) {
41 $fromapp = DI::pConfig()->get(Session::getLocalUser(), 'fromapp', 'app', '');
42 $force = intval(DI::pConfig()->get(Session::getLocalUser(), 'fromapp', 'force'));
44 $t = Renderer::getMarkupTemplate('settings.tpl', 'addon/fromapp/');
45 $html = Renderer::replaceMacros($t, [
46 '$fromapp' => ['fromapp-input', DI::l10n()->t('The application name you would like to show your posts originating from. Separate different app names with a comma. A random one will then be selected for every posting.'), $fromapp],
47 '$force' => ['fromapp-force', DI::l10n()->t('Use this application name even if another application was used.'), $force],
52 'title' => DI::l10n()->t('FromApp Settings'),
57 function fromapp_post_hook(App $a, &$item)
59 if (!Session::getLocalUser()) {
63 if (Session::getLocalUser() != $item['uid']) {
67 $app = DI::pConfig()->get(Session::getLocalUser(), 'fromapp', 'app');
68 $force = intval(DI::pConfig()->get(Session::getLocalUser(), 'fromapp', 'force'));
70 if (is_null($app) || (! strlen($app))) {
74 if (strlen(trim($item['app'])) && (! $force)) {
78 $apps = explode(',', $app);
79 $item['app'] = trim($apps[mt_rand(0, count($apps)-1)]);