]> git.mxchange.org Git - friendica.git/blobdiff - include/api.php
string update
[friendica.git] / include / api.php
index 252caeb8e2886e3e9b7e607678b82fc7129c2ba5..9cf4551bdee87dbfd848796d57fa7b394fcc7356 100644 (file)
         * Simple HTTP Login
         */
        function api_login(&$a){
+               // login with oauth
+               try{
+                       $oauth = new FKOAuth1();
+                       list($consumer,$token) = $oauth->verify_request(OAuthRequest::from_request());
+                       if (!is_null($token)){
+                               $oauth->loginUser($token->uid);
+                               call_hooks('logged_in', $a->user);
+                               return;
+                       }
+                       echo __file__.__line__.__function__."<pre>"; var_dump($consumer, $token); die();
+               }catch(Exception $e){
+                       logger(__file__.__line__.__function__."\n".$e);
+                       //die(__file__.__line__.__function__."<pre>".$e); die();
+               }
+
+               
+               
                // workaround for HTTP-auth in CGI mode
                if(x($_SERVER,'REDIRECT_REMOTE_USER')) {
                        $userpass = base64_decode(substr($_SERVER["REDIRECT_REMOTE_USER"],6)) ;
                // count friends
                $r = q("SELECT COUNT(`id`) as `count` FROM `contact`
                                WHERE  `uid` = %d AND `rel` IN ( %d, %d )
-                               AND `self`=0 AND `blocked`=0", 
+                               AND `self`=0 AND `blocked`=0 AND `pending`=0 AND `hidden`=0", 
                                intval($uinfo[0]['uid']),
                                intval(CONTACT_IS_SHARING),
                                intval(CONTACT_IS_FRIEND)
 
                $r = q("SELECT COUNT(`id`) as `count` FROM `contact`
                                WHERE  `uid` = %d AND `rel` IN ( %d, %d )
-                               AND `self`=0 AND `blocked`=0", 
+                               AND `self`=0 AND `blocked`=0 AND `pending`=0 AND `hidden`=0", 
                                intval($uinfo[0]['uid']),
                                intval(CONTACT_IS_FOLLOWER),
                                intval(CONTACT_IS_FRIEND)
                return $ret; 
        }
 
-       /**
-        * apply xmlify() to all values of array $val, recursively
-        */
-       function api_xmlify($val){
-               if (is_bool($val)) return $val?"true":"false";
-               if (is_array($val)) return array_map('api_xmlify', $val);
-               return xmlify((string) $val);
-       }
 
        /**
         *  load api $templatename for $type and replace $data array
                        case "atom":
                        case "rss":
                        case "xml":
-                               $data = api_xmlify($data);
+                               $data = array_xmlify($data);
                                $tpl = get_markup_template("api_".$templatename."_".$type.".tpl");
                                $ret = replace_macros($tpl, $data);
                                break;
                }catch(Exception $e){
                        echo "error=". OAuthUtil::urlencode_rfc3986($e->getMessage()); killme();
                }
-               echo "oauth_token=".$r->key."&oauth_secret=".$r->secret;
+               echo $r;
                killme();       
        }
        function api_oauth_access_token(&$a, $type){
                }catch(Exception $e){
                        echo "error=". OAuthUtil::urlencode_rfc3986($e->getMessage()); killme();
                }
-               echo "oauth_token=".$r->key."&oauth_secret=".$r->secret;
+               echo $r;
                killme();                       
        }
-       function api_oauth_authorize(&$a, $type){
-       }
+
        api_register_func('api/oauth/request_token', 'api_oauth_request_token', false);
        api_register_func('api/oauth/access_token', 'api_oauth_access_token', false);
-       api_register_func('api/oauth/authorize', 'api_oauth_authorize', false);
+