]> git.llucax.com Git - z.facultad/75.43/tp1.git/commitdiff
Se optimiza file_creditos_evaluar() para que también grabe el archivo sólo de ser...
authorLeandro Lucarella <llucax@gmail.com>
Wed, 4 May 2005 21:55:47 +0000 (21:55 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Wed, 4 May 2005 21:55:47 +0000 (21:55 +0000)
src/lib/file.creditos.php

index c07370bf86cf5c2a3f163cb6485bbd46b1e6d8f9..e4a9f6ec3cb05019ca58a6e348967a3ad3a7e7f3 100644 (file)
@@ -14,6 +14,11 @@ require_once 'lib/file.php';
  * Actualiza el archivo de créditos al loguearse.
  * Calcula si hay que restar créditos por días sin preguntar.
  *
  * Actualiza el archivo de créditos al loguearse.
  * Calcula si hay que restar créditos por días sin preguntar.
  *
+ * TODO ver si anda por el tema de las preguntas, que se pueden actualizar los
+ *      creditos sin que pregunte. Probablemente haya que agregar una fecha de
+ *      último chequeo para diferenciar entragas por login de entradas por
+ *      evaluar o preguntas (me parece que con 'dias' no alcanza).
+ *
  * @return false si hay error
  */
 function file_creditos_login($user)
  * @return false si hay error
  */
 function file_creditos_login($user)
@@ -39,8 +44,7 @@ function file_creditos_login($user)
  */
 function file_creditos_preguntar($user)
 {
  */
 function file_creditos_preguntar($user)
 {
-    $row = file_creditos_get($user);
-    if (!$row) return false;
+    if (!($row = file_creditos_get($user))) return false;
     list($fecha, $creditos, $bonus, $dias) = $row;
     return file_creditos_write($user, $creditos - 1, $bonus, 0);
 }
     list($fecha, $creditos, $bonus, $dias) = $row;
     return file_creditos_write($user, $creditos - 1, $bonus, 0);
 }
@@ -53,16 +57,21 @@ function file_creditos_preguntar($user)
  */
 function file_creditos_evaluar($user, $es_bonus = false, $bonus_cant = 5)
 {
  */
 function file_creditos_evaluar($user, $es_bonus = false, $bonus_cant = 5)
 {
-    $row = file_creditos_get($user);
-    if (!$row) return false;
+    if (!($row = file_creditos_get($user))) return false;
     list($fecha, $creditos, $bonus, $dias) = $row;
     list($fecha, $creditos, $bonus, $dias) = $row;
-    if ($es_bonus) $bonus++;
-    if ($bonus >= $bonus_cant)
+    $bonus2 = $bonus;
+    $creditos2 = $creditos;
+    if ($es_bonus) $bonus2++;
+    if ($bonus2 >= $bonus_cant)
     {
     {
-        $creditos += intval($bonus / $bonus_cant) * $bonus_cant;
-        $bonus %= $bonus_cant;
+        $creditos2 += intval($bonus2 / $bonus_cant) * $bonus_cant;
+        $bonus2 %= $bonus_cant;
     }
     }
-    return file_creditos_write($user, $creditos, $bonus, $dias);
+    if ($bonus2 != $bonus or $creditos2 != $creditos)
+    {
+        return (bool)file_creditos_write($user, $creditos2, $bonus2, $dias);
+    }
+    return true;
 }
 
 /**
 }
 
 /**