Merge pull request #1570 from rabuzarus/archive-widget

port of red matrix archive widget
This commit is contained in:
fabrixxm 2015-05-24 10:18:10 +02:00
commit 4554526515
10 changed files with 209 additions and 153 deletions

View file

@ -4858,6 +4858,37 @@ function first_post_date($uid,$wall = false) {
return false;
}
/* modified posted_dates() {below} to arrange the list in years */
function list_post_dates($uid, $wall) {
$dnow = datetime_convert('',date_default_timezone_get(),'now','Y-m-d');
$dthen = first_post_date($uid, $wall);
if(! $dthen)
return array();
// Set the start and end date to the beginning of the month
$dnow = substr($dnow,0,8).'01';
$dthen = substr($dthen,0,8).'01';
$ret = array();
// Starting with the current month, get the first and last days of every
// month down to and including the month of the first post
while(substr($dnow, 0, 7) >= substr($dthen, 0, 7)) {
$dyear = intval(substr($dnow,0,4));
$dstart = substr($dnow,0,8) . '01';
$dend = substr($dnow,0,8) . get_dim(intval($dnow),intval(substr($dnow,5)));
$start_month = datetime_convert('','',$dstart,'Y-m-d');
$end_month = datetime_convert('','',$dend,'Y-m-d');
$str = day_translate(datetime_convert('','',$dnow,'F'));
if(! $ret[$dyear])
$ret[$dyear] = array();
$ret[$dyear][] = array($str,$end_month,$start_month);
$dnow = datetime_convert('','',$dnow . ' -1 month', 'Y-m-d');
}
return $ret;
}
function posted_dates($uid,$wall) {
$dnow = datetime_convert('',date_default_timezone_get(),'now','Y-m-d');
@ -4895,16 +4926,28 @@ function posted_date_widget($url,$uid,$wall) {
/* if($wall && intval(get_pconfig($uid,'system','no_wall_archive_widget')))
return $o;*/
$ret = posted_dates($uid,$wall);
$visible_years = get_pconfig($uid,'system','archive_visible_years');
if(! $visible_years)
$visible_years = 5;
$ret = list_post_dates($uid,$wall);
if(! count($ret))
return $o;
$cutoff_year = intval(datetime_convert('',date_default_timezone_get(),'now','Y')) - $visible_years;
$cutoff = ((array_key_exists($cutoff_year,$ret))? true : false);
$o = replace_macros(get_markup_template('posted_date_widget.tpl'),array(
'$title' => t('Archives'),
'$size' => ((count($ret) > 6) ? 6 : count($ret)),
'$size' => $visible_years,
'$cutoff_year' => $cutoff_year,
'$cutoff' => $cutoff,
'$url' => $url,
'$dates' => $ret
'$dates' => $ret,
'$showmore' => t('show more')
));
return $o;
}

View file

@ -1,9 +1,47 @@
<script>
function showHideDates() {
if( $('#posted-date-dropdown').is(':visible')) {
$('#posted-date-dropdown').hide();
$('#posted-date-collapse').html(window.showMore);
}
else {
$('#posted-date-dropdown').show();
$('#posted-date-collapse').html(window.showFewer);
}
}
</script>
<div id="datebrowse-sidebar" class="widget">
<h3>{{$title}}</h3>
<script>function dateSubmit(dateurl) { window.location.href = dateurl; } </script>
<select id="posted-date-selector" name="posted-date-select" onchange="dateSubmit($(this).val());" size="{{$size}}">
{{foreach $dates as $d}}
<option value="{{$url}}/{{$d.1}}/{{$d.2}}" >{{$d.0}}</option>
{{/foreach}}
</select>
<script>function dateSubmit(dateurl) { window.location.href = dateurl; } </script>
<ul id="posted-date-selector" class="datebrowse-ul">
{{foreach $dates as $y => $arr}}
{{if $y == $cutoff_year}}
</ul>
<div id="posted-date-dropdown" style="display: none;">
<ul id="posted-date-selector-drop" class="datebrowse-ul">
{{/if}}
<li id="posted-date-selector-year-{{$y}}" class="tool">
<a class="datebrowse-link" href="#" onclick="openClose('posted-date-selector-{{$y}}'); return false;">{{$y}}</a>
</li>
<div id="posted-date-selector-{{$y}}" style="display: none;">
<ul class="posted-date-selector-months datebrowse-ul">
{{foreach $arr as $d}}
<li class="tool">
<a class="datebrowse-link" href="#" onclick="dateSubmit('{{$url}}/{{$d.1}}/{{$d.2}}'); return false;">{{$d.0}}</a></li>
</li>
{{/foreach}}
</ul>
</div>
{{/foreach}}
{{if $cutoff}}
</div>
<ul class="datebrowse-ul">
<li onclick="showHideDates(); return false;" id="posted-date-collapse" class="fakelink tool">{{$showmore}}</li>
</ul>
{{/if}}
</ul>
</div>

View file

@ -2026,11 +2026,11 @@ a.mail-list-link {
margin-top: 10px;
}
.nets-ul, .fileas-ul, .categories-ul {
.nets-ul, .fileas-ul, .categories-ul, .datebrowse-ul {
list-style-type: none;
}
.nets-ul li, .fileas-ul li, .categories-ul li {
.nets-ul li, .fileas-ul li, .categories-ul li, .datebrowse-ul li {
margin-top: 10px;
}

View file

@ -2327,11 +2327,11 @@ a.mail-list-link {
margin-top: 10px;
}
.nets-ul, .fileas-ul, .categories-ul {
.nets-ul, .fileas-ul, .categories-ul, .datebrowse-ul {
list-style-type: none;
}
.nets-ul li, .fileas-ul li, .categories-ul li {
.nets-ul li, .fileas-ul li, .categories-ul li, .datebrowse-ul li {
margin-top: 10px;
}

View file

@ -514,7 +514,6 @@ header {
margin: 0px;
padding: 0px;
/*width: 100%; height: 12px; */
z-index: 110;
color: #ffffff;
}
@ -840,11 +839,13 @@ aside #dfrn-request-link:hover {
aside #profiles-menu {
width: 20em;
}
aside .posted-date-selector-months {
margin-left: 10px;
}
#contact-block {
overflow: auto;
height: auto;
/*.contact-block-div { width:60px; height: 60px; }*/
}
#contact-block .contact-block-h4 {
float: left;
@ -926,7 +927,6 @@ aside #profiles-menu {
margin-bottom: 2em;
/*.action .s10 { width: 10px; overflow: hidden; padding: 0px;}
.action .s16 { width: 16px; overflow: hidden; padding: 0px;}*/
}
.widget h3 {
padding: 0px;
@ -1208,7 +1208,6 @@ section {
height: 32px;
margin-left: 16px;
/*background: url(../../../images/icons/22/user.png) no-repeat center center;*/
}
.comment-edit-preview .contact-photo-menu-button {
top: 15px !important;
@ -1284,15 +1283,12 @@ section {
}*/
.wwto {
position: absolute !important;
width: 25px;
height: 25px;
background: #FFFFFF;
border: 2px solid #364e59;
height: 25px;
width: 25px;
overflow: hidden;
padding: 1px;
position: absolute !important;
top: 40px;
left: 30px;
-webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);

View file

@ -514,7 +514,6 @@ header {
margin: 0px;
padding: 0px;
/*width: 100%; height: 12px; */
z-index: 110;
color: #ffffff;
}
@ -840,11 +839,13 @@ aside #dfrn-request-link:hover {
aside #profiles-menu {
width: 20em;
}
aside .posted-date-selector-months {
margin-left: 10px;
}
#contact-block {
overflow: auto;
height: auto;
/*.contact-block-div { width:60px; height: 60px; }*/
}
#contact-block .contact-block-h4 {
float: left;
@ -926,7 +927,6 @@ aside #profiles-menu {
margin-bottom: 2em;
/*.action .s10 { width: 10px; overflow: hidden; padding: 0px;}
.action .s16 { width: 16px; overflow: hidden; padding: 0px;}*/
}
.widget h3 {
padding: 0px;
@ -1208,7 +1208,6 @@ section {
height: 32px;
margin-left: 16px;
/*background: url(../../../images/icons/22/user.png) no-repeat center center;*/
}
.comment-edit-preview .contact-photo-menu-button {
top: 15px !important;
@ -1284,15 +1283,12 @@ section {
}*/
.wwto {
position: absolute !important;
width: 25px;
height: 25px;
background: #FFFFFF;
border: 2px solid #364e59;
height: 25px;
width: 25px;
overflow: hidden;
padding: 1px;
position: absolute !important;
top: 40px;
left: 30px;
-webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);

View file

@ -514,7 +514,6 @@ header {
margin: 0px;
padding: 0px;
/*width: 100%; height: 12px; */
z-index: 110;
color: #ffffff;
}
@ -840,11 +839,13 @@ aside #dfrn-request-link:hover {
aside #profiles-menu {
width: 20em;
}
aside .posted-date-selector-months {
margin-left: 10px;
}
#contact-block {
overflow: auto;
height: auto;
/*.contact-block-div { width:60px; height: 60px; }*/
}
#contact-block .contact-block-h4 {
float: left;
@ -926,7 +927,6 @@ aside #profiles-menu {
margin-bottom: 2em;
/*.action .s10 { width: 10px; overflow: hidden; padding: 0px;}
.action .s16 { width: 16px; overflow: hidden; padding: 0px;}*/
}
.widget h3 {
padding: 0px;
@ -1208,7 +1208,6 @@ section {
height: 32px;
margin-left: 16px;
/*background: url(../../../images/icons/22/user.png) no-repeat center center;*/
}
.comment-edit-preview .contact-photo-menu-button {
top: 15px !important;
@ -1284,15 +1283,12 @@ section {
}*/
.wwto {
position: absolute !important;
width: 25px;
height: 25px;
background: #FFFFFF;
border: 2px solid #364e59;
height: 25px;
width: 25px;
overflow: hidden;
padding: 1px;
position: absolute !important;
top: 40px;
left: 30px;
-webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);

View file

@ -12,9 +12,9 @@ body {
h4 { font-size: 1.1em }
.shadow(@x: 0px, @y: 5px){
-webkit-box-shadow:@x @y 10px rgba(0, 0, 0, 0.7);
-moz-box-shadow:@x @y 10px rgba(0, 0, 0, 0.7);
box-shadow:@x @y 10px rgba(0, 0, 0, 0.7);
-webkit-box-shadow:@x @y 10px rgba(0, 0, 0, 0.7);
-moz-box-shadow:@x @y 10px rgba(0, 0, 0, 0.7);
box-shadow:@x @y 10px rgba(0, 0, 0, 0.7);
}
.rounded(@tr: 5px, @tl: 5px, @bl: 5px, @br: 5px){
@ -52,10 +52,10 @@ a:hover {color: @LinkHover; text-decoration: underline; }
.fakelink:hover { color: @LinkHover; text-decoration: underline; }
blockquote {
background:@BlockquoteBackgroundColor;
padding: 1em;
margin-left: 1em;
border-left: 1em solid @BlockquoteBorderColor;
background:@BlockquoteBackgroundColor;
padding: 1em;
margin-left: 1em;
border-left: 1em solid @BlockquoteBorderColor;
}
@ -86,9 +86,7 @@ code {
}
/* tool */
.tool {
height: auto; overflow: auto;
.label { float: left;}
@ -97,8 +95,6 @@ code {
}
/* popup notifications */
#jGrowl.top-right {
top: 30px;
@ -144,6 +140,7 @@ header {
#logo-text { font-size: 22px }
}
}
/* nav */
nav {
width: 100%; height: 32px;
@ -223,7 +220,7 @@ nav {
#nav-notifications-linkmenu.on .icon.s22.notify,
#nav-notifications-linkmenu.selected .icon.s22.notify { background-image: url("../../../images/icons/22/notify_on.png") }
#nav-introductions-link.on .icon.s22.intro,
#nav-introductions-link.on .icon.s22.intro,
#nav-introductions-link.selected .icon.s22.intro { background-image: url("icons/contacts_on.png") }
#nav-messages-link.on .icon.s22.mail,
#nav-messages-link.selected .icon.s22.mail { background-image: url("icons/messages_on.png") }
@ -302,8 +299,6 @@ ul.menu-popup {
}
/* aside 230px*/
aside {
display: table-cell;
@ -353,8 +348,8 @@ aside {
}
#profiles-menu { width: 20em; }
.posted-date-selector-months { margin-left: 10px; }
}
#contact-block {
@ -665,72 +660,70 @@ section {
}*/
.wwto {
position: absolute !important;
width: 25px; height: 25px;
background: #FFFFFF;
border: 2px solid @Metalic3;
height: 25px;
width: 25px;
overflow: hidden;
padding: 1px;
position: absolute !important;
top: 40px;
left: 30px;
.shadow(0px, 0px)
position: absolute !important;
background: #FFFFFF;
border: 2px solid @Metalic3;
height: 25px;
width: 25px;
overflow: hidden;
padding: 1px;
top: 40px;
left: 30px;
.shadow(0px, 0px);
}
.wwto .contact-photo { width: 25px; height: 25px; }
/* reshare e embed */
.wall-item-container .wall-item-content .type-link img,
.type-link img {
max-width: 160px;
max-height: 160px;
float: left;
margin-right: 10px;
max-width: 160px;
max-height: 160px;
float: left;
margin-right: 10px;
&.attachment-image {
max-width: 650px;
max-height: inital;
float: none;
margin-right: 0px;
}
&.attachment-image {
max-width: 650px;
max-height: inital;
float: none;
margin-right: 0px;
}
}
.type-link {
blockquote {
margin: 1em 0px;
max-height: 160px;
overflow: hidden;
padding-left: 1em;
}
.oembed {}
blockquote {
margin: 1em 0px;
max-height: 160px;
overflow: hidden;
padding-left: 1em;
}
.oembed {}
}
.type-video blockquote { padding-left: 1em; }
.shared_header {
height: 32px;
color: #999;
border-top: 1px solid @ThreadBottomBorderColor;
padding-top: 5px;
margin-top: 5px;
img {
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
float: left;
}
span { margin-left: 9px; }
height: 32px;
color: #999;
border-top: 1px solid @ThreadBottomBorderColor;
padding-top: 5px;
margin-top: 5px;
img {
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
float: left;
}
span { margin-left: 9px; }
}
blockquote.shared_content {
margin-left: 32px;
color: #000;
border: none;
margin-left: 32px;
color: #000;
border: none;
}
@ -798,21 +791,21 @@ blockquote.shared_content {
/*.threaded .hide-comments-outer { margin-left: 20px; }*/
span[id^="showmore-teaser"]{
background: url("showmore-bg.jpg") no-repeat center bottom;
background: url("showmore-bg.jpg") no-repeat center bottom;
}
span[id^="showmore-wrap"] {
border-top: 1px solid #999999;
color: #999999;
display: block;
text-align: center;
background-color: @ThreadBackgroundColor;
border-top: 1px solid #999999;
color: #999999;
display: block;
text-align: center;
background-color: @ThreadBackgroundColor;
}
#pause {
position: fixed;
bottom: 5px;
right: 5px;
position: fixed;
bottom: 5px;
right: 5px;
}
@ -898,8 +891,7 @@ span[id^="showmore-wrap"] {
#jot {
width: 100%;
margin: 0px 2em 20px 0px;
margin: 0px 2em 20px 0px;
.profile-jot-text {
height: 1em; width: 99%; font-size: 10px;
@ -1039,7 +1031,6 @@ span[id^="showmore-wrap"] {
}
#acl-wrapper {
width: 690px;
float:left;
@ -1181,7 +1172,6 @@ ul.tabs {
overflow: auto;
width: 100%;
label {
float: left;
width: 200px;
@ -1203,7 +1193,6 @@ ul.tabs {
}
.onoff {
float: left;
width: 80px;
@ -1292,7 +1281,7 @@ ul.tabs {
#profile-edit-pubkeywords,
#profile-edit-prvkeywords,
#profile-edit-homepage {
margin-top: 5px;
margin-top: 5px;
}
/* oauth */
@ -1509,8 +1498,8 @@ ul.tabs {
footer { height: 100px; display: table-row; }
.pager {
margin-top: 25px;
clear: both;
margin-top: 25px;
clear: both;
}
/**
@ -1588,7 +1577,6 @@ footer { height: 100px; display: table-row; }
}
/* edit buttons for comments */
.icon.dim { opacity: 0.3;filter:alpha(opacity=30); }
.comment-edit-bb {
list-style: none;
@ -1604,12 +1592,12 @@ footer { height: 100px; display: table-row; }
}
.editicon {
display: inline-block;
width: 16px;
height: 16px;
background-image: url(icons/bbedit.png);
text-decoration: none;
:hover {background-color: #ccc;}
display: inline-block;
width: 16px;
height: 16px;
background-image: url(icons/bbedit.png);
text-decoration: none;
:hover {background-color: #ccc;}
}
.boldbb { background-position: 0px 0px; }
.boldbb:hover { background-position: 0px -16px; }
@ -1632,37 +1620,36 @@ footer { height: 100px; display: table-row; }
/** range input css **/
/* slider root element */
.slider {
height:2px;
position:relative;
cursor:pointer;
border:1px solid #333;
width:200px;
margin:10px 0px 10px 0px;
float: left;
height:2px;
position:relative;
cursor:pointer;
border:1px solid #333;
width:200px;
margin:10px 0px 10px 0px;
float: left;
}
/* progress bar (enabled with progress: true) */
.progress {
height:9px;
background-color:#C5FF00;
display:none;
opacity:0.6;
height:9px;
background-color:#C5FF00;
display:none;
opacity:0.6;
}
/* drag handle */
.handle {
background-color:#ccc;
height:16px;
width:8px;
top:-8px;
position:absolute;
display:block;
margin-top:1px;
border:1px solid #000;
cursor:move;
.roundbottom();
.shadow();
background-color:#ccc;
height:16px;
width:8px;
top:-8px;
position:absolute;
display:block;
margin-top:1px;
border:1px solid #000;
cursor:move;
.roundbottom();
.shadow();
}
/* the input field */
@ -1673,4 +1660,3 @@ footer { height: 100px; display: table-row; }
border: 0px;
color: @FieldHelpColor;
}

View file

@ -945,13 +945,14 @@ ul .sidebar-group-li .icon {
width: 12px;
}
.nets-ul, .fileas-ul, .categories-ul {
.nets-ul, .fileas-ul, .categories-ul, .datebrowse-ul {
list-style-type: none;
}
.nets-ul li,
.fileas-ul li,
.categories-ul li {
.categories-ul li,
.datebrowse-link {
}
.nets-link {
@ -4605,10 +4606,6 @@ div #datebrowse-sidebar.widget {
#id_npassword {}
#posted-date-selector {
margin-left: 33px;
}
#hide-comments-page-widget {
margin-left: 40px;
}

View file

@ -427,12 +427,16 @@ a.sidebar-group-element {
color: #737373;
}
#follow-sidebar form, #peoplefind-sidebar form, #netsearch-box form, #posted-date-selector {
#follow-sidebar form, #peoplefind-sidebar form, #netsearch-box form {
margin-left: 10px;
margin-top: 3px;
margin-bottom: 3px;
}
.posted-date-selector-months {
margin-left: 10px;
}
#sidebar-ungrouped, .side-link {
padding-top: 5px;
}