NexusLeads Webshell
NexusLeads


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/public_html/plugins/system/nrframework/NRFramework/Helpers/Controls/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/alsaif/public_html/plugins/system/nrframework/NRFramework/Helpers/Controls/CSS.php
<?php

/**
 * @author          Tassos Marinos <info@tassos.gr>
 * @link            http://www.tassos.gr
 * @copyright       Copyright © 2022 Tassos Marinos All Rights Reserved
 * @license         GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
 */

namespace NRFramework\Helpers\Controls;

defined('_JEXEC') or die;

class CSS
{
    public static function generateCSS($styles = [])
	{
		if (!$styles || !is_array($styles))
		{
			return;
		}

		$css = '';
		foreach ($styles as $breakpoint => $array)
		{
			if (!$selectors = self::groupCSSBySelectors($array))
			{
				continue;
			}

			$css_tmp = '';

			// Get all the CSS for this breakpoint for all selectors
			foreach ($selectors as $selector => $_styles)
			{
				$css_tmp .= $selector . '{' . implode('', $_styles) . '}';
			}

			// Then enapsulate all the breakpoint CSS in the breakpoint media query
			$css_tmp = \NRFramework\Helpers\Responsive::renderResponsiveCSS([
				$breakpoint => [$css_tmp]
			]);

			if (!$css_tmp)
			{
				continue;
			}

			$css .= $css_tmp;
		}

        return $css;
	}
	
	public static function groupCSSBySelectors($styles = [])
	{
		if (!$styles)
		{
			return;
		}

		$selectors = [];

		foreach ($styles as $style)
		{
			$selectors[$style['selector']][] = $style['css'];
		}

		if (!$selectors)
		{
			return;
		}

		return $selectors;
	}
}

NexusLeads