mirror of
https://github.com/Piwigo/Piwigo.git
synced 2025-04-28 20:29:58 +03:00
Issue ID 330:
o Remove "background treatment" o Add button "Continue treatment" git-svn-id: http://piwigo.org/svn/trunk@1177 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
18570279ef
commit
aa493527fc
6 changed files with 71 additions and 107 deletions
|
@ -338,7 +338,7 @@ function get_mail_content_subscribe_unsubcribe($nbm_user)
|
|||
* is_subscribe define if action=subscribe or unsubscribe
|
||||
* check_key list where action will be done
|
||||
*
|
||||
* @return check_key lisr treated
|
||||
* @return check_key list treated
|
||||
*/
|
||||
function do_subscribe_unsubcribe_notification_by_mail($is_admin_request, $is_subscribe = false, $check_key_list = array())
|
||||
{
|
||||
|
@ -366,7 +366,7 @@ function do_subscribe_unsubcribe_notification_by_mail($is_admin_request, $is_sub
|
|||
$data_users = get_user_notifications('subscribe', $check_key_list, !$is_subscribe);
|
||||
|
||||
// Prepare message after change language
|
||||
$msg_break_timeout = l10n('nbm_nbm_break_timeout_send_mail');
|
||||
$msg_break_timeout = l10n('nbm_break_timeout_send_mail');
|
||||
|
||||
// Begin nbm users environment
|
||||
begin_users_env_nbm(true);
|
||||
|
@ -471,7 +471,7 @@ function do_subscribe_unsubcribe_notification_by_mail($is_admin_request, $is_sub
|
|||
*
|
||||
* check_key list where action will be done
|
||||
*
|
||||
* @return check_key lisr treated
|
||||
* @return check_key list treated
|
||||
*/
|
||||
function unsubcribe_notification_by_mail($is_admin_request, $check_key_list = array())
|
||||
{
|
||||
|
@ -483,7 +483,7 @@ function unsubcribe_notification_by_mail($is_admin_request, $check_key_list = ar
|
|||
*
|
||||
* check_key list where action will be done
|
||||
*
|
||||
* @return check_key lisr treated
|
||||
* @return check_key list treated
|
||||
*/
|
||||
function subcribe_notification_by_mail($is_admin_request, $check_key_list = array())
|
||||
{
|
||||
|
|
|
@ -50,21 +50,22 @@ check_status(ACCESS_ADMINISTRATOR);
|
|||
// | Initialization |
|
||||
// +-----------------------------------------------------------------------+
|
||||
$base_url = get_root_url().'admin.php';
|
||||
$must_repost = false;
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | functions |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
||||
/*
|
||||
* Do background treatmetn in order to finish to send mails
|
||||
* Do timeout treatment in order to finish to send mails
|
||||
*
|
||||
* @param $post_keyname: key of check_key post array
|
||||
* @param check_key_treated:array of check_key treated
|
||||
* @param check_key_treated: array of check_key treated
|
||||
* @return none
|
||||
*/
|
||||
function do_background_treatment($post_keyname, $check_key_treated = array())
|
||||
function do_timeout_treatment($post_keyname, $check_key_treated = array())
|
||||
{
|
||||
global $env_nbm, $base_url;
|
||||
global $env_nbm, $base_url, $page, $must_repost;
|
||||
|
||||
if ($env_nbm['is_sendmail_timeout'])
|
||||
{
|
||||
|
@ -78,10 +79,12 @@ function do_background_treatment($post_keyname, $check_key_treated = array())
|
|||
}
|
||||
else
|
||||
{
|
||||
$time_refresh = 10;
|
||||
$time_refresh = 0;
|
||||
}
|
||||
$_POST[$post_keyname] = array_diff($_POST[$post_keyname], $check_key_treated);
|
||||
re_post_http($base_url.get_query_string_diff(array()), sprintf(l10n('nbm_background_treatment_redirect'), $time_refresh) , $time_refresh);
|
||||
|
||||
$must_repost = true;
|
||||
array_push($page['errors'], sprintf(l10n('nbm_background_treatment_redirect'), $time_refresh));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -117,18 +120,6 @@ function insert_new_data_user_mail_notification()
|
|||
{
|
||||
global $conf, $page, $env_nbm;
|
||||
|
||||
// Treatment of simulate post
|
||||
if (isset($_POST['insert_new_user_nbm']))
|
||||
{
|
||||
$check_key_treated = do_subscribe_unsubcribe_notification_by_mail
|
||||
(
|
||||
true,
|
||||
$conf['nbm_default_value_user_enabled'],
|
||||
$_POST['insert_new_user_nbm']
|
||||
);
|
||||
do_background_treatment('insert_new_user_nbm', $check_key_treated);
|
||||
}
|
||||
|
||||
// Set null mail_address empty
|
||||
$query = '
|
||||
update
|
||||
|
@ -196,11 +187,13 @@ order by
|
|||
// On timeout simulate like tabsheet send
|
||||
if ($env_nbm['is_sendmail_timeout'])
|
||||
{
|
||||
if ($conf['nbm_default_value_user_enabled'])
|
||||
$quoted_check_key_list = quote_check_key_list(array_diff($check_key_list, $check_key_treated));
|
||||
if (count($quoted_check_key_list) != 0 )
|
||||
{
|
||||
// Simulate Post
|
||||
$_POST['insert_new_user_nbm'] = $check_key_list;
|
||||
do_background_treatment('insert_new_user_nbm', $check_key_treated);
|
||||
$query = 'delete from '.USER_MAIL_NOTIFICATION_TABLE.' where check_key in ('.implode(",", $quoted_check_key_list).');';
|
||||
$result = pwg_query($query);
|
||||
|
||||
redirect($base_url.get_query_string_diff(array()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -230,8 +223,11 @@ function do_action_send_mail_notification($action = 'list_to_send', $check_key_l
|
|||
// disabled and null mail_address are not selected in the list
|
||||
$data_users = get_user_notifications('send', $check_key_list);
|
||||
|
||||
// List all if it's define on options or on timeout
|
||||
$is_list_all_without_test = ($env_nbm['is_sendmail_timeout'] or $conf['nbm_list_all_enabled_users_to_send']);
|
||||
|
||||
// Check if exist news to list user or send mails
|
||||
if (($conf['nbm_list_all_enabled_users_to_send'] == false) or ($is_action_send))
|
||||
if ((!$is_list_all_without_test == false) or ($is_action_send))
|
||||
{
|
||||
if (count($data_users) > 0)
|
||||
{
|
||||
|
@ -240,7 +236,7 @@ function do_action_send_mail_notification($action = 'list_to_send', $check_key_l
|
|||
// Prepare message after change language
|
||||
if ($is_action_send)
|
||||
{
|
||||
$msg_break_timeout = l10n('nbm_nbm_break_timeout_send_mail');
|
||||
$msg_break_timeout = l10n('nbm_break_timeout_send_mail');
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -460,13 +456,13 @@ where
|
|||
if (isset($_POST['falsify']) and isset($_POST['cat_true']))
|
||||
{
|
||||
$check_key_treated = unsubcribe_notification_by_mail(true, $_POST['cat_true']);
|
||||
do_background_treatment('cat_true', $check_key_treated);
|
||||
do_timeout_treatment('cat_true', $check_key_treated);
|
||||
}
|
||||
else
|
||||
if (isset($_POST['trueify']) and isset($_POST['cat_false']))
|
||||
{
|
||||
$check_key_treated = subcribe_notification_by_mail(true, $_POST['cat_false']);
|
||||
do_background_treatment('cat_false', $check_key_treated);
|
||||
do_timeout_treatment('cat_false', $check_key_treated);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -476,7 +472,7 @@ where
|
|||
if (isset($_POST['send_submit']) and isset($_POST['send_selection']) and isset($_POST['send_customize_mail_content']))
|
||||
{
|
||||
$check_key_treated = do_action_send_mail_notification('send', $_POST['send_selection'], $_POST['send_customize_mail_content']);
|
||||
do_background_treatment('send_selection', $check_key_treated);
|
||||
do_timeout_treatment('send_selection', $check_key_treated);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -517,6 +513,33 @@ if (is_autorize_status(ACCESS_WEBMASTER))
|
|||
);
|
||||
}
|
||||
|
||||
if ($must_repost)
|
||||
{
|
||||
// Get name of submit button
|
||||
$repost_submit_name = '';
|
||||
if (isset($_POST['falsify']))
|
||||
{
|
||||
$repost_submit_name = 'falsify';
|
||||
}
|
||||
elseif (isset($_POST['trueify']))
|
||||
{
|
||||
$repost_submit_name = 'trueify';
|
||||
}
|
||||
elseif (isset($_POST['send_submit']))
|
||||
{
|
||||
$repost_submit_name = 'send_submit';
|
||||
}
|
||||
|
||||
$template->assign_block_vars
|
||||
(
|
||||
'repost',
|
||||
array
|
||||
(
|
||||
'REPOST_SUBMIT_NAME' => $repost_submit_name
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
switch ($page['mode'])
|
||||
{
|
||||
case 'param' :
|
||||
|
|
|
@ -871,75 +871,4 @@ function get_available_upgrade_ids()
|
|||
return $available_upgrade_ids;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adaptation of _HTTPRequestToString (http://fr.php.net/urlencode)
|
||||
*
|
||||
*
|
||||
* @return array request to string
|
||||
*/
|
||||
function http_request_to_string($arr_request, $var_name, $separator='&') {
|
||||
$ret = "";
|
||||
if (is_array($arr_request)) {
|
||||
foreach ($arr_request as $key => $value) {
|
||||
if (is_array($value)) {
|
||||
if ($var_name) {
|
||||
$ret .= http_request_to_string($value, "{$var_name}[{$key}]", $separator);
|
||||
} else {
|
||||
$ret .= http_request_to_string($value, "{$key}", $separator);
|
||||
}
|
||||
} else {
|
||||
if ($var_name) {
|
||||
$ret .= "{$var_name}[{$key}]=".urlencode($value)."&";
|
||||
} else {
|
||||
$ret .= "{$key}=".urlencode($value)."&";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!$var_name) {
|
||||
$ret = substr($ret,0,-1);
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* Post request HTTP on backgroung and redirec to selected url
|
||||
*
|
||||
* Note : once this function called, the execution doesn't go further
|
||||
* (presence of an exit() instruction.
|
||||
*
|
||||
* @param string $url_redirect
|
||||
* @param string $redirect_message
|
||||
* @param integer $redirect_refreh_time
|
||||
* @return void
|
||||
*/
|
||||
function re_post_http($url_redirect, $redirect_message, $redirect_refreh_time)
|
||||
{
|
||||
global $conf;
|
||||
|
||||
$data_post = http_request_to_string($_POST, '');
|
||||
|
||||
$message_post = "POST ".$_SERVER['PHP_SELF'].html_entity_decode(get_query_string_diff(array()))." HTTP/1.1\r\n";
|
||||
|
||||
/* foreach (array_flip(array_diff(array_flip(apache_request_headers()), array('Content-Type', 'Content-Length'))) as $header_name => $header_value)
|
||||
{
|
||||
$message_post .= $header_name.": ".$header_value."\r\n";
|
||||
}*/
|
||||
$message_post .= "Host: ".$_SERVER['HTTP_HOST']."\r\n";
|
||||
$message_post .= "Cookie: ".$conf['session_name']."=".$_COOKIE[$conf['session_name']]."\r\n";
|
||||
|
||||
|
||||
$message_post .= "Content-Type: application/x-www-form-urlencoded\r\n";
|
||||
$message_post .= "Content-Length: ".strlen($data_post)."\r\n";
|
||||
$message_post .= "\r\n";
|
||||
$message_post .= $data_post."\r\n";
|
||||
|
||||
$fd = fsockopen($_SERVER['HTTP_HOST'], $_SERVER['SERVER_PORT']);
|
||||
fputs($fd, $message_post);
|
||||
fclose($fd);
|
||||
|
||||
redirect($url_redirect, $redirect_message, $redirect_refreh_time);
|
||||
//exit(); done by redirect
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
@ -253,7 +253,8 @@ $lang['metadata_basic'] = 'basic';
|
|||
$lang['metadata_exif'] = 'EXIF';
|
||||
$lang['metadata_iptc'] = 'IPTC';
|
||||
$lang['name'] = 'name';
|
||||
$lang['nbm_background_treatment_redirect'] = 'Execution time is out, treatment continue on background.'."\n".'Re-display on %d secondes...';
|
||||
$lang['nbm_background_treatment_redirect'] = 'Execution time is out, treatment must be continue [Estmated time: %d secondes].';
|
||||
$lang['nbm_repost_submit'] = 'Continue processing treatment';
|
||||
$lang['nbm_break_timeout_list_user'] = 'Prepared time for list of users to send mail is limited. Others users are not listed.';
|
||||
$lang['nbm_col_check_user_send_mail'] = 'To send ?';
|
||||
$lang['nbm_col_last_send'] = 'Last send';
|
||||
|
@ -278,7 +279,7 @@ $lang['nbm_msg_error_sending_email_to'] = 'Error when sending email to %s [%s].'
|
|||
$lang['nbm_msg_mail_sent_to'] = 'Mail sent to %s [%s].';
|
||||
$lang['nbm_msg_n_mails_sent'] = '%d mails were sent.';
|
||||
$lang['nbm_msg_no_mail_to_send'] = '%d mails were not sent.';
|
||||
$lang['nbm_nbm_break_timeout_send_mail'] = 'Time to send mail is limited. Others mails are skipped or sent on background.';
|
||||
$lang['nbm_break_timeout_send_mail'] = 'Time to send mail is limited. Others mails are skipped.';
|
||||
$lang['nbm_no_mail_to_send'] = 'No mail to send.';
|
||||
$lang['nbm_no_user_available_to_send_L1'] = 'No user are available in order to send mail.';
|
||||
$lang['nbm_no_user_available_to_send_L2'] = 'A user is available, if there are new elements to notify';
|
||||
|
|
|
@ -256,7 +256,8 @@ $lang['metadata_basic'] = 'basique';
|
|||
$lang['metadata_exif'] = 'EXIF';
|
||||
$lang['metadata_iptc'] = 'IPTC';
|
||||
$lang['name'] = 'nom';
|
||||
$lang['nbm_background_treatment_redirect'] = 'Le temps d\'éxécution étant dépassé, le traitement continue en arrière plan.'."\n".'Ré-affichage dans %d secondes...';
|
||||
$lang['nbm_background_treatment_redirect'] = 'Le temps d\'éxécution étant dépassé, le traitement doit continuer [Temps estimé: %d secondes].';
|
||||
$lang['nbm_repost_submit'] = 'Continuer le traitement en cours...';
|
||||
$lang['nbm_break_timeout_list_user'] = 'Le temps de préparation de la liste des utilisateurs pour l\'envoi est limité. Les autres utilisateurs ne sont pas listés.';
|
||||
$lang['nbm_col_check_user_send_mail'] = 'A envoyer ?';
|
||||
$lang['nbm_col_last_send'] = 'Dernier envoi';
|
||||
|
@ -281,7 +282,7 @@ $lang['nbm_msg_error_sending_email_to'] = 'Erreur lors de l\'envoi du mail
|
|||
$lang['nbm_msg_mail_sent_to'] = 'Mail envoyé à %s [%s].';
|
||||
$lang['nbm_msg_n_mails_sent'] = '%s mails ont été envoyés.';
|
||||
$lang['nbm_msg_no_mail_to_send'] = '%s mails n\'ont pas été envoyés.';
|
||||
$lang['nbm_nbm_break_timeout_send_mail'] = 'Le temps d\'envoi des mails est limité. Les autres envois de mail ont été ignorés ou vont être envoyés en arrière plan.';
|
||||
$lang['nbm_break_timeout_send_mail'] = 'Le temps d\'envoi des mails est limité. Les autres envois de mail ont été ignorés.';
|
||||
$lang['nbm_no_mail_to_send'] = 'Pas de mail à envoyer.';
|
||||
$lang['nbm_no_user_available_to_send_L1'] = 'Il n\'y a pas d\'utilisateur à notifier par mail.';
|
||||
$lang['nbm_no_user_available_to_send_L2'] = 'Un utilisateur est à notifier si de nouveaux éléments sont disponibles pour cet utilisateur.';
|
||||
|
|
|
@ -16,6 +16,15 @@
|
|||
</div>
|
||||
|
||||
<form method="post" name="notification_by_mail" id="notification_by_mail" action="{F_ACTION}">
|
||||
<!-- BEGIN repost -->
|
||||
<fieldset>
|
||||
<div class="errors">
|
||||
<p>
|
||||
<input type="submit" value="{lang:nbm_repost_submit}" name="{REPOST_SUBMIT_NAME}" {TAG_INPUT_ENABLED}/>
|
||||
</p>
|
||||
</div>
|
||||
</fieldset>
|
||||
<!-- END repost -->
|
||||
|
||||
<!-- BEGIN param -->
|
||||
<fieldset>
|
||||
|
@ -62,6 +71,7 @@
|
|||
<center>
|
||||
{lang:nbm_no_user_available_to_send_L1}<br>
|
||||
{lang:nbm_no_user_available_to_send_L2}<br>
|
||||
<br>
|
||||
</center>
|
||||
<!-- END send_empty -->
|
||||
<!-- BEGIN send_data -->
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue