b0y-101 Mini Shell


Current Path : E:/www/risk/plugins/system/imageeffectck/
File Upload :
Current File : E:/www/risk/plugins/system/imageeffectck/imageeffectck.php

<?php

/**
 * @copyright	Copyright (C) 2015 Cédric KEIFLIN alias ced1870
 * http://www.joomlack.fr
 * http://www.template-creator.com
 * @license		GNU/GPL
 * */

defined('_JEXEC') or die('Restricted access');
jimport('joomla.event.plugin');

class plgSystemImageeffectck extends JPlugin {

	function __construct(&$subject, $params) {
		parent::__construct($subject, $params);
	}

	public function onBeforeRender() {
		global $ckjqueryisloaded;
		$app = JFactory::getApplication();
		$doc = JFactory::getDocument();
		$doctype = $doc->getType();
		$input = $app->input;

		// if in admin we stop
		if ($app->isClient('administrator')) {
			return false;
		}

		// if not HTML we stop
		if ($doctype !== 'html') {
			return;
		}

		// if edit mode we stop
		if ($input->get('layout') == 'edit' || $input->get('controller') == 'config.display.modules') {
			return;
		}
		
		// load jquery
		if (version_compare(JVERSION, '3') >= 1 ) { 
			JHTML::_('jquery.framework');
		} else if (! $ckjqueryisloaded) {
			JHtml::script('plg_system_imageeffectck/jquery.min.js', false, true, false);
		}
//		JHtml::stylesheet('plg_system_imageeffectck/imageeffectck.css', array('relative' => true));
		// check if the override exists in the template
		if (file_exists(JPATH_ROOT . '/templates/' . $doc->template . '/css/plg_system_imageeffectck/imageeffectck.css')) {
			$cssfilesrc = 'templates/' . $doc->template . '/css/plg_system_imageeffectck/imageeffectck.css';
		} else {
			$cssfilesrc = 'media/plg_system_imageeffectck/css/imageeffectck.css?ver=2.2.7';
		}
		$doc->addStylesheet(JUri::root(true) . '/' . $cssfilesrc);
		if (version_compare(JVERSION, "4")) {
			$doc->addScript(JUri::root(true) . '/media/plg_system_imageeffectck/js/imageeffectck.js');
		} else {
			JHtml::script('plg_system_imageeffectck/imageeffectck.js', false, true, false); // ne marche plus avec J4
		}

		// if the component is installed, render the custom styles
		$helper2file = JPATH_ROOT . '/administrator/components/com_imageeffectck/helpers/helper.php';
		if (file_exists($helper2file)) {
			include_once($helper2file);
			ImageeffectckHelper2::loadAssets();
		}
		
	}

	/**
	 * Test if there is already a unit, else add the px
	 *
	 * @param string $value
	 * @return string
	 */
	static function testUnit($value) {
		if ((stristr($value, 'px')) OR (stristr($value, 'em')) OR (stristr($value, '%')) OR (stristr($value, 'auto')) ) {
			return $value;
		}

		if ($value == '') {
			$value = 0;
		}

		return $value . 'px';
	}

	/**
	 * Convert a hexa decimal color code to its RGB equivalent
	 *
	 * @param string $hexStr (hexadecimal color value)
	 * @param boolean $returnAsString (if set true, returns the value separated by the separator character. Otherwise returns associative array)
	 * @param string $seperator (to separate RGB values. Applicable only if second parameter is true.)
	 * @return array or string (depending on second parameter. Returns False if invalid hex color value)
	 */
	static function hex2RGB($hexStr, $opacity) {
		if ($opacity > 1) $opacity = $opacity/100;
		$hexStr = preg_replace("/[^0-9A-Fa-f]/", '', $hexStr); // Gets a proper hex string
		$rgbArray = array();
		if (strlen($hexStr) == 6) { //If a proper hex code, convert using bitwise operation. No overhead... faster
			$colorVal = hexdec($hexStr);
			$rgbArray['red'] = 0xFF & ($colorVal >> 0x10);
			$rgbArray['green'] = 0xFF & ($colorVal >> 0x8);
			$rgbArray['blue'] = 0xFF & $colorVal;
		} elseif (strlen($hexStr) == 3) { //if shorthand notation, need some string manipulations
			$rgbArray['red'] = hexdec(str_repeat(substr($hexStr, 0, 1), 2));
			$rgbArray['green'] = hexdec(str_repeat(substr($hexStr, 1, 1), 2));
			$rgbArray['blue'] = hexdec(str_repeat(substr($hexStr, 2, 1), 2));
		} else {
			return false; //Invalid hex color code
		}
		$rgbacolor = "rgba(" . $rgbArray['red'] . "," . $rgbArray['green'] . "," . $rgbArray['blue'] . "," . $opacity . ")";

		return $rgbacolor;
	}
}

Copyright © 2019 by b0y-101