pumpio: Posting and mirroring of posts now works

pull/121/head
Michael Vogel 2013-05-16 22:58:48 +02:00
parent 957b9e88fc
commit 6ba248a64c
1 changed files with 26 additions and 45 deletions

View File

@ -5,10 +5,6 @@
* Version: 0.1 * Version: 0.1
* Author: Michael Vogel <http://pirati.ca/profile/heluecht> * Author: Michael Vogel <http://pirati.ca/profile/heluecht>
*/ */
//require_once('library/OAuth1.php');
//require_once('addon/pumpio/pumpiooauth/pumpiooauth.php');
require('addon/pumpio/oauth/http.php'); require('addon/pumpio/oauth/http.php');
require('addon/pumpio/oauth/oauth_client.php'); require('addon/pumpio/oauth/oauth_client.php');
@ -67,9 +63,8 @@ function pumpio_registerclient($a, $host) {
if ($application_name == "") if ($application_name == "")
$application_name = $a->get_hostname(); $application_name = $a->get_hostname();
$params["type"] = "client_associate"; $params["type"] = "client_associate";
$params["contacts"] = "icarus@dabo.de"; // To-Do $params["contacts"] = $a->config['admin_email'];
$params["application_type"] = "native"; $params["application_type"] = "native";
$params["application_name"] = $application_name; $params["application_name"] = $application_name;
$params["logo_url"] = $a->get_baseurl()."/images/friendica-256.png"; $params["logo_url"] = $a->get_baseurl()."/images/friendica-256.png";
@ -376,13 +371,13 @@ function pumpio_cron($a,$b) {
if(! $poll_interval) if(! $poll_interval)
$poll_interval = PUMPIO_DEFAULT_POLL_INTERVAL; $poll_interval = PUMPIO_DEFAULT_POLL_INTERVAL;
// if($last) { if($last) {
// $next = $last + ($poll_interval * 60); $next = $last + ($poll_interval * 60);
// if($next > time()) { if($next > time()) {
// logger('pumpio: poll intervall not reached'); logger('pumpio: poll intervall not reached');
// return; return;
// } }
// } }
logger('pumpio: cron_start'); logger('pumpio: cron_start');
$r = q("SELECT * FROM `pconfig` WHERE `cat` = 'pumpio' AND `k` = 'mirror' AND `v` = '1' ORDER BY RAND() "); $r = q("SELECT * FROM `pconfig` WHERE `cat` = 'pumpio' AND `k` = 'mirror' AND `v` = '1' ORDER BY RAND() ");
@ -412,10 +407,8 @@ function pumpio_fetchtimeline($a, $uid) {
if ($application_name == "") if ($application_name == "")
$application_name = $a->get_hostname(); $application_name = $a->get_hostname();
$first_time = ($lastid == ""); $first_time = ($lastdate == "");
// require('addon/pumpio/oauth/http.php');
// require('addon/pumpio/oauth/oauth_client.php');
$client = new oauth_client_class; $client = new oauth_client_class;
$client->oauth_version = '1.0a'; $client->oauth_version = '1.0a';
$client->authorization_header = true; $client->authorization_header = true;
@ -428,7 +421,6 @@ function pumpio_fetchtimeline($a, $uid) {
$url = 'https://'.$hostname.'/api/user/'.$username.'/feed/major'; $url = 'https://'.$hostname.'/api/user/'.$username.'/feed/major';
//echo 'pumpio: fetching for user '.$uid.' '.$url.' '.$client->access_token;
logger('pumpio: fetching for user '.$uid.' '.$url.' C:'.$client->client_id.' CS:'.$client->client_secret.' T:'.$client->access_token.' TS:'.$client->access_token_secret); logger('pumpio: fetching for user '.$uid.' '.$url.' C:'.$client->client_id.' CS:'.$client->client_secret.' T:'.$client->access_token.' TS:'.$client->access_token_secret);
$success = $client->CallAPI($url, 'GET', array(), array('FailOnAccessError'=>true), $user); $success = $client->CallAPI($url, 'GET', array(), array('FailOnAccessError'=>true), $user);
@ -441,20 +433,20 @@ function pumpio_fetchtimeline($a, $uid) {
$posts = array_reverse($user->items); $posts = array_reverse($user->items);
$initiallastdate = $lastdate; $initiallastdate = $lastdate;
$lastdate = 0; $lastdate = '';
if (count($posts)) { if (count($posts)) {
foreach ($posts as $post) { foreach ($posts as $post) {
if (strtotime($post->published) <= $initiallastdate) if ($post->generator->published <= $initiallastdate)
continue; continue;
if ($lastdate < strtotime($post->published)) if ($lastdate < $post->generator->published)
$lastdate = strtotime($post->published); $lastdate = $post->generator->published;
//if ($first_time) if ($first_time)
// continue; continue;
if (!strpos($post->source, $application_name)) { if (!strstr($post->generator->displayName, $application_name)) {
require_once('include/html2bbcode.php'); require_once('include/html2bbcode.php');
$_SESSION["authenticated"] = true; $_SESSION["authenticated"] = true;
@ -465,37 +457,26 @@ function pumpio_fetchtimeline($a, $uid) {
$_REQUEST["profile_uid"] = $uid; $_REQUEST["profile_uid"] = $uid;
$_REQUEST["source"] = "pump.io"; $_REQUEST["source"] = "pump.io";
if ($post->object->displayName != "")
$_REQUEST["title"] = html2bbcode($post->object->displayName);
$_REQUEST["body"] = html2bbcode($post->object->content); $_REQUEST["body"] = html2bbcode($post->object->content);
if ($post->object->fullImage->url != "")
$_REQUEST["body"] = "[url=".$post->object->fullImage->url."][img]".$post->object->image->url."[/img][/url]\n".$_REQUEST["body"];
logger('pumpio: posting for user '.$uid); logger('pumpio: posting for user '.$uid);
require_once('mod/item.php'); require_once('mod/item.php');
//print_r($_REQUEST);
item_post($a); item_post($a);
logger('pumpio: posting done - user '.$uid);
} }
} }
} }
//$lastdate = '2013-05-16T20:22:12Z';
if ($lastdate != 0) if ($lastdate != 0)
set_pconfig($uid,'pumpio','lastdate', $lastdate); set_pconfig($uid,'pumpio','lastdate', $lastdate);
} }
/*
require_once("boot.php");
if(@is_null($a)) {
$a = new App;
}
if(is_null($db)) {
@include(".htconfig.php");
require_once("dba.php");
$db = new dba($db_host, $db_user, $db_pass, $db_data);
unset($db_host, $db_user, $db_pass, $db_data);
};
$a->set_baseurl(get_config('system','url'));
$uid = 1;
pumpio_fetchtimeline($a, $uid);
*/
?>