public function testEditarUsuario()
 {
     $nick = "d" . time();
     $arg = array("email" => $nick . "@example.net", "password" => "foobar123123", "nick" => $nick, "ubicacion" => "celaya", "nombre" => "nombre");
     $result = c_usuario::nuevo($arg);
     $this->assertTrue(SUCCESS($result), "Crear usuario correcto");
     $result = c_usuario::editar($arg);
     $this->assertTrue(SUCCESS($result), "Editar sin cambiar datos");
     $arg["escuela"] = "Nueva escuela";
     $result = c_usuario::editar($arg);
     $this->assertTrue(SUCCESS($result));
     // Validar que se cambio en efecto la escuela
     $arg["escuela"] = "Universidad de Matanzas Camilo Cienfuegos (UMCC)";
     $result = c_usuario::editar($arg);
     $this->assertTrue(SUCCESS($result), "parentesis permitidos en escuela");
     $arg["escuela"] = "#file_links[E:\riwenkey.txt,1,S]";
     $result = c_usuario::editar($arg);
     $this->assertTrue(!SUCCESS($result), "editar a algo muy raro");
     $arg["escuela"] = "veryloooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong";
     $result = c_usuario::editar($arg);
     $this->assertTrue(!SUCCESS($result), "editar escuela texto largo");
     $arg["escuela"] = "\"\\'\n\r";
     $result = c_usuario::editar($arg);
     $this->assertTrue(!SUCCESS($result));
 }
 public function testNuevaEjecucion()
 {
     // Crear un usuario e iniciar sesion
     $nick = "p" . time();
     $uarg = array("nombre" => "problem tester", "email" => $nick . "@example.net", "password" => "foobar23123", "nick" => $nick, "user" => $nick, "ubicacion" => "celaya");
     $result = c_usuario::nuevo($uarg);
     $result = c_sesion::login($uarg);
     // Crear un nuevo problema
     $contents = $titulo = "prob" . time();
     for ($i = 0; $i < 100; $i++) {
         $contents .= "lorem ipsum";
     }
     $arg = array("titulo" => $titulo, "problema" => $contents, "tiempoLimite" => 3456, "entrada" => "1 1\n1 2\n100 100\n", "salida" => "2\n3\n200\n");
     $result = c_problema::nuevo($arg);
     // Crear un nuevo envio
     $arg = array("id_problema" => $result["probID"], "lang" => "java", "plain_source" => "import java.io.*;\n\t\t\t\t\tclass Main{ public static void main(String []a) throws Exception{\n\t\t\t\t\tBufferedReader br = new BufferedReader(new FileReader(\"data.in\"));\n\t\t\t\t\tPrintWriter pw = new PrintWriter((\"data.out\"));\n\t\t\t\t\tString s;\n\t\t\t\t\twhile((s=br.readLine()) != null){\n\t\t\t\t\t\t\tpw.println(Integer.parseInt(s.split(\" \")[0])  + Integer.parseInt(s.split(\" \")[1])   );\n\t\t\t\t\t}\n\t\t\t\t\tpw.flush(); pw.close();\n\t\t\t\t\t} }");
     $result = c_ejecucion::nuevo($arg);
     //Revisar el estado del run hasta que no sea waiting...
     $detalles = c_ejecucion::details($result);
     $retry = 0;
     while ($retry < 5 && ($detalles["run"]["status"] == "WAITING" || $detalles["run"]["status"] == "JUDGING")) {
         $retry++;
         sleep(1);
         $detalles = c_ejecucion::details($result);
     }
     $this->assertEquals($detalles["run"]["status"], "OK");
 }
 public static function usuarioActual()
 {
     $user = null;
     $result = array("result" => "error");
     if (self::isLoggedIn()) {
         $result = c_usuario::getByNick(array("nick" => $_SESSION['userID']));
         if (SUCCESS($result)) {
             $result = array("result" => "ok", "user" => $result["user"], "userID" => $_SESSION['userID']);
         }
     }
     return $result;
 }
 public function testNuevoProblemaCorrecto()
 {
     $titulo = "a" . time();
     $rlistaprobs = array("public" => "NO");
     $res = c_problema::lista($rlistaprobs);
     $probs = $res["problemas"];
     $found = false;
     for ($i = 0; $i < sizeof($probs); $i++) {
         if ($probs[$i]["titulo"] == $titulo) {
             $found = true;
             break;
         }
     }
     $this->assertTrue(!$found);
     $contents = "";
     for ($i = 0; $i < 100; $i++) {
         $contents .= "a";
     }
     $arg = array("titulo" => $titulo, "problema" => $contents, "tiempoLimite" => 3456, "entrada" => "1 1\n1 2\n100 100\n", "salida" => "2\n3\n200\n");
     // crear un usuario e iniciar sesion
     $nick = "p" . time();
     $uarg = array("nombre" => "problem tester", "email" => $nick . "@example.net", "password" => "foobar23123", "nick" => $nick, "user" => $nick, "ubicacion" => "celaya");
     $result = c_usuario::nuevo($uarg);
     $result = c_sesion::login($uarg);
     $result = c_problema::nuevo($arg);
     $this->assertTrue(SUCCESS($result));
     $this->assertTrue(SUCCESS($result), "Crear un nuevo problema correctamente");
     $rlistaprobs = array("public" => "NO");
     $res = c_problema::lista($rlistaprobs);
     $probs = $res["problemas"];
     $found = false;
     $found_prob = null;
     for ($i = 0; $i < sizeof($probs); $i++) {
         if ($probs[$i]["titulo"] == $titulo) {
             $found = true;
             $found_prob = $probs[$i];
             break;
         }
     }
     $this->assertTrue($found);
     $this->assertEquals($found_prob["titulo"], $arg["titulo"]);
     $this->assertEquals($found_prob["problema"], $arg["problema"]);
     $this->assertEquals($found_prob["tiempoLimite"], $arg["tiempoLimite"]);
     $this->assertEquals($found_prob["usuario_redactor"], $argu["user"]);
 }
 /**
  *
  * @param para
  * @param msg
  * @param 
  *
  **/
 public static function Nuevo($request)
 {
     $apiresult = c_usuario::getByNick(array("user" => $request["para"]));
     global $db;
     if (SUCCESS($apiresult)) {
         $sql = "INSERT INTO Mensaje (de , para , mensaje, fecha ) VALUES (  ?, ?, ?, ?);";
         $inputarray = array($_SESSION['userID'], $request["para"], $request["msg"], date("Y-m-d H:i:s", time()));
         $result = $db->Execute($sql, $inputarray);
     }
     if (SUCCESS($apiresult)) {
         $mensaje = "Hola,\n\nTienes un nuevo mensaje en teddy de parte de " . $_SESSION['userID'] . ": https://" . $_SERVER['SERVER_NAME'] . "/inbox.php";
         // Ignorar el resultado
         $ignore_apiresult = c_mail::EnviarMail($mensaje, $apiresult["user"]["mail"], "Nuevo mensaje en Teddy");
         $apiresult = array('result' => "ok");
     }
     unset($apiresult["user"]);
     return $apiresult;
 }
        echo $_REQUEST['cid'];
        ?>
