more progress on events
This commit is contained in:
parent
d1e9af2c51
commit
33fe26ecb0
2
boot.php
2
boot.php
|
@ -6,7 +6,7 @@ ini_set('pcre.backtrack_limit', 250000);
|
||||||
|
|
||||||
define ( 'FRIENDIKA_VERSION', '2.2.1004' );
|
define ( 'FRIENDIKA_VERSION', '2.2.1004' );
|
||||||
define ( 'DFRN_PROTOCOL_VERSION', '2.21' );
|
define ( 'DFRN_PROTOCOL_VERSION', '2.21' );
|
||||||
define ( 'DB_UPDATE_VERSION', 1061 );
|
define ( 'DB_UPDATE_VERSION', 1062 );
|
||||||
|
|
||||||
define ( 'EOL', "<br />\r\n" );
|
define ( 'EOL', "<br />\r\n" );
|
||||||
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
|
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
|
||||||
|
|
|
@ -484,6 +484,7 @@ CREATE TABLE IF NOT EXISTS `event` (
|
||||||
`desc` TEXT NOT NULL ,
|
`desc` TEXT NOT NULL ,
|
||||||
`location` TEXT NOT NULL ,
|
`location` TEXT NOT NULL ,
|
||||||
`type` CHAR( 255 ) NOT NULL ,
|
`type` CHAR( 255 ) NOT NULL ,
|
||||||
|
`nofinish` TINYINT( 1 ) NOT NULL DEFAULT '0',
|
||||||
`adjust` TINYINT( 1 ) NOT NULL DEFAULT '1',
|
`adjust` TINYINT( 1 ) NOT NULL DEFAULT '1',
|
||||||
`allow_cid` MEDIUMTEXT NOT NULL ,
|
`allow_cid` MEDIUMTEXT NOT NULL ,
|
||||||
`allow_gid` MEDIUMTEXT NOT NULL ,
|
`allow_gid` MEDIUMTEXT NOT NULL ,
|
||||||
|
|
|
@ -21,23 +21,39 @@ function format_event_html($ev) {
|
||||||
$ev['start'] /*, format */ ))
|
$ev['start'] /*, format */ ))
|
||||||
. '</abbr></p>';
|
. '</abbr></p>';
|
||||||
|
|
||||||
$o .= '<p>' . t('Ends: ') . '<abbr class="dtend" title="'
|
if(! $ev['nofinish'])
|
||||||
. datetime_convert('UTC','UTC',$ev['finish'], ATOM_TIME)
|
$o .= '<p>' . t('Ends: ') . '<abbr class="dtend" title="'
|
||||||
. '" >'
|
. datetime_convert('UTC','UTC',$ev['finish'], ATOM_TIME)
|
||||||
. (($ev['adjust']) ? datetime_convert('UTC', date_default_timezone_get(),
|
. '" >'
|
||||||
$ev['finish'] /*, format */ )
|
. (($ev['adjust']) ? datetime_convert('UTC', date_default_timezone_get(),
|
||||||
: datetime_convert('UTC', 'UTC',
|
$ev['finish'] /*, format */ )
|
||||||
$ev['finish'] /*, format */ ))
|
: datetime_convert('UTC', 'UTC',
|
||||||
. '</abbr></p>';
|
$ev['finish'] /*, format */ ))
|
||||||
|
. '</abbr></p>';
|
||||||
|
|
||||||
$o .= '<p> ' . t('Location:') . '<span class="location">'
|
if(strlen($ev['location']))
|
||||||
. bbcode($ev['location'])
|
$o .= '<p> ' . t('Location:') . '<span class="location">'
|
||||||
. '</span></p>';
|
. bbcode($ev['location'])
|
||||||
|
. '</span></p>';
|
||||||
|
|
||||||
$o .= '</div>';
|
$o .= '</div>';
|
||||||
|
|
||||||
return $o;
|
return $o;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function sort_by_date($a) {
|
||||||
|
|
||||||
|
usort($a,'ev_compare');
|
||||||
|
return $a;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function ev_compare($a,$b) {
|
||||||
|
|
||||||
|
$date_a = (($a['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$a['start']) : $a['start']);
|
||||||
|
$date_b = (($b['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$b['start']) : $b['start']);
|
||||||
|
|
||||||
|
return strcmp($date_a,$date_b);
|
||||||
|
}
|
|
@ -23,18 +23,24 @@ function events_post(&$a) {
|
||||||
$finishminute = intval($_POST['finishminute']);
|
$finishminute = intval($_POST['finishminute']);
|
||||||
|
|
||||||
$adjust = intval($_POST['adjust']);
|
$adjust = intval($_POST['adjust']);
|
||||||
|
$nofinish = intval($_POST['nofinish']);
|
||||||
|
|
||||||
|
|
||||||
$start = sprintf('%d-%d-%d %d:%d:0',$startyear,$startmonth,$startday,$starthour,$startminute);
|
$start = sprintf('%d-%d-%d %d:%d:0',$startyear,$startmonth,$startday,$starthour,$startminute);
|
||||||
$finish = sprintf('%d-%d-%d %d:%d:0',$finishyear,$finishmonth,$finishday,$finishhour,$finishminute);
|
if($nofinish)
|
||||||
|
$finish = '0000-00-00 00:00:00';
|
||||||
|
else
|
||||||
|
$finish = sprintf('%d-%d-%d %d:%d:0',$finishyear,$finishmonth,$finishday,$finishhour,$finishminute);
|
||||||
|
|
||||||
if($adjust) {
|
if($adjust) {
|
||||||
$start = datetime_convert(date_default_timezone_get(),'UTC',$start);
|
$start = datetime_convert(date_default_timezone_get(),'UTC',$start);
|
||||||
$finish = datetime_convert(date_default_timezone_get(),'UTC',$finish);
|
if(! $nofinish)
|
||||||
|
$finish = datetime_convert(date_default_timezone_get(),'UTC',$finish);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$start = datetime_convert('UTC','UTC',$start);
|
$start = datetime_convert('UTC','UTC',$start);
|
||||||
$finish = datetime_convert('UTC','UTC',$finish);
|
if(! $nofinish)
|
||||||
|
$finish = datetime_convert('UTC','UTC',$finish);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -47,7 +53,7 @@ function events_post(&$a) {
|
||||||
$str_group_deny = perms2str($_POST['group_deny']);
|
$str_group_deny = perms2str($_POST['group_deny']);
|
||||||
$str_contact_deny = perms2str($_POST['contact_deny']);
|
$str_contact_deny = perms2str($_POST['contact_deny']);
|
||||||
|
|
||||||
dbg(1);
|
|
||||||
if($event_id) {
|
if($event_id) {
|
||||||
$r = q("UPDATE `event` SET
|
$r = q("UPDATE `event` SET
|
||||||
`edited` = '%s',
|
`edited` = '%s',
|
||||||
|
@ -57,6 +63,7 @@ dbg(1);
|
||||||
`location` = '%s',
|
`location` = '%s',
|
||||||
`type` = '%s',
|
`type` = '%s',
|
||||||
`adjust` = %d,
|
`adjust` = %d,
|
||||||
|
`nofinish` = %d,
|
||||||
`allow_cid` = '%s',
|
`allow_cid` = '%s',
|
||||||
`allow_gid` = '%s',
|
`allow_gid` = '%s',
|
||||||
`deny_cid` = '%s',
|
`deny_cid` = '%s',
|
||||||
|
@ -70,6 +77,7 @@ dbg(1);
|
||||||
dbesc($location),
|
dbesc($location),
|
||||||
dbesc($type),
|
dbesc($type),
|
||||||
intval($adjust),
|
intval($adjust),
|
||||||
|
intval($nofinish),
|
||||||
dbesc($str_contact_allow),
|
dbesc($str_contact_allow),
|
||||||
dbesc($str_group_allow),
|
dbesc($str_group_allow),
|
||||||
dbesc($str_contact_deny),
|
dbesc($str_contact_deny),
|
||||||
|
@ -84,8 +92,8 @@ dbg(1);
|
||||||
$uri = item_new_uri($a->get_hostname(),local_user());
|
$uri = item_new_uri($a->get_hostname(),local_user());
|
||||||
|
|
||||||
$r = q("INSERT INTO `event` ( `uid`,`uri`,`created`,`edited`,`start`,`finish`,`desc`,`location`,`type`,
|
$r = q("INSERT INTO `event` ( `uid`,`uri`,`created`,`edited`,`start`,`finish`,`desc`,`location`,`type`,
|
||||||
`adjust`,`allow_cid`,`allow_gid`,`deny_cid`,`deny_gid`)
|
`adjust`,`nofinish`,`allow_cid`,`allow_gid`,`deny_cid`,`deny_gid`)
|
||||||
VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, '%s', '%s', '%s', '%s' ) ",
|
VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s' ) ",
|
||||||
intval(local_user()),
|
intval(local_user()),
|
||||||
dbesc($uri),
|
dbesc($uri),
|
||||||
dbesc(datetime_convert()),
|
dbesc(datetime_convert()),
|
||||||
|
@ -96,6 +104,7 @@ dbg(1);
|
||||||
dbesc($location),
|
dbesc($location),
|
||||||
dbesc($type),
|
dbesc($type),
|
||||||
intval($adjust),
|
intval($adjust),
|
||||||
|
intval($nofinish),
|
||||||
dbesc($str_contact_allow),
|
dbesc($str_contact_allow),
|
||||||
dbesc($str_group_allow),
|
dbesc($str_group_allow),
|
||||||
dbesc($str_contact_deny),
|
dbesc($str_contact_deny),
|
||||||
|
@ -164,21 +173,42 @@ function events_content(&$a) {
|
||||||
$o .= '<a href="' . $a->get_baseurl() . '/events/' . $prevyear . '/' . $prevmonth . '" class="prevcal">' . t('<< Previous') . '</a> | <a href="' . $a->get_baseurl() . '/events/' . $nextyear . '/' . $nextmonth . '" class="nextcal">' . t('Next >>') . '</a>';
|
$o .= '<a href="' . $a->get_baseurl() . '/events/' . $prevyear . '/' . $prevmonth . '" class="prevcal">' . t('<< Previous') . '</a> | <a href="' . $a->get_baseurl() . '/events/' . $nextyear . '/' . $nextmonth . '" class="nextcal">' . t('Next >>') . '</a>';
|
||||||
$o .= cal($y,$m,false, ' eventcal');
|
$o .= cal($y,$m,false, ' eventcal');
|
||||||
|
|
||||||
$dim = get_dim($y,$m);
|
$dim = get_dim($y,$m);
|
||||||
$start = sprintf('%d-%d-%d %d:%d:%d',$y,$m,1,0,0,0);
|
$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);
|
$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);
|
||||||
|
|
||||||
$r = q("SELECT * FROM `event` WHERE `start` >= '%s' AND `finish` <= '%s' AND `uid` = %d ",
|
$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($start),
|
||||||
dbesc($finish),
|
dbesc($finish),
|
||||||
intval(local_user())
|
dbesc($adjust_start),
|
||||||
|
dbesc($adjust_finish)
|
||||||
);
|
);
|
||||||
|
|
||||||
if(count($r))
|
$last_date = '';
|
||||||
foreach($r as $rr)
|
|
||||||
$o .= format_event_html($rr);
|
|
||||||
|
|
||||||
|
$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 .= '<hr /><div class="event-list-date">' . $d . '</div>';
|
||||||
|
$last_date = $d;
|
||||||
|
$o .= format_event_html($rr);
|
||||||
|
}
|
||||||
|
}
|
||||||
return $o;
|
return $o;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -195,15 +225,18 @@ function events_content(&$a) {
|
||||||
$o .= replace_macros($tpl,array(
|
$o .= replace_macros($tpl,array(
|
||||||
'$post' => $a->get_baseurl() . '/events',
|
'$post' => $a->get_baseurl() . '/events',
|
||||||
'$e_text' => t('Event details'),
|
'$e_text' => t('Event details'),
|
||||||
'$s_text' => t('Start: year-month-day hour:minute'),
|
'$e_desc' => t('Format is year-month-day hour:minute. Starting date and Description are required.'),
|
||||||
|
'$s_text' => t('Event Starts:') . ' <span class="required">*</span> ',
|
||||||
'$s_dsel' => datesel('start',$year+5,$year,false,$year,$month,$day),
|
'$s_dsel' => datesel('start',$year+5,$year,false,$year,$month,$day),
|
||||||
'$s_tsel' => timesel('start',0,0),
|
'$s_tsel' => timesel('start',0,0),
|
||||||
'$f_text' => t('Finish: year-month-day hour:minute'),
|
'$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_dsel' => datesel('finish',$year+5,$year,false,$year,$month,$day),
|
||||||
'$f_tsel' => timesel('finish',0,0),
|
'$f_tsel' => timesel('finish',0,0),
|
||||||
'$a_text' => t('Adjust for viewer timezone'),
|
'$a_text' => t('Adjust for viewer timezone'),
|
||||||
'$a_checked' => '',
|
'$a_checked' => '',
|
||||||
'$d_text' => t('Description:'),
|
'$d_text' => t('Description:') . ' <span class="required">*</span>',
|
||||||
'$d_orig' => '',
|
'$d_orig' => '',
|
||||||
'$l_text' => t('Location:'),
|
'$l_text' => t('Location:'),
|
||||||
'$l_orig' => '',
|
'$l_orig' => '',
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
define( 'UPDATE_VERSION' , 1061 );
|
define( 'UPDATE_VERSION' , 1062 );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -510,3 +510,6 @@ function update_1060() {
|
||||||
q("ALTER TABLE `event` ADD `uri` CHAR( 255 ) NOT NULL AFTER `cid` ");
|
q("ALTER TABLE `event` ADD `uri` CHAR( 255 ) NOT NULL AFTER `cid` ");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function update_1061() {
|
||||||
|
q("ALTER TABLE `event` ADD `nofinish` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `type` ");
|
||||||
|
}
|
||||||
|
|
35
view/event_form.tpl
Normal file
35
view/event_form.tpl
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
<h3>$e_text</h3>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
$e_desc
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<form action="$post" method="post" >
|
||||||
|
|
||||||
|
<div id="event-start-text">$s_text</div>
|
||||||
|
$s_dsel $s_tsel
|
||||||
|
|
||||||
|
<div id="event-finish-text">$f_text</div>
|
||||||
|
$f_dsel $f_tsel
|
||||||
|
|
||||||
|
<div id="event-datetime-break"></div>
|
||||||
|
|
||||||
|
<input type="checkbox" name="nofinish" value="1" id="event-nofinish-checkbox" $n_checked /> <div id="event-nofinish-text">$n_text</div>
|
||||||
|
|
||||||
|
<div id="event-nofinish-break"></div>
|
||||||
|
|
||||||
|
<input type="checkbox" name="adjust" value="1" id="event-adjust-checkbox" $a_checked /> <div id="event-adjust-text">$a_text</div>
|
||||||
|
|
||||||
|
<div id="event-adjust-break"></div>
|
||||||
|
|
||||||
|
<div id="event-desc-text">$d_text</div>
|
||||||
|
<textarea id="event-desc-textarea" name="desc">$d_orig</textarea>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="event-location-text">$l_text</div>
|
||||||
|
<textarea id="event-location-textarea" name="location">$l_orig</textarea>
|
||||||
|
|
||||||
|
<input id="event-submit" type="submit" name="submit" value="$submit" />
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
|
@ -2406,6 +2406,35 @@ a.mail-list-link {
|
||||||
margin: 5px 0px 0px 0px;
|
margin: 5px 0px 0px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.required {
|
||||||
|
color: #FF0000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#event-start-text, #event-finish-text {
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#event-nofinish-checkbox, #event-nofinish-text, #event-adjust-checkbox, #event-adjust-text {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
#event-datetime-break {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#event-nofinish-break, #event-adjust-break {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
#event-desc-text, #event-location-text {
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
#event-submit {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#lang-select-icon {
|
#lang-select-icon {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
|
@ -2419,6 +2419,35 @@ a.mail-list-link {
|
||||||
margin: 5px 0px 0px 0px;
|
margin: 5px 0px 0px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.required {
|
||||||
|
color: #FF0000;
|
||||||
|
}
|
||||||
|
|
||||||
|
#event-start-text, #event-finish-text {
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#event-nofinish-checkbox, #event-nofinish-text, #event-adjust-checkbox, #event-adjust-text {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
#event-datetime-break {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#event-nofinish-break, #event-adjust-break {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
#event-desc-text, #event-location-text {
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
#event-submit {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#lang-select-icon {
|
#lang-select-icon {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
Loading…
Reference in a new issue