X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=pumpio%2Fpumpio.php;h=787c29b132d6babe128bcd7ef25ecfae334a06cf;hb=3d907bfc537445cb7e7562db175b06663906af7f;hp=78b738fab8dfb52618ddfe2fffe1e1afc6b3cff3;hpb=2284e21c0ab23e7524ce2597092979d3953eb6f2;p=friendica-addons.git diff --git a/pumpio/pumpio.php b/pumpio/pumpio.php old mode 100755 new mode 100644 index 78b738fa..787c29b1 --- a/pumpio/pumpio.php +++ b/pumpio/pumpio.php @@ -1,33 +1,42 @@ */ + +use Friendica\Core\Worker; + require('addon/pumpio/oauth/http.php'); require('addon/pumpio/oauth/oauth_client.php'); +require_once('include/enotify.php'); +require_once('include/socgraph.php'); +require_once("include/Photo.php"); +require_once("mod/share.php"); define('PUMPIO_DEFAULT_POLL_INTERVAL', 5); // given in minutes function pumpio_install() { - register_hook('post_local', 'addon/pumpio/pumpio.php', 'pumpio_post_local'); - register_hook('notifier_normal', 'addon/pumpio/pumpio.php', 'pumpio_send'); - register_hook('jot_networks', 'addon/pumpio/pumpio.php', 'pumpio_jot_nets'); - register_hook('connector_settings', 'addon/pumpio/pumpio.php', 'pumpio_settings'); - register_hook('connector_settings_post', 'addon/pumpio/pumpio.php', 'pumpio_settings_post'); - register_hook('cron', 'addon/pumpio/pumpio.php', 'pumpio_cron'); - register_hook('queue_predeliver', 'addon/pumpio/pumpio.php', 'pumpio_queue_hook'); + register_hook('post_local', 'addon/pumpio/pumpio.php', 'pumpio_post_local'); + register_hook('notifier_normal', 'addon/pumpio/pumpio.php', 'pumpio_send'); + register_hook('jot_networks', 'addon/pumpio/pumpio.php', 'pumpio_jot_nets'); + register_hook('connector_settings', 'addon/pumpio/pumpio.php', 'pumpio_settings'); + register_hook('connector_settings_post', 'addon/pumpio/pumpio.php', 'pumpio_settings_post'); + register_hook('cron', 'addon/pumpio/pumpio.php', 'pumpio_cron'); + register_hook('queue_predeliver', 'addon/pumpio/pumpio.php', 'pumpio_queue_hook'); + register_hook('check_item_notification','addon/pumpio/pumpio.php', 'pumpio_check_item_notification'); } function pumpio_uninstall() { - unregister_hook('post_local', 'addon/pumpio/pumpio.php', 'pumpio_post_local'); - unregister_hook('notifier_normal', 'addon/pumpio/pumpio.php', 'pumpio_send'); - unregister_hook('jot_networks', 'addon/pumpio/pumpio.php', 'pumpio_jot_nets'); - unregister_hook('connector_settings', 'addon/pumpio/pumpio.php', 'pumpio_settings'); - unregister_hook('connector_settings_post', 'addon/pumpio/pumpio.php', 'pumpio_settings_post'); - unregister_hook('cron', 'addon/pumpio/pumpio.php', 'pumpio_cron'); - unregister_hook('queue_predeliver', 'addon/pumpio/pumpio.php', 'pumpio_queue_hook'); + unregister_hook('post_local', 'addon/pumpio/pumpio.php', 'pumpio_post_local'); + unregister_hook('notifier_normal', 'addon/pumpio/pumpio.php', 'pumpio_send'); + unregister_hook('jot_networks', 'addon/pumpio/pumpio.php', 'pumpio_jot_nets'); + unregister_hook('connector_settings', 'addon/pumpio/pumpio.php', 'pumpio_settings'); + unregister_hook('connector_settings_post', 'addon/pumpio/pumpio.php', 'pumpio_settings_post'); + unregister_hook('cron', 'addon/pumpio/pumpio.php', 'pumpio_cron'); + unregister_hook('queue_predeliver', 'addon/pumpio/pumpio.php', 'pumpio_queue_hook'); + unregister_hook('check_item_notification','addon/pumpio/pumpio.php', 'pumpio_check_item_notification'); } function pumpio_module() {} @@ -57,41 +66,51 @@ function pumpio_content(&$a) { return $o; } +function pumpio_check_item_notification($a, &$notification_data) { + $hostname = get_pconfig($notification_data["uid"], 'pumpio','host'); + $username = get_pconfig($notification_data["uid"], "pumpio", "user"); + + $notification_data["profiles"][] = "https://".$hostname."/".$username; +} + + function pumpio_registerclient(&$a, $host) { $url = "https://".$host."/api/client/register"; - $params = array(); + $params = array(); $application_name = get_config('pumpio', 'application_name'); if ($application_name == "") $application_name = $a->get_hostname(); - $params["type"] = "client_associate"; - $params["contacts"] = $a->config['admin_email']; - $params["application_type"] = "native"; - $params["application_name"] = $application_name; - $params["logo_url"] = $a->get_baseurl()."/images/friendica-256.png"; - $params["redirect_uris"] = $a->get_baseurl()."/pumpio/connect"; + $adminlist = explode(",", str_replace(" ", "", $a->config['admin_email'])); + + $params["type"] = "client_associate"; + $params["contacts"] = $adminlist[0]; + $params["application_type"] = "native"; + $params["application_name"] = $application_name; + $params["logo_url"] = $a->get_baseurl()."/images/friendica-256.png"; + $params["redirect_uris"] = $a->get_baseurl()."/pumpio/connect"; logger("pumpio_registerclient: ".$url." parameters ".print_r($params, true), LOGGER_DEBUG); - $ch = curl_init($url); - curl_setopt($ch, CURLOPT_HEADER, false); - curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); - curl_setopt($ch, CURLOPT_POST,1); - curl_setopt($ch, CURLOPT_POSTFIELDS,$params); - curl_setopt($ch, CURLOPT_USERAGENT, "Friendica"); + $ch = curl_init($url); + curl_setopt($ch, CURLOPT_HEADER, false); + curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); + curl_setopt($ch, CURLOPT_POST,1); + curl_setopt($ch, CURLOPT_POSTFIELDS,$params); + curl_setopt($ch, CURLOPT_USERAGENT, "Friendica"); - $s = curl_exec($ch); - $curl_info = curl_getinfo($ch); + $s = curl_exec($ch); + $curl_info = curl_getinfo($ch); - if ($curl_info["http_code"] == "200") { - $values = json_decode($s); + if ($curl_info["http_code"] == "200") { + $values = json_decode($s); logger("pumpio_registerclient: success ".print_r($values, true), LOGGER_DEBUG); return($values); - } + } logger("pumpio_registerclient: failed: ".print_r($curl_info, true), LOGGER_DEBUG); return(false); @@ -106,7 +125,7 @@ function pumpio_connect(&$a) { $consumer_secret = get_pconfig(local_user(), 'pumpio','consumer_secret'); $hostname = get_pconfig(local_user(), 'pumpio','host'); - if ((($consumer_key == "") OR ($consumer_secret == "")) AND ($hostname != "")) { + if ((($consumer_key == "") || ($consumer_secret == "")) && ($hostname != "")) { logger("pumpio_connect: register client"); $clientdata = pumpio_registerclient($a, $hostname); set_pconfig(local_user(), 'pumpio','consumer_key', $clientdata->client_id); @@ -118,7 +137,7 @@ function pumpio_connect(&$a) { logger("pumpio_connect: ckey: ".$consumer_key." csecrect: ".$consumer_secret, LOGGER_DEBUG); } - if (($consumer_key == "") OR ($consumer_secret == "")) { + if (($consumer_key == "") || ($consumer_secret == "")) { logger("pumpio_connect: ".sprintf("Unable to register the client at the pump.io server '%s'.", $hostname)); $o .= sprintf(t("Unable to register the client at the pump.io server '%s'."), $hostname); @@ -156,10 +175,10 @@ function pumpio_connect(&$a) { } $success = $client->Finalize($success); } - if($client->exit) - $o = 'Could not connect to pumpio. Refresh the page or try again later.'; + if($client->exit) + $o = 'Could not connect to pumpio. Refresh the page or try again later.'; - if($success) { + if($success) { logger("pumpio_connect: authenticated"); $o .= t("You are now authenticated to pumpio."); $o .= '
'.t("return to the connector page").''; @@ -172,118 +191,117 @@ function pumpio_connect(&$a) { } function pumpio_jot_nets(&$a,&$b) { - if(! local_user()) - return; - - $pumpio_post = get_pconfig(local_user(),'pumpio','post'); - if(intval($pumpio_post) == 1) { - $pumpio_defpost = get_pconfig(local_user(),'pumpio','post_by_default'); - $selected = ((intval($pumpio_defpost) == 1) ? ' checked="checked" ' : ''); - $b .= '
' - . t('Post to pumpio') . '
'; - } + if(! local_user()) + return; + + $pumpio_post = get_pconfig(local_user(),'pumpio','post'); + if(intval($pumpio_post) == 1) { + $pumpio_defpost = get_pconfig(local_user(),'pumpio','post_by_default'); + $selected = ((intval($pumpio_defpost) == 1) ? ' checked="checked" ' : ''); + $b .= '
' + . t('Post to pumpio') . '
'; + } } function pumpio_settings(&$a,&$s) { - if(! local_user()) - return; - - /* Add our stylesheet to the page so we can make our settings look nice */ - - $a->page['htmlhead'] .= '' . "\r\n"; - - /* Get the current state of our config variables */ - - $import_enabled = get_pconfig(local_user(),'pumpio','import'); - $import_checked = (($import_enabled) ? ' checked="checked" ' : ''); + if(! local_user()) + return; - $enabled = get_pconfig(local_user(),'pumpio','post'); - $checked = (($enabled) ? ' checked="checked" ' : ''); - $css = (($enabled) ? '' : '-disabled'); + /* Add our stylesheet to the page so we can make our settings look nice */ - $def_enabled = get_pconfig(local_user(),'pumpio','post_by_default'); - $def_checked = (($def_enabled) ? ' checked="checked" ' : ''); + $a->page['htmlhead'] .= '' . "\r\n"; - $public_enabled = get_pconfig(local_user(),'pumpio','public'); - $public_checked = (($public_enabled) ? ' checked="checked" ' : ''); + /* Get the current state of our config variables */ - $mirror_enabled = get_pconfig(local_user(),'pumpio','mirror'); - $mirror_checked = (($mirror_enabled) ? ' checked="checked" ' : ''); + $import_enabled = get_pconfig(local_user(),'pumpio','import'); + $import_checked = (($import_enabled) ? ' checked="checked" ' : ''); - $servername = get_pconfig(local_user(), "pumpio", "host"); - $username = get_pconfig(local_user(), "pumpio", "user"); + $enabled = get_pconfig(local_user(),'pumpio','post'); + $checked = (($enabled) ? ' checked="checked" ' : ''); + $css = (($enabled) ? '' : '-disabled'); - /* Add some HTML to the existing form */ + $def_enabled = get_pconfig(local_user(),'pumpio','post_by_default'); + $def_checked = (($def_enabled) ? ' checked="checked" ' : ''); - $s .= ''; - $s .= '

'. t('Pump.io Import/Export/Mirror').'

'; - $s .= '
'; - $s .= '