Sindbad~EG File Manager

Current Path : /home/sarayaglobal/sarayamystair.in/components/com_sh404sef/sef_ext/
Upload File :
Current File : /home/sarayaglobal/sarayamystair.in/components/com_sh404sef/sef_ext/com_comprofiler.php

<?php
/**
 * sh404SEF - SEO extension for Joomla!
 *
 * @author      Yannick Gaultier
 * @copyright   (c) Yannick Gaultier - Weeblr llc - 2020
 * @package     sh404SEF
 * @license     http://www.gnu.org/copyleft/gpl.html GNU/GPL
 * @version     4.21.1.4217
 * @date        2020-09-23
 */

defined('_JEXEC') or die('Direct Access to this location is not allowed.');

// ------------------  standard plugin initialize function - don't change ---------------------------
global $sh_LANG;
$sefConfig = &Sh404sefFactory::getConfig();
$shLangName = '';
$shLangIso = '';
$title = array();
$shItemidString = '';
$dosef = shInitializePlugin($lang, $shLangName, $shLangIso, $option);
if ($dosef == false)
{
	return;
}
// ------------------  standard plugin initialize function - don't change ---------------------------

// ------------------  load language file - adjust as needed ----------------------------------------
$shLangIso = shLoadPluginLanguage('com_comprofiler', $shLangIso, '_SH404SEF_CB_VIEW_USER_DETAILS');
// ------------------  load language file - adjust as needed ----------------------------------------

if (!function_exists('shIsCB2'))
{
	function shIsCB2()
	{

		static $isCB2 = null;

		if (is_null($isCB2))
		{
			// Load the local XML file first to get the local version
			$xmlFile = JPATH_ROOT . '/administrator/components/com_comprofiler/comprofiler.xml';
			$xml = ShlSystem_Xml::fromFile($xmlFile);
			$version = (string) $xml->version;
			$isCB2 = version_compare($version, '2', 'ge');
		}

		return $isCB2;
	}
}

shRemoveFromGETVarsList('option');
if (!empty($lang))
{
	shRemoveFromGETVarsList('lang');
}
if (!empty($limit))
{
	shRemoveFromGETVarsList('limit');
}
if (isset($limitstart))
{
	shRemoveFromGETVarsList('limitstart');
}

$task = isset($task) ? $task : null;
if (shIsCB2())
{
	$task = isset($task) || !isset($view) ? $task : $view;
	if (isset($task) && isset($view))
	{
		shRemoveFromGETVarsList('view');
	}
}
$Itemid = isset($Itemid) ? $Itemid : null;

// insert comp name from user input in backend
$shCBName = shGetComponentPrefix($option);
$shCBName = empty($shCBName) ? getMenuTitle($option, $task, $Itemid, null, $shLangName) : $shCBName;
$shCBName = (empty($shCBName) || $shCBName == '/') ? 'CB' : $shCBName; // V 1.2.4.t

// do something about that Itemid thing  V 1.2.4.m
if (!preg_match('/Itemid=[0-9]+/iu', $string))
{ // if no Itemid in non-sef URL
	//if (eregi('Itemid=[0-9]+', $string) === false) { // if no Itemid in non-sef URL
	if ($sefConfig->shInsertGlobalItemidIfNone && !empty($shCurrentItemid))
	{
		$string .= '&Itemid=' . $shCurrentItemid;  // append current Itemid
		$Itemid = $shCurrentItemid;
		shAddToGETVarsList('Itemid', $Itemid);
	}
	if ($sefConfig->shInsertTitleIfNoItemid)
	{
		$title[] = $shCBName;
		// prevent from adding another time
		$sefConfig->shInsertCBName = false;
	}
	$shItemidString = '';
	if ($sefConfig->shAlwaysInsertItemid && (!empty($Itemid) || !empty($shCurrentItemid)))
	{
		$shItemidString = JText::_('COM_SH404SEF_ALWAYS_INSERT_ITEMID_PREFIX') . $sefConfig->replacement
			. (empty($Itemid) ? $shCurrentItemid : $Itemid);
	}
}
else
{  // if Itemid in non-sef URL
	$shItemidString = $sefConfig->shAlwaysInsertItemid ?
		JText::_('COM_SH404SEF_ALWAYS_INSERT_ITEMID_PREFIX') . $sefConfig->replacement . $Itemid
		: '';
	if ($sefConfig->shAlwaysInsertMenuTitle)
	{
		//global $Itemid; V 1.2.4.g we want the string option, not current page !
		$title[] = $shCBName;
		// prevent from adding another time
		$sefConfig->shInsertCBName = false;
	}
}

