'; if($event_id) { $r = q("UPDATE `event` SET `edited` = '%s', `start` = '%s', `finish` = '%s', `desc` = '%s', `location` = '%s', `type` = '%s', `adjust` = %d, `nofinish` = %d, `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s' WHERE `id` = %d AND `uid` = %d LIMIT 1", dbesc(datetime_convert()), dbesc($start), dbesc($finish), dbesc($desc), dbesc($location), dbesc($type), intval($adjust), intval($nofinish), dbesc($str_contact_allow), dbesc($str_group_allow), dbesc($str_contact_deny), dbesc($str_group_deny), intval($event_id), intval($local_user()) ); } else { $uri = item_new_uri($a->get_hostname(),local_user()); $r = q("INSERT INTO `event` ( `uid`,`uri`,`created`,`edited`,`start`,`finish`,`desc`,`location`,`type`, `adjust`,`nofinish`,`allow_cid`,`allow_gid`,`deny_cid`,`deny_gid`) VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s' ) ", intval(local_user()), dbesc($uri), dbesc(datetime_convert()), dbesc(datetime_convert()), dbesc($start), dbesc($finish), dbesc($desc), dbesc($location), dbesc($type), intval($adjust), intval($nofinish), dbesc($str_contact_allow), dbesc($str_group_allow), dbesc($str_contact_deny), dbesc($str_group_deny) ); } } function events_content(&$a) { if(! local_user()) { notice( t('Permission denied.') . EOL); return; } $o .= '

' . t('Events') . '

'; $mode = 'view'; $y = 0; $m = 0; if($a->argc > 1) { if($a->argc > 2 && $a->argv[1] == 'event') { $mode = 'edit'; $event_id = intval($a->argv[2]); } if($a->argv[1] === 'new') { $mode = 'new'; $event_id = 0; } if($a->argc > 2 && intval($a->argv[1]) && intval($a->argv[2])) { $mode = 'view'; $y = intval($a->argv[1]); $m = intval($a->argv[2]); } } if($mode == 'view') { $thisyear = datetime_convert('UTC',date_default_timezone_get(),'now','Y'); $thismonth = datetime_convert('UTC',date_default_timezone_get(),'now','m'); if(! $y) $y = intval($thisyear); if(! $m) $m = intval($thismonth); $nextyear = $y; $nextmonth = $m + 1; if($nextmonth > 12) { $nextmonth = 1; $nextyear ++; } $prevyear = $y; if($m > 1) $prevmonth = $m - 1; else { $prevmonth = 12; $prevyear --; } $o .= ''; $o .= '' . t('<< Previous') . ' | ' . t('Next >>') . ''; $o .= cal($y,$m,false, ' eventcal'); $dim = get_dim($y,$m); $start = sprintf('%d-%d-%d %d:%d:%d',$y,$m,1,0,0,0); $finish = sprintf('%d-%d-%d %d:%d:%d',$y,$m,$dim,23,59,59); $start = datetime_convert('UTC','UTC',$start); $finish = datetime_convert('UTC','UTC',$finish); $adjust_start = datetime_convert('UTC', date_default_timezone_get(), $start); $adjust_finish = datetime_convert('UTC', date_default_timezone_get(), $finish); $r = q("SELECT * FROM `event` WHERE `uid` = %d AND (( `adjust` = 0 AND `start` >= '%s' AND `finish` <= '%s' ) OR ( `adjust` = 1 AND `start` >= '%s' AND `finish` <= '%s' )) ", intval(local_user()), dbesc($start), dbesc($finish), dbesc($adjust_start), dbesc($adjust_finish) ); $last_date = ''; $fmt = t('l, F j'); if(count($r)) { $r = sort_by_date($r); foreach($r as $rr) { $d = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], $fmt) : datetime_convert('UTC','UTC',$rr['start'],$fmt)); $d = day_translate($d); if($d !== $last_date) $o .= '
' . $d . '
'; $last_date = $d; $o .= format_event_html($rr); } } return $o; } if($mode === 'edit' || $mode === 'new') { $htpl = get_markup_template('profed_head.tpl'); $a->page['htmlhead'] .= replace_macros($htpl,array('$baseurl' => $a->get_baseurl())); $tpl = get_markup_template('event_form.tpl'); $year = datetime_convert('UTC', date_default_timezone_get(), 'now', 'Y'); $month = datetime_convert('UTC', date_default_timezone_get(), 'now', 'm'); $day = datetime_convert('UTC', date_default_timezone_get(), 'now', 'd'); $o .= replace_macros($tpl,array( '$post' => $a->get_baseurl() . '/events', '$e_text' => t('Event details'), '$e_desc' => t('Format is year-month-day hour:minute. Starting date and Description are required.'), '$s_text' => t('Event Starts:') . ' * ', '$s_dsel' => datesel('start',$year+5,$year,false,$year,$month,$day), '$s_tsel' => timesel('start',0,0), '$n_text' => t('Finish date/time is not known or not relevant'), '$n_checked' => '', '$f_text' => t('Event Finishes:'), '$f_dsel' => datesel('finish',$year+5,$year,false,$year,$month,$day), '$f_tsel' => timesel('finish',0,0), '$a_text' => t('Adjust for viewer timezone'), '$a_checked' => '', '$d_text' => t('Description:') . ' *', '$d_orig' => '', '$l_text' => t('Location:'), '$l_orig' => '', '$submit' => t('Submit') )); return $o; } }