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"; ?>
<?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ña</label> <input class="text" type='password' id="password" name="password" required/> <label>Repetir contraseñ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;