- require_once('include/queue_fn.php');
-
- foreach($qi as $x) {
- if($x['network'] !== NETWORK_DIASPORA2)
- continue;
-
- logger('diaspora_queue: run');
-
- $r = q("SELECT `user`.* FROM `user` LEFT JOIN `contact` on `contact`.`uid` = `user`.`uid`
- WHERE `contact`.`self` = 1 AND `contact`.`id` = %d LIMIT 1",
- intval($x['cid'])
- );
- if(! count($r))
- continue;
-
- $userdata = $r[0];
-
- $diaspora_username = get_pconfig($userdata['uid'],'diaspora','diaspora_username');
- $diaspora_password = get_pconfig($userdata['uid'],'diaspora','diaspora_password');
- $diaspora_url = get_pconfig($userdata['uid'],'diaspora','diaspora_url');
-
- $success = false;
-
- if($diaspora_url && $diaspora_username && $diaspora_password) {
- require_once("addon/diaspora/diasphp.php");
-
- logger('diaspora_queue: able to post for user '.$diaspora_username);
-
- $z = unserialize($x['content']);
-
- $post = $z['post'];
-
- logger('diaspora_queue: post: '.$post, LOGGER_DATA);
-
- try {
- logger('diaspora_queue: prepare', LOGGER_DEBUG);
- $conn = new Diasphp($diaspora_url);
- 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, $hostname);
-
- logger('diaspora_queue: send '.$userdata['uid'].' success', LOGGER_DEBUG);
-
- $success = true;
-
- remove_queue_item($x['id']);
- } catch (Exception $e) {
- logger("diaspora_queue: Send ".$userdata['uid']." failed: ".$e->getMessage(), LOGGER_DEBUG);
- }
- } else
- logger('diaspora_queue: send '.$userdata['uid'].' missing username or password', LOGGER_DEBUG);
-
- if (!$success) {
- logger('diaspora_queue: delayed');
- update_queue_time($x['id']);
- }