| Server IP : 46.105.57.169 / Your IP : 216.73.216.144 Web Server : Apache System : Linux webd003.cluster120.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : maitricfuz ( 93378) PHP Version : 8.4.10 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/maitricfuz/www/saint-martin-lg/plugins/system/sourcerer/src/ |
Upload File : |
<?php
/**
* @package Sourcerer
* @version 12.2.8
*
* @author Peter van Westen <info@regularlabs.com>
* @link https://regularlabs.com
* @copyright Copyright © 2026 Regular Labs All Rights Reserved
* @license GNU General Public License version 2 or later
*/
namespace RegularLabs\Plugin\System\Sourcerer;
defined('_JEXEC') or die;
use RegularLabs\Library\RegEx as RL_RegEx;
class Area
{
static $prefix = 'SRC';
public static function get(string &$string, string $area = ''): array
{
if (empty($string) || empty($area))
{
return [];
}
$start = '<!-- START: ' . self::$prefix . '_' . strtoupper($area) . ' -->';
$end = '<!-- END: ' . self::$prefix . '_' . strtoupper($area) . ' -->';
$matches = explode($start, $string);
array_shift($matches);
foreach ($matches as $i => $match)
{
[$text] = explode($end, $match, 2);
$matches[$i] = [
$start . $text . $end,
$text,
];
}
return $matches;
}
public static function tag(string &$string, string $area = ''): bool
{
if (empty($string) || empty($area))
{
return false;
}
$string = '<!-- START: ' . self::$prefix . '_' . strtoupper($area) . ' -->' . $string . '<!-- END: ' . self::$prefix . '_' . strtoupper($area) . ' -->';
if ($area != 'article_text')
{
return true;
}
$string = RL_RegEx::replace(
'#(<hr class="system-pagebreak".*?>)#si',
'<!-- END: ' . self::$prefix . '_' . strtoupper($area) . ' -->\1<!-- START: ' . self::$prefix . '_' . strtoupper($area) . ' -->',
$string
);
return true;
}
}