]> git.mxchange.org Git - friendica-addons.git/blobdiff - diaspora/diaspora.php
Merge pull request #256 from annando/1502-new-community-setting
[friendica-addons.git] / diaspora / diaspora.php
index 09262d839a0dfb41d55322fe917ed4859198f98e..dfefff71a619037a8d5c37a3ee5120fd833a2dc4 100755 (executable)
@@ -39,6 +39,8 @@ function diaspora_jot_nets(&$a,&$b) {
 }
 
 function diaspora_queue_hook(&$a,&$b) {
+       $hostname = $a->get_hostname();
+
        $qi = q("SELECT * FROM `queue` WHERE `network` = '%s'",
                dbesc(NETWORK_DIASPORA2)
        );
@@ -85,7 +87,7 @@ function diaspora_queue_hook(&$a,&$b) {
                                logger('diaspora_queue: try to log in '.$diaspora_username, LOGGER_DEBUG);
                                $conn->login($diaspora_username, $diaspora_password);
                                logger('diaspora_queue: try to send '.$body, LOGGER_DEBUG);
-                               $conn->post($post);
+                               $conn->post($post, $hostname);
 
                                 logger('diaspora_queue: send '.$userdata['uid'].' success', LOGGER_DEBUG);
 
@@ -107,66 +109,84 @@ function diaspora_queue_hook(&$a,&$b) {
 
 function diaspora_settings(&$a,&$s) {
 
-    if(! local_user())
-        return;
+       if(! local_user())
+               return;
 
-    /* Add our stylesheet to the page so we can make our settings look nice */
+       /* Add our stylesheet to the page so we can make our settings look nice */
 
-    $a->page['htmlhead'] .= '<link rel="stylesheet"  type="text/css" href="' . $a->get_baseurl() . '/addon/diaspora/diaspora.css' . '" media="all" />' . "\r\n";
+       $a->page['htmlhead'] .= '<link rel="stylesheet"  type="text/css" href="' . $a->get_baseurl() . '/addon/diaspora/diaspora.css' . '" media="all" />' . "\r\n";
 
-    /* Get the current state of our config variables */
+       /* Get the current state of our config variables */
 
-    $enabled = get_pconfig(local_user(),'diaspora','post');
+       $enabled = get_pconfig(local_user(),'diaspora','post');
+       $checked = (($enabled) ? ' checked="checked" ' : '');
+       $css = (($enabled) ? '' : '-disabled');
 
-    $checked = (($enabled) ? ' checked="checked" ' : '');
+       $def_enabled = get_pconfig(local_user(),'diaspora','post_by_default');
 
-    $def_enabled = get_pconfig(local_user(),'diaspora','post_by_default');
+       $def_checked = (($def_enabled) ? ' checked="checked" ' : '');
 
-    $def_checked = (($def_enabled) ? ' checked="checked" ' : '');
+       $diaspora_username = get_pconfig(local_user(), 'diaspora', 'diaspora_username');
+       $diaspora_password = get_pconfig(local_user(), 'diaspora', 'diaspora_password');
+       $diaspora_url = get_pconfig(local_user(), 'diaspora', 'diaspora_url');
+
+       $status = "";
+
+       if ($diaspora_username AND $diaspora_password AND $diaspora_url) {
+               try {
+                       require_once("addon/diaspora/diasphp.php");
 
-    $diaspora_username = get_pconfig(local_user(), 'diaspora', 'diaspora_username');
-    $diaspora_password = get_pconfig(local_user(), 'diaspora', 'diaspora_password');
-    $diaspora_url = get_pconfig(local_user(), 'diaspora', 'diaspora_url');
+                       $conn = new Diasphp($diaspora_url);
+                       $conn->login($diaspora_username, $diaspora_password);
+               } catch (Exception $e) {
+                       $status = t("Can't login to your Diaspora account. Please check username and password and ensure you used the complete address (including http...)");
+               }
+       }
 
+       /* Add some HTML to the existing form */
 
-    /* Add some HTML to the existing form */
+       $s .= '<span id="settings_diaspora_inflated" class="settings-block fakelink" style="display: block;" onclick="openClose(\'settings_diaspora_expanded\'); openClose(\'settings_diaspora_inflated\');">';
+       $s .= '<img class="connector'.$css.'" src="images/diaspora-logo.png" /><h3 class="connector">'. t('Diaspora Export').'</h3>';
+       $s .= '</span>';
+       $s .= '<div id="settings_diaspora_expanded" class="settings-block" style="display: none;">';
+       $s .= '<span class="fakelink" onclick="openClose(\'settings_diaspora_expanded\'); openClose(\'settings_diaspora_inflated\');">';
+       $s .= '<img class="connector'.$css.'" src="images/diaspora-logo.png" /><h3 class="connector">'. t('Diaspora Export').'</h3>';
+       $s .= '</span>';
 
-    $s .= '<span id="settings_diaspora_inflated" class="settings-block fakelink" style="display: block;" onclick="openClose(\'settings_diaspora_expanded\'); openClose(\'settings_diaspora_inflated\');">';
-    $s .= '<h3>' . t('Diaspora') . '</h3>';
-    $s .= '</span>';
-    $s .= '<div id="settings_diaspora_expanded" class="settings-block" style="display: none;">';
-    $s .= '<span class="fakelink" onclick="openClose(\'settings_diaspora_expanded\'); openClose(\'settings_diaspora_inflated\');">';
-    $s .= '<h3>' . t('Diaspora') . '</h3>';
-    $s .= '</span>';
+       if ($status) {
+               $s .= '<div id="diaspora-status-wrapper"><strong>';
+               $s .= $status;
+               $s .= '</strong></div><div class="clear"></div>';
+       }
 
-    $s .= '<div id="diaspora-enable-wrapper">';
-    $s .= '<label id="diaspora-enable-label" for="diaspora-checkbox">' . t('Enable Diaspora Post Plugin') . '</label>';
-    $s .= '<input id="diaspora-checkbox" type="checkbox" name="diaspora" value="1" ' . $checked . '/>';
-    $s .= '</div><div class="clear"></div>';
+       $s .= '<div id="diaspora-enable-wrapper">';
+       $s .= '<label id="diaspora-enable-label" for="diaspora-checkbox">' . t('Enable Diaspora Post Plugin') . '</label>';
+       $s .= '<input id="diaspora-checkbox" type="checkbox" name="diaspora" value="1" ' . $checked . '/>';
+       $s .= '</div><div class="clear"></div>';
 
-    $s .= '<div id="diaspora-username-wrapper">';
-    $s .= '<label id="diaspora-username-label" for="diaspora-username">' . t('Diaspora username') . '</label>';
-    $s .= '<input id="diaspora-username" type="text" name="diaspora_username" value="' . $diaspora_username . '" />';
-    $s .= '</div><div class="clear"></div>';
+       $s .= '<div id="diaspora-username-wrapper">';
+       $s .= '<label id="diaspora-username-label" for="diaspora-username">' . t('Diaspora username') . '</label>';
+       $s .= '<input id="diaspora-username" type="text" name="diaspora_username" value="' . $diaspora_username . '" />';
+       $s .= '</div><div class="clear"></div>';
 
-    $s .= '<div id="diaspora-password-wrapper">';
-    $s .= '<label id="diaspora-password-label" for="diaspora-password">' . t('Diaspora password') . '</label>';
-    $s .= '<input id="diaspora-password" type="password" name="diaspora_password" value="' . $diaspora_password . '" />';
-    $s .= '</div><div class="clear"></div>';
+       $s .= '<div id="diaspora-password-wrapper">';
+       $s .= '<label id="diaspora-password-label" for="diaspora-password">' . t('Diaspora password') . '</label>';
+       $s .= '<input id="diaspora-password" type="password" name="diaspora_password" value="' . $diaspora_password . '" />';
+       $s .= '</div><div class="clear"></div>';
 
-    $s .= '<div id="diaspora-url-wrapper">';
-    $s .= '<label id="diaspora-url-label" for="diaspora-url">' . t('Diaspora site URL') . '</label>';
-    $s .= '<input id="diaspora-url" type="text" name="diaspora_url" value="' . $diaspora_url . '" />';
-    $s .= '</div><div class="clear"></div>';
+       $s .= '<div id="diaspora-url-wrapper">';
+       $s .= '<label id="diaspora-url-label" for="diaspora-url">' . t('Diaspora site URL') . '</label>';
+       $s .= '<input id="diaspora-url" type="text" name="diaspora_url" value="' . $diaspora_url . '" />';
+       $s .= '</div><div class="clear"></div>';
 
-    $s .= '<div id="diaspora-bydefault-wrapper">';
-    $s .= '<label id="diaspora-bydefault-label" for="diaspora-bydefault">' . t('Post to Diaspora by default') . '</label>';
-    $s .= '<input id="diaspora-bydefault" type="checkbox" name="diaspora_bydefault" value="1" ' . $def_checked . '/>';
-    $s .= '</div><div class="clear"></div>';
+       $s .= '<div id="diaspora-bydefault-wrapper">';
+       $s .= '<label id="diaspora-bydefault-label" for="diaspora-bydefault">' . t('Post to Diaspora by default') . '</label>';
+       $s .= '<input id="diaspora-bydefault" type="checkbox" name="diaspora_bydefault" value="1" ' . $def_checked . '/>';
+       $s .= '</div><div class="clear"></div>';
 
-    /* provide a submit button */
+       /* provide a submit button */
 
-    $s .= '<div class="settings-submit-wrapper" ><input type="submit" id="diaspora-submit" name="diaspora-submit" class="settings-submit" value="' . t('Save Settings') . '" /></div></div>';
+       $s .= '<div class="settings-submit-wrapper" ><input type="submit" id="diaspora-submit" name="diaspora-submit" class="settings-submit" value="' . t('Save Settings') . '" /></div></div>';
 
 }
 
@@ -215,6 +235,7 @@ function diaspora_post_local(&$a,&$b) {
 
 
 function diaspora_send(&$a,&$b) {
+       $hostname = $a->get_hostname();
 
        logger('diaspora_send: invoked');
 
@@ -285,7 +306,7 @@ function diaspora_send(&$a,&$b) {
                        logger('diaspora_send: try to send '.$body, LOGGER_DEBUG);
 
                        //throw new Exception('Test');
-                       $conn->post($body);
+                       $conn->post($body, $hostname);
 
                        logger('diaspora_send: success');
                } catch (Exception $e) {