public function onContentPrepare($context, &$article, &$params, $page = 0)
 {
     if (!$article->text) {
         return;
     }
     $calendarids = $this->params->get('calendarids');
     $results = GCalendarDBUtil::getCalendars($calendarids);
     if (empty($results)) {
         return;
     }
     $maxEvents = $this->params->get('max_events', 10);
     $filter = $this->params->get('find', '');
     $values = array();
     foreach ($results as $result) {
         $events = GCalendarZendHelper::getEvents($result, null, null, $maxEvents, $filter);
         if (!empty($events)) {
             foreach ($events as $event) {
                 if (!$event instanceof GCalendar_Entry) {
                     continue;
                 }
                 $values[] = $event;
             }
         }
     }
     usort($values, array("GCalendar_Entry", "compare"));
     $values = array_slice($values, 0, $maxEvents);
     $article->text = GCalendarUtil::renderEvents($values, $article->text, JComponentHelper::getParams('com_gcalendar'));
 }
Exemplo n.º 2
0
 public function onContentSearch($text, $phrase = '', $ordering = '', $areas = null)
 {
     $user = JFactory::getUser();
     $text = trim($text);
     if ($text == '') {
         return array();
     }
     if ($phrase == 'exact') {
         $text = "\"" . $text . "\"";
     }
     switch ($ordering) {
         case 'oldest':
             $orderasc = GCalendarZendHelper::SORT_ORDER_ASC;
             break;
         case 'newest':
         default:
             $orderasc = GCalendarZendHelper::SORT_ORDER_DESC;
     }
     if (is_array($areas)) {
         if (!array_intersect($areas, array_keys($this->onContentSearchAreas()))) {
             return array();
         }
     }
     $pluginParams = $this->params;
     $limit = $pluginParams->def('search_limit', 50);
     $calendarids = $pluginParams->get('calendarids', NULL);
     $pastevents = $pluginParams->get('pastevents', 1) == 1;
     $results = GCalendarDBUtil::getCalendars($calendarids);
     if (empty($results)) {
         return array();
     }
     $events = array();
     foreach ($results as $result) {
         $tmp = GCalendarZendHelper::getEvents($result, null, null, $limit, $text, GCalendarZendHelper::ORDER_BY_START_TIME, $pastevents, $orderasc);
         foreach ($tmp as $event) {
             $events[] = $event;
         }
     }
     if ($orderasc == GCalendarZendHelper::SORT_ORDER_ASC) {
         usort($events, array("GCalendar_Entry", "compare"));
     } else {
         usort($events, array("GCalendar_Entry", "compareDesc"));
     }
     array_splice($events, $limit);
     $return = array();
     foreach ($events as $event) {
         $params = clone JComponentHelper::getParams('com_gcalendar');
         $title = GCalendarUtil::renderEvents(array($event), '{{#events}}{{date}} {{{title}}}{{/events}}', $params);
         $text = GCalendarUtil::renderEvents(array($event), '{{#events}}{{{description}}}{{/events}}', $params);
         $itemID = GCalendarUtil::getItemId($event->getParam('gcid'));
         if (!empty($itemID)) {
             $itemID = '&Itemid=' . $itemID;
         }
         $row->href = JRoute::_('index.php?option=com_gcalendar&view=event&eventID=' . $event->getGCalId() . '&gcid=' . $event->getParam('gcid') . $itemID);
         $row->title = $title;
         $row->text = $text;
         $row->section = JText::_('PLG_SEARCH_GCALENDAR_OUTPUT_CATEGORY');
         $row->category = $event->getParam('gcid');
         $row->created = $event->getStartDate()->format('U', true);
         $row->browsernav = '';
         $return[] = $row;
         $row = null;
     }
     return $return;
 }
Exemplo n.º 3
0
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with GCalendar.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @author Allon Moritz
 * @copyright 2007-2011 Allon Moritz
 * @since 2.2.0
 */
