Spade
Mini Shell
| Directory:~$ /home/lmsyaran/public_html/joomla4/ |
| [Home] [System Details] [Kill Me] |
home/lmsyaran/public_html/administrator/components/com_users/users.php000064400000001240151156221260022540
0ustar00<?php
/**
* @package Joomla.Administrator
* @subpackage com_users
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
JHtml::_('behavior.tabstate');
if (!JFactory::getUser()->authorise('core.manage',
'com_users'))
{
throw new
JAccessExceptionNotallowed(JText::_('JERROR_ALERTNOAUTHOR'),
403);
}
JLoader::register('UsersHelper', __DIR__ .
'/helpers/users.php');
$controller = JControllerLegacy::getInstance('Users');
$controller->execute(JFactory::getApplication()->input->get('task'));
$controller->redirect();
home/lmsyaran/public_html/libraries/joomla/twitter/users.php000064400000024047151156641710020453
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();
/**
* Twitter API Users class for the Joomla Platform.
*
* @since 3.1.4
* @deprecated 4.0 Use the `joomla/twitter` package via Composer instead
*/
class JTwitterUsers extends JTwitterObject
{
/**
* Method to get up to 100 users worth of extended information, specified
by either ID, screen name, or combination of the two.
*
* @param string $screenName A comma separated list of screen names,
up to 100 are allowed in a single request.
* @param string $id A comma separated list of user IDs, up
to 100 are allowed in a single request.
* @param boolean $entities When set to either true, t or 1, each
tweet will include a node called "entities,". This node offers a
variety of
* metadata about the tweet in a discreet structure, including:
user_mentions, urls, and hashtags.
*
* @return array The decoded JSON response
*
* @since 3.1.4
* @throws RuntimeException
*/
public function getUsersLookup($screenName = null, $id = null, $entities =
null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'lookup');
// Set user IDs and screen names.
if ($id)
{
$data['user_id'] = $id;
}
if ($screenName)
{
$data['screen_name'] = $screenName;
}
if ($id == null && $screenName == null)
{
// We don't have a valid entry
throw new RuntimeException('You must specify either a comma
separated list of screen names, user IDs, or a combination of the
two');
}
// Set the API path
$path = '/users/lookup.json';
// Check if string_ids is specified
if (!is_null($entities))
{
$data['include_entities'] = $entities;
}
// Send the request.
return $this->sendRequest($path, 'POST', $data);
}
/**
* Method to access the profile banner in various sizes for the user with
the indicated screen_name.
*
* @param mixed $user Either an integer containing the user ID or a
string containing the screen name.
*
* @return array The decoded JSON response
*
* @since 3.1.4
*/
public function getUserProfileBanner($user)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'profile_banner');
// Set the API path
$path = '/users/profile_banner.json';
// Determine which type of data was passed for $user
if (is_numeric($user))
{
$data['user_id'] = $user;
}
elseif (is_string($user))
{
$data['screen_name'] = $user;
}
else
{
// We don't have a valid entry
throw new RuntimeException('The specified username is not in the
correct format; must use integer or string');
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method used to search for users
*
* @param string $query The search query to run against people
search.
* @param integer $page Specifies the page of results to retrieve.
* @param integer $count The number of people to retrieve. Maximum
of 20 allowed per page.
* @param boolean $entities When set to either true, t or 1, each
tweet will include a node called "entities,". This node offers a
* variety of metadata about the tweet in a discreet structure,
including: user_mentions, urls, and hashtags.
*
* @return array The decoded JSON response
*
* @since 3.1.4
* @throws RuntimeException
*/
public function searchUsers($query, $page = 0, $count = 0, $entities =
null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'search');
$data['q'] = rawurlencode($query);
// Check if page is specified.
if ($page > 0)
{
$data['page'] = $page;
}
// Check if per_page is specified
if ($count > 0)
{
$data['count'] = $count;
}
// Check if entities is specified.
if (!is_null($entities))
{
$data['include_entities'] = $entities;
}
// Set the API path
$path = '/users/search.json';
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method to get extended information of a given user, specified by ID or
screen name as per the required id parameter.
*
* @param mixed $user Either an integer containing the user ID
or a string containing the screen name.
* @param boolean $entities Set to true to return IDs as strings,
false to return as integers.
*
* @return array The decoded JSON response
*
* @since 3.1.4
* @throws RuntimeException
*/
public function getUser($user, $entities = null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'show/:id');
// Determine which type of data was passed for $user
if (is_numeric($user))
{
$data['user_id'] = $user;
}
elseif (is_string($user))
{
$data['screen_name'] = $user;
}
else
{
// We don't have a valid entry
throw new RuntimeException('The specified username is not in the
correct format; must use integer or string');
}
// Set the API path
$path = '/users/show.json';
// Check if entities is specified
if (!is_null($entities))
{
$data['include_entities'] = $entities;
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method to get an array of users that the specified user can contribute
to.
*
* @param mixed $user Either an integer containing the user ID
or a string containing the screen name.
* @param boolean $entities Set to true to return IDs as strings,
false to return as integers.
* @param boolean $skipStatus When set to either true, t or 1 statuses
will not be included in the returned user objects.
*
* @return array The decoded JSON response
*
* @since 3.1.4
* @throws RuntimeException
*/
public function getContributees($user, $entities = null, $skipStatus =
null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'contributees');
// Determine which type of data was passed for $user
if (is_numeric($user))
{
$data['user_id'] = $user;
}
elseif (is_string($user))
{
$data['screen_name'] = $user;
}
else
{
// We don't have a valid entry
throw new RuntimeException('The specified username is not in the
correct format; must use integer or string');
}
// Set the API path
$path = '/users/contributees.json';
// Check if entities is specified
if (!is_null($entities))
{
$data['include_entities'] = $entities;
}
// Check if skip_status is specified
if (!is_null($skipStatus))
{
$data['skip_status'] = $skipStatus;
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method to get an array of users who can contribute to the specified
account.
*
* @param mixed $user Either an integer containing the user ID
or a string containing the screen name.
* @param boolean $entities Set to true to return IDs as strings,
false to return as integers.
* @param boolean $skipStatus When set to either true, t or 1 statuses
will not be included in the returned user objects.
*
* @return array The decoded JSON response
*
* @since 3.1.4
* @throws RuntimeException
*/
public function getContributors($user, $entities = null, $skipStatus =
null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'contributors');
// Determine which type of data was passed for $user
if (is_numeric($user))
{
$data['user_id'] = $user;
}
elseif (is_string($user))
{
$data['screen_name'] = $user;
}
else
{
// We don't have a valid entry
throw new RuntimeException('The specified username is not in the
correct format; must use integer or string');
}
// Set the API path
$path = '/users/contributors.json';
// Check if entities is specified
if (!is_null($entities))
{
$data['include_entities'] = $entities;
}
// Check if skip_status is specified
if (!is_null($skipStatus))
{
$data['skip_status'] = $skipStatus;
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method access to Twitter's suggested user list.
*
* @param boolean $lang Restricts the suggested categories to the
requested language.
*
* @return array The decoded JSON response
*
* @since 3.1.4
*/
public function getSuggestions($lang = null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'suggestions');
// Set the API path
$path = '/users/suggestions.json';
$data = array();
// Check if entities is true
if ($lang)
{
$data['lang'] = $lang;
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* method to access the users in a given category of the Twitter suggested
user list.
*
* @param string $slug The short name of list or a category.
* @param boolean $lang Restricts the suggested categories to the
requested language.
*
* @return array The decoded JSON response
*
* @since 3.1.4
*/
public function getSuggestionsSlug($slug, $lang = null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users',
'suggestions/:slug');
// Set the API path
$path = '/users/suggestions/' . $slug . '.json';
$data = array();
// Check if entities is true
if ($lang)
{
$data['lang'] = $lang;
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method to access the users in a given category of the Twitter suggested
user list and return
* their most recent status if they are not a protected user.
*
* @param string $slug The short name of list or a category.
*
* @return array The decoded JSON response
*
* @since 3.1.4
*/
public function getSuggestionsSlugMembers($slug)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users',
'suggestions/:slug/members');
// Set the API path
$path = '/users/suggestions/' . $slug .
'/members.json';
// Send the request.
return $this->sendRequest($path);
}
}
home/lmsyaran/public_html/j3/libraries/joomla/github/package/users.php000064400000010016151156702000022117
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;
/**
* GitHub API References class for the Joomla Platform.
*
* @documentation https://developer.github.com/v3/users
*
* @since 3.1.4
* @deprecated 4.0 Use the `joomla/github` package via Composer instead
*/
class JGithubPackageUsers extends JGithubPackage
{
protected $name = 'Users';
protected $packages = array('emails', 'followers',
'keys');
/**
* Get a single user.
*
* @param string $user The users login name.
*
* @throws DomainException
*
* @return object
*/
public function get($user)
{
// Build the request path.
$path = '/users/' . $user;
// Send the request.
return $this->processResponse(
$this->client->get($this->fetchUrl($path))
);
}
/**
* Get the current authenticated user.
*
* @throws DomainException
*
* @return mixed
*/
public function getAuthenticatedUser()
{
// Build the request path.
$path = '/user';
// Send the request.
return $this->processResponse(
$this->client->get($this->fetchUrl($path))
);
}
/**
* Update a user.
*
* @param string $name The full name
* @param string $email The email
* @param string $blog The blog
* @param string $company The company
* @param string $location The location
* @param string $hireable If he is unemployed :P
* @param string $bio The biometrical DNA fingerprint (or
something...)
*
* @throws DomainException
*
* @return mixed
*/
public function edit($name = '', $email = '', $blog =
'', $company = '', $location = '', $hireable
= '', $bio = '')
{
$data = array(
'name' => $name,
'email' => $email,
'blog' => $blog,
'company' => $company,
'location' => $location,
'hireable' => $hireable,
'bio' => $bio,
);
// Build the request path.
$path = '/user';
// Send the request.
return $this->processResponse(
$this->client->patch($this->fetchUrl($path),
json_encode($data))
);
}
/**
* Get all users.
*
* This provides a dump of every user, in the order that they signed up
for GitHub.
*
* @param integer $since The integer ID of the last User that you’ve
seen.
*
* @throws DomainException
* @return mixed
*/
public function getList($since = 0)
{
// Build the request path.
$path = '/users';
$path .= ($since) ? '?since=' . $since : '';
// Send the request.
return $this->processResponse(
$this->client->get($this->fetchUrl($path))
);
}
/*
* Legacy methods
*/
/**
* Get a single user.
*
* @param string $user The users login name.
*
* @deprecated use users->get()
*
* @throws DomainException
*
* @return mixed
*/
public function getUser($user)
{
return $this->get($user);
}
/**
* Update a user.
*
* @param string $name The full name
* @param string $email The email
* @param string $blog The blog
* @param string $company The company
* @param string $location The location
* @param string $hireable If he is unemployed :P
* @param string $bio The biometrical DNA fingerprint (or
something...)
*
* @deprecated use users->edit()
*
* @throws DomainException
*
* @return mixed
*/
public function updateUser($name = '', $email = '',
$blog = '', $company = '', $location = '',
$hireable = '', $bio = '')
{
return $this->edit($name = '', $email = '', $blog
= '', $company = '', $location = '',
$hireable = '', $bio = '');
}
/**
* Get all users.
*
* This provides a dump of every user, in the order that they signed up
for GitHub.
*
* @param integer $since The integer ID of the last User that you’ve
seen.
*
* @deprecated use users->getList()
*
* @throws DomainException
* @return mixed
*/
public function getUsers($since = 0)
{
return $this->getList($since);
}
}
home/lmsyaran/public_html/libraries/joomla/github/package/users.php000064400000010016151157143770021621
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;
/**
* GitHub API References class for the Joomla Platform.
*
* @documentation https://developer.github.com/v3/users
*
* @since 3.1.4
* @deprecated 4.0 Use the `joomla/github` package via Composer instead
*/
class JGithubPackageUsers extends JGithubPackage
{
protected $name = 'Users';
protected $packages = array('emails', 'followers',
'keys');
/**
* Get a single user.
*
* @param string $user The users login name.
*
* @throws DomainException
*
* @return object
*/
public function get($user)
{
// Build the request path.
$path = '/users/' . $user;
// Send the request.
return $this->processResponse(
$this->client->get($this->fetchUrl($path))
);
}
/**
* Get the current authenticated user.
*
* @throws DomainException
*
* @return mixed
*/
public function getAuthenticatedUser()
{
// Build the request path.
$path = '/user';
// Send the request.
return $this->processResponse(
$this->client->get($this->fetchUrl($path))
);
}
/**
* Update a user.
*
* @param string $name The full name
* @param string $email The email
* @param string $blog The blog
* @param string $company The company
* @param string $location The location
* @param string $hireable If he is unemployed :P
* @param string $bio The biometrical DNA fingerprint (or
something...)
*
* @throws DomainException
*
* @return mixed
*/
public function edit($name = '', $email = '', $blog =
'', $company = '', $location = '', $hireable
= '', $bio = '')
{
$data = array(
'name' => $name,
'email' => $email,
'blog' => $blog,
'company' => $company,
'location' => $location,
'hireable' => $hireable,
'bio' => $bio,
);
// Build the request path.
$path = '/user';
// Send the request.
return $this->processResponse(
$this->client->patch($this->fetchUrl($path),
json_encode($data))
);
}
/**
* Get all users.
*
* This provides a dump of every user, in the order that they signed up
for GitHub.
*
* @param integer $since The integer ID of the last User that you’ve
seen.
*
* @throws DomainException
* @return mixed
*/
public function getList($since = 0)
{
// Build the request path.
$path = '/users';
$path .= ($since) ? '?since=' . $since : '';
// Send the request.
return $this->processResponse(
$this->client->get($this->fetchUrl($path))
);
}
/*
* Legacy methods
*/
/**
* Get a single user.
*
* @param string $user The users login name.
*
* @deprecated use users->get()
*
* @throws DomainException
*
* @return mixed
*/
public function getUser($user)
{
return $this->get($user);
}
/**
* Update a user.
*
* @param string $name The full name
* @param string $email The email
* @param string $blog The blog
* @param string $company The company
* @param string $location The location
* @param string $hireable If he is unemployed :P
* @param string $bio The biometrical DNA fingerprint (or
something...)
*
* @deprecated use users->edit()
*
* @throws DomainException
*
* @return mixed
*/
public function updateUser($name = '', $email = '',
$blog = '', $company = '', $location = '',
$hireable = '', $bio = '')
{
return $this->edit($name = '', $email = '', $blog
= '', $company = '', $location = '',
$hireable = '', $bio = '');
}
/**
* Get all users.
*
* This provides a dump of every user, in the order that they signed up
for GitHub.
*
* @param integer $since The integer ID of the last User that you’ve
seen.
*
* @deprecated use users->getList()
*
* @throws DomainException
* @return mixed
*/
public function getUsers($since = 0)
{
return $this->getList($since);
}
}
home/lmsyaran/public_html/j3/libraries/joomla/twitter/users.php000064400000024047151157211210020754
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();
/**
* Twitter API Users class for the Joomla Platform.
*
* @since 3.1.4
* @deprecated 4.0 Use the `joomla/twitter` package via Composer instead
*/
class JTwitterUsers extends JTwitterObject
{
/**
* Method to get up to 100 users worth of extended information, specified
by either ID, screen name, or combination of the two.
*
* @param string $screenName A comma separated list of screen names,
up to 100 are allowed in a single request.
* @param string $id A comma separated list of user IDs, up
to 100 are allowed in a single request.
* @param boolean $entities When set to either true, t or 1, each
tweet will include a node called "entities,". This node offers a
variety of
* metadata about the tweet in a discreet structure, including:
user_mentions, urls, and hashtags.
*
* @return array The decoded JSON response
*
* @since 3.1.4
* @throws RuntimeException
*/
public function getUsersLookup($screenName = null, $id = null, $entities =
null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'lookup');
// Set user IDs and screen names.
if ($id)
{
$data['user_id'] = $id;
}
if ($screenName)
{
$data['screen_name'] = $screenName;
}
if ($id == null && $screenName == null)
{
// We don't have a valid entry
throw new RuntimeException('You must specify either a comma
separated list of screen names, user IDs, or a combination of the
two');
}
// Set the API path
$path = '/users/lookup.json';
// Check if string_ids is specified
if (!is_null($entities))
{
$data['include_entities'] = $entities;
}
// Send the request.
return $this->sendRequest($path, 'POST', $data);
}
/**
* Method to access the profile banner in various sizes for the user with
the indicated screen_name.
*
* @param mixed $user Either an integer containing the user ID or a
string containing the screen name.
*
* @return array The decoded JSON response
*
* @since 3.1.4
*/
public function getUserProfileBanner($user)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'profile_banner');
// Set the API path
$path = '/users/profile_banner.json';
// Determine which type of data was passed for $user
if (is_numeric($user))
{
$data['user_id'] = $user;
}
elseif (is_string($user))
{
$data['screen_name'] = $user;
}
else
{
// We don't have a valid entry
throw new RuntimeException('The specified username is not in the
correct format; must use integer or string');
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method used to search for users
*
* @param string $query The search query to run against people
search.
* @param integer $page Specifies the page of results to retrieve.
* @param integer $count The number of people to retrieve. Maximum
of 20 allowed per page.
* @param boolean $entities When set to either true, t or 1, each
tweet will include a node called "entities,". This node offers a
* variety of metadata about the tweet in a discreet structure,
including: user_mentions, urls, and hashtags.
*
* @return array The decoded JSON response
*
* @since 3.1.4
* @throws RuntimeException
*/
public function searchUsers($query, $page = 0, $count = 0, $entities =
null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'search');
$data['q'] = rawurlencode($query);
// Check if page is specified.
if ($page > 0)
{
$data['page'] = $page;
}
// Check if per_page is specified
if ($count > 0)
{
$data['count'] = $count;
}
// Check if entities is specified.
if (!is_null($entities))
{
$data['include_entities'] = $entities;
}
// Set the API path
$path = '/users/search.json';
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method to get extended information of a given user, specified by ID or
screen name as per the required id parameter.
*
* @param mixed $user Either an integer containing the user ID
or a string containing the screen name.
* @param boolean $entities Set to true to return IDs as strings,
false to return as integers.
*
* @return array The decoded JSON response
*
* @since 3.1.4
* @throws RuntimeException
*/
public function getUser($user, $entities = null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'show/:id');
// Determine which type of data was passed for $user
if (is_numeric($user))
{
$data['user_id'] = $user;
}
elseif (is_string($user))
{
$data['screen_name'] = $user;
}
else
{
// We don't have a valid entry
throw new RuntimeException('The specified username is not in the
correct format; must use integer or string');
}
// Set the API path
$path = '/users/show.json';
// Check if entities is specified
if (!is_null($entities))
{
$data['include_entities'] = $entities;
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method to get an array of users that the specified user can contribute
to.
*
* @param mixed $user Either an integer containing the user ID
or a string containing the screen name.
* @param boolean $entities Set to true to return IDs as strings,
false to return as integers.
* @param boolean $skipStatus When set to either true, t or 1 statuses
will not be included in the returned user objects.
*
* @return array The decoded JSON response
*
* @since 3.1.4
* @throws RuntimeException
*/
public function getContributees($user, $entities = null, $skipStatus =
null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'contributees');
// Determine which type of data was passed for $user
if (is_numeric($user))
{
$data['user_id'] = $user;
}
elseif (is_string($user))
{
$data['screen_name'] = $user;
}
else
{
// We don't have a valid entry
throw new RuntimeException('The specified username is not in the
correct format; must use integer or string');
}
// Set the API path
$path = '/users/contributees.json';
// Check if entities is specified
if (!is_null($entities))
{
$data['include_entities'] = $entities;
}
// Check if skip_status is specified
if (!is_null($skipStatus))
{
$data['skip_status'] = $skipStatus;
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method to get an array of users who can contribute to the specified
account.
*
* @param mixed $user Either an integer containing the user ID
or a string containing the screen name.
* @param boolean $entities Set to true to return IDs as strings,
false to return as integers.
* @param boolean $skipStatus When set to either true, t or 1 statuses
will not be included in the returned user objects.
*
* @return array The decoded JSON response
*
* @since 3.1.4
* @throws RuntimeException
*/
public function getContributors($user, $entities = null, $skipStatus =
null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'contributors');
// Determine which type of data was passed for $user
if (is_numeric($user))
{
$data['user_id'] = $user;
}
elseif (is_string($user))
{
$data['screen_name'] = $user;
}
else
{
// We don't have a valid entry
throw new RuntimeException('The specified username is not in the
correct format; must use integer or string');
}
// Set the API path
$path = '/users/contributors.json';
// Check if entities is specified
if (!is_null($entities))
{
$data['include_entities'] = $entities;
}
// Check if skip_status is specified
if (!is_null($skipStatus))
{
$data['skip_status'] = $skipStatus;
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method access to Twitter's suggested user list.
*
* @param boolean $lang Restricts the suggested categories to the
requested language.
*
* @return array The decoded JSON response
*
* @since 3.1.4
*/
public function getSuggestions($lang = null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'suggestions');
// Set the API path
$path = '/users/suggestions.json';
$data = array();
// Check if entities is true
if ($lang)
{
$data['lang'] = $lang;
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* method to access the users in a given category of the Twitter suggested
user list.
*
* @param string $slug The short name of list or a category.
* @param boolean $lang Restricts the suggested categories to the
requested language.
*
* @return array The decoded JSON response
*
* @since 3.1.4
*/
public function getSuggestionsSlug($slug, $lang = null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users',
'suggestions/:slug');
// Set the API path
$path = '/users/suggestions/' . $slug . '.json';
$data = array();
// Check if entities is true
if ($lang)
{
$data['lang'] = $lang;
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method to access the users in a given category of the Twitter suggested
user list and return
* their most recent status if they are not a protected user.
*
* @param string $slug The short name of list or a category.
*
* @return array The decoded JSON response
*
* @since 3.1.4
*/
public function getSuggestionsSlugMembers($slug)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users',
'suggestions/:slug/members');
// Set the API path
$path = '/users/suggestions/' . $slug .
'/members.json';
// Send the request.
return $this->sendRequest($path);
}
}
home/lmsyaran/public_html/j3/htaccess.back/joomla/mediawiki/users.php000064400000026600151157450560021747
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;
/**
* MediaWiki API Users class for the Joomla Platform.
*
* @since 3.1.4
*/
class JMediawikiUsers extends JMediawikiObject
{
/**
* Method to login and get authentication tokens.
*
* @param string $lgname User Name.
* @param string $lgpassword Password.
* @param string $lgdomain Domain (optional).
*
* @return object
*
* @since 3.1.4
*/
public function login($lgname, $lgpassword, $lgdomain = null)
{
// Build the request path.
$path = '?action=login&lgname=' . $lgname .
'&lgpassword=' . $lgpassword;
if (isset($lgdomain))
{
$path .= '&lgdomain=' . $lgdomain;
}
// Send the request.
$response = $this->client->post($this->fetchUrl($path), null);
// Request path with login token.
$path = '?action=login&lgname=' . $lgname .
'&lgpassword=' . $lgpassword . '&lgtoken=' .
$this->validateResponse($response)->login['token'];
if (isset($lgdomain))
{
$path .= '&lgdomain=' . $lgdomain;
}
// Set the session cookies returned.
$headers = (array) $this->options->get('headers');
$headers['Cookie'] = !empty($headers['Cookie']) ?
empty($headers['Cookie']) : '';
$headers['Cookie'] = $headers['Cookie'] .
$response->headers['Set-Cookie'];
$this->options->set('headers', $headers);
// Send the request again with the token.
$response = $this->client->post($this->fetchUrl($path), null);
$response_body = $this->validateResponse($response);
$headers = (array) $this->options->get('headers');
$cookie_prefix = $response_body->login['cookieprefix'];
$cookie = $cookie_prefix . 'UserID=' .
$response_body->login['lguserid'] . '; ' .
$cookie_prefix
. 'UserName=' .
$response_body->login['lgusername'];
$headers['Cookie'] = $headers['Cookie'] . ';
' . $response->headers['Set-Cookie'] . '; ' .
$cookie;
$this->options->set('headers', $headers);
return $this->validateResponse($response);
}
/**
* Method to logout and clear session data.
*
* @return object
*
* @since 3.1.4
*/
public function logout()
{
// Build the request path.
$path = '?action=login';
// @TODO clear internal data as well
// Send the request.
$response = $this->client->get($this->fetchUrl($path));
return $this->validateResponse($response);
}
/**
* Method to get user information.
*
* @param array $ususers A list of users to obtain the same
information for.
* @param array $usprop What pieces of information to include.
*
* @return object
*
* @since 3.1.4
*/
public function getUserInfo(array $ususers, array $usprop = null)
{
// Build the request path.
$path = '?action=query&list=users';
// Append users to the request.
$path .= '&ususers=' . $this->buildParameter($ususers);
if (isset($usprop))
{
$path .= '&usprop' . $this->buildParameter($usprop);
}
// Send the request.
$response = $this->client->get($this->fetchUrl($path));
return $this->validateResponse($response);
}
/**
* Method to get current user information.
*
* @param array $uiprop What pieces of information to include.
*
* @return object
*
* @since 3.1.4
*/
public function getCurrentUserInfo(array $uiprop = null)
{
// Build the request path.
$path = '?action=query&meta=userinfo';
if (isset($uiprop))
{
$path .= '&uiprop' . $this->buildParameter($uiprop);
}
// Send the request.
$response = $this->client->get($this->fetchUrl($path));
return $this->validateResponse($response);
}
/**
* Method to get user contributions.
*
* @param string $ucuser The users to retrieve contributions
for.
* @param string $ucuserprefix Retrieve contibutions for all users
whose names begin with this value.
* @param integer $uclimit The users to retrieve contributions
for.
* @param string $ucstart The start timestamp to return from.
* @param string $ucend The end timestamp to return to.
* @param boolean $uccontinue When more results are available, use
this to continue.
* @param string $ucdir In which direction to enumerate.
* @param array $ucnamespace Only list contributions in these
namespaces.
* @param array $ucprop Include additional pieces of
information.
* @param array $ucshow Show only items that meet this
criteria.
* @param string $uctag Only list revisions tagged with this
tag.
* @param string $uctoponly Only list changes which are the latest
revision
*
* @return object
*
* @since 3.1.4
*/
public function getUserContribs($ucuser = null, $ucuserprefix = null,
$uclimit = null, $ucstart = null, $ucend = null, $uccontinue = null,
$ucdir = null, array $ucnamespace = null, array $ucprop = null, array
$ucshow = null, $uctag = null, $uctoponly = null)
{
// Build the request path.
$path = '?action=query&list=usercontribs';
if (isset($ucuser))
{
$path .= '&ucuser=' . $ucuser;
}
if (isset($ucuserprefix))
{
$path .= '&ucuserprefix=' . $ucuserprefix;
}
if (isset($uclimit))
{
$path .= '&uclimit=' . $uclimit;
}
if (isset($ucstart))
{
$path .= '&ucstart=' . $ucstart;
}
if (isset($ucend))
{
$path .= '&ucend=' . $ucend;
}
if ($uccontinue)
{
$path .= '&uccontinue=';
}
if (isset($ucdir))
{
$path .= '&ucdir=' . $ucdir;
}
if (isset($ucnamespace))
{
$path .= '&ucnamespace=' .
$this->buildParameter($ucnamespace);
}
if (isset($ucprop))
{
$path .= '&ucprop=' . $this->buildParameter($ucprop);
}
if (isset($ucshow))
{
$path .= '&ucshow=' . $this->buildParameter($ucshow);
}
if (isset($uctag))
{
$path .= '&uctag=' . $uctag;
}
if (isset($uctoponly))
{
$path .= '&uctoponly=' . $uctoponly;
}
// Send the request.
$response = $this->client->get($this->fetchUrl($path));
return $this->validateResponse($response);
}
/**
* Method to block a user.
*
* @param string $user Username, IP address or IP range you
want to block.
* @param string $expiry Relative expiry time, Default: never.
* @param string $reason Reason for block (optional).
* @param boolean $anononly Block anonymous users only.
* @param boolean $nocreate Prevent account creation.
* @param boolean $autoblock Automatically block the last used IP
address, and any subsequent IP addresses they try to login from.
* @param boolean $noemail Prevent user from sending email
through the wiki.
* @param boolean $hidename Hide the username from the block log.
* @param boolean $allowusertalk Allow the user to edit their own talk
page.
* @param boolean $reblock If the user is already blocked,
overwrite the existing block.
* @param boolean $watchuser Watch the user/IP's user and
talk pages.
*
* @return object
*
* @since 3.1.4
*/
public function blockUser($user, $expiry = null, $reason = null, $anononly
= null, $nocreate = null, $autoblock = null, $noemail = null,
$hidename = null, $allowusertalk = null, $reblock = null, $watchuser =
null)
{
// Get the token.
$token = $this->getToken($user, 'block');
// Build the request path.
$path = '?action=unblock';
// Build the request data.
$data = array(
'user' => $user,
'token' => $token,
'expiry' => $expiry,
'reason' => $reason,
'anononly' => $anononly,
'nocreate' => $nocreate,
'autoblock' => $autoblock,
'noemail' => $noemail,
'hidename' => $hidename,
'allowusetalk' => $allowusertalk,
'reblock' => $reblock,
'watchuser' => $watchuser,
);
// Send the request.
$response = $this->client->post($this->fetchUrl($path), $data);
return $this->validateResponse($response);
}
/**
* Method to unblock a user.
*
* @param string $user Username, IP address or IP range you want to
unblock.
* @param string $reason Reason for unblock (optional).
*
* @return object
*
* @since 3.1.4
*/
public function unBlockUserByName($user, $reason = null)
{
// Get the token.
$token = $this->getToken($user, 'unblock');
// Build the request path.
$path = '?action=unblock';
// Build the request data.
$data = array(
'user' => $user,
'token' => $token,
'reason' => $reason,
);
// Send the request.
$response = $this->client->post($this->fetchUrl($path), $data);
return $this->validateResponse($response);
}
/**
* Method to unblock a user.
*
* @param int $id Username, IP address or IP range you want to
unblock.
* @param string $reason Reason for unblock (optional).
*
* @return object
*
* @since 3.1.4
*/
public function unBlockUserById($id, $reason = null)
{
// Get the token.
$token = $this->getToken($id, 'unblock');
// Build the request path.
$path = '?action=unblock';
// Build the request data.
// TODO: $data doesn't seem to be used!
$data = array(
'id' => $id,
'token' => $token,
'reason' => $reason,
);
// Send the request.
$response = $this->client->get($this->fetchUrl($path));
return $this->validateResponse($response);
}
/**
* Method to assign a user to a group.
*
* @param string $username User name.
* @param array $add Add the user to these groups.
* @param array $remove Remove the user from these groups.
* @param string $reason Reason for the change.
*
* @return object
*
* @since 3.1.4
*/
public function assignGroup($username, $add = null, $remove = null,
$reason = null)
{
// Get the token.
$token = $this->getToken($username, 'unblock');
// Build the request path.
$path = '?action=userrights';
// Build the request data.
$data = array(
'username' => $username,
'token' => $token,
'add' => $add,
'remove' => $remove,
'reason' => $reason,
);
// Send the request.
$response = $this->client->post($this->fetchUrl($path), $data);
return $this->validateResponse($response);
}
/**
* Method to email a user.
*
* @param string $target User to send email to.
* @param string $subject Subject header.
* @param string $text Mail body.
* @param boolean $ccme Send a copy of this mail to me.
*
* @return object
*
* @since 3.1.4
*/
public function emailUser($target, $subject = null, $text = null, $ccme =
null)
{
// Get the token.
$token = $this->getToken($target, 'emailuser');
// Build the request path.
$path = '?action=emailuser';
// Build the request data.
$data = array(
'target' => $target,
'token' => $token,
'subject' => $subject,
'text' => $text,
'ccme' => $ccme,
);
// Send the request.
$response = $this->client->post($this->fetchUrl($path), $data);
return $this->validateResponse($response);
}
/**
* Method to get access token.
*
* @param string $user The User to get token.
* @param string $intoken The type of token.
*
* @return object
*
* @since 3.1.4
*/
public function getToken($user, $intoken)
{
// Build the request path.
$path = '?action=query&prop=info&intoken=' . $intoken .
'&titles=User:' . $user;
// Send the request.
$response = $this->client->post($this->fetchUrl($path), null);
return (string)
$this->validateResponse($response)->query->pages->page[$intoken
. 'token'];
}
}
home/lmsyaran/public_html/libraries/regularlabs/fields/users.php000064400000004525151157470310021235
0ustar00<?php
/**
* @package Regular Labs Library
* @version 21.2.19653
*
* @author Peter van Westen <info@regularlabs.com>
* @link http://www.regularlabs.com
* @copyright Copyright © 2021 Regular Labs All Rights Reserved
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
*/
defined('_JEXEC') or die;
use Joomla\CMS\HTML\HTMLHelper as JHtml;
use Joomla\CMS\Language\Text as JText;
use Joomla\Registry\Registry;
if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php'))
{
return;
}
require_once JPATH_LIBRARIES . '/regularlabs/autoload.php';
class JFormFieldRL_Users extends \RegularLabs\Library\Field
{
public $type = 'Users';
protected function getInput()
{
if ( ! is_array($this->value))
{
$this->value = explode(',', $this->value);
}
$size = (int) $this->get('size');
$multiple = $this->get('multiple');
$show_current = $this->get('show_current');
return $this->selectListSimpleAjax(
$this->type, $this->name, $this->value, $this->id,
compact('size', 'multiple',
'show_current')
);
}
function getAjaxRaw(Registry $attributes)
{
$name = $attributes->get('name', $this->type);
$id = $attributes->get('id', strtolower($name));
$value = $attributes->get('value', []);
$size = $attributes->get('size');
$multiple = $attributes->get('multiple');
$show_current = $attributes->get('show_current');
$options = $this->getUsers();
if (is_array($options) && $show_current)
{
array_unshift($options, JHtml::_('select.option',
'current', '- ' . JText::_('RL_CURRENT_USER')
. ' -'));
}
return $this->selectListSimple($options, $name, $value, $id, $size,
$multiple);
}
function getUsers()
{
$query = $this->db->getQuery(true)
->select('COUNT(*)')
->from('#__users AS u');
$this->db->setQuery($query);
$total = $this->db->loadResult();
if ($total > $this->max_list_count)
{
return -1;
}
$query->clear('select')
->select('u.name, u.username, u.id, u.block as disabled')
->order('name');
$this->db->setQuery($query);
$list = $this->db->loadObjectList();
$list = array_map(function ($item) {
if ($item->disabled)
{
$item->name .= ' (' . JText::_('JDISABLED') .
')';
}
return $item;
}, $list);
return $this->getOptionsByList($list, ['username',
'id']);
}
}
home/lmsyaran/public_html/libraries/joomla/mediawiki/users.php000064400000026600151157547730020721
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;
/**
* MediaWiki API Users class for the Joomla Platform.
*
* @since 3.1.4
*/
class JMediawikiUsers extends JMediawikiObject
{
/**
* Method to login and get authentication tokens.
*
* @param string $lgname User Name.
* @param string $lgpassword Password.
* @param string $lgdomain Domain (optional).
*
* @return object
*
* @since 3.1.4
*/
public function login($lgname, $lgpassword, $lgdomain = null)
{
// Build the request path.
$path = '?action=login&lgname=' . $lgname .
'&lgpassword=' . $lgpassword;
if (isset($lgdomain))
{
$path .= '&lgdomain=' . $lgdomain;
}
// Send the request.
$response = $this->client->post($this->fetchUrl($path), null);
// Request path with login token.
$path = '?action=login&lgname=' . $lgname .
'&lgpassword=' . $lgpassword . '&lgtoken=' .
$this->validateResponse($response)->login['token'];
if (isset($lgdomain))
{
$path .= '&lgdomain=' . $lgdomain;
}
// Set the session cookies returned.
$headers = (array) $this->options->get('headers');
$headers['Cookie'] = !empty($headers['Cookie']) ?
empty($headers['Cookie']) : '';
$headers['Cookie'] = $headers['Cookie'] .
$response->headers['Set-Cookie'];
$this->options->set('headers', $headers);
// Send the request again with the token.
$response = $this->client->post($this->fetchUrl($path), null);
$response_body = $this->validateResponse($response);
$headers = (array) $this->options->get('headers');
$cookie_prefix = $response_body->login['cookieprefix'];
$cookie = $cookie_prefix . 'UserID=' .
$response_body->login['lguserid'] . '; ' .
$cookie_prefix
. 'UserName=' .
$response_body->login['lgusername'];
$headers['Cookie'] = $headers['Cookie'] . ';
' . $response->headers['Set-Cookie'] . '; ' .
$cookie;
$this->options->set('headers', $headers);
return $this->validateResponse($response);
}
/**
* Method to logout and clear session data.
*
* @return object
*
* @since 3.1.4
*/
public function logout()
{
// Build the request path.
$path = '?action=login';
// @TODO clear internal data as well
// Send the request.
$response = $this->client->get($this->fetchUrl($path));
return $this->validateResponse($response);
}
/**
* Method to get user information.
*
* @param array $ususers A list of users to obtain the same
information for.
* @param array $usprop What pieces of information to include.
*
* @return object
*
* @since 3.1.4
*/
public function getUserInfo(array $ususers, array $usprop = null)
{
// Build the request path.
$path = '?action=query&list=users';
// Append users to the request.
$path .= '&ususers=' . $this->buildParameter($ususers);
if (isset($usprop))
{
$path .= '&usprop' . $this->buildParameter($usprop);
}
// Send the request.
$response = $this->client->get($this->fetchUrl($path));
return $this->validateResponse($response);
}
/**
* Method to get current user information.
*
* @param array $uiprop What pieces of information to include.
*
* @return object
*
* @since 3.1.4
*/
public function getCurrentUserInfo(array $uiprop = null)
{
// Build the request path.
$path = '?action=query&meta=userinfo';
if (isset($uiprop))
{
$path .= '&uiprop' . $this->buildParameter($uiprop);
}
// Send the request.
$response = $this->client->get($this->fetchUrl($path));
return $this->validateResponse($response);
}
/**
* Method to get user contributions.
*
* @param string $ucuser The users to retrieve contributions
for.
* @param string $ucuserprefix Retrieve contibutions for all users
whose names begin with this value.
* @param integer $uclimit The users to retrieve contributions
for.
* @param string $ucstart The start timestamp to return from.
* @param string $ucend The end timestamp to return to.
* @param boolean $uccontinue When more results are available, use
this to continue.
* @param string $ucdir In which direction to enumerate.
* @param array $ucnamespace Only list contributions in these
namespaces.
* @param array $ucprop Include additional pieces of
information.
* @param array $ucshow Show only items that meet this
criteria.
* @param string $uctag Only list revisions tagged with this
tag.
* @param string $uctoponly Only list changes which are the latest
revision
*
* @return object
*
* @since 3.1.4
*/
public function getUserContribs($ucuser = null, $ucuserprefix = null,
$uclimit = null, $ucstart = null, $ucend = null, $uccontinue = null,
$ucdir = null, array $ucnamespace = null, array $ucprop = null, array
$ucshow = null, $uctag = null, $uctoponly = null)
{
// Build the request path.
$path = '?action=query&list=usercontribs';
if (isset($ucuser))
{
$path .= '&ucuser=' . $ucuser;
}
if (isset($ucuserprefix))
{
$path .= '&ucuserprefix=' . $ucuserprefix;
}
if (isset($uclimit))
{
$path .= '&uclimit=' . $uclimit;
}
if (isset($ucstart))
{
$path .= '&ucstart=' . $ucstart;
}
if (isset($ucend))
{
$path .= '&ucend=' . $ucend;
}
if ($uccontinue)
{
$path .= '&uccontinue=';
}
if (isset($ucdir))
{
$path .= '&ucdir=' . $ucdir;
}
if (isset($ucnamespace))
{
$path .= '&ucnamespace=' .
$this->buildParameter($ucnamespace);
}
if (isset($ucprop))
{
$path .= '&ucprop=' . $this->buildParameter($ucprop);
}
if (isset($ucshow))
{
$path .= '&ucshow=' . $this->buildParameter($ucshow);
}
if (isset($uctag))
{
$path .= '&uctag=' . $uctag;
}
if (isset($uctoponly))
{
$path .= '&uctoponly=' . $uctoponly;
}
// Send the request.
$response = $this->client->get($this->fetchUrl($path));
return $this->validateResponse($response);
}
/**
* Method to block a user.
*
* @param string $user Username, IP address or IP range you
want to block.
* @param string $expiry Relative expiry time, Default: never.
* @param string $reason Reason for block (optional).
* @param boolean $anononly Block anonymous users only.
* @param boolean $nocreate Prevent account creation.
* @param boolean $autoblock Automatically block the last used IP
address, and any subsequent IP addresses they try to login from.
* @param boolean $noemail Prevent user from sending email
through the wiki.
* @param boolean $hidename Hide the username from the block log.
* @param boolean $allowusertalk Allow the user to edit their own talk
page.
* @param boolean $reblock If the user is already blocked,
overwrite the existing block.
* @param boolean $watchuser Watch the user/IP's user and
talk pages.
*
* @return object
*
* @since 3.1.4
*/
public function blockUser($user, $expiry = null, $reason = null, $anononly
= null, $nocreate = null, $autoblock = null, $noemail = null,
$hidename = null, $allowusertalk = null, $reblock = null, $watchuser =
null)
{
// Get the token.
$token = $this->getToken($user, 'block');
// Build the request path.
$path = '?action=unblock';
// Build the request data.
$data = array(
'user' => $user,
'token' => $token,
'expiry' => $expiry,
'reason' => $reason,
'anononly' => $anononly,
'nocreate' => $nocreate,
'autoblock' => $autoblock,
'noemail' => $noemail,
'hidename' => $hidename,
'allowusetalk' => $allowusertalk,
'reblock' => $reblock,
'watchuser' => $watchuser,
);
// Send the request.
$response = $this->client->post($this->fetchUrl($path), $data);
return $this->validateResponse($response);
}
/**
* Method to unblock a user.
*
* @param string $user Username, IP address or IP range you want to
unblock.
* @param string $reason Reason for unblock (optional).
*
* @return object
*
* @since 3.1.4
*/
public function unBlockUserByName($user, $reason = null)
{
// Get the token.
$token = $this->getToken($user, 'unblock');
// Build the request path.
$path = '?action=unblock';
// Build the request data.
$data = array(
'user' => $user,
'token' => $token,
'reason' => $reason,
);
// Send the request.
$response = $this->client->post($this->fetchUrl($path), $data);
return $this->validateResponse($response);
}
/**
* Method to unblock a user.
*
* @param int $id Username, IP address or IP range you want to
unblock.
* @param string $reason Reason for unblock (optional).
*
* @return object
*
* @since 3.1.4
*/
public function unBlockUserById($id, $reason = null)
{
// Get the token.
$token = $this->getToken($id, 'unblock');
// Build the request path.
$path = '?action=unblock';
// Build the request data.
// TODO: $data doesn't seem to be used!
$data = array(
'id' => $id,
'token' => $token,
'reason' => $reason,
);
// Send the request.
$response = $this->client->get($this->fetchUrl($path));
return $this->validateResponse($response);
}
/**
* Method to assign a user to a group.
*
* @param string $username User name.
* @param array $add Add the user to these groups.
* @param array $remove Remove the user from these groups.
* @param string $reason Reason for the change.
*
* @return object
*
* @since 3.1.4
*/
public function assignGroup($username, $add = null, $remove = null,
$reason = null)
{
// Get the token.
$token = $this->getToken($username, 'unblock');
// Build the request path.
$path = '?action=userrights';
// Build the request data.
$data = array(
'username' => $username,
'token' => $token,
'add' => $add,
'remove' => $remove,
'reason' => $reason,
);
// Send the request.
$response = $this->client->post($this->fetchUrl($path), $data);
return $this->validateResponse($response);
}
/**
* Method to email a user.
*
* @param string $target User to send email to.
* @param string $subject Subject header.
* @param string $text Mail body.
* @param boolean $ccme Send a copy of this mail to me.
*
* @return object
*
* @since 3.1.4
*/
public function emailUser($target, $subject = null, $text = null, $ccme =
null)
{
// Get the token.
$token = $this->getToken($target, 'emailuser');
// Build the request path.
$path = '?action=emailuser';
// Build the request data.
$data = array(
'target' => $target,
'token' => $token,
'subject' => $subject,
'text' => $text,
'ccme' => $ccme,
);
// Send the request.
$response = $this->client->post($this->fetchUrl($path), $data);
return $this->validateResponse($response);
}
/**
* Method to get access token.
*
* @param string $user The User to get token.
* @param string $intoken The type of token.
*
* @return object
*
* @since 3.1.4
*/
public function getToken($user, $intoken)
{
// Build the request path.
$path = '?action=query&prop=info&intoken=' . $intoken .
'&titles=User:' . $user;
// Send the request.
$response = $this->client->post($this->fetchUrl($path), null);
return (string)
$this->validateResponse($response)->query->pages->page[$intoken
. 'token'];
}
}
home/lmsyaran/public_html/j3/libraries/regularlabs/fields/users.php000064400000004525151160074710021547
0ustar00<?php
/**
* @package Regular Labs Library
* @version 21.2.19653
*
* @author Peter van Westen <info@regularlabs.com>
* @link http://www.regularlabs.com
* @copyright Copyright © 2021 Regular Labs All Rights Reserved
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
*/
defined('_JEXEC') or die;
use Joomla\CMS\HTML\HTMLHelper as JHtml;
use Joomla\CMS\Language\Text as JText;
use Joomla\Registry\Registry;
if ( ! is_file(JPATH_LIBRARIES . '/regularlabs/autoload.php'))
{
return;
}
require_once JPATH_LIBRARIES . '/regularlabs/autoload.php';
class JFormFieldRL_Users extends \RegularLabs\Library\Field
{
public $type = 'Users';
protected function getInput()
{
if ( ! is_array($this->value))
{
$this->value = explode(',', $this->value);
}
$size = (int) $this->get('size');
$multiple = $this->get('multiple');
$show_current = $this->get('show_current');
return $this->selectListSimpleAjax(
$this->type, $this->name, $this->value, $this->id,
compact('size', 'multiple',
'show_current')
);
}
function getAjaxRaw(Registry $attributes)
{
$name = $attributes->get('name', $this->type);
$id = $attributes->get('id', strtolower($name));
$value = $attributes->get('value', []);
$size = $attributes->get('size');
$multiple = $attributes->get('multiple');
$show_current = $attributes->get('show_current');
$options = $this->getUsers();
if (is_array($options) && $show_current)
{
array_unshift($options, JHtml::_('select.option',
'current', '- ' . JText::_('RL_CURRENT_USER')
. ' -'));
}
return $this->selectListSimple($options, $name, $value, $id, $size,
$multiple);
}
function getUsers()
{
$query = $this->db->getQuery(true)
->select('COUNT(*)')
->from('#__users AS u');
$this->db->setQuery($query);
$total = $this->db->loadResult();
if ($total > $this->max_list_count)
{
return -1;
}
$query->clear('select')
->select('u.name, u.username, u.id, u.block as disabled')
->order('name');
$this->db->setQuery($query);
$list = $this->db->loadObjectList();
$list = array_map(function ($item) {
if ($item->disabled)
{
$item->name .= ' (' . JText::_('JDISABLED') .
')';
}
return $item;
}, $list);
return $this->getOptionsByList($list, ['username',
'id']);
}
}
home/lmsyaran/public_html/j3/libraries/joomla/mediawiki/users.php000064400000026600151162155040021216
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;
/**
* MediaWiki API Users class for the Joomla Platform.
*
* @since 3.1.4
*/
class JMediawikiUsers extends JMediawikiObject
{
/**
* Method to login and get authentication tokens.
*
* @param string $lgname User Name.
* @param string $lgpassword Password.
* @param string $lgdomain Domain (optional).
*
* @return object
*
* @since 3.1.4
*/
public function login($lgname, $lgpassword, $lgdomain = null)
{
// Build the request path.
$path = '?action=login&lgname=' . $lgname .
'&lgpassword=' . $lgpassword;
if (isset($lgdomain))
{
$path .= '&lgdomain=' . $lgdomain;
}
// Send the request.
$response = $this->client->post($this->fetchUrl($path), null);
// Request path with login token.
$path = '?action=login&lgname=' . $lgname .
'&lgpassword=' . $lgpassword . '&lgtoken=' .
$this->validateResponse($response)->login['token'];
if (isset($lgdomain))
{
$path .= '&lgdomain=' . $lgdomain;
}
// Set the session cookies returned.
$headers = (array) $this->options->get('headers');
$headers['Cookie'] = !empty($headers['Cookie']) ?
empty($headers['Cookie']) : '';
$headers['Cookie'] = $headers['Cookie'] .
$response->headers['Set-Cookie'];
$this->options->set('headers', $headers);
// Send the request again with the token.
$response = $this->client->post($this->fetchUrl($path), null);
$response_body = $this->validateResponse($response);
$headers = (array) $this->options->get('headers');
$cookie_prefix = $response_body->login['cookieprefix'];
$cookie = $cookie_prefix . 'UserID=' .
$response_body->login['lguserid'] . '; ' .
$cookie_prefix
. 'UserName=' .
$response_body->login['lgusername'];
$headers['Cookie'] = $headers['Cookie'] . ';
' . $response->headers['Set-Cookie'] . '; ' .
$cookie;
$this->options->set('headers', $headers);
return $this->validateResponse($response);
}
/**
* Method to logout and clear session data.
*
* @return object
*
* @since 3.1.4
*/
public function logout()
{
// Build the request path.
$path = '?action=login';
// @TODO clear internal data as well
// Send the request.
$response = $this->client->get($this->fetchUrl($path));
return $this->validateResponse($response);
}
/**
* Method to get user information.
*
* @param array $ususers A list of users to obtain the same
information for.
* @param array $usprop What pieces of information to include.
*
* @return object
*
* @since 3.1.4
*/
public function getUserInfo(array $ususers, array $usprop = null)
{
// Build the request path.
$path = '?action=query&list=users';
// Append users to the request.
$path .= '&ususers=' . $this->buildParameter($ususers);
if (isset($usprop))
{
$path .= '&usprop' . $this->buildParameter($usprop);
}
// Send the request.
$response = $this->client->get($this->fetchUrl($path));
return $this->validateResponse($response);
}
/**
* Method to get current user information.
*
* @param array $uiprop What pieces of information to include.
*
* @return object
*
* @since 3.1.4
*/
public function getCurrentUserInfo(array $uiprop = null)
{
// Build the request path.
$path = '?action=query&meta=userinfo';
if (isset($uiprop))
{
$path .= '&uiprop' . $this->buildParameter($uiprop);
}
// Send the request.
$response = $this->client->get($this->fetchUrl($path));
return $this->validateResponse($response);
}
/**
* Method to get user contributions.
*
* @param string $ucuser The users to retrieve contributions
for.
* @param string $ucuserprefix Retrieve contibutions for all users
whose names begin with this value.
* @param integer $uclimit The users to retrieve contributions
for.
* @param string $ucstart The start timestamp to return from.
* @param string $ucend The end timestamp to return to.
* @param boolean $uccontinue When more results are available, use
this to continue.
* @param string $ucdir In which direction to enumerate.
* @param array $ucnamespace Only list contributions in these
namespaces.
* @param array $ucprop Include additional pieces of
information.
* @param array $ucshow Show only items that meet this
criteria.
* @param string $uctag Only list revisions tagged with this
tag.
* @param string $uctoponly Only list changes which are the latest
revision
*
* @return object
*
* @since 3.1.4
*/
public function getUserContribs($ucuser = null, $ucuserprefix = null,
$uclimit = null, $ucstart = null, $ucend = null, $uccontinue = null,
$ucdir = null, array $ucnamespace = null, array $ucprop = null, array
$ucshow = null, $uctag = null, $uctoponly = null)
{
// Build the request path.
$path = '?action=query&list=usercontribs';
if (isset($ucuser))
{
$path .= '&ucuser=' . $ucuser;
}
if (isset($ucuserprefix))
{
$path .= '&ucuserprefix=' . $ucuserprefix;
}
if (isset($uclimit))
{
$path .= '&uclimit=' . $uclimit;
}
if (isset($ucstart))
{
$path .= '&ucstart=' . $ucstart;
}
if (isset($ucend))
{
$path .= '&ucend=' . $ucend;
}
if ($uccontinue)
{
$path .= '&uccontinue=';
}
if (isset($ucdir))
{
$path .= '&ucdir=' . $ucdir;
}
if (isset($ucnamespace))
{
$path .= '&ucnamespace=' .
$this->buildParameter($ucnamespace);
}
if (isset($ucprop))
{
$path .= '&ucprop=' . $this->buildParameter($ucprop);
}
if (isset($ucshow))
{
$path .= '&ucshow=' . $this->buildParameter($ucshow);
}
if (isset($uctag))
{
$path .= '&uctag=' . $uctag;
}
if (isset($uctoponly))
{
$path .= '&uctoponly=' . $uctoponly;
}
// Send the request.
$response = $this->client->get($this->fetchUrl($path));
return $this->validateResponse($response);
}
/**
* Method to block a user.
*
* @param string $user Username, IP address or IP range you
want to block.
* @param string $expiry Relative expiry time, Default: never.
* @param string $reason Reason for block (optional).
* @param boolean $anononly Block anonymous users only.
* @param boolean $nocreate Prevent account creation.
* @param boolean $autoblock Automatically block the last used IP
address, and any subsequent IP addresses they try to login from.
* @param boolean $noemail Prevent user from sending email
through the wiki.
* @param boolean $hidename Hide the username from the block log.
* @param boolean $allowusertalk Allow the user to edit their own talk
page.
* @param boolean $reblock If the user is already blocked,
overwrite the existing block.
* @param boolean $watchuser Watch the user/IP's user and
talk pages.
*
* @return object
*
* @since 3.1.4
*/
public function blockUser($user, $expiry = null, $reason = null, $anononly
= null, $nocreate = null, $autoblock = null, $noemail = null,
$hidename = null, $allowusertalk = null, $reblock = null, $watchuser =
null)
{
// Get the token.
$token = $this->getToken($user, 'block');
// Build the request path.
$path = '?action=unblock';
// Build the request data.
$data = array(
'user' => $user,
'token' => $token,
'expiry' => $expiry,
'reason' => $reason,
'anononly' => $anononly,
'nocreate' => $nocreate,
'autoblock' => $autoblock,
'noemail' => $noemail,
'hidename' => $hidename,
'allowusetalk' => $allowusertalk,
'reblock' => $reblock,
'watchuser' => $watchuser,
);
// Send the request.
$response = $this->client->post($this->fetchUrl($path), $data);
return $this->validateResponse($response);
}
/**
* Method to unblock a user.
*
* @param string $user Username, IP address or IP range you want to
unblock.
* @param string $reason Reason for unblock (optional).
*
* @return object
*
* @since 3.1.4
*/
public function unBlockUserByName($user, $reason = null)
{
// Get the token.
$token = $this->getToken($user, 'unblock');
// Build the request path.
$path = '?action=unblock';
// Build the request data.
$data = array(
'user' => $user,
'token' => $token,
'reason' => $reason,
);
// Send the request.
$response = $this->client->post($this->fetchUrl($path), $data);
return $this->validateResponse($response);
}
/**
* Method to unblock a user.
*
* @param int $id Username, IP address or IP range you want to
unblock.
* @param string $reason Reason for unblock (optional).
*
* @return object
*
* @since 3.1.4
*/
public function unBlockUserById($id, $reason = null)
{
// Get the token.
$token = $this->getToken($id, 'unblock');
// Build the request path.
$path = '?action=unblock';
// Build the request data.
// TODO: $data doesn't seem to be used!
$data = array(
'id' => $id,
'token' => $token,
'reason' => $reason,
);
// Send the request.
$response = $this->client->get($this->fetchUrl($path));
return $this->validateResponse($response);
}
/**
* Method to assign a user to a group.
*
* @param string $username User name.
* @param array $add Add the user to these groups.
* @param array $remove Remove the user from these groups.
* @param string $reason Reason for the change.
*
* @return object
*
* @since 3.1.4
*/
public function assignGroup($username, $add = null, $remove = null,
$reason = null)
{
// Get the token.
$token = $this->getToken($username, 'unblock');
// Build the request path.
$path = '?action=userrights';
// Build the request data.
$data = array(
'username' => $username,
'token' => $token,
'add' => $add,
'remove' => $remove,
'reason' => $reason,
);
// Send the request.
$response = $this->client->post($this->fetchUrl($path), $data);
return $this->validateResponse($response);
}
/**
* Method to email a user.
*
* @param string $target User to send email to.
* @param string $subject Subject header.
* @param string $text Mail body.
* @param boolean $ccme Send a copy of this mail to me.
*
* @return object
*
* @since 3.1.4
*/
public function emailUser($target, $subject = null, $text = null, $ccme =
null)
{
// Get the token.
$token = $this->getToken($target, 'emailuser');
// Build the request path.
$path = '?action=emailuser';
// Build the request data.
$data = array(
'target' => $target,
'token' => $token,
'subject' => $subject,
'text' => $text,
'ccme' => $ccme,
);
// Send the request.
$response = $this->client->post($this->fetchUrl($path), $data);
return $this->validateResponse($response);
}
/**
* Method to get access token.
*
* @param string $user The User to get token.
* @param string $intoken The type of token.
*
* @return object
*
* @since 3.1.4
*/
public function getToken($user, $intoken)
{
// Build the request path.
$path = '?action=query&prop=info&intoken=' . $intoken .
'&titles=User:' . $user;
// Send the request.
$response = $this->client->post($this->fetchUrl($path), null);
return (string)
$this->validateResponse($response)->query->pages->page[$intoken
. 'token'];
}
}
home/lmsyaran/public_html/j3/htaccess.back/joomla/twitter/users.php000064400000024047151164154600021503
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();
/**
* Twitter API Users class for the Joomla Platform.
*
* @since 3.1.4
* @deprecated 4.0 Use the `joomla/twitter` package via Composer instead
*/
class JTwitterUsers extends JTwitterObject
{
/**
* Method to get up to 100 users worth of extended information, specified
by either ID, screen name, or combination of the two.
*
* @param string $screenName A comma separated list of screen names,
up to 100 are allowed in a single request.
* @param string $id A comma separated list of user IDs, up
to 100 are allowed in a single request.
* @param boolean $entities When set to either true, t or 1, each
tweet will include a node called "entities,". This node offers a
variety of
* metadata about the tweet in a discreet structure, including:
user_mentions, urls, and hashtags.
*
* @return array The decoded JSON response
*
* @since 3.1.4
* @throws RuntimeException
*/
public function getUsersLookup($screenName = null, $id = null, $entities =
null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'lookup');
// Set user IDs and screen names.
if ($id)
{
$data['user_id'] = $id;
}
if ($screenName)
{
$data['screen_name'] = $screenName;
}
if ($id == null && $screenName == null)
{
// We don't have a valid entry
throw new RuntimeException('You must specify either a comma
separated list of screen names, user IDs, or a combination of the
two');
}
// Set the API path
$path = '/users/lookup.json';
// Check if string_ids is specified
if (!is_null($entities))
{
$data['include_entities'] = $entities;
}
// Send the request.
return $this->sendRequest($path, 'POST', $data);
}
/**
* Method to access the profile banner in various sizes for the user with
the indicated screen_name.
*
* @param mixed $user Either an integer containing the user ID or a
string containing the screen name.
*
* @return array The decoded JSON response
*
* @since 3.1.4
*/
public function getUserProfileBanner($user)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'profile_banner');
// Set the API path
$path = '/users/profile_banner.json';
// Determine which type of data was passed for $user
if (is_numeric($user))
{
$data['user_id'] = $user;
}
elseif (is_string($user))
{
$data['screen_name'] = $user;
}
else
{
// We don't have a valid entry
throw new RuntimeException('The specified username is not in the
correct format; must use integer or string');
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method used to search for users
*
* @param string $query The search query to run against people
search.
* @param integer $page Specifies the page of results to retrieve.
* @param integer $count The number of people to retrieve. Maximum
of 20 allowed per page.
* @param boolean $entities When set to either true, t or 1, each
tweet will include a node called "entities,". This node offers a
* variety of metadata about the tweet in a discreet structure,
including: user_mentions, urls, and hashtags.
*
* @return array The decoded JSON response
*
* @since 3.1.4
* @throws RuntimeException
*/
public function searchUsers($query, $page = 0, $count = 0, $entities =
null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'search');
$data['q'] = rawurlencode($query);
// Check if page is specified.
if ($page > 0)
{
$data['page'] = $page;
}
// Check if per_page is specified
if ($count > 0)
{
$data['count'] = $count;
}
// Check if entities is specified.
if (!is_null($entities))
{
$data['include_entities'] = $entities;
}
// Set the API path
$path = '/users/search.json';
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method to get extended information of a given user, specified by ID or
screen name as per the required id parameter.
*
* @param mixed $user Either an integer containing the user ID
or a string containing the screen name.
* @param boolean $entities Set to true to return IDs as strings,
false to return as integers.
*
* @return array The decoded JSON response
*
* @since 3.1.4
* @throws RuntimeException
*/
public function getUser($user, $entities = null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'show/:id');
// Determine which type of data was passed for $user
if (is_numeric($user))
{
$data['user_id'] = $user;
}
elseif (is_string($user))
{
$data['screen_name'] = $user;
}
else
{
// We don't have a valid entry
throw new RuntimeException('The specified username is not in the
correct format; must use integer or string');
}
// Set the API path
$path = '/users/show.json';
// Check if entities is specified
if (!is_null($entities))
{
$data['include_entities'] = $entities;
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method to get an array of users that the specified user can contribute
to.
*
* @param mixed $user Either an integer containing the user ID
or a string containing the screen name.
* @param boolean $entities Set to true to return IDs as strings,
false to return as integers.
* @param boolean $skipStatus When set to either true, t or 1 statuses
will not be included in the returned user objects.
*
* @return array The decoded JSON response
*
* @since 3.1.4
* @throws RuntimeException
*/
public function getContributees($user, $entities = null, $skipStatus =
null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'contributees');
// Determine which type of data was passed for $user
if (is_numeric($user))
{
$data['user_id'] = $user;
}
elseif (is_string($user))
{
$data['screen_name'] = $user;
}
else
{
// We don't have a valid entry
throw new RuntimeException('The specified username is not in the
correct format; must use integer or string');
}
// Set the API path
$path = '/users/contributees.json';
// Check if entities is specified
if (!is_null($entities))
{
$data['include_entities'] = $entities;
}
// Check if skip_status is specified
if (!is_null($skipStatus))
{
$data['skip_status'] = $skipStatus;
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method to get an array of users who can contribute to the specified
account.
*
* @param mixed $user Either an integer containing the user ID
or a string containing the screen name.
* @param boolean $entities Set to true to return IDs as strings,
false to return as integers.
* @param boolean $skipStatus When set to either true, t or 1 statuses
will not be included in the returned user objects.
*
* @return array The decoded JSON response
*
* @since 3.1.4
* @throws RuntimeException
*/
public function getContributors($user, $entities = null, $skipStatus =
null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'contributors');
// Determine which type of data was passed for $user
if (is_numeric($user))
{
$data['user_id'] = $user;
}
elseif (is_string($user))
{
$data['screen_name'] = $user;
}
else
{
// We don't have a valid entry
throw new RuntimeException('The specified username is not in the
correct format; must use integer or string');
}
// Set the API path
$path = '/users/contributors.json';
// Check if entities is specified
if (!is_null($entities))
{
$data['include_entities'] = $entities;
}
// Check if skip_status is specified
if (!is_null($skipStatus))
{
$data['skip_status'] = $skipStatus;
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method access to Twitter's suggested user list.
*
* @param boolean $lang Restricts the suggested categories to the
requested language.
*
* @return array The decoded JSON response
*
* @since 3.1.4
*/
public function getSuggestions($lang = null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users', 'suggestions');
// Set the API path
$path = '/users/suggestions.json';
$data = array();
// Check if entities is true
if ($lang)
{
$data['lang'] = $lang;
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* method to access the users in a given category of the Twitter suggested
user list.
*
* @param string $slug The short name of list or a category.
* @param boolean $lang Restricts the suggested categories to the
requested language.
*
* @return array The decoded JSON response
*
* @since 3.1.4
*/
public function getSuggestionsSlug($slug, $lang = null)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users',
'suggestions/:slug');
// Set the API path
$path = '/users/suggestions/' . $slug . '.json';
$data = array();
// Check if entities is true
if ($lang)
{
$data['lang'] = $lang;
}
// Send the request.
return $this->sendRequest($path, 'GET', $data);
}
/**
* Method to access the users in a given category of the Twitter suggested
user list and return
* their most recent status if they are not a protected user.
*
* @param string $slug The short name of list or a category.
*
* @return array The decoded JSON response
*
* @since 3.1.4
*/
public function getSuggestionsSlugMembers($slug)
{
// Check the rate limit for remaining hits
$this->checkRateLimit('users',
'suggestions/:slug/members');
// Set the API path
$path = '/users/suggestions/' . $slug .
'/members.json';
// Send the request.
return $this->sendRequest($path);
}
}