= $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/creditos.$user.csv", 'r')) === false) return false; $seek = intval(trim(fgets($f, 11))); fseek($f, $seek); $row = fgetcsv($f, 4096); fclose($f); return $row; } /** * 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/creditos.$user.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); fclose($f); return true; } /** * Crea el archivo de créditos para el usuario. */ function file_creditos_crear($user) { if (($f = fopen("data/creditos.$user.csv", 'w')) === false) return false; fwrite($f, sprintf("%010d\n", 11), 11); fputcsv($f, array(time(), 1, 0, 0)); fclose($f); return true; } /** * Convierte segundos a días. */ function secs2dias($secs) { return intval($secs / 86400); } ?>