Merge pull request #137 from annando/master

Some more admin settings for jappixmini
This commit is contained in:
tobiasd 2013-06-23 00:32:11 -07:00
commit e4cc488259
5 changed files with 114 additions and 57 deletions

View file

@ -2,7 +2,7 @@
/** /**
* Name: G+ Post * Name: G+ Post
* Description: Posts to a Google+ page with the help of Seesmic * Description: Posts to a Google+ page with the help of Hootsuite
* Version: 0.1 * Version: 0.1
* Author: Michael Vogel <https://pirati.ca/profile/heluecht> * Author: Michael Vogel <https://pirati.ca/profile/heluecht>
*/ */

View file

@ -122,6 +122,22 @@ function jappixmini_plugin_admin(&$a, &$o) {
$o .= '<label for="jappixmini-proxy">Activate BOSH proxy</label>'; $o .= '<label for="jappixmini-proxy">Activate BOSH proxy</label>';
$o .= ' <input id="jappixmini-proxy" type="checkbox" name="jappixmini-proxy" value="1"'.$bosh_proxy.' /><br />'; $o .= ' <input id="jappixmini-proxy" type="checkbox" name="jappixmini-proxy" value="1"'.$bosh_proxy.' /><br />';
// bosh address
$bosh_address = get_config("jappixmini", "bosh_address");
$o .= '<p><label for="jappixmini-address">Adress of the default BOSH proxy. If enabled it overrides the user settings:</label><br />';
$o .= '<input id="jappixmini-address" type="text" name="jappixmini-address" value="'.$bosh_address.'" /></p>';
// default server address
$default_server = get_config("jappixmini", "default_server");
$o .= '<p><label for="jappixmini-server">Adress of the default jabber server:</label><br />';
$o .= '<input id="jappixmini-server" type="text" name="jappixmini-server" value="'.$default_server.'" /></p>';
// default user name to friendica nickname
$default_user = intval(get_config("jappixmini", "default_user"));
$default_user = intval($default_user) ? ' checked="checked"' : '';
$o .= '<label for="jappixmini-user">Set the default username to the nickname:</label>';
$o .= ' <input id="jappixmini-user" type="checkbox" name="jappixmini-defaultuser" value="1"'.$default_user.' /><br />';
// info text field // info text field
$info_text = get_config("jappixmini", "infotext"); $info_text = get_config("jappixmini", "infotext");
$o .= '<p><label for="jappixmini-infotext">Info text to help users with configuration (important if you want to provide your own BOSH host!):</label><br />'; $o .= '<p><label for="jappixmini-infotext">Info text to help users with configuration (important if you want to provide your own BOSH host!):</label><br />';
@ -137,8 +153,14 @@ function jappixmini_plugin_admin_post(&$a) {
if ($submit) { if ($submit) {
$info_text = $_REQUEST['jappixmini-infotext']; $info_text = $_REQUEST['jappixmini-infotext'];
$bosh_proxy = intval($_REQUEST['jappixmini-proxy']); $bosh_proxy = intval($_REQUEST['jappixmini-proxy']);
$default_user = intval($_REQUEST['jappixmini-defaultuser']);
$bosh_address = $_REQUEST['jappixmini-address'];
$default_server = $_REQUEST['jappixmini-server'];
set_config("jappixmini", "infotext", $info_text); set_config("jappixmini", "infotext", $info_text);
set_config("jappixmini", "bosh_proxy", $bosh_proxy); set_config("jappixmini", "bosh_proxy", $bosh_proxy);
set_config("jappixmini", "bosh_address", $bosh_address);
set_config("jappixmini", "default_server", $default_server);
set_config("jappixmini", "default_user", $default_user);
} }
} }
@ -224,6 +246,11 @@ function jappixmini_settings(&$a, &$s) {
$dontinsertchat = get_pconfig(local_user(),'jappixmini','dontinsertchat'); $dontinsertchat = get_pconfig(local_user(),'jappixmini','dontinsertchat');
$insertchat = !(intval($dontinsertchat) ? ' checked="checked"' : ''); $insertchat = !(intval($dontinsertchat) ? ' checked="checked"' : '');
$defaultbosh = get_config("jappixmini", "bosh_address");
if ($defaultbosh != "")
set_pconfig(local_user(),'jappixmini','bosh', $defaultbosh);
$username = get_pconfig(local_user(),'jappixmini','username'); $username = get_pconfig(local_user(),'jappixmini','username');
$username = htmlentities($username); $username = htmlentities($username);
$server = get_pconfig(local_user(),'jappixmini','server'); $server = get_pconfig(local_user(),'jappixmini','server');
@ -239,6 +266,12 @@ function jappixmini_settings(&$a, &$s) {
$encrypt_checked = $encrypt ? ' checked="checked"' : ''; $encrypt_checked = $encrypt ? ' checked="checked"' : '';
$encrypt_disabled = $encrypt ? '' : ' disabled="disabled"'; $encrypt_disabled = $encrypt ? '' : ' disabled="disabled"';
if ($server == "")
$server = get_config("jappixmini", "default_server");
if (($username == "") and get_config("jappixmini", "default_user"))
$username = $a->user["nickname"];
$info_text = get_config("jappixmini", "infotext"); $info_text = get_config("jappixmini", "infotext");
$info_text = htmlentities($info_text); $info_text = htmlentities($info_text);
$info_text = str_replace("\n", "<br />", $info_text); $info_text = str_replace("\n", "<br />", $info_text);
@ -278,9 +311,12 @@ function jappixmini_settings(&$a, &$s) {
$s .= ' <input id="jappixmini-server" type="text" name="jappixmini-server" value="'.$server.'" />'; $s .= ' <input id="jappixmini-server" type="text" name="jappixmini-server" value="'.$server.'" />';
$s .= '<br />'; $s .= '<br />';
$s .= '<label for="jappixmini-bosh">'.t('Jabber BOSH host').'</label>'; if (defaultbosh == "") {
$s .= ' <input id="jappixmini-bosh" type="text" name="jappixmini-bosh" value="'.$bosh.'" />'; $s .= '<label for="jappixmini-bosh">'.t('Jabber BOSH host').'</label>';
$s .= '<br />'; $s .= ' <input id="jappixmini-bosh" type="text" name="jappixmini-bosh" value="'.$bosh.'" />';
$s .= '<br />';
}
$s .= '<label for="jappixmini-password">'.t('Jabber password').'</label>'; $s .= '<label for="jappixmini-password">'.t('Jabber password').'</label>';
$s .= ' <input type="hidden" id="jappixmini-password" name="jappixmini-encrypted-password" value="'.$password.'" />'; $s .= ' <input type="hidden" id="jappixmini-password" name="jappixmini-encrypted-password" value="'.$password.'" />';

View file

@ -40,7 +40,7 @@ function jappixmini_addon_get_client_secret(callback) {
var div = document.getElementById("#jappixmini-password-query-div"); var div = document.getElementById("#jappixmini-password-query-div");
if (!div) { if (!div) {
div = $('<div id="jappixmini-password-query-div" style="position:fixed;padding:1em;background-color:#F00;color:#fff;top:50px;left:50px;">Retype your Friendica password for chatting:<br></div>'); div = $('<div id="jappixmini-password-query-div" style="position:fixed;padding:1em;background-color:#F00;color:#fff;top:50px;left:650px;">Retype your Friendica password for chatting:<br></div>');
var input = $('<input type="password" id="jappixmini-password-query-input">') var input = $('<input type="password" id="jappixmini-password-query-input">')
div.append(input); div.append(input);

View file

@ -1,11 +1,11 @@
#pumpio-mirror-label,#pumpio-public-label, #pumpio-enable-label, #pumpio-username-label, #pumpio-servername-label, #pumpio-bydefault-label { #pumpio-mirror-label,#pumpio-public-label, #pumpio-enable-label, #pumpio-username-label, #pumpio-servername-label, #pumpio-bydefault-label, #pumpio-delete-label {
float: left; float: left;
width: 200px; width: 200px;
margin-top: 10px; margin-top: 10px;
} }
#pumpio-mirror,#pumpio-public, #pumpio-checkbox, #pumpio-username, #pumpio-servername, #pumpio-bydefault { #pumpio-mirror,#pumpio-public, #pumpio-checkbox, #pumpio-username, #pumpio-servername, #pumpio-bydefault, #pumpio-delete {
float: left; float: left;
margin-top: 10px; margin-top: 10px;
} }

View file

@ -198,47 +198,59 @@ function pumpio_settings(&$a,&$s) {
$s .= '<div class="settings-block">'; $s .= '<div class="settings-block">';
$s .= '<h3>' . t('Pump.io Post Settings') . '</h3>'; $s .= '<h3>' . t('Pump.io Post Settings') . '</h3>';
$s .= '<div id="pumpio-servername-wrapper">';
$s .= '<label id="pumpio-servername-label" for="pumpio-servername">'.t('pump.io servername (without "http://" or "https://" )').'</label>';
$s .= '<input id="pumpio-servername" type="text" name="pumpio_host" value="'.$servername.'" />';
$s .= '</div><div class="clear"></div>';
$s .= '<div id="pumpio-username-wrapper">'; $s .= '<div id="pumpio-username-wrapper">';
$s .= '<label id="pumpio-username-label" for="pumpio-username">'.t('pump.io username (without the servername)').'</label>'; $s .= '<label id="pumpio-username-label" for="pumpio-username">'.t('pump.io username (without the servername)').'</label>';
$s .= '<input id="pumpio-username" type="text" name="pumpio_user" value="'.$username.'" />'; $s .= '<input id="pumpio-username" type="text" name="pumpio_user" value="'.$username.'" />';
$s .= '</div><div class="clear"></div>'; $s .= '</div><div class="clear"></div>';
$s .= '<div id="pumpio-servername-wrapper">';
$s .= '<label id="pumpio-servername-label" for="pumpio-servername">'.t('pump.io servername (without "http://" or "https://" )').'</label>';
$s .= '<input id="pumpio-servername" type="text" name="pumpio_host" value="'.$servername.'" />';
$s .= '</div><div class="clear"></div>';
if (($username != '') AND ($servername != '')) { if (($username != '') AND ($servername != '')) {
$s .= '<div id="pumpio-authenticate-wrapper">';
$s .= '<a href="'.$a->get_baseurl().'/pumpio/connect">'.t("(Re-)Authenticate your pump.io connection").'</a>';
$s .= '</div><div class="clear"></div>';
$s .= '<div id="pumpio-enable-wrapper">';
$s .= '<label id="pumpio-enable-label" for="pumpio-checkbox">' . t('Enable pump.io Post Plugin') . '</label>';
$s .= '<input id="pumpio-checkbox" type="checkbox" name="pumpio" value="1" ' . $checked . '/>';
$s .= '</div><div class="clear"></div>';
$s .= '<div id="pumpio-bydefault-wrapper">';
$s .= '<label id="pumpio-bydefault-label" for="pumpio-bydefault">' . t('Post to pump.io by default') . '</label>';
$s .= '<input id="pumpio-bydefault" type="checkbox" name="pumpio_bydefault" value="1" ' . $def_checked . '/>';
$s .= '</div><div class="clear"></div>';
$s .= '<div id="pumpio-public-wrapper">';
$s .= '<label id="pumpio-public-label" for="pumpio-public">' . t('Should posts be public?') . '</label>';
$s .= '<input id="pumpio-public" type="checkbox" name="pumpio_public" value="1" ' . $public_checked . '/>';
$s .= '</div><div class="clear"></div>';
$s .= '<div id="pumpio-mirror-wrapper">';
$s .= '<label id="pumpio-mirror-label" for="pumpio-mirror">' . t('Mirror all public posts') . '</label>';
$s .= '<input id="pumpio-mirror" type="checkbox" name="pumpio_mirror" value="1" ' . $mirror_checked . '/>';
$s .= '</div><div class="clear"></div>';
$oauth_token = get_pconfig(local_user(), "pumpio", "oauth_token"); $oauth_token = get_pconfig(local_user(), "pumpio", "oauth_token");
$oauth_token_secret = get_pconfig(local_user(), "pumpio", "oauth_token_secret"); $oauth_token_secret = get_pconfig(local_user(), "pumpio", "oauth_token_secret");
$s .= '<div id="pumpio-password-wrapper">'; $s .= '<div id="pumpio-password-wrapper">';
if (($oauth_token == "") OR ($oauth_token_secret == "")) if (($oauth_token == "") OR ($oauth_token_secret == "")) {
$s .= t("You are not authenticated to pumpio"); $s .= '<div id="pumpio-authenticate-wrapper">';
$s .= '<a href="'.$a->get_baseurl().'/pumpio/connect">'.t("Authenticate your pump.io connection").'</a>';
$s .= '</div><div class="clear"></div>';
//$s .= t("You are not authenticated to pumpio");
} else {
$s .= '<div id="pumpio-enable-wrapper">';
$s .= '<label id="pumpio-enable-label" for="pumpio-checkbox">' . t('Enable pump.io Post Plugin') . '</label>';
$s .= '<input id="pumpio-checkbox" type="checkbox" name="pumpio" value="1" ' . $checked . '/>';
$s .= '</div><div class="clear"></div>';
$s .= '<div id="pumpio-bydefault-wrapper">';
$s .= '<label id="pumpio-bydefault-label" for="pumpio-bydefault">' . t('Post to pump.io by default') . '</label>';
$s .= '<input id="pumpio-bydefault" type="checkbox" name="pumpio_bydefault" value="1" ' . $def_checked . '/>';
$s .= '</div><div class="clear"></div>';
$s .= '<div id="pumpio-public-wrapper">';
$s .= '<label id="pumpio-public-label" for="pumpio-public">' . t('Should posts be public?') . '</label>';
$s .= '<input id="pumpio-public" type="checkbox" name="pumpio_public" value="1" ' . $public_checked . '/>';
$s .= '</div><div class="clear"></div>';
$s .= '<div id="pumpio-mirror-wrapper">';
$s .= '<label id="pumpio-mirror-label" for="pumpio-mirror">' . t('Mirror all public posts') . '</label>';
$s .= '<input id="pumpio-mirror" type="checkbox" name="pumpio_mirror" value="1" ' . $mirror_checked . '/>';
$s .= '</div><div class="clear"></div>';
$s .= '<div id="pumpio-delete-wrapper">';
$s .= '<label id="pumpio-delete-label" for="pumpio-delete">' . t('Check to delete this preset') . '</label>';
$s .= '<input id="pumpio-delete" type="checkbox" name="pumpio_delete" value="1" />';
$s .= '</div><div class="clear"></div>';
//$s .= '<div id="pumpio-authenticate-wrapper">';
//$s .= '<a href="'.$a->get_baseurl().'/pumpio/connect">'.t("Reauthenticate your pump.io connection").'</a>';
//$s .= '</div><div class="clear"></div>';
}
$s .= '</div><div class="clear"></div>'; $s .= '</div><div class="clear"></div>';
} }
@ -253,28 +265,37 @@ function pumpio_settings(&$a,&$s) {
function pumpio_settings_post(&$a,&$b) { function pumpio_settings_post(&$a,&$b) {
if(x($_POST,'pumpio-submit')) { if(x($_POST,'pumpio-submit')) {
// filtering the username if it is filled wrong if(x($_POST,'pumpio_delete')) {
$user = $_POST['pumpio_user']; set_pconfig(local_user(),'pumpio','consumer_key','');
if (strstr($user, "@")) { set_pconfig(local_user(),'pumpio','consumer_secret','');
$pos = strpos($user, "@"); set_pconfig(local_user(),'pumpio','host','');
if ($pos > 0) set_pconfig(local_user(),'pumpio','oauth_token','');
$user = substr($user, 0, $pos); set_pconfig(local_user(),'pumpio','oauth_token_secret','');
set_pconfig(local_user(),'pumpio','post',false);
set_pconfig(local_user(),'pumpio','post_by_default',false);
set_pconfig(local_user(),'pumpio','user','');
} else {
// filtering the username if it is filled wrong
$user = $_POST['pumpio_user'];
if (strstr($user, "@")) {
$pos = strpos($user, "@");
if ($pos > 0)
$user = substr($user, 0, $pos);
}
// Filtering the hostname if someone is entering it with "http"
$host = $_POST['pumpio_host'];
$host = trim($host);
$host = str_replace(array("https://", "http://"), array("", ""), $host);
set_pconfig(local_user(),'pumpio','post',intval($_POST['pumpio']));
set_pconfig(local_user(),'pumpio','host',$host);
set_pconfig(local_user(),'pumpio','user',$user);
set_pconfig(local_user(),'pumpio','public',$_POST['pumpio_public']);
set_pconfig(local_user(),'pumpio','mirror',$_POST['pumpio_mirror']);
set_pconfig(local_user(),'pumpio','post_by_default',intval($_POST['pumpio_bydefault']));
} }
// Filtering the hostname if someone is entering it with "http"
$host = $_POST['pumpio_host'];
$host = trim($host);
$host = str_replace(array("https://", "http://"), array("", ""), $host);
set_pconfig(local_user(),'pumpio','post',intval($_POST['pumpio']));
set_pconfig(local_user(),'pumpio','host',$host);
set_pconfig(local_user(),'pumpio','user',$user);
set_pconfig(local_user(),'pumpio','public',$_POST['pumpio_public']);
set_pconfig(local_user(),'pumpio','mirror',$_POST['pumpio_mirror']);
set_pconfig(local_user(),'pumpio','post_by_default',intval($_POST['pumpio_bydefault']));
} }
} }
function pumpio_post_local(&$a,&$b) { function pumpio_post_local(&$a,&$b) {