44 lines
1021 B
PHP
44 lines
1021 B
PHP
<?php
|
|
|
|
function make_post_link( $a, $post=true ) {
|
|
if ( $post ) {
|
|
$parts = split_filename( $a );
|
|
return sprintf(
|
|
'<a href="post.php?f=%s">%s</a>',
|
|
$parts["encoded"],
|
|
$parts["title"]
|
|
);
|
|
} else {
|
|
return '<a href="media/' . $a . '" target="_blank">media/' . $a . '</a>';
|
|
}
|
|
}
|
|
|
|
function title_from_filename( $fn ) {
|
|
$fn = str_replace( ".md", "", $fn );
|
|
$fn = urldecode( $fn );
|
|
return $fn;
|
|
}
|
|
|
|
function make_date_from_stamp( $ts, $ds=DATE_STYLE ) {
|
|
// Expects "time" from split_filename
|
|
$date = date( $ds, (int)$ts );
|
|
return $date;
|
|
}
|
|
|
|
function split_filename( $fn, $ds=DATE_STYLE ) {
|
|
$parts = explode( "_", $fn, 2);
|
|
$out = [];
|
|
$out["time"] = make_date_from_stamp( $parts[0], $ds );
|
|
$out["title"] = title_from_filename( $parts[1] );
|
|
$out["raw"] = urlencode( $fn );
|
|
$out["encoded"] = $fn;
|
|
return $out;
|
|
}
|
|
|
|
function read_post( $fn_raw ) {
|
|
// Expects "raw" from split_filename
|
|
$path = "posts/" . $fn_raw;
|
|
$data = file_get_contents( $path );
|
|
return $data;
|
|
}
|