/**
* Logs a message to a text file
*
+ * The log format is compatible with fail2ban.
+ *
* @param string $logFile where to write the logs
* @param string $clientIp the client's remote IPv4/IPv6 address
* @param string $message the message to log
*/
function logm($logFile, $clientIp, $message)
{
- $line = strval(date('Y/m/d_H:i:s')).' - '.$clientIp.' - '.strval($message).'\n';
- file_put_contents($logFile, $line, FILE_APPEND);
+ file_put_contents(
+ $logFile,
+ date('Y/m/d H:i:s').' - '.$clientIp.' - '.strval($message).PHP_EOL,
+ FILE_APPEND
+ );
}
/**
}
/**
- * Same as nl2br(), but escapes < and >
+ * Htmlspecialchars wrapper
+ *
+ * @param string $str the string to escape.
+ *
+ * @return string escaped.
*/
-function nl2br_escaped($html)
+function escape($str)
{
- return str_replace('>', '>', str_replace('<', '<', nl2br($html)));
+ return htmlspecialchars($str, ENT_COMPAT, 'UTF-8', false);
}
/**
- * htmlspecialchars wrapper
+ * Reverse the escape function.
+ *
+ * @param string $str the string to unescape.
+ *
+ * @return string unescaped string.
*/
-function escape($str)
+function unescape($str)
{
- return htmlspecialchars($str, ENT_COMPAT, 'UTF-8', false);
+ return htmlspecialchars_decode($str);
}
/**