Einträge in umgekehrter Reihenfolge anzeigen

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
orang
Regular
Posts: 21
Joined: Wed Aug 16, 2006 9:03 am

Einträge in umgekehrter Reihenfolge anzeigen

Post by orang » Mon Nov 04, 2019 4:15 am

Hallo zusammen,

ich habe schon vor Jahren einen Serendipity-Blog eingerichtet, bei dem ich den Code in functions_entries.inc_.php so geändert hatte, dass die Einträge:
- in umgekehrter Reihenfolge dargestellt werden, d.h. der älteste zuerst, der neueste zum Schluss
- und nur die Einträge dargestellt werden, die neuer sind als der aktuelle Timestamp.

Jetzt habe ich aber vor einigen Monaten schon eine neue Version draufgespielt (Serendipity 2.1.4) und ich kriege es nicht mehr hin. Könnte mir jemand dabei helfen? Oder gibt es mittlerweile eine Einstellung, die das ermöglicht?

Dankeschön!
Stefan


Um diesen Code-Abschnitt geht es:

Code: Select all

function &serendipity_fetchEntries($range = null, $full = true, $limit = '', $fetchDrafts = false, $modified_since = false, $orderby = 'timestamp DESC', $filter_sql = '', $noCache = false, $noSticky = false, $select_key = null, $group_by = null, $returncode = 'array', $joinauthors = true, $joincategories = true, $joinown = null) {
    global $serendipity;

    if ($serendipity['useInternalCache']) {
        $cache = serendipity_setupCache();

        $args = func_get_args();
        $args = array_values($args);
        $key = md5(serialize($args));

        if (($entries = $cache->get($key, "fetchEntries")) !== false) {
            return unserialize($entries);
        }
    }
    
    $cond = array();
    $cond['orderby'] = $orderby;
    if (isset($serendipity['short_archives']) && $serendipity['short_archives']) {
        // In the short listing of all titles for a month, we don't want to have a limit applied. And we don't need/want toe
        // full article body (consumes memory)
        $limit   = '';
        $full    = false;
    }

    if ($full === true) {
        $noCache = true; // So no entryproperties related to body/extended caching will be loaded
        $body = ', e.body, e.extended';
    } else {
        $body = '';
    }

    if ($fetchDrafts === false) {
        $drafts = "isdraft = 'false'";
    }

    if ($limit != '') {
        $serendipity['fetchLimit'] = $limit;
    }

    /* Attempt to grab range from $serendipity, if $range is not an array or null */
    if (!is_array($range) && !is_null($range) && isset($serendipity['range'])) {
        $range = $serendipity['range'];
    }

    if (is_numeric($range)) {
        $year  = (int)substr($range, 0, 4);
        $month = (int)substr($range, 4, 2);
        $day   = (int)substr($range, 6, 2);

        $startts = serendipity_serverOffsetHour(mktime(0, 0, 0, $month, ($day == 0 ? 1 : $day), $year), true);
		
		
		
		
        if ($day == 0) {
            $month++;
        } else {
            $day++;
        }

        $endts = serendipity_serverOffsetHour(mktime(0, 0, 0, $month, ($day == 0 ? 1 : $day), $year), true);
		
		
		
        $cond['and'] = " WHERE e.timestamp >= $startts AND e.timestamp <= $endts";
    } elseif (is_array($range) && count($range)==2) {
        $startts = serendipity_serverOffsetHour((int)$range[0], true);
        $endts   = serendipity_serverOffsetHour((int)$range[1], true);
        $cond['and'] = " WHERE e.timestamp >= $startts AND e.timestamp <= $endts";
    } else {
        if ($modified_since) {
            $unix_modified = strtotime($modified_since);
            if ($unix_modified != -1) {
                $cond['and'] = ' WHERE last_modified >= ' . (int)$unix_modified;
                if (!empty($limit)) {
                    $limit = ($limit > $serendipity['max_fetch_limit'] ? $limit : $serendipity['max_fetch_limit']);
                }
                $cond['orderby'] = 'last_modified DESC';
            }
        }
    }
Last edited by orang on Mon Nov 04, 2019 4:21 am, edited 1 time in total.

orang
Regular
Posts: 21
Joined: Wed Aug 16, 2006 9:03 am

Re: Einträge in umgekehrter Reihenfolge anzeigen

Post by orang » Mon Nov 04, 2019 4:19 am

Ich wollte noch hinzufügen:

Ich habe es geschafft, die Einträge in umgekehrter Reihenfolge darzustellen, aber was ich nicht hinkriege, ist die "range" bzw. den SQL string so zu definieren, dass nur die Einträge dargestellt werden, die neuer sind als der aktuelle Timestamp!

orang
Regular
Posts: 21
Joined: Wed Aug 16, 2006 9:03 am

Re: Einträge in umgekehrter Reihenfolge anzeigen

Post by orang » Tue Nov 12, 2019 7:12 pm

Gibt es niemanden, der mir helfen könnte?

User avatar
onli
Regular
Posts: 2254
Joined: Tue Sep 09, 2008 10:04 pm
Contact:

Re: Einträge in umgekehrter Reihenfolge anzeigen

Post by onli » Tue Nov 12, 2019 11:26 pm

Wie sah die Modifikation der Funktion denn früher aus, und was wäre diesmal dein Ansatz?

Be@t
Regular
Posts: 82
Joined: Sun Dec 18, 2005 6:24 pm
Location: switzerland
Contact:

Re: Einträge in umgekehrter Reihenfolge anzeigen

Post by Be@t » Fri Nov 15, 2019 1:22 am

Achtung: unqualifizierter Beitrag!

Bin gerade über nachfolgendes Plugin gestolpert. Habe es nicht ausprobiert, doch vielleicht löst es das Problem.

Einträge für nicht-registrierte Benutzer nach Verfallsdatum ausblenden

serendipity_event_outdate_entries
version 1.6 (GPL, Zuletzt aktualisiert 2013-12-11)
Garvin Hicking
Serendipity >= 0.8

Blendet alle Einträge die ein definiertes Alter überschritten haben aus, so dass sie nur für registrierte Benutzer sichtbar sind.

Post Reply