Verfallene Artikel ohne Archiv nicht abrufbar machen

Fragen zur Implementierung und/oder Anpassung von ConPresso 4 werden in diesem Forum diskutiert.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7557
Registriert: 01.01.1970 02:00
Hat sich bedankt: 118 Mal
Danksagung erhalten: 943 Mal

Verfallene Artikel ohne Archiv nicht abrufbar machen

Beitrag von MarkusR »

Bisher werden verfallene Artikel im Archiv gezeigt, so ist das ja auch gewollt.

Bevor diese verfallen, werden diese aber oft von Suchmaschinen indiziert und es kann auch nach dem Verfallsdatum noch die Detail-Seite aufgerufen werden, auch wenn das Archiv gar nicht aktiviert ist. Die typische Deep-Link Problematik.

Das lässt sich durch ein kleine Modifikation in _includesite/i_detail.php ändern.

REPLACE // ERSETZE

Code: Alles auswählen

$query = 'SELECT rubric_id, commentary, verfallsdatum, templates_id, nr, idx, email, autor, pub_datum, titel, initial, freigabe, changer, last_modify '
        .'FROM '.CPO_NEWS.' '
        .'WHERE nr='.(int)$_REQUEST['nr'].' '
        .'AND ('.$auth_string.') '
        .'AND rubric_id='.(int)$cpoRubric['id'].' '
        .'AND '.($articlestates = $cpoSystem['release']
            ? 'artikel_archiv<2 AND freigabe='.STATE_RELEASED.' '
            : 'artikel_archiv<1 AND freigabe!='.STATE_BLOCKED.' '
        );
$now = time();
WITH // DURCH

Code: Alles auswählen

$now = time();

$pub_string = (!$cpoRubricSettings['showArchive']) ? 
        "AND pub_datum<='".date('Y-m-d H:i:s', $now)."' AND verfallsdatum>='".date('Y-m-d H:i:s', $now)."' " : 
        "AND pub_datum<='".date('Y-m-d H:i:s', $now)."' ";

$query = 'SELECT rubric_id, commentary, verfallsdatum, templates_id, nr, idx, email, autor, pub_datum, titel, initial, freigabe, changer, last_modify '
        .'FROM '.CPO_NEWS.' '
        .'WHERE nr='.(int)$_REQUEST['nr'].' '
        .$pub_string
        .'AND ('.$auth_string.') '
        .'AND rubric_id='.(int)$cpoRubric['id'].' '
        .'AND '.($articlestates = $cpoSystem['release']
            ? 'artikel_archiv<2 AND freigabe='.STATE_RELEASED.' '
            : 'artikel_archiv<1 AND freigabe!='.STATE_BLOCKED.' '
        );
Nebenbei verhindert die Modifikation auch den Aufruf noch nicht publizierter Artikel, wenn Suchmaschinen endlos alle Nummern hinter detail.php?nr= abklappern.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle