// this query don't work on some mysql versions
if (get_config('communityhome','showactiveusers')===true){
$r = q("SELECT `uni`.`contacts`,`uni`.`items`, `profile`.*, `profile`.`uid` AS `profile_uid`, `user`.`nickname` FROM
- (SELECT COUNT(`id`) as `contacts`, `uid` FROM `contact` WHERE `self`=0 GROUP BY `uid`) AS `con`,
- (SELECT COUNT(`id`) as `items`, `uid` FROM `item` WHERE `item`.`changed` > DATE(NOW() - INTERVAL 1 MONTH) AND `item`.`wall` = 1 GROUP BY `uid`) AS `ite`,
+ (SELECT COUNT(*) as `contacts`, `uid` FROM `contact` WHERE `self`=0 GROUP BY `uid`) AS `con`,
+ (SELECT COUNT(*) as `items`, `uid` FROM `item` WHERE `item`.`changed` > DATE(NOW() - INTERVAL 1 MONTH) AND `item`.`wall` = 1 GROUP BY `uid`) AS `ite`,
(
SELECT `contacts`,`items`,`ite`.`uid` FROM `con` RIGHT OUTER JOIN `ite` ON `con`.`uid`=`ite`.`uid`
UNION ALL
class Diasphp {
function __construct($pod) {
$this->token_regex = '/content="(.*?)" name="csrf-token/';
-
+
$this->pod = $pod;
$this->cookiejar = tempnam(sys_get_temp_dir(), 'cookies');
}
function _fetch_token() {
$ch = curl_init();
-
+
curl_setopt ($ch, CURLOPT_URL, $this->pod . "/stream");
curl_setopt ($ch, CURLOPT_COOKIEFILE, $this->cookiejar);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $this->cookiejar);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
-
+
$output = curl_exec ($ch);
curl_close($ch);
-
+
// Token holen und zurückgeben
preg_match($this->token_regex, $output, $matches);
return $matches[1];
}
-
+
function login($username, $password) {
$datatopost = array(
'user[username]' => $username,
'user[password]' => $password,
'authenticity_token' => $this->_fetch_token()
);
-
+
$poststr = http_build_query($datatopost);
-
+
// Adresse per cURL abrufen
$ch = curl_init();
-
+
curl_setopt ($ch, CURLOPT_URL, $this->pod . "/users/sign_in");
curl_setopt ($ch, CURLOPT_COOKIEFILE, $this->cookiejar);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $this->cookiejar);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_POST, true);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $poststr);
-
+
curl_exec ($ch);
$info = curl_getinfo($ch);
curl_close($ch);
-
+
if($info['http_code'] != 302) {
throw new Exception('Login error '.print_r($info, true));
}
// Das Objekt zurückgeben, damit man Aurufe verketten kann.
return $this;
}
-
+
function post($text) {
// post-daten vorbereiten
$datatopost = json_encode(array(
'aspect_ids' => 'public',
'status_message' => array('text' => $text)
));
-
+
// header vorbereiten
$headers = array(
'Content-Type: application/json',
'accept: application/json',
'x-csrf-token: '.$this->_fetch_token()
);
-
+
// Adresse per cURL abrufen
$ch = curl_init();
-
+
curl_setopt ($ch, CURLOPT_URL, $this->pod . "/status_messages");
curl_setopt ($ch, CURLOPT_COOKIEFILE, $this->cookiejar);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $this->cookiejar);
curl_setopt ($ch, CURLOPT_POST, true);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $datatopost);
curl_setopt ($ch, CURLOPT_HTTPHEADER, $headers);
-
+
curl_exec ($ch);
$info = curl_getinfo($ch);
curl_close($ch);
-
+
if($info['http_code'] != 201) {
throw new Exception('Post error '.print_r($info, true));
}
-
+
// Ende der möglichen Kette, gib mal "true" zurück.
return true;
}
`name-date` = '%s',
`uri-date` = '%s',
`avatar-date` = '%s'
- WHERE `id` = %d LIMIT 1
+ WHERE `id` = %d
",
dbesc($photos[0]),
dbesc($photos[1]),
`name-date` = '%s',
`uri-date` = '%s',
`avatar-date` = '%s'
- WHERE `id` = %d LIMIT 1
+ WHERE `id` = %d
",
dbesc($photos[0]),
dbesc($photos[1]),
$o = '<input type="hidden" name="form_security_token" value="' . get_form_security_token("fbsave") . '">';
-
+
$o .= '<h4>' . t('Facebook API Key') . '</h4>';
-
+
$appid = get_config('facebook', 'appid' );
$appsecret = get_config('facebook', 'appsecret' );
$poll_interval = get_config('facebook', 'poll_interval' );
$sync_comments = get_config('facebook', 'sync_comments' );
if (!$poll_interval) $poll_interval = FACEBOOK_DEFAULT_POLL_INTERVAL;
-
+
$ret1 = q("SELECT `v` FROM `config` WHERE `cat` = 'facebook' AND `k` = 'appid' LIMIT 1");
$ret2 = q("SELECT `v` FROM `config` WHERE `cat` = 'facebook' AND `k` = 'appsecret' LIMIT 1");
if ((count($ret1) > 0 && $ret1[0]['v'] != $appid) || (count($ret2) > 0 && $ret2[0]['v'] != $appsecret)) $o .= t('Error: it appears that you have specified the App-ID and -Secret in your .htconfig.php file. As long as they are specified there, they cannot be set using this form.<br><br>');
-
+
$working_connection = false;
if ($appid && $appsecret) {
$subs = facebook_subscriptions_get();
$working_connection = true;
} else $o .= t('The correctness of the API Key could not be detected. Something strange\'s going on.') . '<br>';
}
-
+
$o .= '<label for="fb_appid">' . t('App-ID / API-Key') . '</label><input id="fb_appid" name="appid" type="text" value="' . escape_tags($appid ? $appid : "") . '"><br style="clear: both;">';
$o .= '<label for="fb_appsecret">' . t('Application secret') . '</label><input id="fb_appsecret" name="appsecret" type="text" value="' . escape_tags($appsecret ? $appsecret : "") . '"><br style="clear: both;">';
$o .= '<label for="fb_poll_interval">' . sprintf(t('Polling Interval in minutes (minimum %1$s minutes)'), FACEBOOK_MIN_POLL_INTERVAL) . '</label><input name="poll_interval" id="fb_poll_interval" type="number" min="' . FACEBOOK_MIN_POLL_INTERVAL . '" value="' . $poll_interval . '"><br style="clear: both;">';
$retj = json_decode($x);
if($retj->id) {
- q("UPDATE `item` SET `extid` = '%s' WHERE `id` = %d LIMIT 1",
+ q("UPDATE `item` SET `extid` = '%s' WHERE `id` = %d",
dbesc('fb::' . $retj->id),
intval($b['id'])
);
add_to_queue($a->contact,NETWORK_FACEBOOK,$s);
notice( t('Facebook post failed. Queued for retry.') . EOL);
}
-
+
if (isset($retj->error) && $retj->error->type == "OAuthException" && $retj->error->code == 190) {
logger('Facebook session has expired due to changed password.', LOGGER_DEBUG);
-
+
$last_notification = get_pconfig($b['uid'], 'facebook', 'session_expired_mailsent');
if (!$last_notification || $last_notification < (time() - FACEBOOK_SESSION_ERR_NOTIFICATION_INTERVAL)) {
require_once('include/enotify.php');
-
+
$r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", intval($b['uid']) );
notification(array(
'uid' => $b['uid'],
'source_link' => $a->config["system"]["url"],
'source_photo' => $a->config["system"]["url"] . '/images/person-80.jpg',
));
-
+
set_pconfig($b['uid'], 'facebook', 'session_expired_mailsent', time());
} else logger('Facebook: No notification, as the last one was sent on ' . $last_notification, LOGGER_DEBUG);
}
$retj = json_decode($j);
if($retj->id) {
- q("UPDATE `item` SET `extid` = '%s' WHERE `id` = %d LIMIT 1",
+ q("UPDATE `item` SET `extid` = '%s' WHERE `id` = %d",
dbesc('fb::' . $retj->id),
intval($item)
);
- logger('facebook_queue: success: ' . $j);
+ logger('facebook_queue: success: ' . $j);
remove_queue_item($x['id']);
}
else {
if(! $days)
return;
- $r = q("UPDATE user set account_expires_on = '%s', expire = %d where uid = %d limit 1",
+ $r = q("UPDATE user set account_expires_on = '%s', expire = %d where uid = %d",
dbesc(datetime_convert('UTC','UTC','now +' . $days . ' days')),
intval($days_posts),
intval($uid)
'source_photo' => $a->get_baseurl() . '/images/person-80.jpg',
));
- q("update user set expire_notification_sent = '%s' where uid = %d limit 1",
+ q("update user set expire_notification_sent = '%s' where uid = %d",
dbesc(datetime_convert()),
intval($rr['uid'])
);
$r = q("select uid from user where account_expired = 0 and login_date = '0000-00-00 00:00:00' and register_date < UTC_TIMESTAMP() - INTERVAL %d DAY and account_expires_on = '0000-00-00 00:00:00'",intval($nologin));
if(count($r)) {
foreach($r as $rr)
- q("update user set account_expires_on = '%s' where uid = %d limit 1",
+ q("update user set account_expires_on = '%s' where uid = %d",
dbesc(datetime_convert('UTC','UTC','now +' . '6 days')),
intval($rr['uid'])
);
$r = q("select uid from user where account_expired = 0 and login_date < UTC_TIMESTAMP() - INTERVAL %d DAY and account_expires_on = '0000-00-00 00:00:00' and `page-flags` = 0",intval($flagusers));
if(count($r)) {
foreach($r as $rr)
- q("update user set account_expires_on = '%s' where uid = %d limit 1",
+ q("update user set account_expires_on = '%s' where uid = %d",
dbesc(datetime_convert('UTC','UTC','now +' . '6 days')),
intval($rr['uid'])
);
$r = q("select uid from user where account_expired = 0 and login_date < UTC_TIMESTAMP() - INTERVAL %d DAY and account_expires_on = '0000-00-00 00:00:00' and expire = 0 and `page-flags` = 0",intval($flagposts));
if(count($r)) {
foreach($r as $rr)
- q("update user set expire = %d where uid = %d limit 1",
+ q("update user set expire = %d where uid = %d",
intval($flagpostsexpire),
intval($rr['uid'])
);
$days = get_config('public_server','expiredays');
if(! $days)
return;
- $r = q("UPDATE user set account_expires_on = '%s' where uid = %d and account_expires_on > '0000-00-00 00:00:00' limit 1",
+ $r = q("UPDATE user set account_expires_on = '%s' where uid = %d and account_expires_on > '0000-00-00 00:00:00'",
dbesc(datetime_convert('UTC','UTC','now +' . $days . ' days')),
local_user()
);
function pumpio_dopost(&$a, $client, $uid, $self, $post, $own_id, $threadcompletion = false) {
require_once('include/items.php');
+ require_once('include/html2bbcode.php');
if (($post->verb == "like") OR ($post->verb == "favorite"))
return pumpio_dolike($a, $uid, $self, $post, $own_id);
if(! $days)
return;
- $r = q("UPDATE user set account_expires_on = '%s' where uid = %d limit 1",
+ $r = q("UPDATE user set account_expires_on = '%s' where uid = %d",
dbesc(datetime_convert('UTC','UTC','now +' . $days . ' days')),
intval($uid)
);
};
-
+
function testdrive_cron($a,$b) {
require_once('include/enotify.php');
'source_photo' => $a->get_baseurl() . '/images/person-80.jpg',
));
- q("update user set expire_notification_sent = '%s' where uid = %d limit 1",
+ q("update user set expire_notification_sent = '%s' where uid = %d",
dbesc(datetime_convert()),
intval($rr['uid'])
);
-
+
}
}