Author Topic: Neue Userfields in Emails einbinden  (Read 7134 times)

0 Members and 1 Guest are viewing this topic.

Offline ing-michel

  • Newbie
  • *
  • Posts: 33
    • View Profile
Neue Userfields in Emails einbinden
« on: January 03, 2008, 04:16:55 PM »
Hallo!

Ich habe für die User-Datenbank eigene Userfields erstellt. Nun möchte ich diese auch für das Versenden der Mails nutzen (hier das Feld "Vorname"). Nur dann passiert das:

"
Hallo {vorname} alias kkkk,

vielen Dank für Deine Registrierung auf meiner ...

"

Muß ich die Daten noch irgendwo für das Versenden von Mails übergeben???
Gruß
Michel

Offline thunderstrike

  • 4images Guru
  • *******
  • Posts: 2.327
    • View Profile
Re: Neue Userfields in Emails einbinden
« Reply #1 on: January 03, 2008, 04:32:23 PM »
In register.php file,

find:

Code: [Select]
$sql = "INSERT INTO ".USERS_TABLE."
            (".get_user_table_field("", "user_id").get_user_table_field(", ", "user_level").get_user_table_field(", ", "user_name").get_user_table_field(", ", "user_password").get_user_table_field(", ", "user_email").get_user_table_field(", ", "user_showemail").get_user_table_field(", ", "user_allowemails").get_user_table_field(", ", "user_invisible").get_user_table_field(", ", "user_joindate").get_user_table_field(", ", "user_activationkey").get_user_table_field(", ", "user_lastaction").get_user_table_field(", ", "user_lastvisit").get_user_table_field(", ", "user_comments").get_user_table_field(", ", "user_homepage").get_user_table_field(", ", "user_icq").$additional_field_sql.")
            VALUES
            ($user_id, $user_level, '$user_name', '".md5($user_password)."', '$user_email', $user_showemail, $user_allowemails, $user_invisible, $current_time, '$activationkey', $current_time, $current_time, 0, '$user_homepage', '$user_icq'".$additional_value_sql.")";
    $result = $site_db->query($sql);

add after:

Code: [Select]
$new_user_id = $site_db->get_insert_id();

find:

Code: [Select]
$site_email->register_vars(array(
        "activation_url" => $activation_url,
        "user_name" => $user_name,
        "user_password" => $user_password,
        "site_name" => $config['site_name']
      ));

add after:

Code: [Select]
if ($register_row = get_user_info($new_user_id)) {
          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($register_row[$key]) && !empty($register_row[$key])) ? format_text($register_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_email->register_vars($additional_field_array);
              }
              unset ($additional_field_array);
          }
      }

find:

Code: [Select]
$site_email->register_vars("user_details_url", $user_details_url);

add after:

Code: [Select]
if (isset($register_row) && !empty($register_row)) {
            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($register_row[$key]) && !empty($register_row[$key])) ? format_text($register_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_email->register_vars($additional_field_array);
                }
                unset ($additional_field_array);
            }
        }

find:

Code: [Select]
$site_email->register_vars(array(
          "user_name" => $row[$user_table_fields['user_name']],
          "site_name" => $config['site_name']
        ));

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($row[$key]) && !empty($row[$key])) ? format_text($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_email->register_vars($additional_field_array);
          }
          unset ($additional_field_array);
      }

Now, you use: {first_name} (note: same field name you create in phpmyadmin) so if create: user_firstname - you use: {user_firstname}). ;)
« Last Edit: January 03, 2008, 08:08:02 PM by thunderstrike »
8 steps need when ask question -

- PHP version (ACP - > phpinfo())
- mySQL version (ACP - > phpinfo())
- 4images version
- Post screenshot / URL
- Post code in BB Code (no need full file for code) or post attach file
- It doesn't work. What is say - what is do for no work
- Install MOD ? If so - please say (troubleshooting)
- Read FAQ ? Install Bug fixes ?