if (!empty($Itemid))
{
	shRemoveFromGETVarsList('Itemid');
}

$task = isset($task) ? @$task : null;

switch (strtolower($task))
{
	case 'userdetails':
		if ($sefConfig->shInsertCBName)
		{
			$title[] = $shCBName;
		}
		$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_VIEW_USER_DETAILS'];
		// add user name to URL if requested to do so. User id is in $user
		if (!empty($user) && $sefConfig->shCBInsertUserName)
		{

			try
			{
				$result = ShlDbHelper::selectResult(
					'#__users'
					, array(($sefConfig->shCBUseUserPseudo ? 'user' : '') . 'name')
					, array('id' => $user)
				);
			}
			catch (Exception $e)
			{
				ShlSystem_Log::error('sh404sef', '%s::%s::%d: %s', __CLASS__, __METHOD__, __LINE__, $e->getMessage());
			}

			$title[] = empty($result) ?  // no name available
				$sh_LANG[$shLangIso]['_SH404SEF_CB_USER'] . $sefConfig->replacement . $user // put ID
				: ($sefConfig->shCBInsertUserId ? $user . $sefConfig->replacement . $result : $result); // if name, put ID only if requested
			shRemoveFromGETVarsList('user');
		}
		shRemoveFromGETVarsList('task');
		break;
	case 'userslist':
		if ($sefConfig->shInsertCBName)
		{
			$title[] = $shCBName;
		}
		$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_VIEW_USERS_LIST'];
		// manage listid
		if (!empty($listid))
		{

			try
			{
				$result = ShlDbHelper::selectObject(
					'#__comprofiler_lists'
					, array('listid', 'title')
					, array('listid' => $listid)
				);
			}
			catch (Exception $e)
			{
				ShlSystem_Log::error('sh404sef', '%s::%s::%d: %s', __CLASS__, __METHOD__, __LINE__, $e->getMessage());
			}

			$title[] = empty($result) ?  // no name available
				$sh_LANG[$shLangIso]['_SH404SEF_CB_LIST'] . $sefConfig->replacement . $listid // put ID
				: $result->title; // if name, put ID only if requested
			shRemoveFromGETVarsList('listid');
		}
		shRemoveFromGETVarsList('task');
		if (isset($searchmode) && empty($searchmode))
		{
			shRemoveFromGETVarsList('searchmode');
		}
		break;
	case 'reportuser':
		if ($sefConfig->shInsertCBName)
		{
			$title[] = $shCBName;
		}
		$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_REPORT_USER'];
		// add user name if set to do so / user id is in $uid
		if ($sefConfig->shCBInsertUserName)
		{

			try
			{
				$result = ShlDbHelper::selectResult(
					'#__users'
					, array(($sefConfig->shCBUseUserPseudo ? 'user' : '') . 'name')
					, array('id' => $uid)
				);
			}
			catch (Exception $e)
			{
				ShlSystem_Log::error('sh404sef', '%s::%s::%d: %s', __CLASS__, __METHOD__, __LINE__, $e->getMessage());
			}

			$title[] = empty($result) ?  // no name available
				$sh_LANG[$shLangIso]['_SH404SEF_CB_USER'] . $sefConfig->replacement . $uid // put ID
				: ($sefConfig->shCBInsertUserId ? $uid . $sefConfig->replacement . $result : $result); // if name, put ID only if requested
			shRemoveFromGETVarsList('uid');
		}
		shRemoveFromGETVarsList('task');
		break;
	case 'banprofile' :
		if ($sefConfig->shInsertCBName)
		{
			$title[] = $shCBName;
		}
		switch ($act)
		{
			case 0:
				$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_USER_UNBAN'];
				shRemoveFromGETVarsList('act');
				shRemoveFromGETVarsList('task');
				break;
			case 1:
				$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_USER_BAN'];
				shRemoveFromGETVarsList('act');
				shRemoveFromGETVarsList('task');
				break;
			case 2:
				$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_USER_BAN_REQUEST'];
				shRemoveFromGETVarsList('act');
				shRemoveFromGETVarsList('task');
				break;
		}
		// add user name if set to do so / user id is in $uid
		if ($sefConfig->shCBInsertUserName)
		{

			try
			{
				$result = ShlDbHelper::selectResult(
					'#__users'
					, array(($sefConfig->shCBUseUserPseudo ? 'user' : '') . 'name')
					, array('id' => $uid)
				);
			}
			catch (Exception $e)
			{
				ShlSystem_Log::error('sh404sef', '%s::%s::%d: %s', __CLASS__, __METHOD__, __LINE__, $e->getMessage());
			}

			$title[] = empty($result) ?  // no name available
				$sh_LANG[$shLangIso]['_SH404SEF_CB_USER'] . $sefConfig->replacement . $uid // put ID
				: ($sefConfig->shCBInsertUserId ? $uid . $sefConfig->replacement . $result : $result); // if name, put ID only if requested
			shRemoveFromGETVarsList('uid');
		}
		break;
	case 'confirm':
		$dosef = false;
		break;
	case 'logout':
		if ($sefConfig->shInsertCBName)
		{
			$title[] = $shCBName;
		}
		if (!empty($sh_LANG[$shLangIso]['_SH404SEF_CB_REGISTRATION']))
		{
			$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_REGISTRATION'];
		}
		$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_LOGOUT'];
		shRemoveFromGETVarsList('task');
		break;
	case 'userprofile':
		if ($sefConfig->shCBShortUserURL)
		{
			if (!empty($user))
			{
				try
				{
					$result = ShlDbHelper::selectResult(
						'#__users'
						, array(($sefConfig->shCBUseUserPseudo ? 'user' : '') . 'name')
						, array('id' => $user)
					);
				}
				catch (Exception $e)
				{
					ShlSystem_Log::error('sh404sef', '%s::%s::%d: %s', __CLASS__, __METHOD__, __LINE__, $e->getMessage());
				}
			}

			$title[] = empty($result) ?  // no name available
				$sh_LANG[$shLangIso]['_SH404SEF_CB_USER'] . (empty($user) ? '' : $sefConfig->replacement . $user) : $result;
			$title[] = '/';
			shRemoveFromGETVarsList('user');
		}
		else
		{
			if ($sefConfig->shInsertCBName)
			{
				$title[] = $shCBName;
			}
			$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_VIEW_USER_PROFILE'];
			// add user name to URL if requested to do so. User id is in $user
			if ($sefConfig->shCBInsertUserName && !empty($user))
			{  // V 1.2.4.r

				try
				{
					$result = ShlDbHelper::selectResult(
						'#__users'
						, array(($sefConfig->shCBUseUserPseudo ? 'user' : '') . 'name')
						, array('id' => $user)
					);
				}
				catch (Exception $e)
				{
					ShlSystem_Log::error('sh404sef', '%s::%s::%d: %s', __CLASS__, __METHOD__, __LINE__, $e->getMessage());
				}

				$title[] = empty($result) ?  // no name available
					$sh_LANG[$shLangIso]['_SH404SEF_CB_USER'] . $sefConfig->replacement . $user // put ID
					: ($sefConfig->shCBInsertUserId ? $user . $sefConfig->replacement . $result : $result); // if name, put ID only if requested
				shRemoveFromGETVarsList('user');
			}
		}
		shRemoveFromGETVarsList('task');
		break;
	case 'manageconnections':
		$dosef = false;
		break;
	case 'login':
		if ($sefConfig->shInsertCBName)
		{
			$title[] = $shCBName;
		}
		if (!empty($sh_LANG[$shLangIso]['_SH404SEF_CB_REGISTRATION']))
		{
			$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_REGISTRATION'];
		}
		$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_LOGIN'];
		shRemoveFromGETVarsList('task');
		break;
	case 'lostpassword':
		if ($sefConfig->shInsertCBName)
		{
			$title[] = $shCBName;
		}
		// optional first part of URL, to be set in language file
		if (!empty($sh_LANG[$shLangIso]['_SH404SEF_CB_REGISTRATION']))
		{
			$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_REGISTRATION'];
		}
		$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_LOST_PASSWORD'];
		shRemoveFromGETVarsList('task');
		break;
	case 'registers':
		if ($sefConfig->shInsertCBName)
		{
			$title[] = $shCBName;
		}
		// optional first part of URL, to be set in language file
		if (!empty($sh_LANG[$shLangIso]['_SH404SEF_CB_REGISTRATION']))
		{
			$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_REGISTRATION'];
		}
		$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_REGISTER'];
		shRemoveFromGETVarsList('task');
		break;
	case 'moderatebans':
		$dosef = false;
		break;
	case 'moderatereports':
		$dosef = false;
		break;
	case 'moderateimages':
		$dosef = false;
		break;
	case 'pendingapprovaluser':
		$dosef = false;
		break;
	case 'useravatar':
		$do = isset($do) ? @$do : null;
		switch (strtolower($do))
		{
			case 'deleteavatar':
				if ($sefConfig->shInsertCBName)
				{
					$title[] = $shCBName;
				}
				$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_DELETE_AVATAR'];
				shRemoveFromGETVarsList('do');
				shRemoveFromGETVarsList('task');
				break;
			default:
				if ($sefConfig->shInsertCBName)
				{
					$title[] = $shCBName;
				}
				$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_MANAGE_AVATAR'];
				shRemoveFromGETVarsList('task');
				break;
		}
		break;
	case 'emailuser':
		if ($sefConfig->shInsertCBName)
		{
			$title[] = $shCBName;
		}
		$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_EMAIL_USER'];
		// add user name if set to do so / user id is in $uid
		if ($sefConfig->shCBInsertUserName)
		{

			try
			{
				$result = ShlDbHelper::selectResult(
					'#__users'
					, array(($sefConfig->shCBUseUserPseudo ? 'user' : '') . 'name')
					, array('id' => $uid)
				);
			}
			catch (Exception $e)
			{
				ShlSystem_Log::error('sh404sef', '%s::%s::%d: %s', __CLASS__, __METHOD__, __LINE__, $e->getMessage());
			}

			$title[] = empty($result) ?  // no name available
				$sh_LANG[$shLangIso]['_SH404SEF_CB_USER'] . $sefConfig->replacement . $uid // put ID
				: ($sefConfig->shCBInsertUserId ? $uid . $sefConfig->replacement . $result : $result); // if name, put ID only if requested
			shRemoveFromGETVarsList('uid');
		}
		shRemoveFromGETVarsList('task');
		break;
	case 'teamcredits':
		if ($sefConfig->shInsertCBName)
		{
			$title[] = $shCBName;
		}
		$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_TEAM_CREDITS'];
		shRemoveFromGETVarsList('task');
		break;
	case '':
		if ($sefConfig->shInsertCBName)
		{
			$title[] = $shCBName;
		} // V 1.2.4.t
		$title[] = $sh_LANG[$shLangIso]['_SH404SEF_CB_MAIN_PAGE'];
		shRemoveFromGETVarsList('task');
		break;
	default:
		$dosef = false;
		break;
}

