1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-03-24 01:20:40 +01:00

Merge branch '3.2.x'

This commit is contained in:
Máté Bartus 2017-09-07 14:32:51 +02:00
commit 6211b69a6f
9 changed files with 51 additions and 11 deletions

View File

@ -78,6 +78,7 @@ if (@is_file($phpbb_root_path . $config['exts_composer_vendor_dir'] . '/autoload
/** @var \phpbb\language\language $language */
$language = $phpbb_container->get('language');
$language->set_default_language($phpbb_container->get('config')['default_lang']);
$language->add_lang(array('common', 'acp/common', 'cli'));
/* @var $user \phpbb\user */

View File

@ -2671,6 +2671,13 @@ viewtopic_topic_title_after
* Since: 3.1.7-RC1
* Purpose: Add content directly after the topic title link on the View topic screen (outside of the h2 HTML tag)
viewtopic_topic_title_before
===
* Locations:
+ styles/prosilver/template/viewtopic_body.html
* Since: 3.2.2-RC1
* Purpose: Add content directly before the topic title link on the View topic screen (outside of the h2 HTML tag)
viewtopic_topic_title_append
===
* Locations:

View File

@ -180,13 +180,13 @@ class ucp_notifications
'GROUP_NAME' => $user->lang($group),
));
foreach ($subscription_types as $type => $data)
foreach ($subscription_types as $type => $type_data)
{
$template->assign_block_vars($block, array(
'TYPE' => $type,
'NAME' => $user->lang($data['lang']),
'EXPLAIN' => (isset($user->lang[$data['lang'] . '_EXPLAIN'])) ? $user->lang($data['lang'] . '_EXPLAIN') : '',
'NAME' => $user->lang($type_data['lang']),
'EXPLAIN' => (isset($user->lang[$type_data['lang'] . '_EXPLAIN'])) ? $user->lang($type_data['lang'] . '_EXPLAIN') : '',
));
foreach ($notification_methods as $method => $method_data)
@ -196,6 +196,8 @@ class ucp_notifications
'NAME' => $user->lang($method_data['lang']),
'AVAILABLE' => $method_data['method']->is_available($type_data['type']),
'SUBSCRIBED' => (isset($subscriptions[$type]) && in_array($method_data['id'], $subscriptions[$type])) ? true : false,
));
}

View File

@ -475,9 +475,10 @@ class manager
if ($type instanceof \phpbb\notification\type\type_interface && $type->is_available())
{
$options = array_merge(array(
'id' => $type->get_type(),
'lang' => 'NOTIFICATION_TYPE_' . strtoupper($type->get_type()),
'group' => 'NOTIFICATION_GROUP_MISCELLANEOUS',
'type' => $type,
'id' => $type->get_type(),
'lang' => 'NOTIFICATION_TYPE_' . strtoupper($type->get_type()),
'group' => 'NOTIFICATION_GROUP_MISCELLANEOUS',
), (($type::$notification_option !== false) ? $type::$notification_option : array()));
$this->subscription_types[$options['group']][$options['id']] = $options;
@ -509,6 +510,7 @@ class manager
foreach ($this->get_available_subscription_methods() as $method_name => $method)
{
$subscription_methods[$method_name] = array(
'method' => $method,
'id' => $method->get_type(),
'lang' => str_replace('.', '_', strtoupper($method->get_type())),
);

View File

@ -13,6 +13,8 @@
namespace phpbb\notification\method;
use phpbb\notification\type\type_interface;
/**
* Email notification method class
* This class handles sending emails for notifications
@ -56,10 +58,14 @@ class email extends \phpbb\notification\method\messenger_base
/**
* Is this method available for the user?
* This is checked on the notifications options
*
* @param type_interface $notification_type An optional instance of a notification type. If provided, this
* method additionally checks if the type provides an email template.
* @return bool
*/
public function is_available()
public function is_available(type_interface $notification_type = null)
{
return $this->config['email_enable'] && $this->user->data['user_email'];
return parent::is_available($notification_type) && $this->config['email_enable'] && $this->user->data['user_email'];
}
/**

View File

@ -13,6 +13,8 @@
namespace phpbb\notification\method;
use phpbb\notification\type\type_interface;
/**
* Jabber notification method class
* This class handles sending Jabber messages for notifications
@ -56,10 +58,14 @@ class jabber extends \phpbb\notification\method\messenger_base
/**
* Is this method available for the user?
* This is checked on the notifications options
*
* @param type_interface $notification_type An optional instance of a notification type. If provided, this
* method additionally checks if the type provides an email template.
* @return bool
*/
public function is_available()
public function is_available(type_interface $notification_type = null)
{
return ($this->global_available() && $this->user->data['user_jabber']);
return parent::is_available($notification_type) && $this->global_available() && $this->user->data['user_jabber'];
}
/**

View File

@ -13,6 +13,8 @@
namespace phpbb\notification\method;
use phpbb\notification\type\type_interface;
/**
* Abstract notification method handling email and jabber notifications
* using the phpBB messenger.
@ -42,6 +44,19 @@ abstract class messenger_base extends \phpbb\notification\method\base
$this->php_ext = $php_ext;
}
/**
* Is this method available for the user?
* This is checked on the notifications options
*
* @param type_interface $notification_type An optional instance of a notification type. This method returns false
* only if the type is provided and if it doesn't provide an email template.
* @return bool
*/
public function is_available(type_interface $notification_type = null)
{
return $notification_type === null || $notification_type->get_email_template() !== false;
}
/**
* Notify using phpBB messenger
*

View File

@ -31,7 +31,7 @@
<!-- IF notification_types.EXPLAIN --><br />&nbsp; &nbsp;{notification_types.EXPLAIN}<!-- ENDIF -->
</td>
<!-- BEGIN notification_methods -->
<td class="mark"><input type="checkbox" name="{notification_types.TYPE}_{notification_methods.METHOD}"<!-- IF notification_methods.SUBSCRIBED --> checked="checked"<!-- ENDIF --> /></td>
<td class="mark"><input type="checkbox" name="{notification_types.TYPE}_{notification_types.notification_methods.METHOD}"<!-- IF notification_types.notification_methods.AVAILABLE and notification_types.notification_methods.SUBSCRIBED --> checked="checked"<!-- ENDIF --><!-- IF not notification_types.notification_methods.AVAILABLE --> disabled="disabled"<!-- ENDIF --> /></td>
<!-- END notification_methods -->
</tr>
<!-- ENDIF -->

View File

@ -1,5 +1,6 @@
<!-- INCLUDE overall_header.html -->
<!-- EVENT viewtopic_topic_title_before -->
<h2 class="topic-title"><!-- EVENT viewtopic_topic_title_prepend --><a href="{U_VIEW_TOPIC}">{TOPIC_TITLE}</a><!-- EVENT viewtopic_topic_title_append --></h2>
<!-- EVENT viewtopic_topic_title_after -->
<!-- NOTE: remove the style="display: none" when you want to have the forum description on the topic body -->