Fix bad default value for language on table user_info

Improve mail send (Undisclosed-recipients, switch language, ...)
Improve send an email to group members (Use Bcc, template, multi-language, ...) (But need more improvements)

git-svn-id: http://piwigo.org/svn/trunk@1904 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
rub
2007-03-13 23:01:16 +00:00
parent 6295173652
commit c5da19e536
7 changed files with 320 additions and 56 deletions
+47 -23
View File
@@ -529,35 +529,59 @@ display_select_cat_wrapper(
// info by email to an access granted group of category informations
if (isset($_POST['submitEmail']))
{
$query = '
SELECT
user_id,
'.$conf['user_fields']['email'].' AS email
FROM '.USER_GROUP_TABLE.'
INNER JOIN '.USERS_TABLE.' ON '.$conf['user_fields']['id'].' = user_id
WHERE '.$conf['user_fields']['email'].' IS NOT NULL
AND group_id = '.$_POST['group'].'
;';
$result = pwg_query($query);
set_make_full_url();
while ($row = mysql_fetch_array($result))
/* TODO: if $category['representative_picture_id']
is empty find child representative_picture_id */
if (!empty($category['representative_picture_id']))
{
pwg_mail(
$row['email'],
array(
'content' => get_absolute_root_url().make_index_url(
$query = '
SELECT id, file, path, tn_ext
FROM '.IMAGES_TABLE.'
WHERE id = '.$category['representative_picture_id'].'
;';
$result = pwg_query($query);
if (mysql_num_rows($result) > 0)
{
$element = mysql_fetch_assoc($result);
$img_url = '<a href="'.
make_picture_url(array(
'image_id' => $element['id'],
'image_file' => $element['file'],
'category' => $category
))
.'"><img src="'.get_thumbnail_url($element).'"/></a>';
}
}
if (!isset($img_url))
{
$img_url = '';
}
// TODO Mettre un array pour traduction subjet
pwg_mail_group(
$_POST['group'],
get_str_email_format(true), /* TODO add a checkbox in order to choose format*/
$category['name'],
'cat_group_info',
array
(
'IMG_URL' => $img_url,
'LINK' => make_index_url(
array(
'category' => array(
'id' => $category['id'],
'name' => $category['name'],
'permalink' => $category['permalink'],
)
)
),
'subject' => $category['name']
)
);
}
'permalink' => $category['permalink']
))),
'CPL_CONTENT' => '' /* TODO Add text area to add complementary content */
),
'' /* TODO Add listbox in order to choose Language selected */);
unset_make_full_url();
$query = '
SELECT
@@ -192,10 +192,8 @@ function begin_users_env_nbm($is_to_send_mail = false)
// Save $user, $lang_info and $lang arrays (include/user.inc.php has been executed)
$env_nbm['save_user'] = $user;
$env_nbm['save_lang_info'] = $lang_info;
$env_nbm['save_lang'] = $lang;
// Last Language
$env_nbm['last_language'] = $user['language'];
// Save current language to stack, necessary because $user change during NBM
switch_lang_to($user['language']);
$env_nbm['is_to_send_mail'] = $is_to_send_mail;
@@ -227,8 +225,8 @@ function end_users_env_nbm()
// Restore $user, $lang_info and $lang arrays (include/user.inc.php has been executed)
$user = $env_nbm['save_user'];
$lang_info = $env_nbm['save_lang_info'];
$lang = $env_nbm['save_lang'];
// Restore current language to stack, necessary because $user change during NBM
switch_lang_back();
if ($env_nbm['is_to_send_mail'])
{
@@ -244,11 +242,7 @@ function end_users_env_nbm()
}
unset($env_nbm['save_user']);
unset($env_nbm['save_lang_info']);
unset($env_nbm['save_lang']);
unset($env_nbm['last_language']);
unset($env_nbm['is_to_send_mail']);
}
/*
@@ -262,23 +256,8 @@ function set_user_on_env_nbm(&$nbm_user, $is_action_send)
$user = build_user( $nbm_user['user_id'], true );
if ($env_nbm['last_language'] != $user['language'])
{
$env_nbm['last_language'] = $user['language'];
switch_lang_to($user['language']);
// Re-Init language arrays
$lang_info = array();
$lang = array();
// language files
include(get_language_filepath('common.lang.php'));
// No test admin because script is checked admin (user selected no)
// Translations are in admin file too
include(get_language_filepath('admin.lang.php'));
trigger_action('loading_lang');
@include(get_language_filepath('local.lang.php'));
}
if ($is_action_send)
{
$nbm_user['template'] = $user['template'];
@@ -299,6 +278,7 @@ function unset_user_on_env_nbm()
{
global $env_nbm;
switch_lang_back();
unset($env_nbm['mail_template']);
}