more work on tasks

This commit is contained in:
redmatrix 2015-08-20 18:43:01 -07:00
parent 05bec13bdc
commit afbbc9cd72
5 changed files with 71 additions and 9 deletions

View file

@ -2002,6 +2002,7 @@ function load_pdl(&$a) {
$a->pdl = $s;
}
}
}

View file

@ -918,3 +918,27 @@ function todo_stat() {
'CANCELLED' => t('Cancelled')
);
}
function tasks_fetch($arr) {
if(! local_channel())
return;
$ret = array();
$sql_extra = " and event_status != 'COMPLETED' ";
if(argc() > 1 && argv(1) === 'all')
$sql_extra = '';
$r = q("select * from event where type = 'task' and uid = %d $sql_extra ",
intval(local_channel())
);
$ret['success'] = (($r) ? true : false);
if($r) {
$ret['tasks'] = $r;
}
return $ret;
}

View file

@ -1042,3 +1042,24 @@ function widget_forums($arr) {
}
function widget_tasklist($arr) {
require_once('include/event.php');
$o .= '<script>$("#tasklist-new-summary").keyup(function(e) { if (e.keyCode == 13) { $.post( "tasks/new", $("#tasklist-new").serialize() ); return false; } });</script>';
$o .= '<script>function taskComplete(id) { $.post("tasks/complete/"+id); }</script>';
$o .= '<div class="widget">' . '<h3>' . t('Tasks') . '</h3>';
$x = tasks_fetch(array());
if($x['success']) {
foreach($x['tasks'] as $y) {
$o .= '<div class="tasklist-item"><input type="checkbox" onchange="taskComplete(' . $y['id'] . '); return false;" /> ' . $y['summary'] . '</div>';
}
}
$o .= '<form id="tasklist-new" action="tasks/new" method="post"><input id="tasklist-new-summary" type="text" name="summary" value="" /></form>';
$o .= '</div>';
return $o;
}

View file

@ -391,8 +391,18 @@ function events_content(&$a) {
intval(local_channel()),
intval($_GET['id'])
);
} else {
} elseif($export) {
$r = q("SELECT * from event where uid = %d
AND (( `adjust` = 0 AND ( `finish` >= '%s' or nofinish = 1 ) AND `start` <= '%s' )
OR ( `adjust` = 1 AND ( `finish` >= '%s' or nofinish = 1 ) AND `start` <= '%s' )) ",
intval(local_channel()),
dbesc($start),
dbesc($finish),
dbesc($adjust_start),
dbesc($adjust_finish)
);
}
else {
// fixed an issue with "nofinish" events not showing up in the calendar.
// There's still an issue if the finish date crosses the end of month.
// Noting this for now - it will need to be fixed here and in Friendica.
@ -400,7 +410,7 @@ function events_content(&$a) {
$r = q("SELECT event.*, item.plink, item.item_flags, item.author_xchan, item.owner_xchan
from event left join item on event_hash = resource_id
where resource_type in ( 'event', 'birthday' ) and event.uid = %d $ignored
where resource_type = 'event' and event.uid = %d $ignored
AND (( `adjust` = 0 AND ( `finish` >= '%s' or nofinish = 1 ) AND `start` <= '%s' )
OR ( `adjust` = 1 AND ( `finish` >= '%s' or nofinish = 1 ) AND `start` <= '%s' )) ",
intval(local_channel()),
@ -411,14 +421,17 @@ function events_content(&$a) {
);
}
$links = array();
if($r) {
if($r && ! $export) {
xchan_query($r);
$r = fetch_post_tags($r,true);
$r = sort_by_date($r);
}
if($r) {
foreach($r as $rr) {
$j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'j') : datetime_convert('UTC','UTC',$rr['start'],'j'));
if(! x($links,$j))
@ -426,7 +439,6 @@ function events_content(&$a) {
}
}
$events=array();
$last_date = '';

View file

@ -75,18 +75,22 @@ function tasks_content(&$a) {
$sql_extra = " and event_status != 'COMPLETED' ";
if(argc() > 1 && argv(1) === 'all')
$sql_extra = '';
dbg(1);
$r = q("select * from event where type = 'task' and uid = %d $sql_extra ",
intval(local_channel())
);
dbg(0);
$ret['success'] = (($r) ? true : false);
if($r) {
$ret['tasks'] = $r;
}
json_return_and_die($r);
// return $ret;
return json_encode($ret);
// json_return_and_die($ret);