]> git.mxchange.org Git - friendica.git/blobdiff - include/network.php
attribution issue - don't take author name from contact if available from item.
[friendica.git] / include / network.php
old mode 100644 (file)
new mode 100755 (executable)
index c6f5fd9..25db62d
@@ -5,7 +5,7 @@
 // results. 
 
 if(! function_exists('fetch_url')) {
-function fetch_url($url,$binary = false, &$redirects = 0, $timeout = 0) {
+function fetch_url($url,$binary = false, &$redirects = 0, $timeout = 0, $accept_content=Null) {
 
        $a = get_app();
 
@@ -14,8 +14,16 @@ function fetch_url($url,$binary = false, &$redirects = 0, $timeout = 0) {
                return false;
 
        @curl_setopt($ch, CURLOPT_HEADER, true);
+       
+       if (!is_null($accept_content)){
+               curl_setopt($ch,CURLOPT_HTTPHEADER, array (
+                       "Accept: "+$accept_content
+               ));
+       }
+       
        @curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
-       @curl_setopt($ch, CURLOPT_USERAGENT, "Friendika");
+       @curl_setopt($ch, CURLOPT_USERAGENT, "Friendica");
+
 
        if(intval($timeout)) {
                @curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
@@ -97,7 +105,7 @@ function post_url($url,$params, $headers = null, &$redirects = 0, $timeout = 0)
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
        curl_setopt($ch, CURLOPT_POST,1);
        curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
-       curl_setopt($ch, CURLOPT_USERAGENT, "Friendika");
+       curl_setopt($ch, CURLOPT_USERAGENT, "Friendica");
 
        if(intval($timeout)) {
                curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
@@ -527,6 +535,9 @@ function fetch_xrd_links($url) {
        if ((! $xml) || (! stristr($xml,'<xrd')))
                return array();
 
+       // fix diaspora's bad xml
+       $xml = str_replace(array('href=&quot;','&quot;/>'),array('href="','"/>'),$xml);
+
        $h = parse_xml_string($xml);
        if(! $h)
                return array();
@@ -568,6 +579,9 @@ function fetch_xrd_links($url) {
 
 if(! function_exists('validate_url')) {
 function validate_url(&$url) {
+       // no naked subdomains
+       if(strpos($url,'.') === false)
+               return false;
        if(substr($url,0,4) != 'http')
                $url = 'http://' . $url;
        $h = @parse_url($url);
@@ -732,7 +746,6 @@ function add_fcontact($arr,$update = false) {
                        dbesc($arr['notify']),
                        dbesc($arr['poll']),
                        dbesc($arr['confirm']),
-                       dbesc($arr['network']),
                        dbesc($arr['alias']),
                        dbesc($arr['pubkey']),
                        dbesc(datetime_convert()),
@@ -760,5 +773,6 @@ function add_fcontact($arr,$update = false) {
                        dbesc(datetime_convert())
                );
        }
+
        return $r;
 }