xtcSlimboxPic 0.0.6 mit mehrsprachiger Bildbeschreibung

Gesperrt
Mariposa
Beiträge: 5
Registriert: Di 17. Feb 2009, 12:50
Kontaktdaten:

xtcSlimboxPic 0.0.6 mit mehrsprachiger Bildbeschreibung

Beitrag von Mariposa »

Hallo,
in einer 4.8.11 Installation mit AMR setzte ich xtcSlimboxPic 0.0.6 ein. Soweit funktioniert auch alles prima.

Das Problem ist, dass das Galeriemodul die mehrsprachige Bildbeschreibung nicht anspricht, also immer nur die 1. Sprache (deutsch) verwendet. In der DB sind die Datensätze zu jedem Bild mit unterschiedlicher Sprach-ID vorhanden.

Trotz intensiver Suche im Modul und hier im Forum habe ich keine Lösung gefunden.

Kann mir bitte jemand helfen, das klasse Galeriemodul dazu zu bringen, die Bildbeschreibung in der jeweiligen Sprache auszugeben?

Schon mal danke vorweg.
xmurrix
Beiträge: 3213
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

Re: xtcSlimboxPic 0.0.6 mit mehrsprachiger Bildbeschreibung

Beitrag von xmurrix »

Hallo Mariaposa,

das Modul ist so aufgebaut, dass es die Beschreibung zum Bild aus der Upload-Tabelle holt und Daten in dieser Tabelle sind nicht sprachabhängig.

Vermutlich müsste es funktionieren, wenn du die Funktion "xtcSlimPicDescription" in der Datei "includes/function.xtcSlimPic.php" folgendermaßen anpasst:

Code: Alles auswählen

function xtcSlimPicDescription($idupl){

    global $cfg, $cfgClient, $db, $client, $lang;
    
    $cApiClient = new cApiClient($client);
    $language_separator = $cApiClient->getProperty('language','separator');
    if ($language_separator == "") {
        //Sanity, if module used in client without set client setting
        $language_separator = "§§§";
        $cApiClient->setProperty('language','separator', $language_separator);
    }
    if(is_numeric($idupl)) {
        //ID is a number 
        $query = "SELECT description FROM ".$cfg["tab"]["upl_meta"]." WHERE idupl = ".$idupl . " AND idlang = " . (int) $lang;
    } else {
        //ID is a string
        $path_parts = pathinfo($idupl);
        $upload = $cfgClient[$client]['upl']['frontendpath'];
        $len = strlen($upload);
        $pos = strpos($idupl,$upload);
        $dirname = substr($path_parts['dirname'],$pos+$len).'/';
        $query = "SELECT um.description FROM ".$cfg["tab"]["upl"]." AS u, ".$cfg["tab"]["upl_meta"]." AS um WHERE (u.dirname = '".$dirname."') AND (u.filename='".$path_parts['basename']."') AND (u.filetype='".$path_parts['extension']."') AND u.idupl = um.idupl AND idlang = " . (int) $lang;
    }
    $db->query($query);
    if($db->next_record()) {
        return htmlspecialchars(urldecode($db->f("description")));
    } else {
        return '';
    }
}
Habe das aber nicht getestet, es kann also sein, dass es nicht wie gewünscht funktioniert.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
Mariposa
Beiträge: 5
Registriert: Di 17. Feb 2009, 12:50
Kontaktdaten:

Re: xtcSlimboxPic 0.0.6 mit mehrsprachiger Bildbeschreibung

Beitrag von Mariposa »

Eingebaut und getestet: Funktioniert einwandfrei.

Danke für die superschnelle Hilfe.

Gruß Mariposa
Gesperrt