https://t.me/RX1948
Server : Apache/2.4.18 (Ubuntu)
System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64
User : oppastar ( 1041)
PHP Version : 7.0.33-0ubuntu0.16.04.15
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
Directory :  /var/www/andreassugianto.com/public_html/plugins/system/atoolsjupdatecheck/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/andreassugianto.com/public_html/plugins/system/atoolsjupdatecheck/atoolsjupdatecheck.php
<?php
/**
 * @package AdminTools
 * @subpackage UpdateCheck
 * @copyright Copyright (c)2011-2013 Nicholas K. Dionysopoulos
 * @license GNU General Public License version 3, or later
 */

defined('_JEXEC') or die();

// Uncomment the following line to enable debug mode
//define('ATJUPDATEDEBUG',1);

// PHP version check
if(defined('PHP_VERSION')) {
	$version = PHP_VERSION;
} elseif(function_exists('phpversion')) {
	$version = phpversion();
} else {
	$version = '5.0.0'; // all bets are off!
}
if(!version_compare($version, '5.2.7', 'ge')) return;

// You can't fix stupid… but you can try working around it
if( (!function_exists('json_encode')) || (!function_exists('json_decode')) )
{
	require_once JPATH_ADMINISTRATOR . '/components/com_admintools/helpers/jsonlib.php';
}

JLoader::import('joomla.application.plugin');

class plgSystemAtoolsjupdatecheck extends JPlugin
{
	public function onAfterRender()
	{
		// Is the One Click Action plugin enabled?
		$app = JFactory::getApplication();
		$jResponse = $app->triggerEvent('onOneClickActionEnabled');

		if (empty($jResponse))
		{
			return;
		}

		$status = false;

		foreach ($jResponse as $response)
		{
			$status = $status || $response;
		}

		if (!$status)
		{
			return;
		}

		// Get the timeout for Joomla! updates
		jimport('joomla.application.component.helper');
		$component = JComponentHelper::getComponent('com_installer');
		$params = $component->params;
		$cache_timeout = $params->get('cachetimeout', 6, 'int');
		$cache_timeout = 3600 * $cache_timeout;

		// Do we need to run?
		$last = $this->params->get('lastrun', 0);
		$now = time();

		if (!defined('ATJUPDATEDEBUG') && (abs($now - $last) < $cache_timeout))
		{
			return;
		}

		// Update last run status
		$params->set('lastrun', $now);
		$db = JFactory::getDBO();
		$data = $params->toString('JSON');
		$sql = $db->getQuery(true)
			->update($db->qn('#__extensions'))
			->set($db->qn('params').' = '.$db->q($data))
			->where($db->qn('type').' = '.$db->q('plugin'))
			->where($db->qn('folder').' = '.$db->q('system'))
			->where($db->qn('element').' = '.$db->q('atoolsjupdatecheck'));
		$db->setQuery($sql);

		try
		{
			$result = $db->execute();
		}
		catch (Exception $exc)
		{
			$result = false;
		}

		if (!$result)
		{
			return;
		}

		// This is the extension ID for Joomla! itself
		$eid = 700;

		// Get any available updates
		$updater = JUpdater::getInstance();
		$results = $updater->findUpdates(array($eid), $cache_timeout);

		if (!$results)
		{
			return;
		}

		require_once JPATH_ADMINISTRATOR . '/components/com_installer/models/update.php';
		$model = JModelLegacy::getInstance('Update','InstallerModel');

		$model->setState('filter.extension_id', $eid);
		$updates = $model->getItems();

		if (empty($updates))
		{
			return;
		}

		$update = array_pop($updates);

		// If we're here, we have updates. Let's create an OTP.
		$uri = JURI::base();
		$uri = rtrim($uri,'/');
		$uri .= (substr($uri,-13) != 'administrator') ? '/administrator/' : '/';
		$link = 'index.php?option=com_joomlaupdate';

		$superAdmins = array();
		$superAdminEmail = $this->params->get('email', '');

		if (!empty($superAdminEmail))
		{
			$superAdmins = $this->_getSuperAdministrators($superAdminEmail);
		}

		if (empty($superAdmins))
		{
			$superAdmins = $this->_getSuperAdministrators();
		}

		if (empty($superAdmins))
		{
			return;
		}

		$this->loadLanguage();
		$email_subject	= JText::_('PLG_ATOOLSJUPDATECHECK_EMAIL_SUBJECT');
		$email_body		= JText::_('PLG_ATOOLSJUPDATECHECK_EMAIL_BODY');

		$newVersion = $update->version;

		$jVersion = new JVersion;
		$currentVersion = $jVersion->getShortVersion();

		$jconfig = JFactory::getConfig();
		$sitename = $jconfig->get('sitename');

		$substitutions = array(
			'[NEWVERSION]'		=> $newVersion,
			'[CURVERSION]'		=> $currentVersion,
			'[SITENAME]'		=> $sitename
		);

		// If Admin Tools Professional is installed, fetch the administrator secret key as well
		$adminpw = '';
		$modelFile = JPATH_ROOT.'/administrator/components/com_admintools/models/storage.php';
		if (@file_exists($modelFile))
		{
			include_once $modelFile;

			if (class_exists('AdmintoolsModelStorage'))
			{
				$model = JModelLegacy::getInstance('Storage','AdmintoolsModel');
				$adminpw = $model->getValue('adminpw','');
			}
		}

		foreach($superAdmins as $sa)
		{
			$otp = plgSystemOneclickaction::addAction($sa->id, $link);

			if (is_null($otp))
			{
				// If the OTP is null, a database error occurred
				return;
			}
			elseif (empty($otp))
			{
				// If the OTP is empty, an OTP for the same action was already
				// created and it hasn't expired.
				continue;
			}

			$emaillink = $uri.'index.php?oneclickaction='.$otp;

			if (!empty($adminpw))
			{
				$emaillink .= '&'.urlencode($adminpw);
			}

			$substitutions['[LINK]'] = $emaillink."\n\n".JText::_('PLG_ATOOLSJUPDATECHECK_EMAIL_IMPORTANTNOTES');

			foreach ($substitutions as $k => $v)
			{
				$email_subject = str_replace($k, $v, $email_subject);
				$email_body = str_replace($k, $v, $email_body);
			}

			$mailer = JFactory::getMailer();
			$mailfrom = $jconfig->get('mailfrom');
			$fromname = $jconfig->get('fromname');
			$mailer->setSender(array( $mailfrom, $fromname ));
			$mailer->addRecipient($sa->email);
			$mailer->setSubject($email_subject);
			$mailer->setBody($email_body);
			$mailer->Send();
		}
	}

	private function _getSuperAdministrators($email = null)
	{
		$db = JFactory::getDBO();

		$sql = $db->getQuery(true)
			->select(array(
				$db->qn('u').'.'.$db->qn('id'),
				$db->qn('u').'.'.$db->qn('email')
			))->from($db->qn('#__user_usergroup_map').' AS '.$db->qn('g'))
			->join(
				'INNER',
				$db->qn('#__users').' AS '.$db->qn('u').' ON ('.
				$db->qn('g').'.'.$db->qn('user_id').' = '.$db->qn('u').'.'.$db->qn('id').')'
			)->where($db->qn('g').'.'.$db->qn('group_id').' = '.$db->q('8'))
			->where($db->qn('u').'.'.$db->qn('sendEmail').' = '.$db->q('1'))
		;

		if (!empty($email))
		{
			$sql->where($db->qn('u').'.'.$db->qn('email').' = '.$db->q($email));
		}

		$db->setQuery($sql);

		return $db->loadObjectList();
	}
}

https://t.me/RX1948 - 2025