4images Forum & Community
4images Modifications / Modifikationen => Mods & Plugins (Releases & Support) => Topic started by: thunderstrike on November 05, 2007, 02:37:50 AM
-
Ok, in english - is how -
// Step 1
In details.php file,
find:
$additional_sql = "";
if (!empty($additional_image_fields)) {
foreach ($additional_image_fields as $key => $val) {
$additional_sql .= ", i.".$key;
}
}
add after:
if (isset($additional_user_fields) && is_array($additional_user_fields) && !empty($additional_user_fields)) {
foreach ($additional_user_fields as $key => $val) {
$additional_sql .= ", u." . $key;
}
}
// Step 2
In includes/functions.php file,
find:
$additional_image_fields,
add after (same line) :
$additional_user_fields,
find:
if (!empty($additional_image_fields)) {
$additional_field_array = array();
foreach ($additional_image_fields as $key => $val) {
$additional_field_array[$key] = (!empty($image_row[$key])) ? format_text($image_row[$key], 1) : REPLACE_EMPTY;
$additional_field_array['lang_'.$key] = $val[0];
}
if (!empty($additional_field_array)) {
$site_template->register_vars($additional_field_array);
}
}
add after:
if (isset($additional_user_fields) && is_array($additional_user_fields) && !empty($additional_user_fields)) {
$additional_field_array = array();
foreach ($additional_user_fields as $key => $val) {
$additional_field_array[$key] = (isset($image_row[$key]) && !empty($image_row[$key])) ? format_text(trim($image_row[$key]), 1) : REPLACE_EMPTY;
$additional_field_array['lang_'.$key] = $val[0];
}
if (isset($additional_field_array) && is_array($additional_field_array) && !empty($additional_field_array)) {
$site_template->register_vars($additional_field_array);
}
}
Now - you set additional user fields for details page (lang tag include).
-
thunderstrike, you are a saint! This worked perfectly. I knew I had to do something like this, but I didn't know the exact language and didn't realize I'd also have to do something in the includes/functions.php file too, but that makes sense. It works exactly how I needed it to!
Thanks so much for your help... and extremely quick reply too!
-
I fix first post for includes/functions.php file. Old function is check for $user_info . Is no right . First user is post this but show_image function is check for: $image_row . ;)
-
Now - you set additional user fields for details page (lang tag include).
Where do I set additonal user fields? Sorry, I could not get it.
-
Now - you set additional user fields for details page (lang tag include).
Waht details page and where it shows nothing in admin panel same old boring panel :mrgreen: nothing new from where shud i add extra fields
-
Hey,
I've installed this MOD: http://www.4homepages.de/forum/index.php?topic=19297.0 (http://www.4homepages.de/forum/index.php?topic=19297.0) few hours ago and it works perfect.
But where do I have to edit something to show the additional user fields also in the thumbnail templates (thumbnail_bit.html etc. )?
Thanks for your help and Regards,
Patrick
-
Test, suche in der categories.php:
$additional_sql = "";
if (!empty($additional_image_fields)) {
foreach ($additional_image_fields as $key => $val) {
$additional_sql .= ", i.".$key;
}
}
füge darunter ein:
if (isset($additional_user_fields) && is_array($additional_user_fields) && !empty($additional_user_fields)) {
foreach ($additional_user_fields as $key => $val) {
$additional_sql .= ", u." . $key;
}
}
-
Klappt ;)
Vielen Dank!
EDIT: Komisch, in der Uploadform werden die additional user fields nicht angezeigt, obwohl sie im Profil eines Users angezeigt werden und das alles ja in der gleichen Datei (members.php) liegt.
Muss man da evtl. im Abschnitt
if ($action == "uploadform") {
noch was einfügen, damit die additional user fields angezeigt werden?
EDIT 2: In ganz vielen Teilen werden die additional user fields nicht angezeigt, z.B. beim Random Image. Das sieht nach größerem Aufwand aus, oder?
-
Am besten ist es wenn du meinen vorigen Bspl. folgst und in allen relevanten Daten nach :
$additional_sql = "";
if (!empty($additional_image_fields)) {
foreach ($additional_image_fields as $key => $val) {
$additional_sql .= ", i.".$key;
}
}
suchst, und die obigen Änderung vornimmst.
mfg Andi
-
Das Problem ist, dass z.B. beim Random Image kein
$additional_sql = "";
if (!empty($additional_image_fields)) {
foreach ($additional_image_fields as $key => $val) {
$additional_sql .= ", i.".$key;
}
}
steht, sondern nur eine SQL-Abfrage.
Wie fügt man da dann die additional image fields ein?
In der member.php im Bereich
if ($action == "uploadform") {
steht:
if (!empty($additional_image_fields)) {
foreach ($additional_image_fields as $key => $val) {
if (isset($HTTP_POST_VARS[$key]) && intval($val[2]) == 1 && trim($HTTP_POST_VARS[$key]) == "") {
$error = 1;
$field_error = preg_replace("/".$site_template->start."field_name".$site_template->end."/siU", str_replace(":", "", $val[0]), $lang['field_required']);
$msg .= (($msg != "") ? "<br >" : "").$field_error;
}
}
}
Füge ich darunter das hier ein
if (isset($additional_user_fields) && is_array($additional_user_fields) && !empty($additional_user_fields)) {
foreach ($additional_user_fields as $key => $val) {
$additional_sql .= ", u." . $key;
}
}
klappts leider nicht.
Könntest du mir da nochmal helfen?
Danke und Grüße,
Patrick
-
das was du da gepostet hast ist in action = uploadimage nicht uploadform.
Abgesehen davon betrifft deine gewünschte Änderung wieder einmal die halbe Galerie. so wie der Mod Archiv :)
-
das was du da gepostet hast ist in action = uploadimage nicht uploadform.
Stimmt, hast recht, ist = upoladimage . Aber bei = uploadform klappts auch nicht.
Abgesehen davon betrifft deine gewünschte Änderung wieder einmal die halbe Galerie. so wie der Mod Archiv :)
Ich habe mir da schon eine Lösung überlegt, damit man nicht alles in der Galerie ändern muss.
Das neue User-Field wird beim Hochladen in einem input-Feld mittels value="" übergeben, also als additional image field in die DB gespeichert. Dieses hat folglich den selben Inhalt wie das additional user field.
Dann kann ich nämlich überall das eigentliche additional user field einfacher ausgeben lassen, ohne alles ändern zu müssen.
Letztendlich klappt also alles, wenn in der uploadform nun das additional user field angezeigt wird.
Deshalb wäre es super, wenn das funktioniert ;)
Was meinst du mit "Mod Archiv"?
-
das was du da gepostet hast ist in action = uploadimage nicht uploadform.
Stimmt, hast recht, ist = upoladimage . Aber bei = uploadform klappts auch nicht.
Abgesehen davon betrifft deine gewünschte Änderung wieder einmal die halbe Galerie. so wie der Mod Archiv :)
Ich habe mir da schon eine Lösung überlegt, damit man nicht alles in der Galerie ändern muss.
Das neue User-Field wird beim Hochladen in einem input-Feld mittels value="" übergeben, also als additional image field in die DB gespeichert. Dieses hat folglich den selben Inhalt wie das additional user field.
Dann kann ich nämlich überall das eigentliche additional user field einfacher ausgeben lassen, ohne alles ändern zu müssen.
Letztendlich klappt also alles, wenn in der uploadform nun das additional user field angezeigt wird.
Deshalb wäre es super, wenn das funktioniert ;)
Was meinst du mit "Mod Archiv"?
Hab da nochmal bissle nachgedacht.
Hättest du noch eine Idee wie man das Problem lösen kann?
Nur ein additional image field ist ungeschickt, da der User dann ja jedes Mal beim Upload seinen Namen eingeben muss.
-
...
Nur ein additional image field ist ungeschickt, da der User dann ja jedes Mal beim Upload seinen Namen eingeben muss.
ich kenn mich nicht mehr aus, jetzt schreibst wieder von "additional image field" dann wieder "additional user field".
Beim upload muß der User seinen Namen nicht eingeben.
Was willst den eigentlich machen?
-
...
Nur ein additional image field ist ungeschickt, da der User dann ja jedes Mal beim Upload seinen Namen eingeben muss.
ich kenn mich nicht mehr aus, jetzt schreibst wieder von "additional image field" dann wieder "additional user field".
Beim upload muß der User seinen Namen nicht eingeben.
Was willst den eigentlich machen?
Aso, ok, hab ich "Chaos" verursacht ;)
Normalerweise wird ja der Username beim Bild angezeigt, was aber etwas "unglücklich" ist, wenn jemand z.B. "Apfel123" heißt.
Die Alternative wäre, dass sich jemand mit seinem richtigen Namen als Usernamen einloggt, was bei langen Namen aber auch keine Alternative ist.
Nun habe ich ein additional user field erstellt, dass den richtigen Namen beinhaltet. Dieses soll nun auch anstelle des Usernamens bei den Bildern angezeigt werden.
Dies ist ja aber nur mit größerem Aufwand möglich, da man überall die Dateien ändern muss.
Deshalb, neue Idee:
Das additional user field wird beim Upload in die DB als additional image field eingetragen, so kann man es ganz einfach bei jedem Bild ausgeben ohne groß etwas ändern zu müssen.
Es muss also in der Uploadform das additional user field angezeigt werden, damit der Wert übergeben werden kann.
Grüße,
Patrick
-
Also wenn du ein additionales User Feld angelegt hast zb. mit den Namen "user_alias" dann kann ja ein jeder User in seinen Kontrollzentrum dort in dem zugehörigen Feld seinen gewünschten Aliasnamen eintragen, so weit so gut.
suche in der functions.php:
$user_name = format_text($image_row[$user_table_fields['user_name']], 2);
und ersetze es mit:
$user_name = ($image_row['user_alias']) ? format_text($image_row['user_alias'], 2) : format_text($image_row[$user_table_fields['user_name']], 2);
suche in details.php:
$sql = "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords, i.image_date, i.image_active, i.image_media_file, i.image_thumb_file, i.image_download_url, i.image_allow_comments, i.image_comments, i.image_downloads, i.image_votes, i.image_rating, i.image_hits".$additional_sql.", c.cat_name".get_user_table_field(", u.", "user_name").get_user_table_field(", u.", "user_email")."
ersetze es mit:
$sql = "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords, i.image_date, i.image_active, i.image_media_file, i.image_thumb_file, i.image_download_url, i.image_allow_comments, i.image_comments, i.image_downloads, i.image_votes, i.image_rating, i.image_hits, u.user_alias".$additional_sql.", c.cat_name".get_user_table_field(", u.", "user_name").get_user_table_field(", u.", "user_email")."
suche in categories.php:
$sql = "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords, i.image_date, i.image_active, i.image_media_file, i.image_thumb_file, i.image_download_url, i.image_allow_comments, i.image_comments, i.image_downloads, i.image_votes, i.image_rating, i.image_hits".$additional_sql.", c.cat_name".get_user_table_field(", u.", "user_name")."
ersetze es mit:
$sql = "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords, i.image_date, i.image_active, i.image_media_file, i.image_thumb_file, i.image_download_url, i.image_allow_comments, i.image_comments, i.image_downloads, i.image_votes, i.image_rating, i.image_hits, u.user_alias".$additional_sql.", c.cat_name".get_user_table_field(", u.", "user_name")."
mfg Andi
-
Nop, funzt net.
Wär auch gut wenn man die User-Name Variable nicht überschreibt, sodass nicht überall das additional user field automatisch angezeigt wird.
Danke für deine Hilfe und kein Stress!
Das eilt alles nicht ;)
-
Nop, funzt net.
...
So, ich habe meinen vorigen Beitrag editiert.
Jetzt wird in der categories und details.html anstatt des Usernamen der Aliasnamen angezeigt, wenn einer vorhanden ist.
mfg Andi
-
Perfekt, klappt ;)
Danke!