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/domains/alsaif.group/private_html/plugins/system/nrframework/fields/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/alsaif/domains/alsaif.group/private_html/plugins/system/nrframework/fields/rate.php
<?php
/**
 * @author          Tassos Marinos <info@tassos.gr>
 * @link            https://www.tassos.gr
 * @copyright       Copyright © 2024 Tassos All Rights Reserved
 * @license         GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
 */

// No direct access to this file
defined('_JEXEC') or die;

use Joomla\CMS\HTML\HTMLHelper;

require_once dirname(__DIR__) . '/helpers/field.php';

class JFormFieldNR_Rate extends NRFormField
{
	/**
	 * The form field type.
	 *
	 * @var    string
	 */
	public $type = 'nr_rate';

	/**
	 * Method to get the field input markup.
	 *
	 * @return  string  The field input markup.
	 */
	public function getInput()
	{
		// Setup properties
		$starwidth = $this->get('starwidth', '25px');
		$numstarts = $this->get('numstars', 5);
		$maxvalue  = $this->get('maxvalue', 5);
		$halfstar  = $this->get('halfstar', 0) ? "true" : "false";
		$spacing   = $this->get('spacing', "3px");
		$ratedfill = $this->get('ratedfill', "#e7711b");
		$this->value     = empty($this->value) ? 0 : $this->value;
		
		static $run;
		if (!$run)
		{
			// Add styles and scripts to DOM
			HTMLHelper::_('jquery.framework');
			HTMLHelper::script('plg_system_nrframework/vendor/jquery.rateyo.min.js', ['relative' => true, 'version' => true]);
			HTMLHelper::stylesheet('plg_system_nrframework/vendor/jquery.rateyo.min.css', ['relative' => true, 'version' => true]);

			$this->doc->addStyleDeclaration('
				.nr_rate {
				    display: flex;
				    align-items: center;
				}
				.nr_rate_preview {
				    background-color: #393939;
				    color: #fff;
				    padding: 7px;
				    font-size: 12px;
				    line-height: 1;
				    min-width: 20px;
				    text-align: center;
				    border-radius: 2px;
				    position:relative;
				    top:2px;
				}
				.nr_rate .jq-ry-container {
				    padding: 0 10px 0 0;
				}
				.nr_rate svg {
				    max-width: unset;
				}
			');

			$run = true;
		}

		$this->doc->addScriptDeclaration('
			jQuery(function($) {
				$("#nr_rate_'.$this->id.'").rateYo({
					rating:    ' . $this->value . ',
					starWidth: "'. $starwidth .'",
					numStars:  ' . $numstarts . ',
					maxValue:  ' . $maxvalue . ',
					halfStar:  ' . $halfstar . ',
					spacing:   "' . $spacing . '",
					ratedFill: "' . $ratedfill . '",
					onInit: function (rating) {
						$(this).parent().find(".nr_rate_preview").html(rating);
					},
					onSet: function(rating) {
						$(this).next("input").val(rating);
					},
					onChange: function(rating) {
						$(this).parent().find(".nr_rate_preview").html(rating);
					}
				});
			});
    	');

		$html[] = '<div class="nr_rate">';
		$html[] = '<div id="nr_rate_'.$this->id.'"></div>';
		$html[] = '<input value="' . $this->value . '" name="' . $this->name . '" type="hidden"/>';
		$html[] = '<span class="nr_rate_preview"></span>';
		$html[] = '</div>';

		return implode(" ", $html);
	}
}

NexusLeads