]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
added lightbox support for full calendar events
authorKevin Jardine <kevinjardine@yahoo.com>
Tue, 29 May 2012 10:35:20 +0000 (12:35 +0200)
committerKevin Jardine <kevinjardine@yahoo.com>
Tue, 29 May 2012 10:35:20 +0000 (12:35 +0200)
models/model.php
start.php
views/default/event_calendar/full_calendar_view.php

index 7de5148029314b0dda2c94375cb2df138f2c87be..b53471a440e403a1540763ff47b0083206ac0de8 100644 (file)
@@ -1855,7 +1855,7 @@ function event_calendar_generate_listing_params($page_type,$container_guid,$orig
        return $params;
 }
 
-function event_calendar_get_page_content_view($event_guid) {
+function event_calendar_get_page_content_view($event_guid,$light_box = FALSE) {
        // add personal calendar button and links
        elgg_push_context('event_calendar:view');
        $event = get_entity($event_guid);
@@ -1885,12 +1885,16 @@ function event_calendar_get_page_content_view($event_guid) {
                        $content .= elgg_view_comments($event);
                }
        }
-
-       $params = array('title' => $title, 'content' => $content,'filter' => '');
-
-       $body = elgg_view_layout("content", $params);
-
-       return elgg_view_page($title,$body);
+       
+       if ($light_box) {
+               return '<div class="event-calendar-lightbox">'.elgg_view_title($title).$content.'</div>';
+       } else {
+               $params = array('title' => $title, 'content' => $content,'filter' => '');
+       
+               $body = elgg_view_layout("content", $params);
+       
+               return elgg_view_page($title,$body);
+       }
 }
 
 function event_calendar_get_page_content_display_users($event_guid) {
@@ -2135,7 +2139,7 @@ function event_calendar_get_page_content_fullcalendar_events($start_date,$end_da
                                'id' => $event->guid,
                                'guid' => $event->guid,
                                'title' => $event->title,
-                               'url' => $event->getURL(),
+                               'url' => elgg_get_site_url().'event_calendar/view_light_box/'.$event->guid,
                                'start' => date('c',$ed['start_time']),
                                'end' => date('c',$ed['end_time']),
                        );
index c9f95c8d6ebab6c1e8e2dfb91001f4221234b535..9d3d45e4dafa184d1702f46cfa1de94fd7c5b300 100644 (file)
--- a/start.php
+++ b/start.php
@@ -184,6 +184,9 @@ function event_calendar_page_handler($page) {
                case 'view':
                        echo event_calendar_get_page_content_view($page[1]);
                        break;
+               case 'view_light_box':
+                       echo event_calendar_get_page_content_view($page[1],TRUE);
+                       break;
                case 'display_users':
                        echo event_calendar_get_page_content_display_users($page[1]);
                        break;
index 5fffff624e28b85099d83e6171b15e0a4a126a58..d7b6d97a263411151f5411bbb6c7f5cb980d38d8 100644 (file)
@@ -1,5 +1,7 @@
 <?php
 elgg_load_js('elgg.full_calendar');
+elgg_load_js('lightbox');
+elgg_load_css('lightbox');
 
 // TODO: is there an easy way to avoid embedding JS?
 ?>
@@ -7,7 +9,8 @@ elgg_load_js('elgg.full_calendar');
 
 handleEventClick = function(event) {
     if (event.url) {
-        window.location.href = event.url;
+        //window.location.href = event.url;
+        $.fancybox({'href':event.url});
         return false;
     }
 };