/** * Method to save a user's profile data. * * @return void * @since 1.6 */ public function save() { // Check for request forgeries. echo 'upload_max_filesize: ' . ini_get('upload_max_filesize'), "<br/>post_max_size: ", ini_get('post_max_size'); JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN')); // Initialise variables. $app = JFactory::getApplication(); $model = $this->getModel('Einsatzbericht', 'EinsatzkomponenteModel'); // Get the user data. $data = JFactory::getApplication()->input->get('jform', array(), 'array'); // Validate the posted data. $form = $model->getForm(); if (!$form) { JError::raiseError(500, $model->getError()); return false; } // Validate the posted data. $data = $model->validate($form, $data); // Check for errors. if ($data === false) { // Get the validation messages. $errors = $model->getErrors(); // Push up to three validation messages out to the user. for ($i = 0, $n = count($errors); $i < $n && $i < 3; $i++) { if ($errors[$i] instanceof Exception) { $app->enqueueMessage($errors[$i]->getMessage(), 'warning'); } else { $app->enqueueMessage($errors[$i], 'warning'); } } // Save the data in the session. $app->setUserState('com_einsatzkomponente.edit.einsatzbericht.data', $data); // Redirect back to the edit screen. $id = (int) $app->getUserState('com_einsatzkomponente.edit.einsatzbericht.id'); $this->setRedirect(JRoute::_('index.php?option=com_einsatzkomponente&view=einsatzberichtform&layout=edit&id=' . $id, false)); return false; } // Attempt to save the data. $return = $model->save($data); // Check for errors. if ($return === false) { // Save the data in the session. $app->setUserState('com_einsatzkomponente.edit.einsatzbericht.data', $data); // Redirect back to the edit screen. $id = (int) $app->getUserState('com_einsatzkomponente.edit.einsatzbericht.id'); $this->setMessage(JText::sprintf('Save failed', $model->getError()), 'warning'); $this->setRedirect(JRoute::_('index.php?option=com_einsatzkomponente&view=einsatzberichtform&layout=edit&id=' . $id, false)); return false; } // Check in the profile. if ($return) { $model->checkin($return); } $cid_article = ''; if (!$return) { $db = JFactory::getDBO(); $query = "SELECT id FROM #__eiko_einsatzberichte ORDER BY id DESC LIMIT 1"; $db->setQuery($query); $rows = $db->loadObjectList(); $cid_article = $rows[0]->id; } // Joomla-Artikel erstellen if ($return or $cid_article) { $params = JComponentHelper::getParams('com_einsatzkomponente'); if ($params->get('article_frontend', '0')) { $data = JFactory::getApplication()->input->get('jform', array(), 'array'); $cid = $data['id']; if (!$cid) { $cid = $cid_article; } $article = $data['einsatzticker']; if ($article) { // Check for request forgeries JSession::checkToken() or die(JText::_('JINVALID_TOKEN')); // Get items to remove from the request. //$model = $this->getModel(); $params = JComponentHelper::getParams('com_einsatzkomponente'); // Make sure the item ids are integers $query = 'SELECT * FROM `#__eiko_einsatzberichte` WHERE `id` = "' . $cid . '" and state ="1" LIMIT 1'; $db = JFactory::getDBO(); $db->setQuery($query); $result = $db->loadObjectList(); //$kat = EinsatzkomponenteHelper::getTickerKat ($result[0]->tickerkat); $db = JFactory::getDbo(); $db->setQuery('SELECT MAX(asset_id) FROM #__content'); $max = $db->loadResult(); $asset_id = $max + 1; $link = JRoute::_(JURI::root() . 'index.php?option=com_einsatzkomponente&view=einsatzbericht&id=' . $result[0]->id); $image_intro = str_replace('/', '\\/', $result[0]->image); $image_intro = $db->escape($image_intro); if (str_replace('\\/com_einsatzkomponente\\/einsatzbilder\\/thumbs', '', $image_intro)) { $image_fulltext = str_replace('\\/thumbs', '', $image_intro); } $user = JFactory::getUser(); $db = JFactory::getDbo(); $query = $db->getQuery(true); // !important, true for every new query $query->insert('#__content'); // #__table_name = databse prefix + table name $query->set('`id`=NULL'); $query->set('`asset_id`="' . $asset_id . '"'); $query->set('`title`="' . $result[0]->summary . '"'); $alias = strtolower($result[0]->summary); $alias = str_replace(" ", "-", $alias) . '_' . date("Y-m-d", strtotime($result[0]->date1)); $query->set('`alias`="' . $alias . '"'); $intro = $result[0]->desc; $intro = preg_replace("#(?<=.{" . $params->get('article_max_intro', '400') . "}?\\b)(.*)#is", " ...", $intro, 1); $query->set('`introtext`="' . $db->escape($intro) . '"'); if ($params->get('article_orgas', '1')) { $data = array(); foreach (explode(',', $result[0]->auswahl_orga) as $value) { $db = JFactory::getDbo(); $sql = $db->getQuery(true); $sql->select('name')->from('`#__eiko_organisationen`')->where('id = "' . $value . '"'); $db->setQuery($sql); $results = $db->loadObjectList(); if (count($results)) { $data[] = '' . $results[0]->name . ''; } } $auswahl_orga = implode(',', $data); $orgas = str_replace(",", " +++ ", $auswahl_orga); $orgas = '<br/><br/><div class=\\"eiko_article_orga\\">Eingesetzte Kräfte : ' . $orgas . '</div>'; $query->set('`fulltext`="' . $db->escape($result[0]->desc) . $orgas . '"'); } else { $query->set('`fulltext`="' . $db->escape($result[0]->desc) . '"'); } $query->set('`state`="1"'); $query->set('`catid`="' . $params->get('article_category', '0') . '"'); $query->set('`created`="' . date("Y-m-d H:i:s", strtotime($result[0]->date1)) . '"'); $query->set('`created_by`="' . $user->id . '"'); $query->set('`created_by_alias`=""'); $query->set('`modified`=""'); $query->set('`modified_by`="' . $user->id . '"'); $query->set('`checked_out`="0"'); $query->set('`checked_out_time`="0000-00-00 00:00:00.000000"'); $query->set('`publish_up`="' . date("Y-m-d H:i:s", strtotime($result[0]->date1)) . '"'); $query->set('`publish_down`="0000-00-00 00:00:00.000000"'); $query->set('`images`="{\\"image_intro\\":\\"' . $image_intro . '\\",\\"float_intro\\":\\"\\",\\"image_intro_alt\\":\\"' . $result[0]->summary . '\\",\\"image_intro_caption\\":\\"' . $result[0]->summary . '\\",\\"image_fulltext\\":\\"' . $image_fulltext . '\\",\\"float_fulltext\\":\\"\\",\\"image_fulltext_alt\\":\\"' . $result[0]->summary . '\\",\\"image_fulltext_caption\\":\\"' . $result[0]->summary . '\\"}"'); $query->set('`urls`="{\\"urla\\":\\"' . $link . '\\",\\"urlatext\\":\\"Weitere Informationen über diesen Einsatz im Detailbericht\\",\\"targeta\\":\\"\\",\\"urlb\\":\\"' . $result[0]->presse . '\\",\\"urlbtext\\":\\"' . $result[0]->presse_label . '\\",\\"targetb\\":\\"\\",\\"urlc\\":\\"' . $result[0]->presse2 . '\\",\\"urlctext\\":\\"' . $result[0]->presse2_label . '\\",\\"targetc\\":\\"\\"}"'); $query->set('`attribs`="{\\"show_title\\":"",\\"link_titles\\":"",\\"show_tags\\":"",\\"show_intro\\":"",\\"info_block_position\\":"",\\"show_category\\":"",\\"link_category\\":"",\\"show_parent_category\\":"",\\"link_parent_category\\":"",\\"show_author\\":"",\\"link_author\\":"",\\"show_create_date\\":"",\\"show_modify_date\\":"",\\"show_publish_date\\":"",\\"show_item_navigation\\":"",\\"show_icons\\":"",\\"show_print_icon\\":"",\\"show_email_icon\\":"",\\"show_vote\\":"",\\"show_hits\\":"",\\"show_noauth\\":"",\\"urls_position\\":"",\\"alternative_readmore\\":"",\\"article_layout\\":"",\\"show_publishing_options\\":"",\\"show_article_options\\":"",\\"show_urls_images_backend\\":"",\\"show_urls_images_frontend\\":""}"'); $query->set('`version`="1"'); $query->set('`ordering`="0"'); $query->set('`metakey`="' . $auswahl_orga . ',' . $params->get('article_meta_key', 'feuerwehr,einsatzbericht,unfall,feuer,hilfeleistung,polizei,thw,rettungsdienst,hilfsorganisation') . ',einsatzkomponente"'); $query->set('`metadesc`="' . $params->get('article_meta_desc', 'Einsatzbericht') . '"'); $query->set('`access`="1"'); $query->set('`hits`="0"'); $query->set('`metadata`="{\\"robots\\":\\"\\",\\"author\\":\\"' . $user->username . '\\",\\"rights\\":\\"\\",\\"xreference\\":\\"\\"}"'); $query->set('`featured`="1"'); $query->set('`language`="*"'); $query->set('`xreference`=""'); /* or something like this: $query->columns('`1`,`2`,`3`'); $query->values('"one","two","three"'); */ $db->setQuery($query); try { // Execute the query in Joomla 3.0. $db->execute(); } catch (Exception $e) { //print the errors print_r($e) . ''; } $content_id = $db->insertId(); // Joomla-Artikel Id in Einsatzbericht eintragen $query = "UPDATE `#__eiko_einsatzberichte` SET `article_id` = '" . $content_id . "' WHERE `id` = '" . $result[0]->id . "'"; $db = JFactory::getDBO(); $db->setQuery($query); $db->query(); if ($params->get('article_frontpage', '1')) { // Artikel als Haupteintrag-Eintrag markieren $frontpage_query = "INSERT INTO `#__content_frontpage` SET `content_id`='" . $content_id . "'"; $db = JFactory::getDBO(); $db->setQuery($frontpage_query); $db->query(); } } } } // Mail (Auto) Funktion if ($return) { $send = 'false'; $data = JFactory::getApplication()->input->get('jform', array(), 'array'); $cid = $data['id']; $params = JComponentHelper::getParams('com_einsatzkomponente'); if ($params->get('send_mail_auto', '0')) { //if (!$cid) : //$db = JFactory::getDBO(); //$query = "SELECT id FROM #__eiko_einsatzberichte ORDER BY id DESC LIMIT 1"; //$db->setQuery($query); //$rows = $db->loadObjectList(); //$cid = $rows[0]->id; //$send = sendMail_auto($cid,'neuer Bericht: '); //else: $send = sendMail_auto($cid, 'Update: '); //endif; } } if (!$return) { $send = 'false'; $params = JComponentHelper::getParams('com_einsatzkomponente'); if ($params->get('send_mail_auto', '0')) { //if (!$cid) : $db = JFactory::getDBO(); $query = "SELECT id FROM #__eiko_einsatzberichte ORDER BY id DESC LIMIT 1"; $db->setQuery($query); $rows = $db->loadObjectList(); $cid = $rows[0]->id; $send = sendMail_auto($cid, 'neuer Bericht: '); //else: //$send = sendMail_auto($cid,'Update: '); //endif; } } // --------------------------- // Clear the profile id from the session. $app->setUserState('com_einsatzkomponente.edit.einsatzbericht.id', null); // Redirect to the list screen. $this->setMessage(JText::_('Einsatzdaten erfolgreich gepeichert')); $menu =& JSite::getMenu(); $item = $menu->getActive(); //print_r ($item);break; //echo 'View :'.JFactory::getApplication()->input->get('view').'<br/>'; //echo 'Layout :'.JFactory::getApplication()->input->get('layout').'<br/>'; //echo 'Task :'.JFactory::getApplication()->input->get('task').'<br/>';break; //$this->setRedirect(JRoute::_($item->link, false)); $this->setRedirect(JRoute::_('index.php?option=com_einsatzkomponente&view=einsatzberichte&Itemid=' . $params->get('homelink', '') . '', false)); // Flush the data from the session. $app->setUserState('com_einsatzkomponente.edit.einsatzbericht.data', null); }
/** * Method to save a user's profile data. * * @return void * @since 1.6 */ public function save() { // Check for request forgeries. echo 'upload_max_filesize: ' . ini_get('upload_max_filesize'), "<br/>post_max_size: ", ini_get('post_max_size'); JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN')); // Initialise variables. $app = JFactory::getApplication(); $model = $this->getModel('Einsatzbericht', 'EinsatzkomponenteModel'); // Get the user data. $data = JFactory::getApplication()->input->get('jform', array(), 'array'); // Validate the posted data. $form = $model->getForm(); if (!$form) { JError::raiseError(500, $model->getError()); return false; } // Validate the posted data. $data = $model->validate($form, $data); // Check for errors. if ($data === false) { // Get the validation messages. $errors = $model->getErrors(); // Push up to three validation messages out to the user. for ($i = 0, $n = count($errors); $i < $n && $i < 3; $i++) { if ($errors[$i] instanceof Exception) { $app->enqueueMessage($errors[$i]->getMessage(), 'warning'); } else { $app->enqueueMessage($errors[$i], 'warning'); } } // Save the data in the session. $app->setUserState('com_einsatzkomponente.edit.einsatzbericht.data', $data); // Redirect back to the edit screen. $id = (int) $app->getUserState('com_einsatzkomponente.edit.einsatzbericht.id'); $this->setRedirect(JRoute::_('index.php?option=com_einsatzkomponente&view=einsatzberichtform&layout=edit&id=' . $id, false)); return false; } // Attempt to save the data. $return = $model->save($data); // Check for errors. if ($return === false) { // Save the data in the session. $app->setUserState('com_einsatzkomponente.edit.einsatzbericht.data', $data); // Redirect back to the edit screen. $id = (int) $app->getUserState('com_einsatzkomponente.edit.einsatzbericht.id'); $this->setMessage(JText::sprintf('Save failed', $model->getError()), 'warning'); $this->setRedirect(JRoute::_('index.php?option=com_einsatzkomponente&view=einsatzberichtform&layout=edit&id=' . $id, false)); return false; } // Check in the profile. if ($return) { $model->checkin($return); } // Mail (Auto) Funktion if ($return) { $send = 'false'; $data = JFactory::getApplication()->input->get('jform', array(), 'array'); $cid = $data['id']; $params = JComponentHelper::getParams('com_einsatzkomponente'); if ($params->get('send_mail_auto', '0')) { //if (!$cid) : //$db = JFactory::getDBO(); //$query = "SELECT id FROM #__eiko_einsatzberichte ORDER BY id DESC LIMIT 1"; //$db->setQuery($query); //$rows = $db->loadObjectList(); //$cid = $rows[0]->id; //$send = sendMail_auto($cid,'neuer Bericht: '); //else: $send = sendMail_auto($cid, 'Update: '); //endif; } } if (!$return) { $send = 'false'; $params = JComponentHelper::getParams('com_einsatzkomponente'); if ($params->get('send_mail_auto', '0')) { //if (!$cid) : $db = JFactory::getDBO(); $query = "SELECT id FROM #__eiko_einsatzberichte ORDER BY id DESC LIMIT 1"; $db->setQuery($query); $rows = $db->loadObjectList(); $cid = $rows[0]->id; $send = sendMail_auto($cid, 'neuer Bericht: '); //else: //$send = sendMail_auto($cid,'Update: '); //endif; } } // --------------------------- // Clear the profile id from the session. $app->setUserState('com_einsatzkomponente.edit.einsatzbericht.id', null); // Redirect to the list screen. $this->setMessage(JText::_('Einsatzdaten erfolgreich gepeichert')); $menu =& JSite::getMenu(); $item = $menu->getActive(); //print_r ($item);break; //echo 'View :'.JFactory::getApplication()->input->get('view').'<br/>'; //echo 'Layout :'.JFactory::getApplication()->input->get('layout').'<br/>'; //echo 'Task :'.JFactory::getApplication()->input->get('task').'<br/>';break; //$this->setRedirect(JRoute::_($item->link, false)); $this->setRedirect(JRoute::_('index.php?option=com_einsatzkomponente&view=einsatzberichte&Itemid=' . $params->get('homelink', '') . '', false)); // Flush the data from the session. $app->setUserState('com_einsatzkomponente.edit.einsatzbericht.data', null); }
function save($key = NULL, $urlVar = NULL) { // Check for request forgeries JSession::checkToken() or die(JText::_('JINVALID_TOKEN')); // Get items to remove from the request. $send = 'false'; $cid = JFactory::getApplication()->input->get('id', '0'); $params = JComponentHelper::getParams('com_einsatzkomponente'); if (parent::save()) { if (!$_FILES['data']['name']['0'] == '') { if (!$cid) { $db = JFactory::getDBO(); $query = "SELECT id FROM #__eiko_einsatzberichte ORDER BY id DESC LIMIT 1"; $db->setQuery($query); $rows = $db->loadObjectList(); $cid = $rows[0]->id; } upload($cid, 'data'); } if ($params->get('send_mail_auto', '0')) { if (!$cid) { $db = JFactory::getDBO(); $query = "SELECT id FROM #__eiko_einsatzberichte ORDER BY id DESC LIMIT 1"; $db->setQuery($query); $rows = $db->loadObjectList(); $cid = $rows[0]->id; $send = sendMail_auto($cid, 'neuer Bericht: '); } else { $send = sendMail_auto($cid, 'Update: '); } } } //print_r ($send);break; }