diff options
author | Urban Müller | 2008-12-10 15:57:33 +0000 |
---|---|---|
committer | Urban Müller | 2008-12-10 15:57:33 +0000 |
commit | b2accf6655dce9584f3ea1485a22c58dcc9dd08f (patch) | |
tree | 76ca73fe1fb6ef297cc543819554f517ba9d25cf /it.class | |
parent | eb153561b46c4adfcaed74f3c2534746b4be9139 (diff) | |
download | itools-b2accf6655dce9584f3ea1485a22c58dcc9dd08f.tar.gz itools-b2accf6655dce9584f3ea1485a22c58dcc9dd08f.tar.bz2 itools-b2accf6655dce9584f3ea1485a22c58dcc9dd08f.zip |
it::file_get, it::file_put, shorter shell error format, it::mail docs
Diffstat (limited to 'it.class')
-rw-r--r-- | it.class | 43 |
1 files changed, 39 insertions, 4 deletions
@@ -215,12 +215,12 @@ function error($p = array(), $body = null, $to = null) # $body and $to deprecate else if ($_SERVER['REMOTE_ADDR']) # toscreen mode: web echo "<pre>{$p['title']}\n".rtrim($body)."</pre>"; else # toscreen mode: shell (outputs to stderr) - error_log("it::error: " . $p['title'] . " in " . ($trace ? $trace : "{$p['file']}:{$p['line']}") . " Url: $url " . (EDC('verbose') ? D($p['locals']) : "")); + error_log($p['title'] . " in " . ($trace ? $trace : "{$p['file']}:{$p['line']} Url: $url") . " " . (EDC('verbose') ? D($p['locals']) : "")); } if (($fh = fopen("/tmp/alertdata/alert.log", "a"))) { - fputs($fh, it::date() . " " . $p['title'] . " in " . ($trace ? $trace : "{$p['file']}:{$p['line']}") . " Url: $url\n"); + fputs($fh, it::date() . " " . $p['title'] . " in " . ($trace ? $trace : "{$p['file']}:{$p['line']} Url: $url") . "\n"); fclose($fh); @chmod("/tmp/alertdata/alert.log", 0777); } @@ -668,7 +668,8 @@ function map($expression, $array) } /** - * Send a mail. Expects array for Header => Content pairs with Body => for the mail body + * Send a mail. Expects array for Header => Content pairs with Body => for the mail body. + * @return nothing */ function mail($p) { @@ -676,8 +677,42 @@ function mail($p) unset($p['Body']); $mail = new it_mail($p); $mail->add_body($body); + $mail->send(); +} + +/** + * Reads a file and returns it as string or in one of several formats. Two params: filename and flags + * @param $filename name of file to read + * @param $p['keyval'] each line of the file is one tab-separated key/value pair, return assoc array + */ +function file_get($filename, $p = array()) +{ + if ($p['keyval']) + { + foreach (explode("\n", rtrim(file_get_contents($filename), "\n")) as $line) + { + $arr = explode("\t", $line, 2); + $result[$arr[0]] = $arr[1]; + } + } + else + $result = file_get_contents($filename); + + return $result; +} + +/** + * Write data to a file with several serialization modes + * @param $filename name of file to write to + * @param $data data to write + * @param $p['keyval'] $data must be an assoc array and is written as tab-separated lines + */ +function file_put($filename, $data, $p = array()) +{ + if ($p['keyval']) + $data = join("", it::map('"$k\t$v\n"', $data)); - return $mail->send(); + return file_put_contents($filename, $data); } } |