]> git.mxchange.org Git - friendica.git/commitdiff
more progress on events
authorFriendika <info@friendika.com>
Wed, 8 Jun 2011 03:10:43 +0000 (20:10 -0700)
committerFriendika <info@friendika.com>
Wed, 8 Jun 2011 03:10:43 +0000 (20:10 -0700)
boot.php
database.sql
include/event.php
mod/events.php
update.php
view/event_form.tpl [new file with mode: 0644]
view/theme/duepuntozero/style.css
view/theme/loozah/style.css

index 6a5f6364a780b8a88d02f22b3cf95c75cb9eeed9..88b822cedab39f884c8d8bfb3ec7b01c31ef0dc3 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -6,7 +6,7 @@ ini_set('pcre.backtrack_limit', 250000);
 
 define ( 'FRIENDIKA_VERSION',      '2.2.1004' );
 define ( 'DFRN_PROTOCOL_VERSION',  '2.21'    );
-define ( 'DB_UPDATE_VERSION',      1061      );
+define ( 'DB_UPDATE_VERSION',      1062      );
 
 define ( 'EOL',                    "<br />\r\n"     );
 define ( 'ATOM_TIME',              'Y-m-d\TH:i:s\Z' );
index ab047968ebfa6314982bdc8ba32ccfdf7af8a256..fd7ccf87ff8502a2fda4b7eed976317474cfb78c 100644 (file)
@@ -484,6 +484,7 @@ CREATE TABLE IF NOT EXISTS `event` (
 `desc` TEXT NOT NULL ,
 `location` TEXT NOT NULL ,
 `type` CHAR( 255 ) NOT NULL ,
+`nofinish` TINYINT( 1 ) NOT NULL DEFAULT '0',
 `adjust` TINYINT( 1 ) NOT NULL DEFAULT '1',
 `allow_cid` MEDIUMTEXT NOT NULL ,
 `allow_gid` MEDIUMTEXT NOT NULL ,
index 38ab83316345d2dec84a1e476671803e251593f0..17e12d7cf9ad9d562013d0bd799053793e6b08b4 100644 (file)
@@ -21,23 +21,39 @@ function format_event_html($ev) {
                        $ev['start'] /*, format */ ))
                . '</abbr></p>';
 
-       $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 */ )
-                       :  datetime_convert('UTC', 'UTC', 
-                       $ev['finish'] /*, format */ ))
-               . '</abbr></p>';
-
-       $o .= '<p> ' . t('Location:') . '<span class="location">' 
-               . bbcode($ev['location']) 
-               . '</span></p>';
+       if(! $ev['nofinish'])
+               $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 */ )
+                               :  datetime_convert('UTC', 'UTC', 
+                               $ev['finish'] /*, format */ ))
+                       . '</abbr></p>';
+
+       if(strlen($ev['location']))
+               $o .= '<p> ' . t('Location:') . '<span class="location">' 
+                       . bbcode($ev['location']) 
+                       . '</span></p>';
 
        $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);
+}
\ No newline at end of file
index 293e9a2606bc81283b4fbfd2f1dc5ab2e1731bdd..f19a438fdd2b75574ae87f86d6ecb659e74f5e03 100644 (file)
@@ -23,18 +23,24 @@ function events_post(&$a) {
        $finishminute = intval($_POST['finishminute']);
 
        $adjust   = intval($_POST['adjust']);
+       $nofinish = intval($_POST['nofinish']);
 
 
        $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) {
                $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 {
                $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_contact_deny  = perms2str($_POST['contact_deny']);
 
-dbg(1);
+
        if($event_id) {
                $r = q("UPDATE `event` SET
                        `edited` = '%s',
@@ -57,6 +63,7 @@ dbg(1);
                        `location` = '%s',
                        `type` = '%s',
                        `adjust` = %d,
+                       `nofinish` = %d,
                        `allow_cid` = '%s',
                        `allow_gid` = '%s',
                        `deny_cid` = '%s',
@@ -70,6 +77,7 @@ dbg(1);
                        dbesc($location),
                        dbesc($type),
                        intval($adjust),
+                       intval($nofinish),
                        dbesc($str_contact_allow),
                        dbesc($str_group_allow),
                        dbesc($str_contact_deny),
@@ -84,8 +92,8 @@ dbg(1);
                $uri = item_new_uri($a->get_hostname(),local_user());
 
                $r = q("INSERT INTO `event` ( `uid`,`uri`,`created`,`edited`,`start`,`finish`,`desc`,`location`,`type`,
-                       `adjust`,`allow_cid`,`allow_gid`,`deny_cid`,`deny_gid`)
-                       VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, '%s', '%s', '%s', '%s' ) ",
+                       `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()),
@@ -96,6 +104,7 @@ dbg(1);
                        dbesc($location),
                        dbesc($type),
                        intval($adjust),
+                       intval($nofinish),
                        dbesc($str_contact_allow),
                        dbesc($str_group_allow),
                        dbesc($str_contact_deny),
@@ -164,21 +173,42 @@ function events_content(&$a) {
                $o .= '<a href="' . $a->get_baseurl() . '/events/' . $prevyear . '/' . $prevmonth . '" class="prevcal">' . t('&lt;&lt; Previous') . '</a> | <a href="' . $a->get_baseurl() . '/events/' . $nextyear . '/' . $nextmonth . '" class="nextcal">' . t('Next &gt;&gt;') . '</a>'; 
                $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);
+               $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 `start` >= '%s' AND `finish` <= '%s' AND `uid` = %d ",
+
+               $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),
-                       intval(local_user())
+                       dbesc($adjust_start),
+                       dbesc($adjust_finish)
                );
 
-               if(count($r))
-                       foreach($r as $rr) 
-                               $o .= format_event_html($rr);
+               $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 .= '<hr /><div class="event-list-date">' . $d . '</div>';
+                               $last_date = $d;
+                               $o .= format_event_html($rr);
+                       }
+               }
                return $o;
        }
 
@@ -195,15 +225,18 @@ function events_content(&$a) {
                $o .= replace_macros($tpl,array(
                        '$post' => $a->get_baseurl() . '/events',
                        '$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_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_tsel' => timesel('finish',0,0),
                        '$a_text' => t('Adjust for viewer timezone'),
                        '$a_checked' => '',
-                       '$d_text' => t('Description:'),
+                       '$d_text' => t('Description:') . ' <span class="required">*</span>',
                        '$d_orig' => '',
                        '$l_text' => t('Location:'),
                        '$l_orig' => '',
index be78f068f0136695d0b240220770b1bb64dd81fb..dfc5f88c958d28519eb98c6d999e1b4067a39af9 100644 (file)
@@ -1,6 +1,6 @@
 <?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` ");
 }
 
+function update_1061() {
+       q("ALTER TABLE `event` ADD `nofinish` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `type` ");
+}
diff --git a/view/event_form.tpl b/view/event_form.tpl
new file mode 100644 (file)
index 0000000..7449f84
--- /dev/null
@@ -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>
+
+
index f837112b60aaab69272e1d97fcdedbfbe40b3721..c5e441bfd63bf2c534023d19d14d37074df82c62 100644 (file)
@@ -2406,6 +2406,35 @@ a.mail-list-link {
        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 {
        cursor: pointer;
        position: absolute;
index 0f9e1e956b617529544158d667fad0eb36603827..0edde248e3451b6a3cd429b965d29401383a2bc6 100644 (file)
@@ -2419,6 +2419,35 @@ a.mail-list-link {
        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 {
        cursor: pointer;
        position: absolute;