Profilbilder von Vorstandsmitgliedern werden in Joomla nicht angezeigt

Alles, was nicht in die anderen Foren passt, kannst du hier loswerden.
Antworten
voumi
Beiträge: 14
Registriert: 26. Jan 2020, 18:51

Profilbilder von Vorstandsmitgliedern werden in Joomla nicht angezeigt

Beitrag von voumi »

Liebe Forummitglieder

Bitte entschuldigt, dass ich dieses Thema wieder hervor krame. Trotz längerer Suche im Internet - vielleicht habe ich an den falschen Stellen gesucht - ist es mir bis jetzt nicht gelungen, die Benutzerbilder auf meiner Joomla-Website anzeigen zu lassen...

Unten steht jener Code, welchen ich in einer php-Datei im Verzeichnis root/php abgespeichert habe. Die Admidio-Installation ist im Verzeichnis root/admidio.

Die erwähnte php-Datei rufe ich mittels der Erweiterung php-bridge auf. Soweit funktioniert eigentlich auch alles - bis eben auf die Darstellung der entsprechenden Profilbilder, welche im Verzeichnis root/admidio/adm_my_files/user_profile_photos/###.jpg gespeichert sind. Probehalber habe ich auch die .htaccess-Datei aus dem Verzeichnis root/admidio/adm_my_files entfernt. Aber auch so funktioniert mein Aufruf nicht wie gewünscht.

Vielleicht weiss jemand Rat.

Vielen Dank für Eure Tipps bereits im Voraus.

Liebe Grüsse
voumi


PS: Falls jemand auf der Suche nach einer Reihenfolge für Vorstandsmitglieder ist, hier meine Lösung: Ich habe für jedes Amt eine eigene Rolle erstellt. Zudem habe ich direkt in der Datenbank bei der Tabelle der Rollen ein zusätzliches Feld mit dem Namen rol_sequence hinzugefügt. Jedes Amt hat dort nun eine entsprechende Nummerierung erhalten; der Präsident die 10, der Vize-Präsident die 20, etc.... Die zahlenmässigen Abstände habe ich so gewählt, weil später evtl. neue Ämter hinzukommen können. Diese sollten dann besser in die Reihenfolge integrierbar sein, als bei einer fortlaufenden Nummerierung.

Code: Alles auswählen

<?php
date_default_timezone_set('Europe/Berlin'); 
defined('_JEXEC') or die('Restricted access');
header("Content-Type: image/jpeg");

error_reporting(0);

require_once ('admidio/adm_my_files/config.php');
$db = mysqli_connect (
                     $g_adm_srv, 
                     $g_adm_usr, 
                     $g_adm_pw, 
                     $g_adm_db
                    );

if ( $db )
{
#    echo 'Verbindung sehr erfolgreich: ';
#    print_r( $db_link);
}
else
{
    // hier sollte dann später dem Programmierer eine
    // E-Mail mit dem Problem zukommen gelassen werden
    die('keine Verbindung möglich: ' . mysqli_error());
}

$db->set_charset('utf8');

echo "<h2>Vorstand</h2>";

$erg = $db->query("SELECT usr_id, 

CONCAT(id1.usd_value) AS name, rol_id, rol_sequence, rol_name

FROM adm_roles, adm_categories, adm_members, adm_users

LEFT JOIN adm_user_data id1 ON id1.usd_usr_id = usr_id
AND id1.usd_usf_id = 89

WHERE rol_id > 1 and rol_sequence <> '' AND mem_begin <= NOW() AND mem_end > NOW()

AND rol_valid = 1
AND rol_cat_id = cat_id
AND cat_org_id = 1
AND mem_rol_id = rol_id
AND mem_usr_id = usr_id
AND usr_valid = 1
ORDER BY rol_sequence ASC");

while ($zeile = $erg->fetch_object()) {

If ($zeile->rol_sequence == 80) echo "<h2>Musikkomission</h2>";

?>
	<table>
		<tr>
		<td><h3><?=$zeile->rol_name;?></h3></td>
		</tr>
		<tr>
		<td><img src=\"/admidio/adm_program/modules/profile/profile_photo_show.php?usr_id={$row['usr_id']}\"></td>
		</tr>
		<tr>
		<td><?=$zeile->name;?></td>
		</tr>
	</table>
	<hr />

<?php

}


## Verbindung schliessen
$erg->free();
$db->close();

?>
voumi
Beiträge: 14
Registriert: 26. Jan 2020, 18:51

Re: Profilbilder von Vorstandsmitgliedern werden in Joomla nicht angezeigt

Beitrag von voumi »

Nach langem Üben - und fast verzweifeln ;-) - habe ich die richtige Syntax gefunden:

Code: Alles auswählen

<td><img src="admidio/adm_program/modules/profile/profile_photo_zeigen.php?usr_id=<?=$zeile->usr_id;?>"></td>
Zudem habe ich von der profile_photo_show eine Kopie gemacht und in profile_photo_zeigen umbenannt. Infolge Unkenntnis habe ich den oberen Teil der If-Bedingungen kopiert und am Schluss anstelle der letzten Else-Bedingung wieder eingefügt. Ich werde auch dort noch eine elegantere Lösung suchen. Aber vorerst funktioniert es ja.
Antworten