Hallo Harry,
im Script system/classes/profilefields.php wird schon die Variable %user_content% ersetzt (Zeile 244 unter "// replace a variable in url with user value"). Füge mal folgendes hinzu:
Code: Alles auswählen
if(strpos($this->mProfileFields[$fieldNameIntern]->getValue('usf_url'), '%u_folder%') !== false)
{
$sql_Folder = 'SELECT * FROM '. TBL_FOLDERS. '
WHERE fol_name = '.$this->mUserId.'
AND fol_type = \'DOWNLOAD\'
AND fol_path = \'/adm_my_files/download/Userdokumente\'
AND fol_org_id = '. $gCurrentOrganization->getValue('org_id');
$result_Folder = $this->mDb->query($sql_Folder);
$FolderRow = $this->mDb->fetch_object($result_Folder);
$FolderId = $FolderRow->fol_id;
$htmlValue = preg_replace ('/%u_folder%/', $FolderId, $htmlValue);
}
Hier greifen wir auf das Objekt $gCurrentOrganization zu, das muss in der Funktion getHtmlValue() noch globalisiert werden (Zeile 99 erweitern):
ersetzen durch
Code: Alles auswählen
global $gPreferences, $g_root_path, $gL10n, $gCurrentOrganization;
Und dann im Download-Modul auch das Verzeichnis "Userdokumente" anlegen und mit den entsprechenden Zugriffsrechten versehen. Und für jeden User ein Unterverzeichnis mit der User-ID als Namen anlegen (das wäre natürlich schön, wenn's automatisch ginge. Wenn es nicht so eilt, warte noch ein Weilchen, vielleicht wird die Automatik ja nachgeliefert). Vielleicht in die Beschreibung noch den User-Namen schreiben - macht den manuellen Zugriff über das Downloadmodul einfacher.
So... Jetzt in den Profilfeldern ein Optionsfeld anlegen.
- Name (z.B.): "Dokumente".
- Werteliste (nur einen Wert): "Link zum Dokumentenverzeichnis".
- URL: "http://www.my_website.de/admidio/adm_program/modules/downloads/downloads.php?folder_id=%u_folder%" (http://www.my_website.de natürlich ersetzen)
Warum Optionsfeld? Weil man sonst bei jedem User irgendwas reinschreiben müsste. Und mit Optionsfeld hat man die Möglichkeit, den Datei-Zugriff ein- oder auszuschalten. Ist in meinen Augen der geeignetste Datentyp hierfür.
Vorausgesetzt, das entsprechende Userverzeichnis existiert im Download-Modul, wird nach Aktivierung des Optionsfelds ein individueller Link für jeden aufgerufenen User angezeigt. Must nix mehr separat eintragen!
Bis auf das manuelle Anlegen der Download-Ordner ist das Handling eigentlich zumutbar.
@fasse: Wenn man das noch ein wenig verbessert (vielleicht neuen Datentyp "Fix-Text" oder "Action-Button" und automatisches Anlegen der User-Eigenen Unterverzeichnisse) hast Du mit überschaubarem Aufwand (1-2 Std.) eine schnelle Lösung für Deine User, denn diese Funktionalität ist hier anscheinend immer wieder gefragt (aktuelle wieder unter "sonstiges" hier im Forum der Beitrag "Dateiarchiv verlinken":
http://forum.admidio.org/viewtopic.php?f=4&t=6770)
HoHoHo,
der verfrühte Weihnachtsmann
