
In detail: Added function io_delete_file(). Removed system_hashsalt_save(). Added password hash update mechanics to user_login().
61 lines
1.1 KiB
PHP
Executable File
61 lines
1.1 KiB
PHP
Executable File
<?php
|
|
|
|
// fileio.php
|
|
// low-level io-handling functions
|
|
function io_write_file($filename, $data) {
|
|
@umask(0);
|
|
$dir = dirname($filename);
|
|
if (fs_mkdir($dir)) {
|
|
$f = fopen($filename, "w");
|
|
if ($f) {
|
|
|
|
if (!flock($f, LOCK_EX))
|
|
return -1;
|
|
|
|
$length = strlen($data);
|
|
$done = fwrite($f, $data);
|
|
|
|
flock($f, LOCK_UN);
|
|
|
|
fclose($f);
|
|
|
|
@chmod($filename, FILE_PERMISSIONS);
|
|
|
|
// returns true on success
|
|
|
|
return ($length == $done);
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
function io_load_file($filename) {
|
|
if (file_exists($filename)) {
|
|
if (function_exists('file_get_contents'))
|
|
return file_get_contents($filename);
|
|
|
|
$f = fopen($filename, "r");
|
|
if ($f) {
|
|
if (!flock($f, LOCK_SH))
|
|
return -1;
|
|
$contents = fread($f, filesize($filename));
|
|
flock($f, LOCK_UN);
|
|
fclose($f);
|
|
|
|
// returns contents as string on success
|
|
return ($contents);
|
|
}
|
|
}
|
|
// trigger_error("io_load_file: $filename does not exists", E_USER_ERROR);
|
|
return false;
|
|
}
|
|
|
|
function io_delete_file($filename) {
|
|
if (!file_exists($filename)) {
|
|
return false;
|
|
}
|
|
return unlink($filename);
|
|
}
|
|
|