format('U'));
//$twt = $datetime . "\t$new_post\n";
//$twt = date('c') . "\t$new_post\n";
$datetime = date('Y-m-d\TH:i:sp'); // abracting to be used for webmentions
$twt = "\n" . $datetime . "\t" .$new_post; // NB: only works with PHP 8
// TODO: Delete?
/*if (strpos($contents, NEW_TWT_MARKER) !== false) {
// Add the previous marker
// Take note that doesn't not work if twtxt file has CRLF line ending
// (which is wrong anyway)
$twt = NEW_TWT_MARKER . $twt;
$contents = str_replace(NEW_TWT_MARKER, $twt, $contents);
} else {
// Fall back if the marker is not found.
$contents .= $twt;
}*/
// Append twt at the end of file
$contents .= $twt;
// TODO: Add error handling if write to the file fails
// For example due to permissions problems
// https://www.w3docs.com/snippets/php/how-can-i-handle-the-warning-of-file-get-contents-function-in-php.html
$file_write_result = file_put_contents($txt_file_path, $contents);
// TODO: replace with file_put_contents($logfile, $log, FILE_APPEND) -- https://www.w3schools.com/php/func_filesystem_file_put_contents.asp
// Send webmentions (TODO: move to it own file?)
$new_mentions = getMentionsFromTwt($twt);
foreach ($new_mentions as $mention) {
//print_r(getMentionsFromTwt($twt));
//echo $mention["nick"] . " from " . $mention["url"]."
";
// TODO: detect endpoint via $mention["url"]
$targets_webmention_endpoint = "https://darch.dk/timeline/webmention";
$your_url = "https://darch.dk/twtxt.txt#:~:text=".$datetime;
//$your_url = "https://darch.dk/twtxt.txt#:~:text=2024-03-16T20:38:31Z";
$target_url = $mention["url"];
$payload = "source=".$your_url."&target=".$target_url;
echo $payload;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $targets_webmention_endpoint);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $payload);
$data = curl_exec($curl);
curl_close($curl);
}
//header('Refresh:0; url=.');
header("Location: refresh?url=".$public_txt_url); // Trying to fix issue with douple posting
exit;
} else {
require_once("partials/base.php");
$title = "New post - ".$title;
include_once 'partials/header.php';
?>