-<?php\r
-\r
-use Friendica\Core\Config;\r
-\r
-require_once __DIR__ . DIRECTORY_SEPARATOR . 'twitteroauth.php';\r
-\r
-/*\r
- * We have to alter the TwitterOAuth class a little bit to work with any GNU Social\r
- * installation abroad. Basically it's only make the API path variable and be happy.\r
- *\r
- * Thank you guys for the Twitter compatible API!\r
- */\r
-class StatusNetOAuth extends TwitterOAuth\r
-{\r
- function get_maxlength()\r
- {\r
- $config = $this->get($this->host . 'statusnet/config.json');\r
- return $config->site->textlimit;\r
- }\r
-\r
- function accessTokenURL()\r
- {\r
- return $this->host . 'oauth/access_token';\r
- }\r
-\r
- function authenticateURL()\r
- {\r
- return $this->host . 'oauth/authenticate';\r
- }\r
-\r
- function authorizeURL()\r
- {\r
- return $this->host . 'oauth/authorize';\r
- }\r
-\r
- function requestTokenURL()\r
- {\r
- return $this->host . 'oauth/request_token';\r
- }\r
-\r
- function __construct($apipath, $consumer_key, $consumer_secret, $oauth_token = NULL, $oauth_token_secret = NULL)\r
- {\r
- parent::__construct($consumer_key, $consumer_secret, $oauth_token, $oauth_token_secret);\r
- $this->host = $apipath;\r
- }\r
-\r
- /**\r
- * Make an HTTP request\r
- *\r
- * Copied here from the TwitterOAuth library and complemented by applying the proxy settings of Friendica\r
- *\r
- * @param string $method\r
- * @param string $host\r
- * @param string $path\r
- * @param array $parameters\r
- *\r
- * @return array|object API results\r
- */\r
- function http($url, $method, $postfields = NULL)\r
- {\r
- $this->http_info = [];\r
- $ci = curl_init();\r
- /* Curl settings */\r
- $prx = Config::get('system', 'proxy');\r
- if (strlen($prx)) {\r
- curl_setopt($ci, CURLOPT_HTTPPROXYTUNNEL, 1);\r
- curl_setopt($ci, CURLOPT_PROXY, $prx);\r
- $prxusr = Config::get('system', 'proxyuser');\r
- if (strlen($prxusr)) {\r
- curl_setopt($ci, CURLOPT_PROXYUSERPWD, $prxusr);\r
- }\r
- }\r
- curl_setopt($ci, CURLOPT_USERAGENT, $this->useragent);\r
- curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, $this->connecttimeout);\r
- curl_setopt($ci, CURLOPT_TIMEOUT, $this->timeout);\r
- curl_setopt($ci, CURLOPT_RETURNTRANSFER, TRUE);\r
- curl_setopt($ci, CURLOPT_HTTPHEADER, ['Expect:']);\r
- curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, $this->ssl_verifypeer);\r
- curl_setopt($ci, CURLOPT_HEADERFUNCTION, [$this, 'getHeader']);\r
- curl_setopt($ci, CURLOPT_HEADER, FALSE);\r
-\r
- switch ($method) {\r
- case 'POST':\r
- curl_setopt($ci, CURLOPT_POST, TRUE);\r
- if (!empty($postfields)) {\r
- curl_setopt($ci, CURLOPT_POSTFIELDS, $postfields);\r
- }\r
- break;\r
- case 'DELETE':\r
- curl_setopt($ci, CURLOPT_CUSTOMREQUEST, 'DELETE');\r
- if (!empty($postfields)) {\r
- $url = "{$url}?{$postfields}";\r
- }\r
- }\r
-\r
- curl_setopt($ci, CURLOPT_URL, $url);\r
- $response = curl_exec($ci);\r
- $this->http_code = curl_getinfo($ci, CURLINFO_HTTP_CODE);\r
- $this->http_info = array_merge($this->http_info, curl_getinfo($ci));\r
- $this->url = $url;\r
- curl_close($ci);\r
- return $response;\r
- }\r
-}\r
+<?php
+
+use Friendica\DI;
+
+require_once __DIR__ . DIRECTORY_SEPARATOR . 'twitteroauth.php';
+
+/*
+ * We have to alter the TwitterOAuth class a little bit to work with any GNU Social
+ * installation abroad. Basically it's only make the API path variable and be happy.
+ *
+ * Thank you guys for the Twitter compatible API!
+ */
+class StatusNetOAuth extends TwitterOAuth
+{
+ function get_maxlength()
+ {
+ $config = $this->get($this->host . 'statusnet/config.json');
+ return $config->site->textlimit;
+ }
+
+ function accessTokenURL()
+ {
+ return $this->host . 'oauth/access_token';
+ }
+
+ function authenticateURL()
+ {
+ return $this->host . 'oauth/authenticate';
+ }
+
+ function authorizeURL()
+ {
+ return $this->host . 'oauth/authorize';
+ }
+
+ function requestTokenURL()
+ {
+ return $this->host . 'oauth/request_token';
+ }
+
+ function __construct($apipath, $consumer_key, $consumer_secret, $oauth_token = NULL, $oauth_token_secret = NULL)
+ {
+ parent::__construct($consumer_key, $consumer_secret, $oauth_token, $oauth_token_secret);
+ $this->host = $apipath;
+ }
+
+ /**
+ * Make an HTTP request
+ *
+ * Copied here from the TwitterOAuth library and complemented by applying the proxy settings of Friendica
+ *
+ * @param string $method
+ * @param string $host
+ * @param string $path
+ * @param array $parameters
+ *
+ * @return array|object API results
+ */
+ function http($url, $method, $postfields = NULL)
+ {
+ $this->http_info = [];
+ $ci = curl_init();
+ /* Curl settings */
+ $prx = DI::config()->get('system', 'proxy');
+ if (strlen($prx)) {
+ curl_setopt($ci, CURLOPT_HTTPPROXYTUNNEL, 1);
+ curl_setopt($ci, CURLOPT_PROXY, $prx);
+ $prxusr = DI::config()->get('system', 'proxyuser');
+ if (strlen($prxusr)) {
+ curl_setopt($ci, CURLOPT_PROXYUSERPWD, $prxusr);
+ }
+ }
+ curl_setopt($ci, CURLOPT_USERAGENT, $this->useragent);
+ curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, $this->connecttimeout);
+ curl_setopt($ci, CURLOPT_TIMEOUT, $this->timeout);
+ curl_setopt($ci, CURLOPT_RETURNTRANSFER, TRUE);
+ curl_setopt($ci, CURLOPT_HTTPHEADER, ['Expect:']);
+ curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, $this->ssl_verifypeer);
+ curl_setopt($ci, CURLOPT_HEADERFUNCTION, [$this, 'getHeader']);
+ curl_setopt($ci, CURLOPT_HEADER, FALSE);
+
+ switch ($method) {
+ case 'POST':
+ curl_setopt($ci, CURLOPT_POST, TRUE);
+ if (!empty($postfields)) {
+ curl_setopt($ci, CURLOPT_POSTFIELDS, $postfields);
+ }
+ break;
+ case 'DELETE':
+ curl_setopt($ci, CURLOPT_CUSTOMREQUEST, 'DELETE');
+ if (!empty($postfields)) {
+ $url = "{$url}?{$postfields}";
+ }
+ }
+
+ curl_setopt($ci, CURLOPT_URL, $url);
+ $response = curl_exec($ci);
+ $this->http_code = curl_getinfo($ci, CURLINFO_HTTP_CODE);
+ $this->http_info = array_merge($this->http_info, curl_getinfo($ci));
+ $this->url = $url;
+ curl_close($ci);
+ return $response;
+ }
+}