-//
-function admin_WriteData ($file, $comment, $prefix, $suffix, $DATA, $seek=0) {
- // Initialize some variables
- $done = false;
- $seek++;
- $next=-1;
- $found = false;
-
- // Is the file there and read-/write-able?
- if ((FILE_READABLE($file)) && (is_writeable($file))) {
- $search = "CFG: ".$comment;
- $tmp = $file.".tmp";
-
- // Open the source file
- $fp = @fopen($file, 'r') or OUTPUT_HTML("<strong>READ:</strong> ".$file."<br />");
-
- // Is the resource valid?
- if (is_resource($fp)) {
- // Open temporary file
- $fp_tmp = @fopen($tmp, 'w') or OUTPUT_HTML("<strong>WRITE:</strong> ".$tmp."<br />");
-
- // Is the resource again valid?
- if (is_resource($fp_tmp)) {
- while (!feof($fp)) {
- // Read from source file
- $line = fgets ($fp, 1024);
-
- if (strpos($line, $search) > -1) { $next = 0; $found = true; }
-
- if ($next > -1) {
- if ($next === $seek) {
- $next = -1;
- $line = $prefix . $DATA . $suffix."\n";
- } else {
- $next++;
- }
- }
-
- // Write to temp file
- fputs($fp_tmp, $line);
- }
-
- // Close temp file
- fclose($fp_tmp);
-
- // Finished writing tmp file
- $done = true;
- }
-
- // Close source file
- fclose($fp);
-
- if (($done) && ($found)) {
- // Copy back tmp file and delete tmp :-)
- @copy($tmp, $file);
- @unlink($tmp);
- define('_FATAL', false);
- } elseif (!$found) {
- OUTPUT_HTML("<strong>CHANGE:</strong> 404!");
- define('_FATAL', true);
- } else {
- OUTPUT_HTML("<strong>TMP:</strong> UNDONE!");
- define('_FATAL', true);
- }
- }
- } else {
- // File not found, not readable or writeable
- OUTPUT_HTML("<strong>404:</strong> ".$file."<br />");
- }
-}