#######################################################################
# Autor: Javier Romero (Noviembre - 2006) #
# =================================================================== #
# TagCloud de Tendencias de Mercadolibre.com #
# =================================================================== #
# Este Script es Software Libre; usted puede redistribuirlo #
# y/o modificarlo bajo los términos de la "GNU General Public #
# License" como lo publica la "FSF Free Software Foundation", #
# o (a su elección) de cualquier versión posterior. #
#######################################################################
$insideitem = false;
global $pais, $tool_id;
$tool_id = 1902009; #Aqui va el Numero de tool_id
$cat=$_GET['cat'];
$pais=$_GET['pais'];
if($pais==''){$pais='MLB';} #Puedes cambiar el País Default colocando sus iniciales
switch ($pais) {
case "MLM":
$pais = 'mercadolibre.com.mx';
$nombre_pais='México';
$flag='<img src="http://imgfly.com/files/141106_011309/mx.gif" />';
break;
case "MLA":
$pais = 'mercadolibre.com.ar';
$nombre_pais='Argentina';
$flag='<img src="http://imgfly.com/files/141106_011309/ar.gif" />';
break;
case "MLC":
$pais = 'mercadolibre.cl';
$nombre_pais='Chile';
$flag='<img src="http://imgfly.com/files/141106_011309/cl.gif" />';
break;
case "MLV":
$pais = 'mercadolibre.com.ve';
$nombre_pais='Venezuela';
$flag='<img src="http://imgfly.com/files/141106_011309/ve.gif" />';
break;
case "MLB":
$pais = 'mercadolivre.com.br';
$nombre_pais='Brasil';
$flag='<img src="http://imgfly.com/files/141106_011309/br.gif" />';
break;
case "MCO":
$pais = 'mercadolibre.com.co';
$nombre_pais='Colombia';
$flag='<img src="http://imgfly.com/files/141106_011309/co.gif" />';
break;
case "MEC":
$pais = 'mercadolibre.com.ec';
$nombre_pais='Ecuador';
$flag='<img src="http://imgfly.com/files/141106_011309/ec.gif" />';
break;
case "MLU":
$pais = 'mercadolibre.com.uy';
$nombre_pais='Uruguay';
$flag='<img src="http://imgfly.com/files/141106_011309/uy.gif" />';
break;
default:
$pais = 'mercadolibre.com.ve';
$nombre_pais='Venezuela';
$flag='<img src="http://imgfly.com/files/141106_011309/ve.gif" />';
break;
}
function startElement($parser, $name, $attrs){
global $insideitem, $tag;
$tag=$name;
if ($name=='WORD'){
$insideitem = true;
}
}
function characterData($parser, $data) {
global $insideitem, $tag, $url, $rank, $keyword, $pais, $tool_id;
if ($insideitem) {
switch($tag){
case 'KEYWORD':
$keyword.=$data;
break;
case 'URL':
$url.=$data;
break;
case 'RANK':
$min_size=13; # Este es tamaño más pequeño de la Nube
if($data==1){
$data=round($min_size*2.5);
$rank.=$data;
}else if($data > 1&& $data <4){
$data=round($min_size*2);
$rank.=$data;
}else if($data > 3&& $data <10){
$data=round($min_size*1.8);
$rank.=$data;
}else if($data > 9&& $data <20){
$data=round($min_size*1.5);
$rank.=$data;
}else if($data > 19){
$data=round($min_size);
$rank.=$data;
}
break;
}
}
}
function endElement($parser, $name) {
global $lista, $contador, $url, $rank, $keyword, $pais, $tool_id;
if($name == 'WORD'){
$lista[$contador]=' <a href="http://pmstrk.'.$pais.'/jm/PmsTrk?tool='.$tool_id.'&go='.$url.'_OrderId_MAS*OFERTADOS_DisplayType_G_FiltroId_CERTIFIED" style="font-size:'.$rank.'px;">'.$keyword.'</a> ';
$contador++;
$keyword = '';
$rank = '';
$link = '';
$url='';
$insideitem = false;
}
}
$parser_simple = xml_parser_create();
xml_set_element_handler($parser_simple, 'startElement','endElement');
xml_set_character_data_handler($parser_simple, 'characterData');
$file='http://www.'.$pais.'/jm/ml.web.pulse.PulsePageController?as_categ_id='.$cat.'&as_XML';
if(!($fp = fopen($file, 'r'))){
die('No se puedo abrir el XML');
}
while ($data = fread($fp,4096)){
if(!xml_parse($parser_simple, $data, feof($fp))){
die (xml_error_string(xml_get_error_code($parser_simple)));
}
}
fclose($fp);
xml_parser_free($parser_simple);
?>
<?php
echo '<link href="clouds.css" rel="stylesheet" type="text/css" />';
$siteID= 350519;
$cantidad=sizeof($lista);
$i=0;
shuffle($lista);
echo '<div id=pais> '.$flag.' '.$nombre_pais.'</div>';
echo '<div id=tags> ';
while($i<$cantidad){
echo $lista[$i++];
}
echo '</div>';
?>
Archivo CSS:
/* CSS Document */
#pais {
padding: 5px;
width:100px;
background-colo1:#DCECF1;
text-align:left;
font-family:"Tahoma";
font-weight:bold;
color:#236072;
font-size:12px;
border-left:#78BCD1 solid 1px;
border-top:#78BCD1 solid 1px;
border-right:#78BCD1 solid 1px;
}
#tags {
padding: 15px;
border:thin #990000 double;
background:url(http://imgfly.com/files/141106_040752/back.jpg) #FFFFFF repeat-x;
text-align:justify;
width:500px;
border:#78BCD1 solid 1px;
}
#tags a{
font-family:"Tahoma";
color:#328AA2;
text-decoration:none;
}
#tags a:hover{
font-family:"Tahoma";
color:#990000;
}