diff --git a/advancedcontentfilter/advancedcontentfilter.php b/advancedcontentfilter/advancedcontentfilter.php index 9f6a7cff..6925f816 100644 --- a/advancedcontentfilter/advancedcontentfilter.php +++ b/advancedcontentfilter/advancedcontentfilter.php @@ -64,7 +64,7 @@ function advancedcontentfilter_install(App $a) Hook::add('dbstructure_definition' , __FILE__, 'advancedcontentfilter_dbstructure_definition'); DBStructure::performUpdate(); - Logger::notice("installed advancedcontentfilter"); + Logger::notice('installed advancedcontentfilter'); } /* @@ -73,20 +73,20 @@ function advancedcontentfilter_install(App $a) function advancedcontentfilter_dbstructure_definition(App $a, &$database) { - $database["advancedcontentfilter_rules"] = [ - "comment" => "Advancedcontentfilter addon rules", - "fields" => [ - "id" => ["type" => "int unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1", "comment" => "Auto incremented rule id"], - "uid" => ["type" => "int unsigned", "not null" => "1", "comment" => "Owner user id"], - "name" => ["type" => "varchar(255)", "not null" => "1", "comment" => "Rule name"], - "expression" => ["type" => "mediumtext" , "not null" => "1", "comment" => "Expression text"], - "serialized" => ["type" => "mediumtext" , "not null" => "1", "comment" => "Serialized parsed expression"], - "active" => ["type" => "boolean" , "not null" => "1", "default" => "1", "comment" => "Whether the rule is active or not"], - "created" => ["type" => "datetime" , "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => "Creation date"], + $database['advancedcontentfilter_rules'] = [ + 'comment' => 'Advancedcontentfilter addon rules', + 'fields' => [ + 'id' => ['type' => 'int unsigned', 'not null' => '1', 'extra' => 'auto_increment', 'primary' => '1', 'comment' => 'Auto incremented rule id'], + 'uid' => ['type' => 'int unsigned', 'not null' => '1', 'comment' => 'Owner user id'], + 'name' => ['type' => 'varchar(255)', 'not null' => '1', 'comment' => 'Rule name'], + 'expression' => ['type' => 'mediumtext' , 'not null' => '1', 'comment' => 'Expression text'], + 'serialized' => ['type' => 'mediumtext' , 'not null' => '1', 'comment' => 'Serialized parsed expression'], + 'active' => ['type' => 'boolean' , 'not null' => '1', 'default' => '1', 'comment' => 'Whether the rule is active or not'], + 'created' => ['type' => 'datetime' , 'not null' => '1', 'default' => DBA::NULL_DATETIME, 'comment' => 'Creation date'], ], - "indexes" => [ - "PRIMARY" => ["id"], - "uid_active" => ["uid", "active"], + 'indexes' => [ + 'PRIMARY' => ['id'], + 'uid_active' => ['uid', 'active'], ] ]; } @@ -180,6 +180,11 @@ function advancedcontentfilter_addon_settings(App $a, array &$data) * Module */ +/** + * This is a statement rather than an actual function definition. The simple + * existence of this method is checked to figure out if the addon offers a + * module. + */ function advancedcontentfilter_module() {} function advancedcontentfilter_init(App $a) diff --git a/birdavatar/birdavatar.php b/birdavatar/birdavatar.php index b162ea8d..79753110 100644 --- a/birdavatar/birdavatar.php +++ b/birdavatar/birdavatar.php @@ -117,7 +117,7 @@ function birdavatar_addon_settings_post(App $a, &$s) * @param $a array * @param &$b array */ -function birdavatar_lookup(App $a, &$b) +function birdavatar_lookup(App $a, array &$b) { $user = DBA::selectFirst('user', ['uid'], ['email' => $b['email']]); if (DBA::isResult($user)) { @@ -136,9 +136,12 @@ function birdavatar_lookup(App $a, &$b) $b['success'] = true; } -function birdavatar_module() -{ -} +/** + * This is a statement rather than an actual function definition. The simple + * existence of this method is checked to figure out if the addon offers a + * module. + */ +function birdavatar_module() {} /** * Returns image for user id diff --git a/blackout/blackout.php b/blackout/blackout.php index 18e74570..e8efecd2 100644 --- a/blackout/blackout.php +++ b/blackout/blackout.php @@ -44,6 +44,7 @@ * THE SOFTWARE. */ +use Friendica\App; use Friendica\Core\Hook; use Friendica\Core\Logger; use Friendica\Core\Renderer; @@ -54,7 +55,8 @@ function blackout_install() { Hook::register('page_header', 'addon/blackout/blackout.php', 'blackout_redirect'); } -function blackout_redirect ($a, $b) { +function blackout_redirect (App $a, $b) +{ // if we have a logged in user, don't throw her out if (local_user()) { return true; @@ -67,32 +69,33 @@ function blackout_redirect ($a, $b) { $now = time(); $date1 = DateTime::createFromFormat('Y-m-d G:i', $mystart); $date2 = DateTime::createFromFormat('Y-m-d G:i', $myend); - if ( $date1 && $date2 ) { + if ($date1 && $date2) { $date1 = DateTime::createFromFormat('Y-m-d G:i', $mystart)->format('U'); $date2 = DateTime::createFromFormat('Y-m-d G:i', $myend)->format('U'); } else { - $date1 = 0; - $date2 = 0; + $date1 = 0; + $date2 = 0; } + if (( $date1 <= $now ) && ( $now <= $date2 )) { Logger::notice('redirecting user to blackout page'); System::externalRedirect($myurl); } } -function blackout_addon_admin(&$a, &$o) { +function blackout_addon_admin(App $a, &$o) { $mystart = DI::config()->get('blackout','begindate'); - if (! is_string($mystart)) { $mystart = "YYYY-MM-DD hh:mm"; } + if (! is_string($mystart)) { $mystart = 'YYYY-MM-DD hh:mm'; } $myend = DI::config()->get('blackout','enddate'); - if (! is_string($myend)) { $myend = "YYYY-MM-DD hh:mm"; } + if (! is_string($myend)) { $myend = 'YYYY-MM-DD hh:mm'; } $myurl = DI::config()->get('blackout','url'); - if (! is_string($myurl)) { $myurl = "https://www.example.com"; } - $t = Renderer::getMarkupTemplate( "admin.tpl", "addon/blackout/" ); + if (! is_string($myurl)) { $myurl = 'https://www.example.com'; } + $t = Renderer::getMarkupTemplate( 'admin.tpl', 'addon/blackout/' ); $date1 = DateTime::createFromFormat('Y-m-d G:i', $mystart); $date2 = DateTime::createFromFormat('Y-m-d G:i', $myend); // a note for the admin - $adminnote = ""; + $adminnote = ''; if ($date2 < $date1) { $adminnote = DI::l10n()->t("The end-date is prior to the start-date of the blackout, you should fix this."); } else { @@ -100,14 +103,14 @@ function blackout_addon_admin(&$a, &$o) { } $o = Renderer::replaceMacros($t, [ '$submit' => DI::l10n()->t('Save Settings'), - '$rurl' => ["rurl", DI::l10n()->t("Redirect URL"), $myurl, DI::l10n()->t("All your visitors from the web will be redirected to this URL."), "", "", "url"], - '$startdate' => ["startdate", DI::l10n()->t("Begin of the Blackout"), $mystart, DI::l10n()->t("Format is YYYY-MM-DD hh:mm; YYYY year, MM month, DD day, hh hour and mm minute.")], - '$enddate' => ["enddate", DI::l10n()->t("End of the Blackout"), $myend, ""], + '$rurl' => ['rurl', DI::l10n()->t("Redirect URL"), $myurl, DI::l10n()->t("All your visitors from the web will be redirected to this URL."), '', '', 'url'], + '$startdate' => ['startdate', DI::l10n()->t("Begin of the Blackout"), $mystart, DI::l10n()->t("Format is YYYY-MM-DD hh:mm; YYYY year, MM month, DD day, hh hour and mm minute.")], + '$enddate' => ['enddate', DI::l10n()->t("End of the Blackout"), $myend, ''], '$adminnote' => $adminnote, '$aboutredirect' => DI::l10n()->t("Note: The redirect will be active from the moment you press the submit button. Users currently logged in will not be thrown out but can't login again after logging out while the blackout is still in place."), ]); } -function blackout_addon_admin_post (&$a) { +function blackout_addon_admin_post (App $a) { $begindate = trim($_POST['startdate']); $enddate = trim($_POST['enddate']); $url = trim($_POST['rurl']); diff --git a/blockbot/blockbot.php b/blockbot/blockbot.php index 5a9cc4e3..e22dc471 100644 --- a/blockbot/blockbot.php +++ b/blockbot/blockbot.php @@ -19,12 +19,14 @@ use Friendica\Network\HTTPException\ForbiddenException; require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php'; -function blockbot_install() { +function blockbot_install() +{ Hook::register('init_1', __FILE__, 'blockbot_init_1'); } -function blockbot_addon_admin(&$a, &$o) { - $t = Renderer::getMarkupTemplate("admin.tpl", "addon/blockbot/"); +function blockbot_addon_admin(App $a, &$o) +{ + $t = Renderer::getMarkupTemplate('admin.tpl', 'addon/blockbot/'); $o = Renderer::replaceMacros($t, [ '$submit' => DI::l10n()->t('Save Settings'), @@ -34,13 +36,15 @@ function blockbot_addon_admin(&$a, &$o) { ]); } -function blockbot_addon_admin_post(&$a) { +function blockbot_addon_admin_post(App $a) +{ DI::config()->set('blockbot', 'good_crawlers', $_POST['good_crawlers'] ?? false); DI::config()->set('blockbot', 'block_gab', $_POST['block_gab'] ?? false); DI::config()->set('blockbot', 'training', $_POST['training'] ?? false); } -function blockbot_init_1(App $a) { +function blockbot_init_1(App $a) +{ if (empty($_SERVER['HTTP_USER_AGENT'])) { return; } diff --git a/blockem/blockem.php b/blockem/blockem.php index 79e04c8b..951385b1 100644 --- a/blockem/blockem.php +++ b/blockem/blockem.php @@ -186,9 +186,12 @@ function blockem_item_photo_menu(App $a, array &$b) } } -function blockem_module() -{ -} +/** + * This is a statement rather than an actual function definition. The simple + * existence of this method is checked to figure out if the addon offers a + * module. + */ +function blockem_module() {} function blockem_init(App $a) { diff --git a/buglink/buglink.php b/buglink/buglink.php index 9ea20b56..517c33e2 100644 --- a/buglink/buglink.php +++ b/buglink/buglink.php @@ -15,7 +15,7 @@ function buglink_install() Hook::register('page_end', 'addon/buglink/buglink.php', 'buglink_active'); } -function buglink_active(App $a, &$b) +function buglink_active(App $a, string &$b) { $b .= ''; } diff --git a/calc/calc.php b/calc/calc.php index 7019a80f..3159bf6a 100644 --- a/calc/calc.php +++ b/calc/calc.php @@ -5,6 +5,8 @@ * Version: 1.0 * Author: Mike Macgirvin */ + +use Friendica\App; use Friendica\Core\Hook; use Friendica\DI; @@ -12,19 +14,21 @@ function calc_install() { Hook::register('app_menu', 'addon/calc/calc.php', 'calc_app_menu'); } -function calc_app_menu($a,&$b) { +function calc_app_menu(App $a, array &$b) +{ $b['app_menu'][] = '
Calculator
'; } - +/** + * This is a statement rather than an actual function definition. The simple + * existence of this method is checked to figure out if the addon offers a + * module. + */ function calc_module() {} - - - -function calc_init($a) { - -$x = <<< EOT +function calc_init(App $a) +{ + $x = <<< EOT ' . "\r\n"; DI::page()['htmlhead'] .= $addScriptTag; @@ -54,7 +55,7 @@ function openstreetmap_alterheader($a, &$navHtml) * @param mixed $a * @param array& $item */ -function openstreetmap_location($a, &$item) +function openstreetmap_location(App $a, &$item) { if (!(strlen($item['location']) || strlen($item['coord']))) { return; @@ -104,7 +105,7 @@ function openstreetmap_location($a, &$item) $item['html'] = ''.$title.''; } -function openstreetmap_get_coordinates($a, &$b) +function openstreetmap_get_coordinates(App $a, array &$b) { $nomserver = DI::config()->get('openstreetmap', 'nomserver', OSM_NOM); @@ -132,7 +133,7 @@ function openstreetmap_get_coordinates($a, &$b) } } -function openstreetmap_generate_named_map(&$a, &$b) +function openstreetmap_generate_named_map(App $a, array &$b) { openstreetmap_get_coordinates($a, $b); @@ -141,7 +142,7 @@ function openstreetmap_generate_named_map(&$a, &$b) } } -function openstreetmap_generate_map(&$a, &$b) +function openstreetmap_generate_map(App $a, array &$b) { $tmsserver = DI::config()->get('openstreetmap', 'tmsserver', OSM_TMS); @@ -177,7 +178,7 @@ function openstreetmap_generate_map(&$a, &$b) Logger::debug('generate_map: ' . $b['html']); } -function openstreetmap_addon_admin(&$a, &$o) +function openstreetmap_addon_admin(App $a, &$o) { $t = Renderer::getMarkupTemplate("admin.tpl", "addon/openstreetmap/"); $tmsserver = DI::config()->get('openstreetmap', 'tmsserver', OSM_TMS); @@ -199,7 +200,7 @@ function openstreetmap_addon_admin(&$a, &$o) ]); } -function openstreetmap_addon_admin_post(&$a) +function openstreetmap_addon_admin_post(App $a) { $urltms = ($_POST['tmsserver'] ?? '') ?: OSM_TMS; $urlnom = ($_POST['nomserver'] ?? '') ?: OSM_NOM; diff --git a/opmlexport/opmlexport.php b/opmlexport/opmlexport.php index c92b5960..a868fe35 100644 --- a/opmlexport/opmlexport.php +++ b/opmlexport/opmlexport.php @@ -82,10 +82,11 @@ function opmlexport_addon_settings(App $a, array &$data) } -function opmlexport_addon_settings_post(App $a, &$b) +function opmlexport_addon_settings_post(App $a, array &$b) { if (!local_user() || empty($_POST['opmlexport-submit'])) { return; } + opmlexport($a); } diff --git a/pageheader/pageheader.php b/pageheader/pageheader.php index 9dfe3c02..5b1bb1b7 100644 --- a/pageheader/pageheader.php +++ b/pageheader/pageheader.php @@ -52,7 +52,7 @@ function pageheader_addon_admin_post(App $a) } } -function pageheader_fetch(App $a, &$b) +function pageheader_fetch(App $a, array &$b) { if(file_exists('pageheader.html')){ $s = file_get_contents('pageheader.html'); diff --git a/piwik/piwik.php b/piwik/piwik.php index 8c4f91df..78d737d1 100644 --- a/piwik/piwik.php +++ b/piwik/piwik.php @@ -31,6 +31,7 @@ * setting. */ +use Friendica\App; use Friendica\Core\Hook; use Friendica\Core\Logger; use Friendica\Core\Renderer; @@ -44,13 +45,13 @@ function piwik_install() { Logger::notice("installed piwik addon"); } -function piwik_load_config(\Friendica\App $a, ConfigFileLoader $loader) +function piwik_load_config(App $a, ConfigFileLoader $loader) { $a->getConfigCache()->load($loader->loadAddonConfig('piwik')); } -function piwik_analytics($a,&$b) { - +function piwik_analytics(App $a, array &$b) +{ /* * styling of every HTML block added by this addon is done in the * associated CSS file. We just have to tell Friendica to get it @@ -90,7 +91,7 @@ function piwik_analytics($a,&$b) { $b .= ""; } } -function piwik_addon_admin (&$a, &$o) { +function piwik_addon_admin (App $a, &$o) { $t = Renderer::getMarkupTemplate( "admin.tpl", "addon/piwik/" ); $o = Renderer::replaceMacros( $t, [ '$submit' => DI::l10n()->t('Save Settings'), @@ -100,7 +101,7 @@ function piwik_addon_admin (&$a, &$o) { '$async' => ['async', DI::l10n()->t('Asynchronous tracking'), DI::config()->get('piwik','async' ), ''], ]); } -function piwik_addon_admin_post (&$a) { +function piwik_addon_admin_post (App $a) { $url = trim($_POST['baseurl'] ?? ''); $id = trim($_POST['siteid'] ?? ''); $optout = trim($_POST['optout'] ?? ''); diff --git a/planets/planets.php b/planets/planets.php index ef88db13..8fa7c3ff 100644 --- a/planets/planets.php +++ b/planets/planets.php @@ -13,59 +13,56 @@ use Friendica\Core\Logger; use Friendica\Core\Renderer; use Friendica\DI; -function planets_install() { - +function planets_install() +{ /** - * * Our demo addon will attach in three places. * The first is just prior to storing a local post. - * */ - Hook::register('post_local', 'addon/planets/planets.php', 'planets_post_hook'); /** - * * Then we'll attach into the addon settings page, and also the * settings post hook so that we can create and update * user preferences. - * */ - Hook::register('addon_settings', 'addon/planets/planets.php', 'planets_settings'); Hook::register('addon_settings_post', 'addon/planets/planets.php', 'planets_settings_post'); Logger::notice("installed planets"); } -function planets_post_hook($a, &$item) { - - /** - * - * An item was posted on the local system. - * We are going to look for specific items: - * - A status post by a profile owner - * - The profile owner must have allowed our addon - * - */ - +/** + * An item was posted on the local system. + * We are going to look for specific items: + * - A status post by a profile owner + * - The profile owner must have allowed our addon + */ +function planets_post_hook(App $a, &$item) +{ Logger::notice('planets invoked'); - if(! local_user()) /* non-zero if this is a logged in user of this system */ + if (!local_user()) { + /* non-zero if this is a logged in user of this system */ return; + } - if(local_user() != $item['uid']) /* Does this person own the post? */ + if (local_user() != $item['uid']) { + /* Does this person own the post? */ return; + } - if($item['parent']) /* If the item has a parent, this is a comment or something else, not a status post. */ + if ($item['parent']) { + /* If the item has a parent, this is a comment or something else, not a status post. */ return; + } /* Retrieve our personal config setting */ - $active = DI::pConfig()->get(local_user(), 'planets', 'enable'); - if(! $active) + if (!$active) { return; + } /** * @@ -96,11 +93,14 @@ function planets_post_hook($a, &$item) { * */ -function planets_settings_post($a,$post) { - if(! local_user()) +function planets_settings_post(App $a, $post) +{ + if (!local_user()) { return; - if($_POST['planets-submit']) - DI::pConfig()->set(local_user(),'planets','enable',intval($_POST['planets'])); + } + if ($_POST['planets-submit']) { + DI::pConfig()->set(local_user(), 'planets', 'enable' ,intval($_POST['planets'])); + } } @@ -115,7 +115,7 @@ function planets_settings_post($a,$post) { function planets_settings(App &$a, array &$data) { - if(! local_user()) { + if(!local_user()) { return; } diff --git a/public_server/public_server.php b/public_server/public_server.php index c6e3c364..7221e1b1 100644 --- a/public_server/public_server.php +++ b/public_server/public_server.php @@ -32,7 +32,7 @@ function public_server_load_config(App $a, ConfigFileLoader $loader) $a->getConfigCache()->load($loader->loadAddonConfig('public_server')); } -function public_server_register_account($a, $b) +function public_server_register_account(App $a, $b) { $uid = $b; @@ -46,7 +46,7 @@ function public_server_register_account($a, $b) DBA::update('user', $fields, ['uid' => $uid]); } -function public_server_cron($a, $b) +function public_server_cron(App $a, $b) { Logger::notice("public_server: cron start"); @@ -99,7 +99,7 @@ function public_server_cron($a, $b) Logger::notice("public_server: cron end"); } -function public_server_enotify(&$a, &$b) +function public_server_enotify(App $a, array &$b) { if (!empty($b['params']) && $b['params']['type'] == Notification\Type::SYSTEM && !empty($b['params']['system_type']) && $b['params']['system_type'] === 'public_server_expire') { @@ -110,7 +110,7 @@ function public_server_enotify(&$a, &$b) } } -function public_server_login($a, $b) +function public_server_login(App $a, $b) { $days = DI::config()->get('public_server', 'expiredays'); if (!$days) { @@ -122,7 +122,7 @@ function public_server_login($a, $b) DBA::update('user', $fields, $condition); } -function public_server_addon_admin_post(&$a) +function public_server_addon_admin_post(App $a) { BaseModule::checkFormSecurityTokenRedirectOnError('/admin/addons/publicserver', 'publicserver'); $expiredays = trim($_POST['expiredays'] ?? ''); @@ -139,7 +139,7 @@ function public_server_addon_admin_post(&$a) DI::config()->set('public_server', 'flagpostsexpire', $flagpostsexpire); } -function public_server_addon_admin(&$a, &$o) +function public_server_addon_admin(App $a, &$o) { $token = BaseModule::getFormSecurityToken("publicserver"); $t = Renderer::getMarkupTemplate("admin.tpl", "addon/public_server"); diff --git a/pumpio/pumpio.php b/pumpio/pumpio.php index 1253d376..e1432dd3 100644 --- a/pumpio/pumpio.php +++ b/pumpio/pumpio.php @@ -33,7 +33,7 @@ use Friendica\Util\XML; require 'addon/pumpio/oauth/http.php'; require 'addon/pumpio/oauth/oauth_client.php'; -require_once "mod/share.php"; +require_once 'mod/share.php'; define('PUMPIO_DEFAULT_POLL_INTERVAL', 5); // given in minutes @@ -50,6 +50,11 @@ function pumpio_install() Hook::register('check_item_notification', 'addon/pumpio/pumpio.php', 'pumpio_check_item_notification'); } +/** + * This is a statement rather than an actual function definition. The simple + * existence of this method is checked to figure out if the addon offers a + * module. + */ function pumpio_module() {} function pumpio_content(App $a) @@ -59,14 +64,15 @@ function pumpio_content(App $a) return ''; } - require_once("mod/settings.php"); + require_once 'mod/settings.php'; settings_init($a); if (isset(DI::args()->getArgv()[1])) { switch (DI::args()->getArgv()[1]) { - case "connect": + case 'connect': $o = pumpio_connect($a); break; + default: $o = print_r(DI::args()->getArgv(), true); break; @@ -77,53 +83,54 @@ function pumpio_content(App $a) return $o; } -function pumpio_check_item_notification($a, &$notification_data) +function pumpio_check_item_notification(App $a, array &$notification_data) { - $hostname = DI::pConfig()->get($notification_data["uid"], 'pumpio', 'host'); - $username = DI::pConfig()->get($notification_data["uid"], "pumpio", "user"); + $hostname = DI::pConfig()->get($notification_data['uid'], 'pumpio', 'host'); + $username = DI::pConfig()->get($notification_data['uid'], 'pumpio', 'user'); - $notification_data["profiles"][] = "https://".$hostname."/".$username; + $notification_data['profiles'][] = 'https://' . $hostname . '/' . $username; } function pumpio_registerclient(App $a, $host) { - $url = "https://".$host."/api/client/register"; + $url = 'https://' . $host . '/api/client/register'; $params = []; $application_name = DI::config()->get('pumpio', 'application_name'); - if ($application_name == "") { + if ($application_name == '') { $application_name = DI::baseUrl()->getHostname(); } - $adminlist = explode(",", str_replace(" ", "", DI::config()->get('config', 'admin_email'))); + $adminlist = explode(',', str_replace(' ', '', DI::config()->get('config', 'admin_email'))); - $params["type"] = "client_associate"; - $params["contacts"] = $adminlist[0]; - $params["application_type"] = "native"; - $params["application_name"] = $application_name; - $params["logo_url"] = DI::baseUrl()->get()."/images/friendica-256.png"; - $params["redirect_uris"] = DI::baseUrl()->get()."/pumpio/connect"; + $params['type'] = 'client_associate'; + $params['contacts'] = $adminlist[0]; + $params['application_type'] = 'native'; + $params['application_name'] = $application_name; + $params['logo_url'] = DI::baseUrl()->get() . '/images/friendica-256.png'; + $params['redirect_uris'] = DI::baseUrl()->get() . '/pumpio/connect'; - Logger::info("pumpio_registerclient: ".$url." parameters ".print_r($params, true)); + Logger::info('pumpio_registerclient: ' . $url . ' parameters', $params); + // @TODO Rewrite this to our own HTTP client $ch = curl_init($url); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $params); - curl_setopt($ch, CURLOPT_USERAGENT, "Friendica"); + curl_setopt($ch, CURLOPT_USERAGENT, 'Friendica'); $s = curl_exec($ch); $curl_info = curl_getinfo($ch); - if ($curl_info["http_code"] == "200") { + if ($curl_info['http_code'] == '200') { $values = json_decode($s); - Logger::info("pumpio_registerclient: success ".print_r($values, true)); + Logger::info('pumpio_registerclient: success ', $values); return $values; } - Logger::info("pumpio_registerclient: failed: ".print_r($curl_info, true)); + Logger::info('pumpio_registerclient: failed: ', $curl_info); return false; } @@ -135,8 +142,8 @@ function pumpio_connect(App $a) $consumer_secret = DI::pConfig()->get(local_user(), 'pumpio', 'consumer_secret'); $hostname = DI::pConfig()->get(local_user(), 'pumpio', 'host'); - if ((($consumer_key == "") || ($consumer_secret == "")) && ($hostname != "")) { - Logger::notice("pumpio_connect: register client"); + if ((($consumer_key == '') || ($consumer_secret == '')) && ($hostname != '')) { + Logger::notice('pumpio_connect: register client'); $clientdata = pumpio_registerclient($a, $hostname); DI::pConfig()->set(local_user(), 'pumpio', 'consumer_key', $clientdata->client_id); DI::pConfig()->set(local_user(), 'pumpio', 'consumer_secret', $clientdata->client_secret); @@ -144,17 +151,17 @@ function pumpio_connect(App $a) $consumer_key = DI::pConfig()->get(local_user(), 'pumpio', 'consumer_key'); $consumer_secret = DI::pConfig()->get(local_user(), 'pumpio', 'consumer_secret'); - Logger::info("pumpio_connect: ckey: ".$consumer_key." csecrect: ".$consumer_secret); + Logger::info('pumpio_connect: ckey: ' . $consumer_key . ' csecrect: ' . $consumer_secret); } - if (($consumer_key == "") || ($consumer_secret == "")) { - Logger::notice("pumpio_connect: ".sprintf("Unable to register the client at the pump.io server '%s'.", $hostname)); + if (($consumer_key == '') || ($consumer_secret == '')) { + Logger::notice('pumpio_connect: '.sprintf('Unable to register the client at the pump.io server "%s".', $hostname)); return DI::l10n()->t("Unable to register the client at the pump.io server '%s'.", $hostname); } // The callback URL is the script that gets called after the user authenticates with pumpio - $callback_url = DI::baseUrl()->get()."/pumpio/connect"; + $callback_url = DI::baseUrl()->get() . '/pumpio/connect'; // Let's begin. First we need a Request Token. The request token is required to send the user // to pumpio's login page. @@ -177,9 +184,9 @@ function pumpio_connect(App $a) if (($success = $client->Initialize())) { if (($success = $client->Process())) { if (strlen($client->access_token)) { - Logger::info("pumpio_connect: otoken: ".$client->access_token." osecrect: ".$client->access_token_secret); - DI::pConfig()->set(local_user(), "pumpio", "oauth_token", $client->access_token); - DI::pConfig()->set(local_user(), "pumpio", "oauth_token_secret", $client->access_token_secret); + Logger::info('pumpio_connect: otoken: ' . $client->access_token . ', osecrect: ' . $client->access_token_secret); + DI::pConfig()->set(local_user(), 'pumpio', 'oauth_token', $client->access_token); + DI::pConfig()->set(local_user(), 'pumpio', 'oauth_token_secret', $client->access_token_secret); } } $success = $client->Finalize($success); @@ -189,11 +196,11 @@ function pumpio_connect(App $a) } if ($success) { - Logger::notice("pumpio_connect: authenticated"); - $o = DI::l10n()->t("You are now authenticated to pumpio."); - $o .= '
'.DI::l10n()->t("return to the connector page").''; + Logger::notice('pumpio_connect: authenticated'); + $o = DI::l10n()->t('You are now authenticated to pumpio.'); + $o .= '
' . DI::l10n()->t('return to the connector page') . ''; } else { - Logger::notice("pumpio_connect: could not connect"); + Logger::notice('pumpio_connect: could not connect'); $o = 'Could not connect to pumpio. Refresh the page or try again later.'; } @@ -202,7 +209,7 @@ function pumpio_connect(App $a) function pumpio_jot_nets(App $a, array &$jotnets_fields) { - if (! local_user()) { + if (!local_user()) { return; } @@ -288,8 +295,8 @@ function pumpio_settings_post(App $a, array &$b) } elseif (!empty($_POST['pumpio-submit'])) { // filtering the username if it is filled wrong $user = $_POST['pumpio_user']; - if (strstr($user, "@")) { - $pos = strpos($user, "@"); + if (strstr($user, '@')) { + $pos = strpos($user, '@'); if ($pos > 0) { $user = substr($user, 0, $pos); @@ -299,7 +306,7 @@ function pumpio_settings_post(App $a, array &$b) // Filtering the hostname if someone is entering it with "http" $host = $_POST['pumpio_host']; $host = trim($host); - $host = str_replace(["https://", "http://"], ["", ""], $host); + $host = str_replace(['https://', 'http://'], ['', ''], $host); DI::pConfig()->set(local_user(), 'pumpio', 'post' , $_POST['pumpio'] ?? false); DI::pConfig()->set(local_user(), 'pumpio', 'import' , $_POST['pumpio_import'] ?? false); @@ -322,38 +329,38 @@ function pumpio_load_config(App $a, ConfigFileLoader $loader) function pumpio_hook_fork(App $a, array &$b) { - if ($b['name'] != 'notifier_normal') { - return; - } + if ($b['name'] != 'notifier_normal') { + return; + } - $post = $b['data']; + $post = $b['data']; - // Deleting and editing is not supported by the addon (deleting could, but isn't by now) - if ($post['deleted'] || ($post['created'] !== $post['edited'])) { - $b['execute'] = false; - return; - } + // Deleting and editing is not supported by the addon (deleting could, but isn't by now) + if ($post['deleted'] || ($post['created'] !== $post['edited'])) { + $b['execute'] = false; + return; + } - // if post comes from pump.io don't send it back - if ($post['app'] == "pump.io") { - $b['execute'] = false; - return; - } + // if post comes from pump.io don't send it back + if ($post['app'] == 'pump.io') { + $b['execute'] = false; + return; + } - if (DI::pConfig()->get($post['uid'], 'pumpio', 'import')) { - // Don't fork if it isn't a reply to a pump.io post - if (($post['parent'] != $post['id']) && !Post::exists(['id' => $post['parent'], 'network' => Protocol::PUMPIO])) { - Logger::notice('No pump.io parent found for item ' . $post['id']); - $b['execute'] = false; - return; - } - } else { - // Comments are never exported when we don't import the pumpio timeline - if (!strstr($post['postopts'], 'pumpio') || ($post['parent'] != $post['id']) || $post['private']) { - $b['execute'] = false; - return; - } - } + if (DI::pConfig()->get($post['uid'], 'pumpio', 'import')) { + // Don't fork if it isn't a reply to a pump.io post + if (($post['parent'] != $post['id']) && !Post::exists(['id' => $post['parent'], 'network' => Protocol::PUMPIO])) { + Logger::notice('No pump.io parent found for item ' . $post['id']); + $b['execute'] = false; + return; + } + } else { + // Comments are never exported when we don't import the pumpio timeline + if (!strstr($post['postopts'], 'pumpio') || ($post['parent'] != $post['id']) || $post['private']) { + $b['execute'] = false; + return; + } + } } function pumpio_post_local(App $a, array &$b) @@ -383,11 +390,11 @@ function pumpio_post_local(App $a, array &$b) function pumpio_send(App $a, array &$b) { - if (!DI::pConfig()->get($b["uid"], 'pumpio', 'import') && ($b['deleted'] || $b['private'] || ($b['created'] !== $b['edited']))) { + if (!DI::pConfig()->get($b['uid'], 'pumpio', 'import') && ($b['deleted'] || $b['private'] || ($b['created'] !== $b['edited']))) { return; } - Logger::debug("pumpio_send: parameter ".print_r($b, true)); + Logger::debug('pumpio_send: parameter ', $b); $b['body'] = Post\Media::addAttachmentsToBody($b['uri-id'], $b['body']); @@ -397,7 +404,7 @@ function pumpio_send(App $a, array &$b) $orig_post = Post::selectFirst([], $condition); if (!DBA::isResult($orig_post)) { - Logger::notice("pumpio_send: no pumpio post ".$b["parent"]); + Logger::notice('pumpio_send: no pumpio post ' . $b['parent']); return; } else { $iscomment = true; @@ -407,7 +414,7 @@ function pumpio_send(App $a, array &$b) $receiver = pumpio_getreceiver($a, $b); - Logger::notice("pumpio_send: receiver ".print_r($receiver, true)); + Logger::notice('pumpio_send: receiver ', $receiver); if (!count($receiver) && ($b['private'] || !strstr($b['postopts'], 'pumpio'))) { return; @@ -423,9 +430,9 @@ function pumpio_send(App $a, array &$b) if ($b['verb'] == Activity::LIKE) { if ($b['deleted']) { - pumpio_action($a, $b["uid"], $b["thr-parent"], "unlike"); + pumpio_action($a, $b['uid'], $b['thr-parent'], 'unlike'); } else { - pumpio_action($a, $b["uid"], $b["thr-parent"], "like"); + pumpio_action($a, $b['uid'], $b['thr-parent'], 'like'); } return; } @@ -435,11 +442,11 @@ function pumpio_send(App $a, array &$b) } if (($b['verb'] == Activity::POST) && ($b['created'] !== $b['edited']) && !$b['deleted']) { - pumpio_action($a, $b["uid"], $b["uri"], "update", $b["body"]); + pumpio_action($a, $b['uid'], $b['uri'], 'update', $b['body']); } if (($b['verb'] == Activity::POST) && $b['deleted']) { - pumpio_action($a, $b["uid"], $b["uri"], "delete"); + pumpio_action($a, $b['uid'], $b['uri'], 'delete'); } if ($b['deleted'] || ($b['created'] !== $b['edited'])) { @@ -447,7 +454,7 @@ function pumpio_send(App $a, array &$b) } // if post comes from pump.io don't send it back - if ($b['app'] == "pump.io") { + if ($b['app'] == 'pump.io') { return; } @@ -455,14 +462,14 @@ function pumpio_send(App $a, array &$b) // Support for native shares // http:///api//shares?id= - $oauth_token = DI::pConfig()->get($b['uid'], "pumpio", "oauth_token"); - $oauth_token_secret = DI::pConfig()->get($b['uid'], "pumpio", "oauth_token_secret"); - $consumer_key = DI::pConfig()->get($b['uid'], "pumpio","consumer_key"); - $consumer_secret = DI::pConfig()->get($b['uid'], "pumpio","consumer_secret"); + $oauth_token = DI::pConfig()->get($b['uid'], 'pumpio', 'oauth_token'); + $oauth_token_secret = DI::pConfig()->get($b['uid'], 'pumpio', 'oauth_token_secret'); + $consumer_key = DI::pConfig()->get($b['uid'], 'pumpio', 'consumer_key'); + $consumer_secret = DI::pConfig()->get($b['uid'], 'pumpio', 'consumer_secret'); - $host = DI::pConfig()->get($b['uid'], "pumpio", "host"); - $user = DI::pConfig()->get($b['uid'], "pumpio", "user"); - $public = DI::pConfig()->get($b['uid'], "pumpio", "public"); + $host = DI::pConfig()->get($b['uid'], 'pumpio', 'host'); + $user = DI::pConfig()->get($b['uid'], 'pumpio', 'user'); + $public = DI::pConfig()->get($b['uid'], 'pumpio', 'public'); if ($oauth_token && $oauth_token_secret) { $title = trim($b['title']); @@ -471,47 +478,49 @@ function pumpio_send(App $a, array &$b) $params = []; - $params["verb"] = "post"; + $params['verb'] = 'post'; if (!$iscomment) { - $params["object"] = [ - 'objectType' => "note", + $params['object'] = [ + 'objectType' => 'note', 'content' => $content]; if (!empty($title)) { - $params["object"]["displayName"] = $title; + $params['object']['displayName'] = $title; } - if (!empty($receiver["to"])) { - $params["to"] = $receiver["to"]; + if (!empty($receiver['to'])) { + $params['to'] = $receiver['to']; } - if (!empty($receiver["bto"])) { - $params["bto"] = $receiver["bto"]; + if (!empty($receiver['bto'])) { + $params['bto'] = $receiver['bto']; } - if (!empty($receiver["cc"])) { - $params["cc"] = $receiver["cc"]; + if (!empty($receiver['cc'])) { + $params['cc'] = $receiver['cc']; } - if (!empty($receiver["bcc"])) { - $params["bcc"] = $receiver["bcc"]; + if (!empty($receiver['bcc'])) { + $params['bcc'] = $receiver['bcc']; } } else { - $inReplyTo = ["id" => $orig_post["uri"], - "objectType" => "note"]; + $inReplyTo = [ + 'id' => $orig_post['uri'], + 'objectType' => 'note', + ]; - if (($orig_post["object-type"] != "") && (strstr($orig_post["object-type"], ActivityNamespace::ACTIVITY_SCHEMA))) { - $inReplyTo["objectType"] = str_replace(ActivityNamespace::ACTIVITY_SCHEMA, '', $orig_post["object-type"]); + if (($orig_post['object-type'] != '') && (strstr($orig_post['object-type'], ActivityNamespace::ACTIVITY_SCHEMA))) { + $inReplyTo['objectType'] = str_replace(ActivityNamespace::ACTIVITY_SCHEMA, '', $orig_post['object-type']); } - $params["object"] = [ - 'objectType' => "comment", + $params['object'] = [ + 'objectType' => 'comment', 'content' => $content, 'inReplyTo' => $inReplyTo]; - if ($title != "") { - $params["object"]["displayName"] = $title; + if ($title != '') { + $params['object']['displayName'] = $title; } } @@ -524,24 +533,24 @@ function pumpio_send(App $a, array &$b) $client->client_id = $consumer_key; $client->client_secret = $consumer_secret; - $username = $user.'@'.$host; - $url = 'https://'.$host.'/api/user/'.$user.'/feed'; + $username = $user . '@' . $host; + $url = 'https://' . $host . '/api/user/' . $user . '/feed'; if (pumpio_reachable($url)) { - $success = $client->CallAPI($url, 'POST', $params, ['FailOnAccessError'=>true, 'RequestContentType'=>'application/json'], $user); + $success = $client->CallAPI($url, 'POST', $params, ['FailOnAccessError' => true, 'RequestContentType' => 'application/json'], $user); } else { $success = false; } if ($success) { if ($user->generator->displayName) { - DI::pConfig()->set($b["uid"], "pumpio", "application_name", $user->generator->displayName); + DI::pConfig()->set($b['uid'], 'pumpio', 'application_name', $user->generator->displayName); } $post_id = $user->object->id; - Logger::notice('pumpio_send '.$username.': success '.$post_id); + Logger::notice('pumpio_send ' . $username . ': success ' . $post_id); if ($post_id && $iscomment) { - Logger::notice('pumpio_send '.$username.': Update extid '.$post_id." for post id ".$b['id']); + Logger::notice('pumpio_send ' . $username . ': Update extid ' . $post_id . ' for post id ' . $b['id']); Item::update(['extid' => $post_id], ['id' => $b['id']]); } } else { @@ -551,19 +560,19 @@ function pumpio_send(App $a, array &$b) } } -function pumpio_action(App $a, $uid, $uri, $action, $content = "") +function pumpio_action(App $a, int $uid, string $uri, string $action, string $content = '') { // Don't do likes and other stuff if you don't import the timeline if (!DI::pConfig()->get($uid, 'pumpio', 'import')) { return; } - $ckey = DI::pConfig()->get($uid, 'pumpio', 'consumer_key'); - $csecret = DI::pConfig()->get($uid, 'pumpio', 'consumer_secret'); - $otoken = DI::pConfig()->get($uid, 'pumpio', 'oauth_token'); - $osecret = DI::pConfig()->get($uid, 'pumpio', 'oauth_token_secret'); + $ckey = DI::pConfig()->get($uid, 'pumpio', 'consumer_key'); + $csecret = DI::pConfig()->get($uid, 'pumpio', 'consumer_secret'); + $otoken = DI::pConfig()->get($uid, 'pumpio', 'oauth_token'); + $osecret = DI::pConfig()->get($uid, 'pumpio', 'oauth_token_secret'); $hostname = DI::pConfig()->get($uid, 'pumpio', 'host'); - $username = DI::pConfig()->get($uid, "pumpio", "user"); + $username = DI::pConfig()->get($uid, 'pumpio', 'user'); $orig_post = Post::selectFirst([], ['uri' => $uri, 'uid' => $uid]); @@ -571,26 +580,28 @@ function pumpio_action(App $a, $uid, $uri, $action, $content = "") return; } - if ($orig_post["extid"] && !strstr($orig_post["extid"], "/proxy/")) { - $uri = $orig_post["extid"]; + if ($orig_post['extid'] && !strstr($orig_post['extid'], '/proxy/')) { + $uri = $orig_post['extid']; } else { - $uri = $orig_post["uri"]; + $uri = $orig_post['uri']; } - if (($orig_post["object-type"] != "") && (strstr($orig_post["object-type"], ActivityNamespace::ACTIVITY_SCHEMA))) { - $objectType = str_replace(ActivityNamespace::ACTIVITY_SCHEMA, '', $orig_post["object-type"]); - } elseif (strstr($uri, "/api/comment/")) { - $objectType = "comment"; - } elseif (strstr($uri, "/api/note/")) { - $objectType = "note"; - } elseif (strstr($uri, "/api/image/")) { - $objectType = "image"; + if (($orig_post['object-type'] != '') && (strstr($orig_post['object-type'], ActivityNamespace::ACTIVITY_SCHEMA))) { + $objectType = str_replace(ActivityNamespace::ACTIVITY_SCHEMA, '', $orig_post['object-type']); + } elseif (strstr($uri, '/api/comment/')) { + $objectType = 'comment'; + } elseif (strstr($uri, '/api/note/')) { + $objectType = 'note'; + } elseif (strstr($uri, '/api/image/')) { + $objectType = 'image'; } - $params["verb"] = $action; - $params["object"] = ['id' => $uri, - "objectType" => $objectType, - "content" => $content]; + $params['verb'] = $action; + $params['object'] = [ + 'id' => $uri, + 'objectType' => $objectType, + 'content' => $content, + ]; $client = new oauth_client_class; $client->oauth_version = '1.0a'; @@ -605,7 +616,7 @@ function pumpio_action(App $a, $uid, $uri, $action, $content = "") $url = 'https://'.$hostname.'/api/user/'.$username.'/feed'; if (pumpio_reachable($url)) { - $success = $client->CallAPI($url, 'POST', $params, ['FailOnAccessError'=>true, 'RequestContentType'=>'application/json'], $user); + $success = $client->CallAPI($url, 'POST', $params, ['FailOnAccessError' => true, 'RequestContentType' => 'application/json'], $user); } else { $success = false; } @@ -671,7 +682,7 @@ function pumpio_sync(App $a) } if ($next_contact_check <= time()) { - pumpio_getallusers($a, $rr["uid"]); + pumpio_getallusers($a, $rr['uid']); DI::pConfig()->set($rr['uid'], 'pumpio', 'contact_check', time()); } } @@ -683,10 +694,10 @@ function pumpio_sync(App $a) function pumpio_cron(App $a, $b) { - Worker::add(PRIORITY_MEDIUM,"addon/pumpio/pumpio_sync.php"); + Worker::add(PRIORITY_MEDIUM, 'addon/pumpio/pumpio_sync.php'); } -function pumpio_fetchtimeline(App $a, $uid) +function pumpio_fetchtimeline(App $a, int $uid) { $ckey = DI::pConfig()->get($uid, 'pumpio', 'consumer_key'); $csecret = DI::pConfig()->get($uid, 'pumpio', 'consumer_secret'); @@ -694,20 +705,20 @@ function pumpio_fetchtimeline(App $a, $uid) $osecret = DI::pConfig()->get($uid, 'pumpio', 'oauth_token_secret'); $lastdate = DI::pConfig()->get($uid, 'pumpio', 'lastdate'); $hostname = DI::pConfig()->get($uid, 'pumpio', 'host'); - $username = DI::pConfig()->get($uid, "pumpio", "user"); + $username = DI::pConfig()->get($uid, 'pumpio', 'user'); // get the application name for the pump.io app // 1st try personal config, then system config and fallback to the // hostname of the node if neither one is set. $application_name = DI::pConfig()->get($uid, 'pumpio', 'application_name'); - if ($application_name == "") { + if ($application_name == '') { $application_name = DI::config()->get('pumpio', 'application_name'); } - if ($application_name == "") { + if ($application_name == '') { $application_name = DI::baseUrl()->getHostname(); } - $first_time = ($lastdate == ""); + $first_time = ($lastdate == ''); $client = new oauth_client_class; $client->oauth_version = '1.0a'; @@ -721,19 +732,19 @@ function pumpio_fetchtimeline(App $a, $uid) $url = 'https://'.$hostname.'/api/user/'.$username.'/feed/major'; - Logger::notice('pumpio: fetching for user '.$uid.' '.$url.' C:'.$client->client_id.' CS:'.$client->client_secret.' T:'.$client->access_token.' TS:'.$client->access_token_secret); + Logger::notice('pumpio: fetching for user ' . $uid . ' ' . $url . ' C:' . $client->client_id . ' CS:' . $client->client_secret . ' T:' . $client->access_token . ' TS:' . $client->access_token_secret); $useraddr = $username.'@'.$hostname; if (pumpio_reachable($url)) { - $success = $client->CallAPI($url, 'GET', [], ['FailOnAccessError'=>true], $user); + $success = $client->CallAPI($url, 'GET', [], ['FailOnAccessError' => true], $user); } else { $success = false; $user = []; } if (!$success) { - Logger::notice('pumpio: error fetching posts for user '.$uid." ".$useraddr." ".print_r($user, true)); + Logger::notice('pumpio: error fetching posts for user ' . $uid . ' ' . $useraddr . ' ', $user); return; } @@ -766,48 +777,48 @@ function pumpio_fetchtimeline(App $a, $uid) } $public = false; - foreach ($receiptians AS $receiver) { - if (is_string($receiver->objectType) && ($receiver->id == "http://activityschema.org/collection/public")) { + foreach ($receiptians as $receiver) { + if (is_string($receiver->objectType) && ($receiver->id == 'http://activityschema.org/collection/public')) { $public = true; } } if ($public && !stristr($post->generator->displayName, $application_name)) { - $_SESSION["authenticated"] = true; - $_SESSION["uid"] = $uid; + $_SESSION['authenticated'] = true; + $_SESSION['uid'] = $uid; unset($_REQUEST); - $_REQUEST["api_source"] = true; - $_REQUEST["profile_uid"] = $uid; - $_REQUEST["source"] = "pump.io"; + $_REQUEST['api_source'] = true; + $_REQUEST['profile_uid'] = $uid; + $_REQUEST['source'] = 'pump.io'; if (isset($post->object->id)) { - $_REQUEST['message_id'] = Protocol::PUMPIO.":".$post->object->id; + $_REQUEST['message_id'] = Protocol::PUMPIO . ':' . $post->object->id; } - if ($post->object->displayName != "") { - $_REQUEST["title"] = HTML::toBBCode($post->object->displayName); + if ($post->object->displayName != '') { + $_REQUEST['title'] = HTML::toBBCode($post->object->displayName); } else { - $_REQUEST["title"] = ""; + $_REQUEST['title'] = ''; } - $_REQUEST["body"] = HTML::toBBCode($post->object->content); + $_REQUEST['body'] = HTML::toBBCode($post->object->content); // To-Do: Picture has to be cached and stored locally - if ($post->object->fullImage->url != "") { - if ($post->object->fullImage->pump_io->proxyURL != "") { - $_REQUEST["body"] = "[url=".$post->object->fullImage->pump_io->proxyURL."][img]".$post->object->image->pump_io->proxyURL."[/img][/url]\n".$_REQUEST["body"]; + if ($post->object->fullImage->url != '') { + if ($post->object->fullImage->pump_io->proxyURL != '') { + $_REQUEST['body'] = '[url=' . $post->object->fullImage->pump_io->proxyURL . '][img]' . $post->object->image->pump_io->proxyURL . "[/img][/url]\n" . $_REQUEST['body']; } else { - $_REQUEST["body"] = "[url=".$post->object->fullImage->url."][img]".$post->object->image->url."[/img][/url]\n".$_REQUEST["body"]; + $_REQUEST['body'] = '[url=' . $post->object->fullImage->url . '][img]' . $post->object->image->url . "[/img][/url]\n" . $_REQUEST['body']; } } - Logger::notice('pumpio: posting for user '.$uid); + Logger::notice('pumpio: posting for user ' . $uid); - require_once('mod/item.php'); + require_once 'mod/item.php'; item_post($a); - Logger::notice('pumpio: posting done - user '.$uid); + Logger::notice('pumpio: posting done - user ' . $uid); } } } @@ -817,7 +828,7 @@ function pumpio_fetchtimeline(App $a, $uid) } } -function pumpio_dounlike(App $a, $uid, $self, $post, $own_id) +function pumpio_dounlike(App $a, int $uid, array $self, $post, string $own_id) { // Searching for the unliked post // Two queries for speed issues @@ -847,13 +858,13 @@ function pumpio_dounlike(App $a, $uid, $self, $post, $own_id) Item::markForDeletion(['verb' => Activity::LIKE, 'uid' => $uid, 'contact-id' => $contactid, 'thr-parent' => $orig_post['uri']]); if (DBA::isResult($contact)) { - Logger::notice("pumpio_dounlike: unliked existing like. User ".$own_id." ".$uid." Contact: ".$contactid." Url ".$orig_post['uri']); + Logger::notice('pumpio_dounlike: unliked existing like. User ' . $own_id . ' ' . $uid . ' Contact: ' . $contactid . ' URI ' . $orig_post['uri']); } else { - Logger::notice("pumpio_dounlike: not found. User ".$own_id." ".$uid." Contact: ".$contactid." Url ".$orig_post['uri']); + Logger::notice('pumpio_dounlike: not found. User ' . $own_id . ' ' . $uid . ' Contact: ' . $contactid . ' Url ' . $orig_post['uri']); } } -function pumpio_dolike(App $a, $uid, $self, $post, $own_id, $threadcompletion = true) +function pumpio_dolike(App $a, int $uid, array $self, $post, string $own_id, $threadcompletion = true) { if (empty($post->object->id)) { Logger::info('Got empty like: '.print_r($post, true)); @@ -893,9 +904,15 @@ function pumpio_dolike(App $a, $uid, $self, $post, $own_id, $threadcompletion = } } - $condition = ['verb' => Activity::LIKE, 'uid' => $uid, 'contact-id' => $contactid, 'thr-parent' => $orig_post['uri']]; + $condition = [ + 'verb' => Activity::LIKE, + 'uid' => $uid, + 'contact-id' => $contactid, + 'thr-parent' => $orig_post['uri'], + ]; + if (Post::exists($condition)) { - Logger::notice("pumpio_dolike: found existing like. User ".$own_id." ".$uid." Contact: ".$contactid." Url ".$orig_post['uri']); + Logger::notice('pumpio_dolike: found existing like. User ' . $own_id . ' ' . $uid . ' Contact: ' . $contactid . ' URI ' . $orig_post['uri']); return; } @@ -929,7 +946,7 @@ function pumpio_dolike(App $a, $uid, $self, $post, $own_id, $threadcompletion = $ret = Item::insert($likedata); - Logger::notice("pumpio_dolike: ".$ret." User ".$own_id." ".$uid." Contact: ".$contactid." Url ".$orig_post['uri']); + Logger::notice('pumpio_dolike: ' . $ret . ' User ' . $own_id . ' ' . $uid . ' Contact: ' . $contactid . ' URI ' . $orig_post['uri']); } function pumpio_get_contact($uid, $contact, $no_insert = false) @@ -948,7 +965,7 @@ function pumpio_get_contact($uid, $contact, $no_insert = false) 'created' => DateTimeFormat::utcNow(), 'url' => $contact->url, 'nurl' => Strings::normaliseLink($contact->url), - 'addr' => str_replace("acct:", "", $contact->id), + 'addr' => str_replace('acct:', '', $contact->id), 'alias' => '', 'notify' => $contact->id, 'poll' => 'pump.io ' . $contact->id, @@ -975,7 +992,7 @@ function pumpio_get_contact($uid, $contact, $no_insert = false) Group::addMember(User::getDefaultGroup($uid), $contact_id); } else { - $contact_id = $r["id"]; + $contact_id = $r['id']; } if (!empty($contact->image->url)) { @@ -985,7 +1002,7 @@ function pumpio_get_contact($uid, $contact, $no_insert = false) return $contact_id; } -function pumpio_dodelete(App $a, $uid, $self, $post, $own_id) +function pumpio_dodelete(App $a, int $uid, array $self, $post, string $own_id) { // Two queries for speed issues $condition = ['uri' => $post->object->id, 'uid' => $uid]; @@ -1002,21 +1019,21 @@ function pumpio_dodelete(App $a, $uid, $self, $post, $own_id) return false; } -function pumpio_dopost(App $a, $client, $uid, $self, $post, $own_id, $threadcompletion = true) +function pumpio_dopost(App $a, $client, int $uid, array $self, $post, string $own_id, bool $threadcompletion = true) { - if (($post->verb == "like") || ($post->verb == "favorite")) { + if (($post->verb == 'like') || ($post->verb == 'favorite')) { return pumpio_dolike($a, $uid, $self, $post, $own_id); } - if (($post->verb == "unlike") || ($post->verb == "unfavorite")) { + if (($post->verb == 'unlike') || ($post->verb == 'unfavorite')) { return pumpio_dounlike($a, $uid, $self, $post, $own_id); } - if ($post->verb == "delete") { + if ($post->verb == 'delete') { return pumpio_dodelete($a, $uid, $self, $post, $own_id); } - if ($post->verb != "update") { + if ($post->verb != 'update') { // Two queries for speed issues if (Post::exists(['uri' => $post->object->id, 'uid' => $uid])) { return false; @@ -1027,7 +1044,7 @@ function pumpio_dopost(App $a, $client, $uid, $self, $post, $own_id, $threadcomp } // Only handle these three types - if (!strstr("post|share|update", $post->verb)) { + if (!strstr('post|share|update', $post->verb)) { return false; } @@ -1042,8 +1059,8 @@ function pumpio_dopost(App $a, $client, $uid, $self, $post, $own_id, $threadcomp $public = false; - foreach ($receiptians AS $receiver) { - if (is_string($receiver->objectType) && ($receiver->id == "http://activityschema.org/collection/public")) { + foreach ($receiptians as $receiver) { + if (is_string($receiver->objectType) && ($receiver->id == 'http://activityschema.org/collection/public')) { $public = true; } } @@ -1055,7 +1072,7 @@ function pumpio_dopost(App $a, $client, $uid, $self, $post, $own_id, $threadcomp $postarray['uri'] = $post->object->id; $postarray['object-type'] = ActivityNamespace::ACTIVITY_SCHEMA . strtolower($post->object->objectType); - if ($post->object->objectType != "comment") { + if ($post->object->objectType != 'comment') { $contact_id = pumpio_get_contact($uid, $post->actor); if (!$contact_id) { @@ -1087,7 +1104,7 @@ function pumpio_dopost(App $a, $client, $uid, $self, $post, $own_id, $threadcomp } $reply = new stdClass; - $reply->verb = "note"; + $reply->verb = 'note'; if (isset($post->cc)) { $reply->cc = $post->cc; @@ -1104,7 +1121,7 @@ function pumpio_dopost(App $a, $client, $uid, $self, $post, $own_id, $threadcomp $reply->actor = $post->object->inReplyTo->author; $reply->url = $post->object->inReplyTo->url; $reply->generator = new stdClass; - $reply->generator->displayName = "pumpio"; + $reply->generator->displayName = 'pumpio'; $reply->published = $post->object->inReplyTo->published; $reply->received = $post->object->inReplyTo->updated; $reply->url = $post->object->inReplyTo->url; @@ -1139,7 +1156,7 @@ function pumpio_dopost(App $a, $client, $uid, $self, $post, $own_id, $threadcomp $postarray['object'] = json_encode($post); if (!empty($post->object->fullImage->url)) { - $postarray["body"] = "[url=".$post->object->fullImage->url."][img]".$post->object->image->url."[/img][/url]\n".$postarray["body"]; + $postarray['body'] = '[url=' . $post->object->fullImage->url . '][img]' . $post->object->image->url . "[/img][/url]\n" . $postarray['body']; } if (!empty($post->object->displayName)) { @@ -1155,10 +1172,10 @@ function pumpio_dopost(App $a, $client, $uid, $self, $post, $own_id, $threadcomp $postarray['edited'] = $postarray['created']; } - if ($post->verb == "share") { - if (isset($post->object->author->displayName) && ($post->object->author->displayName != "")) { + if ($post->verb == 'share') { + if (isset($post->object->author->displayName) && ($post->object->author->displayName != '')) { $share_author = $post->object->author->displayName; - } elseif (isset($post->object->author->preferredUsername) && ($post->object->author->preferredUsername != "")) { + } elseif (isset($post->object->author->preferredUsername) && ($post->object->author->preferredUsername != '')) { $share_author = $post->object->author->preferredUsername; } else { $share_author = $post->object->author->url; @@ -1172,40 +1189,44 @@ function pumpio_dopost(App $a, $client, $uid, $self, $post, $own_id, $threadcomp $postarray['body'] = Friendica\Content\Text\BBCode::getShareOpeningTag($share_author, $post->object->author->url, $post->object->author->image->url, $post->links->self->href, $created) . - $postarray['body']."[/share]"; + $postarray['body'] . '[/share]'; } - if (trim($postarray['body']) == "") { + if (trim($postarray['body']) == '') { return false; } $top_item = Item::insert($postarray); - $postarray["id"] = $top_item; + $postarray['id'] = $top_item; - if (($top_item == 0) && ($post->verb == "update")) { - $fields = ['title' => $postarray["title"], 'body' => $postarray["body"], 'changed' => $postarray["edited"]]; - $condition = ['uri' => $postarray["uri"], 'uid' => $uid]; + if (($top_item == 0) && ($post->verb == 'update')) { + $fields = [ + 'title' => $postarray['title'], + 'body' => $postarray['body'], + 'changed' => $postarray['edited'], + ]; + $condition = ['uri' => $postarray['uri'], 'uid' => $uid]; Item::update($fields, $condition); } - if (($post->object->objectType == "comment") && $threadcompletion) { + if (($post->object->objectType == 'comment') && $threadcompletion) { pumpio_fetchallcomments($a, $uid, $postarray['thr-parent']); } return $top_item; } -function pumpio_fetchinbox(App $a, $uid) +function pumpio_fetchinbox(App $a, int $uid) { - $ckey = DI::pConfig()->get($uid, 'pumpio', 'consumer_key'); + $ckey= DI::pConfig()->get($uid, 'pumpio', 'consumer_key'); $csecret = DI::pConfig()->get($uid, 'pumpio', 'consumer_secret'); $otoken = DI::pConfig()->get($uid, 'pumpio', 'oauth_token'); $osecret = DI::pConfig()->get($uid, 'pumpio', 'oauth_token_secret'); $lastdate = DI::pConfig()->get($uid, 'pumpio', 'lastdate'); $hostname = DI::pConfig()->get($uid, 'pumpio', 'host'); - $username = DI::pConfig()->get($uid, "pumpio", "user"); + $username = DI::pConfig()->get($uid, 'pumpio', 'user'); - $own_id = "https://".$hostname."/".$username; + $own_id = 'https://' . $hostname . '/' . $username; $self = User::getOwnerDataById($uid); @@ -1214,7 +1235,7 @@ function pumpio_fetchinbox(App $a, $uid) WHERE `post-thread-user`.`network` = ? AND `post-thread-user`.`uid` = ? AND `post-view`.`extid` != '' ORDER BY `post-thread-user`.`commented` DESC LIMIT 10", Protocol::PUMPIO, $uid); - $client = new oauth_client_class; + $client = new oauth_client_class(); $client->oauth_version = '1.0a'; $client->authorization_header = true; $client->url_parameters = false; @@ -1228,12 +1249,12 @@ function pumpio_fetchinbox(App $a, $uid) $url = 'https://'.$hostname.'/api/user/'.$username.'/inbox'; - if ($last_id != "") { - $url .= '?since='.urlencode($last_id); + if ($last_id != '') { + $url .= '?since=' . urlencode($last_id); } if (pumpio_reachable($url)) { - $success = $client->CallAPI($url, 'GET', [], ['FailOnAccessError'=>true], $user); + $success = $client->CallAPI($url, 'GET', [], ['FailOnAccessError' => true], $user); } else { $success = false; } @@ -1254,21 +1275,21 @@ function pumpio_fetchinbox(App $a, $uid) } while ($item = DBA::fetch($lastitems)) { - pumpio_fetchallcomments($a, $uid, $item["uri"]); + pumpio_fetchallcomments($a, $uid, $item['uri']); } DBA::close($lastitems); DI::pConfig()->set($uid, 'pumpio', 'last_id', $last_id); } -function pumpio_getallusers(App &$a, $uid) +function pumpio_getallusers(App &$a, int $uid) { - $ckey = DI::pConfig()->get($uid, 'pumpio', 'consumer_key'); + $ckey= DI::pConfig()->get($uid, 'pumpio', 'consumer_key'); $csecret = DI::pConfig()->get($uid, 'pumpio', 'consumer_secret'); $otoken = DI::pConfig()->get($uid, 'pumpio', 'oauth_token'); $osecret = DI::pConfig()->get($uid, 'pumpio', 'oauth_token_secret'); $hostname = DI::pConfig()->get($uid, 'pumpio', 'host'); - $username = DI::pConfig()->get($uid, "pumpio", "user"); + $username = DI::pConfig()->get($uid, 'pumpio', 'user'); $client = new oauth_client_class; $client->oauth_version = '1.0a'; @@ -1280,7 +1301,7 @@ function pumpio_getallusers(App &$a, $uid) $client->access_token = $otoken; $client->access_token_secret = $osecret; - $url = 'https://'.$hostname.'/api/user/'.$username.'/following'; + $url = 'https://' . $hostname . '/api/user/' . $username . '/following'; if (pumpio_reachable($url)) { $success = $client->CallAPI($url, 'GET', [], ['FailOnAccessError' => true], $users); @@ -1313,36 +1334,38 @@ function pumpio_getreceiver(App $a, array $b) { $receiver = []; - if (!$b["private"]) { + if (!$b['private']) { if (!strstr($b['postopts'], 'pumpio')) { return $receiver; } - $public = DI::pConfig()->get($b['uid'], "pumpio", "public"); + $public = DI::pConfig()->get($b['uid'], 'pumpio', 'public'); if ($public) { - $receiver["to"][] = [ - "objectType" => "collection", - "id" => "http://activityschema.org/collection/public"]; + $receiver['to'][] = [ + 'objectType' => 'collection', + 'id' => 'http://activityschema.org/collection/public' + ]; } } else { - $cids = explode("><", $b["allow_cid"]); - $gids = explode("><", $b["allow_gid"]); + $cids = explode('><', $b['allow_cid']); + $gids = explode('><', $b['allow_gid']); - foreach ($cids AS $cid) { - $cid = trim($cid, " <>"); + foreach ($cids as $cid) { + $cid = trim($cid, ' <>'); - $contact = Contact::selectFirst(['name', 'nick', 'url'], ['id' => $cid, 'uid' => $b["uid"], 'network' => Protocol::PUMPIO, 'blocked' => false, 'readonly' => false]); + $contact = Contact::selectFirst(['name', 'nick', 'url'], ['id' => $cid, 'uid' => $b['uid'], 'network' => Protocol::PUMPIO, 'blocked' => false, 'readonly' => false]); if (DBA::isResult($contact)) { - $receiver["bcc"][] = [ - "displayName" => $contact["name"], - "objectType" => "person", - "preferredUsername" => $contact["nick"], - "url" => $contact["url"]]; + $receiver['bcc'][] = [ + 'displayName' => $contact['name'], + 'objectType' => 'person', + 'preferredUsername' => $contact['nick'], + 'url' => $contact['url'], + ]; } } - foreach ($gids AS $gid) { - $gid = trim($gid, " <>"); + foreach ($gids as $gid) { + $gid = trim($gid, ' <>'); $contacts = DBA::p("SELECT `contact`.`name`, `contact`.`nick`, `contact`.`url`, `contact`.`network` FROM `group_member`, `contact` WHERE `group_member`.`gid` = ? @@ -1350,33 +1373,35 @@ function pumpio_getreceiver(App $a, array $b) $gid, Protocol::PUMPIO); while ($row = DBA::fetch($contacts)) { - $receiver["bcc"][] = [ - "displayName" => $row["name"], - "objectType" => "person", - "preferredUsername" => $row["nick"], - "url" => $row["url"]]; + $receiver['bcc'][] = [ + 'displayName' => $row['name'], + 'objectType' => 'person', + 'preferredUsername' => $row['nick'], + 'url' => $row['url'], + ]; } DBA::close($contacts); } } - if ($b["inform"] != "") { - $inform = explode(",", $b["inform"]); + if ($b['inform'] != '') { + $inform = explode(',', $b['inform']); - foreach ($inform AS $cid) { - if (substr($cid, 0, 4) != "cid:") { + foreach ($inform as $cid) { + if (substr($cid, 0, 4) != 'cid:') { continue; } - $cid = str_replace("cid:", "", $cid); + $cid = str_replace('cid:', '', $cid); - $contact = Contact::selectFirst(['name', 'nick', 'url'], ['id' => $cid, 'uid' => $b["uid"], 'network' => Protocol::PUMPIO, 'blocked' => false, 'readonly' => false]); + $contact = Contact::selectFirst(['name', 'nick', 'url'], ['id' => $cid, 'uid' => $b['uid'], 'network' => Protocol::PUMPIO, 'blocked' => false, 'readonly' => false]); if (DBA::isResult($contact)) { - $receiver["to"][] = [ - "displayName" => $contact["name"], - "objectType" => "person", - "preferredUsername" => $contact["nick"], - "url" => $contact["url"]]; + $receiver['to'][] = [ + 'displayName' => $contact['name'], + 'objectType' => 'person', + 'preferredUsername' => $contact['nick'], + 'url' => $contact['url'], + ]; } } } @@ -1391,11 +1416,11 @@ function pumpio_fetchallcomments(App $a, $uid, $id) $otoken = DI::pConfig()->get($uid, 'pumpio', 'oauth_token'); $osecret = DI::pConfig()->get($uid, 'pumpio', 'oauth_token_secret'); $hostname = DI::pConfig()->get($uid, 'pumpio', 'host'); - $username = DI::pConfig()->get($uid, "pumpio", "user"); + $username = DI::pConfig()->get($uid, 'pumpio', 'user'); - Logger::notice("pumpio_fetchallcomments: completing comment for user ".$uid." post id ".$id); + Logger::notice('pumpio_fetchallcomments: completing comment for user ' . $uid . ' post id ' . $id); - $own_id = "https://".$hostname."/".$username; + $own_id = 'https://' . $hostname . '/' . $username; $self = User::getOwnerDataById($uid); @@ -1406,7 +1431,7 @@ function pumpio_fetchallcomments(App $a, $uid, $id) return false; } - $url = $original["extid"]; + $url = $original['extid']; $client = new oauth_client_class; $client->oauth_version = '1.0a'; @@ -1418,10 +1443,10 @@ function pumpio_fetchallcomments(App $a, $uid, $id) $client->access_token = $otoken; $client->access_token_secret = $osecret; - Logger::notice("pumpio_fetchallcomments: fetching comment for user ".$uid." url ".$url); + Logger::notice('pumpio_fetchallcomments: fetching comment for user ' . $uid . ', URL ' . $url); if (pumpio_reachable($url)) { - $success = $client->CallAPI($url, 'GET', [], ['FailOnAccessError'=>true], $item); + $success = $client->CallAPI($url, 'GET', [], ['FailOnAccessError' => true], $item); } else { $success = false; } @@ -1431,7 +1456,7 @@ function pumpio_fetchallcomments(App $a, $uid, $id) } if ($item->likes->totalItems != 0) { - foreach ($item->likes->items AS $post) { + foreach ($item->likes->items as $post) { $like = new stdClass; $like->object = new stdClass; $like->object->id = $item->id; @@ -1443,7 +1468,7 @@ function pumpio_fetchallcomments(App $a, $uid, $id) //$like->actor->image = $item->image; $like->actor->url = $item->url; $like->generator = new stdClass; - $like->generator->displayName = "pumpio"; + $like->generator->displayName = 'pumpio'; pumpio_dolike($a, $uid, $self, $post, $own_id, false); } } @@ -1452,7 +1477,7 @@ function pumpio_fetchallcomments(App $a, $uid, $id) return; } - foreach ($item->replies->items AS $item) { + foreach ($item->replies->items as $item) { if ($item->id == $id) { continue; } @@ -1467,12 +1492,12 @@ function pumpio_fetchallcomments(App $a, $uid, $id) } $post = new stdClass; - $post->verb = "post"; + $post->verb = 'post'; $post->actor = $item->author; $post->published = $item->published; $post->received = $item->updated; $post->generator = new stdClass; - $post->generator->displayName = "pumpio"; + $post->generator->displayName = 'pumpio'; // To-Do: Check for public post unset($item->author); @@ -1481,12 +1506,12 @@ function pumpio_fetchallcomments(App $a, $uid, $id) $post->object = $item; - Logger::notice("pumpio_fetchallcomments: posting comment ".$post->object->id." ".print_r($post, true)); + Logger::notice('pumpio_fetchallcomments: posting comment ' . $post->object->id . ' ', $post); pumpio_dopost($a, $client, $uid, $self, $post, $own_id, false); } } -function pumpio_reachable($url) +function pumpio_reachable(string $url): bool { return DI::httpClient()->get($url, HttpClientAccept::DEFAULT, [HttpClientOptions::TIMEOUT => 10])->isSuccess(); } diff --git a/pumpio/pumpio_sync.php b/pumpio/pumpio_sync.php index 53a8da11..892b6ad4 100644 --- a/pumpio/pumpio_sync.php +++ b/pumpio/pumpio_sync.php @@ -2,10 +2,10 @@ use Friendica\Core\Logger; use Friendica\DI; -function pumpio_sync_run($argv, $argc) { +function pumpio_sync_run(array $argv, int $argc) { $a = Friendica\DI::app(); - require_once("addon/pumpio/pumpio.php"); + require_once 'addon/pumpio/pumpio.php'; if (function_exists('sys_getloadavg')) { $load = sys_getloadavg(); diff --git a/qcomment/qcomment.php b/qcomment/qcomment.php index aec4e9bf..7a1c6ca6 100644 --- a/qcomment/qcomment.php +++ b/qcomment/qcomment.php @@ -31,7 +31,7 @@ function qcomment_install() Hook::register('footer' , __FILE__, 'qcomment_footer'); } -function qcomment_footer(App $a, &$b) +function qcomment_footer(App $a, array &$b) { DI::page()->registerFooterScript('addon/qcomment/qcomment.js'); } @@ -57,9 +57,9 @@ function qcomment_addon_settings(App &$a, array &$data) ]; } -function qcomment_addon_settings_post(&$a, &$b) +function qcomment_addon_settings_post(App $a, array &$b) { - if (! local_user()) { + if (!local_user()) { return; } diff --git a/randplace/randplace.php b/randplace/randplace.php index 69ad4d52..83270213 100644 --- a/randplace/randplace.php +++ b/randplace/randplace.php @@ -25,75 +25,67 @@ use Friendica\Core\Logger; use Friendica\Core\Renderer; use Friendica\DI; -function randplace_install() { - - /** - * +function randplace_install() +{ + /* * Our demo addon will attach in three places. * The first is just prior to storing a local post. - * */ - Hook::register('post_local', 'addon/randplace/randplace.php', 'randplace_post_hook'); - /** - * + /* * Then we'll attach into the addon settings page, and also the * settings post hook so that we can create and update * user preferences. - * */ - Hook::register('addon_settings', 'addon/randplace/randplace.php', 'randplace_settings'); Hook::register('addon_settings_post', 'addon/randplace/randplace.php', 'randplace_settings_post'); Logger::notice("installed randplace"); } - -function randplace_uninstall() { - - /** - * +function randplace_uninstall() +{ + /* * This function should undo anything that was done in name_install() * * Except hooks, they are all unregistered automatically and don't need to be unregistered manually. - * */ - Logger::notice("removed randplace"); } - - -function randplace_post_hook($a, &$item) { - - /** - * +function randplace_post_hook(App $a, &$item) +{ + /* * An item was posted on the local system. * We are going to look for specific items: * - A status post by a profile owner * - The profile owner must have allowed our addon - * */ - Logger::notice('randplace invoked'); - if(! local_user()) /* non-zero if this is a logged in user of this system */ + if (!local_user()) { + /* non-zero if this is a logged in user of this system */ return; + } - if(local_user() != $item['uid']) /* Does this person own the post? */ + if (local_user() != $item['uid']) { + /* Does this person own the post? */ return; + } - if($item['parent']) /* If the item has a parent, this is a comment or something else, not a status post. */ + if ($item['parent']) { + /* If the item has a parent, this is a comment or something else, not a status post. */ return; + } /* Retrieve our personal config setting */ $active = DI::pConfig()->get(local_user(), 'randplace', 'enable'); - if(! $active) + if (!$active) { return; + } /** * @@ -107,50 +99,46 @@ function randplace_post_hook($a, &$item) { $cities = []; $zones = timezone_identifiers_list(); foreach($zones as $zone) { - if((strpos($zone,'/')) && (! stristr($zone,'US/')) && (! stristr($zone,'Etc/'))) - $cities[] = str_replace('_', ' ',substr($zone,strpos($zone,'/') + 1)); + if ((strpos($zone, '/')) && (! stristr($zone, 'US/')) && (! stristr($zone, 'Etc/'))) { + $cities[] = str_replace('_', ' ',substr($zone, strpos($zone, '/') + 1)); + } } - if(! count($cities)) + if (!count($cities)) { return; + } + $city = array_rand($cities,1); $item['location'] = $cities[$city]; return; } - - - /** - * * Callback from the settings post function. * $post contains the $_POST array. * We will make sure we've got a valid user account * and if so set our configuration setting for this person. - * */ - -function randplace_settings_post($a,$post) { - if(! local_user()) +function randplace_settings_post(App $a, $post) +{ + if (!local_user()) { return; - if($_POST['randplace-submit']) - DI::pConfig()->set(local_user(),'randplace','enable',intval($_POST['randplace'])); + } + + if ($_POST['randplace-submit']) { + DI::pConfig()->set(local_user(), 'randplace', 'enable', intval($_POST['randplace'])); + } } /** - * * Called from the Addon Setting form. * Add our own settings info to the page. - * */ - - - function randplace_settings(App &$a, array &$data) { - if(! local_user()) { + if(!local_user()) { return; } diff --git a/rendertime/rendertime.php b/rendertime/rendertime.php index f433c3a4..8e4e6c21 100644 --- a/rendertime/rendertime.php +++ b/rendertime/rendertime.php @@ -7,6 +7,7 @@ * */ +use Friendica\App; use Friendica\Core\Hook; use Friendica\Core\Renderer; use Friendica\DI; @@ -16,14 +17,17 @@ function rendertime_install() { DI::config()->set('system', 'profiler', true); } -function rendertime_uninstall() { +function rendertime_uninstall() +{ DI::config()->delete('system', 'profiler'); } -function rendertime_init_1(&$a) { +function rendertime_init_1(App $a) +{ } -function rendertime_addon_admin(&$a, &$o) { +function rendertime_addon_admin(App $a, &$o) +{ $t = Renderer::getMarkupTemplate("admin.tpl", "addon/rendertime/"); $o = Renderer::replaceMacros($t, [ @@ -33,16 +37,17 @@ function rendertime_addon_admin(&$a, &$o) { ]); } -function rendertime_addon_admin_post(&$a) { +function rendertime_addon_admin_post(App $a) +{ DI::config()->set('rendertime', 'callstack', $_POST['callstack'] ?? false); DI::config()->set('rendertime', 'minimal_time', $_POST['minimal_time'] ?? 0); } /** - * @param Friendica\App $a + * @param App $a * @param string $o */ -function rendertime_page_end(Friendica\App $a, &$o) +function rendertime_page_end(App $a, &$o) { $profiler = DI::profiler(); diff --git a/s3_storage/s3_storage.php b/s3_storage/s3_storage.php index a60ec077..c4f68da9 100644 --- a/s3_storage/s3_storage.php +++ b/s3_storage/s3_storage.php @@ -14,7 +14,7 @@ use Friendica\DI; require_once __DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php'; -function s3_storage_install($a) +function s3_storage_install(App $a) { Hook::register('storage_instance' , __FILE__, 's3_storage_instance'); Hook::register('storage_config' , __FILE__, 's3_storage_config'); diff --git a/saml/saml.php b/saml/saml.php index 25a4ad37..dc25ae6d 100755 --- a/saml/saml.php +++ b/saml/saml.php @@ -5,6 +5,8 @@ * Version: 1.0 * Author: Ryan */ + +use Friendica\App; use Friendica\Content\Text\BBCode; use Friendica\Core\Hook; use Friendica\Core\Logger; @@ -14,6 +16,7 @@ use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\User; use Friendica\Util\Strings; +use OneLogin\Saml2\Utils; require_once(__DIR__ . '/vendor/autoload.php'); @@ -77,12 +80,12 @@ function saml_install() Hook::register('footer', __FILE__, 'saml_footer'); } -function saml_head(&$a, &$b) +function saml_head(App $a, array &$b) { DI::page()->registerStylesheet(__DIR__ . '/saml.css'); } -function saml_footer(&$a, &$b) +function saml_footer(App $a, array &$b) { $fragment = addslashes(BBCode::convert(DI::config()->get('saml', 'settings_statement'))); $b .= <<get('saml', 'idp_cert'); } -function saml_sso_initiate(&$a, &$b) +function saml_sso_initiate(App $a, array &$b) { if (!saml_is_configured()) { Logger::warning('SAML SSO tried to trigger, but the SAML addon is not configured yet!'); @@ -166,13 +169,12 @@ function saml_sso_reply($a) DI::auth()->setForUser($a, $user); } - if (isset($_POST['RelayState']) - && \OneLogin\Saml2\Utils::getSelfURL() != $_POST['RelayState']) { + if (isset($_POST['RelayState']) && Utils::getSelfURL() != $_POST['RelayState']) { $auth->redirectTo($_POST['RelayState']); } } -function saml_slo_initiate(&$a, &$b) +function saml_slo_initiate(App $a, array &$b) { if (!saml_is_configured()) { Logger::warning('SAML SLO tried to trigger, but the SAML addon is not configured yet!'); @@ -223,7 +225,7 @@ function saml_input($key, $label, $description) ]; } -function saml_addon_admin(&$a, &$o) +function saml_addon_admin(App $a, &$o) { $form = saml_input( @@ -279,7 +281,7 @@ function saml_addon_admin(&$a, &$o) $o = Renderer::replaceMacros($t, $form); } -function saml_addon_admin_post(&$a) +function saml_addon_admin_post(App $a) { $set = function ($key) { $val = (!empty($_POST[$key]) ? trim($_POST[$key]) : ''); diff --git a/showmore/showmore.php b/showmore/showmore.php index 945277ae..e7d53f8a 100644 --- a/showmore/showmore.php +++ b/showmore/showmore.php @@ -45,7 +45,7 @@ function showmore_addon_settings(App &$a, array &$data) ]; } -function showmore_addon_settings_post(&$a, &$b) +function showmore_addon_settings_post(App $a, array &$b) { if (!local_user()) { return; diff --git a/showmore_dyn/showmore_dyn.php b/showmore_dyn/showmore_dyn.php index 39dfa489..71ef0dc7 100644 --- a/showmore_dyn/showmore_dyn.php +++ b/showmore_dyn/showmore_dyn.php @@ -24,12 +24,12 @@ function showmore_dyn_install() Hook::register('addon_settings_post', __FILE__, 'showmore_dyn_settings_post'); } -function showmore_dyn_head(App $a, &$b) +function showmore_dyn_head(App $a, array &$b) { DI::page()->registerStylesheet(__DIR__ . '/showmore_dyn.css'); } -function showmore_dyn_footer(App $a, &$b) +function showmore_dyn_footer(App $a, array &$b) { DI::page()->registerFooterScript(__DIR__ . '/showmore_dyn.js'); } diff --git a/smiley_pack/lang/smiley_pack_es/smiley_pack_es.php b/smiley_pack/lang/smiley_pack_es/smiley_pack_es.php index 329b7282..34ee7697 100644 --- a/smiley_pack/lang/smiley_pack_es/smiley_pack_es.php +++ b/smiley_pack/lang/smiley_pack_es/smiley_pack_es.php @@ -6,6 +6,8 @@ * Author: Thomas Willingham (based on Mike Macgirvin's Adult Smile template) * All smileys from sites offering them as Public Domain */ + +use Friendica\App; use Friendica\Core\Hook; use Friendica\DI; @@ -13,7 +15,7 @@ function smiley_pack_es_install() { Hook::register('smilie', 'addon/smiley_pack_es/smiley_pack_es.php', 'smiley_pack_smilies_es'); } -function smiley_pack_smilies_es(&$a,&$b) { +function smiley_pack_smilies_es(App $a, array &$b) { #Smileys are split into various directories by the intended range of emotions. This is in case we get too big and need to modularise things. We can then cut and paste the right lines, move the right directory, and just change the name of the addon to happy_smilies or whatever. diff --git a/smiley_pack/lang/smiley_pack_fr/smiley_pack_fr.php b/smiley_pack/lang/smiley_pack_fr/smiley_pack_fr.php index bcefa7c3..9bdce46e 100644 --- a/smiley_pack/lang/smiley_pack_fr/smiley_pack_fr.php +++ b/smiley_pack/lang/smiley_pack_fr/smiley_pack_fr.php @@ -3,19 +3,23 @@ * Name: Smiley Pack (Français) * Description: Pack of smileys that make master too AOLish. * Version: 1.01 - * Author: Thomas Willingham (based on Mike Macgirvin's Adult Smile template) + * Author: Thomas Willingham (based on Mike Macgirvin's Adult Smile template) * All smileys from sites offering them as Public Domain - * - * + * + * */ + +use Friendica\App; use Friendica\Core\Hook; use Friendica\DI; -function smiley_pack_fr_install() { +function smiley_pack_fr_install() +{ Hook::register('smilie', 'addon/smiley_pack_fr/smiley_pack_fr.php', 'smiley_pack_fr_smilies'); } -function smiley_pack_fr_smilies(&$a,&$b) { +function smiley_pack_fr_smilies(App $a, array &$b) +{ #Smileys are split into various directories by the intended range of emotions. This is in case we get too big and need to modularise things. We can then cut and paste the right lines, move the right directory, and just change the name of the addon to happy_smilies or whatever. @@ -392,7 +396,7 @@ function smiley_pack_fr_smilies(&$a,&$b) { $b['texts'][] = ':cognetête'; $b['icons'][] = '' . ':cognetête' . ''; - $b['texts'][] = ':barbu'; + $b['texts'][] = ':barbu'; $b['icons'][] = '' . ':barbu' . ''; $b['texts'][] = ':barbeblanche'; @@ -400,5 +404,4 @@ function smiley_pack_fr_smilies(&$a,&$b) { $b['texts'][] = ':tête'; $b['icons'][] = '' . ':tête' . ''; - } diff --git a/smiley_pack/smiley_pack.php b/smiley_pack/smiley_pack.php index c8c19b96..d457ea8c 100644 --- a/smiley_pack/smiley_pack.php +++ b/smiley_pack/smiley_pack.php @@ -8,6 +8,7 @@ * All smileys from sites offering them as Public Domain */ +use Friendica\App; use Friendica\Core\Hook; use Friendica\DI; @@ -15,8 +16,8 @@ function smiley_pack_install() { Hook::register('smilie', 'addon/smiley_pack/smiley_pack.php', 'smiley_pack_smilies'); } -function smiley_pack_smilies(&$a,&$b) { - +function smiley_pack_smilies(App $a, array &$b) +{ #Smileys are split into various directories by the intended range of emotions. This is in case we get too big and need to modularise things. We can then cut and paste the right lines, move the right directory, and just change the name of the addon to happy_smilies or whatever. #Be careful with invocation strings. If you have a smiley called foo, and another called foobar, typing :foobar will call foo. Avoid this with clever naming, using ~ instead of : @@ -538,5 +539,4 @@ function smiley_pack_smilies(&$a,&$b) { $b['texts'][] = ':twitch:'; $b['icons'][] = '' . ':twitch:' . ''; - } diff --git a/smileybutton/smileybutton.php b/smileybutton/smileybutton.php index 1a1f1d63..dd68a8e2 100644 --- a/smileybutton/smileybutton.php +++ b/smileybutton/smileybutton.php @@ -7,6 +7,7 @@ * Maintainer: Hypolite Petovan */ +use Friendica\App; use Friendica\Core\Hook; use Friendica\DI; @@ -16,7 +17,7 @@ function smileybutton_install() Hook::register('jot_tool', 'addon/smileybutton/smileybutton.php', 'smileybutton_jot_tool'); } -function smileybutton_jot_tool(Friendica\App $a, &$b) +function smileybutton_jot_tool(App $a, string &$body) { // Disable if theme is quattro // TODO add style for quattro @@ -113,7 +114,7 @@ function smileybutton_jot_tool(Friendica\App $a, &$b) $image_url = DI::baseUrl()->get() . '/' . $image; //Add the hmtl and script to the page - $b = <<< EOT + $body = <<< EOT
diff --git a/smilies_adult/smilies_adult.php b/smilies_adult/smilies_adult.php index b55a0a2f..1994d915 100644 --- a/smilies_adult/smilies_adult.php +++ b/smilies_adult/smilies_adult.php @@ -8,6 +8,8 @@ * This is a template for how to extend the "smily" code. * */ + +use Friendica\App; use Friendica\Core\Hook; use Friendica\DI; @@ -15,8 +17,8 @@ function smilies_adult_install() { Hook::register('smilie', 'addon/smilies_adult/smilies_adult.php', 'smilies_adult_smilies'); } -function smilies_adult_smilies(&$a,&$b) { - +function smilies_adult_smilies(App $a, array &$b) +{ $b['texts'][] = '(o)(o)'; $b['icons'][] = '' . '(o)(o)' . ''; @@ -34,5 +36,4 @@ function smilies_adult_smilies(&$a,&$b) { $b['texts'][] = ':finger'; $b['icons'][] = '' . ':finger' . ''; - -} \ No newline at end of file +} diff --git a/startpage/startpage.php b/startpage/startpage.php index d72effde..1e5edeea 100644 --- a/startpage/startpage.php +++ b/startpage/startpage.php @@ -18,7 +18,7 @@ function startpage_install() { Hook::register('addon_settings_post', 'addon/startpage/startpage.php', 'startpage_settings_post'); } -function startpage_home_init($a, $b) +function startpage_home_init(App $a, $b) { if (!local_user()) { return; @@ -40,7 +40,7 @@ function startpage_home_init($a, $b) * */ -function startpage_settings_post($a, $post) +function startpage_settings_post(App $a, $post) { if (!local_user()) { return; diff --git a/statusnet/library/codebirdsn.php b/statusnet/library/codebirdsn.php index e5e281b9..020c69c4 100644 --- a/statusnet/library/codebirdsn.php +++ b/statusnet/library/codebirdsn.php @@ -1055,5 +1055,3 @@ class CodebirdSN return $parsed; } } - -?> diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index 66648893..a6b5fec8 100644 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -373,7 +373,7 @@ function statusnet_hook_fork(App $a, array &$b) } } -function statusnet_post_local(App $a, &$b) +function statusnet_post_local(App $a, array &$b) { if ($b['edit']) { return; @@ -430,7 +430,7 @@ function statusnet_action(App $a, $uid, $pid, $action) Logger::info('statusnet_action "' . $action . '" send, result: ' . print_r($result, true)); } -function statusnet_post_hook(App $a, &$b) +function statusnet_post_hook(App $a, array &$b) { /** * Post to GNU Social @@ -661,7 +661,7 @@ function statusnet_addon_admin(App $a, &$o) ]); } -function statusnet_prepare_body(App $a, &$b) +function statusnet_prepare_body(App $a, array &$b) { if ($b['item']['network'] != Protocol::STATUSNET) { return; @@ -753,7 +753,7 @@ function statusnet_cron(App $a, $b) DI::config()->set('statusnet', 'last_poll', time()); } -function statusnet_fetchtimeline(App $a, $uid) +function statusnet_fetchtimeline(App $a, int $uid) { $ckey = DI::pConfig()->get($uid, 'statusnet', 'consumerkey'); $csecret = DI::pConfig()->get($uid, 'statusnet', 'consumersecret'); @@ -1011,7 +1011,7 @@ function statusnet_fetchuser(App $a, $uid, $screen_name = '', $user_id = '') return $contact_id; } -function statusnet_createpost(App $a, $uid, $post, $self, $create_user, $only_existing_contact) +function statusnet_createpost(App $a, int $uid, $post, $self, $create_user, bool $only_existing_contact) { Logger::info('statusnet_createpost: start'); @@ -1415,7 +1415,7 @@ function statusnet_convertmsg(App $a, $body) return $body; } -function statusnet_fetch_own_contact(App $a, $uid) +function statusnet_fetch_own_contact(App $a, int $uid) { $ckey = DI::pConfig()->get($uid, 'statusnet', 'consumerkey'); $csecret = DI::pConfig()->get($uid, 'statusnet', 'consumersecret'); @@ -1450,7 +1450,7 @@ function statusnet_fetch_own_contact(App $a, $uid) return $contact_id; } -function statusnet_is_retweet(App $a, $uid, $body) +function statusnet_is_retweet(App $a, int $uid, string $body) { $body = trim($body); diff --git a/superblock/superblock.php b/superblock/superblock.php index 5c5cfcc3..dcc4242f 100644 --- a/superblock/superblock.php +++ b/superblock/superblock.php @@ -42,7 +42,7 @@ function superblock_addon_settings(App &$a, array &$data) ]; } -function superblock_addon_settings_post(&$a, &$b) +function superblock_addon_settings_post(App $a, array &$b) { if (!local_user()) { return; @@ -53,7 +53,8 @@ function superblock_addon_settings_post(&$a, &$b) } } -function superblock_enotify_store(&$a,&$b) { +function superblock_enotify_store(App $a, array &$b) +{ if (empty($b['uid'])) { return; } @@ -78,6 +79,7 @@ function superblock_enotify_store(&$a,&$b) { } } } + if ($found) { // Empty out the fields $b = []; @@ -85,7 +87,7 @@ function superblock_enotify_store(&$a,&$b) { } -function superblock_conversation_start(&$a, &$b) +function superblock_conversation_start(App $a, array &$b) { if (!local_user()) { return; @@ -95,8 +97,8 @@ function superblock_conversation_start(&$a, &$b) if ($words) { $a->data['superblock'] = explode(',', $words); } - DI::page()['htmlhead'] .= <<< EOT + DI::page()['htmlhead'] .= <<< EOT - EOT; } -function superblock_item_photo_menu(&$a, &$b) +function superblock_item_photo_menu(App $a, array &$b) { if (!local_user() || $b['item']['self']) { return; @@ -129,10 +130,14 @@ function superblock_item_photo_menu(&$a, &$b) $b['menu'][DI::l10n()->t('Block Completely')] = 'javascript:superblockBlock(\'' . $author . '\'); return false;'; } +/** + * This is a statement rather than an actual function definition. The simple + * existence of this method is checked to figure out if the addon offers a + * module. + */ function superblock_module() {} - -function superblock_init(&$a) +function superblock_init(App $a) { if (!local_user()) { return; diff --git a/testdrive/testdrive.php b/testdrive/testdrive.php index 042edcc9..94e63dda 100644 --- a/testdrive/testdrive.php +++ b/testdrive/testdrive.php @@ -16,14 +16,13 @@ use Friendica\Model\User; use Friendica\Core\Config\Util\ConfigFileLoader; use Friendica\Util\DateTimeFormat; -function testdrive_install() { - +function testdrive_install() +{ Hook::register('load_config', 'addon/testdrive/testdrive.php', 'testdrive_load_config'); Hook::register('register_account', 'addon/testdrive/testdrive.php', 'testdrive_register_account'); Hook::register('cron', 'addon/testdrive/testdrive.php', 'testdrive_cron'); Hook::register('enotify','addon/testdrive/testdrive.php', 'testdrive_enotify'); Hook::register('globaldir_update','addon/testdrive/testdrive.php', 'testdrive_globaldir_update'); - } function testdrive_load_config(App $a, ConfigFileLoader $loader) @@ -31,26 +30,30 @@ function testdrive_load_config(App $a, ConfigFileLoader $loader) $a->getConfigCache()->load($loader->loadAddonConfig('testdrive')); } -function testdrive_globaldir_update($a,&$b) { +function testdrive_globaldir_update(App $a, array &$b) +{ $b['url'] = ''; } -function testdrive_register_account($a,$b) { - +function testdrive_register_account(App $a, $b) +{ $uid = $b; $days = DI::config()->get('testdrive','expiredays'); - if(! $days) + if (!$days) { return; + } DBA::update('user', ['account_expires_on' => DateTimeFormat::convert('now +' . $days . ' days')], ['uid' => $uid]); -}; +} -function testdrive_cron($a,$b) { +function testdrive_cron(App $a, $b) +{ $users = DBA::selectToArray('user', [], ["`account_expires_on` < ? AND `expire_notification_sent` <= ?", - DateTimeFormat::utc('now + 5 days'), DBA::NULL_DATETIME]); - foreach($users as $rr) { + DateTimeFormat::utc('now + 5 days'), DBA::NULL_DATETIME]); + + foreach ($users as $rr) { DI::notify()->createFromArray([ 'type' => Notification\Type::SYSTEM, 'uid' => $rr['uid'], @@ -69,12 +72,13 @@ function testdrive_cron($a,$b) { } } -function testdrive_enotify(&$a, &$b) { - if (!empty($b['params']) && $b['params']['type'] == Notification\Type::SYSTEM +function testdrive_enotify(App $a, array &$b) +{ + if (!empty($b['params']) && $b['params']['type'] == Notification\Type::SYSTEM && !empty($b['params']['system_type']) && $b['params']['system_type'] === 'testdrive_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')); - $b['subject'] = DI::l10n()->t('Your Friendica test account is about to expire.'); - $b['body'] = DI::l10n()->t("Hi %1\$s,\n\nYour test account on %2\$s will expire in less than five days. We hope you enjoyed this test drive and use this opportunity to find a permanent Friendica website for your integrated social communications. A list of public sites is available at %s/siteinfo - and for more information on setting up your own Friendica server please see the Friendica project website at https://friendi.ca.", $b['params']['to_name'], "[url=".DI::config()->get('system', 'url')."]".DI::config()->get('config', 'sitename')."[/url]", Search::getGlobalDirectory()); - } + $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')); + $b['subject'] = DI::l10n()->t('Your Friendica test account is about to expire.'); + $b['body'] = DI::l10n()->t("Hi %1\$s,\n\nYour test account on %2\$s will expire in less than five days. We hope you enjoyed this test drive and use this opportunity to find a permanent Friendica website for your integrated social communications. A list of public sites is available at %s/siteinfo - and for more information on setting up your own Friendica server please see the Friendica project website at https://friendi.ca.", $b['params']['to_name'], "[url=".DI::config()->get('system', 'url')."]".DI::config()->get('config', 'sitename')."[/url]", Search::getGlobalDirectory()); + } } diff --git a/tictac/tictac.php b/tictac/tictac.php index 4d3a46b4..3105e284 100644 --- a/tictac/tictac.php +++ b/tictac/tictac.php @@ -5,27 +5,29 @@ * Version: 1.0 * Author: Mike Macgirvin */ + +use Friendica\App; use Friendica\Core\Hook; use Friendica\DI; -function tictac_install() { +function tictac_install() +{ Hook::register('app_menu', 'addon/tictac/tictac.php', 'tictac_app_menu'); } -function tictac_app_menu($a,&$b) { +function tictac_app_menu(App $a, array &$b) +{ $b['app_menu'][] = ''; } +/** + * This is a statement rather than an actual function definition. The simple + * existence of this method is checked to figure out if the addon offers a + * module. + */ +function tictac_module() {} -function tictac_module() { - return; -} - - - - - -function tictac_content(&$a) { +function tictac_content(App $a) { $o = ''; diff --git a/tumblr/tumblr.php b/tumblr/tumblr.php index 5ae0dd1b..74f24099 100644 --- a/tumblr/tumblr.php +++ b/tumblr/tumblr.php @@ -29,13 +29,16 @@ function tumblr_install() Hook::register('connector_settings_post', 'addon/tumblr/tumblr.php', 'tumblr_settings_post'); } -function tumblr_module() -{ -} +/** + * This is a statement rather than an actual function definition. The simple + * existence of this method is checked to figure out if the addon offers a + * module. + */ +function tumblr_module() {} function tumblr_content(App $a) { - if (! local_user()) { + if (!local_user()) { notice(DI::l10n()->t('Permission denied.') . EOL); return ''; } @@ -182,7 +185,7 @@ function tumblr_callback(App $a) function tumblr_jot_nets(App $a, array &$jotnets_fields) { - if (! local_user()) { + if (!local_user()) { return; } @@ -257,7 +260,7 @@ function tumblr_settings_post(App $a, array &$b) } } -function tumblr_hook_fork(&$a, &$b) +function tumblr_hook_fork(App $a, array &$b) { if ($b['name'] != 'notifier_normal') { return; diff --git a/twitter/twitter.php b/twitter/twitter.php index 458677ce..3ed2a030 100644 --- a/twitter/twitter.php +++ b/twitter/twitter.php @@ -1149,7 +1149,7 @@ function twitter_parse_link(App $a, array &$b) * * @return array item data to be posted */ -function twitter_do_mirrorpost(App $a, $uid, $post) +function twitter_do_mirrorpost(App $a, int $uid, $post) { $datarray['uid'] = $uid; $datarray['extid'] = 'twitter::' . $post->id; @@ -1196,7 +1196,7 @@ function twitter_do_mirrorpost(App $a, $uid, $post) return $datarray; } -function twitter_fetchtimeline(App $a, $uid) +function twitter_fetchtimeline(App $a, int $uid) { $ckey = DI::config()->get('twitter', 'consumerkey'); $csecret = DI::config()->get('twitter', 'consumersecret'); @@ -1592,16 +1592,16 @@ function twitter_expand_entities($body, stdClass $status) /** * Store entity attachments * - * @param integer $uriid + * @param integer $uriId * @param object $post Twitter object with the post */ -function twitter_store_attachments(int $uriid, $post) +function twitter_store_attachments(int $uriId, $post) { if (!empty($post->extended_entities->media)) { foreach ($post->extended_entities->media AS $medium) { switch ($medium->type) { case 'photo': - $attachment = ['uri-id' => $uriid, 'type' => Post\Media::IMAGE]; + $attachment = ['uri-id' => $uriId, 'type' => Post\Media::IMAGE]; $attachment['url'] = $medium->media_url_https . '?name=large'; $attachment['width'] = $medium->sizes->large->w; @@ -1620,7 +1620,7 @@ function twitter_store_attachments(int $uriid, $post) break; case 'video': case 'animated_gif': - $attachment = ['uri-id' => $uriid, 'type' => Post\Media::VIDEO]; + $attachment = ['uri-id' => $uriId, 'type' => Post\Media::VIDEO]; if (is_array($medium->video_info->variants)) { $bitrate = 0; // We take the video with the highest bitrate @@ -1648,7 +1648,7 @@ function twitter_store_attachments(int $uriid, $post) if (!empty($post->entities->urls)) { foreach ($post->entities->urls as $url) { - $attachment = ['uri-id' => $uriid, 'type' => Post\Media::UNKNOWN, 'url' => $url->expanded_url, 'name' => $url->display_url]; + $attachment = ['uri-id' => $uriId, 'type' => Post\Media::UNKNOWN, 'url' => $url->expanded_url, 'name' => $url->display_url]; Logger::debug('Attached link', ['attachment' => $attachment]); Post\Media::insert($attachment); } @@ -1660,9 +1660,9 @@ function twitter_store_attachments(int $uriid, $post) * * @param object $post Twitter object with the post * @param array $postarray Array of the item that is about to be posted - * @param integer $uriid URI Id used to store tags. -1 = don't store tags for this post. + * @param integer $uriId URI Id used to store tags. -1 = don't store tags for this post. */ -function twitter_media_entities($post, array &$postarray, int $uriid = -1) +function twitter_media_entities($post, array &$postarray, int $uriId = -1) { // There are no media entities? So we quit. if (empty($post->extended_entities->media)) { @@ -1714,7 +1714,7 @@ function twitter_media_entities($post, array &$postarray, int $uriid = -1) } } - if ($uriid != -1) { + if ($uriId != -1) { foreach ($media AS $key => $value) { $postarray['body'] = str_replace($key, '', $postarray['body']); } @@ -1737,10 +1737,10 @@ function twitter_media_entities($post, array &$postarray, int $uriid = -1) * @param bool $create_user Should users be created? * @param bool $only_existing_contact Only import existing contacts if set to "true" * @param bool $noquote - * @param integer $uriid URI Id used to store tags. 0 = create a new one; -1 = don't store tags for this post. + * @param integer $uriId URI Id used to store tags. 0 = create a new one; -1 = don't store tags for this post. * @return array item array */ -function twitter_createpost(App $a, $uid, $post, array $self, $create_user, $only_existing_contact, $noquote, int $uriid = 0) +function twitter_createpost(App $a, int $uid, $post, array $self, $create_user, bool $only_existing_contact, bool $noquote, int $uriId = 0): array { $postarray = []; $postarray['network'] = Protocol::TWITTER; @@ -1751,8 +1751,8 @@ function twitter_createpost(App $a, $uid, $post, array $self, $create_user, $onl $postarray['source'] = json_encode($post); $postarray['direction'] = Conversation::PULL; - if (empty($uriid)) { - $uriid = $postarray['uri-id'] = ItemURI::insert(['uri' => $postarray['uri']]); + if (empty($uriId)) { + $uriId = $postarray['uri-id'] = ItemURI::insert(['uri' => $postarray['uri']]); } // Don't import our own comments @@ -1845,7 +1845,7 @@ function twitter_createpost(App $a, $uid, $post, array $self, $create_user, $onl } // Search for media links - twitter_media_entities($post, $postarray, $uriid); + twitter_media_entities($post, $postarray, $uriId); $converted = twitter_expand_entities($postarray['body'], $post); @@ -1858,9 +1858,9 @@ function twitter_createpost(App $a, $uid, $post, array $self, $create_user, $onl $postarray['created'] = DateTimeFormat::utc($post->created_at); $postarray['edited'] = DateTimeFormat::utc($post->created_at); - if ($uriid > 0) { - twitter_store_tags($uriid, $converted['taglist']); - twitter_store_attachments($uriid, $post); + if ($uriId > 0) { + twitter_store_tags($uriId, $converted['taglist']); + twitter_store_attachments($uriId, $post); } if (!empty($post->place->name)) { @@ -1916,7 +1916,7 @@ function twitter_createpost(App $a, $uid, $post, array $self, $create_user, $onl if (!empty($quoted['body'])) { Item::insert($quoted); $post = Post::selectFirst(['guid', 'uri-id'], ['uri' => $quoted['uri'], 'uid' => 0]); - Logger::info('Stored quoted post', ['uid' => $uid, 'uri-id' => $uriid, 'post' => $post]); + Logger::info('Stored quoted post', ['uid' => $uid, 'uri-id' => $uriId, 'post' => $post]); $postarray['body'] .= "\n" . BBCode::getShareOpeningTag( $quoted['author-name'], @@ -1941,17 +1941,18 @@ function twitter_createpost(App $a, $uid, $post, array $self, $create_user, $onl /** * Store tags and mentions * - * @param integer $uriid + * @param integer $uriId * @param array $taglist + * @return void */ -function twitter_store_tags(int $uriid, array $taglist) +function twitter_store_tags(int $uriId, array $taglist) { foreach ($taglist as $tag) { - Tag::storeByHash($uriid, $tag[0], $tag[1], $tag[2]); + Tag::storeByHash($uriId, $tag[0], $tag[1], $tag[2]); } } -function twitter_fetchparentposts(App $a, $uid, $post, TwitterOAuth $connection, array $self) +function twitter_fetchparentposts(App $a, int $uid, $post, TwitterOAuth $connection, array $self) { Logger::info('Fetching parent posts', ['user' => $uid, 'post' => $post->id_str]); @@ -2003,7 +2004,7 @@ function twitter_fetchparentposts(App $a, $uid, $post, TwitterOAuth $connection, } } -function twitter_fetchhometimeline(App $a, $uid) +function twitter_fetchhometimeline(App $a, int $uid) { $ckey = DI::config()->get('twitter', 'consumerkey'); $csecret = DI::config()->get('twitter', 'consumersecret'); @@ -2192,7 +2193,7 @@ function twitter_fetchhometimeline(App $a, $uid) Logger::info('Last mentions ID for user ' . $uid . ' is now ' . $lastid); } -function twitter_fetch_own_contact(App $a, $uid) +function twitter_fetch_own_contact(App $a, int $uid) { $ckey = DI::config()->get('twitter', 'consumerkey'); $csecret = DI::config()->get('twitter', 'consumersecret'); @@ -2228,7 +2229,7 @@ function twitter_fetch_own_contact(App $a, $uid) return $contact_id; } -function twitter_is_retweet(App $a, $uid, $body) +function twitter_is_retweet(App $a, int $uid, string $body): bool { $body = trim($body); @@ -2267,7 +2268,7 @@ function twitter_is_retweet(App $a, $uid, $body) return twitter_retweet($uid, $id); } -function twitter_retweet(int $uid, int $id, int $item_id = 0) +function twitter_retweet(int $uid, int $id, int $item_id = 0): bool { Logger::info('Retweeting', ['user' => $uid, 'id' => $id]); @@ -2283,7 +2284,7 @@ function twitter_retweet(int $uid, int $id, int $item_id = 0) return !isset($result->errors); } -function twitter_update_mentions($body) +function twitter_update_mentions(string $body): string { $URLSearchString = '^\[\]'; $return = preg_replace_callback( @@ -2303,7 +2304,7 @@ function twitter_update_mentions($body) return $return; } -function twitter_convert_share(array $attributes, array $author_contact, $content, $is_quote_share) +function twitter_convert_share(array $attributes, array $author_contact, string $content, bool $is_quote_share): string { if (empty($author_contact)) { return $content . "\n\n" . $attributes['link']; diff --git a/unicode_smilies/unicode_smilies.php b/unicode_smilies/unicode_smilies.php index 45c2351a..1ff405ba 100644 --- a/unicode_smilies/unicode_smilies.php +++ b/unicode_smilies/unicode_smilies.php @@ -6,6 +6,8 @@ * Author: Michael Vogel * Author: Matthias Ebers */ + +use Friendica\App; use Friendica\Content\Smilies; use Friendica\Core\Hook; @@ -13,7 +15,8 @@ function unicode_smilies_install() { Hook::register('smilie', 'addon/unicode_smilies/unicode_smilies.php', 'unicode_smilies_smilies'); } -function unicode_smilies_smilies(&$a,&$b) { +function unicode_smilies_smilies(App $a, array &$b) +{ Smilies::add($b, ':-)', '😀'); Smilies::add($b, ':)', '😀'); Smilies::add($b, ':-(', '🙁'); diff --git a/viewsrc/viewsrc.php b/viewsrc/viewsrc.php index 445d8ee5..48029835 100644 --- a/viewsrc/viewsrc.php +++ b/viewsrc/viewsrc.php @@ -6,6 +6,8 @@ * Author: Mike Macgirvin * */ + +use Friendica\App; use Friendica\Core\Hook; use Friendica\DI; @@ -14,7 +16,7 @@ function viewsrc_install() { Hook::register('page_end', 'addon/viewsrc/viewsrc.php', 'viewsrc_page_end'); } -function viewsrc_page_end(&$a, &$o){ +function viewsrc_page_end(App $a, &$o){ DI::page()['htmlhead'] .= <<< EOS