// V 1.2.4.s : fix for CB not passing $limit value in some URL : breaks pagination
if (isset($limitstart) && empty($limit))
{
	if (shIsCB2() && !empty($listid))
	{
		try
		{
			$result = ShlDbHelper::selectResult(
				'#__comprofiler_lists'
				, array('params')
				, array('listid' => $listid)
			);
			if (!empty($result))
			{
				$_params = json_decode($result);
				$limit = isset($_params->list_limit) ? $_params->list_limit : $JFactory::getApplication()->getCfg('list_limit', 10);;
			}
		}
		catch (Exception $e)
		{
			ShlSystem_Log::error('sh404sef', '%s::%s::%d: %s', __CLASS__, __METHOD__, __LINE__, $e->getMessage());
		}
	}
	else
	{
		if (empty($ueConfig))
		{
			$sh_CB_joomla_adminpath = sh404SEF_ABS_PATH . 'administrator';
			$sh_CB_adminpath = $sh_CB_joomla_adminpath . '/components/com_comprofiler';
			include($sh_CB_adminpath . "/ue_config.php");
		}
		$limit = $ueConfig['num_per_page'];
	}

	shAddToGETVarsList('limit', $limit);
	shRemoveFromGETVarsList('limit');
}

// ------------------  standard plugin finalize function - don't change ---------------------------
if ($dosef)
{
	$string = shFinalizePlugin(
		$string, $title, $shAppendString, $shItemidString,
		(isset($limit) ? @$limit : null), (isset($limitstart) ? @$limitstart : null),
		(isset($shLangName) ? @$shLangName : null)
	);
}
// ------------------  standard plugin finalize function - don't change ---------------------------


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists