<?php

	/*
	 *
	 * yMS (c) 2003 - 2023 Yal Publicidad
	 * Sistema: Macrodígital Software - de Yal Publicidad
	 *
	 */
	 
	 /* Autorizo acceso */
		defined('YMS') or die( 'No dispones de acceso' );

	/* compruebo si se han cargado modulos reqeridos  */
		if( !class_exists( 'ySQL' ) ) die( '<br><b>Notificación @lib.ec dice</b>: No se encontró \'@lib.mysql\' requerido para el arranque de ésta librería.' );
		
	/*
	 * Obtener rating
	 */
	function obt_rating($id=0,$arr=false){
		return yEC::obt_rating($id,$arr);
	}

	function obt_rating_estrella( $rating, $star_on = 'fa fa-star', $star_off = 'far fa-star' ){
		return 	yEC::obt_rating_estrella($rating,$star_on,$star_off);
	}


	class yEC{
		
		/*
		 * obt_rating() : Muestra los datos del rating
		 * @param intiger    $id    ID de la reseña que desea obtener los datos
		 *
		 * ej obt_rating( '100' );
		 */
		public static function obt_rating($id=0,$arr=false){
			$ratingTotal = 0;
			// total de reseñas del producto
			$resenasTotales = _mysql_contar_reg( "yecresenas", 'id', "articuloid='$id' AND padre='0'" );
			// sumar valoraciones
			$q = _mysql_query("SELECT * FROM `yecresenas` WHERE articuloid='$id' AND padre='0'");
			while( $r = _mysql_fetch_array($q) ){
				$ratingTotal += $r['calificacion'];
			}
			//
			//self::$ratingMedia = (self::$ratingTotal > 0) ? round( self::$ratingTotal/self::$resenasTotales ) : 0;
			$ratingMedia = ($ratingTotal > 0) ? number_format( ($ratingTotal/$resenasTotales), 1 ) : 0;
			//
			$array = array("resenas_totales"=>$resenasTotales,"rating_total"=>$ratingTotal,"rating_media"=>$ratingMedia);
			return ($arr!=false) ? $array : json_encode($array);
		}
		
		/*
		 * obt_rating_estrella() : Muestra el rating en estrellas del 1 al 5
		 * @param intiger    $rating    total de rating que será convertido a estrellas
		 *
		 * ej obt_rating( '100' );
		 */
		public static function obt_rating_estrella( $rating, $star_on = 'fa fa-star', $star_off = 'far fa-star' ){
			$rt = '';
			for( $r = 0; $r < 5; $r++ ){
				$rt .= '<i class="';
				$rt .= ( $rating > $r ) ? $star_on : $star_off ;
				$rt .= '"></i> ';
			}
			return 	$rt;
		}
	}
		
	
?>