/**
  * 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);
 }
Пример #2
0
 /**
  * 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);
 }
Пример #3
0
 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;
 }