4images Forum & Community

4images Modifications / Modifikationen => Mods & Plugins (Releases & Support) => Topic started by: thunderstrike on November 05, 2007, 02:37:50 AM

Title: [Mod] - additional user fields in details
Post by: thunderstrike on November 05, 2007, 02:37:50 AM
Ok, in english - is how -

// Step 1

In details.php file,

find:

Quote
$additional_sql = "";
if (!empty($additional_image_fields)) {
  foreach ($additional_image_fields as $key => $val) {
    $additional_sql .= ", i.".$key;
  }
}

add after:

Code: [Select]
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:

Quote
$additional_image_fields,

add after (same line) :

Code: [Select]
$additional_user_fields,

find:

Quote
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:

Code: [Select]
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).
Title: Re: [Mod] - additional user fields in details
Post by: Art By Vicky on November 05, 2007, 03:40:32 AM
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!
Title: Re: [Mod] - additional user fields in details
Post by: thunderstrike on January 15, 2008, 02:26:58 PM
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 . ;)
Title: Re: [Mod] - additional user fields in details
Post by: tonyf on June 20, 2008, 01:03:47 AM

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.
Title: Re: [Mod] - additional user fields in details
Post by: gudservo on January 17, 2011, 04:52:44 PM


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
Title: Re: [Mod] - additional user fields in details
Post by: senloel on September 28, 2013, 02:56:28 PM
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
Title: Re: [Mod] - additional user fields in details
Post by: Rembrandt on September 28, 2013, 04:31:32 PM
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;
   }
}
Title: Re: [Mod] - additional user fields in details
Post by: senloel on September 29, 2013, 11:33:50 AM
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?
Title: Re: [Mod] - additional user fields in details
Post by: Rembrandt on September 29, 2013, 03:49:07 PM
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
Title: Re: [Mod] - additional user fields in details
Post by: senloel on September 29, 2013, 04:17:13 PM
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




Title: Re: [Mod] - additional user fields in details
Post by: Rembrandt on September 29, 2013, 04:41:57 PM
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 :)
Title: Re: [Mod] - additional user fields in details
Post by: senloel on September 29, 2013, 05:00:20 PM
das was du da gepostet hast ist in action = uploadimage  nicht uploadform.

Stimmt, hast recht, ist = upoladimage . Aber bei = uploadform klappts auch nicht.

Quote
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"?
Title: Re: [Mod] - additional user fields in details
Post by: senloel on October 02, 2013, 07:26:54 PM
das was du da gepostet hast ist in action = uploadimage  nicht uploadform.

Stimmt, hast recht, ist = upoladimage . Aber bei = uploadform klappts auch nicht.

Quote
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.
Title: Re: [Mod] - additional user fields in details
Post by: Rembrandt on October 02, 2013, 07:37:06 PM
...
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?
Title: Re: [Mod] - additional user fields in details
Post by: senloel on October 02, 2013, 07:47:29 PM
...
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
Title: Re: [Mod] - additional user fields in details
Post by: Rembrandt on October 02, 2013, 08:18:28 PM
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
Title: Re: [Mod] - additional user fields in details
Post by: senloel on October 02, 2013, 08:29:59 PM
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 ;)
Title: Re: [Mod] - additional user fields in details
Post by: Rembrandt on October 03, 2013, 07:31:43 AM
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
Title: Re: [Mod] - additional user fields in details
Post by: senloel on October 03, 2013, 12:05:35 PM
Perfekt, klappt ;)

Danke!