Anhänge zum Profil
Anhänge zum Profil
Hallo zusammen
ich vermisse in Admidio sehr schmerzlich Dateianhänge zum Profil... Folgender Hintergrund...
Unsere Mitglieder bekommen eine persönlichen Mitgieder-Pass zu Ihrer Mitgliedschaft. Dieser wird in PDF erstellt. Nun möchte ich den Mitgieder-Pass zum jeweiligen Profil hinzufügen (nicht als Link usw sondern als echter Dateianhang).
Könnte so ein Feld kreiert werden?
Der Bonus dazu wäre noch wenn auch mehrere Dateianhänge möglich wären
Gruss und danke
Harry
ich vermisse in Admidio sehr schmerzlich Dateianhänge zum Profil... Folgender Hintergrund...
Unsere Mitglieder bekommen eine persönlichen Mitgieder-Pass zu Ihrer Mitgliedschaft. Dieser wird in PDF erstellt. Nun möchte ich den Mitgieder-Pass zum jeweiligen Profil hinzufügen (nicht als Link usw sondern als echter Dateianhang).
Könnte so ein Feld kreiert werden?
Der Bonus dazu wäre noch wenn auch mehrere Dateianhänge möglich wären
Gruss und danke
Harry
Re: Anhänge zum Profil
Hallo Harry,
wie siehst Du denn den Unterschied zwischen Dateianhang und Link? In einem zweiten Thread schreibst Du ja, dass Du jetzt einen Link auf Eure Dropbox gelegt habt.
Besten Gruß
Oliver
wie siehst Du denn den Unterschied zwischen Dateianhang und Link? In einem zweiten Thread schreibst Du ja, dass Du jetzt einen Link auf Eure Dropbox gelegt habt.
Besten Gruß
Oliver
Re: Anhänge zum Profil
Hallo Oliver
Danke für deine Antwort.
Zur Erklärung:
[*]Dateianhänge liegt auf dem Server wo ich Admidio installiert habe.
[*]Link liegt irgendwo (eben z.b. auf der Drobbox)
Das Ziel wäre das wir unsere Dropbox nicht mehr brauchen müssen sondern alles auf dem eigenen Server liegt.
Mir kommt noch der Gedanke das ev. auch eine Verlinkung zum Admino eigenen Download-Modul ne Möglichkeit wäre...
Ich habe eine Datei wie folgt im Download hochgeladen:
http://www.XXXXX.ch/meinadmidio/adm_pro ... ile_id=1xx
Nun möchte ich diesen (wegen eines anstehenden Server- und Verzeichnisumzug) auf:
./adm_program/modules/downloads/get_file.php?file_id=1xx
ändern. Leider schreibt dann Admidio den Link um auf:
./adm_program/modules/downloads/get_file.php?file_id=13
http://./adm_program/modules/downloads/get_file.php?file_id=xx
Das http:// macht alles zunichte, ansonsten wäre dies die optimale Möglichkeit...
Kann ich das Profilfeld URL irgendwo umdefinieren das es kein http mehr voranstellt? Wenn ja wäre das die perfekte Lösung
Gruss
Harry
Danke für deine Antwort.
Zur Erklärung:
[*]Dateianhänge liegt auf dem Server wo ich Admidio installiert habe.
[*]Link liegt irgendwo (eben z.b. auf der Drobbox)
Das Ziel wäre das wir unsere Dropbox nicht mehr brauchen müssen sondern alles auf dem eigenen Server liegt.
Mir kommt noch der Gedanke das ev. auch eine Verlinkung zum Admino eigenen Download-Modul ne Möglichkeit wäre...
Ich habe eine Datei wie folgt im Download hochgeladen:
http://www.XXXXX.ch/meinadmidio/adm_pro ... ile_id=1xx
Nun möchte ich diesen (wegen eines anstehenden Server- und Verzeichnisumzug) auf:
./adm_program/modules/downloads/get_file.php?file_id=1xx
ändern. Leider schreibt dann Admidio den Link um auf:
./adm_program/modules/downloads/get_file.php?file_id=13
http://./adm_program/modules/downloads/get_file.php?file_id=xx
Das http:// macht alles zunichte, ansonsten wäre dies die optimale Möglichkeit...
Kann ich das Profilfeld URL irgendwo umdefinieren das es kein http mehr voranstellt? Wenn ja wäre das die perfekte Lösung
Gruss
Harry
Re: Anhänge zum Profil
Da gibt's was, 100%ig habe ich hier mal im Forum genau die Lösung gelesen, weiß aber nicht mehr, wo! Such' mal, das lohnt sich!
Besten Gruß
Oliver
Besten Gruß
Oliver
Re: Anhänge zum Profil
So, habe gefühlt 10000 Tread's (sicher waren es 200) nachgelesen... Leider finde ich überhaupt nichts.
Hat ev. jemand ein Tipp woher das unglückliche http:// kommt?
Gruss
Harry
Hat ev. jemand ein Tipp woher das unglückliche http:// kommt?
Gruss
Harry
-
- Beiträge: 247
- Registriert: 4. Sep 2012, 23:40
Re: Anhänge zum Profil
Hallo Harry,
zu deiner Frage woher das http: kommt, siehe folgenden Thread von fasse:http://www.admidio.org/forum/viewtopic. ... ttp#p21460
LG Hans
zu deiner Frage woher das http: kommt, siehe folgenden Thread von fasse:http://www.admidio.org/forum/viewtopic. ... ttp#p21460
LG Hans
Re: Anhänge zum Profil
Relative Pfade erlauben wir aus Sicherheitsgründen nicht. Die absolute URL willst du nicht nehmen, weil die sich demnächst bei euch ändert?hasi63 hat geschrieben:Nun möchte ich diesen (wegen eines anstehenden Server- und Verzeichnisumzug) auf:
./adm_program/modules/downloads/get_file.php?file_id=1xx
ändern. Leider schreibt dann Admidio den Link um auf:
./adm_program/modules/downloads/get_file.php?file_id=13
http://./adm_program/modules/downloads/get_file.php?file_id=xx
Das http:// macht alles zunichte, ansonsten wäre dies die optimale Möglichkeit...
Viele Grüße
Fasse
Re: Anhänge zum Profil
Hi Fasse
danke für die Antwort.
Wenn also jetzt der absolute Pfad so aussieht:
http://www.xx.ch/Test/Admidio3/adm_prog ... file_id=XX
dann sieht es später so aus:
http://www.yy.ch/admidio/adm_program/mo ... file_id=XX
Da ich aber die DB bereits so befüllen möchte um alles in Live zu Testen (wir werden ca. 1 Monat auf der alten DB und zugleich auf der neuen Arbeiten), wäre dies nach dem Umzug etwas aufwändig überall (es wird ca. 600 URL Einträge geben) nachzutragen...
Kann ich das jetzt bereits so machen das ich irgendwie flexibel bin ?
Gruss
Harry
danke für die Antwort.
Aha.... Jetzt ist es mir sofort klar warum es nicht gehtRelative Pfade erlauben wir aus Sicherheitsgründen nicht.
Genau. Dabei ist das Problem das sich sowohl der Werbseitenname (http://www.xx.ch wird zu http://www.yyy.ch) wie auch das Verzeichnis ändern wird (/Verzeichnis1/Verzeichnis2/ wird zu /Verzeichnis/).Die absolute URL willst du nicht nehmen, weil die sich demnächst bei euch ändert?
Wenn also jetzt der absolute Pfad so aussieht:
http://www.xx.ch/Test/Admidio3/adm_prog ... file_id=XX
dann sieht es später so aus:
http://www.yy.ch/admidio/adm_program/mo ... file_id=XX
Da ich aber die DB bereits so befüllen möchte um alles in Live zu Testen (wir werden ca. 1 Monat auf der alten DB und zugleich auf der neuen Arbeiten), wäre dies nach dem Umzug etwas aufwändig überall (es wird ca. 600 URL Einträge geben) nachzutragen...
Kann ich das jetzt bereits so machen das ich irgendwie flexibel bin ?
Gruss
Harry
Re: Anhänge zum Profil
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:
Hier greifen wir auf das Objekt $gCurrentOrganization zu, das muss in der Funktion getHtmlValue() noch globalisiert werden (Zeile 99 erweitern):
ersetzen durch
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
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);
}
Code: Alles auswählen
global $gPreferences, $g_root_path, $gL10n;
Code: Alles auswählen
global $gPreferences, $g_root_path, $gL10n, $gCurrentOrganization;
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
Re: Anhänge zum Profil
Wow Oliver
jetzt bin ich platt.
Was treibst du denn für einen Aufwand um mich, "armen" Schweizer, zufrieden zu stellen
Ich werde den Code gerne mal ausprobieren (bin aber gerade sehr im Stress...). Gebe dann gerne Rückmeldung sobald ich näheres weiss...
Gruss und vielen dank für den SUPER Support (gilt natürlich auch an für dich UND fasse )
Harry
jetzt bin ich platt.
Was treibst du denn für einen Aufwand um mich, "armen" Schweizer, zufrieden zu stellen
Ich werde den Code gerne mal ausprobieren (bin aber gerade sehr im Stress...). Gebe dann gerne Rückmeldung sobald ich näheres weiss...
Gruss und vielen dank für den SUPER Support (gilt natürlich auch an für dich UND fasse )
Harry
Re: Anhänge zum Profil
hmm... Hi Oliver
Also, ich habe den Code mal so eingebaut (hoffe habe deinen Text komplett richtig verstanden...)
Datei: /admidio/adm_program/system/classes/profilefields.php
Ich habe nach den Zeilen:
Die Zeilen:
eingefügt. Dann habe ich die Zeile:
durch
ersetzt.
Danach noch das Optionsfeld mit dem Link erstellt und im Download den Ordner: Userdokumente und den Unterordner 1 erstellt (meine User iD)
Nun kann ich den Link anklicken, aber ich komme "nur" ins Download Verzeichnis (also nicht in Download/Userdokumente/1 sondern "nur" ins Verzeichnis Download/)
Folgender Link steht dann in der Adresszeile: /admidio/adm_program/modules/downloads/downloads.php?folder_id=
Ich sehe hier vor lauter Bäumen den Wald nicht (bin halt ein Codeanfänger...)
Siehst du den Fehler im Code?
Gruss
Harry
Also, ich habe den Code mal so eingebaut (hoffe habe deinen Text komplett richtig verstanden...)
Datei: /admidio/adm_program/system/classes/profilefields.php
Ich habe nach den Zeilen:
Code: Alles auswählen
// facebook has two different profile urls (id and facebook name),
// we could only store one way in database (facebook name) and the other (id) is defined here :)
$htmlValue = '<a href="http://www.facebook.com/profile.php?id='.$value.'" target="_blank">'.$htmlValue.'</a>';
}
else
{
$htmlValue = '<a href="'.$this->mProfileFields[$fieldNameIntern]->getValue('usf_url').'" target="_blank">'.$htmlValue.'</a>';
}
// replace a variable in url with user value
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);
}
Code: Alles auswählen
global $gPreferences, $g_root_path, $gL10n;
Code: Alles auswählen
global $gPreferences, $g_root_path, $gL10n, $gCurrentOrganization;
Danach noch das Optionsfeld mit dem Link erstellt und im Download den Ordner: Userdokumente und den Unterordner 1 erstellt (meine User iD)
Nun kann ich den Link anklicken, aber ich komme "nur" ins Download Verzeichnis (also nicht in Download/Userdokumente/1 sondern "nur" ins Verzeichnis Download/)
Folgender Link steht dann in der Adresszeile: /admidio/adm_program/modules/downloads/downloads.php?folder_id=
Ich sehe hier vor lauter Bäumen den Wald nicht (bin halt ein Codeanfänger...)
Siehst du den Fehler im Code?
Gruss
Harry
Re: Anhänge zum Profil
Hallo Harry,
Stell mal Dein Licht nicht unter den Scheffel, Du scheinst erstmal soweit alles richtig gemacht zu haben!
In dem Link wird "%u_folder%" einfach gelöscht anstatt gegen die Folder_ID ersetzt. Positiv daran:
1. Der Ersetzungs-Code wird anscheinend ausgeführt.
2. Es tritt kein Fehler auf
Aber: Der Datenbank-Eintrag wird offensichtlich nicht gefunden. Hast Du Zugriff auf die Datenbank? Gibt es in der Tabelle (wahrscheinlich heißt sie adm_folders) den gesuchten Eintrag? Also einen Datensatz mit den Feldinhalten fol_name = '1' und fol_type='DOWNLOAD' und fol_path='/adm_my_files/download/Userdokumente' (Bitte auf Groß- und Kleinschreibung achten!) ?
Besten Gruß
Oliver
Stell mal Dein Licht nicht unter den Scheffel, Du scheinst erstmal soweit alles richtig gemacht zu haben!
In dem Link wird "%u_folder%" einfach gelöscht anstatt gegen die Folder_ID ersetzt. Positiv daran:
1. Der Ersetzungs-Code wird anscheinend ausgeführt.
2. Es tritt kein Fehler auf
Aber: Der Datenbank-Eintrag wird offensichtlich nicht gefunden. Hast Du Zugriff auf die Datenbank? Gibt es in der Tabelle (wahrscheinlich heißt sie adm_folders) den gesuchten Eintrag? Also einen Datensatz mit den Feldinhalten fol_name = '1' und fol_type='DOWNLOAD' und fol_path='/adm_my_files/download/Userdokumente' (Bitte auf Groß- und Kleinschreibung achten!) ?
Besten Gruß
Oliver
Re: Anhänge zum Profil
Hallo Harry,
noch mal 'ne doofe Frage: Du hast bei der Userverwaltung Dich selbst zum Bearbeiten aufgerufen und nicht irgendjemanden. Oder?
Besten Gruß
Oliver
noch mal 'ne doofe Frage: Du hast bei der Userverwaltung Dich selbst zum Bearbeiten aufgerufen und nicht irgendjemanden. Oder?
Besten Gruß
Oliver
Re: Anhänge zum Profil
Ja klar.... Ich selbst bin auch Mitglied und zum "bearbeiten"
Es geht aber auch nicht mit einem anderen User...
Gruss
Harry
Es geht aber auch nicht mit einem anderen User...
Gruss
Harry
Re: Anhänge zum Profil
Hallo Harry,
wie sieht das mit den Datensätzen aus (siehe vorhergehenden Beitrag)?
Besten Gruß
Oliver
wie sieht das mit den Datensätzen aus (siehe vorhergehenden Beitrag)?
Besten Gruß
Oliver