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;
}
示例#2
0
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;
 }
示例#4
0
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;
 }
示例#6
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;
 }