X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=jappixmini%2Fjappixmini.php;h=9cf7d5b258676eabf47a865fd28aa58f7fb30d28;hb=1ce63185abc24a0813c2045c43ec1e3fede6e113;hp=8111f9fd8724236737c531f0406e7399ffce8e47;hpb=ce2af45897ea3263c1973802b9bf592ccb7f73e9;p=friendica-addons.git diff --git a/jappixmini/jappixmini.php b/jappixmini/jappixmini.php index 8111f9fd..9cf7d5b2 100644 --- a/jappixmini/jappixmini.php +++ b/jappixmini/jappixmini.php @@ -63,30 +63,30 @@ */ use Friendica\App; -use Friendica\Core\Addon; use Friendica\Core\Config; -use Friendica\Core\L10n; -use Friendica\Core\PConfig; +use Friendica\Core\Hook; +use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Model\User; use Friendica\Util\Network; function jappixmini_install() { - Addon::registerHook('addon_settings', 'addon/jappixmini/jappixmini.php', 'jappixmini_settings'); - Addon::registerHook('addon_settings_post', 'addon/jappixmini/jappixmini.php', 'jappixmini_settings_post'); + Hook::register('addon_settings', 'addon/jappixmini/jappixmini.php', 'jappixmini_settings'); + Hook::register('addon_settings_post', 'addon/jappixmini/jappixmini.php', 'jappixmini_settings_post'); - Addon::registerHook('page_end', 'addon/jappixmini/jappixmini.php', 'jappixmini_script'); - Addon::registerHook('authenticate', 'addon/jappixmini/jappixmini.php', 'jappixmini_login'); + Hook::register('page_end', 'addon/jappixmini/jappixmini.php', 'jappixmini_script'); + Hook::register('authenticate', 'addon/jappixmini/jappixmini.php', 'jappixmini_login'); - Addon::registerHook('cron', 'addon/jappixmini/jappixmini.php', 'jappixmini_cron'); + Hook::register('cron', 'addon/jappixmini/jappixmini.php', 'jappixmini_cron'); // Jappix source download as required by AGPL - Addon::registerHook('about_hook', 'addon/jappixmini/jappixmini.php', 'jappixmini_download_source'); + 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. " . "An example of a BOSH server that works for all accounts is https://bind.jappix.com/, but keep " . @@ -94,13 +94,13 @@ function jappixmini_install() "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"); } // 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"); } @@ -108,15 +108,15 @@ function jappixmini_install() function jappixmini_uninstall() { - Addon::unregisterHook('addon_settings', 'addon/jappixmini/jappixmini.php', 'jappixmini_settings'); - Addon::unregisterHook('addon_settings_post', 'addon/jappixmini/jappixmini.php', 'jappixmini_settings_post'); + Hook::unregister('addon_settings', 'addon/jappixmini/jappixmini.php', 'jappixmini_settings'); + Hook::unregister('addon_settings_post', 'addon/jappixmini/jappixmini.php', 'jappixmini_settings_post'); - Addon::unregisterHook('page_end', 'addon/jappixmini/jappixmini.php', 'jappixmini_script'); - Addon::unregisterHook('authenticate', 'addon/jappixmini/jappixmini.php', 'jappixmini_login'); + Hook::unregister('page_end', 'addon/jappixmini/jappixmini.php', 'jappixmini_script'); + Hook::unregister('authenticate', 'addon/jappixmini/jappixmini.php', 'jappixmini_login'); - Addon::unregisterHook('cron', 'addon/jappixmini/jappixmini.php', 'jappixmini_cron'); + Hook::unregister('cron', 'addon/jappixmini/jappixmini.php', 'jappixmini_cron'); - Addon::unregisterHook('about_hook', 'addon/jappixmini/jappixmini.php', 'jappixmini_download_source'); + Hook::unregister('about_hook', 'addon/jappixmini/jappixmini.php', 'jappixmini_download_source'); } function jappixmini_addon_admin(App $a, &$o) @@ -127,35 +127,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 .= '

'; @@ -192,30 +192,30 @@ function jappixmini_init() // of local users $dfrn_id = $_REQUEST["dfrn_id"]; if (!$dfrn_id) { - killme(); + exit(); } $role = $_REQUEST["role"]; if ($role == "pub") { $r = q("SELECT * FROM `contact` WHERE LENGTH(`pubkey`) AND `dfrn-id`='%s' LIMIT 1", DBA::escape($dfrn_id)); if (!count($r)) { - killme(); + exit(); } - $encrypt_func = openssl_public_encrypt; - $decrypt_func = openssl_public_decrypt; + $encrypt_func = 'openssl_public_encrypt'; + $decrypt_func = 'openssl_public_decrypt'; $key = $r[0]["pubkey"]; } else if ($role == "prv") { $r = q("SELECT * FROM `contact` WHERE LENGTH(`prvkey`) AND `issued-id`='%s' LIMIT 1", DBA::escape($dfrn_id)); if (!count($r)) { - killme(); + exit(); } - $encrypt_func = openssl_private_encrypt; - $decrypt_func = openssl_private_decrypt; + $encrypt_func = 'openssl_private_encrypt'; + $decrypt_func = 'openssl_private_decrypt'; $key = $r[0]["prvkey"]; } else { - killme(); + exit(); } $uid = $r[0]["uid"]; @@ -229,21 +229,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) { - killme(); + 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 = ""; @@ -258,50 +258,50 @@ function jappixmini_init() $answer_json = json_encode($answer); echo $answer_json; - killme(); + exit(); } catch (Exception $e) { - killme(); + exit(); } } 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); @@ -323,69 +323,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 = ""; } @@ -548,14 +548,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("
get($uid, "jappixmini", "id:" . $dfrn_id); $now = intval(time()); if ($present) { // $present has format "timestamp:jabber_address" @@ -640,11 +640,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; } @@ -665,7 +665,7 @@ function jappixmini_cron(App $a, $d) // parse answer $answer = json_decode($answer_json); - if ($answer->status != "ok") { + if (empty($answer->status) || ($answer->status != "ok")) { throw new Exception(); } @@ -690,7 +690,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"); } } } @@ -699,6 +699,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

'; }