tupali/iconoclasta/funciones/funciones.php

329 lines
9.6 KiB
PHP
Raw Normal View History

2017-03-08 02:36:47 +00:00
<?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");
?>