\$IndexLinks
");
SDV($FPLByDaysEndFmt,'
');
SDV($FPLByDaysHeaderLink,'$IndexLetter');
SDV($FPLByDaysLDateFmt,"▲ \$DisplayText");
//SDV($FPLByDaysIDateFmt,"\$Name");
//SDV($FPLByDaysIDateFmt,"\$Title");
//SDV($FPLByDaysIDateFmt,"\$Description");
SDV($FPLByDaysIDateFmt,"\$TimeFromName, \$Description");
SDV($FPLByDaysLNormFmt,"▲ \$IndexLetter");
SDV($FPLByDaysINormFmt,"\$Namespaced");
function FPLByDays($pagename,&$matches,$opt)
{
global $FPLByDaysStartFmt;
global $FPLByDaysEndFmt;
global $FPLByDaysHeaderLink;
global $FPLByDaysLDateFmt;
global $FPLByDaysIDateFmt;
global $FPLByDaysLNormFmt;
global $FPLByDaysINormFmt;
global $FmtV;
$matches = MakePageList($pagename, $opt);
// var_dump($matches[1]);
// die;
$DatePages = array(); // for: 200703171520
$NormPages = array(); // for: everything not in $DatePages
foreach($matches as $item)
{
$workname = FmtPageName('$Name',$item['pagename']);
if ( preg_match("/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/", $workname, $m) )
{
// // 2007 - 03 - 17 - 15 - 20
// // Array (
// // [0] => 200703171520
// // [1] => 2007
// // [2] => 03
// // [3] => 17
// // [4] => 15
// // [5] => 20
// // )
$timestamp = mktime($m[4], $m[5], 0, $m[2], $m[3], $m[1]);
// $text = strftime("%A, %B %#d, %Y at %#I:%M:%p", $timestamp);
// $index = "{$m[1]}-{$m[2]}-{$m[3]}"
$index = $m[1].'-'.$m[2].'-'.$m[3];
$text = strftime("%A, %B %#d, %Y", $timestamp);
$text .= " ($index)";
$DatePages[] = array (
'index' => $index,
'display' => $text,
'pagename' => $item['pagename'],
// [Feral:082/07@23:55] name is in essence the ctime, except for back dated things...
// [Feral:083/07@02:21] Or entries entered in the wrong order (I.e. back dated)
// 'sortkey' => $item['ctime'],
'sortkey' => $item['name'],
'timefromname' => strftime("%#I:%M:%p", $timestamp)
);
}
else
{
$NormPages[] = array (
'index' => substr($workname,0,1), // first letter of our display name.
'display' => $workname,
'pagename' => $item['pagename'],
);
}
}
// [Feral:082/07@22:18] Empty guard
if ( (count($DatePages) + count($NormPages) ) == 0)
{
return "No files found.";
}
$cmp = create_function('$x,$y', "return (\$x['sortkey'] < \$y['sortkey']);"); // newest first
// $cmp = create_function('$x,$y', "return (\$x['ctime'] > \$y['ctime']);"); // oldest first
usort($DatePages,$cmp);
$cmp = create_function('$x,$y', "return strcasecmp(\$x['display'],\$y['display']);");
usort($NormPages,$cmp);
// $DatePages[] = array (
// 'index' => $index,
// 'display' => $text,
// 'pagename' => $item['pagename'],
// 'sortkey' => $item['ctime']
// );
$lletter = null;
foreach($DatePages as $item)
{
$FmtV['$IndexLetter'] = $item['index'];
$FmtV['$DisplayText'] = $item['display'];
$FmtV['$TimeFromName'] = $item['timefromname'];
if ($item['index'] != @$lletter)
{
$out[] = FmtPageName($FPLByDaysLDateFmt,$item['pagename']);
$headerlinks[] = FmtPageName($FPLByDaysHeaderLink,$item['pagename']);
$lletter = $item['index'];
}
$out[] = FmtPageName($FPLByDaysIDateFmt,$item['pagename']);
}
// $NormPages[] = array (
// 'index' => substr($workname,0,1), // first letter of our display name.
// 'display' => $workname,
// 'pagename' => $item['pagename'],
// );
$lletter = null;
foreach($NormPages as $item)
{
$FmtV['$IndexLetter'] = $item['index'];
$FmtV['$DisplayText'] = $item['display'];
if ($item['index'] != @$lletter)
{
$out[] = FmtPageName($FPLByDaysLNormFmt,$item['pagename']);
$headerlinks[] = FmtPageName($FPLByDaysHeaderLink,$item['pagename']);
$lletter = $item['index'];
}
$out[] = FmtPageName($FPLByDaysINormFmt,$item['pagename']);
}
$FmtV['$IndexLinks']=implode(' ● ',$headerlinks);
return FmtPageName($FPLByDaysStartFmt,$pagename).implode('',$out).FmtPageName($FPLByDaysEndFmt,$pagename);
}