Spade
Mini Shell
home/lmsyaran/public_html/modules/mod_vertical_menu/helpers/color.php000064400000035546151167373360022312
0ustar00<?php
/**
* mod_vertical_menu - Vertical Menu
*
* @author Balint Polgarfi
* @copyright 2014-2019 Offlajn.com
* @license https://gnu.org/licenses/gpl-2.0.html
* @link https://offlajn.com
*/
?><?php
// no direct access
defined('_JEXEC') or die('Restricted access');
if(!class_exists('OfflajnColorHelper')){
class OfflajnColorHelper
{
/**
*
* Converts hexadecimal colors to RGB.
*
* @param string $hex Hexadecimal value. Accepts values with 3 or 6
numbers,
* with or without #, e.g., CCC, #CCC, CCCCCC or #CCCCCC.
*
* @return array RGB values: 0 => R, 1 => G, 2 => B
*
*/
public function hex2rgb($hex)
{
// Remove #.
if (strpos($hex, '#') === 0) {
$hex = substr($hex, 1);
}
if (strlen($hex) == 3) {
$hex .= $hex;
}
if (strlen($hex) != 6) {
return false;
}
// Convert each tuple to decimal.
$r = hexdec(substr($hex, 0, 2));
$g = hexdec(substr($hex, 2, 2));
$b = hexdec(substr($hex, 4, 2));
return array($r, $g, $b);
}
public function hex2rgba($hex)
{
// Remove #.
if (strpos($hex, '#') === 0) {
$hex = substr($hex, 1);
}
if (strlen($hex) == 6) {
$hex.='ff';
}
if (strlen($hex) != 8) {
return false;
}
// Convert each tuple to decimal.
$r = hexdec(substr($hex, 0, 2));
$g = hexdec(substr($hex, 2, 2));
$b = hexdec(substr($hex, 4, 2));
$a = intval(hexdec(substr($hex, 6, 2))/2);
return array($r, $g, $b, $a);
}
public function hex82hex($hex)
{
// Remove #.
if (strpos($hex, '#') === 0) {
$hex = substr($hex, 1);
}
if (strlen($hex) == 6) {
$hex.='ff';
}
if (strlen($hex) != 8) {
return false;
}
return array(substr($hex, 0, 6), substr($hex, 6, 2));
}
/**
*
* Converts hexadecimal colors to HSV.
*
* @param string $hex Hexadecimal value. Accepts values with 3 or 6
numbers,
* with or without #, e.g., CCC, #CCC, CCCCCC or #CCCCCC.
*
* @return array HSV values: 0 => H, 1 => S, 2 => V
*
*/
public function hex2hsv($hex)
{
return $this->rgb2hsv($this->hex2rgb($hex));
}
/**
*
* Converts hexadecimal colors to HSL.
*
* @param string $hex Hexadecimal value. Accepts values with 3 or 6
numbers,
* with or without #, e.g., CCC, #CCC, CCCCCC or #CCCCCC.
*
* @return array HSL values: 0 => H, 1 => S, 2 => L
*
*/
public function hex2hsl($hex)
{
return $this->rgb2hsl($this->hex2rgb($hex));
}
/**
*
* Converts RGB colors to hexadecimal.
*
* @param array $rgb RGB values: 0 => R, 1 => G, 2 => B
*
* @return string Hexadecimal value with six digits, e.g., CCCCCC.
*
*/
public function rgb2hex($rgb)
{
if(count($rgb) < 3) {
return false;
}
list($r, $g, $b) = $rgb;
// From php.net.
$r = 0x10000 * max(0, min(255, $r));
$g = 0x100 * max(0, min(255, $g));
$b = max(0, min(255, $b));
return strtoupper(str_pad(dechex($r + $g + $b), 6, 0,
STR_PAD_LEFT));
}
/**
*
* Converts RGB to HSV.
*
* @param array $rgb RGB values: 0 => R, 1 => G, 2 => B
*
* @return array HSV values: 0 => H, 1 => S, 2 => V
*
*/
public function rgb2hsv($rgb)
{
// RGB values = 0 ?ˇ 255
$var_R = ($rgb[0] / 255);
$var_G = ($rgb[1] / 255);
$var_B = ($rgb[2] / 255);
// Min. value of RGB
$var_Min = min($var_R, $var_G, $var_B);
// Max. value of RGB
$var_Max = max($var_R, $var_G, $var_B);
// Delta RGB value
$del_Max = $var_Max - $var_Min;
$V = $var_Max;
// This is a gray, no chroma...
if ( $del_Max == 0 ) {
// HSV results = 0 ?ˇ 1
$H = 0;
$S = 0;
} else {
// Chromatic data...
$S = $del_Max / $var_Max;
$del_R = ((($var_Max - $var_R) / 6) + ($del_Max / 2)) /
$del_Max;
$del_G = ((($var_Max - $var_G) / 6) + ($del_Max / 2)) /
$del_Max;
$del_B = ((($var_Max - $var_B) / 6) + ($del_Max / 2)) /
$del_Max;
if ($var_R == $var_Max) {
$H = $del_B - $del_G;
} else if ($var_G == $var_Max) {
$H = (1 / 3) + $del_R - $del_B;
} else if ($var_B == $var_Max) {
$H = (2 / 3) + $del_G - $del_R;
}
if ($H < 0) {
$H += 1;
}
if ($H > 1) {
$H -= 1;
}
}
// Returns agnostic values.
// Range will depend on the application: e.g. $H*360, $S*100,
$V*100.
return array($H, $S, $V);
}
/**
*
* Converts RGB to HSL.
*
* @param array $rgb RGB values: 0 => R, 1 => G, 2 => B
*
* @return array HSL values: 0 => H, 1 => S, 2 => L
*
*/
public function rgb2hsl($rgb)
{
// Where RGB values = 0 ?ˇ 255.
$var_R = $rgb[0] / 255;
$var_G = $rgb[1] / 255;
$var_B = $rgb[2] / 255;
// Min. value of RGB
$var_Min = min($var_R, $var_G, $var_B);
// Max. value of RGB
$var_Max = max($var_R, $var_G, $var_B);
// Delta RGB value
$del_Max = $var_Max - $var_Min;
$L = ($var_Max + $var_Min) / 2;
if ( $del_Max == 0 ) {
// This is a gray, no chroma...
// HSL results = 0 ?ˇ 1
$H = 0;
$S = 0;
} else {
// Chromatic data...
if ($L < 0.5) {
$S = $del_Max / ($var_Max + $var_Min);
} else {
$S = $del_Max / ( 2 - $var_Max - $var_Min );
}
$del_R = ((($var_Max - $var_R) / 6) + ($del_Max / 2)) /
$del_Max;
$del_G = ((($var_Max - $var_G) / 6) + ($del_Max / 2)) /
$del_Max;
$del_B = ((($var_Max - $var_B) / 6) + ($del_Max / 2)) /
$del_Max;
if ($var_R == $var_Max) {
$H = $del_B - $del_G;
} else if ($var_G == $var_Max) {
$H = ( 1 / 3 ) + $del_R - $del_B;
} else if ($var_B == $var_Max) {
$H = ( 2 / 3 ) + $del_G - $del_R;
}
if ($H < 0) {
$H += 1;
}
if ($H > 1) {
$H -= 1;
}
}
return array($H, $S, $L);
}
/**
*
* Converts HSV colors to hexadecimal.
*
* @param array $hsv HSV values: 0 => H, 1 => S, 2 => V
*
* @return string Hexadecimal value with six digits, e.g., CCCCCC.
*
*/
public function hsv2hex($hsv)
{
return $this->rgb2hex($this->hsv2rgb($hsv));
}
/**
*
* Converts HSV to RGB.
*
* @param array $hsv HSV values: 0 => H, 1 => S, 2 => V
*
* @return array RGB values: 0 => R, 1 => G, 2 => B
*
*/
public function hsv2rgb($hsv)
{
$H = $hsv[0];
$S = $hsv[1];
$V = $hsv[2];
// HSV values = 0 ?ˇ 1
if ($S == 0) {
$R = $V * 255;
$G = $V * 255;
$B = $V * 255;
} else {
$var_h = $H * 6;
// H must be < 1
if ( $var_h == 6 ) {
$var_h = 0;
}
// Or ... $var_i = floor( $var_h )
$var_i = floor( $var_h );
$var_1 = $V * ( 1 - $S );
$var_2 = $V * ( 1 - $S * ( $var_h - $var_i ) );
$var_3 = $V * ( 1 - $S * ( 1 - ( $var_h - $var_i ) ) );
switch($var_i) {
case 0:
$var_r = $V;
$var_g = $var_3;
$var_b = $var_1;
break;
case 1:
$var_r = $var_2;
$var_g = $V;
$var_b = $var_1;
break;
case 2:
$var_r = $var_1;
$var_g = $V;
$var_b = $var_3;
break;
case 3:
$var_r = $var_1;
$var_g = $var_2;
$var_b = $V;
break;
case 4:
$var_r = $var_3;
$var_g = $var_1;
$var_b = $V;
break;
default:
$var_r = $V;
$var_g = $var_1;
$var_b = $var_2;
}
//RGB results = 0 ?ˇ 255
$R = $var_r * 255;
$G = $var_g * 255;
$B = $var_b * 255;
}
return array($R, $G, $B);
}
/**
*
* Converts HSV colors to HSL.
*
* @param array $hsv HSV values: 0 => H, 1 => S, 2 => V
*
* @return array HSL values: 0 => H, 1 => S, 2 => L
*
*/
public function hsv2hsl($hsv)
{
return $this->rgb2hsl($this->hsv2rgb($hsv));
}
/**
*
* Converts hexadecimal colors to HSL.
*
* @param array $hsl HSL values: 0 => H, 1 => S, 2 => L
*
* @return string Hexadecimal value. Accepts values with 3 or 6
numbers,
* with or without #, e.g., CCC, #CCC, CCCCCC or #CCCCCC.
*
*/
public function hsl2hex($hsl)
{
return $this->rgb2hex($this->hsl2rgb($hsl));
}
/**
*
* Converts HSL to RGB.
*
* @param array $hsv HSL values: 0 => H, 1 => S, 2 => L
*
* @return array RGB values: 0 => R, 1 => G, 2 => B
*
*/
public function hsl2rgb($hsl)
{
list($H, $S, $L) = $hsl;
if ($S == 0) {
// HSL values = 0 ?ˇ 1
// RGB results = 0 ?ˇ 255
$R = $L * 255;
$G = $L * 255;
$B = $L * 255;
} else {
if ($L < 0.5) {
$var_2 = $L * (1 + $S);
} else {
$var_2 = ($L + $S) - ($S * $L);
}
$var_1 = 2 * $L - $var_2;
$R = 255 * $this->_hue2rgb($var_1, $var_2, $H + (1 / 3));
$G = 255 * $this->_hue2rgb($var_1, $var_2, $H);
$B = 255 * $this->_hue2rgb($var_1, $var_2, $H - (1 / 3));
}
return array($R, $G, $B);
}
/**
*
* Support method for hsl2rgb(): converts hue ro RGB.
*
* @param
*
* @param
*
* @param
*
* @return int
*
*/
protected function _hue2rgb($v1, $v2, $vH)
{
if ($vH < 0) {
$vH += 1;
}
if ($vH > 1) {
$vH -= 1;
}
if ((6 * $vH) < 1) {
return ($v1 + ($v2 - $v1) * 6 * $vH);
}
if ((2 * $vH) < 1) {
return $v2;
}
if ((3 * $vH) < 2) {
return ($v1 + ($v2 - $v1) * (( 2 / 3) - $vH) * 6);
}
return $v1;
}
/**
*
* Converts hexadecimal colors to HSL.
*
* @param array $hsl HSL values: 0 => H, 1 => S, 2 => L
*
* @return array HSV values: 0 => H, 1 => S, 2 => V
*
*/
public function hsl2hsv($hsl)
{
return $this->rgb2hsv($this->hsl2rgb($hsl));
}
/**
*
* Updates HSV values.
*
* @param array $hsv HSV values: 0 => H, 1 => S, 2 => V
*
* @param array $values Values to update: 0 => value to add to H
(0 to 360),
* 1 and 2 => values to multiply S and V (0 to 100). Example:
*
* {{{code:php
* // Update saturation to 80% in the provided HSV.
* $hsv = array(120, 0.75, 0.75);
* $new_hsv = $color->updateHsv($hsv, array(null, 80, null));
* }}}
*
*/
public function updateHsv($hsv, $values)
{
if (isset($values[0])) {
$hsv[0] = max(0, min(360, ($hsv[0] + $values[0])));
}
if (isset($values[1])) {
$hsv[1] = max(0, min(1, ($hsv[1] * ($values[1] / 100))));
}
if (isset($values[2])) {
$hsv[2] = max(0, min(1, ($hsv[2] * ($values[2] / 100))));
}
return $hsv;
}
/**
*
* Updates HSL values.
*
* @param array $hsl HSL values: 0 => H, 1 => S, 2 => L
*
* @param array $values Values to update: 0 => value to add to H
(0 to 360),
* 1 and 2 => values to multiply S and V (0 to 100). Example:
*
* {{{code:php
* // Update saturation to 80% in the provided HSL.
* $hsl = array(120, 0.75, 0.75);
* $new_hsl = $color->updateHsl($hsl, array(null, 80, null));
* }}}
*
*/
public function updateHsl($hsl, $values)
{
if (isset($values[0])) {
$hsl[0] = max(0, min(1, ($hsl[0] + $values[0]/360)));
}
if (isset($values[1])) {
$hsl[1] = max(0, min(1, ($hsl[1] * ($values[1] / 100))));
}
if (isset($values[2])) {
$hsl[2] = max(0, min(1, ($hsl[2] * ($values[2] / 100))));
}
return $hsl;
}
function rgb2array($rgb) {
return array(
base_convert(substr($rgb, 0, 2), 16, 10),
base_convert(substr($rgb, 2, 2), 16, 10),
base_convert(substr($rgb, 4, 2), 16, 10),
);
}
}
}
?>home/lmsyaran/public_html/joomla35/plugins/fields/color/color.php000064400000002011151171033130021136
0ustar00<?php
/**
* @package Joomla.Plugin
* @subpackage Fields.Color
*
* @copyright (C) 2017 Open Source Matters, Inc.
<https://www.joomla.org>
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
JLoader::import('components.com_fields.libraries.fieldsplugin',
JPATH_ADMINISTRATOR);
/**
* Fields Color Plugin
*
* @since 3.7.0
*/
class PlgFieldsColor extends FieldsPlugin
{
/**
* Transforms the field into a DOM XML element and appends it as a child
on the given parent.
*
* @param stdClass $field The field.
* @param DOMElement $parent The field node parent.
* @param JForm $form The form.
*
* @return DOMElement
*
* @since 3.7.0
*/
public function onCustomFieldsPrepareDom($field, DOMElement $parent, JForm
$form)
{
$fieldNode = parent::onCustomFieldsPrepareDom($field, $parent, $form);
if (!$fieldNode)
{
return $fieldNode;
}
$fieldNode->setAttribute('validate', 'color');
return $fieldNode;
}
}
home/lmsyaran/public_html/plugins/fields/color/color.php000064400000002026151172573750017535
0ustar00<?php
/**
* @package Joomla.Plugin
* @subpackage Fields.Color
*
* @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
* @license GNU General Public License version 2 or later; see
LICENSE.txt
*/
defined('_JEXEC') or die;
JLoader::import('components.com_fields.libraries.fieldsplugin',
JPATH_ADMINISTRATOR);
/**
* Fields Color Plugin
*
* @since 3.7.0
*/
class PlgFieldsColor extends FieldsPlugin
{
/**
* Transforms the field into a DOM XML element and appends it as a child
on the given parent.
*
* @param stdClass $field The field.
* @param DOMElement $parent The field node parent.
* @param JForm $form The form.
*
* @return DOMElement
*
* @since 3.7.0
*/
public function onCustomFieldsPrepareDom($field, DOMElement $parent, JForm
$form)
{
$fieldNode = parent::onCustomFieldsPrepareDom($field, $parent, $form);
if (!$fieldNode)
{
return $fieldNode;
}
$fieldNode->setAttribute('validate', 'color');
return $fieldNode;
}
}