Offline ing-michel

  • Newbie
  • *
  • Posts: 33
    • View Profile
Re: Neue Userfields in Emails einbinden
« Reply #2 on: January 03, 2008, 05:07:05 PM »
Vielen Dank schonmal, leider erhalte ich dabei folgende Fehlermeldungen:

"
Warning: Invalid argument supplied for foreach() in /mnt/web5/31/31/51312531/htdocs/4home/register.php on line 180

Warning: Invalid argument supplied for foreach() in /mnt/web5/31/31/51312531/htdocs/4home/register.php on line 219

"

Offline thunderstrike

  • 4images Guru
  • *******
  • Posts: 2.327
    • View Profile
Re: Neue Userfields in Emails einbinden
« Reply #3 on: January 03, 2008, 05:27:31 PM »
Ok - post fix. ;)
8 steps need when ask question -

- PHP version (ACP - > phpinfo())
- mySQL version (ACP - > phpinfo())
- 4images version
- Post screenshot / URL
- Post code in BB Code (no need full file for code) or post attach file
- It doesn't work. What is say - what is do for no work
- Install MOD ? If so - please say (troubleshooting)
- Read FAQ ? Install Bug fixes ?

Offline ing-michel

  • Newbie
  • *
  • Posts: 33
    • View Profile
Re: Neue Userfields in Emails einbinden
« Reply #4 on: January 03, 2008, 05:42:54 PM »
???

Offline thunderstrike

  • 4images Guru
  • *******
  • Posts: 2.327
    • View Profile
Re: Neue Userfields in Emails einbinden
« Reply #5 on: January 03, 2008, 05:47:09 PM »
Again, I say I fix post ... sorry for error message ...
8 steps need when ask question -

- PHP version (ACP - > phpinfo())
- mySQL version (ACP - > phpinfo())
- 4images version
- Post screenshot / URL
- Post code in BB Code (no need full file for code) or post attach file
- It doesn't work. What is say - what is do for no work
- Install MOD ? If so - please say (troubleshooting)
- Read FAQ ? Install Bug fixes ?

Offline ing-michel

  • Newbie
  • *
  • Posts: 33
    • View Profile
Re: Neue Userfields in Emails einbinden
« Reply #6 on: January 03, 2008, 05:49:52 PM »
Ahhh! :idea:
Okay, Thanx!!!

Offline thunderstrike

  • 4images Guru
  • *******
  • Posts: 2.327
    • View Profile
Re: Neue Userfields in Emails einbinden
« Reply #7 on: January 03, 2008, 06:43:43 PM »
I find error on last post. Now, is full fix. ;)
8 steps need when ask question -

- PHP version (ACP - > phpinfo())
- mySQL version (ACP - > phpinfo())
- 4images version
- Post screenshot / URL
- Post code in BB Code (no need full file for code) or post attach file
- It doesn't work. What is say - what is do for no work
- Install MOD ? If so - please say (troubleshooting)
- Read FAQ ? Install Bug fixes ?

Offline ing-michel

  • Newbie
  • *
  • Posts: 33
    • View Profile
Re: Neue Userfields in Emails einbinden
« Reply #8 on: January 03, 2008, 08:06:43 PM »
It works!
Thank U!

Offline thunderstrike

  • 4images Guru
  • *******
  • Posts: 2.327
    • View Profile
Re: Neue Userfields in Emails einbinden
« Reply #9 on: January 03, 2008, 08:08:51 PM »
Do last find and add after block - I fix small error. Now is fix. ;)
8 steps need when ask question -

- PHP version (ACP - > phpinfo())
- mySQL version (ACP - > phpinfo())
- 4images version
- Post screenshot / URL
- Post code in BB Code (no need full file for code) or post attach file
- It doesn't work. What is say - what is do for no work
- Install MOD ? If so - please say (troubleshooting)
- Read FAQ ? Install Bug fixes ?