mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2025-06-07 09:54:27 +02:00
Replace all functions from boot.php
This commit is contained in:
parent
5f1028a535
commit
5d8129600d
45 changed files with 577 additions and 535 deletions
|
@ -47,6 +47,7 @@ use Friendica\Core\Hook;
|
|||
use Friendica\Core\Logger;
|
||||
use Friendica\Core\Protocol;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Core\Session;
|
||||
use Friendica\Core\System;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
|
@ -86,17 +87,17 @@ function statusnet_check_item_notification(App $a, &$notification_data)
|
|||
|
||||
function statusnet_jot_nets(App $a, array &$jotnets_fields)
|
||||
{
|
||||
if (!local_user()) {
|
||||
if (!Session::getLocalUser()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (DI::pConfig()->get(local_user(), 'statusnet', 'post')) {
|
||||
if (DI::pConfig()->get(Session::getLocalUser(), 'statusnet', 'post')) {
|
||||
$jotnets_fields[] = [
|
||||
'type' => 'checkbox',
|
||||
'field' => [
|
||||
'statusnet_enable',
|
||||
DI::l10n()->t('Post to GNU Social'),
|
||||
DI::pConfig()->get(local_user(), 'statusnet', 'post_by_default')
|
||||
DI::pConfig()->get(Session::getLocalUser(), 'statusnet', 'post_by_default')
|
||||
]
|
||||
];
|
||||
}
|
||||
|
@ -104,7 +105,7 @@ function statusnet_jot_nets(App $a, array &$jotnets_fields)
|
|||
|
||||
function statusnet_settings_post(App $a, $post)
|
||||
{
|
||||
if (!local_user()) {
|
||||
if (!Session::getLocalUser()) {
|
||||
return;
|
||||
}
|
||||
// don't check GNU Social settings if GNU Social submit button is not clicked
|
||||
|
@ -116,18 +117,18 @@ function statusnet_settings_post(App $a, $post)
|
|||
/* * *
|
||||
* if the GNU Social-disconnect button is clicked, clear the GNU Social configuration
|
||||
*/
|
||||
DI::pConfig()->delete(local_user(), 'statusnet', 'consumerkey');
|
||||
DI::pConfig()->delete(local_user(), 'statusnet', 'consumersecret');
|
||||
DI::pConfig()->delete(local_user(), 'statusnet', 'post');
|
||||
DI::pConfig()->delete(local_user(), 'statusnet', 'post_by_default');
|
||||
DI::pConfig()->delete(local_user(), 'statusnet', 'oauthtoken');
|
||||
DI::pConfig()->delete(local_user(), 'statusnet', 'oauthsecret');
|
||||
DI::pConfig()->delete(local_user(), 'statusnet', 'baseapi');
|
||||
DI::pConfig()->delete(local_user(), 'statusnet', 'lastid');
|
||||
DI::pConfig()->delete(local_user(), 'statusnet', 'mirror_posts');
|
||||
DI::pConfig()->delete(local_user(), 'statusnet', 'import');
|
||||
DI::pConfig()->delete(local_user(), 'statusnet', 'create_user');
|
||||
DI::pConfig()->delete(local_user(), 'statusnet', 'own_url');
|
||||
DI::pConfig()->delete(Session::getLocalUser(), 'statusnet', 'consumerkey');
|
||||
DI::pConfig()->delete(Session::getLocalUser(), 'statusnet', 'consumersecret');
|
||||
DI::pConfig()->delete(Session::getLocalUser(), 'statusnet', 'post');
|
||||
DI::pConfig()->delete(Session::getLocalUser(), 'statusnet', 'post_by_default');
|
||||
DI::pConfig()->delete(Session::getLocalUser(), 'statusnet', 'oauthtoken');
|
||||
DI::pConfig()->delete(Session::getLocalUser(), 'statusnet', 'oauthsecret');
|
||||
DI::pConfig()->delete(Session::getLocalUser(), 'statusnet', 'baseapi');
|
||||
DI::pConfig()->delete(Session::getLocalUser(), 'statusnet', 'lastid');
|
||||
DI::pConfig()->delete(Session::getLocalUser(), 'statusnet', 'mirror_posts');
|
||||
DI::pConfig()->delete(Session::getLocalUser(), 'statusnet', 'import');
|
||||
DI::pConfig()->delete(Session::getLocalUser(), 'statusnet', 'create_user');
|
||||
DI::pConfig()->delete(Session::getLocalUser(), 'statusnet', 'own_url');
|
||||
} else {
|
||||
if (isset($_POST['statusnet-preconf-apiurl'])) {
|
||||
/* * *
|
||||
|
@ -141,10 +142,10 @@ function statusnet_settings_post(App $a, $post)
|
|||
$apibase = $asn['apiurl'];
|
||||
$c = DI::httpClient()->fetch($apibase . 'statusnet/version.xml');
|
||||
if (strlen($c) > 0) {
|
||||
DI::pConfig()->set(local_user(), 'statusnet', 'consumerkey', $asn['consumerkey']);
|
||||
DI::pConfig()->set(local_user(), 'statusnet', 'consumersecret', $asn['consumersecret']);
|
||||
DI::pConfig()->set(local_user(), 'statusnet', 'baseapi', $asn['apiurl']);
|
||||
//DI::pConfig()->set(local_user(), 'statusnet', 'application_name', $asn['applicationname'] );
|
||||
DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'consumerkey', $asn['consumerkey']);
|
||||
DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'consumersecret', $asn['consumersecret']);
|
||||
DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'baseapi', $asn['apiurl']);
|
||||
//DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'application_name', $asn['applicationname'] );
|
||||
} else {
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Please contact your site administrator.<br />The provided API URL is not valid.') . '<br />' . $asn['apiurl']);
|
||||
}
|
||||
|
@ -159,19 +160,19 @@ function statusnet_settings_post(App $a, $post)
|
|||
$c = DI::httpClient()->fetch($apibase . 'statusnet/version.xml');
|
||||
if (strlen($c) > 0) {
|
||||
// ok the API path is correct, let's save the settings
|
||||
DI::pConfig()->set(local_user(), 'statusnet', 'consumerkey', $_POST['statusnet-consumerkey']);
|
||||
DI::pConfig()->set(local_user(), 'statusnet', 'consumersecret', $_POST['statusnet-consumersecret']);
|
||||
DI::pConfig()->set(local_user(), 'statusnet', 'baseapi', $apibase);
|
||||
//DI::pConfig()->set(local_user(), 'statusnet', 'application_name', $_POST['statusnet-applicationname'] );
|
||||
DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'consumerkey', $_POST['statusnet-consumerkey']);
|
||||
DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'consumersecret', $_POST['statusnet-consumersecret']);
|
||||
DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'baseapi', $apibase);
|
||||
//DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'application_name', $_POST['statusnet-applicationname'] );
|
||||
} else {
|
||||
// the API path is not correct, maybe missing trailing / ?
|
||||
$apibase = $apibase . '/';
|
||||
$c = DI::httpClient()->fetch($apibase . 'statusnet/version.xml');
|
||||
if (strlen($c) > 0) {
|
||||
// ok the API path is now correct, let's save the settings
|
||||
DI::pConfig()->set(local_user(), 'statusnet', 'consumerkey', $_POST['statusnet-consumerkey']);
|
||||
DI::pConfig()->set(local_user(), 'statusnet', 'consumersecret', $_POST['statusnet-consumersecret']);
|
||||
DI::pConfig()->set(local_user(), 'statusnet', 'baseapi', $apibase);
|
||||
DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'consumerkey', $_POST['statusnet-consumerkey']);
|
||||
DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'consumersecret', $_POST['statusnet-consumersecret']);
|
||||
DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'baseapi', $apibase);
|
||||
} else {
|
||||
// still not the correct API base, let's do noting
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('We could not contact the GNU Social API with the Path you entered.'));
|
||||
|
@ -180,31 +181,31 @@ function statusnet_settings_post(App $a, $post)
|
|||
} else {
|
||||
if (isset($_POST['statusnet-pin'])) {
|
||||
// if the user supplied us with a PIN from GNU Social, let the magic of OAuth happen
|
||||
$api = DI::pConfig()->get(local_user(), 'statusnet', 'baseapi');
|
||||
$ckey = DI::pConfig()->get(local_user(), 'statusnet', 'consumerkey');
|
||||
$csecret = DI::pConfig()->get(local_user(), 'statusnet', 'consumersecret');
|
||||
$api = DI::pConfig()->get(Session::getLocalUser(), 'statusnet', 'baseapi');
|
||||
$ckey = DI::pConfig()->get(Session::getLocalUser(), 'statusnet', 'consumerkey');
|
||||
$csecret = DI::pConfig()->get(Session::getLocalUser(), 'statusnet', 'consumersecret');
|
||||
// the token and secret for which the PIN was generated were hidden in the settings
|
||||
// form as token and token2, we need a new connection to GNU Social using these token
|
||||
// and secret to request a Access Token with the PIN
|
||||
$connection = new StatusNetOAuth($api, $ckey, $csecret, $_POST['statusnet-token'], $_POST['statusnet-token2']);
|
||||
$token = $connection->getAccessToken($_POST['statusnet-pin']);
|
||||
// ok, now that we have the Access Token, save them in the user config
|
||||
DI::pConfig()->set(local_user(), 'statusnet', 'oauthtoken', $token['oauth_token']);
|
||||
DI::pConfig()->set(local_user(), 'statusnet', 'oauthsecret', $token['oauth_token_secret']);
|
||||
DI::pConfig()->set(local_user(), 'statusnet', 'post', 1);
|
||||
DI::pConfig()->set(local_user(), 'statusnet', 'post_taglinks', 1);
|
||||
DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'oauthtoken', $token['oauth_token']);
|
||||
DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'oauthsecret', $token['oauth_token_secret']);
|
||||
DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'post', 1);
|
||||
DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'post_taglinks', 1);
|
||||
// reload the Addon Settings page, if we don't do it see Bug #42
|
||||
} else {
|
||||
// if no PIN is supplied in the POST variables, the user has changed the setting
|
||||
// to post a dent for every new __public__ posting to the wall
|
||||
DI::pConfig()->set(local_user(), 'statusnet', 'post', intval($_POST['statusnet-enable']));
|
||||
DI::pConfig()->set(local_user(), 'statusnet', 'post_by_default', intval($_POST['statusnet-default']));
|
||||
DI::pConfig()->set(local_user(), 'statusnet', 'mirror_posts', intval($_POST['statusnet-mirror']));
|
||||
DI::pConfig()->set(local_user(), 'statusnet', 'import', intval($_POST['statusnet-import']));
|
||||
DI::pConfig()->set(local_user(), 'statusnet', 'create_user', intval($_POST['statusnet-create_user']));
|
||||
DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'post', intval($_POST['statusnet-enable']));
|
||||
DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'post_by_default', intval($_POST['statusnet-default']));
|
||||
DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'mirror_posts', intval($_POST['statusnet-mirror']));
|
||||
DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'import', intval($_POST['statusnet-import']));
|
||||
DI::pConfig()->set(Session::getLocalUser(), 'statusnet', 'create_user', intval($_POST['statusnet-create_user']));
|
||||
|
||||
if (!intval($_POST['statusnet-mirror']))
|
||||
DI::pConfig()->delete(local_user(), 'statusnet', 'lastid');
|
||||
DI::pConfig()->delete(Session::getLocalUser(), 'statusnet', 'lastid');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -213,7 +214,7 @@ function statusnet_settings_post(App $a, $post)
|
|||
|
||||
function statusnet_settings(App $a, array &$data)
|
||||
{
|
||||
if (!local_user()) {
|
||||
if (!Session::getLocalUser()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -225,16 +226,16 @@ function statusnet_settings(App $a, array &$data)
|
|||
* allow the user to cancel the connection process at this step
|
||||
* 3) Checkbox for "Send public notices (respect size limitation)
|
||||
*/
|
||||
$baseapi = DI::pConfig()->get(local_user(), 'statusnet', 'baseapi');
|
||||
$ckey = DI::pConfig()->get(local_user(), 'statusnet', 'consumerkey');
|
||||
$csecret = DI::pConfig()->get(local_user(), 'statusnet', 'consumersecret');
|
||||
$otoken = DI::pConfig()->get(local_user(), 'statusnet', 'oauthtoken');
|
||||
$osecret = DI::pConfig()->get(local_user(), 'statusnet', 'oauthsecret');
|
||||
$enabled = DI::pConfig()->get(local_user(), 'statusnet', 'post', false);
|
||||
$def_enabled = DI::pConfig()->get(local_user(), 'statusnet', 'post_by_default', false);
|
||||
$mirror_enabled = DI::pConfig()->get(local_user(), 'statusnet', 'mirror_posts', false);
|
||||
$createuser_enabled = DI::pConfig()->get(local_user(), 'statusnet', 'create_user', false);
|
||||
$import = DI::pConfig()->get(local_user(), 'statusnet', 'import');
|
||||
$baseapi = DI::pConfig()->get(Session::getLocalUser(), 'statusnet', 'baseapi');
|
||||
$ckey = DI::pConfig()->get(Session::getLocalUser(), 'statusnet', 'consumerkey');
|
||||
$csecret = DI::pConfig()->get(Session::getLocalUser(), 'statusnet', 'consumersecret');
|
||||
$otoken = DI::pConfig()->get(Session::getLocalUser(), 'statusnet', 'oauthtoken');
|
||||
$osecret = DI::pConfig()->get(Session::getLocalUser(), 'statusnet', 'oauthsecret');
|
||||
$enabled = DI::pConfig()->get(Session::getLocalUser(), 'statusnet', 'post', false);
|
||||
$def_enabled = DI::pConfig()->get(Session::getLocalUser(), 'statusnet', 'post_by_default', false);
|
||||
$mirror_enabled = DI::pConfig()->get(Session::getLocalUser(), 'statusnet', 'mirror_posts', false);
|
||||
$createuser_enabled = DI::pConfig()->get(Session::getLocalUser(), 'statusnet', 'create_user', false);
|
||||
$import = DI::pConfig()->get(Session::getLocalUser(), 'statusnet', 'import');
|
||||
|
||||
// Radio button list to select existing application credentials
|
||||
$sites = array_map(function ($site) {
|
||||
|
@ -256,7 +257,7 @@ function statusnet_settings(App $a, array &$data)
|
|||
$connected_account = DI::l10n()->t('Currently connected to: <a href="%s" target="_statusnet">%s</a>', $account->statusnet_profile_url, $account->screen_name);
|
||||
}
|
||||
|
||||
$user = User::getById(local_user());
|
||||
$user = User::getById(Session::getLocalUser());
|
||||
if ($user['hidewall']) {
|
||||
$privacy_warning = DI::l10n()->t('<strong>Note</strong>: Due your privacy settings (<em>Hide your profile details from unknown viewers?</em>) the link potentially included in public postings relayed to GNU Social will lead the visitor to a blank page informing the visitor that the access to your profile has been restricted.');
|
||||
}
|
||||
|
@ -379,15 +380,15 @@ function statusnet_post_local(App $a, array &$b)
|
|||
return;
|
||||
}
|
||||
|
||||
if (!local_user() || (local_user() != $b['uid'])) {
|
||||
if (!Session::getLocalUser() || (Session::getLocalUser() != $b['uid'])) {
|
||||
return;
|
||||
}
|
||||
|
||||
$statusnet_post = DI::pConfig()->get(local_user(), 'statusnet', 'post');
|
||||
$statusnet_post = DI::pConfig()->get(Session::getLocalUser(), 'statusnet', 'post');
|
||||
$statusnet_enable = (($statusnet_post && !empty($_REQUEST['statusnet_enable'])) ? intval($_REQUEST['statusnet_enable']) : 0);
|
||||
|
||||
// if API is used, default to the chosen settings
|
||||
if ($b['api_source'] && intval(DI::pConfig()->get(local_user(), 'statusnet', 'post_by_default'))) {
|
||||
if ($b['api_source'] && intval(DI::pConfig()->get(Session::getLocalUser(), 'statusnet', 'post_by_default'))) {
|
||||
$statusnet_enable = 1;
|
||||
}
|
||||
|
||||
|
@ -668,7 +669,7 @@ function statusnet_prepare_body(App $a, array &$b)
|
|||
}
|
||||
|
||||
if ($b['preview']) {
|
||||
$max_char = DI::pConfig()->get(local_user(), 'statusnet', 'max_char');
|
||||
$max_char = DI::pConfig()->get(Session::getLocalUser(), 'statusnet', 'max_char');
|
||||
if (intval($max_char) == 0) {
|
||||
$max_char = 140;
|
||||
}
|
||||
|
@ -676,7 +677,7 @@ function statusnet_prepare_body(App $a, array &$b)
|
|||
$item = $b['item'];
|
||||
$item['plink'] = DI::baseUrl()->get() . '/display/' . $item['guid'];
|
||||
|
||||
$condition = ['uri' => $item['thr-parent'], 'uid' => local_user()];
|
||||
$condition = ['uri' => $item['thr-parent'], 'uid' => Session::getLocalUser()];
|
||||
$orig_post = Post::selectFirst(['author-link', 'uri'], $condition);
|
||||
if (DBA::isResult($orig_post)) {
|
||||
$nick = preg_replace("=https?://(.*)/(.*)=ism", "$2", $orig_post['author-link']);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue