function _createFilter($prefix = "") { if (!$this->filterField) { return "ev.state=1"; } // The default is only to show published events if ($this->filter_value == 0) { return "ev.state=1"; } // only show published events to non-logged in users $user = JFactory::getUser(); if ($user->get('id') == 0) { return "ev.state=1"; } if (JEVHelper::isEventPublisher(true) || JEVHelper::isEventEditor()) { if ($this->filter_value == -1) { return ""; } return "ev.state=0"; } else { if (JEVHelper::isEventCreator()) { $user = JFactory::getUser(); if ($this->filter_value == -1) { return "(ev.state=1 OR ev.created_by=" . $user->id . ")"; } return "ev.state=0 && ev.created_by=" . $user->id; } } return "ev.state=1"; }
function DefaultViewDatecellAddEvent($view, $year, $month, $day) { if (JEVHelper::isEventCreator()) { JEVHelper::script('view_detail.js', 'components/' . JEV_COM_COMPONENT . "/assets/js/"); // no events on Saturday or Sunday! //if (date("N",mktime(0,0,0,$month,$day, $year))>5) return; $editLink = JRoute::_('index.php?option=' . JEV_COM_COMPONENT . '&task=icalevent.edit' . '&year=' . $year . '&month=' . $month . '&day=' . $day . '&Itemid=' . $view->Itemid, true); $eventlinkadd = $view->popup ? "javascript:jevEditPopup('" . $editLink . "',{$view->popupw}, {$view->popuph});" : $editLink; $transparentGif = JURI::root() . "components/" . JEV_COM_COMPONENT . "/views/" . $view->getViewName() . "/assets/images/transp.gif"; ?> <a href="<?php echo $eventlinkadd; ?> " title="<?php echo JText::_('JEV_ADDEVENT'); ?> " class="addjevent"> <img src="<?php echo $transparentGif; ?> " alt="<?php echo JText::_('JEV_ADDEVENT'); ?> "/> </a> <?php } }
function edit($tpl = null) { $document = JFactory::getDocument(); include JEV_ADMINLIBS . "/editStrings.php"; $document->addScriptDeclaration($editStrings); JEVHelper::script('editical.js', 'components/' . JEV_COM_COMPONENT . '/assets/js/'); JEVHelper::script('view_detail.js', 'components/' . JEV_COM_COMPONENT . '/assets/js/'); JEVHelper::script('JevStdRequiredFields.js', 'components/' . JEV_COM_COMPONENT . '/assets/js/'); $document->setTitle(JText::_('EDIT_ICAL_REPEAT')); // Set toolbar items for the page JToolBarHelper::title(JText::_('EDIT_ICAL_REPEAT'), 'jevents'); $bar = JToolBar::getInstance('toolbar'); $this->toolbarConfirmButton("icalrepeat.save", JText::_("JEV_SAVE_ICALEVENT_WARNING"), 'save', 'save', 'Save', false); if (JEVHelper::isEventEditor()) { $this->toolbarConfirmButton("icalrepeat.apply", JText::_("JEV_SAVE_ICALEVENT_WARNING"), 'apply', 'apply', 'jev_Apply', false); } $params = JComponentHelper::getParams(JEV_COM_COMPONENT); if ($params->get("editpopup", 0) && JEVHelper::isEventCreator()) { $document->addStyleDeclaration("div#toolbar-box{margin:10px 10px 0px 10px;} div#jevents {margin:0px 10px 10px 10px;} "); $this->toolbarButton("icalevent.close", 'cancel', 'cancel', 'Cancel', false); JRequest::setVar('tmpl', 'component'); //force the component template } else { $this->toolbarButton("icalevent.detail", 'cancel', 'cancel', 'Cancel', false); } //JToolBarHelper::help( 'screen.icalrepeat.edit', true); $params = JComponentHelper::getParams(JEV_COM_COMPONENT); JHTML::_('behavior.tooltip'); $this->_adminStart(); if (JevJoomlaVersion::isCompatible("3.0")) { // load Joomla javascript classes JHTML::_('behavior.core'); $this->setLayout("edit"); } else { $this->setLayout("edit16"); } $this->setupEditForm(); JEVHelper::componentStylesheet($this, "editextra.css"); jimport('joomla.filesystem.file'); // Lets check if we have editted before! if not... rename the custom file. if (JFile::exists(JPATH_SITE . "/components/com_jevents/assets/css/jevcustom.css")) { // It is definitely now created, lets load it! JEVHelper::stylesheet('jevcustom.css', 'components/' . JEV_COM_COMPONENT . '/assets/css/'); } parent::displaytemplate($tpl); $this->_adminEnd(); }
function listevents() { $is_event_editor = JEVHelper::isEventCreator(); $Itemid = JEVHelper::getItemid(); $user = JFactory::getUser(); if (!$is_event_editor) { $returnlink = JRoute::_('index.php?option=' . JEV_COM_COMPONENT . '&task=month.calendar&Itemid=' . $Itemid, false); $this->setRedirect($returnlink, html_entity_decode(JText::_('JEV_NOPERMISSION'))); $this->redirect(); return; } list($year, $month, $day) = JEVHelper::getYMD(); // Joomla unhelpfully switched limitstart to start when sef is enabled! includes/router.php line 390 $limitstart = intval(JRequest::getVar('start', JRequest::getVar('limitstart', 0))); $params = JComponentHelper::getParams(JEV_COM_COMPONENT); $limit = intval(JFactory::getApplication()->getUserStateFromRequest('jevlistlimit', 'limit', $params->get("com_calEventListRowsPpg", 15))); $Itemid = JEVHelper::getItemid(); $task = $this->_task; $params = JComponentHelper::getParams(JEV_COM_COMPONENT); $adminuser = $params->get("jevadmin", -1); if (JEVHelper::isAdminUser($user) || $user->id == $adminuser) { $creator_id = 'ADMIN'; } else { $creator_id = $user->id; } // get the view $document = JFactory::getDocument(); $viewType = $document->getType(); $cfg = JEVConfig::getInstance(); $theme = JEV_CommonFunctions::getJEventsViewName(); $view = "admin"; $this->addViewPath($this->_basePath . '/' . "views" . '/' . $theme); $this->view = $this->getView($view, $viewType, $theme . "View", array('base_path' => $this->_basePath, "template_path" => $this->_basePath . '/' . "views" . '/' . $theme . '/' . $view . '/' . 'tmpl', "name" => $theme . '/' . $view)); // Set the layout $this->view->setLayout('listevents'); $this->view->assign("Itemid", $Itemid); $this->view->assign("limitstart", $limitstart); $this->view->assign("limit", $limit); $this->view->assign("month", $month); $this->view->assign("day", $day); $this->view->assign("year", $year); $this->view->assign("task", $task); $this->view->assign("creator_id", $creator_id); $this->view->display(); }
function ical($tpl = null) { JEVHelper::componentStylesheet($this); $document = JFactory::getDocument(); // TODO do this properly //$document->setTitle(JText::_( 'BROWSER_TITLE' )); $params = JComponentHelper::getParams(JEV_COM_COMPONENT); //$this->assign("introduction", $params->get("intro","")); $this->data = $this->datamodel->getCalendarData($this->year, $this->month, $this->day); // for adding events in day cell $this->popup = false; if ($params->get("editpopup", 0) && JEVHelper::isEventCreator()) { JevHtmlBootstrap::modal(); JEVHelper::script('editpopup.js', 'components/' . JEV_COM_COMPONENT . '/assets/js/'); $this->popup = true; $this->popupw = $params->get("popupw", 800); $this->popuph = $params->get("popuph", 600); } $this->is_event_creator = JEVHelper::isEventCreator(); }
function apply() { // Must be at least an event creator to save events $is_event_editor = JEVHelper::isEventCreator(); if (!$is_event_editor) { JError::raiseError(403, JText::_('ALERTNOTAUTH')); } parent::apply(); }
private function doSave(&$msg) { if (!JEVHelper::isEventCreator()) { JError::raiseError(403, JText::_('ALERTNOTAUTH')); } // clean out the cache $cache =& JFactory::getCache('com_jevents'); $cache->clean(JEV_COM_COMPONENT); // JREQUEST_ALLOWHTML requires at least Joomla 1.5 svn9979 (past 1.5 stable) $array = JRequest::get('request', JREQUEST_ALLOWHTML); // Should we allow raw content through unfiltered $params = JComponentHelper::getParams(JEV_COM_COMPONENT); if ($params->get("allowraw", 0)) { $array['jevcontent'] = JRequest::getString("jevcontent", "", "POST", JREQUEST_ALLOWRAW); } if (!JEVHelper::canCreateEvent($array)) { JError::raiseError(403, JText::_('ALERTNOTAUTH')); } $rrule = SaveIcalEvent::generateRRule($array); // ensure authorised if (isset($array["evid"]) && $array["evid"] > 0) { $event = $this->queryModel->getEventById(intval($array["evid"]), 1, "icaldb"); if (!$event || !JEVHelper::canEditEvent($event)) { JError::raiseError(403, JText::_('ALERTNOTAUTH')); } } $clearout = false; // remove all exceptions since they are no longer needed if (isset($array["evid"]) && $array["evid"] > 0) { $clearout = true; } if ($event = SaveIcalEvent::save($array, $this->queryModel, $rrule)) { $row = new jIcalEventDB($event); if (JEVHelper::canPublishEvent($row)) { $msg = JText::_("Event_Saved", true); } else { $msg = JText::_("EVENT_SAVED_UNDER_REVIEW", true); } if ($clearout) { $db = JFactory::getDBO(); $query = "DELETE FROM #__jevents_exception WHERE eventid = " . $array["evid"]; $db->setQuery($query); $db->query(); // TODO clear out old exception details } } else { $msg = JText::_("Event Not Saved", true); } return $row; }
function importdata() { // Check for request forgeries JRequest::checkToken() or jexit('Invalid Token'); // Can only do this if can add an event // Must be at least an event creator to edit or create events $is_event_editor = JEVHelper::isEventCreator(); if (!$is_event_editor) { $user = JFactory::getUser(); if ($user->id) { $this->setRedirect(JURI::root(), JText::_('JEV_NOTAUTH_CREATE_EVENT')); $this->redirect(); } else { $comuser = version_compare(JVERSION, '1.6.0', '>=') ? "com_users" : "com_user"; $this->setRedirect(JRoute::_("index.php?option={$comuser}&view=login"), JText::_('JEV_NOTAUTH_CREATE_EVENT')); $this->redirect(); } return; } $params = JComponentHelper::getParams(JEV_COM_COMPONENT); if (!$params->get("feimport", 0)) { return; } $catid = JRequest::getInt('catid', 0); $ignoreembedcat = JRequest::getInt('ignoreembedcat', 0); // Should come from the form or existing item $access = 0; $state = 1; $uploadURL = JRequest::getVar('uploadURL', ''); $icsLabel = uniqid('icsLabel'); $icsid = JRequest::getInt('icsid', 0); $autorefresh = 0; if ($catid == 0) { // Paranoia, should not be here, validation is done by java script // Just load the ical event list on redirect for now. $redirect_task = "icalevent.list"; JError::raiseError('Fatal error', JText::_('JEV_E_WARNCAT')); $this->setRedirect("index.php?option=" . JEV_COM_COMPONENT . "&task={$redirect_task}", JText::_('JEV_E_WARNCAT')); $this->redirect(); return; } // I need a better check and expiry information etc. if (JString::strlen($uploadURL) > 0) { $icsFile = iCalICSFile::newICSFileFromURL($uploadURL, $icsid, $catid, $access, $state, $icsLabel, $autorefresh, $ignoreembedcat); } else { if (isset($_FILES['upload']) && is_array($_FILES['upload'])) { $file = $_FILES['upload']; if ($file['size'] == 0) { //|| !($file['type']=="text/calendar" || $file['type']=="application/octet-stream")){ JError::raiseWarning(0, 'empty upload file'); $icsFile = false; } else { $icsFile = iCalICSFile::newICSFileFromFile($file, $icsid, $catid, $access, $state, $icsLabel, 0, $ignoreembedcat); } } } $count = 0; if ($icsFile !== false) { $count = $icsFile->storeEvents(); } list($year, $month, $day) = JEVHelper::getYMD(); ob_end_clean(); ?> <script type="text/javascript"> window.alert("<?php echo JText::sprintf("JEV_EVENTS_IMPORTED", $count); ?> "); try { window.parent.jQuery('#myImportModal').modal('hide'); } catch (e){} try { window.parent.SqueezeBox.close(); } catch (e){} //window.parent.location.reload(); </script> <?php exit; }
function delete() { $is_event_editor = JEVHelper::isEventCreator(); if (!$is_event_editor) { JError::raiseError(403, JText::_('ALERTNOTAUTH')); } parent::delete(); }
function getDataForAdmin($creator_id, $limit, $limitstart, $showrepeats = false, $orderby = "") { $data = array(); $is_event_editor = JEVHelper::isEventCreator(); $user =& JFactory::getUser(); $Itemid = JEVHelper::getItemid(); $user =& JFactory::getUser(); $db =& JFactory::getDBO(); $cfg =& JEVConfig::getInstance(); include_once JPATH_ADMINISTRATOR . "/components/" . JEV_COM_COMPONENT . "/libraries/colorMap.php"; // Note that these are the vevents not the repeats if (!$showrepeats) { $total = $this->queryModel->countIcalEventsByCreator($creator_id); } else { $total = $this->queryModel->countIcalEventRepeatsByCreator($creator_id); } $data['total'] = $total; $data['limit'] = $limit; if ($data["total"] <= $data["limit"]) { $limitstart = 0; } $data["limitstart"] = $limitstart; // Note that these are the vevents not the repeats if (!$showrepeats) { $rows = $this->queryModel->listIcalEventsByCreator($creator_id, $limitstart, $limit, $orderby); } else { $rows = $this->queryModel->listIcalEventRepeatsByCreator($creator_id, $limitstart, $limit, $orderby); } $adminView = true; $num_events = count($rows); if ($num_events > 0) { for ($r = 0; $r < $num_events; $r++) { $row =& $rows[$r]; $row->catname($row->getCategoryName()); $row->contactlink(JEventsHTML::getUserMailtoLink($row->id(), $row->created_by(), true)); $row->bgcolor = JEV_CommonFunctions::setColor($row); $row->fgcolor = JevMapColor($row->bgcolor); } } $data['rows'] = $rows; return $data; }
private function doSave(&$msg) { if (!JEVHelper::isEventCreator()) { throw new Exception(JText::_('ALERTNOTAUTH'), 403); return false; } // clean out the cache $cache = JFactory::getCache('com_jevents'); $cache->clean(JEV_COM_COMPONENT); // JREQUEST_ALLOWHTML requires at least Joomla 1.5 svn9979 (past 1.5 stable) $array = JRequest::get('request', JREQUEST_ALLOWHTML); // Should we allow raw content through unfiltered $params = JComponentHelper::getParams(JEV_COM_COMPONENT); if ($params->get("allowraw", 0)) { $array['jevcontent'] = JRequest::getString("jevcontent", "", "POST", JREQUEST_ALLOWRAW); $array['extra_info'] = JRequest::getString("extra_info", "", "POST", JREQUEST_ALLOWRAW); } // convert nl2br if there is no HTML if (strip_tags($array['jevcontent']) == $array['jevcontent']) { $array['jevcontent'] = nl2br($array['jevcontent']); } if (strip_tags($array['extra_info']) == $array['extra_info']) { $array['extra_info'] = nl2br($array['extra_info']); } // convert event data to objewct so we can test permissions $eventobj = new stdClass(); foreach ($array as $key => $val) { $newkey = "_" . $key; $eventobj->{$newkey} = $val; } $eventobj->_icsid = $eventobj->_ics_id; if (is_array($eventobj->_catid)) { $eventobj->_catid = current($eventobj->_catid); } if (!JEVHelper::canCreateEvent($eventobj)) { throw new Exception(JText::_('ALERTNOTAUTH'), 403); return false; } $rrule = SaveIcalEvent::generateRRule($array); // ensure authorised if (isset($array["evid"]) && $array["evid"] > 0) { $event = $this->queryModel->getEventById(intval($array["evid"]), 1, "icaldb"); if (!$event || !JEVHelper::canEditEvent($event)) { throw new Exception(JText::_('ALERTNOTAUTH'), 403); return false; } } $clearout = false; // remove all exceptions since they are no longer needed if (isset($array["evid"]) && $array["evid"] > 0 && JRequest::getInt("updaterepeats", 1)) { $clearout = true; } if ($event = SaveIcalEvent::save($array, $this->queryModel, $rrule)) { $row = new jIcalEventRepeat($event); if (JEVHelper::canPublishEvent($row)) { $msg = JText::_("Event_Saved", true); } else { $msg = JText::_("EVENT_SAVED_UNDER_REVIEW", true); } if ($clearout) { $db = JFactory::getDBO(); $query = "DELETE FROM #__jevents_exception WHERE eventid = " . $array["evid"]; $db->setQuery($query); $db->query(); // TODO clear out old exception details } } else { $msg = JText::_("Event Not Saved", true); $row = null; } return $row; }
function apply() { // Must be at least an event creator to save events $is_event_editor = JEVHelper::isEventCreator(); if (!$is_event_editor) { throw new Exception(JText::_('ALERTNOTAUTH'), 403); return false; } parent::apply(); }
function DefaultViewEventRowAdmin($view, $row, $manage = false) { $popup = false; $params = JComponentHelper::getParams(JEV_COM_COMPONENT); if ($params->get("editpopup", 0) && JEVHelper::isEventCreator()) { JevHtmlBootstrap::modal(); JEVHelper::script('editpopupJQ.js', 'components/' . JEV_COM_COMPONENT . '/assets/js/'); $popup = true; $popupw = $params->get("popupw", 800); $popuph = $params->get("popuph", 600); } $editLink = $row->editLink(true); $editLink = $popup ? "javascript:jevEditPopup('" . $editLink . "');" : $editLink; $modifylink = ""; if (!$manage && JEVHelper::canEditEvent($row)) { $modifylink = '<a href="' . $row->editlink(true) . '" title="' . JText::_('JEV_MODIFY') . '"><b>' . JText::_('JEV_MODIFY') . "</b></a>\n"; $modifylink = '<a href="' . $editLink . '" title="' . JText::_('JEV_MODIFY') . '"><b>' . JText::_('JEV_MODIFY') . "</b></a>\n"; } $deletelink = ""; if (!$manage && JEVHelper::canDeleteEvent($row)) { $deletelink = '<a href="' . $row->deletelink(false) . "&rettask=admin.listevents" . '" title="' . JText::_('JEV_DELETE') . '"><b>' . JText::_('JEV_DELETE') . "</b></a>\n"; } if (!$manage && JEVHelper::canPublishEvent($row)) { if ($row->published()) { $publishlink = '<a href="' . $row->unpublishlink(false) . "&rettask=admin.listevents" . '" title="' . JText::_('UNPUBLISH') . '"><b>' . JText::_('UNPUBLISH') . "</b></a>\n"; } else { $publishlink = '<a href="' . $row->publishlink(false) . "&rettask=admin.listevents" . '" title="' . JText::_('PUBLISH') . '"><b>' . JText::_('PUBLISH') . "</b></a>\n"; } } else { $publishlink = ""; } $eventlink = $row->viewDetailLink($row->yup(), $row->mup(), $row->dup(), false); $eventlink = JRoute::_($eventlink . $view->datamodel->getCatidsOutLink()); $border = "border-color:" . $row->bgcolor() . ";"; ?> <li class="ev_td_li" style="<?php echo $border; ?> "> <a class="<?php echo $row->state() ? 'ev_link_row' : 'ev_link_unpublished'; ?> " href="<?php echo $eventlink; ?> " title="<?php echo JEventsHTML::special($row->title()) . ($row->state() ? '' : JText::_('JEV_UNPUBLISHED')); ?> "><?php echo $row->title() . ($row->state() ? '' : JText::_('JEV_UNPUBLISHED')); ?> </a> <?php echo JText::_('JEV_BY'); ?> <i><?php echo $row->contactlink('', true); ?> </i> <?php echo $deletelink; ?> <?php echo $modifylink; ?> <?php echo $publishlink; ?> </li> <?php }
function __construct($view, $today_date, $view_date, $dates, $alts, $option, $task, $Itemid) { global $catidsOut; if (JRequest::getInt('pop', 0)) { return; } $cfg = JEVConfig::getInstance(); $compname = JEV_COM_COMPONENT; //Lets check if we should show the nav on event details if ($task == "icalrepeat.detail" && $cfg->get('shownavbar_detail', 1) == 0) { return; } $this->iconstoshow = $cfg->get('iconstoshow', array('byyear', 'bymonth', 'byweek', 'byday', 'search')); $viewimages = JURI::root() . "components/" . JEV_COM_COMPONENT . "/views/" . $view->getViewName() . "/assets/images"; $cat = ""; $hiddencat = ""; if ($catidsOut != 0) { $cat = '&catids=' . $catidsOut; $hiddencat = '<input type="hidden" name="catids" value="' . $catidsOut . '"/>'; } // for popup editing $view->popup = false; $params = JComponentHelper::getParams(JEV_COM_COMPONENT); if ($params->get("editpopup", 0) && JEVHelper::isEventCreator()) { JevHtmlBootstrap::modal(); JEVHelper::script('editpopup.js', 'components/' . JEV_COM_COMPONENT . '/assets/js/'); $view->popup = true; $view->popupw = $params->get("popupw", 800); $view->popuph = $params->get("popuph", 600); } $link = 'index.php?option=' . $option . '&task=' . $task . $cat . '&Itemid=' . $Itemid . '&'; ?> <table class="ev_navigation" bgcolor="#ffffff" border="0" cellpadding="10" cellspacing="0" width="100%" > <tr> <td class="tableh1" align="center"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <!-- BEGIN add_event --> <!--// <?php if (JEVHelper::isEventCreator()) { list($year, $month, $day) = JEVHelper::getYMD(); $editLink = JRoute::_('index.php?option=' . JEV_COM_COMPONENT . '&task=icalevent.edit' . '&year=' . $year . '&month=' . $month . '&day=' . $day . '&Itemid=' . $view->Itemid, true); $eventlinkadd = $view->popup ? "javascript:jevEditPopup('" . $editLink . "');" : $editLink; ?> <td><img name="spacer" src="<?php echo $viewimages; ?> /spacer.gif" alt="" border="0" height="25" width="10"/></td> <td class="buttontext" align="center" nowrap="nowrap" valign="middle"> <a href="<?php echo $eventlinkadd; ?> " title="Add Event" class="buttontext"> <img src="<?php echo $viewimages; ?> /icon-addevent.gif" alt="Add Event" border="0"/><br/> <?php echo JText::_('JEV_ADD_EVENT'); ?> </a> </td> <?php } ?> //--> <!-- END add_event --> <?php if (in_array("byyear", $this->iconstoshow)) { ?> <td><img name="spacer" src="<?php echo $viewimages; ?> /spacer.gif" alt="" border="0" height="25" width="10"/></td> <td class="buttontext" align="center" nowrap="nowrap" valign="middle"> <a href="<?php echo JRoute::_('index.php?option=' . $option . $cat . '&task=year.listevents&' . $view_date->toDateURL() . '&Itemid=' . $Itemid); ?> " title="<?php echo JText::_('JEV_VIEWBYYEAR'); ?> " class="buttontext"> <img src="<?php echo $viewimages; ?> /icon-flyer.gif" alt="Flat View" border="0"/><br/> <?php echo JText::_('JEV_VIEWBYYEAR'); ?> </a> </td> <?php } ?> <?php if (in_array("bymonth", $this->iconstoshow)) { ?> <td><img name="spacer" src="<?php echo $viewimages; ?> /spacer.gif" alt="" border="0" height="25" width="10"/></td> <td class="buttontext" align="center" nowrap="nowrap" valign="middle"> <a href="<?php echo JRoute::_('index.php?option=' . $option . $cat . '&task=month.calendar&' . $view_date->toDateURL() . '&Itemid=' . $Itemid); ?> " title="<?php echo JText::_('JEV_VIEWBYMONTH'); ?> " class="buttontext"> <img src="<?php echo $viewimages; ?> /icon-calendarview.gif" alt="<?php echo JText::_('MONTHLY_VIEW'); ?> " border="0"/><br/> <?php echo JText::_('JEV_VIEWBYMONTH'); ?> </a> </td> <?php } ?> <?php if (in_array("byweek", $this->iconstoshow)) { ?> <td><img name="spacer" src="<?php echo $viewimages; ?> /spacer.gif" alt="" border="0" height="25" width="10"/></td> <td class="buttontext" align="center" nowrap="nowrap" valign="middle"> <a href="<?php echo JRoute::_('index.php?option=' . $option . $cat . '&task=week.listevents&' . $view_date->toDateURL() . '&Itemid=' . $Itemid); ?> " title="<?php echo JText::_('JEV_VIEWBYWEEK'); ?> " class="buttontext"> <img src="<?php echo $viewimages; ?> /icon-weekly.gif" alt="Weekly View" border="0"/><br/> <?php echo JText::_('JEV_VIEWBYWEEK'); ?> </a> </td> <?php } ?> <?php if (in_array("byday", $this->iconstoshow)) { ?> <td><img name="spacer" src="<?php echo $viewimages; ?> /spacer.gif" alt="" border="0" height="25" width="10"/></td> <td class="buttontext" align="center" nowrap="nowrap" valign="middle"> <a href="<?php echo JRoute::_('index.php?option=' . $option . $cat . '&task=day.listevents&' . $today_date->toDateURL() . '&Itemid=' . $Itemid); ?> " title="<?php echo JText::_('JEV_VIEWTODAY'); ?> " class="buttontext"> <img src="<?php echo $viewimages; ?> /icon-daily.gif" alt="Daily View" border="0"/><br/> <?php echo JText::_('JEV_VIEWTODAY'); ?> </a> </td> <?php } ?> <?php if ($cfg->get('com_hideshowbycats', 0) == '0') { ?> <?php if (in_array("bycat", $this->iconstoshow)) { ?> <td><img name="spacer" src="<?php echo $viewimages; ?> /spacer.gif" alt="" border="0" height="25" width="10"/></td> <td class="buttontext" align="center" nowrap="nowrap" valign="middle"> <a href="<?php echo JRoute::_('index.php?option=' . $option . $cat . '&task=cat.listevents&' . $view_date->toDateURL() . '&Itemid=' . $Itemid); ?> " title="<?php echo JText::_('JEV_VIEWBYCAT'); ?> " class="buttontext"> <img src="<?php echo $viewimages; ?> /icon-cats.gif" alt="Categories" border="0"/><br/> <?php echo JText::_('JEV_VIEWBYCAT'); ?> </a> </td> <?php } ?> <?php } ?> <?php if (in_array("search", $this->iconstoshow)) { ?> <td><img name="spacer" src="<?php echo $viewimages; ?> /spacer.gif" alt="" border="0" height="25" width="10"/></td> <td class="buttontext" align="center" nowrap="nowrap" valign="middle"> <a href="<?php echo JRoute::_('index.php?option=' . $option . $cat . '&task=search.form&' . $view_date->toDateURL() . '&Itemid=' . $Itemid); ?> " title="<?php echo JText::_('JEV_SEARCH_TITLE'); ?> " class="buttontext"> <img src="<?php echo $viewimages; ?> /icon-search.gif" alt="Search" border="0"/><br/> <?php echo JText::_('JEV_SEARCH_TITLE'); ?> </a> </td> <?php } ?> </tr> </table> </td> </tr></table> <?php }
function simulateSaveRepeat($requestObject) { include_once JPATH_SITE . "/components/com_jevents/jevents.defines.php"; if (!JEVHelper::isEventCreator()) { throwerror(JText::_('ALERTNOTAUTH')); } // Convert formdata to array $formdata = array(); foreach (get_object_vars($requestObject->formdata) as $k => $v) { $k = str_replace("[]", "", $k); $formdata[$k] = $v; } $array = JRequest::_cleanVar($formdata, JREQUEST_ALLOWHTML); if (!array_key_exists("rp_id", $array) || intval($array["rp_id"]) <= 0) { throwerror(JText::_("Not a repeat", true)); } $rp_id = intval($array["rp_id"]); $dataModel = new JEventsDataModel("JEventsAdminDBModel"); $queryModel = new JEventsDBModel($dataModel); // I should be able to do this in one operation but that can come later $event = $queryModel->listEventsById(intval($rp_id), 1, "icaldb"); if (!JEVHelper::canEditEvent($event)) { throwerror(JText::_('ALERTNOTAUTH')); } $db =& JFactory::getDBO(); $rpt = new iCalRepetition($db); $rpt->load($rp_id); $query = "SELECT detail_id FROM #__jevents_vevent WHERE ev_id={$rpt->eventid}"; $db->setQuery($query); $eventdetailid = $db->loadResult(); $data["UID"] = valueIfExists($array, "uid", md5(uniqid(rand(), true))); $data["X-EXTRAINFO"] = valueIfExists($array, "extra_info", ""); $data["LOCATION"] = valueIfExists($array, "location", ""); $data["allDayEvent"] = valueIfExists($array, "allDayEvent", "off"); $data["CONTACT"] = valueIfExists($array, "contact_info", ""); // allow raw HTML (mask =2) $data["DESCRIPTION"] = valueIfExists($array, "jevcontent", "", 'request', 'html', 2); $data["publish_down"] = valueIfExists($array, "publish_down", "2006-12-12"); $data["publish_up"] = valueIfExists($array, "publish_up", "2006-12-12"); $interval = valueIfExists($array, "rinterval", 1); $data["SUMMARY"] = valueIfExists($array, "title", ""); $data["MULTIDAY"] = intval(valueIfExists($array, "multiday", "1")); $data["NOENDTIME"] = intval(valueIfExists($array, "noendtime", 0)); $ics_id = valueIfExists($array, "ics_id", 0); if ($data["allDayEvent"] == "on") { $start_time = "00:00"; } else { $start_time = valueIfExists($array, "start_time", "08:00"); } $publishstart = $data["publish_up"] . ' ' . $start_time . ':00'; $data["DTSTART"] = JevDate::strtotime($publishstart); if ($data["allDayEvent"] == "on") { $end_time = "23:59"; $publishend = $data["publish_down"] . ' ' . $end_time . ':59'; } else { $end_time = valueIfExists($array, "end_time", "15:00"); $publishend = $data["publish_down"] . ' ' . $end_time . ':00'; } $data["DTEND"] = JevDate::strtotime($publishend); // iCal for whole day uses 00:00:00 on the next day JEvents uses 23:59:59 on the same day list($h, $m, $s) = explode(":", $end_time . ':00'); if ($h + $m + $s == 0 && $data["allDayEvent"] == "on" && $data["DTEND"] > $data["DTSTART"]) { $publishend = JevDate::strftime('%Y-%m-%d 23:59:59', $data["DTEND"] - 86400); $data["DTEND"] = JevDate::strtotime($publishend); } $data["X-COLOR"] = valueIfExists($array, "color", ""); // Add any custom fields into $data array foreach ($array as $key => $value) { if (strpos($key, "custom_") === 0) { $data[$key] = $value; } } // populate rpt with data $start = $data["DTSTART"]; $end = $data["DTEND"]; $rpt->startrepeat = JevDate::strftime('%Y-%m-%d %H:%M:%S', $start); $rpt->endrepeat = JevDate::strftime('%Y-%m-%d %H:%M:%S', $end); $rpt->duplicatecheck = md5($rpt->eventid . $start); $rpt->rp_id = $rp_id; $rpt->event = $event; return $rpt; }
function __construct($view, $today_date, $view_date, $dates, $alts, $option, $task, $Itemid) { global $catidsOut; if (JRequest::getInt('pop', 0)) { return; } $cfg =& JEVConfig::getInstance(); $compname = JEV_COM_COMPONENT; $viewimages = JURI::root() . "components/" . JEV_COM_COMPONENT . "/views/" . $view->getViewName() . "/assets/images"; $cat = ""; $hiddencat = ""; if ($catidsOut != 0) { $cat = '&catids=' . $catidsOut; $hiddencat = '<input type="hidden" name="catids" value="' . $catidsOut . '"/>'; } $link = 'index.php?option=' . $option . '&task=' . $task . $cat . '&Itemid=' . $Itemid . '&'; ?> <table class="ev_navigation" bgcolor="#ffffff" border="0" cellpadding="10" cellspacing="0" width="100%" > <tr> <td class="tableh1" align="center"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <!-- BEGIN add_event --> <!--// <?php if (JEVHelper::isEventCreator()) { list($year, $month, $day) = JEVHelper::getYMD(); $editLink = JRoute::_('index.php?option=' . JEV_COM_COMPONENT . '&task=icalevent.edit' . '&year=' . $year . '&month=' . $month . '&day=' . $day . '&Itemid=' . $view->Itemid, true); $eventlinkadd = $view->popup ? "javascript:jevEditPopup('" . $editLink . "',{$view->popupw}, {$view->popuph});" : $editLink; ?> <td><img name="spacer" src="<?php echo $viewimages; ?> /spacer.gif" alt="" border="0" height="25" width="10"/></td> <td class="buttontext" align="center" nowrap="nowrap" valign="middle"> <a href="<?php echo $eventlinkadd; ?> " title="Add Event" class="buttontext"> <img src="<?php echo $viewimages; ?> /icon-addevent.gif" alt="Add Event" border="0"/><br/> <?php echo JText::_('JEV_ADD_EVENT'); ?> </a> </td> <?php } ?> //--> <!-- END add_event --> <!-- BEGIN flyer_view --> <td><img name="spacer" src="<?php echo $viewimages; ?> /spacer.gif" alt="" border="0" height="25" width="10"/></td> <td class="buttontext" align="center" nowrap="nowrap" valign="middle"> <a href="<?php echo JRoute::_('index.php?option=' . $option . $cat . '&task=year.listevents&' . $view_date->toDateURL() . '&Itemid=' . $Itemid); ?> " title="<?php echo JText::_('JEV_VIEWBYYEAR'); ?> " class="buttontext"> <img src="<?php echo $viewimages; ?> /icon-flyer.gif" alt="Flat View" border="0"/><br/> <?php echo JText::_('JEV_VIEWBYYEAR'); ?> </a> </td> <!-- END flyer_view --> <!-- BEGIN monthly_view --> <td><img name="spacer" src="<?php echo $viewimages; ?> /spacer.gif" alt="" border="0" height="25" width="10"/></td> <td class="buttontext" align="center" nowrap="nowrap" valign="middle"> <a href="<?php echo JRoute::_('index.php?option=' . $option . $cat . '&task=month.calendar&' . $view_date->toDateURL() . '&Itemid=' . $Itemid); ?> " title="<?php echo JText::_('JEV_VIEWBYMONTH'); ?> " class="buttontext"> <img src="<?php echo $viewimages; ?> /icon-calendarview.gif" alt="<?php echo JText::_('MONTHLY_VIEW'); ?> " border="0"/><br/> <?php echo JText::_('JEV_VIEWBYMONTH'); ?> </a> </td> <!-- END monthly_view --> <!-- BEGIN weekly_view --> <td><img name="spacer" src="<?php echo $viewimages; ?> /spacer.gif" alt="" border="0" height="25" width="10"/></td> <td class="buttontext" align="center" nowrap="nowrap" valign="middle"> <a href="<?php echo JRoute::_('index.php?option=' . $option . $cat . '&task=week.listevents&' . $view_date->toDateURL() . '&Itemid=' . $Itemid); ?> " title="<?php echo JText::_('JEV_VIEWBYWEEK'); ?> " class="buttontext"> <img src="<?php echo $viewimages; ?> /icon-weekly.gif" alt="Weekly View" border="0"/><br/> <?php echo JText::_('JEV_VIEWBYWEEK'); ?> </a> </td> <!-- END weekly_view --> <!-- BEGIN daily_view --> <td><img name="spacer" src="<?php echo $viewimages; ?> /spacer.gif" alt="" border="0" height="25" width="10"/></td> <td class="buttontext" align="center" nowrap="nowrap" valign="middle"> <a href="<?php echo JRoute::_('index.php?option=' . $option . $cat . '&task=day.listevents&' . $today_date->toDateURL() . '&Itemid=' . $Itemid); ?> " title="<?php echo JText::_('JEV_VIEWTODAY'); ?> " class="buttontext"> <img src="<?php echo $viewimages; ?> /icon-daily.gif" alt="Daily View" border="0"/><br/> <?php echo JText::_('JEV_VIEWTODAY'); ?> </a> </td> <!-- END daily_view --> <?php if ($cfg->get('com_hideshowbycats', 0) == '0') { ?> <!-- BEGIN cat_view --> <td><img name="spacer" src="<?php echo $viewimages; ?> /spacer.gif" alt="" border="0" height="25" width="10"/></td> <td class="buttontext" align="center" nowrap="nowrap" valign="middle"> <a href="<?php echo JRoute::_('index.php?option=' . $option . $cat . '&task=cat.listevents&' . $view_date->toDateURL() . '&Itemid=' . $Itemid); ?> " title="<?php echo JText::_('JEV_VIEWBYCAT'); ?> " class="buttontext"> <img src="<?php echo $viewimages; ?> /icon-cats.gif" alt="Categories" border="0"/><br/> <?php echo JText::_('JEV_VIEWBYCAT'); ?> </a> </td> <!-- END cat_view --> <?php } ?> <!-- BEGIN search_view --> <td><img name="spacer" src="<?php echo $viewimages; ?> /spacer.gif" alt="" border="0" height="25" width="10"/></td> <td class="buttontext" align="center" nowrap="nowrap" valign="middle"> <a href="<?php echo JRoute::_('index.php?option=' . $option . $cat . '&task=search.form&' . $view_date->toDateURL() . '&Itemid=' . $Itemid); ?> " title="<?php echo JText::_('JEV_SEARCH_TITLE'); ?> " class="buttontext"> <img src="<?php echo $viewimages; ?> /icon-search.gif" alt="Search" border="0"/><br/> <?php echo JText::_('JEV_SEARCH_TITLE'); ?> </a> </td> <!-- END search_view --> </tr> </table> </td> </tr></table> <?php }
function delete() { $is_event_editor = JEVHelper::isEventCreator(); if (!$is_event_editor) { throw new Exception(JText::_('ALERTNOTAUTH'), 403); return false; } parent::delete(); }
function DefaultEventManagementDialog16($view, $row, $mask, $bootstrap = false) { $user = JFactory::getUser(); if ($user->get("id") == 0) { return ""; } if ((JEVHelper::canEditEvent($row) || JEVHelper::canPublishEvent($row) || JEVHelper::canDeleteEvent($row)) && !($mask & MASK_POPUP)) { $popup = false; $params = JComponentHelper::getParams(JEV_COM_COMPONENT); if ($params->get("editpopup", 0) && JEVHelper::isEventCreator()) { JEVHelper::script('editpopup.js', 'components/' . JEV_COM_COMPONENT . '/assets/js/'); $popup = true; $popupw = $params->get("popupw", 800); $popuph = $params->get("popuph", 600); } $hasrepeat = false; $pathIMG = JURI::root() . 'components/' . JEV_COM_COMPONENT . '/assets/images'; $editImg = $pathIMG . "/edit_f2.png"; $editLink = $row->editLink(); $editLink = $popup ? "javascript:jevEditPopup('" . $editLink . "',{$popupw}, {$popuph});" : $editLink; $editCopyImg = $pathIMG . "/copy_f2.png"; $editCopyLink = $row->editCopyLink(); $editCopyLink = $popup ? "javascript:jevEditPopup('" . $editCopyLink . "',{$popupw}, {$popuph});" : $editCopyLink; $deleteImg = $pathIMG . "/delete_f2.png"; $deleteLink = $row->deleteLink(); if ($row->until() != $row->dtstart() || $row->count() > 1) { $hasrepeat = true; $editRepeatImg = $pathIMG . "/edit_f2.png"; $editRepeatLink = $row->editRepeatLink(); $editRepeatLink = $popup ? "javascript:jevEditPopup('" . $editRepeatLink . "',{$popupw}, {$popuph});" : $editRepeatLink; $deleteRepeatImg = $pathIMG . "/delete_f2.png"; $deleteRepeatLink = $row->deleteRepeatLink(); $deleteFutureImg = $pathIMG . "/delete_f2.png"; $deleteFutureLink = $row->deleteFutureLink(); } else { $editRepeatLink = ""; $deleteRepeatLink = ""; $deleteFutureLink = ""; } if (!JEVHelper::canEditEvent($row)) { $editLink = ""; $editRepeatLink = ""; $editCopyLink = ""; } if (!JEVHelper::canDeleteEvent($row)) { $deleteLink = ""; $deleteRepeatLink = ""; $deleteFutureLink = ""; } $publishLink = ""; if (JEVHelper::canPublishEvent($row)) { if ($row->published() > 0) { $publishImg = $pathIMG . "/publish_r.png"; $publishLink = $row->unpublishLink(); $publishText = JText::_('UNPUBLISH_EVENT'); } else { $publishImg = $pathIMG . "/publish_g.png"; $publishLink = $row->publishLink(); $publishText = JText::_('PUBLISH_EVENT'); } } if ($publishLink . $editRepeatLink . $editLink . $deleteRepeatLink . $deleteLink . $deleteFutureLink == "") { return false; } ?> <div id="action_dialog" > <div class="close_dialog" > <a href="javascript:void(0)" onclick="closedialog()" >x</a> </div> <?php if ($publishLink != "") { ?> <a href="<?php echo $publishLink; ?> " id="publish_reccur" title="<?php echo $publishText; ?> " ><img src="<?php echo $publishImg; ?> " alt="" /><?php echo $publishText; ?> </a><br/> <?php } ?> <?php if ($editRepeatLink != "") { ?> <a href="<?php echo $editRepeatLink; ?> " id="edit_reccur" title="edit event" ><img src="<?php echo $editRepeatImg; ?> " alt="" /><?php echo JText::_('EDIT_REPEAT'); ?> </a><br/> <?php } if ($editLink != "") { ?> <a href="<?php echo $editLink; ?> " id="edit_event" title="edit event" ><img src="<?php echo $editImg; ?> " alt="" /><?php echo JText::_('EDIT_EVENT'); ?> </a><br/> <a href="<?php echo $editCopyLink; ?> " id="edit_eventcopy" title="edit event" ><img src="<?php echo $editCopyImg; ?> " alt="" /><?php echo JText::_('COPY_AND_EDIT_EVENT'); ?> </a><br/> <?php } if ($deleteRepeatLink != "") { ?> <a href="<?php echo $deleteRepeatLink; ?> " onclick="return confirm('<?php echo JText::_('ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_RECURRENCE', true); ?> ')" id="delete_repeat" title="delete repeat" ><img src="<?php echo $deleteRepeatImg; ?> " alt="" /><?php echo JText::_('DELETE_THIS_REPEAT'); ?> </a><br/> <?php } if ($deleteLink != "") { ?> <a href="<?php echo $deleteLink; ?> " onclick="return confirm('<?php echo JText::_($hasrepeat ? 'ARE_YOU_SURE_YOU_WISH_TO_DELETE_THIS_EVENT_AND_ALL_ITS_REPEAT' : 'ARE_YOU_SURE_YOU_WISH_TO_DELETE_THIS_EVENT', true); ?> ')" id="delete_event" title="delete event" ><img src="<?php echo $deleteImg; ?> " alt="" /><?php echo JText::_($hasrepeat ? "DELETE_ALL_REPEATS" : "DELETE_EVENT"); ?> </a><br/> <?php } if ($deleteFutureLink != "") { ?> <a href="<?php echo $deleteFutureLink; ?> " onclick="return confirm('<?php echo JText::_('ARE_YOU_SURE_YOU_WITH_TO_DELETE_THIS_EVENT_AND_ALL_FUTURE_REPEATS', true); ?> ')" id="delete_eventfuture" title="delete event" ><img src="<?php echo $deleteFutureImg; ?> " alt="" /><?php echo JText::_('JEV_DELETE_FUTURE_REPEATS'); ?> </a><br/> <?php } ?> </div> <?php return true; } else { return false; } }
function deletefuture() { // clean out the cache $cache = JFactory::getCache('com_jevents'); $cache->clean(JEV_COM_COMPONENT); if (!JEVHelper::isEventCreator()) { throw new Exception(JText::_('ALERTNOTAUTH'), 403); return false; } $this->_deleteFuture(); if (JFactory::getApplication()->isAdmin()) { $this->setRedirect("index.php?option=" . JEV_COM_COMPONENT . "&task=icalrepeat.list&cid[]=" . $repeatdata->eventid, "ICal Repeats deleted"); } else { $Itemid = JRequest::getInt("Itemid"); list($year, $month, $day) = JEVHelper::getYMD(); $this->setRedirect(JRoute::_('index.php?option=' . JEV_COM_COMPONENT . "&task=day.listevents&year={$year}&month={$month}&day={$day}&Itemid={$Itemid}"), "Ical Repeats Deleted"); } }
function DefaultViewHelperViewNavAdminPanel($view) { $is_event_editor = JEVHelper::isEventCreator(); $user = JFactory::getUser(); JEVHelper::script('view_detail.js', 'components/' . JEV_COM_COMPONENT . "/assets/js/"); JLoader::register('jevFilterProcessing', JEV_PATH . "/libraries/filters.php"); $pluginsDir = JPATH_ROOT . DS . 'plugins' . DS . 'jevents'; $filters = jevFilterProcessing::getInstance(array("published", "justmine", "category", "reset")); $cfg =& JEVConfig::getInstance(); if (JRequest::getInt('pop', 0)) { return; } if ($is_event_editor) { ?> <div class="ev_adminpanel"> <table width="100%" border="0" align="center"> <tr> <td align="left" class="nav_bar_cell"> <?php $editLink = JRoute::_('index.php?option=' . JEV_COM_COMPONENT . '&task=icalevent.edit' . '&year=' . $view->year . '&month=' . $view->month . '&day=' . $view->day . '&Itemid=' . $view->Itemid, true); $popup = false; $params = JComponentHelper::getParams(JEV_COM_COMPONENT); if ($params->get("editpopup", 0)) { JHTML::_('behavior.modal'); JEVHelper::script('editpopup.js', 'components/' . JEV_COM_COMPONENT . '/assets/js/'); $popup = true; $popupw = $params->get("popupw", 800); $popuph = $params->get("popuph", 600); } $eventlinkadd = $popup ? "javascript:jevEditPopup('" . $editLink . "',{$popupw}, {$popuph});" : $editLink; ?> <a href="<?php echo $eventlinkadd; ?> " title="<?php echo JText::_('JEV_ADDEVENT'); ?> "> <b><?php echo JText::_('JEV_ADDEVENT'); ?> </b> </a> <?php // offer frontend import ? if ($params->get("feimport", 0)) { $importLink = JRoute::_('index.php?option=' . JEV_COM_COMPONENT . '&task=icals.importform&tmpl=component&Itemid=' . $view->Itemid, true); JHTML::_('behavior.modal'); JEVHelper::script('editpopup.js', 'components/' . JEV_COM_COMPONENT . '/assets/js/'); $eventimport = "javascript:jevImportPopup('" . $importLink . "',400, 400);"; ?> <br/><a href="<?php echo $eventimport; ?> " title="<?php echo JText::_('JEV_IMPORT_ICALEVENT', true); ?> "> <b><?php echo JText::_('JEV_IMPORT_ICALEVENT'); ?> </b> </a> <?php } if ($user->id > 0) { $datamodel = new JEventsDataModel(); // find appropriate Itemid and setup catids for datamodel $myItemid = JEVHelper::getItemid(); $datamodel->setupComponentCatids(); list($year, $month, $day) = JEVHelper::getYMD(); $evid = JRequest::getVar("evid", false); $jevtype = JRequest::getVar("jevtype", false); // FORM for filter submission $form_link = JRoute::_('index.php?option=' . JEV_COM_COMPONENT . '&task=' . JRequest::getVar("jevtask", "month.calendar") . ($evid ? '&evid=' . $evid : '') . ($jevtype ? '&jevtype=' . $jevtype : '') . ($year ? '&year=' . $year : '') . ($month ? '&month=' . $month : '') . ($day ? '&day=' . $day : '') . "&Itemid=" . $myItemid, false); ?> <form action="<?php echo $form_link; ?> " method="post"> <?php $filterHTML = $filters->getFilterHTML(); $Itemid = JEVHelper::getItemid(); foreach ($filterHTML as $filter) { echo "<div>" . $filter["title"] . " " . $filter["html"] . "</div>"; } /* $eventmylinks = JRoute::_( 'index.php?option=' . JEV_COM_COMPONENT . '&task=admin.listevents' . '&year=' . $view->year . '&month=' . $view->month . '&day=' . $view->day . '&Itemid=' . $view->Itemid ); ?> <a href="<?php echo $eventmylinks; ?>" title="<?php echo JText::_('JEV_MYEVENTS'); ?>"> <b><?php echo JText::_('JEV_MYEVENTS'); ?></b> </a> <?php */ ?> </form> <?php } ?> </td> </tr> </table> </div> <?php } }
/** * Creates mini event dialog for view detail page etc. * note this must be contained in a position:relative block element in order to work * * @param Jevent or descendent $row */ function DefaultEventManagementDialog($view, $row, $mask, $bootstrap = false) { JevHtmlBootstrap::modal("action_dialogJQ" . $row->rp_id()); $user = JFactory::getUser(); if ($user->get("id") == 0) { return ""; } if (JEVHelper::canEditEvent($row) || JEVHelper::canPublishEvent($row) || JEVHelper::canDeleteEvent($row)) { $popup = false; $params = JComponentHelper::getParams(JEV_COM_COMPONENT); if ($params->get("editpopup", 0) && JEVHelper::isEventCreator()) { JevHtmlBootstrap::modal(); JEVHelper::script('editpopupJQ.js', 'components/' . JEV_COM_COMPONENT . '/assets/js/'); $popup = true; $popupw = $params->get("popupw", 800); $popuph = $params->get("popuph", 600); } if (JRequest::getInt("pop", 0)) { // do not call the modal scripts if already in a popup window! $popup = false; } $hasrepeat = false; $pathIMG = JURI::root() . 'components/' . JEV_COM_COMPONENT . '/assets/images'; $editImg = JHtml::image('com_jevents/icons-32/edit.png', JText::_("EDIT_EVENT"), null, true); $editLink = $row->editLink(); $editLink = $popup ? "javascript:jevEditPopupNoHeader('" . $editLink . "');" : $editLink; $editCopyImg = JHtml::image('com_jevents/icons-32/copy.png', JText::_("COPY_AND_EDIT_EVENT"), null, true); $editCopyLink = $row->editCopyLink(); $editCopyLink = $popup ? "javascript:jevEditPopupNoHeader('" . $editCopyLink . "');" : $editCopyLink; $deleteImg = JHtml::image('com_jevents/icons-32/discard.png', JText::_("DELETE_EVENT"), null, true); $deleteLink = $row->deleteLink(); if ($row->until() != $row->dtstart() || $row->count() > 1) { $hasrepeat = true; $editRepeatImg = JHtml::image('com_jevents/icons-32/edit.png', JText::_("EDIT_REPEAT"), null, true); $editRepeatLink = $row->editRepeatLink(); $editRepeatLink = $popup ? "javascript:jevEditPopupNoHeader('" . $editRepeatLink . "');" : $editRepeatLink; $deleteRepeatImg = JHtml::image('com_jevents/icons-32/discard.png', JText::_("DELETE_THIS_REPEAT"), null, true); $deleteRepeatLink = $row->deleteRepeatLink(); $deleteFutureImg = JHtml::image('com_jevents/icons-32/discards.png', JText::_("JEV_DELETE_FUTURE_REPEATS"), null, true); $deleteFutureLink = $row->deleteFutureLink(); $deleteImg = JHtml::image('com_jevents/icons-32/discards.png', JText::_("DELETE_ALL_REPEATS"), null, true); } else { $editRepeatLink = ""; $deleteRepeatLink = ""; $deleteFutureLink = ""; } if (!JEVHelper::canEditEvent($row)) { $editLink = ""; $editRepeatLink = ""; $editCopyLink = ""; } if (!JEVHelper::canDeleteEvent($row)) { $deleteLink = ""; $deleteRepeatLink = ""; $deleteFutureLink = ""; } $publishLink = ""; if (JEVHelper::canPublishEvent($row)) { if ($row->published() > 0) { $publishImg = JHtml::image('com_jevents/icons-32/cancel.png', JText::_("UNPUBLISH_EVENT"), null, true); $publishLink = $row->unpublishLink(); $publishText = JText::_('UNPUBLISH_EVENT'); } else { $publishImg = JHtml::image('com_jevents/icons-32/accept.png', JText::_("PUBLISH_EVENT"), null, true); $publishLink = $row->publishLink(); $publishText = JText::_('PUBLISH_EVENT'); } } if ($publishLink . $editRepeatLink . $editLink . $deleteRepeatLink . $deleteLink . $deleteFutureLink == "") { return false; } ?> <div id="action_dialogJQ<?php echo $row->rp_id(); ?> " class="action_dialogJQ modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog modal-sm"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title" id="myModalLabel"><?php echo JText::_("JEV_MANAGE_EVENT"); ?> </h4> </div> <div class="modal-body"> <?php if ($publishLink != "") { ?> <a href="<?php echo $publishLink; ?> " id="publish_reccur" title="<?php echo $publishText; ?> " ><?php echo $publishImg; echo $publishText; ?> </a><br/> <?php } ?> <?php if ($editRepeatLink != "") { ?> <a href="<?php echo $editRepeatLink; ?> " id="edit_reccur" title="edit event" ><?php echo $editRepeatImg; echo JText::_('EDIT_REPEAT'); ?> </a><br/> <?php } if ($editLink != "") { ?> <a href="<?php echo $editLink; ?> " id="edit_event" title="edit event" ><?php echo $editImg; echo JText::_('EDIT_EVENT'); ?> </a><br/> <a href="<?php echo $editCopyLink; ?> " id="edit_eventcopy" title="edit event" ><?php echo $editCopyImg; echo JText::_('COPY_AND_EDIT_EVENT'); ?> </a><br/> <?php } if ($deleteRepeatLink != "") { ?> <a href="<?php echo $deleteRepeatLink; ?> " onclick="return confirm('<?php echo JText::_('ARE_YOU_SURE_YOU_WANT_TO_DELETE_THIS_RECURRENCE', true); ?> ')" id="delete_repeat" title="delete repeat" ><?php echo $deleteRepeatImg; echo JText::_('DELETE_THIS_REPEAT'); ?> </a><br/> <?php } if ($deleteLink != "") { ?> <a href="<?php echo $deleteLink; ?> " onclick="return confirm('<?php echo JText::_($hasrepeat ? 'ARE_YOU_SURE_YOU_WISH_TO_DELETE_THIS_EVENT_AND_ALL_ITS_REPEAT' : 'ARE_YOU_SURE_YOU_WISH_TO_DELETE_THIS_EVENT', true); ?> ')" id="delete_event" title="delete event" ><?php echo $deleteImg; echo JText::_($hasrepeat ? "DELETE_ALL_REPEATS" : "DELETE_EVENT"); ?> </a><br/> <?php } if ($deleteFutureLink != "") { ?> <a href="<?php echo $deleteFutureLink; ?> " onclick="return confirm('<?php echo JText::_('ARE_YOU_SURE_YOU_WITH_TO_DELETE_THIS_EVENT_AND_ALL_FUTURE_REPEATS', true); ?> ')" id="delete_eventfuture" title="delete event" ><?php echo $deleteFutureImg; echo JText::_('JEV_DELETE_FUTURE_REPEATS'); ?> </a><br/> <?php } ?> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal"><?php echo JText::_("JEV_CLOSE"); ?> </button> </div> </div> </div> </div> <?php return true; } else { return false; } }
function DefaultViewDatecellAddEvent($view, $year, $month, $day) { if (JEVHelper::isEventCreator()) { JEVHelper::script('view_detailJQ.js', 'components/' . JEV_COM_COMPONENT . "/assets/js/"); // no events on Saturday or Sunday! //if (date("N",mktime(0,0,0,$month,$day, $year))>5) return; $editLink = JRoute::_('index.php?option=' . JEV_COM_COMPONENT . '&task=icalevent.edit' . '&year=' . $year . '&month=' . $month . '&day=' . $day . '&Itemid=' . $view->Itemid, true); $transparentGif = JURI::root() . "components/" . JEV_COM_COMPONENT . "/views/" . $view->getViewName() . "/assets/images/transp.gif"; $eventlinkadd = $editLink; if ($view->popup) { $eventlinkadd = "javascript:jevEditPopup('" . $editLink . "')"; ?> <a href="<?php echo $eventlinkadd; ?> " title="<?php echo JText::_('JEV_ADDEVENT'); ?> " class="addjevent" id="add<?php echo $year . $month . $day; ?> " > <!-- data-toggle="modal" data-target="#myEditModal"> //--> <img src="<?php echo $transparentGif; ?> " alt="<?php echo JText::_('JEV_ADDEVENT'); ?> "/> </a> <?php } else { ?> <a href="<?php echo $eventlinkadd; ?> " title="<?php echo JText::_('JEV_ADDEVENT'); ?> " class="addjevent" id="add<?php echo $year . $month . $day; ?> "> <img src="<?php echo $transparentGif; ?> " alt="<?php echo JText::_('JEV_ADDEVENT'); ?> "/> </a> <?php } static $modalDefined = false; if (!$modalDefined && $view->popup) { $modalDefined = true; //JevHtmlBootstrap::modal("myEditModal"); JText::script('JEV_ADD_EVENT'); } } }
function canUserEdit() { $is_event_creator = JEVHelper::isEventCreator(); $user = JFactory::getUser(); // are we authorised to do anything with this category or calendar $jevuser = JEVHelper::getAuthorisedUser(); if ($this->_icsid > 0 && $jevuser && $jevuser->calendars != "" && $jevuser->calendars != "all") { $allowedcals = explode("|", $jevuser->calendars); if (!in_array($this->_icsid, $allowedcals)) { return false; } } if ($this->_catid > 0 && $jevuser && $jevuser->categories != "" && $jevuser->categories != "all") { $allowedcats = explode("|", $jevuser->categories); if (!in_array($this->_catid, $allowedcats)) { return false; } } // if can create events and this was created by this user then can edit (not valid for anon users) if ($is_event_creator && $this->isEditable() && $this->created_by() == $user->id && $user->id > 0) { return true; } // if "event publisher" or "event editor" can always edit event if (JEVHelper::canEditEvent($this)) { return true; } if (JEVHelper::canPublishEvent($this)) { return true; } return false; }
function DefaultViewHelperViewNavAdminPanel($view) { $cfg = JEVConfig::getInstance(); if ($cfg->get('show_adminpanel', 1) == 1) { $is_event_editor = JEVHelper::isEventCreator(); $user = JFactory::getUser(); JEVHelper::script('view_detailJQ.js', 'components/' . JEV_COM_COMPONENT . "/assets/js/"); JLoader::register('jevFilterProcessing', JEV_PATH . "/libraries/filters.php"); $pluginsDir = JPATH_ROOT . '/' . 'plugins' . '/' . 'jevents'; $filters = jevFilterProcessing::getInstance(array("published", "justmine", "category", "reset")); $cfg = JEVConfig::getInstance(); if (JRequest::getInt('pop', 0)) { return; } if ($is_event_editor) { if ($cfg->get("bootstrapchosen", 1)) { // Load Bootstrap JevHtmlBootstrap::framework(); JHtml::_('formbehavior.chosen', '#jevents select:not(.notchosen)'); } if ($cfg->get("bootstrapcss", 1) == 1) { // This version of bootstrap has maximum compatability with JEvents due to enhanced namespacing JHTML::stylesheet("com_jevents/bootstrap.css", array(), true); } else { if ($cfg->get("bootstrapcss", 1) == 2) { JHtmlBootstrap::loadCss(); } } // Load event adding language string JText::script('JEV_ADD_EVENT'); JText::script('JEV_IMPORT_ICALEVENT'); ?> <div class="ev_adminpanel"> <div align="left" class="nav_bar_cell"> <?php $editLink = JRoute::_('index.php?option=' . JEV_COM_COMPONENT . '&task=icalevent.edit' . '&year=' . $view->year . '&month=' . $view->month . '&day=' . $view->day . '&Itemid=' . $view->Itemid, true); $popup = false; $params = JComponentHelper::getParams(JEV_COM_COMPONENT); if ($params->get("editpopup", 0) && JEVHelper::isEventCreator()) { //JevHtmlBootstrap::modal(); JEVHelper::script('editpopupJQ.js', 'components/' . JEV_COM_COMPONENT . '/assets/js/'); $popup = true; } $eventlinkadd = $popup ? "javascript:jevEditPopup('" . $editLink . "');" : $editLink; ?> <a href="<?php echo $eventlinkadd; ?> " title="<?php echo JText::_('JEV_ADDEVENT'); ?> "> <b><?php echo JText::_('JEV_ADDEVENT'); ?> </b> </a> <?php // offer frontend import ? if ($params->get("feimport", 0)) { $importLink = JRoute::_('index.php?option=' . JEV_COM_COMPONENT . '&task=icals.importform&tmpl=component&Itemid=' . $view->Itemid, true); //JevHtmlBootstrap::modal(); JEVHelper::script('editpopupJQ.js', 'components/' . JEV_COM_COMPONENT . '/assets/js/'); $eventimport = "javascript:jevImportPopup('" . $importLink . "');"; ?> <br/><a href="<?php echo $eventimport; ?> " title="<?php echo JText::_('JEV_IMPORT_ICALEVENT', true); ?> "> <b><?php echo JText::_('JEV_IMPORT_ICALEVENT'); ?> </b> </a> <?php } if ($user->id > 0) { $datamodel = new JEventsDataModel(); // find appropriate Itemid and setup catids for datamodel $myItemid = JEVHelper::getItemid(); $datamodel->setupComponentCatids(); list($year, $month, $day) = JEVHelper::getYMD(); $evid = JRequest::getVar("evid", false); $jevtype = JRequest::getVar("jevtype", false); // FORM for filter submission $form_link = JRoute::_('index.php?option=' . JEV_COM_COMPONENT . '&task=' . JRequest::getVar("jevtask", "month.calendar") . ($evid ? '&evid=' . $evid : '') . ($jevtype ? '&jevtype=' . $jevtype : '') . ($year ? '&year=' . $year : '') . ($month ? '&month=' . $month : '') . ($day ? '&day=' . $day : '') . "&Itemid=" . $myItemid, false); ?> <form action="<?php echo $form_link; ?> " method="post"> <?php $filterHTML = $filters->getFilterHTML(); $Itemid = JEVHelper::getItemid(); foreach ($filterHTML as $filter) { echo "<div>" . $filter["title"] . " " . $filter["html"] . "</div>"; } /* $eventmylinks = JRoute::_( 'index.php?option=' . JEV_COM_COMPONENT . '&task=admin.listevents' . '&year=' . $view->year . '&month=' . $view->month . '&day=' . $view->day . '&Itemid=' . $view->Itemid ); ?> <a href="<?php echo $eventmylinks; ?>" title="<?php echo JText::_('JEV_MYEVENTS'); ?>"> <b><?php echo JText::_('JEV_MYEVENTS'); ?></b> </a> <?php */ ?> </form> <?php } ?> </div> </div> <?php } } }