* Shaarli utilities
*/
+/**
+ * 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)
+{
+ file_put_contents(
+ $logFile,
+ date('Y/m/d H:i:s').' - '.$clientIp.' - '.strval($message).PHP_EOL,
+ FILE_APPEND
+ );
+}
+
/**
* Returns the small hash of a string, using RFC 4648 base64url format
*
return (strcasecmp(substr($haystack, strlen($haystack) - strlen($needle)), $needle) === 0);
}
-/**
- * Same as nl2br(), but escapes < and >
- */
-function nl2br_escaped($html)
-{
- return str_replace('>', '>', str_replace('<', '<', nl2br($html)));
-}
-
/**
* htmlspecialchars wrapper
*/
/**
* Checks if a string represents a valid date
+
+ * @param string $format The expected DateTime format of the string
+ * @param string $string A string-formatted date
+ *
+ * @return bool whether the string is a valid date
*
- * @param string a string-formatted date
- * @param format the expected DateTime format of the string
- * @return whether the string is a valid date
- * @see http://php.net/manual/en/class.datetime.php
- * @see http://php.net/manual/en/datetime.createfromformat.php
+ * @see http://php.net/manual/en/class.datetime.php
+ * @see http://php.net/manual/en/datetime.createfromformat.php
*/
function checkDateFormat($format, $string)
{