Exemplo n.º 1
0
 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 
    }
}
Exemplo n.º 3
0
 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();
 }
Exemplo n.º 4
0
 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();
 }
Exemplo n.º 5
0
 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();
 }
Exemplo n.º 6
0
 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();
 }
Exemplo n.º 7
0
 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;
 }
Exemplo n.º 8
0
    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;
    }
Exemplo n.º 9
0
 function delete()
 {
     $is_event_editor = JEVHelper::isEventCreator();
     if (!$is_event_editor) {
         JError::raiseError(403, JText::_('ALERTNOTAUTH'));
     }
     parent::delete();
 }
Exemplo n.º 10
0
 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;
 }
Exemplo n.º 11
0
 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;
 }
Exemplo n.º 12
0
 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();
 }
Exemplo n.º 13
0
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>
		&nbsp;<?php 
    echo JText::_('JEV_BY');
    ?>
		&nbsp;<i><?php 
    echo $row->contactlink('', true);
    ?>
</i>
		&nbsp;&nbsp;<?php 
    echo $deletelink;
    ?>
		&nbsp;&nbsp;<?php 
    echo $modifylink;
    ?>
		&nbsp;&nbsp;<?php 
    echo $publishlink;
    ?>
	</li>
	<?php 
}
Exemplo n.º 14
0
    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 
    }
Exemplo n.º 15
0
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 
    }
Exemplo n.º 17
0
 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;
    }
}
Exemplo n.º 19
0
 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">&times;</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');
        }
    }
}
Exemplo n.º 23
0
 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 
        }
    }
}