function simulateSaveEvent($requestObject) { 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); $dataModel = new JEventsDataModel("JEventsAdminDBModel"); $queryModel = new JEventsDBModel($dataModel); $rrule = SaveIcalEvent::generateRRule($array); // ensure authorised if (isset($array["evid"]) && $array["evid"] > 0) { $event = $queryModel->getEventById(intval($array["evid"]), 1, "icaldb"); if (!JEVHelper::canEditEvent($event)) { throwerror(JText::_('ALERTNOTAUTH')); } } // do dry run of event saving! if ($event = SaveIcalEvent::save($array, $queryModel, $rrule, true)) { $row = new jIcalEventDB($event); $row->repetitions = $event->_repetitions; } else { throwerror(JText::_('EVENT_NOT_SAVED')); } return $row; }
function simulateSaveEvent($requestObject) { 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; } // If the allow HTML flag is set, apply a safe HTML filter to the variable // $array = JRequest::_cleanVar($formdata, JREQUEST_ALLOWHTML); $safeHtmlFilter = JFilterInput::getInstance(null, null, 1, 1); $array = $safeHtmlFilter->clean($formdata, null); $dataModel = new JEventsDataModel("JEventsAdminDBModel"); $queryModel = new JEventsDBModel($dataModel); $rrule = SaveIcalEvent::generateRRule($array); // ensure authorised if (isset($array["evid"]) && $array["evid"] > 0) { $event = $queryModel->getEventById(intval($array["evid"]), 1, "icaldb"); if (!JEVHelper::canEditEvent($event)) { throwerror(JText::_('ALERTNOTAUTH')); } } $row = false; // do dry run of event saving! if ($event = SaveIcalEvent::save($array, $queryModel, $rrule, true)) { $row = new jIcalEventDB($event); $row->repetitions = $event->_repetitions; if (is_array($row->_catid)) { $row->_catids = $row->_catid; $row->_catid = $row->_catid[0]; } } else { throwerror(JText::_('EVENT_NOT_SAVED')); } return $row; }
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 simulateSaveEvent($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); $rrule = SaveIcalEvent::generateRRule($array); // ensure authorised if (isset($array["evid"]) && $array["evid"] > 0) { $event = $this->queryModel->getEventById(intval($array["evid"]), 1, "icaldb"); if (!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); } }
public function save() { $mainframe =& JFactory::getApplication(); $data = JRequest::get('post'); $session = JFactory::getSession(); $cart = $session->get('cart'); $cart['partnersdetails'] = $data['jform']; JModelLegacy::addIncludePath(JPATH_ROOT . '/components/com_videotranslation/models', 'VideoTranslationModel'); $cart_model = JModelLegacy::getInstance('Cart', 'VideoTranslationModel', array('ignore_request' => true)); $items = $cart_model->getItems(); $cart['balance'] = $cart_model->getBalance(); $session->set('cart', $cart); if (!isset($cart['userdetails']['payed'])) { $this->makePayment(); } /* include jvents library here */ // define("JEV_COM_COMPONENT","com_jevents"); // define("JEV_ADMINPATH",JPATH_ADMINISTRATOR."/components/".JEV_COM_COMPONENT."/"); // define("JEV_ADMINLIBS",JEV_ADMINPATH."libraries/"); include_once JPATH_ADMINISTRATOR . "/components/com_jevents/jevents.defines.php"; //JLoader::register('SaveIcalEvent',JEV_ADMINLIBS."saveIcalEvent.php"); //JLoader::register('JEVConfig', JPATH_ADMINISTRATOR . "/components/com_jevents/libraries/config.php"); $cfg =& JEVConfig::getInstance(); $this->dataModel = new JEventsDataModel("JEventsAdminDBModel"); $this->queryModel = new JEventsDBModel($this->dataModel); require_once JPATH_SITE . '/components/com_videotranslation/lib/russian-date.php'; for ($i = 0; $i < count($items); $i++) { $array = $this->generateArray($items[$i], $cart, $session); $rrule = SaveIcalEvent::generateRRule($array); if ($event = SaveIcalEvent::save($array, $this->queryModel, $rrule)) { $row = new jIcalEventDB($event); //if (JEVHelper::canPublishEvent($row)) //{ //$msg = JText::_("Event_Saved", true); if ($event->ev_id) { $translator_id = $this->applyTranslatorOnTheEvent($event->ev_id, $items[$i]); $cart['translator_id'] = $translator_id; $session->set('cart', $cart); $time = ' ' . maxsite_the_russian_time(date('j F H:i', $items[$i]->start)) . ' - ' . date('H:i', $items[$i]->end); unset($cart['items'][$items[$i]->start]); for ($j = 0; $j < count($items[$i]->time); $j++) { unset($cart['items'][$items[$i]->time[$j]]); } $order = $this->addOrder($event, $session, $translator_id); $event =& JTable::getInstance('event', 'VideoTranslationTable'); $event->load($order->event_id); //email for envitee $this->sentInvitationEmail($order, $event); //email for customer $this->sentNotificationEmail($order, $event); } else { $msg = JText::_('COM_VIDEOTRANSLATION_WASNT_ADDED_IN_THE_SYSTEM_CORRECT'); $mainframe->Redirect('index.php?option=com_videotranslation&view=eventsaved&Itemid=493', $msg); return false; } //} //else //{ //$msg = JText::_("EVENT_SAVED_UNDER_REVIEW", true); //} } else { //$msg = JText::_("Event Not Saved", true); $row = null; } } $msg = JText::sprintf('COM_VIDEOTRANSLATION_WAS_ADDED_IN_THE_SYSTEM', $time); $user =& JFactory::getUser($order->user_id); $customer_email = $user->email; $emails_addresses = $order->envitee_email . ", " . $customer_email; $msg .= JText::sprintf('COM_VIDEOTRANSLATION_EMAILS_WAS_SENT_ON_ADDRESSES', $emails_addresses); $msg .= JText::sprintf('COM_VIDEOTRANSLATION_LINK_ON_CONFERENCE', $this->getLink(1, $event, $order)); // echo "<pre>"; // print_r($cart); die; $session->set('cart', $cart); $mainframe->Redirect('index.php?option=com_videotranslation&view=eventsaved&Itemid=493', $msg); return false; }
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; }