">
					</form>
				</div>
			<?php 
    }
} else {
    echo "<div align='center'><h2>El problema " . $_GET["id"] . " no existe.</h2></div>";
}
?>
</div>
<?php 
$result = c_sesion::usuarioActual();
if (SUCCESS($result)) {
    $result = c_usuario::problemasResueltos($result);
}
if (SUCCESS($result)) {
    $resuelto = false;
    for ($i = 0; $i < sizeof($result["problemas"]); $i++) {
        if ($result["problemas"][$i] == $_GET["id"]) {
            $resuelto = true;
            break;
        }
    }
    if ($resuelto) {
        ?>
		<div >
			<ul id="subtabs" class="new-style">
				<li  class="subtab selected">
					<a href="#codigos" onclick="ShowTab( 'tab-verproblema-codigos', this);">
    $params["orden"] = $_GET["orden"];
}
$result = c_problema::lista($params);
$resueltos = null;
$intentados = null;
if (isset($_GET["userID"]) || c_sesion::isLoggedIn()) {
    if (isset($_GET["userID"])) {
        $user = $_GET;
    } else {
        $user = c_sesion::usuarioActual();
    }
    $res = c_usuario::problemasResueltos($user);
    if (SUCCESS($res)) {
        $resueltos = $res["problemas"];
    }
    $res = c_usuario::problemasIntentados($user);
    if (SUCCESS($res)) {
        $intentados = $res["problemas"];
    }
}
if (SUCCESS($result)) {
    $problemas = $result["problemas"];
    for ($i = 0; $i < sizeof($problemas); $i++) {
        $prob = $problemas[$i];
        if ($i % 2 == 0) {
            echo "<TR style='background:#e7e7e7;' align=center>";
        } else {
            echo "<TR align=center>";
        }
        if (c_sesion::isLoggedIn() || isset($_GET["userID"])) {
            echo "<TD >";
<?php

// Revisar que el usuario exista
$param = array("nick" => $_GET["user"]);
$response = c_usuario::getByNick($param);
if (SUCCESS($response)) {
    if (is_null($response["user"])) {
        //User does not exist
        return;
    } else {
        $user = $response["user"];
        ?>
		<table border=0>
		<tr>
			<td>
			<span class="rounded_image" style="background-image:url(https://secure.gravatar.com/avatar/<?php 
        echo md5($user["mail"]);
        ?>
);">
				<img src="https://secure.gravatar.com/avatar/<?php 
        echo md5($user["mail"]);
        ?>
" style="opacity:0;">
			</span>
			</td>
			<td width='400px'>
				<h2><?php 
        echo $user["userID"];
        ?>
</h2>
				<b><?php 
<?php

require_once "../serverside/bootstrap.php";
$title = isset($_GET["user"]) ? $_GET["user"] : "******";
define("PAGE_TITLE", $title);
require_once "head.php";
?>
<div class="post_blanco">

	<?php 
if (isset($_GET["user"])) {
    include "parcial_perfil.php";
    $envios = c_usuario::runs($_GET);
} else {
    $envios = c_ejecucion::lista();
}
$runs = $envios["runs"];
include "parcial_listadeejecuciones.php";
?>

</div>

<?php 
include_once "post_footer.php";
?>

示例#10
0
<?php

require_once "../serverside/bootstrap.php";
define("PAGE_TITLE", "Resetear Password");
require_once "head.php";
?>

<div class="post_blanco">

	<?php 
if (!c_usuario::IsResetPassTokenValid($_GET)) {
    ?>
<p>Este token no es valido</p><?php 
} else {
    ?>
		<form class="datos"  >
			<h2>Nuevo password</h2>

			<label>Contrase&ntilde;a</label>
			<input class="text" type='password' id="password" name="password"  required/>

			<label>Repetir contrase&ntilde;a</label>
			<input class="text" type='password' id="re_password" name="re_password"  required/>

			<input type="hidden" name="token" value="<?php 
    echo $_GET["token"];
    ?>
"/>

			<input type="button" class="button" value="Aceptar" onClick="ResetPasswordWithToken(this)" />
		</form>
<div class="post_blanco">
	<table>
	<thead> <tr >
		<th width='5%'>Rank</th> 
		<th width='5%'>Usuario</th> 
		<th width='15%'>Ubicacion</th> 
		<th width='15%'><a href="rank.php?order=escuela">Escuela</a></th> 
		<th width='5%'><a href="rank.php?order=resueltos">Resueltos</a></th> 
		<th width='5%'><a href="rank.php?order=envios">Envios</a></th> 
		<th width='5%'>Radio</th> 
		</tr> 
	</thead> 
	<tbody>
	<?php 
$res = c_usuario::rank();
$rank = $res["rank"];
for ($n = 0; $n < sizeof($rank); $n++) {
    $user = $rank[$n];
    if ($n % 2 == 0) {
        echo "<TR style='background:#e7e7e7;' align=center>";
    } else {
        echo "<TR align=center>";
    }
    echo "<TD align='center' >" . ($n + 1) . "</TD>";
    switch ($user["cuenta"]) {
        case "ADMIN":
            echo "<TD ><a href=\"runs.php?user="******"userID"] . "\">" . $user["userID"] . "(A)</a></TD>";
            break;
        case "OWNER":
            echo "<TD ><a href=\"runs.php?user="******"userID"] . "\">" . $user["userID"] . "(O)</a></TD>";
            break;