diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/functions_mail.inc.php | 25 | ||||
-rw-r--r-- | include/functions_url.inc.php | 57 |
2 files changed, 75 insertions, 7 deletions
diff --git a/include/functions_mail.inc.php b/include/functions_mail.inc.php index ff75d86b6..9850f9c6c 100644 --- a/include/functions_mail.inc.php +++ b/include/functions_mail.inc.php @@ -121,7 +121,7 @@ function get_mail_template() */
function pwg_mail($to, $from = '', $subject = 'PhpWebGallery', $infos = '', $format_infos = 'text/plain', $email_format = null) { - global $conf, $conf_mail, $lang_info, $user; + global $conf, $conf_mail, $lang_info, $user, $page; $cvt7b_subject = str_translate_to_ascii7bits($subject); @@ -141,6 +141,12 @@ function pwg_mail($to, $from = '', $subject = 'PhpWebGallery', $infos = '', $for return false;
}
+ // Compute root_path in order have complete path + if ($email_format == 'text/html') + { + set_make_full_url();
+ } + $to = format_email('', $to); if ($from == '') @@ -179,9 +185,8 @@ function pwg_mail($to, $from = '', $subject = 'PhpWebGallery', $infos = '', $for $page['body_id'] : '',
'CONTENT_ENCODING' => $lang_info['charset'],
- 'LANG'=>$lang_info['code'],
- 'DIR'=>$lang_info['direction']
-
+ 'LANG' => $lang_info['code'],
+ 'DIR' => $lang_info['direction']
));
$conf_mail[$email_format][$lang_info['charset']]['header'] =
@@ -220,8 +225,8 @@ function pwg_mail($to, $from = '', $subject = 'PhpWebGallery', $infos = '', $for $page['gallery_title'] : $conf['gallery_title'],
'VERSION' => $conf['show_version'] ? PHPWG_VERSION : '',
- 'L_TITLE_MAIL' => urlencode(l10n('title_send_mail')),
- 'MAIL' => get_webmaster_mail_address()
+ 'TITLE_MAIL' => urlencode(l10n('title_send_mail')),
+ 'MAIL' => get_webmaster_mail_address() ));
$conf_mail[$email_format][$lang_info['charset']]['footer'] =
@@ -233,7 +238,13 @@ function pwg_mail($to, $from = '', $subject = 'PhpWebGallery', $infos = '', $for }
}
- $content.= $conf_mail[$email_format][$lang_info['charset']]['footer'];
+ $content.= $conf_mail[$email_format][$lang_info['charset']]['footer']; + + // Undo Compute root_path in order have complete path + if ($email_format == 'text/html') + {
+ unset_make_full_url(); + } if ($conf_mail['mail_options']) { diff --git a/include/functions_url.inc.php b/include/functions_url.inc.php index 0d2ea4a7e..2b561f3d4 100644 --- a/include/functions_url.inc.php +++ b/include/functions_url.inc.php @@ -396,4 +396,61 @@ function make_section_in_url($params) return $section_string; } + +/** + * Indicate to build url with full path + * + * @param null + * @return null + */ +function set_make_full_url() +{ + global $page; + + if (!isset($page['save_root_path'])) + { + if (isset($page['root_path'])) + { + $page['save_root_path']['path'] = $page['root_path']; + } + $page['save_root_path']['count'] = 1; + $page['root_path'] = 'http://'.$_SERVER['HTTP_HOST'].cookie_path(); + } + else + { + $page['save_root_path']['count'] += 1; + } +} + +/** + * Restore old parameter to build url with full path + * + * @param null + * @return null + */ +function unset_make_full_url() +{ + global $page; + + if (isset($page['save_root_path'])) + { + if ($page['save_root_path']['count'] == 1) + { + if (isset($page['save_root_path']['path'])) + { + $page['root_path'] = $page['save_root_path']['path']; + } + else + { + unset($page['root_path']); + } + unset($page['save_root_path']); + } + else + { + $page['save_root_path']['count'] -= 1; + } + } +} + ?>
\ No newline at end of file |