aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorplegall <plg@piwigo.org>2016-01-04 19:54:40 +0100
committerplegall <plg@piwigo.org>2016-01-04 19:54:40 +0100
commit67e142f33197af955e179a1ad09b990ac80b6698 (patch)
tree914d524eb8f5ac3f92703e1f8790f74682d57bdf /include
parentf2f9e5ecb7d6c16332aaccf8bc7b1c4248e6e889 (diff)
feature #392, add authentication key in NBM mails
There are many links in NBM (Notification By Mail, see screen [Administration > Users > Notification]). I had to change several functions to take this authentication key into account.
Diffstat (limited to '')
-rw-r--r--include/functions_html.inc.php16
-rw-r--r--include/functions_mail.inc.php9
-rw-r--r--include/functions_notification.inc.php67
3 files changed, 69 insertions, 23 deletions
diff --git a/include/functions_html.inc.php b/include/functions_html.inc.php
index 8668e68ad..59861c46d 100644
--- a/include/functions_html.inc.php
+++ b/include/functions_html.inc.php
@@ -103,10 +103,17 @@ function get_cat_display_name($cat_informations, $url='')
function get_cat_display_name_cache($uppercats,
$url = '',
$single_link = false,
- $link_class = null)
+ $link_class = null,
+ $auth_key=null)
{
global $cache, $conf;
+ $add_url_params = array();
+ if (isset($auth_key))
+ {
+ $add_url_params['auth'] = $auth_key;
+ }
+
if (!isset($cache['cat_names']))
{
$query = '
@@ -119,7 +126,7 @@ SELECT id, name, permalink
$output = '';
if ($single_link)
{
- $single_url = get_root_url().$url.array_pop(explode(',', $uppercats));
+ $single_url = add_url_params(get_root_url().$url.array_pop(explode(',', $uppercats)), $add_url_params);
$output.= '<a href="'.$single_url.'"';
if (isset($link_class))
{
@@ -155,10 +162,13 @@ SELECT id, name, permalink
{
$output.= '
<a href="'
- .make_index_url(
+ .add_url_params(
+ make_index_url(
array(
'category' => $cat,
)
+ ),
+ $add_url_params
)
.'">'.$cat['name'].'</a>';
}
diff --git a/include/functions_mail.inc.php b/include/functions_mail.inc.php
index 529f2da0d..01a65091b 100644
--- a/include/functions_mail.inc.php
+++ b/include/functions_mail.inc.php
@@ -579,6 +579,7 @@ SELECT
* o theme: theme to use [default value $conf_mail['mail_theme']]
* o mail_title: main title of the mail [default value $conf['gallery_title']]
* o mail_subtitle: subtitle of the mail [default value subject]
+ * o auth_key: authentication key to add on footer link [default value null]
* @param array $tpl - use these options to define a custom content template file
* o filename
* o dirname (optional)
@@ -725,9 +726,15 @@ function pwg_mail($to, $args=array(), $tpl=array())
$template->set_filename('mail_header', 'header.tpl');
$template->set_filename('mail_footer', 'footer.tpl');
+ $add_url_params = array();
+ if (!empty($args['auth_key']))
+ {
+ $add_url_params['auth'] = $args['auth_key'];
+ }
+
$template->assign(
array(
- 'GALLERY_URL' => get_gallery_home_url(),
+ 'GALLERY_URL' => add_url_params(get_gallery_home_url(), $add_url_params),
'GALLERY_TITLE' => isset($page['gallery_title']) ? $page['gallery_title'] : $conf['gallery_title'],
'VERSION' => $conf['show_version'] ? PHPWG_VERSION : '',
'PHPWG_URL' => defined('PHPWG_URL') ? PHPWG_URL : '',
diff --git a/include/functions_notification.inc.php b/include/functions_notification.inc.php
index bc4d1a374..c7bbb66b3 100644
--- a/include/functions_notification.inc.php
+++ b/include/functions_notification.inc.php
@@ -395,27 +395,45 @@ function add_news_line(&$news, $count, $singular_key, $plural_key, $url='', $add
* @param bool $add_url add html link around news
* @return array
*/
-function news($start=null, $end=null, $exclude_img_cats=false, $add_url=false)
+function news($start=null, $end=null, $exclude_img_cats=false, $add_url=false, $auth_key=null)
{
$news = array();
- if (!$exclude_img_cats)
+ $add_url_params = array();
+ if (isset($auth_key))
{
- add_news_line( $news,
- nb_new_elements($start, $end), '%d new photo', '%d new photos',
- make_index_url(array('section'=>'recent_pics')), $add_url );
+ $add_url_params['auth'] = $auth_key;
}
if (!$exclude_img_cats)
{
- add_news_line( $news,
- nb_updated_categories($start, $end), '%d album updated', '%d albums updated',
- make_index_url(array('section'=>'recent_cats')), $add_url );
+ add_news_line(
+ $news,
+ nb_new_elements($start, $end),
+ '%d new photo',
+ '%d new photos',
+ add_url_params(make_index_url(array('section'=>'recent_pics')), $add_url_params),
+ $add_url
+ );
+
+ add_news_line(
+ $news,
+ nb_updated_categories($start, $end),
+ '%d album updated',
+ '%d albums updated',
+ add_url_params(make_index_url(array('section'=>'recent_cats')), $add_url_params),
+ $add_url
+ );
}
- add_news_line( $news,
- nb_new_comments($start, $end), '%d new comment', '%d new comments',
- get_root_url().'comments.php', $add_url );
+ add_news_line(
+ $news,
+ nb_new_comments($start, $end),
+ '%d new comment',
+ '%d new comments',
+ add_url_params(get_root_url().'comments.php', $add_url_params),
+ $add_url
+ );
if (is_admin())
{
@@ -527,17 +545,23 @@ function get_recent_post_dates_array($args)
* @param array $date_detail returned value of get_recent_post_dates()
* @return string
*/
-function get_html_description_recent_post_date($date_detail)
+function get_html_description_recent_post_date($date_detail, $auth_key=null)
{
global $conf;
+ $add_url_params = array();
+ if (isset($auth_key))
+ {
+ $add_url_params['auth'] = $auth_key;
+ }
+
$description = '<ul>';
$description .=
'<li>'
.l10n_dec('%d new photo', '%d new photos', $date_detail['nb_elements'])
.' ('
- .'<a href="'.make_index_url(array('section'=>'recent_pics')).'">'
+ .'<a href="'.add_url_params(make_index_url(array('section'=>'recent_pics')), $add_url_params).'">'
.l10n('Recent photos').'</a>'
.')'
.'</li><br>';
@@ -546,11 +570,16 @@ function get_html_description_recent_post_date($date_detail)
{
$tn_src = DerivativeImage::thumb_url($element);
$description .= '<a href="'.
- make_picture_url(array(
- 'image_id' => $element['id'],
- 'image_file' => $element['file'],
- ))
- .'"><img src="'.$tn_src.'"></a>';
+ add_url_params(
+ make_picture_url(
+ array(
+ 'image_id' => $element['id'],
+ 'image_file' => $element['file'],
+ )
+ ),
+ $add_url_params
+ )
+ .'"><img src="'.$tn_src.'"></a>';
}
$description .= '...<br>';
@@ -564,7 +593,7 @@ function get_html_description_recent_post_date($date_detail)
{
$description .=
'<li>'
- .get_cat_display_name_cache($cat['uppercats'])
+ .get_cat_display_name_cache($cat['uppercats'],'', false, null, $auth_key)
.' ('.
l10n_dec('%d new photo', '%d new photos', $cat['img_count']).')'
.'</li>';