defined('_JEXEC') or die('Restricted access');
$tmp = clone JComponentHelper::getParams('com_gcalendar');
$tmp->set('event_date_format', $params->get('date_format', $tmp->get('event_date_format')));
$tmp->set('event_time_format', $params->get('time_format', $tmp->get('event_time_format')));
$tmp->set('grouping', $params->get('output_grouping', ''));
$output = $params->get('output', '{{#events}}
{{#header}}<p style="clear: both;"><strong>{{header}}</strong></p>{{/header}}
<p style="clear: both;"/>
<div style="float:left;margin-right:6px;width:42px;height:42px;background-image:url(\'modules/mod_gcalendar_upcoming/tmpl/images/calendar-icon.gif\')">
	<div style="background-color: #{{calendarcolor}};width:32px;height:10px;margin-top:6px;margin-left:5px;"></div>
	<div style="color: #FFFFFF;padding:2px;font-weight:bold;font-size:10px;text-align:center;position:relative;margin-top:-16px;margin-bottom:-4px;">{{month}}</div>
	<div style="color: #{{calendarcolor}};font-weight:bold;font-size:1.3em;width:42px;text-align:center;">{{day}}</div>
</div>
<p>{{date}}<br/><a href="{{{backlink}}}">{{title}}</a></p>
<p style="clear: both;"/>
{{/events}}
{{^events}}
{{emptyText}}
{{/events}}');
echo GCalendarUtil::renderEvents($events, $output, $tmp);
Exemplo n.º 4
0
        }
        foreach ($calendar as $event) {
            $dateformat = $params->get('description_date_format', 'm.d.Y');
            $timeformat = $params->get('description_time_format', 'g:i a');
            $params->set('event_date_format', $dateformat);
            $params->set('event_time_format', $timeformat);
            if (!empty($itemID)) {
                $itemID = '&Itemid=' . $itemID;
            } else {
                $menu = JFactory::getApplication()->getMenu();
                $activemenu = $menu->getActive();
                if ($activemenu != null) {
                    $itemID = '&Itemid=' . $activemenu->id;
                }
            }
            $description = GCalendarUtil::renderEvents(array($event), $params->get('description_format', '{{#events}}<p>{{date}}<br/>{{{description}}}</p>{{/events}}'), $params);
            if (strlen($description) > 200) {
                $description = mb_substr($description, 0, 196) . ' ...';
            }
            $allDayEvent = $event->getDayType() == GCalendar_Entry::SINGLE_WHOLE_DAY || $event->getDayType() == GCalendar_Entry::MULTIPLE_WHOLE_DAY;
            $end = $event->getEndDate();
            if ($allDayEvent) {
                $end = clone $event->getEndDate();
                $end->modify('-1 day');
            }
            $eventData = array('id' => $event->getGCalId(), 'gcid' => $event->getParam('gcid'), 'title' => htmlspecialchars_decode($event->getTitle()), 'start' => $event->getStartDate()->format('Y-m-d\\TH:i:s', true), 'end' => $end->format('Y-m-d\\TH:i:s', true), 'url' => JRoute::_('index.php?option=com_gcalendar&view=event&eventID=' . $event->getGCalId() . '&gcid=' . $event->getParam('gcid') . (empty($itemID) ? '' : $itemID)), 'className' => "gcal-event_gccal_" . $event->getParam('gcid'), 'allDay' => $allDayEvent, 'description' => $description);
            $dispatcher->trigger('onGCEventBeforeLoad', array($event, &$eventData));
            $data[] = $eventData;
        }
    }
}
Exemplo n.º 5
0
	<td>
		<a target="_blank" href="{{copyGoogleUrl}}">{{copyGoogleLabel}}</a>
	</td>
</tr>
<tr>
	<td class="event_content_key"></td>
	<td>
		<a target="_blank" href="{{copyOutlookUrl}}">{{copyOutlookLabel}}</a>
	</td>
</tr>
</table>
{{#description}}
<h2>{{descriptionLabel}}</h2>
{{{description}}}
{{/description}}
{{#pluginsAfter}} {{{.}}} {{/pluginsAfter}}
</div>
{{/events}}
{{^events}}
{{emptyText}}
{{/events}}
';
$plugins = array();
$plugins['pluginsBefore'] = array();
$plugins['pluginsAfter'] = array();
$dispatcher->trigger('onBeforeDisplayEvent', array($this->event, &$content, &$plugins['pluginsBefore']));
$dispatcher->trigger('onAfterDisplayEvent', array($this->event, &$content, &$plugins['pluginsAfter']));
echo GCalendarUtil::renderEvents(array($this->event), $content, JFactory::getApplication()->getParams(), $plugins);
if (!JFile::exists(JPATH_ADMINISTRATOR . '/components/com_gcalendarap/gcalendarap.php')) {
    echo "<div style=\"text-align:center;margin-top:10px\" ><a href=\"http://g4j.digital-peak.com\">Powered by GCalendar</a></div>\n";
}
Exemplo n.º 6
0
                $date = $start->format('Y-m-d', true);
                if (!key_exists($date, $tmp)) {
                    $tmp[$date] = array();
                }
                $tmp[$date][] = $item;
                $start->modify("+1 day");
            } while ($start < $end);
        }
    }
}
$params = clone JComponentHelper::getParams('com_gcalendar');
$params->set('show_event_title', 1);
$data = array();
foreach ($tmp as $date => $events) {
    $linkIDs = array();
    $itemId = '';
    foreach ($events as $event) {
        $linkIDs[$event->getParam('gcid')] = $event->getParam('gcid');
        $id = GCalendarUtil::getItemId($event->getParam('gcid'), true);
        if (!empty($id)) {
            $itemId = '&Itemid=' . $id;
        }
    }
    $parts = explode('-', $date);
    $day = $parts[2];
    $month = $parts[1];
    $year = $parts[0];
    $url = JRoute::_('index.php?option=com_gcalendar&view=gcalendar&gcids=' . implode(',', $linkIDs) . $itemId . '#year=' . $year . '&month=' . $month . '&day=' . $day . '&view=agendaDay');
    $data[] = array('id' => $date, 'title' => utf8_encode(chr(160)), 'start' => $date, 'url' => $url, 'allDay' => true, 'description' => GCalendarUtil::renderEvents($events, sprintf(JText::_('COM_GCALENDAR_JSON_VIEW_EVENT_TITLE'), count($events)) . '<ul>{{#events}}<li>{{title}}</li>{{/events}}</ul>', $params));
}
echo json_encode($data);