]> git.mxchange.org Git - friendica.git/commitdiff
Merge pull request #261 from fabrixxm/eventspage
authorfriendica <info@friendica.com>
Tue, 24 Apr 2012 21:50:22 +0000 (14:50 -0700)
committerfriendica <info@friendica.com>
Tue, 24 Apr 2012 21:50:22 +0000 (14:50 -0700)
Some tweak on events page and events/bitrhdays reminder

boot.php
view/birthdays_reminder.tpl [new file with mode: 0644]
view/event_head.tpl
view/events_reminder.tpl [new file with mode: 0644]
view/theme/quattro/birthdays_reminder.tpl [new file with mode: 0644]
view/theme/quattro/events_reminder.tpl [new file with mode: 0644]

index d2758c643ca692e588685e0d0e0e45bc53cdefc8..7584c1c5b49ba078061f538abc3bd08b8793789f 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -1174,11 +1174,7 @@ if(! function_exists('get_birthdays')) {
                        }
                        $classtoday = $istoday ? ' birthday-today ' : '';
                        if($total) {
-                               $o .= '<div id="birthday-notice" class="birthday-notice fakelink' . $classtoday . '" onclick=openClose(\'birthday-wrapper\'); >' . t('Birthday Reminders') . ' ' . '(' . $total . ')' . '</div>';
-                               $o .= '<div id="birthday-wrapper" style="display: none;" ><div id="birthday-title">' . t('Birthdays this week:') . '</div>';
-                               $o .= '<div id="birthday-title-end"></div>';
-
-                               foreach($r as $rr) {
+                               foreach($r as &$rr) {
                                        if(! strlen($rr['name']))
                                                continue;
 
@@ -1196,15 +1192,24 @@ if(! function_exists('get_birthdays')) {
                                                $url = $a->get_baseurl() . '/redir/'  . $rr['cid'];
                                        }
        
-                                       $o .= '<div class="birthday-list" id="birthday-' . $rr['eid'] . '"><a class="birthday-link$sparkle" target="redir" href="'
-                                       . $url . '">' . $rr['name'] . '</a> '
-                                       . day_translate(datetime_convert('UTC', $a->timezone, $rr['start'], $rr['adjust'] ? $bd_format : $bd_short)) . (($today) ?  ' ' . t('[today]') : '')
-                                       . '</div>' ;
+                                       $rr['link'] = $url;
+                                       $rr['title'] = $rr['name'];
+                                       $rr['date'] = day_translate(datetime_convert('UTC', $a->timezone, $rr['start'], $rr['adjust'] ? $bd_format : $bd_short)) . (($today) ?  ' ' . t('[today]') : '');
+                                       $rr['startime'] = Null;
+                                       $rr['today'] = $today;
+       
                                }
-                               $o .= '</div></div>';
                        }
                }
-               return $o;
+               $tpl = get_markup_template("birthdays_reminder.tpl");
+               return replace_macros($tpl, array(
+                       '$baseurl' => $a->get_baseurl(),
+                       '$classtoday' => $classtoday,
+                       '$count' => $total,
+                       '$event_reminders' => t('Birthday Reminders'),
+                       '$event_title' => t('Birthdays this week:'),
+                       '$events' => $r,
+               ));
        }
 }
 
