\$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); }