]> git.mxchange.org Git - friendica.git/blobdiff - include/api.php
Merge pull request #625 from tobiasd/master
[friendica.git] / include / api.php
index 555315bd86a937fda3e563c23596871c333ba3e2..60015566659452dc00782b26608f43d1ec18d323 100644 (file)
@@ -1,9 +1,9 @@
 <?php
-       require_once("bbcode.php");
-       require_once("datetime.php");
-       require_once("conversation.php");
-       require_once("oauth.php");
-       require_once("html2plain.php");
+       require_once("include/bbcode.php");
+       require_once("include/datetime.php");
+       require_once("include/conversation.php");
+       require_once("include/oauth.php");
+       require_once("include/html2plain.php");
        /*
         * Twitter-Like API
         *
                        case "xml":
                                $data = array_xmlify($data);
                                $tpl = get_markup_template("api_".$templatename."_".$type.".tpl");
+                               if(! $tpl) {
+                                       header ("Content-Type: text/xml");
+                                       echo '<?xml version="1.0" encoding="UTF-8"?>'."\n".'<status><error>not implemented</error></status>';
+                                       killme();
+                               }
                                $ret = replace_macros($tpl, $data);
                                break;
                        case "json":
                         $txt = $purifier->purify($txt);
                }
                $txt = html2bbcode($txt);
-               
+
                 $a->argv[1]=$user_info['screen_name']; //should be set to username?
-               
+
                $_REQUEST['hush']='yeah'; //tell wall_upload function to return img info instead of echo
                 require_once('mod/wall_upload.php');
                $bebop = wall_upload_post($a);
-                
+
                //now that we have the img url in bbcode we can add it to the status and insert the wall item.
                 $_REQUEST['body']=$txt."\n\n".$bebop;
                 require_once('mod/item.php');
 
                if (count($lastwall)>0){
                        $lastwall = $lastwall[0];
-                       
+
                        $in_reply_to_status_id = '';
                        $in_reply_to_user_id = '';
                        $in_reply_to_screen_name = '';
                                $in_reply_to_status_id=$lastwall['parent'];
                                $in_reply_to_user_id = $lastwall['reply_uid'];
                                $in_reply_to_screen_name = $lastwall['reply_author'];
-                       }  
+                       }
                        $status_info = array(
-                               'text' => html2plain(bbcode($lastwall['body']), 0),
+                               'text' => html2plain(bbcode($lastwall['body'], false, false, true), 0),
                                'truncated' => false,
                                'created_at' => api_date($lastwall['created']),
                                'in_reply_to_status_id' => $in_reply_to_status_id,
                                $in_reply_to_status_id=$lastwall['parent'];
                                $in_reply_to_user_id = $lastwall['reply_uid'];
                                $in_reply_to_screen_name = $lastwall['reply_author'];
-                       }  
+                       }
                        $user_info['status'] = array(
                                'created_at' => api_date($lastwall['created']),
                                'id' => $lastwall['contact-id'],
-                               'text' => html2plain(bbcode($lastwall['body']), 0),
+                               'text' => html2plain(bbcode($lastwall['body'], false, false, true), 0),
                                'source' => (($lastwall['app']) ? $lastwall['app'] : 'web'),
                                'truncated' => false,
                                'in_reply_to_status_id' => $in_reply_to_status_id,
 
                $myurl = $a->get_baseurl() . '/profile/'. $a->user['nickname'];
                $myurl = substr($myurl,strpos($myurl,'://')+3);
-               $myurl = str_replace(array('www.','.'),array('','\\.'),$myurl);
+               //$myurl = str_replace(array('www.','.'),array('','\\.'),$myurl);
+               $myurl = str_replace('www.','',$myurl);
                $diasp_url = str_replace('/profile/','/u/',$myurl);
 
-               if (get_config('system','use_fulltext_engine'))
-                        $sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from item where (MATCH(`author-link`) AGAINST ('".'"%s"'."' in boolean mode) or MATCH(`tag`) AGAINST ('".'"%s"'."' in boolean mode) or MATCH(tag) AGAINST ('".'"%s"'."' in boolean mode))) ",
-                                dbesc(protect_sprintf($myurl)),
-                                dbesc(protect_sprintf($myurl)),
-                                dbesc(protect_sprintf($diasp_url))
-                        );
-                else
-                        $sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from item where ( `author-link` like '%s' or `tag` like '%s' or tag like '%s' )) ",
-                                dbesc(protect_sprintf('%' . $myurl)),
-                                dbesc(protect_sprintf('%' . $myurl . ']%')),
-                                dbesc(protect_sprintf('%' . $diasp_url . ']%'))
-                        );
+/*             if (get_config('system','use_fulltext_engine'))
+                       $sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from item where (MATCH(`author-link`) AGAINST ('".'"%s"'."' in boolean mode) or MATCH(`tag`) AGAINST ('".'"%s"'."' in boolean mode) or MATCH(tag) AGAINST ('".'"%s"'."' in boolean mode))) ",
+                               dbesc(protect_sprintf($myurl)),
+                               dbesc(protect_sprintf($myurl)),
+                               dbesc(protect_sprintf($diasp_url))
+                       );
+               else
+                       $sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from item where ( `author-link` like '%s' or `tag` like '%s' or tag like '%s' )) ",
+                               dbesc(protect_sprintf('%' . $myurl)),
+                               dbesc(protect_sprintf('%' . $myurl . ']%')),
+                               dbesc(protect_sprintf('%' . $diasp_url . ']%'))
+                       );
+*/
+               $sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from item where `author-link` IN ('https://%s', 'http://%s') OR `mention`)",
+                       dbesc(protect_sprintf($myurl)),
+                       dbesc(protect_sprintf($myurl))
+               );
 
                if ($max_id > 0)
                        $sql_extra .= ' AND `item`.`id` <= '.intval($max_id);
                                $ret['text'] = bbcode($item['body']);
                        }
                        elseif ($_GET["getText"] == "plain") {
-                               $ret['text'] = html2plain(bbcode($item['body']), 0);
+                               $ret['text'] = html2plain(bbcode($item['body'], false, false, true), 0);
                        }
                }
                else {
-                       $ret['text'] = $item['title']."\n".html2plain(bbcode($item['body']), 0);
+                       $ret['text'] = $item['title']."\n".html2plain(bbcode($item['body'], false, false, true), 0);
                }
                if (isset($_GET["getUserObjects"]) && $_GET["getUserObjects"] == "false") {
                        unset($ret['sender']);
                        }
 
                        // Workaround for ostatus messages where the title is identically to the body
-                       $statusbody = trim(html2plain(bbcode($item['body']), 0));
+                       $statusbody = trim(html2plain(bbcode($item['body'], false, false, true), 0));
                        $statustitle = trim($item['title']);
 
                        if (($statustitle != '') and (strpos($statusbody, $statustitle) !== false))