Spade
Mini Shell
| Directory:~$ /home/lmsyaran/public_html/joomla4/ |
| [Home] [System Details] [Kill Me] |
home/lmsyaran/public_html/libraries/fof/utils/object/object.php000064400000012143151156233220020740
0ustar00<?php
/**
* @package FrameworkOnFramework
* @subpackage utils
* @copyright Copyright (C) 2010-2016 Nicholas K. Dionysopoulos / Akeeba
Ltd. All rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('FOF_INCLUDED') or die;
/**
* Temporary class for backwards compatibility. You should not be using
this
* in your code. It is currently present to handle the validation error
stack
* for FOFTable::check() and will be removed in an upcoming version.
*
* This class is based on JObject as found in Joomla! 3.2.1
*
* @deprecated 2.1
* @codeCoverageIgnore
*/
class FOFUtilsObject
{
/**
* An array of error messages or Exception objects.
*
* @var array
*/
protected $_errors = array();
/**
* Class constructor, overridden in descendant classes.
*
* @param mixed $properties Either and associative array or another
* object to set the initial properties of
the object.
*/
public function __construct($properties = null)
{
if ($properties !== null)
{
$this->setProperties($properties);
}
}
/**
* Magic method to convert the object to a string gracefully.
*
* @return string The classname.
*/
public function __toString()
{
return get_class($this);
}
/**
* Sets a default value if not alreay assigned
*
* @param string $property The name of the property.
* @param mixed $default The default value.
*
* @return mixed
*/
public function def($property, $default = null)
{
$value = $this->get($property, $default);
return $this->set($property, $value);
}
/**
* Returns a property of the object or the default value if the
property is not set.
*
* @param string $property The name of the property.
* @param mixed $default The default value.
*
* @return mixed The value of the property.
*/
public function get($property, $default = null)
{
if (isset($this->$property))
{
return $this->$property;
}
return $default;
}
/**
* Returns an associative array of object properties.
*
* @param boolean $public If true, returns only the public
properties.
*
* @return array
*/
public function getProperties($public = true)
{
$vars = get_object_vars($this);
if ($public)
{
foreach ($vars as $key => $value)
{
if ('_' == substr($key, 0, 1))
{
unset($vars[$key]);
}
}
}
return $vars;
}
/**
* Get the most recent error message.
*
* @param integer $i Option error index.
* @param boolean $toString Indicates if JError objects should
return their error message.
*
* @return string Error message
*/
public function getError($i = null, $toString = true)
{
// Find the error
if ($i === null)
{
// Default, return the last message
$error = end($this->_errors);
}
elseif (!array_key_exists($i, $this->_errors))
{
// If $i has been specified but does not exist, return false
return false;
}
else
{
$error = $this->_errors[$i];
}
// Check if only the string is requested
if ($error instanceof Exception && $toString)
{
return (string) $error;
}
return $error;
}
/**
* Return all errors, if any.
*
* @return array Array of error messages or JErrors.
*/
public function getErrors()
{
return $this->_errors;
}
/**
* Modifies a property of the object, creating it if it does not
already exist.
*
* @param string $property The name of the property.
* @param mixed $value The value of the property to set.
*
* @return mixed Previous value of the property.
*/
public function set($property, $value = null)
{
$previous = isset($this->$property) ? $this->$property :
null;
$this->$property = $value;
return $previous;
}
/**
* Set the object properties based on a named array/hash.
*
* @param mixed $properties Either an associative array or another
object.
*
* @return boolean
*/
public function setProperties($properties)
{
if (is_array($properties) || is_object($properties))
{
foreach ((array) $properties as $k => $v)
{
// Use the set function which might be overridden.
$this->set($k, $v);
}
return true;
}
return false;
}
/**
* Add an error message.
*
* @param string $error Error message.
*
* @return void
*/
public function setError($error)
{
array_push($this->_errors, $error);
}
}
home/lmsyaran/public_html/j3/libraries/joomla/github/object.php000064400000006700151156417740020654
0ustar00<?php
/**
* @package Joomla.Platform
* @subpackage GitHub
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('JPATH_PLATFORM') or die;
use Joomla\Registry\Registry;
/**
* GitHub API object class for the Joomla Platform.
*
* @since 1.7.3
* @deprecated 4.0 Use the `joomla/github` package via Composer instead
*/
abstract class JGithubObject
{
/**
* @var Registry Options for the GitHub object.
* @since 1.7.3
*/
protected $options;
/**
* @var JGithubHttp The HTTP client object to use in sending HTTP
requests.
* @since 1.7.3
*/
protected $client;
/**
* Constructor.
*
* @param Registry $options GitHub options object.
* @param JGithubHttp $client The HTTP client object.
*
* @since 1.7.3
*/
public function __construct(Registry $options = null, JGithubHttp $client
= null)
{
$this->options = isset($options) ? $options : new Registry;
$this->client = isset($client) ? $client : new
JGithubHttp($this->options);
}
/**
* Method to build and return a full request URL for the request. This
method will
* add appropriate pagination details if necessary and also prepend the
API url
* to have a complete URL for the request.
*
* @param string $path URL to inflect
* @param integer $page Page to request
* @param integer $limit Number of results to return per page
*
* @return string The request URL.
*
* @since 1.7.3
*/
protected function fetchUrl($path, $page = 0, $limit = 0)
{
// Get a new JUri object focusing the api url and given path.
$uri = new JUri($this->options->get('api.url') . $path);
if ($this->options->get('gh.token', false))
{
// Use oAuth authentication - @todo set in request header ?
$uri->setVar('access_token',
$this->options->get('gh.token'));
}
else
{
// Use basic authentication
if ($this->options->get('api.username', false))
{
$username = $this->options->get('api.username');
$username = str_replace('@', '%40', $username);
$uri->setUser($username);
}
if ($this->options->get('api.password', false))
{
$password = $this->options->get('api.password');
$password = str_replace('@', '%40', $password);
$uri->setPass($password);
}
}
// If we have a defined page number add it to the JUri object.
if ($page > 0)
{
$uri->setVar('page', (int) $page);
}
// If we have a defined items per page add it to the JUri object.
if ($limit > 0)
{
$uri->setVar('per_page', (int) $limit);
}
return (string) $uri;
}
/**
* Process the response and decode it.
*
* @param JHttpResponse $response The response.
* @param integer $expectedCode The expected "good"
code.
* @param boolean $decode If the should be response be
JSON decoded.
*
* @throws DomainException
* @since 3.3.0
*
* @return mixed
*/
protected function processResponse(JHttpResponse $response, $expectedCode
= 200, $decode = true)
{
// Validate the response code.
if ($response->code == $expectedCode)
{
return ($decode) ? json_decode($response->body) : $response->body;
}
// Decode the error response and throw an exception.
$error = json_decode($response->body);
$message = (isset($error->message)) ? $error->message :
'Error: ' . $response->code;
throw new DomainException($message, $response->code);
}
}
home/lmsyaran/public_html/libraries/joomla/facebook/object.php000064400000017124151156554360020631
0ustar00<?php
/**
* @package Joomla.Platform
* @subpackage Facebook
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('JPATH_PLATFORM') or die;
use Joomla\Registry\Registry;
/**
* Facebook API object class for the Joomla Platform.
*
* @since 3.2.0
* @deprecated 4.0 Use the `joomla/facebook` package via Composer instead
*/
abstract class JFacebookObject
{
/**
* @var Registry Options for the Facebook object.
* @since 3.2.0
*/
protected $options;
/**
* @var JHttp The HTTP client object to use in sending HTTP requests.
* @since 3.2.0
*/
protected $client;
/**
* @var JFacebookOAuth The OAuth client.
* @since 3.2.0
*/
protected $oauth;
/**
* Constructor.
*
* @param Registry $options Facebook options object.
* @param JHttp $client The HTTP client object.
* @param JFacebookOAuth $oauth The OAuth client.
*
* @since 3.2.0
*/
public function __construct(Registry $options = null, JHttp $client =
null, JFacebookOAuth $oauth = null)
{
$this->options = isset($options) ? $options : new Registry;
$this->client = isset($client) ? $client : new
JHttp($this->options);
$this->oauth = $oauth;
}
/**
* Method to build and return a full request URL for the request. This
method will
* add appropriate pagination details if necessary and also prepend the
API url
* to have a complete URL for the request.
*
* @param string $path URL to inflect.
* @param integer $limit The number of objects per page.
* @param integer $offset The object's number on the page.
* @param integer $until A unix timestamp or any date accepted by
strtotime.
* @param integer $since A unix timestamp or any date accepted by
strtotime.
*
* @return string The request URL.
*
* @since 3.2.0
*/
protected function fetchUrl($path, $limit = 0, $offset = 0, $until = null,
$since = null)
{
// Get a new JUri object fousing the api url and given path.
$uri = new JUri($this->options->get('api.url') . $path);
if ($limit > 0)
{
$uri->setVar('limit', (int) $limit);
}
if ($offset > 0)
{
$uri->setVar('offset', (int) $offset);
}
if ($until != null)
{
$uri->setVar('until', $until);
}
if ($since != null)
{
$uri->setVar('since', $since);
}
return (string) $uri;
}
/**
* Method to send the request.
*
* @param string $path The path of the request to make.
* @param mixed $data Either an associative array or a string to
be sent with the post request.
* @param array $headers An array of name-value pairs to include in
the header of the request
* @param integer $limit The number of objects per page.
* @param integer $offset The object's number on the page.
* @param string $until A unix timestamp or any date accepted by
strtotime.
* @param string $since A unix timestamp or any date accepted by
strtotime.
*
* @return mixed The request response.
*
* @since 3.2.0
* @throws DomainException
*/
public function sendRequest($path, $data = '', array $headers =
null, $limit = 0, $offset = 0, $until = null, $since = null)
{
// Send the request.
$response = $this->client->get($this->fetchUrl($path, $limit,
$offset, $until, $since), $headers);
$response = json_decode($response->body);
// Validate the response.
if (property_exists($response, 'error'))
{
throw new RuntimeException($response->error->message);
}
return $response;
}
/**
* Method to get an object.
*
* @param string $object The object id.
*
* @return mixed The decoded JSON response or false if the client is
not authenticated.
*
* @since 3.2.0
*/
public function get($object)
{
if ($this->oauth != null)
{
if ($this->oauth->isAuthenticated())
{
$response = $this->oauth->query($this->fetchUrl($object));
return json_decode($response->body);
}
else
{
return false;
}
}
// Send the request.
return $this->sendRequest($object);
}
/**
* Method to get object's connection.
*
* @param string $object The object id.
* @param string $connection The object's connection name.
* @param string $extraFields URL fields.
* @param integer $limit The number of objects per page.
* @param integer $offset The object's number on the page.
* @param string $until A unix timestamp or any date accepted
by strtotime.
* @param string $since A unix timestamp or any date accepted
by strtotime.
*
* @return mixed The decoded JSON response or false if the client is
not authenticated.
*
* @since 3.2.0
*/
public function getConnection($object, $connection = null, $extraFields =
'', $limit = 0, $offset = 0, $until = null, $since = null)
{
$path = $object . '/' . $connection . $extraFields;
if ($this->oauth != null)
{
if ($this->oauth->isAuthenticated())
{
$response = $this->oauth->query($this->fetchUrl($path, $limit,
$offset, $until, $since));
if (strcmp($response->body, ''))
{
return json_decode($response->body);
}
else
{
return $response->headers['Location'];
}
}
else
{
return false;
}
}
// Send the request.
return $this->sendRequest($path, '', null, $limit, $offset,
$until, $since);
}
/**
* Method to create a connection.
*
* @param string $object The object id.
* @param string $connection The object's connection name.
* @param array $parameters The POST request parameters.
* @param array $headers An array of name-value pairs to include
in the header of the request
*
* @return mixed The decoded JSON response or false if the client is
not authenticated.
*
* @since 3.2.0
*/
public function createConnection($object, $connection = null, $parameters
= null, array $headers = null)
{
if ($this->oauth->isAuthenticated())
{
// Build the request path.
if ($connection != null)
{
$path = $object . '/' . $connection;
}
else
{
$path = $object;
}
// Send the post request.
$response = $this->oauth->query($this->fetchUrl($path),
$parameters, $headers, 'post');
return json_decode($response->body);
}
else
{
return false;
}
}
/**
* Method to delete a connection.
*
* @param string $object The object id.
* @param string $connection The object's connection name.
* @param string $extraFields URL fields.
*
* @return mixed The decoded JSON response or false if the client is
not authenticated.
*
* @since 3.2.0
*/
public function deleteConnection($object, $connection = null, $extraFields
= '')
{
if ($this->oauth->isAuthenticated())
{
// Build the request path.
if ($connection != null)
{
$path = $object . '/' . $connection . $extraFields;
}
else
{
$path = $object . $extraFields;
}
// Send the delete request.
$response = $this->oauth->query($this->fetchUrl($path), null,
array(), 'delete');
return json_decode($response->body);
}
else
{
return false;
}
}
/**
* Method used to set the OAuth client.
*
* @param JFacebookOAuth $oauth The OAuth client object.
*
* @return JFacebookObject This object for method chaining.
*
* @since 3.2.0
*/
public function setOAuth($oauth)
{
$this->oauth = $oauth;
return $this;
}
/**
* Method used to get the OAuth client.
*
* @return JFacebookOAuth The OAuth client
*
* @since 3.2.0
*/
public function getOAuth()
{
return $this->oauth;
}
}
home/lmsyaran/public_html/libraries/joomla/github/object.php000064400000006700151156577160020343
0ustar00<?php
/**
* @package Joomla.Platform
* @subpackage GitHub
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('JPATH_PLATFORM') or die;
use Joomla\Registry\Registry;
/**
* GitHub API object class for the Joomla Platform.
*
* @since 1.7.3
* @deprecated 4.0 Use the `joomla/github` package via Composer instead
*/
abstract class JGithubObject
{
/**
* @var Registry Options for the GitHub object.
* @since 1.7.3
*/
protected $options;
/**
* @var JGithubHttp The HTTP client object to use in sending HTTP
requests.
* @since 1.7.3
*/
protected $client;
/**
* Constructor.
*
* @param Registry $options GitHub options object.
* @param JGithubHttp $client The HTTP client object.
*
* @since 1.7.3
*/
public function __construct(Registry $options = null, JGithubHttp $client
= null)
{
$this->options = isset($options) ? $options : new Registry;
$this->client = isset($client) ? $client : new
JGithubHttp($this->options);
}
/**
* Method to build and return a full request URL for the request. This
method will
* add appropriate pagination details if necessary and also prepend the
API url
* to have a complete URL for the request.
*
* @param string $path URL to inflect
* @param integer $page Page to request
* @param integer $limit Number of results to return per page
*
* @return string The request URL.
*
* @since 1.7.3
*/
protected function fetchUrl($path, $page = 0, $limit = 0)
{
// Get a new JUri object focusing the api url and given path.
$uri = new JUri($this->options->get('api.url') . $path);
if ($this->options->get('gh.token', false))
{
// Use oAuth authentication - @todo set in request header ?
$uri->setVar('access_token',
$this->options->get('gh.token'));
}
else
{
// Use basic authentication
if ($this->options->get('api.username', false))
{
$username = $this->options->get('api.username');
$username = str_replace('@', '%40', $username);
$uri->setUser($username);
}
if ($this->options->get('api.password', false))
{
$password = $this->options->get('api.password');
$password = str_replace('@', '%40', $password);
$uri->setPass($password);
}
}
// If we have a defined page number add it to the JUri object.
if ($page > 0)
{
$uri->setVar('page', (int) $page);
}
// If we have a defined items per page add it to the JUri object.
if ($limit > 0)
{
$uri->setVar('per_page', (int) $limit);
}
return (string) $uri;
}
/**
* Process the response and decode it.
*
* @param JHttpResponse $response The response.
* @param integer $expectedCode The expected "good"
code.
* @param boolean $decode If the should be response be
JSON decoded.
*
* @throws DomainException
* @since 3.3.0
*
* @return mixed
*/
protected function processResponse(JHttpResponse $response, $expectedCode
= 200, $decode = true)
{
// Validate the response code.
if ($response->code == $expectedCode)
{
return ($decode) ? json_decode($response->body) : $response->body;
}
// Decode the error response and throw an exception.
$error = json_decode($response->body);
$message = (isset($error->message)) ? $error->message :
'Error: ' . $response->code;
throw new DomainException($message, $response->code);
}
}
home/lmsyaran/public_html/j3/htaccess.back/joomla/linkedin/object.php000064400000004240151157125460021700
0ustar00<?php
/**
* @package Joomla.Platform
* @subpackage Linkedin
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('JPATH_PLATFORM') or die();
use Joomla\Registry\Registry;
/**
* Linkedin API object class for the Joomla Platform.
*
* @since 3.2.0
*/
abstract class JLinkedinObject
{
/**
* @var Registry Options for the Linkedin object.
* @since 3.2.0
*/
protected $options;
/**
* @var JHttp The HTTP client object to use in sending HTTP requests.
* @since 3.2.0
*/
protected $client;
/**
* @var JLinkedinOAuth The OAuth client.
* @since 3.2.0
*/
protected $oauth;
/**
* Constructor.
*
* @param Registry $options Linkedin options object.
* @param JHttp $client The HTTP client object.
* @param JLinkedinOAuth $oauth The OAuth client.
*
* @since 3.2.0
*/
public function __construct(Registry $options = null, JHttp $client =
null, JLinkedinOAuth $oauth = null)
{
$this->options = isset($options) ? $options : new Registry;
$this->client = isset($client) ? $client : new
JHttp($this->options);
$this->oauth = $oauth;
}
/**
* Method to convert boolean to string.
*
* @param boolean $bool The boolean value to convert.
*
* @return string String with the converted boolean.
*
* @since 3.2.0
*/
public function booleanToString($bool)
{
if ($bool)
{
return 'true';
}
else
{
return 'false';
}
}
/**
* Get an option from the JLinkedinObject instance.
*
* @param string $key The name of the option to get.
*
* @return mixed The option value.
*
* @since 3.2.0
*/
public function getOption($key)
{
return $this->options->get($key);
}
/**
* Set an option for the JLinkedinObject instance.
*
* @param string $key The name of the option to set.
* @param mixed $value The option value to set.
*
* @return JLinkedinObject This object for method chaining.
*
* @since 3.2.0
*/
public function setOption($key, $value)
{
$this->options->set($key, $value);
return $this;
}
}
home/lmsyaran/public_html/j3/htaccess.back/fof/utils/object/object.php000064400000012143151157370630022004
0ustar00<?php
/**
* @package FrameworkOnFramework
* @subpackage utils
* @copyright Copyright (C) 2010-2016 Nicholas K. Dionysopoulos / Akeeba
Ltd. All rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('FOF_INCLUDED') or die;
/**
* Temporary class for backwards compatibility. You should not be using
this
* in your code. It is currently present to handle the validation error
stack
* for FOFTable::check() and will be removed in an upcoming version.
*
* This class is based on JObject as found in Joomla! 3.2.1
*
* @deprecated 2.1
* @codeCoverageIgnore
*/
class FOFUtilsObject
{
/**
* An array of error messages or Exception objects.
*
* @var array
*/
protected $_errors = array();
/**
* Class constructor, overridden in descendant classes.
*
* @param mixed $properties Either and associative array or another
* object to set the initial properties of
the object.
*/
public function __construct($properties = null)
{
if ($properties !== null)
{
$this->setProperties($properties);
}
}
/**
* Magic method to convert the object to a string gracefully.
*
* @return string The classname.
*/
public function __toString()
{
return get_class($this);
}
/**
* Sets a default value if not alreay assigned
*
* @param string $property The name of the property.
* @param mixed $default The default value.
*
* @return mixed
*/
public function def($property, $default = null)
{
$value = $this->get($property, $default);
return $this->set($property, $value);
}
/**
* Returns a property of the object or the default value if the
property is not set.
*
* @param string $property The name of the property.
* @param mixed $default The default value.
*
* @return mixed The value of the property.
*/
public function get($property, $default = null)
{
if (isset($this->$property))
{
return $this->$property;
}
return $default;
}
/**
* Returns an associative array of object properties.
*
* @param boolean $public If true, returns only the public
properties.
*
* @return array
*/
public function getProperties($public = true)
{
$vars = get_object_vars($this);
if ($public)
{
foreach ($vars as $key => $value)
{
if ('_' == substr($key, 0, 1))
{
unset($vars[$key]);
}
}
}
return $vars;
}
/**
* Get the most recent error message.
*
* @param integer $i Option error index.
* @param boolean $toString Indicates if JError objects should
return their error message.
*
* @return string Error message
*/
public function getError($i = null, $toString = true)
{
// Find the error
if ($i === null)
{
// Default, return the last message
$error = end($this->_errors);
}
elseif (!array_key_exists($i, $this->_errors))
{
// If $i has been specified but does not exist, return false
return false;
}
else
{
$error = $this->_errors[$i];
}
// Check if only the string is requested
if ($error instanceof Exception && $toString)
{
return (string) $error;
}
return $error;
}
/**
* Return all errors, if any.
*
* @return array Array of error messages or JErrors.
*/
public function getErrors()
{
return $this->_errors;
}
/**
* Modifies a property of the object, creating it if it does not
already exist.
*
* @param string $property The name of the property.
* @param mixed $value The value of the property to set.
*
* @return mixed Previous value of the property.
*/
public function set($property, $value = null)
{
$previous = isset($this->$property) ? $this->$property :
null;
$this->$property = $value;
return $previous;
}
/**
* Set the object properties based on a named array/hash.
*
* @param mixed $properties Either an associative array or another
object.
*
* @return boolean
*/
public function setProperties($properties)
{
if (is_array($properties) || is_object($properties))
{
foreach ((array) $properties as $k => $v)
{
// Use the set function which might be overridden.
$this->set($k, $v);
}
return true;
}
return false;
}
/**
* Add an error message.
*
* @param string $error Error message.
*
* @return void
*/
public function setError($error)
{
array_push($this->_errors, $error);
}
}
home/lmsyaran/public_html/j3/htaccess.back/joomla/facebook/object.php000064400000017124151157450520021657
0ustar00<?php
/**
* @package Joomla.Platform
* @subpackage Facebook
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('JPATH_PLATFORM') or die;
use Joomla\Registry\Registry;
/**
* Facebook API object class for the Joomla Platform.
*
* @since 3.2.0
* @deprecated 4.0 Use the `joomla/facebook` package via Composer instead
*/
abstract class JFacebookObject
{
/**
* @var Registry Options for the Facebook object.
* @since 3.2.0
*/
protected $options;
/**
* @var JHttp The HTTP client object to use in sending HTTP requests.
* @since 3.2.0
*/
protected $client;
/**
* @var JFacebookOAuth The OAuth client.
* @since 3.2.0
*/
protected $oauth;
/**
* Constructor.
*
* @param Registry $options Facebook options object.
* @param JHttp $client The HTTP client object.
* @param JFacebookOAuth $oauth The OAuth client.
*
* @since 3.2.0
*/
public function __construct(Registry $options = null, JHttp $client =
null, JFacebookOAuth $oauth = null)
{
$this->options = isset($options) ? $options : new Registry;
$this->client = isset($client) ? $client : new
JHttp($this->options);
$this->oauth = $oauth;
}
/**
* Method to build and return a full request URL for the request. This
method will
* add appropriate pagination details if necessary and also prepend the
API url
* to have a complete URL for the request.
*
* @param string $path URL to inflect.
* @param integer $limit The number of objects per page.
* @param integer $offset The object's number on the page.
* @param integer $until A unix timestamp or any date accepted by
strtotime.
* @param integer $since A unix timestamp or any date accepted by
strtotime.
*
* @return string The request URL.
*
* @since 3.2.0
*/
protected function fetchUrl($path, $limit = 0, $offset = 0, $until = null,
$since = null)
{
// Get a new JUri object fousing the api url and given path.
$uri = new JUri($this->options->get('api.url') . $path);
if ($limit > 0)
{
$uri->setVar('limit', (int) $limit);
}
if ($offset > 0)
{
$uri->setVar('offset', (int) $offset);
}
if ($until != null)
{
$uri->setVar('until', $until);
}
if ($since != null)
{
$uri->setVar('since', $since);
}
return (string) $uri;
}
/**
* Method to send the request.
*
* @param string $path The path of the request to make.
* @param mixed $data Either an associative array or a string to
be sent with the post request.
* @param array $headers An array of name-value pairs to include in
the header of the request
* @param integer $limit The number of objects per page.
* @param integer $offset The object's number on the page.
* @param string $until A unix timestamp or any date accepted by
strtotime.
* @param string $since A unix timestamp or any date accepted by
strtotime.
*
* @return mixed The request response.
*
* @since 3.2.0
* @throws DomainException
*/
public function sendRequest($path, $data = '', array $headers =
null, $limit = 0, $offset = 0, $until = null, $since = null)
{
// Send the request.
$response = $this->client->get($this->fetchUrl($path, $limit,
$offset, $until, $since), $headers);
$response = json_decode($response->body);
// Validate the response.
if (property_exists($response, 'error'))
{
throw new RuntimeException($response->error->message);
}
return $response;
}
/**
* Method to get an object.
*
* @param string $object The object id.
*
* @return mixed The decoded JSON response or false if the client is
not authenticated.
*
* @since 3.2.0
*/
public function get($object)
{
if ($this->oauth != null)
{
if ($this->oauth->isAuthenticated())
{
$response = $this->oauth->query($this->fetchUrl($object));
return json_decode($response->body);
}
else
{
return false;
}
}
// Send the request.
return $this->sendRequest($object);
}
/**
* Method to get object's connection.
*
* @param string $object The object id.
* @param string $connection The object's connection name.
* @param string $extraFields URL fields.
* @param integer $limit The number of objects per page.
* @param integer $offset The object's number on the page.
* @param string $until A unix timestamp or any date accepted
by strtotime.
* @param string $since A unix timestamp or any date accepted
by strtotime.
*
* @return mixed The decoded JSON response or false if the client is
not authenticated.
*
* @since 3.2.0
*/
public function getConnection($object, $connection = null, $extraFields =
'', $limit = 0, $offset = 0, $until = null, $since = null)
{
$path = $object . '/' . $connection . $extraFields;
if ($this->oauth != null)
{
if ($this->oauth->isAuthenticated())
{
$response = $this->oauth->query($this->fetchUrl($path, $limit,
$offset, $until, $since));
if (strcmp($response->body, ''))
{
return json_decode($response->body);
}
else
{
return $response->headers['Location'];
}
}
else
{
return false;
}
}
// Send the request.
return $this->sendRequest($path, '', null, $limit, $offset,
$until, $since);
}
/**
* Method to create a connection.
*
* @param string $object The object id.
* @param string $connection The object's connection name.
* @param array $parameters The POST request parameters.
* @param array $headers An array of name-value pairs to include
in the header of the request
*
* @return mixed The decoded JSON response or false if the client is
not authenticated.
*
* @since 3.2.0
*/
public function createConnection($object, $connection = null, $parameters
= null, array $headers = null)
{
if ($this->oauth->isAuthenticated())
{
// Build the request path.
if ($connection != null)
{
$path = $object . '/' . $connection;
}
else
{
$path = $object;
}
// Send the post request.
$response = $this->oauth->query($this->fetchUrl($path),
$parameters, $headers, 'post');
return json_decode($response->body);
}
else
{
return false;
}
}
/**
* Method to delete a connection.
*
* @param string $object The object id.
* @param string $connection The object's connection name.
* @param string $extraFields URL fields.
*
* @return mixed The decoded JSON response or false if the client is
not authenticated.
*
* @since 3.2.0
*/
public function deleteConnection($object, $connection = null, $extraFields
= '')
{
if ($this->oauth->isAuthenticated())
{
// Build the request path.
if ($connection != null)
{
$path = $object . '/' . $connection . $extraFields;
}
else
{
$path = $object . $extraFields;
}
// Send the delete request.
$response = $this->oauth->query($this->fetchUrl($path), null,
array(), 'delete');
return json_decode($response->body);
}
else
{
return false;
}
}
/**
* Method used to set the OAuth client.
*
* @param JFacebookOAuth $oauth The OAuth client object.
*
* @return JFacebookObject This object for method chaining.
*
* @since 3.2.0
*/
public function setOAuth($oauth)
{
$this->oauth = $oauth;
return $this;
}
/**
* Method used to get the OAuth client.
*
* @return JFacebookOAuth The OAuth client
*
* @since 3.2.0
*/
public function getOAuth()
{
return $this->oauth;
}
}
home/lmsyaran/public_html/libraries/joomla/linkedin/object.php000064400000004240151157653220020644
0ustar00<?php
/**
* @package Joomla.Platform
* @subpackage Linkedin
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('JPATH_PLATFORM') or die();
use Joomla\Registry\Registry;
/**
* Linkedin API object class for the Joomla Platform.
*
* @since 3.2.0
*/
abstract class JLinkedinObject
{
/**
* @var Registry Options for the Linkedin object.
* @since 3.2.0
*/
protected $options;
/**
* @var JHttp The HTTP client object to use in sending HTTP requests.
* @since 3.2.0
*/
protected $client;
/**
* @var JLinkedinOAuth The OAuth client.
* @since 3.2.0
*/
protected $oauth;
/**
* Constructor.
*
* @param Registry $options Linkedin options object.
* @param JHttp $client The HTTP client object.
* @param JLinkedinOAuth $oauth The OAuth client.
*
* @since 3.2.0
*/
public function __construct(Registry $options = null, JHttp $client =
null, JLinkedinOAuth $oauth = null)
{
$this->options = isset($options) ? $options : new Registry;
$this->client = isset($client) ? $client : new
JHttp($this->options);
$this->oauth = $oauth;
}
/**
* Method to convert boolean to string.
*
* @param boolean $bool The boolean value to convert.
*
* @return string String with the converted boolean.
*
* @since 3.2.0
*/
public function booleanToString($bool)
{
if ($bool)
{
return 'true';
}
else
{
return 'false';
}
}
/**
* Get an option from the JLinkedinObject instance.
*
* @param string $key The name of the option to get.
*
* @return mixed The option value.
*
* @since 3.2.0
*/
public function getOption($key)
{
return $this->options->get($key);
}
/**
* Set an option for the JLinkedinObject instance.
*
* @param string $key The name of the option to set.
* @param mixed $value The option value to set.
*
* @return JLinkedinObject This object for method chaining.
*
* @since 3.2.0
*/
public function setOption($key, $value)
{
$this->options->set($key, $value);
return $this;
}
}
home/lmsyaran/public_html/libraries/joomla/mediawiki/object.php000064400000005125151160001740021001
0ustar00<?php
/**
* @package Joomla.Platform
* @subpackage MediaWiki
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('JPATH_PLATFORM') or die;
use Joomla\Registry\Registry;
/**
* MediaWiki API object class for the Joomla Platform.
*
* @since 3.1.4
*/
abstract class JMediawikiObject
{
/**
* @var Registry Options for the MediaWiki object.
* @since 3.1.4
*/
protected $options;
/**
* @var JMediawikiHttp The HTTP client object to use in sending HTTP
requests.
* @since 3.1.4
*/
protected $client;
/**
* Constructor.
*
* @param Registry $options Mediawiki options object.
* @param JMediawikiHttp $client The HTTP client object.
*
* @since 3.1.4
*/
public function __construct(Registry $options = null, JMediawikiHttp
$client = null)
{
$this->options = isset($options) ? $options : new Registry;
$this->client = isset($client) ? $client : new
JMediawikiHttp($this->options);
}
/**
* Method to build and return a full request URL for the request.
*
* @param string $path URL to inflect
*
* @return string The request URL.
*
* @since 3.1.4
*/
protected function fetchUrl($path)
{
// Append the path with output format
$path .= '&format=xml';
$uri = new JUri($this->options->get('api.url') .
'/api.php' . $path);
if ($this->options->get('api.username', false))
{
$uri->setUser($this->options->get('api.username'));
}
if ($this->options->get('api.password', false))
{
$uri->setPass($this->options->get('api.password'));
}
return (string) $uri;
}
/**
* Method to build request parameters from a string array.
*
* @param array $params string array that contains the parameters
*
* @return string request parameter
*
* @since 3.1.4
*/
public function buildParameter(array $params)
{
$path = '';
foreach ($params as $param)
{
$path .= $param;
if (next($params) == true)
{
$path .= '|';
}
}
return $path;
}
/**
* Method to validate response for errors
*
* @param JHttpresponse $response reponse from the mediawiki server
*
* @return Object
*
* @since 3.1.4
*
* @throws DomainException
*/
public function validateResponse($response)
{
$xml = simplexml_load_string($response->body);
if (isset($xml->warnings))
{
throw new DomainException($xml->warnings->info);
}
if (isset($xml->error))
{
throw new DomainException($xml->error['info']);
}
return $xml;
}
}
home/lmsyaran/public_html/j3/htaccess.back/joomla/github/object.php000064400000006700151160730470021365
0ustar00<?php
/**
* @package Joomla.Platform
* @subpackage GitHub
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('JPATH_PLATFORM') or die;
use Joomla\Registry\Registry;
/**
* GitHub API object class for the Joomla Platform.
*
* @since 1.7.3
* @deprecated 4.0 Use the `joomla/github` package via Composer instead
*/
abstract class JGithubObject
{
/**
* @var Registry Options for the GitHub object.
* @since 1.7.3
*/
protected $options;
/**
* @var JGithubHttp The HTTP client object to use in sending HTTP
requests.
* @since 1.7.3
*/
protected $client;
/**
* Constructor.
*
* @param Registry $options GitHub options object.
* @param JGithubHttp $client The HTTP client object.
*
* @since 1.7.3
*/
public function __construct(Registry $options = null, JGithubHttp $client
= null)
{
$this->options = isset($options) ? $options : new Registry;
$this->client = isset($client) ? $client : new
JGithubHttp($this->options);
}
/**
* Method to build and return a full request URL for the request. This
method will
* add appropriate pagination details if necessary and also prepend the
API url
* to have a complete URL for the request.
*
* @param string $path URL to inflect
* @param integer $page Page to request
* @param integer $limit Number of results to return per page
*
* @return string The request URL.
*
* @since 1.7.3
*/
protected function fetchUrl($path, $page = 0, $limit = 0)
{
// Get a new JUri object focusing the api url and given path.
$uri = new JUri($this->options->get('api.url') . $path);
if ($this->options->get('gh.token', false))
{
// Use oAuth authentication - @todo set in request header ?
$uri->setVar('access_token',
$this->options->get('gh.token'));
}
else
{
// Use basic authentication
if ($this->options->get('api.username', false))
{
$username = $this->options->get('api.username');
$username = str_replace('@', '%40', $username);
$uri->setUser($username);
}
if ($this->options->get('api.password', false))
{
$password = $this->options->get('api.password');
$password = str_replace('@', '%40', $password);
$uri->setPass($password);
}
}
// If we have a defined page number add it to the JUri object.
if ($page > 0)
{
$uri->setVar('page', (int) $page);
}
// If we have a defined items per page add it to the JUri object.
if ($limit > 0)
{
$uri->setVar('per_page', (int) $limit);
}
return (string) $uri;
}
/**
* Process the response and decode it.
*
* @param JHttpResponse $response The response.
* @param integer $expectedCode The expected "good"
code.
* @param boolean $decode If the should be response be
JSON decoded.
*
* @throws DomainException
* @since 3.3.0
*
* @return mixed
*/
protected function processResponse(JHttpResponse $response, $expectedCode
= 200, $decode = true)
{
// Validate the response code.
if ($response->code == $expectedCode)
{
return ($decode) ? json_decode($response->body) : $response->body;
}
// Decode the error response and throw an exception.
$error = json_decode($response->body);
$message = (isset($error->message)) ? $error->message :
'Error: ' . $response->code;
throw new DomainException($message, $response->code);
}
}
home/lmsyaran/public_html/j3/htaccess.back/joomla/mediawiki/object.php000064400000005125151161040250022035
0ustar00<?php
/**
* @package Joomla.Platform
* @subpackage MediaWiki
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('JPATH_PLATFORM') or die;
use Joomla\Registry\Registry;
/**
* MediaWiki API object class for the Joomla Platform.
*
* @since 3.1.4
*/
abstract class JMediawikiObject
{
/**
* @var Registry Options for the MediaWiki object.
* @since 3.1.4
*/
protected $options;
/**
* @var JMediawikiHttp The HTTP client object to use in sending HTTP
requests.
* @since 3.1.4
*/
protected $client;
/**
* Constructor.
*
* @param Registry $options Mediawiki options object.
* @param JMediawikiHttp $client The HTTP client object.
*
* @since 3.1.4
*/
public function __construct(Registry $options = null, JMediawikiHttp
$client = null)
{
$this->options = isset($options) ? $options : new Registry;
$this->client = isset($client) ? $client : new
JMediawikiHttp($this->options);
}
/**
* Method to build and return a full request URL for the request.
*
* @param string $path URL to inflect
*
* @return string The request URL.
*
* @since 3.1.4
*/
protected function fetchUrl($path)
{
// Append the path with output format
$path .= '&format=xml';
$uri = new JUri($this->options->get('api.url') .
'/api.php' . $path);
if ($this->options->get('api.username', false))
{
$uri->setUser($this->options->get('api.username'));
}
if ($this->options->get('api.password', false))
{
$uri->setPass($this->options->get('api.password'));
}
return (string) $uri;
}
/**
* Method to build request parameters from a string array.
*
* @param array $params string array that contains the parameters
*
* @return string request parameter
*
* @since 3.1.4
*/
public function buildParameter(array $params)
{
$path = '';
foreach ($params as $param)
{
$path .= $param;
if (next($params) == true)
{
$path .= '|';
}
}
return $path;
}
/**
* Method to validate response for errors
*
* @param JHttpresponse $response reponse from the mediawiki server
*
* @return Object
*
* @since 3.1.4
*
* @throws DomainException
*/
public function validateResponse($response)
{
$xml = simplexml_load_string($response->body);
if (isset($xml->warnings))
{
throw new DomainException($xml->warnings->info);
}
if (isset($xml->error))
{
throw new DomainException($xml->error['info']);
}
return $xml;
}
}
home/lmsyaran/public_html/libraries/joomla/openstreetmap/object.php000064400000006101151161226060021724
0ustar00<?php
/**
* @package Joomla.Platform
* @subpackage Openstreetmap
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('JPATH_PLATFORM') or die();
use Joomla\Registry\Registry;
/**
* Openstreetmap API object class for the Joomla Platform
*
* @since 3.2.0
* @deprecated 4.0 Use the `joomla/openstreetmap` package via Composer
instead
*/
abstract class JOpenstreetmapObject
{
/**
* Options for the Openstreetmap object.
*
* @var Registry
* @since 3.2.0
*/
protected $options;
/**
* The HTTP client object to use in sending HTTP requests.
*
* @var JHttp
* @since 3.2.0
*/
protected $client;
/**
* The OAuth client.
*
* @var JOpenstreetmapOauth
* @since 3.2.0
*/
protected $oauth;
/**
* Constructor
*
* @param Registry &$options Openstreetmap options
object.
* @param JHttp $client The HTTP client object.
* @param JOpenstreetmapOauth $oauth Openstreetmap oauth client
*
* @since 3.2.0
*/
public function __construct(Registry &$options = null, JHttp $client =
null, JOpenstreetmapOauth $oauth = null)
{
$this->options = isset($options) ? $options : new Registry;
$this->client = isset($client) ? $client : new
JHttp($this->options);
$this->oauth = $oauth;
}
/**
* Get an option from the JOpenstreetmapObject instance.
*
* @param string $key The name of the option to get.
*
* @return mixed The option value.
*
* @since 3.2.0
*/
public function getOption($key)
{
return $this->options->get($key);
}
/**
* Set an option for the JOpenstreetmapObject instance.
*
* @param string $key The name of the option to set.
* @param mixed $value The option value to set.
*
* @return JOpenstreetmapObject This object for method chaining.
*
* @since 3.2.0
*/
public function setOption($key, $value)
{
$this->options->set($key, $value);
return $this;
}
/**
* Method to send the request which does not require authentication.
*
* @param string $path The path of the request to make
* @param string $method The request method.
* @param array $headers The headers passed in the request.
* @param mixed $data Either an associative array or a string to
be sent with the post request.
*
* @return SimpleXMLElement The XML response
*
* @since 3.2.0
* @throws DomainException
*/
public function sendRequest($path, $method = 'GET', $headers =
array(), $data = '')
{
// Send the request.
switch ($method)
{
case 'GET':
$response = $this->client->get($path, $headers);
break;
case 'POST':
$response = $this->client->post($path, $data, $headers);
break;
}
// Validate the response code.
if ($response->code != 200)
{
$error = htmlspecialchars($response->body, ENT_COMPAT,
'UTF-8');
throw new DomainException($error, $response->code);
}
$xml_string = simplexml_load_string($response->body);
return $xml_string;
}
}
home/lmsyaran/public_html/j3/libraries/joomla/twitter/object.php000064400000013502151161546420021064
0ustar00<?php
/**
* @package Joomla.Platform
* @subpackage Twitter
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('JPATH_PLATFORM') or die();
use Joomla\Registry\Registry;
/**
* Twitter API object class for the Joomla Platform.
*
* @since 3.1.4
* @deprecated 4.0 Use the `joomla/twitter` package via Composer instead
*/
abstract class JTwitterObject
{
/**
* @var Registry Options for the Twitter object.
* @since 3.1.4
*/
protected $options;
/**
* @var JHttp The HTTP client object to use in sending HTTP requests.
* @since 3.1.4
*/
protected $client;
/**
* @var JTwitterOAuth The OAuth client.
* @since 3.1.4
*/
protected $oauth;
/**
* Constructor.
*
* @param Registry &$options Twitter options object.
* @param JHttp $client The HTTP client object.
* @param JTwitterOAuth $oauth The OAuth client.
*
* @since 3.1.4
*/
public function __construct(Registry &$options = null, JHttp $client =
null, JTwitterOAuth $oauth = null)
{
$this->options = isset($options) ? $options : new Registry;
$this->client = isset($client) ? $client : new
JHttp($this->options);
$this->oauth = $oauth;
}
/**
* Method to check the rate limit for the requesting IP address
*
* @param string $resource A resource or a comma-separated list of
resource families you want to know the current rate limit disposition for.
* @param string $action An action for the specified resource, if
only one resource is specified.
*
* @return void
*
* @since 3.1.4
* @throws RuntimeException
*/
public function checkRateLimit($resource = null, $action = null)
{
// Check the rate limit for remaining hits
$rate_limit = $this->getRateLimit($resource);
$property = '/' . $resource;
if (!is_null($action))
{
$property .= '/' . $action;
}
if ($rate_limit->resources->$resource->$property->remaining
== 0)
{
// The IP has exceeded the Twitter API rate limit
throw new RuntimeException('This server has exceed the Twitter API
rate limit for the given period. The limit will reset at '
. $rate_limit->resources->$resource->$property->reset
);
}
}
/**
* Method to build and return a full request URL for the request. This
method will
* add appropriate pagination details if necessary and also prepend the
API url
* to have a complete URL for the request.
*
* @param string $path URL to inflect
* @param array $parameters The parameters passed in the URL.
*
* @return string The request URL.
*
* @since 3.1.4
*/
public function fetchUrl($path, $parameters = null)
{
if ($parameters)
{
foreach ($parameters as $key => $value)
{
if (strpos($path, '?') === false)
{
$path .= '?' . $key . '=' . $value;
}
else
{
$path .= '&' . $key . '=' . $value;
}
}
}
// Get a new JUri object focusing the api url and given path.
if (strpos($path, 'http://search.twitter.com/search.json') ===
false)
{
$uri = new JUri($this->options->get('api.url') . $path);
}
else
{
$uri = new JUri($path);
}
return (string) $uri;
}
/**
* Method to retrieve the rate limit for the requesting IP address
*
* @param string $resource A resource or a comma-separated list of
resource families you want to know the current rate limit disposition for.
*
* @return array The JSON response decoded
*
* @since 3.1.4
*/
public function getRateLimit($resource)
{
// Build the request path.
$path = '/application/rate_limit_status.json';
if (!is_null($resource))
{
return $this->sendRequest($path, 'GET',
array('resources' => $resource));
}
return $this->sendRequest($path);
}
/**
* Method to send the request.
*
* @param string $path The path of the request to make
* @param string $method The request method.
* @param mixed $data Either an associative array or a string to
be sent with the post request.
* @param array $headers An array of name-value pairs to include in
the header of the request
*
* @return array The decoded JSON response
*
* @since 3.1.4
* @throws RuntimeException
*/
public function sendRequest($path, $method = 'GET', $data =
array(), $headers = array())
{
// Get the access token.
$token = $this->oauth->getToken();
// Set parameters.
$parameters['oauth_token'] = $token['key'];
// Send the request.
$response = $this->oauth->oauthRequest($this->fetchUrl($path),
$method, $parameters, $data, $headers);
if (strpos($path, 'update_with_media') !== false)
{
// Check Media Rate Limit.
$response_headers = $response->headers;
if ($response_headers['x-mediaratelimit-remaining'] == 0)
{
// The IP has exceeded the Twitter API media rate limit
throw new RuntimeException('This server has exceed the Twitter API
media rate limit for the given period. The limit will reset in '
. $response_headers['x-mediaratelimit-reset'] .
'seconds.'
);
}
}
if (strpos($response->body, 'redirected') !== false)
{
return $response->headers['Location'];
}
return json_decode($response->body);
}
/**
* Get an option from the JTwitterObject instance.
*
* @param string $key The name of the option to get.
*
* @return mixed The option value.
*
* @since 3.1.4
*/
public function getOption($key)
{
return $this->options->get($key);
}
/**
* Set an option for the JTwitterObject instance.
*
* @param string $key The name of the option to set.
* @param mixed $value The option value to set.
*
* @return JTwitterObject This object for method chaining.
*
* @since 3.1.4
*/
public function setOption($key, $value)
{
$this->options->set($key, $value);
return $this;
}
}
home/lmsyaran/public_html/libraries/joomla/twitter/object.php000064400000013502151162347230020547
0ustar00<?php
/**
* @package Joomla.Platform
* @subpackage Twitter
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('JPATH_PLATFORM') or die();
use Joomla\Registry\Registry;
/**
* Twitter API object class for the Joomla Platform.
*
* @since 3.1.4
* @deprecated 4.0 Use the `joomla/twitter` package via Composer instead
*/
abstract class JTwitterObject
{
/**
* @var Registry Options for the Twitter object.
* @since 3.1.4
*/
protected $options;
/**
* @var JHttp The HTTP client object to use in sending HTTP requests.
* @since 3.1.4
*/
protected $client;
/**
* @var JTwitterOAuth The OAuth client.
* @since 3.1.4
*/
protected $oauth;
/**
* Constructor.
*
* @param Registry &$options Twitter options object.
* @param JHttp $client The HTTP client object.
* @param JTwitterOAuth $oauth The OAuth client.
*
* @since 3.1.4
*/
public function __construct(Registry &$options = null, JHttp $client =
null, JTwitterOAuth $oauth = null)
{
$this->options = isset($options) ? $options : new Registry;
$this->client = isset($client) ? $client : new
JHttp($this->options);
$this->oauth = $oauth;
}
/**
* Method to check the rate limit for the requesting IP address
*
* @param string $resource A resource or a comma-separated list of
resource families you want to know the current rate limit disposition for.
* @param string $action An action for the specified resource, if
only one resource is specified.
*
* @return void
*
* @since 3.1.4
* @throws RuntimeException
*/
public function checkRateLimit($resource = null, $action = null)
{
// Check the rate limit for remaining hits
$rate_limit = $this->getRateLimit($resource);
$property = '/' . $resource;
if (!is_null($action))
{
$property .= '/' . $action;
}
if ($rate_limit->resources->$resource->$property->remaining
== 0)
{
// The IP has exceeded the Twitter API rate limit
throw new RuntimeException('This server has exceed the Twitter API
rate limit for the given period. The limit will reset at '
. $rate_limit->resources->$resource->$property->reset
);
}
}
/**
* Method to build and return a full request URL for the request. This
method will
* add appropriate pagination details if necessary and also prepend the
API url
* to have a complete URL for the request.
*
* @param string $path URL to inflect
* @param array $parameters The parameters passed in the URL.
*
* @return string The request URL.
*
* @since 3.1.4
*/
public function fetchUrl($path, $parameters = null)
{
if ($parameters)
{
foreach ($parameters as $key => $value)
{
if (strpos($path, '?') === false)
{
$path .= '?' . $key . '=' . $value;
}
else
{
$path .= '&' . $key . '=' . $value;
}
}
}
// Get a new JUri object focusing the api url and given path.
if (strpos($path, 'http://search.twitter.com/search.json') ===
false)
{
$uri = new JUri($this->options->get('api.url') . $path);
}
else
{
$uri = new JUri($path);
}
return (string) $uri;
}
/**
* Method to retrieve the rate limit for the requesting IP address
*
* @param string $resource A resource or a comma-separated list of
resource families you want to know the current rate limit disposition for.
*
* @return array The JSON response decoded
*
* @since 3.1.4
*/
public function getRateLimit($resource)
{
// Build the request path.
$path = '/application/rate_limit_status.json';
if (!is_null($resource))
{
return $this->sendRequest($path, 'GET',
array('resources' => $resource));
}
return $this->sendRequest($path);
}
/**
* Method to send the request.
*
* @param string $path The path of the request to make
* @param string $method The request method.
* @param mixed $data Either an associative array or a string to
be sent with the post request.
* @param array $headers An array of name-value pairs to include in
the header of the request
*
* @return array The decoded JSON response
*
* @since 3.1.4
* @throws RuntimeException
*/
public function sendRequest($path, $method = 'GET', $data =
array(), $headers = array())
{
// Get the access token.
$token = $this->oauth->getToken();
// Set parameters.
$parameters['oauth_token'] = $token['key'];
// Send the request.
$response = $this->oauth->oauthRequest($this->fetchUrl($path),
$method, $parameters, $data, $headers);
if (strpos($path, 'update_with_media') !== false)
{
// Check Media Rate Limit.
$response_headers = $response->headers;
if ($response_headers['x-mediaratelimit-remaining'] == 0)
{
// The IP has exceeded the Twitter API media rate limit
throw new RuntimeException('This server has exceed the Twitter API
media rate limit for the given period. The limit will reset in '
. $response_headers['x-mediaratelimit-reset'] .
'seconds.'
);
}
}
if (strpos($response->body, 'redirected') !== false)
{
return $response->headers['Location'];
}
return json_decode($response->body);
}
/**
* Get an option from the JTwitterObject instance.
*
* @param string $key The name of the option to get.
*
* @return mixed The option value.
*
* @since 3.1.4
*/
public function getOption($key)
{
return $this->options->get($key);
}
/**
* Set an option for the JTwitterObject instance.
*
* @param string $key The name of the option to set.
* @param mixed $value The option value to set.
*
* @return JTwitterObject This object for method chaining.
*
* @since 3.1.4
*/
public function setOption($key, $value)
{
$this->options->set($key, $value);
return $this;
}
}
home/lmsyaran/public_html/j3/libraries/joomla/openstreetmap/object.php000064400000006101151162735410022245
0ustar00<?php
/**
* @package Joomla.Platform
* @subpackage Openstreetmap
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('JPATH_PLATFORM') or die();
use Joomla\Registry\Registry;
/**
* Openstreetmap API object class for the Joomla Platform
*
* @since 3.2.0
* @deprecated 4.0 Use the `joomla/openstreetmap` package via Composer
instead
*/
abstract class JOpenstreetmapObject
{
/**
* Options for the Openstreetmap object.
*
* @var Registry
* @since 3.2.0
*/
protected $options;
/**
* The HTTP client object to use in sending HTTP requests.
*
* @var JHttp
* @since 3.2.0
*/
protected $client;
/**
* The OAuth client.
*
* @var JOpenstreetmapOauth
* @since 3.2.0
*/
protected $oauth;
/**
* Constructor
*
* @param Registry &$options Openstreetmap options
object.
* @param JHttp $client The HTTP client object.
* @param JOpenstreetmapOauth $oauth Openstreetmap oauth client
*
* @since 3.2.0
*/
public function __construct(Registry &$options = null, JHttp $client =
null, JOpenstreetmapOauth $oauth = null)
{
$this->options = isset($options) ? $options : new Registry;
$this->client = isset($client) ? $client : new
JHttp($this->options);
$this->oauth = $oauth;
}
/**
* Get an option from the JOpenstreetmapObject instance.
*
* @param string $key The name of the option to get.
*
* @return mixed The option value.
*
* @since 3.2.0
*/
public function getOption($key)
{
return $this->options->get($key);
}
/**
* Set an option for the JOpenstreetmapObject instance.
*
* @param string $key The name of the option to set.
* @param mixed $value The option value to set.
*
* @return JOpenstreetmapObject This object for method chaining.
*
* @since 3.2.0
*/
public function setOption($key, $value)
{
$this->options->set($key, $value);
return $this;
}
/**
* Method to send the request which does not require authentication.
*
* @param string $path The path of the request to make
* @param string $method The request method.
* @param array $headers The headers passed in the request.
* @param mixed $data Either an associative array or a string to
be sent with the post request.
*
* @return SimpleXMLElement The XML response
*
* @since 3.2.0
* @throws DomainException
*/
public function sendRequest($path, $method = 'GET', $headers =
array(), $data = '')
{
// Send the request.
switch ($method)
{
case 'GET':
$response = $this->client->get($path, $headers);
break;
case 'POST':
$response = $this->client->post($path, $data, $headers);
break;
}
// Validate the response code.
if ($response->code != 200)
{
$error = htmlspecialchars($response->body, ENT_COMPAT,
'UTF-8');
throw new DomainException($error, $response->code);
}
$xml_string = simplexml_load_string($response->body);
return $xml_string;
}
}
home/lmsyaran/public_html/j3/htaccess.back/joomla/twitter/object.php000064400000013502151164077040021604
0ustar00<?php
/**
* @package Joomla.Platform
* @subpackage Twitter
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
*/
defined('JPATH_PLATFORM') or die();
use Joomla\Registry\Registry;
/**
* Twitter API object class for the Joomla Platform.
*
* @since 3.1.4
* @deprecated 4.0 Use the `joomla/twitter` package via Composer instead
*/
abstract class JTwitterObject
{
/**
* @var Registry Options for the Twitter object.
* @since 3.1.4
*/
protected $options;
/**
* @var JHttp The HTTP client object to use in sending HTTP requests.
* @since 3.1.4
*/
protected $client;
/**
* @var JTwitterOAuth The OAuth client.
* @since 3.1.4
*/
protected $oauth;
/**
* Constructor.
*
* @param Registry &$options Twitter options object.
* @param JHttp $client The HTTP client object.
* @param JTwitterOAuth $oauth The OAuth client.
*
* @since 3.1.4
*/
public function __construct(Registry &$options = null, JHttp $client =
null, JTwitterOAuth $oauth = null)
{
$this->options = isset($options) ? $options : new Registry;
$this->client = isset($client) ? $client : new
JHttp($this->options);
$this->oauth = $oauth;
}
/**
* Method to check the rate limit for the requesting IP address
*
* @param string $resource A resource or a comma-separated list of
resource families you want to know the current rate limit disposition for.
* @param string $action An action for the specified resource, if
only one resource is specified.
*
* @return void
*
* @since 3.1.4
* @throws RuntimeException
*/
public function checkRateLimit($resource = null, $action = null)
{
// Check the rate limit for remaining hits
$rate_limit = $this->getRateLimit($resource);
$property = '/' . $resource;
if (!is_null($action))
{
$property .= '/' . $action;
}
if ($rate_limit->resources->$resource->$property->remaining
== 0)
{
// The IP has exceeded the Twitter API rate limit
throw new RuntimeException('This server has exceed the Twitter API
rate limit for the given period. The limit will reset at '
. $rate_limit->resources->$resource->$property->reset
);
}
}
/**
* Method to build and return a full request URL for the request. This
method will
* add appropriate pagination details if necessary and also prepend the
API url
* to have a complete URL for the request.
*
* @param string $path URL to inflect
* @param array $parameters The parameters passed in the URL.
*
* @return string The request URL.
*
* @since 3.1.4
*/
public function fetchUrl($path, $parameters = null)
{
if ($parameters)
{
foreach ($parameters as $key => $value)
{
if (strpos($path, '?') === false)
{
$path .= '?' . $key . '=' . $value;
}
else
{
$path .= '&' . $key . '=' . $value;
}
}
}
// Get a new JUri object focusing the api url and given path.
if (strpos($path, 'http://search.twitter.com/search.json') ===
false)
{
$uri = new JUri($this->options->get('api.url') . $path);
}
else
{
$uri = new JUri($path);
}
return (string) $uri;
}
/**
* Method to retrieve the rate limit for the requesting IP address
*
* @param string $resource A resource or a comma-separated list of
resource families you want to know the current rate limit disposition for.
*
* @return array The JSON response decoded
*
* @since 3.1.4
*/
public function getRateLimit($resource)
{
// Build the request path.
$path = '/application/rate_limit_status.json';
if (!is_null($resource))
{
return $this->sendRequest($path, 'GET',
array('resources' => $resource));
}
return $this->sendRequest($path);
}
/**
* Method to send the request.
*
* @param string $path The path of the request to make
* @param string $method The request method.
* @param mixed $data Either an associative array or a string to
be sent with the post request.
* @param array $headers An array of name-value pairs to include in
the header of the request
*
* @return array The decoded JSON response
*
* @since 3.1.4
* @throws RuntimeException
*/
public function sendRequest($path, $method = 'GET', $data =
array(), $headers = array())
{
// Get the access token.
$token = $this->oauth->getToken();
// Set parameters.
$parameters['oauth_token'] = $token['key'];
// Send the request.
$response = $this->oauth->oauthRequest($this->fetchUrl($path),
$method, $parameters, $data, $headers);
if (strpos($path, 'update_with_media') !== false)
{
// Check Media Rate Limit.
$response_headers = $response->headers;
if ($response_headers['x-mediaratelimit-remaining'] == 0)
{
// The IP has exceeded the Twitter API media rate limit
throw new RuntimeException('This server has exceed the Twitter API
media rate limit for the given period. The limit will reset in '
. $response_headers['x-mediaratelimit-reset'] .
'seconds.'
);
}
}
if (strpos($response->body, 'redirected') !== false)
{
return $response->headers['Location'];
}
return json_decode($response->body);
}
/**
* Get an option from the JTwitterObject instance.
*
* @param string $key The name of the option to get.
*
* @return mixed The option value.
*
* @since 3.1.4
*/
public function getOption($key)
{
return $this->options->get($key);
}
/**
* Set an option for the JTwitterObject instance.
*
* @param string $key The name of the option to set.
* @param mixed $value The option value to set.
*
* @return JTwitterObject This object for method chaining.
*
* @since 3.1.4
*/
public function setOption($key, $value)
{
$this->options->set($key, $value);
return $this;
}
}