header-xh-01 header-xh-02 header-xh-03 header-xh-04 header-xh-05 header-xh-06 header-xh-07 header-xh-08 header-xh-09 header-xh-10 header-xh-11 header-xh-12 header-xh-13 header-xh-14
Lembach's nichtkommerzielle Website rund um CMSimple_XH
Templates, Plugins, Tools, Programme
und Tips und Tricks die mir wichtig sind
Sie sind hier: Startseite > Plugins > SimplePlugins_XH Edition KRL > Function recently_changed

function recently_changed

Useage : {­{{recently_changed([$count][, $length])}}}
Example : {­{{recently_changed(5,80)}}}

Die Funktion gibt eine Link-Liste der n zuletzt geänderten Seiten aus, wobei die max. Länge des Links auf m festgelegt werden kann. Dabei ist n der der Funktion übergebene Parameter für die Anzahl der aufgelisteten Seiten und m die maximale Länge der Zeichenkette für jeden Link-Listen-Eintrag. 
Die Liste wird nach Datum geordnet. Die Listeneinträge mit dem gleichen Änderungszeitpunkt werden zusammengefasst. Ihnen wird als Überschrift der Änderungszeitpunkt vorangestellt. Ein Formatierungsvorschlag ist im Ordner der Funktion enthalten.

Der Default-Wert für n ist 5 und der für m ist 100.

{{­{recently_changed(50,80)}}} ⇒

20. Dec 2021 - 11:12
/CMSimple_XH
19. Dec 2021 - 14:12
/Plugins
17. Dec 2021 - 15:12
/Templates/klr-3col-flex
16. Dec 2021 - 17:12
/Home
07. Dec 2021 - 22:12
/Templates/fhs-basic-all
07. Dec 2021 - 11:12
/Template-Erweiterungen
06. Dec 2021 - 01:12
/Home/Impressum

 

Dateiname: ./plugins/simpleplugins_xh/simpleplugins_library/recently_changed/index.php

<?php
/*****************************************************
* Plugin name : recently_changed
* File name : index.php
* Summery : facilitates to display a list of pages that have most recently been changed.
* Only the page headings are listed as links to the respective page.
* Auther : Christoph M. Becker / T.Uchiyama / svasti / olape / Karl Richard Lembach
* License : GPLv3
*****************************************************
* Useage : {{{recently_changed([$count][, $length]);}}}
* Example : {{{recently_changed();}}}
******************************************************/
/*
* Prevent direct access.
*/
if (!defined('CMSIMPLE_XH_VERSION')) {
header('HTTP/1.0 403 Forbidden');
exit;
}

if (!function_exists('recently_changed')) {

/**
* @copyright 2016 Christoph M. Becker
* @copyright 2016 (for some additions) by svasti
* 2018 small modifications by olape
* 2021 modifications (utf8 conform string operation and others, style and so one) by
* Autor of last modifications : Karl Richard Lembach (Caravaner) https://lembach-cmsimple.de
* @license GPLv3
*/
/*
{{{recently_changed()}}}, {{{recently_changed(10)}}}, {{{PLUGIN:recently_changed(10,24);}}}, {{{PLUGIN:recently_changed('',24);}}}
oder im Template:
<?php echo recently_changed()?>, <?php echo recently_changed(10)?>, <?php echo recently_changed(10,24)?>, <?php echo recently_changed('',24)?>
*/

function recently_changed($count = 5, $length = 100)
{
global $pd_router, $cf;

$pageData = $pd_router->find_all();
uasort($pageData, function ($a, $b) {
return $b['last_edit'] - $a['last_edit'];
});

$pages = array();
$i = 0;
foreach (array_keys($pageData) as $page) {
if ($i < $count) {
if (!hide($page)) {
$timestamp = $pageData[$page]['last_edit'];
$date = date('d. M Y - H:m', $timestamp);
$pages[$date][] = $page;
$i++;
}
} else {
break;
}
}

global $sn, $h, $u;

$html = '<dl class="recently_changed">';
foreach ($pages as $date => $group) {
$html .= '<div class="recently_changed"><dt>' . $date . '</dt>';
foreach ($group as $page) {
$linktext = str_replace($cf['uri']['seperator'], '/', $u[$page]);
$linktext_length = mb_strlen($linktext,'utf8');
if($linktext_length > $length) {
$linktext = mb_substr($linktext, -$length, null, 'utf8');
$stringpos = mb_strpos($linktext, '/',0,'utf8');
$linktext = '...'.mb_substr($linktext, (-$length + $stringpos), null, 'utf8');
}
$html .= '<dd><a href="' . "$sn?$u[$page]" . '">/' . $linktext . '</a></dd>';
}
$html .= '</div>';
}
$html .= '</dl><p class="clear" style="font-size: 1px;"></p>';
return $html;
}

}
?>

| Seitenanfang | |  - - - By CrazyStat - - -