public function getItems() { $travelTypeId = (int) $this->getUserStateFromRequest($this->context . '.filter.traveltype_id', 'filter_traveltype_id'); //$countryId = (int) $this->getUserStateFromRequest($this->context . '.filter.country_id', 'filter_country_id'); if ($travelTypeId) { require_once JPATH_COMPONENT . '/helpers/data.php'; $keliones = new Keliones(); $keliones->LoadCountriesListFromXMLFile(); $keliones->LoadFromXMLFile($travelTypeId); return $keliones; } else { return null; } }
public function getItems() { require_once JPATH_COMPONENT . '/helpers/data.php'; $travelTypeId = JRequest::getInt('ttid'); $arrayTravelId = explode(',', JRequest::getString('tid')); $keliones = new Keliones(); $keliones->LoadFromXMLFile($travelTypeId); $items = array(); foreach ($keliones as $kelione) { if (in_array($kelione->id, $arrayTravelId)) { //atrenka tik pasirinktu kelioniu paveikslelius $paveiksleiai = $kelione->paveiksleliai->toArray(); foreach ($paveiksleiai as $paveikslelis) { $items[] = array('travelId' => (int) $kelione->id, 'image' => (string) $paveikslelis['byla'], 'subdir' => (string) $paveikslelis['subdir'], 'url' => base64_encode($paveikslelis['url'])); } } } return $items; }
public function import() { $cKey = JRequest::getString('ckey'); $parentId = JRequest::getInt('import_category_id'); //patikriname ar pasirinkta kategorija importui if (!$parentId) { $this->setMessage('Pasirinkite kategoriją importui!', 'error'); return $this->setRedirect(JRoute::_("index.php?option=com_kelioniuimportas&view=import&ckey={$cKey}", false)); } $tid = JRequest::getVar('cid'); //pasirinktu kelioniu ID $ttid = JRequest::getInt('travelTypeId'); $params = JComponentHelper::getParams('com_kelioniuimportas'); $appId = $params->getValue('application_id', 1); //importuojam keliones require_once JPATH_COMPONENT . '/helpers/data.php'; $keliones = new Keliones(); $keliones->LoadCountriesListFromXMLFile(); $keliones->LoadFromXMLFile($ttid); $db = JFactory::getDbo(); $userId = JFactory::getUser()->get('id'); $error = array(); $this->createSubcategories($keliones, $tid, $parentId, $appId); foreach ($keliones as $kelione) { if (in_array($kelione->id, $tid)) { //atrenka tik pasirinktas keliones $query = $db->getQuery(true); $query->insert('#__zoo_item'); $cols = array(); $vals = array(); $cols[] = 'application_id'; $vals[] = '1'; $cols[] = 'type'; $vals[] = $db->quote('kelione'); $cols[] = 'state'; $vals[] = '0'; $cols[] = 'access'; $vals[] = '1'; $cols[] = 'created'; $vals[] = 'NOW()'; $cols[] = 'created_by'; $vals[] = (int) $userId; $cols[] = 'modified'; $vals[] = 'NOW()'; $cols[] = 'modified_by'; $vals[] = (int) $userId; $cols[] = 'publish_up'; $vals[] = $db->quote('0000-00-00 00:00:00'); $cols[] = 'publish_down'; $vals[] = $db->quote('0000-00-00 00:00:00'); $cols[] = 'priority'; $vals[] = '0'; $cols[] = 'hits'; $vals[] = '0'; $cols[] = 'created_by_alias'; $vals[] = "''"; $cols[] = 'searchable'; $vals[] = '0'; $cols[] = 'name'; $vals[] = $db->quote($kelione->pavadinimas); $alias = $this->getUniqueAlias($kelione->pavadinimas); $cols[] = 'alias'; $vals[] = $db->quote($alias); $cols[] = 'elements'; $vals[] = $db->quote($kelione->Serialize()); $arr = $kelione->salys->toArray(); $catId = $this->getCategoryId($arr[0], $parentId); $paramsX = ' { "config.enable_comments": "0", "config.primary_category": "' . $catId . '" }'; $cols[] = 'params'; $vals[] = $db->quote($paramsX); $query->columns($cols); $query->values(implode(', ', $vals)); $db->setQuery($query); if (!$db->execute()) { $error[] = $db->getErrorNum() . ': Nepavyko importuoti kelionės (ID ' . $kelione->id . ').'; } else { //Iterpiam kategorijas $itemId = $this->getItemIdByAlias($alias); if ($itemId) { $this->createSarysis($kelione->id, $itemId); $this->setItemsCategories($itemId, $arr, $parentId); } } } } if (!empty($error)) { $this->setMessage(implode('<br>', $error), 'error'); } //importuojam paveikslelius $stid = implode(',', $tid); //pasirinktu kelioniu ID return $this->setRedirect(JRoute::_("index.php?option=com_kelioniuimportas&view=downloadimages&ckey={$cKey}&ttid={$ttid}&tid={$stid}", false)); }