mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-27 21:58:52 +00:00
Merge remote-tracking branch 'PayBas/ticket/12608' into develop-ascraeus
* PayBas/ticket/12608: [ticket/12608] Change CSS classes to prevent styling conflicts [ticket/12608] Add subSilver [ticket/12608] Changed get_styling() to get_style_class() [ticket/12608] Remove somewhat redundant reported color style [ticket/12608] Improved LTR and various bugfixes [ticket/12608] Clean up whitespace [ticket/12608] Add styling (CSS class) options to notifications [ticket/12608] Updated tests [ticket/12608] Improve notifications drop-down menu styling in header
This commit is contained in:
commit
74a37259f7
22 changed files with 430 additions and 78 deletions
|
@ -442,29 +442,32 @@ $lang = array_merge($lang, array(
|
||||||
// A, B, C and 2 others replied...
|
// A, B, C and 2 others replied...
|
||||||
// A, B, C and others replied...
|
// A, B, C and others replied...
|
||||||
'NOTIFICATION_BOOKMARK' => array(
|
'NOTIFICATION_BOOKMARK' => array(
|
||||||
1 => '%1$s replied to the topic “%2$s” you have bookmarked.',
|
1 => '<strong>Reply</strong> from %1$s in bookmarked topic:',
|
||||||
),
|
),
|
||||||
'NOTIFICATION_GROUP_REQUEST' => '%1$s is requesting to join the group %2$s.',
|
'NOTIFICATION_FORUM' => '<em>Forum:</em> %1$s',
|
||||||
'NOTIFICATION_GROUP_REQUEST_APPROVED' => 'Your request to join the group %1$s has been approved.',
|
'NOTIFICATION_GROUP_REQUEST' => '<strong>Group request</strong> from %1$s to join the group %2$s.',
|
||||||
'NOTIFICATION_PM' => '%1$s sent you a Private Message "%2$s".',
|
'NOTIFICATION_GROUP_REQUEST_APPROVED' => '<strong>Group request approved</strong> to join the group %1$s.',
|
||||||
|
'NOTIFICATION_PM' => '<strong>Private Message</strong> from %1$s:',
|
||||||
'NOTIFICATION_POST' => array(
|
'NOTIFICATION_POST' => array(
|
||||||
1 => '%1$s replied to the topic “%2$s”.',
|
1 => '<strong>Reply</strong> from %1$s in topic:',
|
||||||
),
|
),
|
||||||
'NOTIFICATION_POST_APPROVED' => 'Your post was approved "%2$s".',
|
'NOTIFICATION_POST_APPROVED' => '<strong>Post approved</strong>:',
|
||||||
'NOTIFICATION_POST_DISAPPROVED' => 'Your post "%1$s" was disapproved for reason: "%2$s".',
|
'NOTIFICATION_POST_DISAPPROVED' => '<strong>Post disapproved</strong>:',
|
||||||
'NOTIFICATION_POST_IN_QUEUE' => 'A new post titled "%2$s" was posted by %1$s and needs approval.',
|
'NOTIFICATION_POST_IN_QUEUE' => '<strong>Post approval</strong> request by %1$s:',
|
||||||
'NOTIFICATION_QUOTE' => array(
|
'NOTIFICATION_QUOTE' => array(
|
||||||
1 => '%1$s quoted you in the post “%2$s”.',
|
1 => '<strong>Quoted</strong> by %1$s in:',
|
||||||
),
|
),
|
||||||
'NOTIFICATION_REPORT_PM' => '%1$s reported a Private Message "%2$s" for reason: "%3$s".',
|
'NOTIFICATION_REFERENCE' => '"%1$s"',
|
||||||
'NOTIFICATION_REPORT_POST' => '%1$s reported a post "%2$s" for reason: "%3$s".',
|
'NOTIFICATION_REASON' => '<em>Reason:</em> %1$s.',
|
||||||
'NOTIFICATION_REPORT_CLOSED' => '%1$s closed the report you made for "%2$s".',
|
'NOTIFICATION_REPORT_PM' => '<strong>Private Message reported</strong> by %1$s:',
|
||||||
'NOTIFICATION_TOPIC' => '%1$s posted a new topic "%2$s" in the forum "%3$s".',
|
'NOTIFICATION_REPORT_POST' => '<strong>Post reported</strong> by %1$s:',
|
||||||
'NOTIFICATION_TOPIC_APPROVED' => 'Your topic "%2$s" in the forum "%3$s" was approved.',
|
'NOTIFICATION_REPORT_CLOSED' => '<strong>Report closed</strong> by %1$s for:',
|
||||||
'NOTIFICATION_TOPIC_DISAPPROVED' => 'Your topic "%1$s" was disapproved for reason: "%2$s".',
|
'NOTIFICATION_TOPIC' => '<strong>New topic</strong> by %1$s:',
|
||||||
'NOTIFICATION_TOPIC_IN_QUEUE' => 'A new topic titled "%2$s" was posted by %1$s and needs approval.',
|
'NOTIFICATION_TOPIC_APPROVED' => '<strong>Topic approved</strong>:',
|
||||||
|
'NOTIFICATION_TOPIC_DISAPPROVED' => '<strong>Topic disapproved</strong>:',
|
||||||
|
'NOTIFICATION_TOPIC_IN_QUEUE' => '<strong>Topic approval</strong> request by %1$s:',
|
||||||
'NOTIFICATION_TYPE_NOT_EXIST' => 'The notification type "%s" is missing from the file system.',
|
'NOTIFICATION_TYPE_NOT_EXIST' => 'The notification type "%s" is missing from the file system.',
|
||||||
'NOTIFICATION_ADMIN_ACTIVATE_USER' => 'The user “%1$s” is newly registered and requires activation.',
|
'NOTIFICATION_ADMIN_ACTIVATE_USER' => '<strong>Activation required</strong> for newly registered user: “%1$s”',
|
||||||
// Used in conjuction with NOTIFICATION_BOOKMARK and NOTIFICATION_POST.
|
// Used in conjuction with NOTIFICATION_BOOKMARK and NOTIFICATION_POST.
|
||||||
'NOTIFICATION_MANY_OTHERS' => 'others',
|
'NOTIFICATION_MANY_OTHERS' => 'others',
|
||||||
'NOTIFICATION_X_OTHERS' => array(
|
'NOTIFICATION_X_OTHERS' => array(
|
||||||
|
|
|
@ -308,16 +308,15 @@ abstract class base implements \phpbb\notification\type\type_interface
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
'NOTIFICATION_ID' => $this->notification_id,
|
'NOTIFICATION_ID' => $this->notification_id,
|
||||||
|
'STYLING' => $this->get_style_class(),
|
||||||
'AVATAR' => $this->get_avatar(),
|
'AVATAR' => $this->get_avatar(),
|
||||||
|
|
||||||
'FORMATTED_TITLE' => $this->get_title(),
|
'FORMATTED_TITLE' => $this->get_title(),
|
||||||
|
'REFERENCE' => $this->get_reference(),
|
||||||
|
'FORUM' => $this->get_forum(),
|
||||||
|
'REASON' => $this->get_reason(),
|
||||||
'URL' => $this->get_url(),
|
'URL' => $this->get_url(),
|
||||||
'TIME' => $this->user->format_date($this->notification_time),
|
'TIME' => $this->user->format_date($this->notification_time),
|
||||||
|
|
||||||
'UNREAD' => !$this->notification_read,
|
'UNREAD' => !$this->notification_read,
|
||||||
|
|
||||||
'U_MARK_READ' => (!$this->notification_read) ? $u_mark_read : '',
|
'U_MARK_READ' => (!$this->notification_read) ? $u_mark_read : '',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -336,6 +335,16 @@ abstract class base implements \phpbb\notification\type\type_interface
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the CSS style class of the notification (fall back)
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_style_class()
|
||||||
|
{
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the user's avatar (fall back)
|
* Get the user's avatar (fall back)
|
||||||
*
|
*
|
||||||
|
@ -346,6 +355,36 @@ abstract class base implements \phpbb\notification\type\type_interface
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the reference of the notifcation (fall back)
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_reference()
|
||||||
|
{
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the forum of the notification reference (fall back)
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_forum()
|
||||||
|
{
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the reason for the notifcation (fall back)
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_reason()
|
||||||
|
{
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the special items to load (fall back)
|
* Get the special items to load (fall back)
|
||||||
*
|
*
|
||||||
|
|
|
@ -30,6 +30,16 @@ class disapprove_post extends \phpbb\notification\type\approve_post
|
||||||
return 'disapprove_post';
|
return 'disapprove_post';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the CSS style class of the notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_style_class()
|
||||||
|
{
|
||||||
|
return 'notification-disapproved';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Language key used to output the text
|
* Language key used to output the text
|
||||||
*
|
*
|
||||||
|
@ -62,10 +72,32 @@ class disapprove_post extends \phpbb\notification\type\approve_post
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function get_title()
|
public function get_title()
|
||||||
|
{
|
||||||
|
return $this->user->lang($this->language_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the HTML formatted reference of the notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_reference()
|
||||||
{
|
{
|
||||||
return $this->user->lang(
|
return $this->user->lang(
|
||||||
$this->language_key,
|
'NOTIFICATION_REFERENCE',
|
||||||
censor_text($this->get_data('topic_title')),
|
censor_text($this->get_data('topic_title'))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the reason for the disapproval notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_reason()
|
||||||
|
{
|
||||||
|
return $this->user->lang(
|
||||||
|
'NOTIFICATION_REASON',
|
||||||
$this->get_data('disapprove_reason')
|
$this->get_data('disapprove_reason')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,6 +30,16 @@ class disapprove_topic extends \phpbb\notification\type\approve_topic
|
||||||
return 'disapprove_topic';
|
return 'disapprove_topic';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the CSS style class of the notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_style_class()
|
||||||
|
{
|
||||||
|
return 'notification-disapproved';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Language key used to output the text
|
* Language key used to output the text
|
||||||
*
|
*
|
||||||
|
@ -62,10 +72,32 @@ class disapprove_topic extends \phpbb\notification\type\approve_topic
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function get_title()
|
public function get_title()
|
||||||
|
{
|
||||||
|
return $this->user->lang($this->language_key);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the HTML formatted reference of the notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_reference()
|
||||||
{
|
{
|
||||||
return $this->user->lang(
|
return $this->user->lang(
|
||||||
$this->language_key,
|
'NOTIFICATION_REFERENCE',
|
||||||
censor_text($this->get_data('topic_title')),
|
censor_text($this->get_data('topic_title'))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the reason for the disapproval notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_reason()
|
||||||
|
{
|
||||||
|
return $this->user->lang(
|
||||||
|
'NOTIFICATION_REASON',
|
||||||
$this->get_data('disapprove_reason')
|
$this->get_data('disapprove_reason')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -111,7 +111,20 @@ class pm extends \phpbb\notification\type\base
|
||||||
{
|
{
|
||||||
$username = $this->user_loader->get_username($this->get_data('from_user_id'), 'no_profile');
|
$username = $this->user_loader->get_username($this->get_data('from_user_id'), 'no_profile');
|
||||||
|
|
||||||
return $this->user->lang('NOTIFICATION_PM', $username, $this->get_data('message_subject'));
|
return $this->user->lang('NOTIFICATION_PM', $username);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the HTML formatted reference of the notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_reference()
|
||||||
|
{
|
||||||
|
return $this->user->lang(
|
||||||
|
'NOTIFICATION_REFERENCE',
|
||||||
|
$this->get_data('message_subject')
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -225,11 +225,23 @@ class post extends \phpbb\notification\type\base
|
||||||
return $this->user->lang(
|
return $this->user->lang(
|
||||||
$this->language_key,
|
$this->language_key,
|
||||||
phpbb_generate_string_list($usernames, $this->user),
|
phpbb_generate_string_list($usernames, $this->user),
|
||||||
censor_text($this->get_data('topic_title')),
|
|
||||||
$responders_cnt
|
$responders_cnt
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the HTML formatted reference of the notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_reference()
|
||||||
|
{
|
||||||
|
return $this->user->lang(
|
||||||
|
'NOTIFICATION_REFERENCE',
|
||||||
|
censor_text($this->get_data('topic_title'))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get email template
|
* Get email template
|
||||||
*
|
*
|
||||||
|
|
|
@ -30,6 +30,16 @@ class report_pm extends \phpbb\notification\type\pm
|
||||||
return 'report_pm';
|
return 'report_pm';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the CSS style class of the notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_style_class()
|
||||||
|
{
|
||||||
|
return 'notification-reported';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Language key used to output the text
|
* Language key used to output the text
|
||||||
*
|
*
|
||||||
|
@ -159,12 +169,36 @@ class report_pm extends \phpbb\notification\type\pm
|
||||||
|
|
||||||
$username = $this->user_loader->get_username($this->get_data('reporter_id'), 'no_profile');
|
$username = $this->user_loader->get_username($this->get_data('reporter_id'), 'no_profile');
|
||||||
|
|
||||||
|
return $this->user->lang(
|
||||||
|
$this->language_key,
|
||||||
|
$username
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the HTML formatted reference of the notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_reference()
|
||||||
|
{
|
||||||
|
return $this->user->lang(
|
||||||
|
'NOTIFICATION_REFERENCE',
|
||||||
|
censor_text($this->get_data('message_subject'))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the reason for the notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_reason()
|
||||||
|
{
|
||||||
if ($this->get_data('report_text'))
|
if ($this->get_data('report_text'))
|
||||||
{
|
{
|
||||||
return $this->user->lang(
|
return $this->user->lang(
|
||||||
$this->language_key,
|
'NOTIFICATION_REASON',
|
||||||
$username,
|
|
||||||
censor_text($this->get_data('message_subject')),
|
|
||||||
$this->get_data('report_text')
|
$this->get_data('report_text')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -172,17 +206,13 @@ class report_pm extends \phpbb\notification\type\pm
|
||||||
if (isset($this->user->lang[$this->get_data('reason_title')]))
|
if (isset($this->user->lang[$this->get_data('reason_title')]))
|
||||||
{
|
{
|
||||||
return $this->user->lang(
|
return $this->user->lang(
|
||||||
$this->language_key,
|
'NOTIFICATION_REASON',
|
||||||
$username,
|
|
||||||
censor_text($this->get_data('message_subject')),
|
|
||||||
$this->user->lang[$this->get_data('reason_title')]
|
$this->user->lang[$this->get_data('reason_title')]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->user->lang(
|
return $this->user->lang(
|
||||||
$this->language_key,
|
'NOTIFICATION_REASON',
|
||||||
$username,
|
|
||||||
censor_text($this->get_data('message_subject')),
|
|
||||||
$this->get_data('reason_description')
|
$this->get_data('reason_description')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,7 +107,19 @@ class report_pm_closed extends \phpbb\notification\type\pm
|
||||||
|
|
||||||
return $this->user->lang(
|
return $this->user->lang(
|
||||||
$this->language_key,
|
$this->language_key,
|
||||||
$username,
|
$username
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the HTML formatted reference of the notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_reference()
|
||||||
|
{
|
||||||
|
return $this->user->lang(
|
||||||
|
'NOTIFICATION_REFERENCE',
|
||||||
censor_text($this->get_data('message_subject'))
|
censor_text($this->get_data('message_subject'))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,16 @@ class report_post extends \phpbb\notification\type\post_in_queue
|
||||||
return 'report_post';
|
return 'report_post';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the CSS style class of the notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_style_class()
|
||||||
|
{
|
||||||
|
return 'notification-reported';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Language key used to output the text
|
* Language key used to output the text
|
||||||
*
|
*
|
||||||
|
@ -132,12 +142,36 @@ class report_post extends \phpbb\notification\type\post_in_queue
|
||||||
|
|
||||||
$username = $this->user_loader->get_username($this->get_data('reporter_id'), 'no_profile');
|
$username = $this->user_loader->get_username($this->get_data('reporter_id'), 'no_profile');
|
||||||
|
|
||||||
|
return $this->user->lang(
|
||||||
|
$this->language_key,
|
||||||
|
$username
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the HTML formatted reference of the notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_reference()
|
||||||
|
{
|
||||||
|
return $this->user->lang(
|
||||||
|
'NOTIFICATION_REFERENCE',
|
||||||
|
censor_text($this->get_data('post_subject'))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the reason for the notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_reason()
|
||||||
|
{
|
||||||
if ($this->get_data('report_text'))
|
if ($this->get_data('report_text'))
|
||||||
{
|
{
|
||||||
return $this->user->lang(
|
return $this->user->lang(
|
||||||
$this->language_key,
|
'NOTIFICATION_REASON',
|
||||||
$username,
|
|
||||||
censor_text($this->get_data('post_subject')),
|
|
||||||
$this->get_data('report_text')
|
$this->get_data('report_text')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -145,17 +179,13 @@ class report_post extends \phpbb\notification\type\post_in_queue
|
||||||
if (isset($this->user->lang[$this->get_data('reason_title')]))
|
if (isset($this->user->lang[$this->get_data('reason_title')]))
|
||||||
{
|
{
|
||||||
return $this->user->lang(
|
return $this->user->lang(
|
||||||
$this->language_key,
|
'NOTIFICATION_REASON',
|
||||||
$username,
|
|
||||||
censor_text($this->get_data('post_subject')),
|
|
||||||
$this->user->lang[$this->get_data('reason_title')]
|
$this->user->lang[$this->get_data('reason_title')]
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->user->lang(
|
return $this->user->lang(
|
||||||
$this->language_key,
|
'NOTIFICATION_REASON',
|
||||||
$username,
|
|
||||||
censor_text($this->get_data('post_subject')),
|
|
||||||
$this->get_data('reason_description')
|
$this->get_data('reason_description')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,7 +114,19 @@ class report_post_closed extends \phpbb\notification\type\post
|
||||||
|
|
||||||
return $this->user->lang(
|
return $this->user->lang(
|
||||||
$this->language_key,
|
$this->language_key,
|
||||||
$username,
|
$username
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the HTML formatted reference of the notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_reference()
|
||||||
|
{
|
||||||
|
return $this->user->lang(
|
||||||
|
'NOTIFICATION_REFERENCE',
|
||||||
censor_text($this->get_data('post_subject'))
|
censor_text($this->get_data('post_subject'))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -151,8 +151,32 @@ class topic extends \phpbb\notification\type\base
|
||||||
|
|
||||||
return $this->user->lang(
|
return $this->user->lang(
|
||||||
$this->language_key,
|
$this->language_key,
|
||||||
$username,
|
$username
|
||||||
censor_text($this->get_data('topic_title')),
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the HTML formatted reference of the notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_reference()
|
||||||
|
{
|
||||||
|
return $this->user->lang(
|
||||||
|
'NOTIFICATION_REFERENCE',
|
||||||
|
censor_text($this->get_data('topic_title'))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the forum of the notification reference
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_forum()
|
||||||
|
{
|
||||||
|
return $this->user->lang(
|
||||||
|
'NOTIFICATION_FORUM',
|
||||||
$this->get_data('forum_name')
|
$this->get_data('forum_name')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,6 +87,13 @@ interface type_interface
|
||||||
*/
|
*/
|
||||||
public function load_special($data, $notifications);
|
public function load_special($data, $notifications);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the CSS style class of the notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_style_class();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the HTML formatted title of this notification
|
* Get the HTML formatted title of this notification
|
||||||
*
|
*
|
||||||
|
@ -94,6 +101,20 @@ interface type_interface
|
||||||
*/
|
*/
|
||||||
public function get_title();
|
public function get_title();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the HTML formatted reference of the notification
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_reference();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the forum of the notification reference
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function get_forum();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the url to this item
|
* Get the url to this item
|
||||||
*
|
*
|
||||||
|
|
|
@ -18,14 +18,17 @@
|
||||||
</li>
|
</li>
|
||||||
<!-- ENDIF -->
|
<!-- ENDIF -->
|
||||||
<!-- BEGIN notifications -->
|
<!-- BEGIN notifications -->
|
||||||
<li class="<!-- IF notifications.UNREAD --> bg2<!-- ENDIF -->">
|
<li class="<!-- IF notifications.UNREAD --> bg2<!-- ENDIF --><!-- IF notifications.STYLING --> {notifications.STYLING}<!-- ENDIF --><!-- IF not notifications.URL --> no-url<!-- ENDIF -->">
|
||||||
<!-- IF notifications.URL -->
|
<!-- IF notifications.URL -->
|
||||||
<a href="<!-- IF notifications.UNREAD -->{notifications.U_MARK_READ}" data-real-url="{notifications.URL}<!-- ELSE -->{notifications.URL}<!-- ENDIF -->">
|
<a class="notification-block" href="<!-- IF notifications.UNREAD -->{notifications.U_MARK_READ}" data-real-url="{notifications.URL}<!-- ELSE -->{notifications.URL}<!-- ENDIF -->">
|
||||||
<!-- ENDIF -->
|
<!-- ENDIF -->
|
||||||
<!-- IF notifications.AVATAR -->{notifications.AVATAR}<!-- ELSE --><img src="{T_THEME_PATH}/images/no_avatar.gif" alt="" /><!-- ENDIF -->
|
<!-- IF notifications.AVATAR -->{notifications.AVATAR}<!-- ELSE --><img src="{T_THEME_PATH}/images/no_avatar.gif" alt="" /><!-- ENDIF -->
|
||||||
<div class="notification_text">
|
<div class="notification_text">
|
||||||
<p>{notifications.FORMATTED_TITLE}</p>
|
<p class="notification-title">{notifications.FORMATTED_TITLE}</p>
|
||||||
<p>» {notifications.TIME}</p>
|
<!-- IF notifications.REFERENCE --><p class="notification-reference">{notifications.REFERENCE}</p><!-- ENDIF -->
|
||||||
|
<!-- IF notifications.FORUM --><p class="notification-forum">{notifications.FORUM}</p><!-- ENDIF -->
|
||||||
|
<!-- IF notifications.REASON --><p class="notification-reason">{notifications.REASON}</p><!-- ENDIF -->
|
||||||
|
<p class="notification-time">{notifications.TIME}</p>
|
||||||
</div>
|
</div>
|
||||||
<!-- IF notifications.URL --></a><!-- ENDIF -->
|
<!-- IF notifications.URL --></a><!-- ENDIF -->
|
||||||
<!-- IF notifications.UNREAD -->
|
<!-- IF notifications.UNREAD -->
|
||||||
|
|
|
@ -65,19 +65,18 @@
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="topiclist cplist two-columns">
|
<ul class="topiclist cplist two-columns">
|
||||||
<!-- BEGIN notification_list -->
|
<!-- BEGIN notification_list -->
|
||||||
<li class="row<!-- IF notification_list.UNREAD --> bg3<!-- ELSE --><!-- IF notification_list.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF --><!-- ENDIF -->">
|
<li class="row<!-- IF notification_list.UNREAD --> bg3<!-- ELSE --><!-- IF notification_list.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF --><!-- ENDIF --><!-- IF notification_list.STYLING --> {notification_list.STYLING}<!-- ENDIF -->">
|
||||||
<dl>
|
<dl>
|
||||||
<dt>
|
<dt>
|
||||||
<div class="list-inner">
|
<div class="list-inner">
|
||||||
<!-- IF notification_list.AVATAR -->{notification_list.AVATAR}<!-- ELSE --><img src="{T_THEME_PATH}/images/no_avatar.gif" alt="" /><!-- ENDIF -->
|
<!-- IF notification_list.AVATAR -->{notification_list.AVATAR}<!-- ELSE --><img src="{T_THEME_PATH}/images/no_avatar.gif" alt="" /><!-- ENDIF -->
|
||||||
<div class="notifications">
|
<div class="notifications">
|
||||||
<!-- IF notification_list.URL --><a href="<!-- IF notification_list.UNREAD -->{notification_list.U_MARK_READ}<!-- ELSE -->{notification_list.URL}<!-- ENDIF -->"><!-- ENDIF -->
|
<!-- IF notification_list.URL --><a href="<!-- IF notification_list.UNREAD -->{notification_list.U_MARK_READ}<!-- ELSE -->{notification_list.URL}<!-- ENDIF -->"><!-- ENDIF -->
|
||||||
<p class="notifications_title">{notification_list.FORMATTED_TITLE}</p>
|
<p class="notifications_title">{notification_list.FORMATTED_TITLE}<!-- IF notification_list.REFERENCE --> {notification_list.REFERENCE}<!-- ENDIF --></p>
|
||||||
<!-- IF notification_list.URL --></a><!-- ENDIF -->
|
<!-- IF notification_list.URL --></a><!-- ENDIF -->
|
||||||
|
<!-- IF notification_list.FORUM --><p class="notifications_forum">{notification_list.FORUM}</p><!-- ENDIF -->
|
||||||
|
<!-- IF notification_list.REASON --><p class="notifications_reason">{notification_list.REASON}</p><!-- ENDIF -->
|
||||||
<p class="notifications_time">{notification_list.TIME}</p>
|
<p class="notifications_time">{notification_list.TIME}</p>
|
||||||
<!-- IF not notification_list.URL and notification_list.U_MARK_READ -->
|
|
||||||
<p><a href="{notification_list.U_MARK_READ}">{L_MARK_READ}</a></p>
|
|
||||||
<!-- ENDIF -->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</dt>
|
</dt>
|
||||||
|
|
|
@ -112,6 +112,32 @@
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl .dropdown-extended .header .header_settings {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Notifications
|
||||||
|
----------------------------------------*/
|
||||||
|
.rtl .notification_list ul li img {
|
||||||
|
float: right;
|
||||||
|
margin-left: 5px;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rtl .notification_list div.notifications {
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rtl .notification_text {
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 58px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rtl .notification_list p.notification-time {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
/* Responsive breadcrumbs
|
/* Responsive breadcrumbs
|
||||||
----------------------------------------*/
|
----------------------------------------*/
|
||||||
.rtl .breadcrumbs .crumb {
|
.rtl .breadcrumbs .crumb {
|
||||||
|
|
|
@ -1173,3 +1173,14 @@ ul.linklist li.responsive-menu a.responsive-menu-link:hover:before, ul.linklist
|
||||||
#minitabs .dropdown-contents {
|
#minitabs .dropdown-contents {
|
||||||
background-color: #F1F8FF;
|
background-color: #F1F8FF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Notifications
|
||||||
|
---------------------------------------- */
|
||||||
|
|
||||||
|
.notification_list p.notification-time {
|
||||||
|
color: #4C5D77;
|
||||||
|
}
|
||||||
|
|
||||||
|
li.notification-reported strong, li.notification-disapproved strong {
|
||||||
|
color: #D31141;
|
||||||
|
}
|
||||||
|
|
|
@ -1101,7 +1101,7 @@ form > p.post-notice strong {
|
||||||
display: none;
|
display: none;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 330px;
|
width: 340px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
top: 22px;
|
top: 22px;
|
||||||
}
|
}
|
||||||
|
@ -1115,7 +1115,7 @@ form > p.post-notice strong {
|
||||||
|
|
||||||
.dropdown-extended ul li {
|
.dropdown-extended ul li {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0 !important;
|
||||||
float: none;
|
float: none;
|
||||||
border-bottom: 1px solid;
|
border-bottom: 1px solid;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
|
@ -1160,8 +1160,8 @@ form > p.post-notice strong {
|
||||||
font-size: 1.1em;
|
font-size: 1.1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown-extended ul li a{
|
.dropdown-extended ul li a, .dropdown-extended ul li.no-url {
|
||||||
padding: 10px;
|
padding: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown-extended .footer > a {
|
.dropdown-extended .footer > a {
|
||||||
|
@ -1176,28 +1176,55 @@ form > p.post-notice strong {
|
||||||
.notification_list ul li img {
|
.notification_list ul li img {
|
||||||
float: left;
|
float: left;
|
||||||
max-height: 50px;
|
max-height: 50px;
|
||||||
|
max-width: 50px;
|
||||||
width: auto !important;
|
width: auto !important;
|
||||||
height: auto !important;
|
height: auto !important;
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification_list ul li p {
|
.notification_list ul li p {
|
||||||
margin: 0;
|
margin-bottom: 4px;
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.notification_list p.notification-reference,
|
||||||
|
.notification_list p.notification-location,
|
||||||
|
.notification_list li a p.notification-reason {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification_list p.notification-time {
|
||||||
|
font-size: 10px;
|
||||||
|
margin: 0;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
.notification_list div.notifications {
|
.notification_list div.notifications {
|
||||||
|
margin-left: 50px;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.notification_list div.notifications a {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
.notification_list p.notifications_title {
|
.notification_list p.notifications_title {
|
||||||
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
|
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
|
||||||
font-size: 13px !important;
|
font-size: 13px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification_list p.notifications_title strong {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification_list p.notifications_time {
|
.notification_list p.notifications_time {
|
||||||
font-size: 11px !important;
|
font-size: 10px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification_text {
|
||||||
|
margin-left: 58px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification_text:after {
|
.notification_text:after {
|
||||||
|
|
|
@ -62,6 +62,9 @@ ul.linklist li.small-icon > a, ul.linklist li.breadcrumbs span:first-child > a {
|
||||||
top: 50%;
|
top: 50%;
|
||||||
width: 30px;
|
width: 30px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
|
-webkit-box-sizing: border-box;
|
||||||
|
-moz-box-sizing: border-box;
|
||||||
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown-extended li:hover a.mark_read {
|
.dropdown-extended li:hover a.mark_read {
|
||||||
|
|
|
@ -169,7 +169,7 @@ function marklist(id, name, state)
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="notification_scroll">
|
<div class="notification_scroll">
|
||||||
<table class="tablebg" width="310" cellspacing="1">
|
<table class="tablebg" cellspacing="1">
|
||||||
<!-- BEGIN notifications -->
|
<!-- BEGIN notifications -->
|
||||||
<tr class="row<!-- IF notifications.UNREAD -->2<!-- ELSE -->1<!-- ENDIF -->">
|
<tr class="row<!-- IF notifications.UNREAD -->2<!-- ELSE -->1<!-- ENDIF -->">
|
||||||
<td width="50">
|
<td width="50">
|
||||||
|
@ -180,7 +180,11 @@ function marklist(id, name, state)
|
||||||
<!-- IF notifications.URL --><a href="<!-- IF notifications.UNREAD -->{notifications.U_MARK_READ}<!-- ELSE -->{notifications.URL}<!-- ENDIF -->"><!-- ENDIF -->
|
<!-- IF notifications.URL --><a href="<!-- IF notifications.UNREAD -->{notifications.U_MARK_READ}<!-- ELSE -->{notifications.URL}<!-- ENDIF -->"><!-- ENDIF -->
|
||||||
{notifications.FORMATTED_TITLE}
|
{notifications.FORMATTED_TITLE}
|
||||||
<!-- IF notifications.URL --></a><!-- ENDIF -->
|
<!-- IF notifications.URL --></a><!-- ENDIF -->
|
||||||
<br />» {notifications.TIME}
|
|
||||||
|
<!-- IF notifications.REFERENCE --><br /><span class="notification-reference">{notifications.REFERENCE}</span><!-- ENDIF -->
|
||||||
|
<!-- IF notifications.FORUM --><br /><span class="notification-forum">{notifications.FORUM}</span><!-- ENDIF -->
|
||||||
|
<!-- IF notifications.REASON --><br /><span class="notification-reason">{notifications.REASON}</span><!-- ENDIF -->
|
||||||
|
<br /><span class="notification-time">{notifications.TIME}</span>
|
||||||
<!-- IF not notifications.URL and notifications.UNREAD -->
|
<!-- IF not notifications.URL and notifications.UNREAD -->
|
||||||
<br /><a href="{notifications.U_MARK_READ}">{L_MARK_READ}</a>
|
<br /><a href="{notifications.U_MARK_READ}">{L_MARK_READ}</a>
|
||||||
<!-- ENDIF -->
|
<!-- ENDIF -->
|
||||||
|
|
|
@ -92,9 +92,11 @@
|
||||||
<td valign="top">
|
<td valign="top">
|
||||||
<span class="gen">
|
<span class="gen">
|
||||||
<!-- IF notification_list.URL --><a href="<!-- IF notification_list.UNREAD -->{notification_list.U_MARK_READ}<!-- ELSE -->{notification_list.URL}<!-- ENDIF -->"><!-- ENDIF -->
|
<!-- IF notification_list.URL --><a href="<!-- IF notification_list.UNREAD -->{notification_list.U_MARK_READ}<!-- ELSE -->{notification_list.URL}<!-- ENDIF -->"><!-- ENDIF -->
|
||||||
<strong>{notification_list.FORMATTED_TITLE}</strong>
|
{notification_list.FORMATTED_TITLE}<!-- IF notification_list.REFERENCE --> {notification_list.REFERENCE}<!-- ENDIF -->
|
||||||
<!-- IF notification_list.URL --></a><!-- ENDIF --><br />
|
<!-- IF notification_list.URL --></a><!-- ENDIF --><br />
|
||||||
{notification_list.TIME}
|
<!-- IF notification_list.FORUM --><span class="notifications_forum">{notification_list.FORUM}</span><br /><!-- ENDIF -->
|
||||||
|
<!-- IF notification_list.REASON --><span class="notifications_reason">{notification_list.REASON}</span><br /><!-- ENDIF -->
|
||||||
|
<span class="notifications_time">{notification_list.TIME}</span>
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
<td align="center">
|
<td align="center">
|
||||||
|
|
|
@ -1189,12 +1189,21 @@ a.imageset {
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#notification_list table {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
#notification_list .notification_title {
|
#notification_list .notification_title {
|
||||||
padding: 5px;
|
padding: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#notification_list .notification_title:after {
|
||||||
|
clear: both;
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
#notification_list .header {
|
#notification_list .header {
|
||||||
width: 298px;
|
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
border: 1px solid #A9B8C2;
|
border: 1px solid #A9B8C2;
|
||||||
|
@ -1208,7 +1217,6 @@ a.imageset {
|
||||||
}
|
}
|
||||||
|
|
||||||
#notification_list .footer {
|
#notification_list .footer {
|
||||||
width: 300px;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 1.2em;
|
font-size: 1.2em;
|
||||||
border: 1px solid #A9B8C2;
|
border: 1px solid #A9B8C2;
|
||||||
|
@ -1223,3 +1231,12 @@ a.imageset {
|
||||||
#notification_list .footer > a {
|
#notification_list .footer > a {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#notification_list .notification-time {
|
||||||
|
font-size: 0.9em;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification_list .notifications_time {
|
||||||
|
font-size: 0.8em;
|
||||||
|
}
|
||||||
|
|
|
@ -75,7 +75,7 @@ class phpbb_notification_user_list_trim_test extends phpbb_database_test_case
|
||||||
'post_username' => 'A',
|
'post_username' => 'A',
|
||||||
'responders' => null,
|
'responders' => null,
|
||||||
),
|
),
|
||||||
'A replied to the topic “Test”.',
|
'<strong>Reply</strong> from A in topic:',
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
array(
|
array(
|
||||||
|
@ -86,7 +86,7 @@ class phpbb_notification_user_list_trim_test extends phpbb_database_test_case
|
||||||
array('username' => '', 'poster_id' => 3),
|
array('username' => '', 'poster_id' => 3),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
'A and B replied to the topic “Test”.',
|
'<strong>Reply</strong> from A and B in topic:',
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
array(
|
array(
|
||||||
|
@ -98,7 +98,7 @@ class phpbb_notification_user_list_trim_test extends phpbb_database_test_case
|
||||||
array('username' => '', 'poster_id' => 4),
|
array('username' => '', 'poster_id' => 4),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
'A, B, and C replied to the topic “Test”.',
|
'<strong>Reply</strong> from A, B, and C in topic:',
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
array(
|
array(
|
||||||
|
@ -111,7 +111,7 @@ class phpbb_notification_user_list_trim_test extends phpbb_database_test_case
|
||||||
array('username' => '', 'poster_id' => 5),
|
array('username' => '', 'poster_id' => 5),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
'A, B, C, and D replied to the topic “Test”.',
|
'<strong>Reply</strong> from A, B, C, and D in topic:',
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
array(
|
array(
|
||||||
|
@ -125,7 +125,7 @@ class phpbb_notification_user_list_trim_test extends phpbb_database_test_case
|
||||||
array('username' => '', 'poster_id' => 6),
|
array('username' => '', 'poster_id' => 6),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
'A, B, C, and 2 others replied to the topic “Test”.',
|
'<strong>Reply</strong> from A, B, C, and 2 others in topic:',
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue