Server : LiteSpeed System : Linux server 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : alsaif ( 1057) PHP Version : 7.4.33 Disable Function : show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/alsaif/domains/alsaif.group/public_html/plugins/system/regularlabs/src/ |
<?php
/**
* @package Regular Labs Library
* @version 23.9.3039
*
* @author Peter van Westen <info@regularlabs.com>
* @link https://regularlabs.com
* @copyright Copyright © 2023 Regular Labs All Rights Reserved
* @license GNU General Public License version 2 or later
*/
namespace RegularLabs\Plugin\System\RegularLabs;
defined('_JEXEC') or die;
use Joomla\CMS\Factory as JFactory;
use RegularLabs\Library\Document as RL_Document;
use RegularLabs\Library\RegEx as RL_RegEx;
class DownloadKey
{
public static function cloak()
{
// Save the download key from the Regular Labs Extension Manager config to the update sites
if (
RL_Document::isClient('site')
|| JFactory::getApplication()->input->get('option') != 'com_installer'
|| JFactory::getApplication()->input->get('view') != 'updatesites'
)
{
return;
}
$html = JFactory::getApplication()->getBody();
RL_RegEx::matchAll('(regularlabs\.com[^<]*</a>\s*<br/?>\s*<pre>k=)(.*?)([A-Z0-9]{4}</pre>)', $html, $matches);
foreach ($matches as $match)
{
$cloaked_key = str_repeat('*', strlen($match[2]));
$html = str_replace(
$match[0],
$match[1] . $cloaked_key . $match[3],
$html
);
}
JFactory::getApplication()->setBody($html);
}
public static function update()
{
// Save the download key from the Regular Labs Extension Manager config to the update sites
if (
RL_Document::isClient('site')
|| JFactory::getApplication()->input->get('option') != 'com_config'
|| JFactory::getApplication()->input->get('task') != 'config.save.component.apply'
|| JFactory::getApplication()->input->get('component') != 'com_regularlabsmanager'
)
{
return;
}
$form = JFactory::getApplication()->input->post->get('jform', [], 'array');
if ( ! isset($form['key']))
{
return;
}
$key = $form['key'];
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->update('#__update_sites')
->set($db->quoteName('extra_query') . ' = ' . $db->quote('k=' . $key))
->where($db->quoteName('location') . ' LIKE ' . $db->quote('%download.regularlabs.com%'));
$db->setQuery($query);
$db->execute();
}
}