mirror of
https://github.com/Piwigo/Piwigo.git
synced 2025-04-27 19:59:56 +03:00
Issue ID 330:
o Change NBM configuration in order to avoid lose treatment action when occurred timeout o Add news redirect/repost functions git-svn-id: http://piwigo.org/svn/trunk@1156 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
dffa074a1c
commit
8da9ed8d9b
10 changed files with 218 additions and 36 deletions
|
@ -27,7 +27,13 @@
|
|||
// +-----------------------------------------------------------------------+
|
||||
|
||||
/* nbm_global_var */
|
||||
$env_nbm = array();
|
||||
$env_nbm = array
|
||||
(
|
||||
'start_time' => get_moment(),
|
||||
'sendmail_timeout' => (intval(ini_get('max_execution_time')) * $conf['nbm_max_treatment_timeout_percent']),
|
||||
'is_sendmail_timeout' => false
|
||||
);
|
||||
|
||||
|
||||
/*
|
||||
* Search an available check_key
|
||||
|
@ -57,6 +63,20 @@ where
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Check sendmail timeout state
|
||||
*
|
||||
* @return true, if it's timeout
|
||||
*/
|
||||
function check_sendmail_timeout()
|
||||
{
|
||||
global $env_nbm;
|
||||
|
||||
$env_nbm['is_sendmail_timeout'] = ((get_moment() - $env_nbm['start_time']) > $env_nbm['sendmail_timeout']);
|
||||
|
||||
return $env_nbm['is_sendmail_timeout'];
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Add quote to all elements of check_key_list
|
||||
|
@ -318,12 +338,13 @@ 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 updated data count
|
||||
* @return check_key lisr treated
|
||||
*/
|
||||
function do_subscribe_unsubcribe_notification_by_mail($is_admin_request, $is_subscribe = false, $check_key_list = array())
|
||||
{
|
||||
global $conf, $page, $env_nbm, $conf;
|
||||
|
||||
$check_key_treated = array();
|
||||
$updated_data_count = 0;
|
||||
$error_on_updated_data_count = 0;
|
||||
|
||||
|
@ -344,18 +365,24 @@ function do_subscribe_unsubcribe_notification_by_mail($is_admin_request, $is_sub
|
|||
$enabled_value = boolean_to_string($is_subscribe);
|
||||
$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');
|
||||
|
||||
// Begin nbm users environment
|
||||
begin_users_env_nbm(true);
|
||||
|
||||
foreach ($data_users as $nbm_user)
|
||||
{
|
||||
if (($env_nbm['error_on_mail_count'] + $env_nbm['sent_mail_count']) >= $conf['nbm_max_mails_send'])
|
||||
if (check_sendmail_timeout())
|
||||
{
|
||||
// Stop fill list on 'send', if the quota is override
|
||||
array_push($page['errors'], sprintf(l10n('nbm_nbm_break_send_mail'), $conf['nbm_max_mails_send']));
|
||||
array_push($page['errors'], $msg_break_timeout);
|
||||
break;
|
||||
}
|
||||
|
||||
// Fill return list
|
||||
array_push($check_key_treated, $nbm_user['check_key']);
|
||||
|
||||
$do_update = true;
|
||||
if ($nbm_user['mail_address'] != '')
|
||||
{
|
||||
|
@ -436,7 +463,7 @@ function do_subscribe_unsubcribe_notification_by_mail($is_admin_request, $is_sub
|
|||
array_push($page['errors'], sprintf(l10n('nbm_user_change_enabled_error_on_updated_data_count'), $error_on_updated_data_count));
|
||||
}
|
||||
|
||||
return $updated_data_count;
|
||||
return $check_key_treated;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -444,7 +471,7 @@ function do_subscribe_unsubcribe_notification_by_mail($is_admin_request, $is_sub
|
|||
*
|
||||
* check_key list where action will be done
|
||||
*
|
||||
* @return updated data count
|
||||
* @return check_key lisr treated
|
||||
*/
|
||||
function unsubcribe_notification_by_mail($is_admin_request, $check_key_list = array())
|
||||
{
|
||||
|
@ -456,7 +483,7 @@ function unsubcribe_notification_by_mail($is_admin_request, $check_key_list = ar
|
|||
*
|
||||
* check_key list where action will be done
|
||||
*
|
||||
* @return updated data count
|
||||
* @return check_key lisr treated
|
||||
*/
|
||||
function subcribe_notification_by_mail($is_admin_request, $check_key_list = array())
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue