{
// El asesor puede preguntar siempre
if ($this->esAsesor()) return false;
- file_log_add($this->_id, "El administrador le agrega $n créditos");
+ $this->log("El administrador le agrega $n créditos");
return file_creditos_add($this->_id, $n);
}
if (!file_admins_replace($this->getId(), $user->getId()))
return 'Error al intercambiar los administradores.';
$this->reload();
+ $this->log('Cede permisos de administración a '
+ .$user->getNombre().' '.$user->getApellido().'.');
+ $user->log('Recibe permisos de administración de '
+ .$this->getNombre().' '.$this->getApellido().'.');
return '';
}
/// Entrada al sistema.
function login()
{
- file_creditos_login($this->_id); // Actualizamos créditos
- file_log_add($this->_id, 'Ingreso al sistema');
+ $this->log('Ingreso al sistema');
+ $res = file_creditos_login($this->_id); // Actualizamos créditos
+ if (is_array($res))
+ $this->log("Se restaron créditos ({$res[0]}) por no preguntar.");
}
/// Salida del sistema.
function logout()
{
- file_log_add($this->_id, 'Salida del sistema');
+ $this->log('Salida del sistema');
+ }
+
+ /// Graba un mensaje de log.
+ function log($msg)
+ {
+ file_log_add($this->_id, $msg);
}
/**
* ú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
+ * @return array con los campos escritos.
*/
function file_creditos_login($user)
{
$dias2 %= 30;
if ($dias2 != $dias or $creditos2 != $creditos)
{
- return (bool)file_creditos_write($user, $creditos2, $bonus, $dias2);
+ $ret = file_creditos_write($user, $creditos2, $bonus, $dias2);
+ if ($ret === false) return false;
+ else return array_slice($ret, 1);
}
return true;
}
/**
* Escribe una nueva entrada en el archivo de créditos (actualiza el 'índice').
*
- * @returns array con los campos escritos.
+ * @return array con los campos escritos.
*/
function file_creditos_write($user, $creditos, $bonus, $dias)
{