1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-30 21:40:43 +02:00

Merge branch 'develop' of https://github.com/phpbb/phpbb3 into ticket/11314

This commit is contained in:
Marc Alexander
2013-02-27 21:40:02 +01:00
138 changed files with 8154 additions and 3123 deletions

View File

@@ -37,14 +37,24 @@ phpbb.addAjaxCallback('mark_forums_read', function(res) {
// Mark subforums read
$('a.subforum[class*="unread"]').removeClass('unread').addClass('read');
// Mark topics read if we are watching a category and showing active topics
if ($('#active_topics').length) {
phpbb.ajaxCallbacks['mark_topics_read'].call(this, res, false);
}
// Update mark forums read links
$('[data-ajax="mark_forums_read"]').attr('href', res.U_MARK_FORUMS);
phpbb.closeDarkenWrapper(3000);
});
// This callback will mark all topic icons read
phpbb.addAjaxCallback('mark_topics_read', function(res) {
/**
* This callback will mark all topic icons read
*
* @param update_topic_links bool Wether "Mark topics read" links should be
* updated. Defaults to true.
*/
phpbb.addAjaxCallback('mark_topics_read', function(res, update_topic_links) {
var readTitle = res.NO_UNREAD_POSTS;
var unreadTitle = res.UNREAD_POSTS;
var iconsArray = {
@@ -58,6 +68,10 @@ phpbb.addAjaxCallback('mark_topics_read', function(res) {
var classMap = {};
var classNames = [];
if (typeof update_topic_links === 'undefined') {
update_topic_links = true;
}
$.each(iconsArray, function(unreadClass, readClass) {
$.each(iconsState, function(key, value) {
// Only topics can be hot
@@ -85,7 +99,9 @@ phpbb.addAjaxCallback('mark_topics_read', function(res) {
$('a').has('span.icon_topic_newest').remove();
// Update mark topics read links
$('[data-ajax="mark_topics_read"]').attr('href', res.U_MARK_TOPICS);
if (update_topic_links) {
$('[data-ajax="mark_topics_read"]').attr('href', res.U_MARK_TOPICS);
}
phpbb.closeDarkenWrapper(3000);
});
@@ -193,6 +209,21 @@ $('#quick-mod-select').change(function () {
$('#quickmodform').submit();
});
/**
* Toggle the member search panel in memberlist.php.
*
* If user returns to search page after viewing results the search panel is automatically displayed.
* In any case the link will toggle the display status of the search panel and link text will be
* appropriately changed based on the status of the search panel.
*/
$('#member_search').click(function () {
$('#memberlist_search').slideToggle('fast');
phpbb.ajax_callbacks['alt_text'].call(this);
// Focus on the username textbox if it's available and displayed
if ($('#memberlist_search').is(':visible')) {
$('#username').focus();
}
return false;
});
})(jQuery); // Avoid conflicts with other libraries

View File

@@ -3,13 +3,11 @@
<!-- INCLUDE memberlist_search.html -->
<form method="post" id="results" action="{S_MODE_ACTION}" onsubmit="insert_marked(this.user); return false">
<!-- ELSEIF S_SEARCH_USER -->
<!-- INCLUDE overall_header.html -->
<!-- INCLUDE memberlist_search.html -->
<form method="post" action="{S_MODE_ACTION}">
<!-- ELSE -->
<!-- INCLUDE overall_header.html -->
<div class="panel" id="memberlist_search"<!-- IF not S_SEARCH_USER --> style="display: none;"<!-- ENDIF -->>
<!-- INCLUDE memberlist_search.html -->
</div>
<form method="post" action="{S_MODE_ACTION}">
<!-- ENDIF -->
@@ -32,8 +30,7 @@
<ul class="linklist">
<li>
<!-- IF U_FIND_MEMBER and not S_SEARCH_USER --><a href="{U_FIND_MEMBER}">{L_FIND_USERNAME}</a> &bull; <!-- ELSEIF S_SEARCH_USER and U_HIDE_FIND_MEMBER and not S_IN_SEARCH_POPUP --><a href="{U_HIDE_FIND_MEMBER}">{L_HIDE_MEMBER_SEARCH}</a> &bull; <!-- ENDIF -->
<!-- IF U_FIND_MEMBER and not S_SEARCH_USER --><a href="{U_FIND_MEMBER}" id="member_search" data-alt-text="{LA_HIDE_MEMBER_SEARCH}">{L_FIND_USERNAME}</a> &bull; <!-- ELSEIF S_SEARCH_USER and U_HIDE_FIND_MEMBER and not S_IN_SEARCH_POPUP --><a href="{U_HIDE_FIND_MEMBER}" id="member_search" data-alt-text="{LA_FIND_USERNAME}">{L_HIDE_MEMBER_SEARCH}</a> &bull; <!-- ENDIF -->
<strong style="font-size: 0.95em;">
<!-- BEGIN first_char -->
<a href="{first_char.U_SORT}">{first_char.DESC}</a>&nbsp;

View File

@@ -37,9 +37,8 @@ function insert_single(user)
}
// ]]>
</script>
<script type="text/javascript" src="{T_SUPER_TEMPLATE_PATH}/forum_fn.js"></script>
<!-- ENDIF -->
<!-- INCLUDEJS template/forum_fn.js -->
<h2 class="solo">{L_FIND_USERNAME}</h2>
<form method="post" action="{S_MODE_ACTION}" id="search_memberlist">

View File

@@ -8,10 +8,10 @@
<!-- IF FOLDER_STATUS and FOLDER_MAX_MESSAGES neq 0 --><p>{FOLDER_STATUS}</p><!-- ENDIF -->
<!-- IF U_POST_REPLY_PM or U_POST_NEW_TOPIC or U_FORWARD_PM -->
<div class="buttons">
<!-- IF U_POST_REPLY_PM --><div class="pmreply-icon"><a title="{L_POST_REPLY_PM}" href="{U_POST_REPLY_PM}"><span></span>{L_POST_REPLY_PM}</a></div>
<!-- ELSEIF U_POST_NEW_TOPIC --><div class="newpm-icon"><a href="{U_POST_NEW_TOPIC}" accesskey="n" title="{L_UCP_PM_COMPOSE}"><span></span>{L_UCP_PM_COMPOSE}</a></div><!-- ENDIF -->
<!-- IF U_FORWARD_PM --><div class="forwardpm-icon"><a title="{L_POST_FORWARD_PM}" href="{U_FORWARD_PM}"><span></span>{L_FORWARD_PM}</a></div><!-- ENDIF -->
<!-- IF U_POST_REPLY_PM and S_PM_RECIPIENTS gt 1 --><div class="reply-all"><a class="left" title="{L_REPLY_TO_ALL}" href="{U_POST_REPLY_ALL}">{L_REPLY_TO_ALL}</a></div><!-- ENDIF -->
<!-- IF U_POST_REPLY_PM --><div class="pmreply-icon"><a title="{L_POST_REPLY_PM}" href="{U_POST_REPLY_PM}"><span></span>{L_BUTTON_PM_REPLY}</a></div>
<!-- ELSEIF U_POST_NEW_TOPIC --><div class="newpm-icon"><a href="{U_POST_NEW_TOPIC}" accesskey="n" title="{L_UCP_PM_COMPOSE}"><span></span>{L_BUTTON_PM_NEW}</a></div><!-- ENDIF -->
<!-- IF U_FORWARD_PM --><div class="forwardpm-icon"><a title="{L_POST_FORWARD_PM}" href="{U_FORWARD_PM}"><span></span>{L_BUTTON_PM_FORWARD}</a></div><!-- ENDIF -->
<!-- IF U_POST_REPLY_PM and S_PM_RECIPIENTS gt 1 --><div class="reply-all"><a title="{L_REPLY_TO_ALL}" href="{U_POST_REPLY_ALL}">{L_BUTTON_PM_REPLY_ALL}</a></div><!-- ENDIF -->
</div>
<!-- ENDIF -->

View File

@@ -39,7 +39,7 @@
<!-- IF not S_IS_BOT and S_DISPLAY_POST_INFO -->
<div class="buttons">
<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->post-icon<!-- ENDIF -->" title="<!-- IF S_IS_LOCKED -->{L_FORUM_LOCKED}<!-- ELSE -->{L_POST_TOPIC}<!-- ENDIF -->"><a href="{U_POST_NEW_TOPIC}"><span></span><!-- IF S_IS_LOCKED -->{L_FORUM_LOCKED}<!-- ELSE -->{L_POST_TOPIC}<!-- ENDIF --></a></div>
<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->post-icon<!-- ENDIF -->" title="<!-- IF S_IS_LOCKED -->{L_FORUM_LOCKED}<!-- ELSE -->{L_POST_TOPIC}<!-- ENDIF -->"><a href="{U_POST_NEW_TOPIC}"><span></span><!-- IF S_IS_LOCKED -->{L_BUTTON_FORUM_LOCKED}<!-- ELSE -->{L_BUTTON_NEW_TOPIC}<!-- ENDIF --></a></div>
</div>
<!-- ENDIF -->
@@ -130,7 +130,7 @@
<ul class="topiclist">
<li class="header">
<dl class="icon">
<dt><!-- IF S_DISPLAY_ACTIVE -->{L_ACTIVE_TOPICS}<!-- ELSEIF topicrow.S_TOPIC_TYPE_SWITCH and (topicrow.S_POST_ANNOUNCE or topicrow.S_POST_GLOBAL) -->{L_ANNOUNCEMENTS}<!-- ELSE -->{L_TOPICS}<!-- ENDIF --></dt>
<dt<!-- IF S_DISPLAY_ACTIVE --> id="active_topics"<!-- ENDIF -->><!-- IF S_DISPLAY_ACTIVE -->{L_ACTIVE_TOPICS}<!-- ELSEIF topicrow.S_TOPIC_TYPE_SWITCH and (topicrow.S_POST_ANNOUNCE or topicrow.S_POST_GLOBAL) -->{L_ANNOUNCEMENTS}<!-- ELSE -->{L_TOPICS}<!-- ENDIF --></dt>
<dd class="posts">{L_REPLIES}</dd>
<dd class="views">{L_VIEWS}</dd>
<dd class="lastpost"><span>{L_LAST_POST}</span></dd>
@@ -205,7 +205,7 @@
<div class="topic-actions">
<!-- IF not S_IS_BOT and S_DISPLAY_POST_INFO -->
<div class="buttons">
<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->post-icon<!-- ENDIF -->" title="<!-- IF S_IS_LOCKED -->{L_FORUM_LOCKED}<!-- ELSE -->{L_POST_TOPIC}<!-- ENDIF -->"><a href="{U_POST_NEW_TOPIC}"><span></span><!-- IF S_IS_LOCKED -->{L_FORUM_LOCKED}<!-- ELSE -->{L_POST_TOPIC}<!-- ENDIF --></a></div>
<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->post-icon<!-- ENDIF -->" title="<!-- IF S_IS_LOCKED -->{L_FORUM_LOCKED}<!-- ELSE -->{L_POST_TOPIC}<!-- ENDIF -->"><a href="{U_POST_NEW_TOPIC}"><span></span><!-- IF S_IS_LOCKED -->{L_BUTTON_FORUM_LOCKED}<!-- ELSE -->{L_BUTTON_NEW_TOPIC}<!-- ENDIF --></a></div>
</div>
<!-- ENDIF -->

View File

@@ -29,7 +29,7 @@
<div class="buttons">
<!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED_SHORT}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></a></div>
<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_BUTTON_TOPIC_LOCKED}<!-- ELSE -->{L_BUTTON_POST_REPLY}<!-- ENDIF --></a></div>
<!-- ENDIF -->
</div>
@@ -264,7 +264,7 @@
<div class="topic-actions">
<div class="buttons">
<!-- IF not S_IS_BOT and S_DISPLAY_REPLY_INFO -->
<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED_SHORT}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF --></a></div>
<div class="<!-- IF S_IS_LOCKED -->locked-icon<!-- ELSE -->reply-icon<!-- ENDIF -->"><a href="{U_POST_REPLY_TOPIC}" title="<!-- IF S_IS_LOCKED -->{L_TOPIC_LOCKED}<!-- ELSE -->{L_POST_REPLY}<!-- ENDIF -->"><span></span><!-- IF S_IS_LOCKED -->{L_BUTTON_TOPIC_LOCKED}<!-- ELSE -->{L_BUTTON_POST_REPLY}<!-- ENDIF --></a></div>
<!-- ENDIF -->
</div>

View File

@@ -14,40 +14,57 @@
.buttons div {
float: left;
margin: 0 5px 0 0;
background-position: 0 100%;
}
/* Rolloff state */
.buttons div a {
display: block;
width: 100%;
height: 100%;
background-position: 0 0;
display: inline-block;
line-height: 17.5px;
height: 18px;
font-size: 13px;
white-space: nowrap;
border: 1px solid transparent;
border-radius: 4px;
background: transparent none 0 0 repeat-x;
padding: 2px 22px 2px 8px;
font-family: Verdana, Arial, Helvetica;
position: relative;
overflow: hidden;
text-decoration: none !important;
outline-style: none !important;
vertical-align: bottom;
*padding-right: 8px;
}
/* Hide <a> text and hide off-state image when rolling over (prevents flicker in IE) */
/*.buttons div span { display: none; }*/
/*.buttons div a:hover { background-image: none; }*/
.buttons div span { position: absolute; width: 100%; height: 100%; cursor: pointer;}
.buttons div a:hover span { background-position: 0 100%; }
.buttons div span { display: none; }
.buttons div a:after {
content: '';
display: block;
position: absolute;
top: 50%;
right: 6px;
width: 12px;
height: 12px;
margin-top: -6px;
background: transparent 0 0 no-repeat;
}
.buttons div a:hover:after {
background-position: 0 -20px;
}
/* Big button images */
.reply-icon span { background: transparent none 0 0 no-repeat; }
.post-icon span { background: transparent none 0 0 no-repeat; }
.locked-icon span { background: transparent none 0 0 no-repeat; }
.pmreply-icon span { background: none 0 0 no-repeat; }
.newpm-icon span { background: none 0 0 no-repeat; }
.forwardpm-icon span { background: none 0 0 no-repeat; }
.buttons div.reply-icon a:after, .buttons div.pmreply-icon a:after { background-position: -20px 0; }
.buttons div.reply-icon a:hover:after, .buttons div.pmreply-icon a:hover:after { background-position: -20px -20px; }
/* Set big button dimensions */
.buttons div.reply-icon { width: 96px; height: 25px; }
.buttons div.post-icon { width: 96px; height: 25px; }
.buttons div.locked-icon { width: 88px; height: 25px; }
.buttons div.pmreply-icon { width: 96px; height: 25px; }
.buttons div.newpm-icon { width: 84px; height: 25px; }
.buttons div.forwardpm-icon { width: 96px; height: 25px; }
.buttons div.post-icon a:after, .buttons div.newpm-icon a:after { background-position: 0 0; }
.buttons div.post-icon a:hover:after, .buttons div.newpm-icon a:hover:after { background-position: 0 -20px; }
.buttons div.locked-icon a:after { background-position: -60px 0; }
.buttons div.locked-icon a:hover:after { background-position: -60px -20px; }
.buttons div.forwardpm-icon a:after { background-position: -40px 0; }
.buttons div.forwardpm-icon a:hover:after { background-position: -40px -20px; }
/* Sub-header (navigation bar)
--------------------------------------------- */

View File

@@ -649,14 +649,6 @@ fieldset.polls dd div {
Colours and backgrounds for buttons.css
-------------------------------------------------------------- */
/* Big button images */
.reply-icon span { background-image: url("./en/button_topic_reply.gif"); }
.post-icon span { background-image: url("./en/button_topic_new.gif"); }
.locked-icon span { background-image: url("./en/button_topic_locked.gif"); }
.pmreply-icon span { background-image: url("./en/button_pm_reply.gif") ;}
.newpm-icon span { background-image: url("./en/button_pm_new.gif") ;}
.forwardpm-icon span { background-image: url("./en/button_pm_forward.gif") ;}
a.print {
background-image: url("./images/icon_print.gif");
}
@@ -665,6 +657,33 @@ a.sendemail {
background-image: url("./images/icon_sendemail.gif");
}
.buttons div a {
border-color: #C7C3BF;
background-color: #FFFFFF;
background-image: -moz-linear-gradient(top, #FFFFFF, #E9E9E9);
background-image: -webkit-linear-gradient(top, #FFFFFF, #E9E9E9);
background-image: -o-linear-gradient(top, #FFFFFF, #E9E9E9);
background-image: linear-gradient(to bottom, #FFFFFF, #E9E9E9);
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFFFFF', EndColorStr='#E9E9E9')";
box-shadow: 0 0 0 1px #FFFFFF inset;
-webkit-box-shadow: 0 0 0 1px #FFFFFF inset;
color: #BC2A4D !important;
}
.buttons div a:hover {
border-color: #0a8ed0;
background-image: -moz-linear-gradient(top, #E9E9E9, #FFFFFF);
background-image: -webkit-linear-gradient(top, #E9E9E9, #FFFFFF);
background-image: -o-linear-gradient(top, #E9E9E9, #FFFFFF);
background-image: linear-gradient(to bottom, #E9E9E9, #FFFFFF);
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#E9E9E9', EndColorStr='#FFFFFF')";
text-shadow: 1px 1px 0 #FFFFFF, -1px -1px 0 #FFFFFF, -1px -1px 0 rgba(188, 42, 77, 0.2);
}
.buttons div a:after {
background-image: url("images/buttons.png");
}
/* Icon images
---------------------------------------- */
.sitehome { background-image: url("./images/icon_home.gif"); }

View File

@@ -287,20 +287,6 @@ dl.mini dd {
line-height: 2.5em;
}
/* PM panel adjustments */
.reply-all a.left {
background-position: 3px 60%;
}
.reply-all a.left:hover {
background-position: 0px 60%;
}
.reply-all {
font-size: 11px;
padding-top: 5px;
}
/* Defined rules list for PM options */
ol.def-rules {
padding-left: 0;

View File

@@ -1,11 +1,3 @@
/* Set big button dimensions */
.buttons div.reply-icon { width: 96px; height: 25px; }
.buttons div.post-icon { width: 96px; height: 25px; }
.buttons div.locked-icon { width: 88px; height: 25px; }
.buttons div.pmreply-icon { width: 96px; height: 25px; }
.buttons div.newpm-icon { width: 84px; height: 25px; }
.buttons div.forwardpm-icon { width: 96px; height: 25px; }
/* Set profile icon dimensions */
ul.profile-icons li.pm-icon { width: 28px; height: 20px; }
ul.profile-icons li.quote-icon { width: 54px; height: 20px; }
@@ -14,14 +6,6 @@ ul.profile-icons li.edit-icon { width: 42px; height: 20px; }
/* Online image */
.online { background-image: url("./icon_user_online.gif"); }
/* Big button images */
.reply-icon span { background-image: url("./button_topic_reply.gif"); }
.post-icon span { background-image: url("./button_topic_new.gif"); }
.locked-icon span { background-image: url("./button_topic_locked.gif"); }
.pmreply-icon span { background-image: url("./button_pm_reply.gif") ;}
.newpm-icon span { background-image: url("./button_pm_new.gif") ;}
.forwardpm-icon span { background-image: url("./button_pm_forward.gif") ;}
/* Icon images */
.pm-icon, .pm-icon a { background-image: url("./icon_contact_pm.gif"); }
.quote-icon, .quote-icon a { background-image: url("./icon_post_quote.gif"); }

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB