From 748dad7dcb2fea29ca8b4b021f93fe0f9373e793 Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Tue, 3 May 2005 00:39:28 +0000 Subject: [PATCH] =?utf8?q?Manejo=20del=20archivo=20de=20cr=C3=A9ditos.=20L?= =?utf8?q?as=20funciones=20principales=20son:=20file=5Fcreditos=5Flogin()?= =?utf8?q?=20->=20Actualiza=20el=20archivo=20al=20hacer=20el=20login=20fil?= =?utf8?q?e=5Fcreditos=5Fpreguntar()=20->=20Actualiza=20el=20archivo=20al?= =?utf8?q?=20hacer=20una=20pregunta=20file=5Fcreditos=5Fevaluar()=20->=20A?= =?utf8?q?ctualiza=20el=20archivo=20al=20evaluar=20una=20respuesta=20file?= =?utf8?q?=5Fcreditos=5Fget()=20->=20Obtiene=20la=20informaci=C3=B3n=20de?= =?utf8?q?=20cr=C3=A9ditos=20para=20un=20usuario?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/lib/file.creditos.php | 97 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 src/lib/file.creditos.php diff --git a/src/lib/file.creditos.php b/src/lib/file.creditos.php new file mode 100644 index 0000000..3b4db65 --- /dev/null +++ b/src/lib/file.creditos.php @@ -0,0 +1,97 @@ += $bonus_cant) + { + $creditos += intval($bonus / $bonus_cant) * $bonus_cant; + $bonus %= $bonus_cant; + } + return file_creditos_write($user, $creditos, $bonus, $dias); +} + +/** + * Obtiene los datos de la última entrada del archivo de créditos. + */ +function file_creditos_get($user) +{ + if (($f = fopen("data/$user.creditos.csv", 'r')) === false) return false; + $seek = intval(trim(fgets($f, 11))); + fseek($f, $seek); + return fgetcsv($f, 4096); +} + +/** + * Escribe una nueva entrada en el archivo de créditos (actualiza el 'índice'). + */ +function file_creditos_write($user, $creditos, $bonus, $dias) +{ + if (($f = fopen("data/$user.creditos.csv", 'a+')) === false) return false; + $seek = ftell($f); + $fecha = time(); + fputcsv($f, array($fecha, $creditos, $bonus, $dias)); + fseek($f, 0); + fwrite($f, sprintf("%010d\n", $seek), 11); + return true; +} + +/** + * Convierte segundos a días. + */ +function secs2dias($secs) +{ + return intval($secs / 86400); +} + +?> \ No newline at end of file -- 2.43.0