diff --git a/.gitignore b/.gitignore deleted file mode 100755 index 88dec63d..00000000 --- a/.gitignore +++ /dev/null @@ -1,23 +0,0 @@ -favicon.* -.htconfig.php -\#* -include/jquery-1.4.2.min.js -*.log -*.out -*.version* -#favicon.* -#home.html -#addon -*~ - -#ignore documentation, it should be newly built -#doc/api - -#ignore reports, should be generted with every build -report/ - -#ignore config files from eclipse, we don't want IDE files in our repository -.project -.buildpath -.externalToolBuilders -.settings diff --git a/facebook.tgz b/facebook.tgz index 06778620..bad39916 100644 Binary files a/facebook.tgz and b/facebook.tgz differ diff --git a/facebook/facebook.php b/facebook/facebook.php index e433c98e..33d7d187 100755 --- a/facebook/facebook.php +++ b/facebook/facebook.php @@ -673,6 +673,7 @@ function facebook_post_hook(&$a,&$b) { */ require_once('include/group.php'); + require_once('include/html2plain.php'); logger('Facebook post'); @@ -793,7 +794,7 @@ function facebook_post_hook(&$a,&$b) { 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)) { @@ -822,25 +823,51 @@ function facebook_post_hook(&$a,&$b) { 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'); @@ -1588,4 +1615,4 @@ function facebook_delete_url($url,$headers = null, &$redirects = 0, $timeout = 0 curl_close($ch); return($body); -}} \ No newline at end of file +}} diff --git a/namethingy.tgz b/namethingy.tgz new file mode 100644 index 00000000..9642e384 Binary files /dev/null and b/namethingy.tgz differ diff --git a/namethingy/namethingy.php b/namethingy/namethingy.php new file mode 100755 index 00000000..0ccf106c --- /dev/null +++ b/namethingy/namethingy.php @@ -0,0 +1,37 @@ + + */ + + +function namethingy_install() { + register_hook('app_menu', 'addon/namethingy/namethingy.php', 'namethingy_app_menu'); +} + +function namethingy_uninstall() { + unregister_hook('app_menu', 'addon/namethingy/namethingy.php', 'namethingy_app_menu'); + +} + +function namethingy_app_menu($a,&$b) { + $b['app_menu'][] = '
NameThingy
'; +} + + +function namethingy_module() {} + +function namethingy_content(&$a) { + +$baseurl = $a->get_baseurl() . '/addon/namethingy'; + +$o .= <<< EOT +