@@ -1215,7 +1220,6 @@ if(! function_exists('get_events')) {
                require_once('include/bbcode.php');
 
                $a = get_app();
-               $o = '';
 
                if(! local_user())
                        return $o;
@@ -1242,18 +1246,15 @@ if(! function_exists('get_events')) {
                                if($strt === datetime_convert('UTC',$a->timezone,'now','Y-m-d'))
                                        $istoday = true;
                        }
-                       $classtoday = (($istoday) ? ' event-today ' : '');
+                       $classtoday = (($istoday) ? 'event-today' : '');
 
-                       $o .= '<div id="event-notice" class="birthday-notice fakelink' . $classtoday . '" onclick=openClose(\'event-wrapper\'); >' . t('Event Reminders') . ' ' . '(' . count($r) . ')' . '</div>';
-                       $o .= '<div id="event-wrapper" style="display: none;" ><div id="event-title">' . t('Events this week:') . '</div>';
-                       $o .= '<div id="event-title-end"></div>';
-
-                       foreach($r as $rr) {
 
+                       foreach($r as &$rr) {
                                if($rr['adjust'])
-                                       $md = datetime_convert('UTC',$a->timezone,$rr['start'],'Y/m\#\l\i\n\k\-j');
+                                       $md = datetime_convert('UTC',$a->timezone,$rr['start'],'Y/m');
                                else
-                                       $md = datetime_convert('UTC','UTC',$rr['start'],'Y/m\#\l\i\n\k\-j');
+                                       $md = datetime_convert('UTC','UTC',$rr['start'],'Y/m');
+                               $md .= "/#link-".$rr['id'];
 
                                $title = substr(strip_tags(bbcode($rr['desc'])),0,32) . '... ';
                                if(! $title)
@@ -1261,15 +1262,24 @@ if(! function_exists('get_events')) {
 
                                $strt = datetime_convert('UTC',$rr['convert'] ? $a->timezone : 'UTC',$rr['start']);
                                $today = ((substr($strt,0,10) === datetime_convert('UTC',$a->timezone,'now','Y-m-d')) ? true : false);
-
-                               $o .= '<div class="event-list" id="event-' . $rr['eid'] . '"></a> <a href="events/' . $md . '">' . $title . '</a>'
-                               . day_translate(datetime_convert('UTC', $rr['adjust'] ? $a->timezone : 'UTC', $rr['start'], $bd_format)) . (($today) ?  ' ' . t('[today]') : '')
-                               . '</div>' ;
+                               
+                               $rr['link'] = $md;
+                               $rr['title'] = $title;
+                               $rr['date'] = day_translate(datetime_convert('UTC', $rr['adjust'] ? $a->timezone : 'UTC', $rr['start'], $bd_format)) . (($today) ?  ' ' . t('[today]') : '');
+                               $rr['startime'] = $strt;
+                               $rr['today'] = $today;
                        }
-                       $o .= '</div></div>';
                }
 
-               return $o;
+               $tpl = get_markup_template("events_reminder.tpl");
+               return replace_macros($tpl, array(
+                       '$baseurl' => $a->get_baseurl(),
+                       '$classtoday' => $classtoday,
+                       '$count' => count($r),
+                       '$event_reminders' => t('Event Reminders'),
+                       '$event_title' => t('Events this week:'),
+                       '$events' => $r,
+               ));
        }
 }
 
diff --git a/view/birthdays_reminder.tpl b/view/birthdays_reminder.tpl
new file mode 100644 (file)
index 0000000..c0422c1
--- /dev/null
@@ -0,0 +1,10 @@
+{{ if $count }}
+<div id="birthday-notice" class="birthday-notice fakelink' $classtoday" onclick="openClose('birthday-wrapper');">$event_reminders ($count)</div>
+<div id="birthday-wrapper" style="display: none;" ><div id="birthday-title">$event_title</div>
+<div id="birthday-title-end"></div>
+{{ for $events as $event }}
+<div class="birthday-list" id="birthday-$event.id"></a> <a href="events/$event.link">$event.title</a> $event.date </div>
+{{ endfor }}
+</div></div>
+{{ endif }}
+
index 97201e722988adb98e11eaa09d6403dd507439d6..471748b97ab7db668f2c9d83c4d60f315c8034bb 100644 (file)
@@ -3,8 +3,17 @@
           src="$baseurl/library/fullcalendar/fullcalendar.min.js"></script>
 
 <script>
