⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.19
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
psa-horde
/
services
/
twitter
/
Edit File: index.php
<?php /** * Callback page for Twitter integration. * * Copyright 2009-2017 Horde LLC (http://www.horde.org/) * * See the enclosed file COPYING for license information (LGPL-2). If you * did not receive this file, see http://www.horde.org/licenses/lgpl. * * @author Michael J. Rubinsky <mrubinsk.horde.org> * @category Horde * @license http://www.horde.org/licenses/lgpl LGPL-2 * @package Horde */ function _outputError($e) { global $notification, $page_output; Horde::log($e, 'INFO'); $body = ($e instanceof Exception) ? $e->getMessage() : $e; if (($errors = json_decode($body, true)) && isset($errors['errors'])) { $errors = $errors['errors']; } else { $errors = array(array('message' => $body)); } $notification->push(_("Error connecting to Twitter. Details have been logged for the administrator."), 'horde.error', array('sticky')); foreach ($errors as $error) { $notification->push($error['message'], 'horde.error', array('sticky')); } $page_output->header(); $notification->notify(array('listeners' => 'status')); $page_output->footer(); exit; } require_once __DIR__ . '/../../lib/Application.php'; Horde_Registry::appInit('horde'); if (empty($conf['twitter']['enabled'])) { Horde::url('index.php', false, array('app' => 'horde'))->redirect(); } $twitter = $injector->getInstance('Horde_Service_Twitter'); /* See if we have an existing token for the current user */ $token = unserialize($prefs->getValue('twitter')); /* Check for an existing token */ if (!empty($token['key']) && !empty($token['secret'])) { $auth_token = new Horde_Oauth_Token($token['key'], $token['secret']); $twitter->auth->setToken($auth_token); } $page_output->topbar = $page_output->sidebar = false; /* Check to see if we have a valid token */ if (!empty($auth_token)) { try { $profile = Horde_Serialize::unserialize($twitter->account->verifyCredentials(), Horde_Serialize::JSON); } catch (Horde_Service_Twitter_Exception $e) { _outputError($e); } } elseif ($r_secret = $session->retrieve('twitter_request_secret')) { /* No existing auth token, maybe we are in the process of getting it? */ try { $auth_token = $twitter->auth->getAccessToken($injector->getInstance('Horde_Controller_Request'), Horde_Util::getFormData('oauth_verifier')); } catch (Horde_Service_Twitter_Exception $e) { _outputError($e); } /* Clear the temporary request secret */ $session->purge('twitter_request_secret'); if ($auth_token === false || empty($auth_token)) { // We had a request secret, but something went wrong. maybe navigated // back here between requests? // fall through? Display message? What?.... //'echo'; // } else { /* Successfully obtained an auth token, save it to prefs etc... */ $prefs->setValue('twitter', serialize(array('key' => $auth_token->key, 'secret' => $auth_token->secret))); /* Now try again */ $twitter->auth->setToken($auth_token); try { $profile = Horde_Serialize::unserialize($twitter->account->verifyCredentials(), Horde_Serialize::JSON); } catch (Horde_Service_Twitter_Exception $e) { _outputError($e); } if (!empty($profile->error)) { _outputError($profile->error); } if (!empty($profile)) { $page_output->header(); echo '<script type="text/javascript">window.opener.location.reload(true);window.close();</script>'; $page_output->footer(); exit; } } }
Simpan