[Solved]: Where are notification e-mails bodies located? [Solved]: Where are notification e-mails bodies located?
 

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Main Menu

[Solved]: Where are notification e-mails bodies located?

Started by flyegye, March 23, 2010, 03:20:50 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

flyegye

Hi, I'm trying to change the content of the e-mail messages that Coppermine sends out but I can't seem to find. Does anyone know where it's located?

Thanks

Joachim Müller

Depends on the type of email you mean: the ecard has a template of it's own as well as the report mail. Some emails get sent without without a template - you can however edit the design by editing the corresponding section in the language file. Do as suggested per board rules for a start and post a link to your gallery. Additionally, specify what email message exactly you want to see changed in which way.

flyegye

Thanks for responding.

I was hoping to modify the look of the e-mail notification that is sent when a user is created. The e-mail tells them the login info.

I also would like to modify the look and feel of the e-card e-mail also.

I just can't seem to find those e-mail templates.

Thanks

Oh, here's the link to my gallery:
http://proofing.usedbatteriesphotography.com/

Joachim Müller

OK, I understand now what you want to accomplish. I could come up with simple instructions, but I decided to explain how to find such things, not only for your benefit, but for the benefit of others with similar issues as well.
Here's what you do: you first search the language file for the string that is used in your template, i.e. you open lang/english.php with a plain text editor (notepad.exe is fine) and find the string. In your case (for the email that is sent to new users) that's $lang_register_php['confirm_email'] = <<< EOT

Thank you for registering at {SITE_NAME}



In order to activate your account with username "{USER_NAME}", you need to click on the link below or copy and paste it in your web browser.

<a href="{ACT_LINK}">{ACT_LINK}</a>



Regards,



The management of {SITE_NAME}



EOT;
The entire language file consists of variables that are assigned a value (text strings). Usually, this happens like this:$variable_name = 'Content of the variable';, but for strings that last over several lines (which is the case here), the so-called heredoc syntax is being used. This being said, this is the first place where you can change that string as far as the text is concerned. Leave the placeholders intact (the stuff in curly braces), they will be replaced with the actual content when the script is run.
The next stage is to take a look where in the code the variable ($lang_register_php['confirm_email'] in our case) is being used, so we perform a search on operating system level over the code files of your local copy of Coppermine. The search should only return one result: the file register.php. This means that there is no template that you could modify, but only the core Coppermine file that you could edit, but you will have to re-apply that hack each time you update your gallery. If you decide that this is fine, open the file with your plain text editor and find where the variable is being used: that's the line            if (!cpg_mail($email, sprintf($lang_register_php['confirm_email_subject'], $CONFIG['gallery_name']), nl2br(strtr($lang_register_php['confirm_email'], $template_vars)))) {in your case, which can not be changed easily (if you know your way around you could change that section to send both an HTML-mail as well as a plain text mail, but that's a rather painfull job), so let's get back to our language file (lang/english.php) and edit that. Keep in mind that you will have to re-apply that edit whenever you upgrade your gallery, so you better take a note of what you do. As the string is later being sent through the function nl2br (which converts line breaks to the HTML tag <br />, you mustn't use that tag. In fact there are a lot of other things that you should not do (that include the usage of images inside emails). Most important of all things: after saving your changes, test them throughly on various platforms: open the emails generated both in web browser driven webmail clients as well as the major email clients Outlook, Outlook Express, Microsoft Mail, Thunderbird etc.

Now, let's go on: you want to change the look of your ecards as well, so you search your language file for that as well: edit lang/english.php with your plain text editor and find View more pictures!. You will find the line$lang_ecard_php['view_more_pics'] = 'View more pictures!';. Take a look at the file ecard.php that the comment at the top of the definition refers to and you'll find a line in that file that reads        '{VIEW_MORE_LNK}'  => $lang_ecard_php['view_more_pics'],and doesn't mean much for a newbie, but right beneath it you will find that in the code there is a reference to a template: the line    $eccontent = template_eval($template_ecard, $params);is the hint that we needed.
Now the rest is dead easy: edit themes/yourtheme/theme.php with your plain text editor and find $template_ecard. If that variable definition resides in your custom theme, edit it as suggested below. But the chances are high that you won't find that in your custom theme, so you have to edit themes/sample/theme.php, find the string we're searching for and copy the entire section/******************************************************************************
** Section <<<$template_ecard>>> - START
******************************************************************************/
// HTML template for e-cards
$template_ecard = <<<EOT
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="{LANG_DIR}">
<head>
<meta http-equiv="content-type" content="text/html; charset={CHARSET}" />
<title>{TITLE}</title>
</head>
<body bgcolor="#FFFFFF" text="#0F5475" link="#0F5475" vlink="#0F5475" alink="#0F5475">
<br />
<p align="center"><a href="{VIEW_ECARD_TGT}">{VIEW_ECARD_LNK}</a></p>
<table border="0" cellspacing="0" cellpadding="1" align="center">
  <tr>
    <td bgcolor="#000000">
      <table border="0" cellspacing="0" cellpadding="10" bgcolor="#ffffff">
        <tr>
          <td valign="top">
           <a href="{VIEW_MORE_TGT}displayimage.php?pid={PID}">{PIC_MARKUP}</a>
                                         <br />
                                         <div align="center">
                                                 <h2>{PIC_TITLE}</h2>
                                         </div>

          </td>
          <td valign="top" width="300">
            <div align="right"><img src="{URL_PREFIX}images/stamp.gif" border="0" alt="" /></div>
            <br />
            <span style="font-family:Arial,Verdana,Helvetica,sans-serif;color:#000000;font-size:2.0em;font-weight:bold;">{GREETINGS}</span>
            <br />
            <br />
            <span style="font-family:Arial,Verdana,Helvetica,sans-serif;color:#000000;font-size:1.6em;font-weight:bold;">{MESSAGE}</span>
            <br />
            <br />
            <span style="font-family:Arial,Verdana,Helvetica,sans-serif;color:#000000;font-size:1.6em;font-weight:bold;">{SENDER_NAME}</span>
            (<a href="mailto:{SENDER_EMAIL}"><span style="font-family:Arial,Verdana,Helvetica,sans-serif;color:#000000;font-weight:bold;">{SENDER_EMAIL}</span></a>)
          </td>
        </tr>
                <tr>
                        <td colspan="2">
                                {PIC_CAPTION}
                        </td>
                </tr>
      </table>
    </td>
  </tr>
</table>
<p align="center"><a href="{VIEW_MORE_TGT}">{VIEW_MORE_LNK}</a></p>
</body>
</html>
EOT;
/******************************************************************************
** Section <<<$template_ecard>>> - END
******************************************************************************/
from themes/sample/theme.php into a new line before?>of the file themes/yourtheme/theme.php
Finally, edit that section as you see fit. Again, don't mess with the placeholders in curly braces.

You'll notice that we have spend a lot of time and effort into the creation of the documentation for cpg1.5.x, which contains a lot more of information how to edit Coppermine's theme to match your taste, so you might want to read http://documentation.coppermine-gallery.net/en/theme_create.htm#theme_create  ff.

flyegye

Thank you!!! Exactly what I was looking for. Very thorough and easy to follow directions.

Thanks for taking the time to help! I really appreciate it.

Tommy