forked from qwerty/tupali
332 lines
9.6 KiB
PHP
332 lines
9.6 KiB
PHP
<?php
|
|
|
|
|
|
|
|
|
|
|
|
function iconifica($formulario){
|
|
$div ="div_icono";
|
|
$frase= $formulario['frase'];
|
|
$frente= $formulario['color_front'];
|
|
$fondo= $formulario['color_back'];
|
|
$mayusculas = ucwords($frase);
|
|
$iniciales="";
|
|
$cantidad_iniciales= preg_match_all("([A-Z-0-9])", $mayusculas, $inicial);
|
|
foreach ($inicial as $valor) {
|
|
foreach ($valor as $valorx) {
|
|
$iniciales .="$valorx";
|
|
}
|
|
}
|
|
// $semantica=wikipedia("$frase","");
|
|
$resultado ="
|
|
<!-- <ul>
|
|
<li>$frase</li>
|
|
<li>$mayusculas</li>
|
|
|
|
<li>$cantidad_iniciales</li>
|
|
$fondo / $frente
|
|
</ul> -->
|
|
|
|
|
|
|
|
";
|
|
|
|
$dibujar="
|
|
function dibujar() {
|
|
cxt1=iniciaCanvas('ejemplo1');
|
|
if (cxt1) {
|
|
ejemplo1.width=ejemplo1.width;
|
|
|
|
texto='$iniciales'; //texto de prueba
|
|
|
|
cxt1.beginPath() //iniciar ruta
|
|
|
|
|
|
|
|
|
|
// #g8
|
|
cxt1.save();
|
|
cxt1.transform(50, 0.000000, 0.000000, 50, 30, 30);
|
|
|
|
// #pin
|
|
cxt1.miterLimit = 4;
|
|
cxt1.strokeStyle = '$frente';
|
|
cxt1.lineWidth = 0.086814;
|
|
cxt1.fillStyle = '$fondo';
|
|
cxt1.beginPath();
|
|
|
|
cxt1.moveTo(0.905352, -0.105919);
|
|
cxt1.bezierCurveTo(1.323640, -0.105919, 1.662729, 0.233170, 1.662729, 0.651458);
|
|
cxt1.bezierCurveTo(1.662729, 0.788948, 1.626089, 0.917883, 1.562065, 1.029014);
|
|
cxt1.bezierCurveTo(1.300897, 1.482320, 1.095039, 1.587141, 0.901568, 2.113584);
|
|
cxt1.bezierCurveTo(0.706093, 1.581723, 0.496125, 1.474553, 0.242880, 1.018824);
|
|
cxt1.bezierCurveTo(0.182425, 0.910032, 0.147975, 0.784762, 0.147975, 0.651456);
|
|
cxt1.bezierCurveTo(0.147975, 0.233168, 0.487065, -0.105921, 0.905352, -0.105921);
|
|
cxt1.closePath();
|
|
cxt1.fill();
|
|
cxt1.stroke();
|
|
|
|
// #text4535
|
|
|
|
cxt1.lineJoin = 'miter';
|
|
cxt1.lineCap = 'butt';
|
|
cxt1.lineWidth = 4;
|
|
cxt1.fillStyle = '$frente';
|
|
|
|
cxt1.font = 'bold 1px AlfphabetIV';
|
|
//cxt1.font = 'bolder 1px San-serif';
|
|
cxt1.textAlign='center';
|
|
cxt1.fillText('$iniciales', 0.9, 1.1,1);
|
|
|
|
// #sombra
|
|
cxt1.save();
|
|
cxt1.lineJoin = 'miter';
|
|
cxt1.strokeStyle = 'rgb(0, 0, 0)';
|
|
cxt1.lineCap = 'butt';
|
|
cxt1.lineWidth = 0.086814;
|
|
cxt1.fillStyle = 'rgb(0, 0, 0)';
|
|
cxt1.miterLimit = 4;
|
|
cxt1.globalAlpha = 0.1;
|
|
cxt1.beginPath();
|
|
cxt1.transform(1.522548, 0.000000, 0.000000, 0.672158, -0.306407, 0.706407);
|
|
cxt1.moveTo(0.811931, 2.304708);
|
|
cxt1.bezierCurveTo(0.966011, 2.304708, 1.090917, 2.327127, 1.090917, 2.354782);
|
|
cxt1.bezierCurveTo(1.090917, 2.382438, 0.966011, 2.404857, 0.811931, 2.404857);
|
|
cxt1.bezierCurveTo(0.657851, 2.404857, 0.532944, 2.382438, 0.532944, 2.354782);
|
|
cxt1.bezierCurveTo(0.532944, 2.327127, 0.657851, 2.304708, 0.811931, 2.304708);
|
|
cxt1.fill();
|
|
cxt1.stroke();
|
|
cxt1.restore();
|
|
cxt1.restore();
|
|
|
|
|
|
}}
|
|
|
|
|
|
";
|
|
$respuesta = new xajaxResponse('utf-8');
|
|
|
|
$respuesta->addAssign("$div","innerHTML","$resultado");
|
|
//sleep(5);
|
|
$respuesta->addScript("javascript: $dibujar");
|
|
$respuesta->addScript("javascript:dibujar()");
|
|
return $respuesta;
|
|
|
|
|
|
}
|
|
$xajax->registerFunction("iconifica");
|
|
|
|
function random_color(){
|
|
mt_srand((double)microtime()*1000000);
|
|
$c = '';
|
|
while(strlen($c)<6){
|
|
$c .= sprintf("%02X", mt_rand(0, 255));
|
|
}
|
|
return $c;
|
|
}
|
|
|
|
|
|
|
|
function wikipedia_item($cadena,$div){
|
|
$cadena = strip_tags($cadena);
|
|
$wiki="";
|
|
|
|
$normalizado = str_replace(array(' '), '_', $cadena);
|
|
|
|
$url_wikipedia = "https://es.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro&redirects&titles=$normalizado";
|
|
$contents = file_get_contents($url_wikipedia);
|
|
//$contents = utf8_encode($contents);
|
|
$wikipedia = json_decode($contents,true);
|
|
foreach($wikipedia as $clave => $valor){
|
|
if(is_array($valor)) {
|
|
foreach($valor as $clave => $valor){
|
|
if(is_array($valor)) {
|
|
foreach($valor as $clave => $valor){
|
|
foreach($valor as $clave => $valor){
|
|
if($clave=="extract") {
|
|
$wiki .="<small>$valor</small>";
|
|
}
|
|
/* if(is_array($valor)) {
|
|
foreach( $valor as $clave => $valor){
|
|
foreach($valor as $clave => $valor){
|
|
if($clave=="title") {
|
|
$categoria=explode(":", $valor);
|
|
if(isset($categoria[2]) AND $categoria[2] == "Desambiguación") {
|
|
$wiki =wikipedia_desambiguar("$cadena",'','categoria');
|
|
}
|
|
if($categoria[1] == "Wikipedia") {
|
|
$wiki .="";
|
|
}
|
|
else{
|
|
$wiki .= "<li class='list-group-item'>".str_replace(array('Categoría:'), '', $valor)." </li>";
|
|
}
|
|
|
|
}else {}
|
|
}
|
|
}
|
|
}*/
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$wiki="$wiki";
|
|
|
|
if($div !='') {
|
|
$respuesta = new xajaxResponse('utf-8');
|
|
$respuesta->addAssign("$div","innerHTML","$wiki");
|
|
return $respuesta;
|
|
}else{
|
|
return $wiki;
|
|
}
|
|
//return $limite;
|
|
}
|
|
$xajax->registerFunction("wikipedia_item");
|
|
|
|
function wikipedia_desambiguar($cadena,$div,$tipo){
|
|
$pagina="";
|
|
if(@$tipo==""){$tipo ="";}
|
|
$cadena = strip_tags($cadena);
|
|
$cadena_original= $cadena;
|
|
$wiki="";
|
|
$arroba = str_replace(array(' '), '', $cadena);
|
|
$normalizado = str_replace(array(' '), '_', $cadena);
|
|
//$url_wikipedia = "https://es.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&titles=".$normalizado."_(desambiguación)";
|
|
if($tipo=="") {
|
|
$url_wikipedia = "https://es.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&titles=".$normalizado."_(desambiguación)";
|
|
}
|
|
if($tipo=="categoria") {
|
|
$url_wikipedia = "https://es.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&titles=".$normalizado."&prop=revisions&rvprop=content&rvparse";
|
|
}
|
|
//$url_wikipedia = "https://es.wikipedia.org/w/api.php?format=json&action=query&prop=categories&redirects&continue&titles=$normalizado";
|
|
$contents = file_get_contents($url_wikipedia);
|
|
//$contents = utf8_encode($contents);
|
|
$wikipedia = json_decode($contents,true);
|
|
if(is_array($wikipedia)) {
|
|
foreach($wikipedia as $clave => $valor){
|
|
if(is_array($valor)) {
|
|
foreach($valor as $clave => $valor){
|
|
foreach($valor as $clave => $valor){
|
|
$pagina=$clave;
|
|
foreach($valor as $clave => $valor){
|
|
if($clave=="extract") {
|
|
$patron = '|<li>(.*?)</li>|is';
|
|
if (preg_match_all($patron, $valor, $valor1)) //preg_match_all('@src="([^"]+)"@', $cadena, $array);
|
|
{
|
|
foreach($valor1[0] as $nombre){
|
|
$cadena ="".between("<li>","</li>","$nombre")." <hr>";
|
|
$cadena=explode(":", $cadena);
|
|
$cadena_busqueda = strip_tags($cadena[0]);
|
|
$wiki .="<a onclick=\"xajax_wikipedia('$cadena_busqueda','div_$arroba'); \" '>$cadena[0] <strong>$cadena[1]</strong></a> ";
|
|
}
|
|
}
|
|
}
|
|
else{
|
|
if(is_array($valor)) {
|
|
foreach($valor as $clave => $valor){
|
|
if(is_array($valor)) {
|
|
foreach($valor as $clave => $valor){
|
|
// $wiki="$valor";
|
|
$patron = '|<li>(.*?)</li>|is';
|
|
if (preg_match_all($patron, $valor, $valor1)) //preg_match_all('@src="([^"]+)"@', $cadena, $array);
|
|
{
|
|
foreach($valor1[0] as $nombre){
|
|
$cadena ="".between("<li>","</li>","$nombre")."";
|
|
|
|
$cadena=explode(":", $cadena);
|
|
$cadena=explode(",", $cadena[0]);
|
|
$cadena=explode(";", $cadena[0]);
|
|
$cadena_titulo = maya_extraer_title($cadena[0]);
|
|
$cadena_busqueda = @strip_tags($cadena[1]);
|
|
if($cadena_titulo !="") {
|
|
$wiki .="<a href='#$arroba' onclick=\"xajax_wikipedia('$cadena_titulo','div_$arroba'); \" '><small>$cadena_titulo</small></a><br> ";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if( $pagina > 0 ) {
|
|
$wiki="<ul class='list-group'> $wiki </ul>";
|
|
}else{
|
|
$wiki = wikipedia("$cadena_original",'');
|
|
}
|
|
|
|
|
|
if($div !='') {
|
|
$respuesta = new xajaxResponse('utf-8');
|
|
$respuesta->addAssign("$div","innerHTML","$wiki");
|
|
return $respuesta;
|
|
}else{
|
|
return $wiki;
|
|
}
|
|
//return $limite;
|
|
}
|
|
$xajax->registerFunction("wikipedia_desambiguar");
|
|
|
|
|
|
function wikipedia($cadena,$div){
|
|
$cadena = strip_tags($cadena);
|
|
$wiki="";
|
|
|
|
$normalizado = str_replace(array(' '), '_', $cadena);
|
|
//$url_wikipedia = "https://es.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&titles=".$normalizado."_(desambiguación)";
|
|
$url_wikipedia = "https://es.wikipedia.org/w/api.php?format=json&action=query&prop=categories&redirects&continue&titles=$normalizado";
|
|
$contents = file_get_contents($url_wikipedia);
|
|
//$contents = utf8_encode($contents);
|
|
$wikipedia = json_decode($contents,true);
|
|
foreach($wikipedia as $clave => $valor){
|
|
if(is_array($valor)) {
|
|
foreach($valor as $clave => $valor){
|
|
if(is_array($valor)) {
|
|
foreach($valor as $clave => $valor){
|
|
foreach($valor as $clave => $valor){
|
|
if(is_array($valor)) {
|
|
foreach( $valor as $clave => $valor){
|
|
foreach($valor as $clave => $valor){
|
|
if($clave=="title") {
|
|
$categoria=explode(":", $valor);
|
|
if(isset($categoria[2]) AND $categoria[2] == "Desambiguación") {
|
|
$wiki =wikipedia_desambiguar("$cadena",'','categoria');
|
|
}
|
|
if($categoria[1] == "Wikipedia") {
|
|
$wiki .="";
|
|
}
|
|
else{
|
|
$wiki .= "<li class='list-group-item'>".str_replace(array('Categoría:'), '', $valor)." </li>";
|
|
}
|
|
|
|
}else {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$wikipedia_item = wikipedia_item($cadena,"");
|
|
$wiki="<ul class='list-group'>$wikipedia_item <hr> $wiki</ul>";
|
|
|
|
if($div !='') {
|
|
$respuesta = new xajaxResponse('utf-8');
|
|
$respuesta->addAssign("$div","innerHTML","$wiki");
|
|
return $respuesta;
|
|
}else{
|
|
return $wiki;
|
|
}
|
|
//return $limite;
|
|
}
|
|
$xajax->registerFunction("wikipedia");
|
|
?>
|