+       function showEvent(eventid) {
+               $.get(
+                       '$baseurl/events/?id='+eventid,
+                       function(data){
+                               $.fancybox(data);
+                       }
+               );                      
+       }
+       
        $(document).ready(function() {
-           $('#events-calendar').fullCalendar({
+               $('#events-calendar').fullCalendar({
                        events: '$baseurl/events/json/',
                        header: {
                                left: 'prev,next today',
                        },                      
                        timeFormat: 'H(:mm)',
                        eventClick: function(calEvent, jsEvent, view) {
-                               $.get(
-                                       '$baseurl/events/?id='+calEvent.id,
-                                       function(data){
-                                               $.fancybox(data);
-                                       }
-                               );
+                               showEvent(calEvent.id);
                        },
                        
                        eventRender: function(event, element, view) {
                        }
                        
                })
+               
+               // center on date
+               var args=location.href.replace(baseurl,"").split("/");
+               if (args.length>=4) {
+                       $("#events-calendar").fullCalendar('gotoDate',args[2] , args[3]-1);
+               } 
+               
+               // show event popup
+               var hash = location.hash.split("-")
+               if (hash.length==2 && hash[0]=="#link") showEvent(hash[1]);
+               
        });
 </script>
 
 
 <script language="javascript" type="text/javascript"
           src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
-          <script language="javascript" type="text/javascript">
-
-
-tinyMCE.init({
-       theme : "advanced",
-       mode : "textareas",
-       plugins : "bbcode,paste",
-       theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",
-       theme_advanced_buttons2 : "",
-       theme_advanced_buttons3 : "",
-       theme_advanced_toolbar_location : "top",
-       theme_advanced_toolbar_align : "center",
-       theme_advanced_blockformats : "blockquote,code",
-       gecko_spellcheck : true,
-       paste_text_sticky : true,
-       entity_encoding : "raw",
-       add_unload_trigger : false,
-       remove_linebreaks : false,
-       force_p_newlines : false,
-       force_br_newlines : true,
-       forced_root_block : '',
-       content_css: "$baseurl/view/custom_tinymce.css",
-       theme_advanced_path : false,
-       setup : function(ed) {
-               ed.onInit.add(function(ed) {
-                       ed.pasteAsPlainText = true;
-               });
-       }
+<script language="javascript" type="text/javascript">
+
+
+       tinyMCE.init({
+               theme : "advanced",
+               mode : "textareas",
+               plugins : "bbcode,paste",
+               theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",
+               theme_advanced_buttons2 : "",
+               theme_advanced_buttons3 : "",
+               theme_advanced_toolbar_location : "top",
+               theme_advanced_toolbar_align : "center",
+               theme_advanced_blockformats : "blockquote,code",
+               gecko_spellcheck : true,
+               paste_text_sticky : true,
+               entity_encoding : "raw",
+               add_unload_trigger : false,
+               remove_linebreaks : false,
+               force_p_newlines : false,
+               force_br_newlines : true,
+               forced_root_block : '',
+               content_css: "$baseurl/view/custom_tinymce.css",
+               theme_advanced_path : false,
+               setup : function(ed) {
+                       ed.onInit.add(function(ed) {
+                               ed.pasteAsPlainText = true;
+                       });
+               }
 
-});
+       });
 
 
-$(document).ready(function() { 
+       $(document).ready(function() { 
 
-       $('#event-share-checkbox').change(function() {
+               $('#event-share-checkbox').change(function() {
 
-               if ($('#event-share-checkbox').is(':checked')) { 
-                       $('#acl-wrapper').show();
-               }
-               else {
-                       $('#acl-wrapper').hide();
-               }
-       }).trigger('change');
+                       if ($('#event-share-checkbox').is(':checked')) { 
+                               $('#acl-wrapper').show();
+                       }
+                       else {
+                               $('#acl-wrapper').hide();
+                       }
+               }).trigger('change');
 
 
-       $('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
-               var selstr;
-               $('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
-                       selstr = $(this).text();
-                       $('#jot-public').hide();
-               });
-               if(selstr == null) {
-                       $('#jot-public').show();
-               }
+               $('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
+                       var selstr;
+                       $('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
+                               selstr = $(this).text();
+                               $('#jot-public').hide();
+                       });
+                       if(selstr == null) {
+                               $('#jot-public').show();
+                       }
 
-       }).trigger('change');
+               }).trigger('change');
 
-});
+       });
 
 </script>
 
diff --git a/view/events_reminder.tpl b/view/events_reminder.tpl
new file mode 100644 (file)
index 0000000..fe7e339
--- /dev/null
@@ -0,0 +1,10 @@
+{{ if $count }}
+<div id="event-notice" class="birthday-notice fakelink $classtoday" onclick="openClose('event-wrapper');">$event_reminders ($count)</div>
+<div id="event-wrapper" style="display: none;" ><div id="event-title">$event_title</div>
+<div id="event-title-end"></div>
+{{ for $events as $event }}
+<div class="event-list" id="event-$event.id"></a> <a href="events/$event.link">$event.title</a> $event.date </div>
+{{ endfor }}
+</div></div>
+{{ endif }}
+
diff --git a/view/theme/quattro/birthdays_reminder.tpl b/view/theme/quattro/birthdays_reminder.tpl
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/view/theme/quattro/events_reminder.tpl b/view/theme/quattro/events_reminder.tpl
new file mode 100644 (file)
index 0000000..fc13fa6
--- /dev/null
@@ -0,0 +1,39 @@
+<link rel='stylesheet' type='text/css' href='$baseurl/library/fullcalendar/fullcalendar.css' />
+<script language="javascript" type="text/javascript"
+          src="$baseurl/library/fullcalendar/fullcalendar.min.js"></script>
+<script>
+       // start calendar from yesterday
+       var yesterday= new Date()
+       yesterday.setDate(yesterday.getDate()-1)
+       
+       function showEvent(eventid) {
+               $.get(
+                       '$baseurl/events/?id='+eventid,
+                       function(data){
+                               $.fancybox(data);
+                       }
+               );                      
+       }
+       $(document).ready(function() {
+               $('#events-reminder').fullCalendar({
+                       firstDay: yesterday.getDay(),
+                       year: yesterday.getFullYear(),
+                       month: yesterday.getMonth(),
+                       date: yesterday.getDate(),
+                       events: '$baseurl/events/json/',
+                       header: {
+                               left: '',
+                               center: '',
+                               right: ''
+                       },                      
+                       timeFormat: 'H(:mm)',
+                       defaultView: 'basicWeek',
+                       height: 50,
+                       eventClick: function(calEvent, jsEvent, view) {
+                               showEvent(calEvent.id);
+                       }
+               });
+       });
+</script>
+<div id="events-reminder"></div>
+<br>