Файловый менеджер - Редактировать - /home/lmsyaran/public_html/pusher/helpers.tar
Назад
html/utility.php 0000644 00000005212 15116760675 0007742 0 ustar 00 <?php /** * This file is part of Joomla Estate Agency - Joomla! extension for real estate agency * * @package Joomla.Site * @subpackage com_jea * @copyright Copyright (C) 2008 - 2020 PHILIP Sylvain. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Jea Utility helper * * @package Joomla.Site * @subpackage com_jea * * @since 2.0 */ abstract class JHtmlUtility { /** * @var Joomla\Registry\Registry */ protected static $params = null; /** * Format price following the component configuration. * If price is empty, return a default string value. * * @param float|int $price The price as number * @param string $default Default value if price equals 0 * * @return string */ public static function formatPrice($price = 0, $default = '') { $params = self::getParams(); if (! empty($price)) { $currency_symbol = $params->get('currency_symbol', '€'); $price = self::formaNumber($price); // Is currency symbol before or after price ? if ($params->get('symbol_position', 1)) { $price = $price . ' ' . $currency_symbol; } else { $price = $currency_symbol . ' ' . $price; } return $price; } else { return $default; } } /** * Format surface following the component configuration. * If surface is empty, return a default string value. * * @param float|int $surface The surface as number * @param string $default Default value if surface equals 0 * * @return string */ public static function formatSurface($surface = 0, $default = '') { $params = self::getParams(); if (!empty($surface)) { $surfaceMeasure = $params->get('surface_measure', 'm²'); $surface = self::formaNumber($surface); return $surface . ' ' . $surfaceMeasure; } return $default; } /** * Format number following the component configuration. * * @param float|int $number The number to format * * @return string */ public static function formaNumber($number = O) { $params = self::getParams(); $number = (float) $number; $decimal_separator = $params->get('decimals_separator', ','); $thousands_separator = $params->get('thousands_separator', ' '); $decimals = (int) $params->get('decimals_number', '0'); return number_format($number, $decimals, $decimal_separator, $thousands_separator); } /** * Get JEA params * * @return Joomla\Registry\Registry */ protected static function getParams() { if (self::$params == null) { self::$params = JComponentHelper::getParams('com_jea'); } return self::$params; } } html/amenities.php 0000644 00000005776 15116760675 0010234 0 ustar 00 <?php /** * This file is part of Joomla Estate Agency - Joomla! extension for real estate agency * * @package Joomla.Site * @subpackage com_jea * @copyright Copyright (C) 2008 - 2020 PHILIP Sylvain. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\Utilities\ArrayHelper; /** * Jea Amenities HTML helper * * @package Joomla.Site * @subpackage com_jea * * @since 2.0 */ abstract class JHtmlAmenities { /** * @var stdClass[] */ protected static $amenities = null; /** * Method to get an HTML list of amenities * * @param mixed $value string or array of amenities ids * @param string $format The wanted format (ol, li, raw (default)) * * @return string HTML for the list. */ static public function bindList($value = 0, $format = 'raw') { if (is_string($value) && !empty($value)) { $ids = explode('-', $value); } elseif (empty($value)) { $ids = array(); } else { $ids = ArrayHelper::toInteger($value); } $html = ''; $amenities = self::getAmenities(); $items = array(); foreach ($amenities as $row) { if (in_array($row->id, $ids)) { if ($format == 'ul') { $items[] = "<li>{$row->value}</li>\n"; } else { $items[] = $row->value; } } } if ($format == 'ul') { $html = "<ul>\n" . implode("\n", $items) . "</ul>\n"; } else { $html = implode(', ', $items); } return $html; } /** * Return HTML list of amenities as checkboxes * * @param array $values The checkboxes values * @param string $name The attribute name for the checkboxes * @param string $idSuffix An optional ID suffix for the checkboxes * * @return string Html list */ static public function checkboxes($values = array(), $name = 'amenities', $idSuffix = '') { $amenities = self::getAmenities(); $values = (array) $values; $html = ''; if (!empty($amenities)) { $html .= "<ul>\n"; foreach ($amenities as $row) { $checked = ''; $id = 'amenity' . $row->id . $idSuffix; if (in_array($row->id, $values)) { $checked = 'checked="checked"'; } $html .= '<li><input name="' . $name . '[]" id="' . $id . '" type="checkbox" value="' . $row->id . '" ' . $checked . ' /> ' . '<label for="' . $id . '">' . $row->value . '</label></li>' . "\n"; } $html .= "</ul>"; } return $html; } /** * Get Jea amenities from database * * @return array An array of amenity row objects */ static public function getAmenities() { if (self::$amenities === null) { $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('a.id , a.value'); $query->from('#__jea_amenities AS a'); $query->where('a.language in (' . $db->quote(JFactory::getLanguage()->getTag()) . ',' . $db->quote('*') . ')'); $query->order('a.ordering'); $db->setQuery($query); self::$amenities = $db->loadObjectList(); } return self::$amenities; } } color.php 0000644 00000035546 15117135014 0006406 0 ustar 00 <?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), ); } } } ?>