No tengo ni idea del motivo, de hecho he revisado el codigo y la documentación de wordpress y no doy con el fallo. Os dejo el código a ver si veis el fallo.
Un saludo
Código PHP:
<?php
add_action('admin_menu', 'my_plugin_menu');
function my_plugin_menu() {
add_menu_page('DB Ciclocross', 'Ciclocross', 'manage_options', 'db-ciclocross', 'my_plugin_options');
add_submenu_page('db-ciclocross', 'Agregar carrera', 'Agregar carrera', 'manage_options', 'carrera-cx', 'my_custom_submenu_page_callback');
add_submenu_page('db-ciclocross', 'Resultados', 'Resultados carreras', 'manage_options', 'resultados-cx', 'my_custom_submenu_page_callback2');
add_submenu_page('db-ciclocross', 'Dorsales', 'Dorsales carreras', 'manage_options', 'dorsales', 'agregar_dorsales');
}
function my_plugin_options() {
if (!current_user_can('manage_options')) {
wp_die( __('You do not have sufficient permissions to access this page.') );
}
echo '<div class="wrap">';
echo 'Desde aquí se podrá configurar la base de datos para el Ranking de Ciclocross';
echo '</div>';
}
function my_custom_submenu_page_callback() {
$link = @mysql_connect("***********", "*******","******")
or die ("Error al conectar a la base de datos.");
@mysql_select_db("*********", $link)
or die ("Error al conectar a la base de datos.");
echo"Añadir carrera al calendario<br><br>";
if (!isset($_GET['accion'])){
echo "<center><font class=\"title\"><b>Nuevo carrera ciclista</b></font></center><br>
<form method=\"post\" action=\"admin.php?page=my-custom-submenu-page&accion=addcarrera\">
Nombre: <input type=\"text\" name=\"nombre\" > <br>
Fecha (dd/mm/aaaa): <input type=\"text\" name=\"fecha\" > <br>
Comunidad:<input type=\"text\" name=\"comunidad\" ><br>
1- AND / 2- ARA / 3- AST / 4- IBA / 5- ICA / 6- CAN / 7- CLM / 8- CYL / 9- CAT / 10- VAL / 11- EXT / 12- GAL / 13- RIO / 14- MAD / 15- NAV / 16- EUS / 17- MUR / 18- CEU / 19- MEL<br>
Categoria: <input type=\"text\" name=\"categoria\" ><br>
1- WC // 2- CDM // 3- C1 // 4- C2 // 5- 1.34.1 // 6- 1.34.2 // 7- 1.34.3 // 8- 1.34.4 <br>
<input name=\"Enviar\" type=\"submit\" value=\"Enviar\"></form>";
}
elseif($_GET['accion']=="addcarrera"){
ereg( "([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})", $_POST['fecha'], $arrayfecha);
$nombre = $_POST['nombre'];
$ccaa = $_POST['comunidad'];
$cat = $_POST['categoria'];
$sqlinsert ="INSERT INTO nuke_calendario_ciclocross (nombre,fecha_inicio,tipo,ccaa) VALUES ('".$nombre."' , '".$arrayfecha[3]."-".$arrayfecha[2]."-".$arrayfecha[1]."', '".$cat."', '".$ccaa."')";
$resultinsert = mysql_query($sqlinsert);
if (!$resultinsert) {
die("Fallo en la insercion de registro en la Base de Datos: " . mysql_error());
}
echo "Nuevo carrera añadido con exito";
}
}
function my_custom_submenu_page_callback2() {
$link = @mysql_connect("************", "************","**********")
or die ("Error al conectar a la base de datos.");
@mysql_select_db("**********", $link)
or die ("Error al conectar a la base de datos.");
if (!isset($_GET['accion'])){
echo "<center><font class=\"title\"><b>Test de Resultados</b></font></center><br>
<form method=\"post\" action=\"db.php?accion=test\">
Carrera: <input type=\"text\" name=\"carrera\" ><br>
Test de nombres: <br>
<textarea cols=100 rows=20 name=\"clasificacion\"></textarea> <br>
* El texto debera tener la siguiente estructura: Posicion, Apellidos coma Nombre guión Tiempo<br>
Ejemplo: <br>
1 MURGOITIO,Egoitz - 01:03:01<br>
2 HOFMAN,Bart - 33<br>
<input name=\"Enviar\" type=\"submit\" value=\"Testear\"></form>";
echo "<center><font class=\"title\"><b>Añadir Resultados</b> NO OLVIDAR EL TEST</font></center><br>
<form method=\"post\" action=\"db.php?accion=addresult\">
Carrera: <input type=\"text\" name=\"carrera\" ><br>
Test de nombres: <br>
<textarea cols=100 rows=20 name=\"clasificacion\"></textarea> <br>
* El texto debera tener la siguiente estructura: Posicion, Apellidos coma Nombre guión Tiempo<br>
Ejemplo: <br>
1 MURGOITIO,Egoitz - 01:03:01<br>
2 HOFMAN,Bart - 33<br>
<input name=\"Enviar\" type=\"submit\" value=\"Testear\"></form>";
}
elseif($_GET['accion']=="test"){
$contador=0;
$errores=0;
$carrera = $_POST['carrera'];
$linea = strtok ($_POST['clasificacion'],"\n");
echo"carrera: $carrera<br><br>";
while ($linea != false) {
list( $datos, $tiempo ) = explode( " - ", $linea );
list( $pos, $name ) = explode( " " , $datos , 2);
list( $apellidos, $nombre ) = explode( "," , $name );
$sqlciclista = "SELECT id FROM nuke_corredores_cc WHERE nombre LIKE '%".$nombre."%' AND apellidos LIKE '%".$apellidos."%'";
$resultciclista = mysql_query($sqlciclista);
if(list($cid) = mysql_fetch_row($resultciclista)) $nex=0;
else $nex=1;
if ($nex == 0) $contador++;
else { echo"ERROR: El ciclista ".$nombre." ".$apellidos." no existe en la base de datos<br>"; $errores++; }
//echo"$nombre<br>";
$linea = strtok("\n");
}
echo"Bien: $contador <br>Errores: $errores";
}
elseif($_GET['accion']=="addresult"){
$contador=0;
$errores=0;
$carrera = $_POST['carrera'];
$linea = strtok ($_POST['clasificacion'],"\n");
$sqlcarrera = "SELECT nombre,fecha_inicio FROM nuke_calendario_ciclocross WHERE id='$carrera'";
$resultcarrera = mysql_query($sqlcarrera);
list($nomcarrera,$fecha) = mysql_fetch_row($resultcarrera);
echo"carrera: $nomcarrera<br><br>";
while ($linea != false) {
list( $datos, $tiempo ) = explode( " - ", $linea );
list( $pos, $name ) = explode( " " , $datos , 2);
list( $apellidos, $nombre ) = explode( "," , $name );
$sqlciclista = "SELECT id FROM nuke_corredores_cc WHERE nombre LIKE '%".$nombre."%' AND apellidos LIKE '%".$apellidos."%'";
$resultciclista = mysql_query($sqlciclista);
if(list($cid) = mysql_fetch_row($resultciclista)) $nex=0;
else $nex=1;
if ($nex == 0) {
$contador++;
$sqlinsert ="INSERT INTO nuke_resultados_ciclocross (rid,cid,pos,fecha) VALUES ('".$carrera."' , '".$cid."' , '".$pos."' , '".$fecha."')";
$resultinsert = mysql_query($sqlinsert);
}
else { echo"ERROR: El ciclista clasificado ".$pos.", ".$nombre." ".$apellidos." no existe en la base de datos<br>"; $errores++; }
//echo"$nombre<br>";
$linea = strtok("\n");
}
echo"Añadidos $contador resultados";
}
}
?>