]> git.mxchange.org Git - friendica.git/blobdiff - include/items.php
* Add MIME types for file attachments
[friendica.git] / include / items.php
index 4ef26fbda8a9fc6885a05b4dcac1ce6d86097ece..08127c6eb68a127fc5d72cdfbe386191fad853db 100755 (executable)
@@ -5,7 +5,7 @@ require_once('include/oembed.php');
 require_once('include/salmon.php');
 require_once('include/crypto.php');
 require_once('include/Photo.php');
-
+require_once('include/email.php');
 
 function get_feed_for(&$a, $dfrn_id, $owner_nick, $last_update, $direction = 0) {
 
@@ -798,6 +798,7 @@ function get_atom_elements($feed,$item) {
                logger('get_atom_elements: Looking for status.net repeated message');
 
                $message = $child["http://activitystrea.ms/spec/1.0/"]["object"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10]["content"][0]["data"];
+               $orig_uri = $child["http://activitystrea.ms/spec/1.0/"]["object"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10]["id"][0]["data"];
                $author = $child[SIMPLEPIE_NAMESPACE_ATOM_10]["author"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10];
                $uri = $author["uri"][0]["data"];
                $name = $author["name"][0]["data"];
@@ -805,17 +806,26 @@ function get_atom_elements($feed,$item) {
                $avatar = $avatar["href"];
 
                if (($name != "") and ($uri != "") and ($avatar != "") and ($message != "")) {
-                       logger('get_atom_elements: fixing sender of repeated message');
+                       logger('get_atom_elements: fixing sender of repeated message.');
+
+                       if (intval(get_config('system','new_share'))) {
+                               $prefix = "[share author='".str_replace("'", "'",$name).
+                                               "' profile='".$uri.
+                                               "' avatar='".$avatar.
+                                               "' link='".$orig_uri."']";
 
-                       $res["owner-name"] = $res["author-name"];
-                       $res["owner-link"] = $res["author-link"];
-                       $res["owner-avatar"] = $res["author-avatar"];
+                               $res["body"] = $prefix.html2bbcode($message)."[/share]";
+                       } else {
+                               $res["owner-name"] = $res["author-name"];
+                               $res["owner-link"] = $res["author-link"];
+                               $res["owner-avatar"] = $res["author-avatar"];
 
-                       $res["author-name"] = $name;
-                       $res["author-link"] = $uri;
-                       $res["author-avatar"] = $avatar;
+                               $res["author-name"] = $name;
+                               $res["author-link"] = $uri;
+                               $res["author-avatar"] = $avatar;
 
-                       $res["body"] = html2bbcode($message);
+                               $res["body"] = html2bbcode($message);
+                       }
                }
        }
 
@@ -885,7 +895,7 @@ function item_store($arr,$force_parent = false) {
 
 
        if (version_compare(PHP_VERSION, '5.3.0', '>=')) {
-               require_once('Text/LanguageDetect.php');
+               require_once('library/langdet/Text/LanguageDetect.php');
                $naked_body = preg_replace('/\[(.+?)\]/','',$arr['body']);
                $l = new Text_LanguageDetect;
                $lng = $l->detectConfidence($naked_body);
@@ -1597,7 +1607,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
 
        if((is_array($contact)) && ($photo_timestamp) && (strlen($photo_url)) && ($photo_timestamp > $contact['avatar-date'])) {
                logger('consume_feed: Updating photo for ' . $contact['name']);
-               require_once("Photo.php");
+               require_once("include/Photo.php");
                $photo_failure = false;
                $have_photo = false;
 
@@ -2230,7 +2240,7 @@ function local_delivery($importer,$data) {
 
        if(($photo_timestamp) && (strlen($photo_url)) && ($photo_timestamp > $importer['avatar-date'])) {
                logger('local_delivery: Updating photo for ' . $importer['name']);
-               require_once("Photo.php");
+               require_once("include/Photo.php");
                $photo_failure = false;
                $have_photo = false;
 
@@ -3360,9 +3370,9 @@ function new_follower($importer,$contact,$datarray,$item,$sharing = false) {
                                        '$sitename' => $a->config['sitename']
                                ));
                                $res = mail($r[0]['email'], 
-                                       (($sharing) ? t('A new person is sharing with you at ') : t("You have a new follower at ")) . $a->config['sitename'],
+                                       email_header_encode((($sharing) ? t('A new person is sharing with you at ') : t("You have a new follower at ")) . $a->config['sitename'],'UTF-8'),
                                        $email,
-                                       'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] . "\n"
+                                       'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n"
                                        . 'Content-type: text/plain; charset=UTF-8' . "\n"
                                        . 'Content-transfer-encoding: 8bit' );
                        
@@ -3722,11 +3732,11 @@ function item_getfeedtags($item) {
 
 function item_getfeedattach($item) {
        $ret = '';
-       $arr = explode(',',$item['attach']);
+       $arr = explode('[/attach],',$item['attach']);
        if(count($arr)) {
                foreach($arr as $r) {
                        $matches = false;
-                       $cnt = preg_match('|\[attach\]href=\"(.*?)\" length=\"(.*?)\" type=\"(.*?)\" title=\"(.*?)\"\[\/attach\]|',$r,$matches);
+                       $cnt = preg_match('|\[attach\]href=\"(.*?)\" length=\"(.*?)\" type=\"(.*?)\" title=\"(.*?)\"|',$r,$matches);
                        if($cnt) {
                                $ret .= '<link rel="enclosure" href="' . xmlify($matches[1]) . '" type="' . xmlify($matches[3]) . '" ';
                                if(intval($matches[2]))
@@ -4031,10 +4041,13 @@ function posted_dates($uid,$wall) {
 function posted_date_widget($url,$uid,$wall) {
        $o = '';
 
+       if(! feature_enabled($uid,'archives'))
+               return $o;
+
        // For former Facebook folks that left because of "timeline"
 
-       if($wall && intval(get_pconfig($uid,'system','no_wall_archive_widget')))
-               return $o;
+/*     if($wall && intval(get_pconfig($uid,'system','no_wall_archive_widget')))
+               return $o;*/
 
        $ret = posted_dates($uid,$wall);
        if(! count($ret))