X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=pumpio%2Fpumpio.php;h=367879e61f8cedca0737cd053591e6417d37a997;hb=42eefed6e68d241bd8bdf9eceea96abc445a9cac;hp=3083d732e174eced3744da84eb468a871d254bd8;hpb=e97a64a73525569faa6070db344efeb26acaa140;p=friendica-addons.git diff --git a/pumpio/pumpio.php b/pumpio/pumpio.php old mode 100755 new mode 100644 index 3083d732..ff9a3ac3 --- a/pumpio/pumpio.php +++ b/pumpio/pumpio.php @@ -1,33 +1,45 @@ */ + +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"); + +use Friendica\Core\Config; +use Friendica\Core\PConfig; 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() {} @@ -39,10 +51,8 @@ function pumpio_content(&$a) { return ''; } - if (function_exists("apc_delete")) { - $toDelete = new APCIterator('user', APC_ITER_VALUE); - apc_delete($toDelete); - } + require_once("mod/settings.php"); + settings_init($a); if (isset($a->argv[1])) switch ($a->argv[1]) { @@ -59,41 +69,51 @@ function pumpio_content(&$a) { return $o; } +function pumpio_check_item_notification($a, &$notification_data) { + $hostname = PConfig::get($notification_data["uid"], 'pumpio','host'); + $username = PConfig::get($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'); + $application_name = Config::get('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); @@ -104,23 +124,23 @@ function pumpio_connect(&$a) { session_start(); // Define the needed keys - $consumer_key = get_pconfig(local_user(), 'pumpio','consumer_key'); - $consumer_secret = get_pconfig(local_user(), 'pumpio','consumer_secret'); - $hostname = get_pconfig(local_user(), 'pumpio','host'); + $consumer_key = PConfig::get(local_user(), 'pumpio','consumer_key'); + $consumer_secret = PConfig::get(local_user(), 'pumpio','consumer_secret'); + $hostname = PConfig::get(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); - set_pconfig(local_user(), 'pumpio','consumer_secret', $clientdata->client_secret); + PConfig::set(local_user(), 'pumpio','consumer_key', $clientdata->client_id); + PConfig::set(local_user(), 'pumpio','consumer_secret', $clientdata->client_secret); - $consumer_key = get_pconfig(local_user(), 'pumpio','consumer_key'); - $consumer_secret = get_pconfig(local_user(), 'pumpio','consumer_secret'); + $consumer_key = PConfig::get(local_user(), 'pumpio','consumer_key'); + $consumer_secret = PConfig::get(local_user(), 'pumpio','consumer_secret'); 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); @@ -152,16 +172,16 @@ function pumpio_connect(&$a) { if (($success = $client->Process())) { if (strlen($client->access_token)) { logger("pumpio_connect: otoken: ".$client->access_token." osecrect: ".$client->access_token_secret, LOGGER_DEBUG); - set_pconfig(local_user(), "pumpio", "oauth_token", $client->access_token); - set_pconfig(local_user(), "pumpio", "oauth_token_secret", $client->access_token_secret); + PConfig::set(local_user(), "pumpio", "oauth_token", $client->access_token); + PConfig::set(local_user(), "pumpio", "oauth_token_secret", $client->access_token_secret); } } $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").''; @@ -174,117 +194,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 = PConfig::get(local_user(),'pumpio','post'); + if(intval($pumpio_post) == 1) { + $pumpio_defpost = PConfig::get(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" ' : ''); + /* 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 = PConfig::get(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 = PConfig::get(local_user(),'pumpio','post'); + $checked = (($enabled) ? ' checked="checked" ' : ''); + $css = (($enabled) ? '' : '-disabled'); - /* Add some HTML to the existing form */ + $def_enabled = PConfig::get(local_user(),'pumpio','post_by_default'); + $def_checked = (($def_enabled) ? ' checked="checked" ' : ''); - $s .= ''; - $s .= '

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

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