X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=jappixmini%2Fjappixmini.php;h=0333d8ecf79dee33e0f0a7960cb51e35c13d8820;hb=5ea82418d8bda7ac7d484f766571892e1719486d;hp=f11e9b1195643314ac21f698a7c2977524dd8be3;hpb=08206fdcc0750ec9dd12a68addb341cd05f8bcfb;p=friendica-addons.git diff --git a/jappixmini/jappixmini.php b/jappixmini/jappixmini.php index f11e9b11..0333d8ec 100644 --- a/jappixmini/jappixmini.php +++ b/jappixmini/jappixmini.php @@ -63,15 +63,12 @@ */ use Friendica\App; -use Friendica\Core\Config; use Friendica\Core\Hook; -use Friendica\Core\L10n; use Friendica\Core\Logger; -use Friendica\Core\PConfig; use Friendica\Core\Protocol; use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Model\User; -use Friendica\Util\Network; function jappixmini_install() { @@ -87,39 +84,26 @@ function jappixmini_install() Hook::register('about_hook', 'addon/jappixmini/jappixmini.php', 'jappixmini_download_source'); // set standard configuration - $info_text = Config::get("jappixmini", "infotext"); + $info_text = DI::config()->get("jappixmini", "infotext"); if (!$info_text) - Config::set("jappixmini", "infotext", "To get the chat working, you need to know a BOSH host which works with your Jabber account. " . + DI::config()->set("jappixmini", "infotext", "To get the chat working, you need to know a BOSH host which works with your Jabber account. " . "An example of a BOSH server that works for all accounts is https://bind.jappix.com/, but keep " . "in mind that the BOSH server can read along all chat messages. If you know that your Jabber " . "server also provides an own BOSH server, it is much better to use this one!" ); - $bosh_proxy = Config::get("jappixmini", "bosh_proxy"); + $bosh_proxy = DI::config()->get("jappixmini", "bosh_proxy"); if ($bosh_proxy === "") { - Config::set("jappixmini", "bosh_proxy", "1"); + DI::config()->set("jappixmini", "bosh_proxy", "1"); } // set addon version so that safe updates are possible later - $addon_version = Config::get("jappixmini", "version"); + $addon_version = DI::config()->get("jappixmini", "version"); if ($addon_version === "") { - Config::set("jappixmini", "version", "1"); + DI::config()->set("jappixmini", "version", "1"); } } -function jappixmini_uninstall() -{ - Hook::unregister('addon_settings', 'addon/jappixmini/jappixmini.php', 'jappixmini_settings'); - Hook::unregister('addon_settings_post', 'addon/jappixmini/jappixmini.php', 'jappixmini_settings_post'); - - Hook::unregister('page_end', 'addon/jappixmini/jappixmini.php', 'jappixmini_script'); - Hook::unregister('authenticate', 'addon/jappixmini/jappixmini.php', 'jappixmini_login'); - - Hook::unregister('cron', 'addon/jappixmini/jappixmini.php', 'jappixmini_cron'); - - Hook::unregister('about_hook', 'addon/jappixmini/jappixmini.php', 'jappixmini_download_source'); -} - function jappixmini_addon_admin(App $a, &$o) { // display instructions and warnings on addon settings page for admin @@ -128,35 +112,35 @@ function jappixmini_addon_admin(App $a, &$o) } // warn if cron job has not yet been executed - $cron_run = Config::get("jappixmini", "last_cron_execution"); + $cron_run = DI::config()->get("jappixmini", "last_cron_execution"); if (!$cron_run) { $o .= "

Warning: The cron job has not yet been executed. If this message is still there after some time (usually 10 minutes), this means that autosubscribe and autoaccept will not work.

"; } // bosh proxy - $bosh_proxy = intval(Config::get("jappixmini", "bosh_proxy")); + $bosh_proxy = intval(DI::config()->get("jappixmini", "bosh_proxy")); $bosh_proxy = intval($bosh_proxy) ? ' checked="checked"' : ''; $o .= ''; $o .= '
'; // bosh address - $bosh_address = Config::get("jappixmini", "bosh_address"); + $bosh_address = DI::config()->get("jappixmini", "bosh_address"); $o .= '


'; $o .= '

'; // default server address - $default_server = Config::get("jappixmini", "default_server"); + $default_server = DI::config()->get("jappixmini", "default_server"); $o .= '


'; $o .= '

'; // default user name to friendica nickname - $default_user = intval(Config::get("jappixmini", "default_user")); + $default_user = intval(DI::config()->get("jappixmini", "default_user")); $default_user = intval($default_user) ? ' checked="checked"' : ''; $o .= ''; $o .= '
'; // info text field - $info_text = Config::get("jappixmini", "infotext"); + $info_text = DI::config()->get("jappixmini", "infotext"); $o .= '


'; $o .= '

'; @@ -174,11 +158,11 @@ function jappixmini_addon_admin_post(App $a) $default_user = intval($_REQUEST['jappixmini-defaultuser']); $bosh_address = $_REQUEST['jappixmini-address']; $default_server = $_REQUEST['jappixmini-server']; - Config::set("jappixmini", "infotext", $info_text); - Config::set("jappixmini", "bosh_proxy", $bosh_proxy); - Config::set("jappixmini", "bosh_address", $bosh_address); - Config::set("jappixmini", "default_server", $default_server); - Config::set("jappixmini", "default_user", $default_user); + DI::config()->set("jappixmini", "infotext", $info_text); + DI::config()->set("jappixmini", "bosh_proxy", $bosh_proxy); + DI::config()->set("jappixmini", "bosh_address", $bosh_address); + DI::config()->set("jappixmini", "default_server", $default_server); + DI::config()->set("jappixmini", "default_user", $default_user); } } @@ -230,21 +214,21 @@ function jappixmini_init() $decrypt_func($signed_address, $trusted_address, $key); $now = intval(time()); - PConfig::set($uid, "jappixmini", "id:$dfrn_id", "$now:$trusted_address"); + DI::pConfig()->set($uid, "jappixmini", "id:$dfrn_id", "$now:$trusted_address"); } catch (Exception $e) { } // do not return an address if user deactivated addon - $activated = PConfig::get($uid, 'jappixmini', 'activate'); + $activated = DI::pConfig()->get($uid, 'jappixmini', 'activate'); if (!$activated) { exit(); } // return the requested Jabber address try { - $username = PConfig::get($uid, 'jappixmini', 'username'); - $server = PConfig::get($uid, 'jappixmini', 'server'); + $username = DI::pConfig()->get($uid, 'jappixmini', 'username'); + $server = DI::pConfig()->get($uid, 'jappixmini', 'server'); $address = "$username@$server"; $encrypted_address = ""; @@ -268,41 +252,41 @@ function jappixmini_init() function jappixmini_settings(App $a, &$s) { // addon settings for a user - $activate = PConfig::get(local_user(), 'jappixmini', 'activate'); + $activate = DI::pConfig()->get(local_user(), 'jappixmini', 'activate'); $activate = intval($activate) ? ' checked="checked"' : ''; - $dontinsertchat = PConfig::get(local_user(), 'jappixmini', 'dontinsertchat'); + $dontinsertchat = DI::pConfig()->get(local_user(), 'jappixmini', 'dontinsertchat'); $insertchat = !(intval($dontinsertchat) ? ' checked="checked"' : ''); - $defaultbosh = Config::get("jappixmini", "bosh_address"); + $defaultbosh = DI::config()->get("jappixmini", "bosh_address"); if ($defaultbosh != "") { - PConfig::set(local_user(), 'jappixmini', 'bosh', $defaultbosh); + DI::pConfig()->set(local_user(), 'jappixmini', 'bosh', $defaultbosh); } - $username = PConfig::get(local_user(), 'jappixmini', 'username'); + $username = DI::pConfig()->get(local_user(), 'jappixmini', 'username'); $username = htmlentities($username); - $server = PConfig::get(local_user(), 'jappixmini', 'server'); + $server = DI::pConfig()->get(local_user(), 'jappixmini', 'server'); $server = htmlentities($server); - $bosh = PConfig::get(local_user(), 'jappixmini', 'bosh'); + $bosh = DI::pConfig()->get(local_user(), 'jappixmini', 'bosh'); $bosh = htmlentities($bosh); - $password = PConfig::get(local_user(), 'jappixmini', 'password'); - $autosubscribe = PConfig::get(local_user(), 'jappixmini', 'autosubscribe'); + $password = DI::pConfig()->get(local_user(), 'jappixmini', 'password'); + $autosubscribe = DI::pConfig()->get(local_user(), 'jappixmini', 'autosubscribe'); $autosubscribe = intval($autosubscribe) ? ' checked="checked"' : ''; - $autoapprove = PConfig::get(local_user(), 'jappixmini', 'autoapprove'); + $autoapprove = DI::pConfig()->get(local_user(), 'jappixmini', 'autoapprove'); $autoapprove = intval($autoapprove) ? ' checked="checked"' : ''; - $encrypt = intval(PConfig::get(local_user(), 'jappixmini', 'encrypt')); + $encrypt = intval(DI::pConfig()->get(local_user(), 'jappixmini', 'encrypt')); $encrypt_checked = $encrypt ? ' checked="checked"' : ''; $encrypt_disabled = $encrypt ? '' : ' disabled="disabled"'; if ($server == "") { - $server = Config::get("jappixmini", "default_server"); + $server = DI::config()->get("jappixmini", "default_server"); } - if (($username == "") && Config::get("jappixmini", "default_user")) { + if (($username == "") && DI::config()->get("jappixmini", "default_user")) { $username = $a->user["nickname"]; } - $info_text = Config::get("jappixmini", "infotext"); + $info_text = DI::config()->get("jappixmini", "infotext"); $info_text = htmlentities($info_text); $info_text = str_replace("\n", "
", $info_text); @@ -324,69 +308,69 @@ function jappixmini_settings(App $a, &$s) if (!$activate) { // load scripts if not yet activated so that password can be saved - $a->page['htmlhead'] .= '' . "\r\n"; - $a->page['htmlhead'] .= '' . "\r\n"; + DI::page()['htmlhead'] .= '' . "\r\n"; + DI::page()['htmlhead'] .= '' . "\r\n"; - $a->page['htmlhead'] .= '' . "\r\n"; + DI::page()['htmlhead'] .= '' . "\r\n"; } $s .= ''; - $s .= '

' . L10n::t('Jappix Mini') . '

'; + $s .= '

' . DI::l10n()->t('Jappix Mini') . '

'; $s .= '
'; $s .= ''; - $a->page['htmlhead'] .= "' . "\r\n"; - $a->page['htmlhead'] .= '' . "\r\n"; + DI::page()['htmlhead'] .= '' . "\r\n"; + DI::page()['htmlhead'] .= '' . "\r\n"; - $a->page['htmlhead'] .= '' . "\r\n"; + DI::page()['htmlhead'] .= '' . "\r\n"; - $username = PConfig::get(local_user(), 'jappixmini', 'username'); + $username = DI::pConfig()->get(local_user(), 'jappixmini', 'username'); $username = str_replace("'", "\\'", $username); - $server = PConfig::get(local_user(), 'jappixmini', 'server'); + $server = DI::pConfig()->get(local_user(), 'jappixmini', 'server'); $server = str_replace("'", "\\'", $server); - $bosh = PConfig::get(local_user(), 'jappixmini', 'bosh'); + $bosh = DI::pConfig()->get(local_user(), 'jappixmini', 'bosh'); $bosh = str_replace("'", "\\'", $bosh); - $encrypt = PConfig::get(local_user(), 'jappixmini', 'encrypt'); + $encrypt = DI::pConfig()->get(local_user(), 'jappixmini', 'encrypt'); $encrypt = intval($encrypt); - $password = PConfig::get(local_user(), 'jappixmini', 'password'); + $password = DI::pConfig()->get(local_user(), 'jappixmini', 'password'); $password = str_replace("'", "\\'", $password); - $autoapprove = PConfig::get(local_user(), 'jappixmini', 'autoapprove'); + $autoapprove = DI::pConfig()->get(local_user(), 'jappixmini', 'autoapprove'); $autoapprove = intval($autoapprove); - $autosubscribe = PConfig::get(local_user(), 'jappixmini', 'autosubscribe'); + $autosubscribe = DI::pConfig()->get(local_user(), 'jappixmini', 'autosubscribe'); $autosubscribe = intval($autosubscribe); // set proxy if necessary - $use_proxy = Config::get('jappixmini', 'bosh_proxy'); + $use_proxy = DI::config()->get('jappixmini', 'bosh_proxy'); if ($use_proxy) { - $proxy = $a->getBaseURL() . '/addon/jappixmini/proxy.php'; + $proxy = DI::baseUrl()->get() . '/addon/jappixmini/proxy.php'; } else { $proxy = ""; } @@ -549,14 +531,14 @@ function jappixmini_script(App $a) // get nickname $r = q("SELECT `username` FROM `user` WHERE `uid`=$uid"); $nickname = json_encode($r[0]["username"]); - $groupchats = Config::get('jappixmini', 'groupchats'); + $groupchats = DI::config()->get('jappixmini', 'groupchats'); //if $groupchats has no value jappix_addon_start will produce a syntax error if (empty($groupchats)) { $groupchats = "{}"; } // add javascript to start Jappix Mini - $a->page['htmlhead'] .= "' . "\r\n"; + DI::page()['htmlhead'] .= '' . "\r\n"; // for jappixmini_addon_set_client_secret - $a->page['htmlhead'] .= '' . "\r\n"; + DI::page()['htmlhead'] .= '' . "\r\n"; // save hash of password $o = str_replace("
set("jappixmini", "last_cron_execution", $d); // go through list of users with jabber enabled $users = q("SELECT `uid` FROM `pconfig` WHERE `cat`='jappixmini' AND (`k`='autosubscribe' OR `k`='autoapprove') AND `v`='1'"); @@ -618,7 +600,7 @@ function jappixmini_cron(App $a, $d) } // check if jabber address already present - $present = PConfig::get($uid, "jappixmini", "id:" . $dfrn_id); + $present = DI::pConfig()->get($uid, "jappixmini", "id:" . $dfrn_id); $now = intval(time()); if ($present) { // $present has format "timestamp:jabber_address" @@ -641,11 +623,11 @@ function jappixmini_cron(App $a, $d) $base = substr($request, 0, $pos) . "/jappixmini?role=$role"; // construct own address - $username = PConfig::get($uid, 'jappixmini', 'username'); + $username = DI::pConfig()->get($uid, 'jappixmini', 'username'); if (!$username) { continue; } - $server = PConfig::get($uid, 'jappixmini', 'server'); + $server = DI::pConfig()->get($uid, 'jappixmini', 'server'); if (!$server) { continue; } @@ -662,7 +644,7 @@ function jappixmini_cron(App $a, $d) try { // send request - $answer_json = Network::fetchUrl($url); + $answer_json = DI::httpRequest()->fetch($url); // parse answer $answer = json_decode($answer_json); @@ -691,7 +673,7 @@ function jappixmini_cron(App $a, $d) } // save address - PConfig::set($uid, "jappixmini", "id:$dfrn_id", "$now:$decrypted_address"); + DI::pConfig()->set($uid, "jappixmini", "id:$dfrn_id", "$now:$decrypted_address"); } } } @@ -700,6 +682,6 @@ function jappixmini_download_source(App $a, &$b) { // Jappix Mini source download link on About page $b .= '

Jappix Mini

'; - $b .= '

This site uses the jappixmini addon, which includes Jappix Mini by the Jappix authors and is distributed under the terms of the GNU Affero General Public License.

'; - $b .= '

You can download the source code of the addon. The rest of Friendica is distributed under compatible licenses and can be retrieved from https://github.com/friendica/friendica and https://github.com/friendica/friendica-addons

'; + $b .= '

This site uses the jappixmini addon, which includes Jappix Mini by the Jappix authors and is distributed under the terms of the GNU Affero General Public License.

'; + $b .= '

You can download the source code of the addon. The rest of Friendica is distributed under compatible licenses and can be retrieved from https://github.com/friendica/friendica and https://github.com/friendica/friendica-addons

'; }