*/
define('FACEBOOK_MAXPOSTLEN', 420);
+define('FACEBOOK_SESSION_ERR_NOTIFICATION_INTERVAL', 259200); // 3 days
function facebook_install() {
if(strlen($a->config['admin_email']) && !get_config('facebook', 'realtime_err_mailsent')) {
$res = mail($a->config['admin_email'], t('Problems with Facebook Real-Time Updates'),
- "Hi!\n\nThere's a problem with the Facebook Real-Time Updates that cannot be solved automatically. Maybe an permission issue?\n\nThis e-mail will only be sent once.",
+ "Hi!\n\nThere's a problem with the Facebook Real-Time Updates that cannot be solved automatically. Maybe a permission issue?\n\nPlease try to re-activate it on " . $a->config["system"]["url"] . "/admin/plugins/facebook\n\nThis e-mail will only be sent once.",
'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] . "\n"
. 'Content-type: text/plain; charset=UTF-8' . "\n"
. 'Content-transfer-encoding: 8bit'
*/
require_once('include/group.php');
+ require_once('include/html2plain.php');
logger('Facebook post');
if($b['verb'] == ACTIVITY_DISLIKE)
$msg = trim(strip_tags(bbcode($msg)));
- $search_str = $a->get_baseurl() . '/search';
+ /*$search_str = $a->get_baseurl() . '/search';
if(preg_match("/\[url=(.*?)\](.*?)\[\/url\]/is",$msg,$matches)) {
if((strpos($link,z_root()) !== false) && (! $image))
$image = $a->get_baseurl() . '/images/friendica-64.jpg';
- $msg = trim(strip_tags(bbcode($msg)));
+ $msg = trim(strip_tags(bbcode($msg)));*/
+
+ // Test
+
+ // Looking for images
+ if(preg_match("/\[img\=([0-9]*)x([0-9]*)\](.*?)\[\/img\]/is",$b['body'],$matches))
+ $image = $matches[3];
+
+ if(preg_match("/\[img\](.*?)\[\/img\]/is",$b['body'],$matches))
+ $image = $matches[1];
+
+ $html = bbcode($b['body']);
+ $msg = trim($b['title']." \n".html2plain($html, 0, true));
$msg = html_entity_decode($msg,ENT_QUOTES,'UTF-8');
+ $toolong = false;
+
// add any attachments as text urls
- $arr = explode(',',$b['attach']);
+ $arr = explode(',',$b['attach']);
- if(count($arr)) {
+ if(count($arr)) {
$msg .= "\n";
- foreach($arr as $r) {
- $matches = false;
+ foreach($arr as $r) {
+ $matches = false;
$cnt = preg_match('|\[attach\]href=\"(.*?)\" size=\"(.*?)\" type=\"(.*?)\" title=\"(.*?)\"\[\/attach\]|',$r,$matches);
if($cnt) {
- $msg .= $matches[1];
+ $msg .= "\n".$matches[1];
}
}
}
- if (strlen($msg) > FACEBOOK_MAXPOSTLEN) {
+ // To-Do: look for bookmark-bbcode and handle it with priority
+
+ $links = collecturls($html);
+ if (sizeof($links) > 0) {
+ reset($links);
+ $link = current($links);
+ /*if (strlen($msg."\n".$link) <= FACEBOOK_MAXPOSTLEN)
+ $msg .= "\n".$link;
+ else
+ $toolong = true;*/
+ }
+
+ if ((strlen($msg) > FACEBOOK_MAXPOSTLEN) or $toolong) {
$shortlink = "";
require_once('library/slinky.php');
if(! get_config('facebook','test_mode')) {
$x = post_url($url, $postvars);
+ logger('Facebook post returns: ' . $x, LOGGER_DEBUG);
$retj = json_decode($x);
if($retj->id) {
dbesc('fb::' . $retj->id),
intval($b['id'])
);
- del_pconfig($b['uid'], 'facebook', 'session_expired_mailsent');
}
else {
if(! $likes) {
if (isset($retj->error) && $retj->error->type == "OAuthException" && $retj->error->code == 190) {
logger('Facebook session has expired due to changed password.', LOGGER_DEBUG);
- if (!get_pconfig($b['uid'], 'facebook', 'session_expired_mailsent')) {
+
+ $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']) );
'language' => $r[0]['language'],
'to_name' => $r[0]['username'],
'to_email' => $r[0]['email'],
+ 'source_name' => t('Administrator'),
+ 'source_link' => $a->config["system"]["url"],
+ 'source_photo' => $a->config["system"]["url"] . '/images/person-80.jpg',
));
- set_pconfig($b['uid'], 'facebook', 'session_expired_mailsent', '1');
- }
+ 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);
}
}
-
- logger('Facebook post returns: ' . $x, LOGGER_DEBUG);
}
}
}
$data['itemlink'] = '/facebook';
$data['epreamble'] = $data['preamble'] = t('Your Facebook connection became invalid. Please Re-authenticate.');
$data['subject'] = t('Facebook connection became invalid');
+ $data['body'] = sprintf( t("Hi %1\$s,\n\nThe connection between your accounts on %2\$s and Facebook became invalid. This usually happens after you change your Facebook-password. To enable the connection again, you have to %3\$sre-authenticate the Facebook-connector%4\$s."), $data['params']['to_name'], "[url=" . $app->config["system"]["url"] . "]" . $app->config["sitename"] . "[/url]", "[url=" . $app->config["system"]["url"] . "/facebook]", "[/url]");
}
}
curl_close($ch);
return($body);
-}}
\ No newline at end of file
+}}