X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=statusnet%2Fstatusnet.php;h=7ef171f75f4825d5147ed20375946e00c9800c79;hb=429448786d52475085e2266ae07add8dce5d9b4c;hp=7308f223de5ad70267e65f5e5339758c87a61ad0;hpb=e090ee2990350ad051d894eac9fdeb509a3f2c51;p=friendica-addons.git diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index 7308f223..7ef171f7 100644 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -33,16 +33,9 @@ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ -/* - * 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! - */ - define('STATUSNET_DEFAULT_POLL_INTERVAL', 5); // given in minutes -require_once 'library/twitteroauth.php'; +require_once __DIR__ . DIRECTORY_SEPARATOR . 'library' . DIRECTORY_SEPARATOR . 'statusnetoauth.php'; require_once 'include/enotify.php'; use Friendica\App; @@ -60,94 +53,6 @@ use Friendica\Model\Photo; use Friendica\Model\User; use Friendica\Util\Network; -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 - * - * @return API results - * - * Copied here from the twitteroauth library and complemented by applying the proxy settings of friendica - */ - function http($url, $method, $postfields = NULL) - { - $this->http_info = []; - $ci = curl_init(); - /* Curl settings */ - $prx = Config::get('system', 'proxy'); - if (strlen($prx)) { - curl_setopt($ci, CURLOPT_HTTPPROXYTUNNEL, 1); - curl_setopt($ci, CURLOPT_PROXY, $prx); - $prxusr = 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; - } -} - function statusnet_install() { // we need some hooks, for the configuration and for sending tweets @@ -671,7 +576,7 @@ function statusnet_post_hook(App $a, &$b) $postdata = ["status" => $msg]; } - // and now dent it :-) + // and now send it :-) if (strlen($msg)) { if ($iscomment) { $postdata["in_reply_to_status_id"] = substr($orig_post["uri"], $hostlength); @@ -679,7 +584,7 @@ function statusnet_post_hook(App $a, &$b) } // New code that is able to post pictures - require_once "addon/statusnet/codebird.php"; + require_once __DIR__ . DIRECTORY_SEPARATOR . 'library' . DIRECTORY_SEPARATOR . 'codebirdsn.php'; $cb = \CodebirdSN\CodebirdSN::getInstance(); $cb->setAPIEndpoint($api); $cb->setConsumerKey($ckey, $csecret); @@ -1131,9 +1036,9 @@ function statusnet_fetchuser(App $a, $uid, $screen_name = "", $user_id = "") $otoken = PConfig::get($uid, 'statusnet', 'oauthtoken'); $osecret = PConfig::get($uid, 'statusnet', 'oauthsecret'); - require_once "addon/statusnet/codebird.php"; + require_once __DIR__ . DIRECTORY_SEPARATOR . 'library' . DIRECTORY_SEPARATOR . 'codebirdsn.php'; - $cb = \Codebird\Codebird::getInstance(); + $cb = \CodebirdSN\CodebirdSN::getInstance(); $cb->setConsumerKey($ckey, $csecret); $cb->setToken($otoken, $osecret); @@ -1403,7 +1308,6 @@ function statusnet_fetchhometimeline(App $a, $uid, $mode = 1) logger("statusnet_fetchhometimeline: Fetching for user " . $uid, LOGGER_DEBUG); - require_once 'library/twitteroauth.php'; require_once 'include/items.php'; $connection = new StatusNetOAuth($api, $ckey, $csecret, $otoken, $osecret); @@ -1604,8 +1508,6 @@ function statusnet_complete_conversation(App $a, $uid, $self, $create_user, $nic $osecret = PConfig::get($uid, 'statusnet', 'oauthsecret'); $own_url = PConfig::get($uid, 'statusnet', 'own_url'); - require_once 'library/twitteroauth.php'; - $connection = new StatusNetOAuth($api, $ckey, $csecret, $otoken, $osecret); $parameters["count"] = 200; @@ -1756,8 +1658,6 @@ function statusnet_fetch_own_contact(App $a, $uid) $contact_id = 0; if ($own_url == "") { - require_once 'library/twitteroauth.php'; - $connection = new StatusNetOAuth($api, $ckey, $csecret, $otoken, $osecret); // Fetching user data