The source archive jappix.zip does not exist. This is probably a violation of the Jappix License (see README).
'; } } function jappixmini_plugin_admin_post(&$a) { } function jappixmini_module() {} function jappixmini_init(&$a) { // Here, other friendica sites can fetch the jabber address of local users. // Because we do not want to publish the addresses publicly, they are encrypted so // that only contacts can read it. $encrypt_for = $_REQUEST["encrypt_for"]; if ($encrypt_for) { $r = q("SELECT * FROM `contact` WHERE LENGTH(`pubkey`) AND `dfrn-id` = '%s' LIMIT 1", dbesc($encrypt_for) ); if (!count($r)) killme(); // get public key to encrypt address $pubkey = $r[0]['pubkey']; // get jabber address $uid = $r[0]['uid']; $username = get_pconfig($uid, 'jappixmini', 'username'); if (!$username) killme(); $server = get_pconfig($uid, 'jappixmini', 'server'); if (!$server) killme(); $address = $username."@".$server; // encrypt address $encrypted = ""; openssl_public_encrypt($address,$encrypted,$pubkey); // calculate hex representation of encrypted address $hex = bin2hex($encrypted); // construct answer $answer = Array("status"=>"ok", "encrypted_address"=>$hex); // return answer as json echo json_encode($answer); killme(); } // If we have only a private key, other site sends encrypted request, we answer unencrypted. $encrypted_for = $_REQUEST["encrypted_for"]; if (!$encrypted_for) killme(); $encrypted_request_hex = $_REQUEST["encrypted_request"]; if (!$encrypted_request_hex) killme(); $encrypted_request = hex2bin($encrypted_request_hex); $r = q("SELECT * FROM `contact` WHERE LENGTH(`prvkey`) AND `issued-id` = '%s' LIMIT 1", dbesc($encrypted_for) ); if (!count($r)) killme(); // decrypt request, validate it $prvkey = $r[0]['prvkey']; $decrypted_request = ""; openssl_private_decrypt($encrypted_request, $decrypted_request, $prvkey); if ($decrypted_request!=$encrypted_for) killme(); // get jabber address $uid = $r[0]['uid']; $username = get_pconfig($uid, 'jappixmini', 'username'); if (!$username) killme(); $server = get_pconfig($uid, 'jappixmini', 'server'); if (!$server) killme(); $address = $username."@".$server; // construct answer $answer = Array("status"=>"ok", "address"=>$address); // return answer as json echo json_encode($answer); killme(); } function jappixmini_settings(&$a, &$s) { $username = get_pconfig(local_user(),'jappixmini','username'); $username = htmlentities($username); $server = get_pconfig(local_user(),'jappixmini','server'); $server = htmlentities($server); $bosh = get_pconfig(local_user(),'jappixmini','bosh'); $bosh = htmlentities($bosh); $encrypted_password = get_pconfig(local_user(),'jappixmini','encrypted-password'); $autosubscribe = get_pconfig(local_user(),'jappixmini','autosubscribe'); $autosubscribe = intval($autosubscribe) ? ' checked="checked"' : ''; $autoapprove = get_pconfig(local_user(),'jappixmini','autoapprove'); $autoapprove = intval($autoapprove) ? ' checked="checked"' : ''; $activate = get_pconfig(local_user(),'jappixmini','activate'); $activate = intval($activate) ? ' checked="checked"' : ''; $s .= '