archive widget
This commit is contained in:
parent
832d9eeaaf
commit
920ea2e1c7
8 changed files with 110 additions and 14 deletions
|
@ -3390,3 +3390,50 @@ function drop_item($id,$interactive = true) {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function first_post_date($uid,$wall = false) {
|
||||||
|
$r = q("select created from item
|
||||||
|
where uid = %d and wall = %d and deleted = 0 and visible = 1 AND moderated = 0
|
||||||
|
order by created asc limit 1",
|
||||||
|
intval($uid),
|
||||||
|
intval($wall ? 1 : 0)
|
||||||
|
);
|
||||||
|
if(count($r))
|
||||||
|
return substr($r[0]['created'],0,10);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function posted_dates($uid,$wall) {
|
||||||
|
$dnow = datetime_convert('','','now','Y-m-d');
|
||||||
|
|
||||||
|
$dthen = first_post_date($uid,$wall);
|
||||||
|
if(! $dthen)
|
||||||
|
return array();
|
||||||
|
|
||||||
|
$ret = array();
|
||||||
|
while($dnow >= $dthen) {
|
||||||
|
$start_month = datetime_convert('','','first day of ' . $dnow,'Y-m-d');
|
||||||
|
$end_month = datetime_convert('','','last day of ' . $dnow,'Y-m-d');
|
||||||
|
$str = day_translate(datetime_convert('','',$dnow,'F Y'));
|
||||||
|
$ret[] = array($str,$end_month,$start_month);
|
||||||
|
$dnow = datetime_convert('','',$dnow . ' -1 month', 'Y-m-d');
|
||||||
|
}
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function posted_date_widget($url,$uid,$wall) {
|
||||||
|
$o = '';
|
||||||
|
$ret = posted_dates($uid,$wall);
|
||||||
|
if(! count($ret))
|
||||||
|
return $o;
|
||||||
|
|
||||||
|
$o = replace_macros(get_markup_template('posted_date_widget.tpl'),array(
|
||||||
|
'$title' => t('Archives'),
|
||||||
|
'$size' => ((count($ret) > 6) ? 6 : count($ret)),
|
||||||
|
'$url' => $url,
|
||||||
|
'$dates' => $ret
|
||||||
|
));
|
||||||
|
return $o;
|
||||||
|
}
|
|
@ -7,6 +7,16 @@ function network_init(&$a) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$is_a_date_query = false;
|
||||||
|
|
||||||
|
if($a->argc > 1) {
|
||||||
|
for($x = 1; $x < $a->argc; $x ++) {
|
||||||
|
if(is_a_date_arg($a->argv[$x])) {
|
||||||
|
$is_a_date_query = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// fetch last used tab and redirect if needed
|
// fetch last used tab and redirect if needed
|
||||||
$sel_tabs = network_query_get_sel_tab($a);
|
$sel_tabs = network_query_get_sel_tab($a);
|
||||||
|
@ -24,7 +34,11 @@ function network_init(&$a) {
|
||||||
|
|
||||||
// redirect if current selected tab is 'no_active' and
|
// redirect if current selected tab is 'no_active' and
|
||||||
// last selected tab is _not_ 'all_active'.
|
// last selected tab is _not_ 'all_active'.
|
||||||
if ($sel_tabs[0] == 'active' && $last_sel_tabs[0]!='active') {
|
// and this isn't a date query
|
||||||
|
|
||||||
|
if ($sel_tabs[0] == 'active' && $last_sel_tabs[0]!='active' && (! $is_a_date_query)) {
|
||||||
|
|
||||||
|
|
||||||
$k = array_search('active', $last_sel_tabs);
|
$k = array_search('active', $last_sel_tabs);
|
||||||
//echo "<pre>"; var_dump($sel_tabs, $last_sel_tabs, $tab_urlsm, $k, $tab_urls[$k]); killme();
|
//echo "<pre>"; var_dump($sel_tabs, $last_sel_tabs, $tab_urlsm, $k, $tab_urls[$k]); killme();
|
||||||
goaway($a->get_baseurl() . $tab_urls[$k]);
|
goaway($a->get_baseurl() . $tab_urls[$k]);
|
||||||
|
@ -35,6 +49,7 @@ function network_init(&$a) {
|
||||||
|
|
||||||
require_once('include/group.php');
|
require_once('include/group.php');
|
||||||
require_once('include/contact_widgets.php');
|
require_once('include/contact_widgets.php');
|
||||||
|
require_once('include/items.php');
|
||||||
|
|
||||||
if(! x($a->page,'aside'))
|
if(! x($a->page,'aside'))
|
||||||
$a->page['aside'] = '';
|
$a->page['aside'] = '';
|
||||||
|
@ -68,6 +83,7 @@ function network_init(&$a) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$a->page['aside'] .= group_side('network','network',true,$group_id);
|
$a->page['aside'] .= group_side('network','network',true,$group_id);
|
||||||
|
$a->page['aside'] .= posted_date_widget($a->get_baseurl() . '/network',local_user(),false);
|
||||||
$a->page['aside'] .= networks_widget($a->get_baseurl(true) . '/network',(x($_GET, 'nets') ? $_GET['nets'] : ''));
|
$a->page['aside'] .= networks_widget($a->get_baseurl(true) . '/network',(x($_GET, 'nets') ? $_GET['nets'] : ''));
|
||||||
$a->page['aside'] .= saved_searches($search);
|
$a->page['aside'] .= saved_searches($search);
|
||||||
$a->page['aside'] .= fileas_widget($a->get_baseurl(true) . '/network',(x($_GET, 'file') ? $_GET['file'] : ''));
|
$a->page['aside'] .= fileas_widget($a->get_baseurl(true) . '/network',(x($_GET, 'file') ? $_GET['file'] : ''));
|
||||||
|
@ -247,42 +263,45 @@ function network_content(&$a, $update = 0) {
|
||||||
if ($no_active=='active') $all_active='active';
|
if ($no_active=='active') $all_active='active';
|
||||||
//echo "<pre>"; var_dump($no_active, $all_active, $postord_active, $conv_active, $new_active, $starred_active, $bookmarked_active, $spam_active); killme();
|
//echo "<pre>"; var_dump($no_active, $all_active, $postord_active, $conv_active, $new_active, $starred_active, $bookmarked_active, $spam_active); killme();
|
||||||
|
|
||||||
|
$cmd = (($datequery) ? '' : $a->cmd);
|
||||||
|
$len_naked_cmd = strlen(str_replace('/new','',$cmd));
|
||||||
|
|
||||||
// tabs
|
// tabs
|
||||||
$tabs = array(
|
$tabs = array(
|
||||||
array(
|
array(
|
||||||
'label' => t('Commented Order'),
|
'label' => t('Commented Order'),
|
||||||
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $a->cmd) . '?f=&order=comment' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''),
|
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . '?f=&order=comment' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''),
|
||||||
'sel'=>$all_active,
|
'sel'=>$all_active,
|
||||||
'title'=> t('Sort by Comment Date'),
|
'title'=> t('Sort by Comment Date'),
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'label' => t('Posted Order'),
|
'label' => t('Posted Order'),
|
||||||
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $a->cmd) . '?f=&order=post' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''),
|
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . '?f=&order=post' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''),
|
||||||
'sel'=>$postord_active,
|
'sel'=>$postord_active,
|
||||||
'title' => t('Sort by Post Date'),
|
'title' => t('Sort by Post Date'),
|
||||||
),
|
),
|
||||||
|
|
||||||
array(
|
array(
|
||||||
'label' => t('Personal'),
|
'label' => t('Personal'),
|
||||||
'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $a->cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&conv=1',
|
'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&conv=1',
|
||||||
'sel' => $conv_active,
|
'sel' => $conv_active,
|
||||||
'title' => t('Posts that mention or involve you'),
|
'title' => t('Posts that mention or involve you'),
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'label' => t('New'),
|
'label' => t('New'),
|
||||||
'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $a->cmd) . '/new' . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : ''),
|
'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ($len_naked_cmd ? '/' : '') . 'new' . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : ''),
|
||||||
'sel' => $new_active,
|
'sel' => $new_active,
|
||||||
'title' => t('Activity Stream - by date'),
|
'title' => t('Activity Stream - by date'),
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'label' => t('Starred'),
|
'label' => t('Starred'),
|
||||||
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $a->cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&star=1',
|
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&star=1',
|
||||||
'sel'=>$starred_active,
|
'sel'=>$starred_active,
|
||||||
'title' => t('Favourite Posts'),
|
'title' => t('Favourite Posts'),
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'label' => t('Shared Links'),
|
'label' => t('Shared Links'),
|
||||||
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $a->cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&bmark=1',
|
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&bmark=1',
|
||||||
'sel'=>$bookmarked_active,
|
'sel'=>$bookmarked_active,
|
||||||
'title'=> t('Interesting Links'),
|
'title'=> t('Interesting Links'),
|
||||||
),
|
),
|
||||||
|
@ -470,10 +489,10 @@ function network_content(&$a, $update = 0) {
|
||||||
$sql_extra3 = '';
|
$sql_extra3 = '';
|
||||||
|
|
||||||
if($datequery) {
|
if($datequery) {
|
||||||
$sql_extra3 .= protect_sprintf(sprintf(" AND item.created <= '%s' ", dbesc(datetime_convert('','',$datequery))));
|
$sql_extra3 .= protect_sprintf(sprintf(" AND item.created <= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery))));
|
||||||
}
|
}
|
||||||
if($datequery2) {
|
if($datequery2) {
|
||||||
$sql_extra3 .= protect_sprintf(sprintf(" AND item.created >= '%s' ", dbesc(datetime_convert('','',$datequery2))));
|
$sql_extra3 .= protect_sprintf(sprintf(" AND item.created >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery2))));
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql_extra2 = (($nouveau) ? '' : " AND `item`.`parent` = `item`.`id` ");
|
$sql_extra2 = (($nouveau) ? '' : " AND `item`.`parent` = `item`.`id` ");
|
||||||
|
|
|
@ -94,6 +94,8 @@ function profile_content(&$a, $update = 0) {
|
||||||
require_once('include/security.php');
|
require_once('include/security.php');
|
||||||
require_once('include/conversation.php');
|
require_once('include/conversation.php');
|
||||||
require_once('include/acl_selectors.php');
|
require_once('include/acl_selectors.php');
|
||||||
|
require_once('include/items.php');
|
||||||
|
|
||||||
$groups = array();
|
$groups = array();
|
||||||
|
|
||||||
$tab = 'posts';
|
$tab = 'posts';
|
||||||
|
@ -168,6 +170,7 @@ function profile_content(&$a, $update = 0) {
|
||||||
|
|
||||||
$celeb = ((($a->profile['page-flags'] == PAGE_SOAPBOX) || ($a->profile['page-flags'] == PAGE_COMMUNITY)) ? true : false);
|
$celeb = ((($a->profile['page-flags'] == PAGE_SOAPBOX) || ($a->profile['page-flags'] == PAGE_COMMUNITY)) ? true : false);
|
||||||
|
|
||||||
|
$a->page['aside'] .= posted_date_widget($a->get_baseurl(true) . '/profile/' . $a->profile['nickname'],$a->profile['profile_uid'],true);
|
||||||
$a->page['aside'] .= categories_widget($a->get_baseurl(true) . '/profile/' . $a->profile['nickname'],(x($category) ? xmlify($category) : ''));
|
$a->page['aside'] .= categories_widget($a->get_baseurl(true) . '/profile/' . $a->profile['nickname'],(x($category) ? xmlify($category) : ''));
|
||||||
|
|
||||||
if(can_write_wall($a,$a->profile['profile_uid'])) {
|
if(can_write_wall($a,$a->profile['profile_uid'])) {
|
||||||
|
@ -218,10 +221,10 @@ function profile_content(&$a, $update = 0) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if($datequery) {
|
if($datequery) {
|
||||||
$sql_extra2 .= protect_sprintf(sprintf(" AND item.created <= '%s' ", dbesc(datetime_convert('','',$datequery))));
|
$sql_extra2 .= protect_sprintf(sprintf(" AND item.created <= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery))));
|
||||||
}
|
}
|
||||||
if($datequery2) {
|
if($datequery2) {
|
||||||
$sql_extra2 .= protect_sprintf(sprintf(" AND item.created >= '%s' ", dbesc(datetime_convert('','',$datequery2))));
|
$sql_extra2 .= protect_sprintf(sprintf(" AND item.created >= '%s' ", dbesc(datetime_convert(date_default_timezone_get(),'',$datequery2))));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
<div class="clear"></div>
|
|
||||||
<div id="categories-sidebar" class="widget">
|
<div id="categories-sidebar" class="widget">
|
||||||
<h3>$title</h3>
|
<h3>$title</h3>
|
||||||
<div id="nets-desc">$desc</div>
|
<div id="nets-desc">$desc</div>
|
||||||
|
|
|
@ -9,3 +9,4 @@
|
||||||
</div>
|
</div>
|
||||||
{{ endif }}
|
{{ endif }}
|
||||||
</div>
|
</div>
|
||||||
|
<div class="clear"></div>
|
||||||
|
|
9
view/posted_date_widget.tpl
Normal file
9
view/posted_date_widget.tpl
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<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">
|
||||||
|
{{ for $dates as $d }}
|
||||||
|
<option value="$url/$d.1/$d.2" >$d.0</option>
|
||||||
|
{{ endfor }}
|
||||||
|
</select>
|
||||||
|
</div>
|
|
@ -3226,3 +3226,7 @@ ul.menu-popup {
|
||||||
.autocomplete { color:#000; border:1px solid #999; background:#FFF; cursor:default; text-align:left; max-height:350px; overflow:auto; margin:-6px 6px 6px -6px; /* IE6 specific: */ _height:350px; _margin:0; _overflow-x:hidden; }
|
.autocomplete { color:#000; border:1px solid #999; background:#FFF; cursor:default; text-align:left; max-height:350px; overflow:auto; margin:-6px 6px 6px -6px; /* IE6 specific: */ _height:350px; _margin:0; _overflow-x:hidden; }
|
||||||
.autocomplete .selected { background:#F0F0F0; }
|
.autocomplete .selected { background:#F0F0F0; }
|
||||||
.autocomplete div { padding:2px 5px; white-space:nowrap; overflow:hidden; }
|
.autocomplete div { padding:2px 5px; white-space:nowrap; overflow:hidden; }
|
||||||
|
|
||||||
|
#datebrowse-sidebar select {
|
||||||
|
margin-left: 25px;
|
||||||
|
}
|
||||||
|
|
|
@ -88,6 +88,20 @@ nav #site-location {
|
||||||
box-shadow: 4px 4px 3px 0 #444444;
|
box-shadow: 4px 4px 3px 0 #444444;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#datebrowse-sidebar select {
|
||||||
|
margin-left: 25px;
|
||||||
|
border-radius: 3px;
|
||||||
|
-moz-border-radius: 3px;
|
||||||
|
opacity: 0.3;
|
||||||
|
filter:alpha(opacity=30);
|
||||||
|
}
|
||||||
|
|
||||||
|
#datebrowse-sidebar select:hover {
|
||||||
|
opacity: 1.0;
|
||||||
|
filter:alpha(opacity=100);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.contact-entry-photo img, .profile-match-photo img, #photo-photo img, .directory-photo-img, .photo-album-photo, .photo-top-photo, .profile-jot-text, .group-selected, .nets-selected, .fileas-selected, #profile-jot-submit, .categories-selected {
|
.contact-entry-photo img, .profile-match-photo img, #photo-photo img, .directory-photo-img, .photo-album-photo, .photo-top-photo, .profile-jot-text, .group-selected, .nets-selected, .fileas-selected, #profile-jot-submit, .categories-selected {
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
-moz-border-radius: 3px;
|
-moz-border-radius: 3px;
|
||||||
|
|
Loading…
Reference in a new issue