From 3d45527a5dfaec257d2f830555d463dcb26b7ca6 Mon Sep 17 00:00:00 2001 From: Paminger Date: Sat, 18 Jun 2016 09:11:00 +0200 Subject: [PATCH] TemplateParser --- application/controllers/system/Templates.php | 57 +++++++++-- application/libraries/VorlageLib.php | 99 +++++++++++++------ application/views/system/messageView.php | 2 +- application/views/templates/header.php | 5 + .../views/widgets/organisationseinheit.php | 3 +- .../widgets/organisationseinheit_widget.php | 3 +- 6 files changed, 128 insertions(+), 41 deletions(-) diff --git a/application/controllers/system/Templates.php b/application/controllers/system/Templates.php index 9a2b47d92..3a16e4ccb 100755 --- a/application/controllers/system/Templates.php +++ b/application/controllers/system/Templates.php @@ -39,7 +39,7 @@ class Templates extends FHC_Controller { if (empty($vorlage_kurzbz)) exit; - $vorlagentext = $this->vorlagelib->getVorlagentextByVorlage($vorlage_kurzbz); + $vorlagentext = $this->vorlagelib->getVorlagetextByVorlage($vorlage_kurzbz); if ($vorlagentext->error) show_error($vorlagentext->retval); //var_dump($vorlage); @@ -95,18 +95,61 @@ class Templates extends FHC_Controller redirect('/system/Templates/edit/'.$vorlage_kurzbz); } - public function newtext() + public function newText() { $vorlage_kurzbz = $this->input->post('vorlage_kurzbz', TRUE); $data = array ( - 'vorlage_kurzbz' => $vorlage_kurzbz + 'vorlage_kurzbz' => $vorlage_kurzbz, + 'studiengang_kz' => 0, + 'version' => 1, + 'oe_kurzbz' => 'etw' ); $vorlagetext = $this->vorlagelib->insertVorlagetext($data); - if ($vorlage->error) - show_error($vorlage->retval); - $vorlage_kurzbz = $vorlage->retval; + if ($vorlagetext->error) + show_error($vorlagetext->retval); + $vorlagestudiengang_id = $vorlagetext->retval; - redirect('/system/Templates/edit/'.$vorlage_kurzbz); + redirect('/system/Templates/editText/'.$vorlagestudiengang_id); + } + + public function editText($vorlagestudiengang_id) + { + $vorlagetext = $this->vorlagelib->getVorlagetextById($vorlagestudiengang_id); + if ($vorlagetext->error) + show_error($vorlagetext->retval); + $this->load->view('system/templatetextEdit', $vorlagetext->retval[0]); + } + + public function saveText() + { + $vorlagestudiengang_id = $this->input->post('vorlagestudiengang_id', TRUE); + $data['studiengang_kz'] = $this->input->post('studiengang_kz', TRUE); + $data['version'] = $this->input->post('version', TRUE); + $data['oe_kurzbz'] = $this->input->post('oe_kurzbz', TRUE); + $data['text'] = $this->input->post('text', TRUE); + $data['aktiv'] = $this->input->post('aktiv', TRUE); + $vorlagetext = $this->vorlagelib->updateVorlagetext($vorlagestudiengang_id, $data); + if ($vorlagetext->error) + show_error($vorlagetext->retval); + $data['vorlagestudiengang_id'] = $vorlagestudiengang_id; + //redirect('/system/Templates/editText/'.$vorlagestudiengang_id); + $this->load->view('system/templatetextEdit', $data); + } + + public function preview($vorlagestudiengang_id) + { + $vorlagetext = $this->vorlagelib->getVorlagetextById($vorlagestudiengang_id); + if ($vorlagetext->error) + show_error($vorlagetext->retval); + $daten = array + ( + 'vorname' => 'Christian' + ); + $data = array + ( + 'text' => $this->vorlagelib->parseVorlagetext($vorlagetext->retval[0]->text, $daten) + ); + $this->load->view('system/templatetextPreview', $data); } } diff --git a/application/libraries/VorlageLib.php b/application/libraries/VorlageLib.php index dacc4f63b..d7a315be4 100644 --- a/application/libraries/VorlageLib.php +++ b/application/libraries/VorlageLib.php @@ -16,6 +16,7 @@ class VorlageLib require_once APPPATH.'config/message.php'; $this->ci =& get_instance(); + $this->ci->load->library('parser'); $this->ci->load->model('system/Vorlage_model', 'VorlageModel'); $this->ci->load->model('system/Vorlagestudiengang_model', 'VorlageStudiengangModel'); $this->ci->load->helper('language'); @@ -67,12 +68,12 @@ class VorlageLib /** - * getVorlagentextByVorlage() - will load tbl_vorlagestudiengang for a spezific Template. + * getVorlagetextByVorlage() - will load tbl_vorlagestudiengang for a spezific Template. * * @param string $vorlage_kurzbz REQUIRED * @return array */ - function getVorlagentextByVorlage($vorlage_kurzbz) + function getVorlagetextByVorlage($vorlage_kurzbz) { if (empty($vorlage_kurzbz)) return $this->_error($this->ci->lang->line('fhc_'.FHC_INVALIDID, false)); @@ -80,34 +81,72 @@ class VorlageLib $vorlage = $this->ci->VorlageStudiengangModel->loadWhere(array('vorlage_kurzbz' =>$vorlage_kurzbz)); return $vorlage; } - /** --------------------------------------------------------------- - * Success - * - * @param mixed $retval - * @return array - */ - protected function _success($retval, $message = FHC_SUCCESS) - { - $return = new stdClass(); - $return->error = EXIT_SUCCESS; - $return->Code = $message; - $return->msg = lang('message_' . $message); - $return->retval = $retval; - return $return; - } - /** --------------------------------------------------------------- - * General Error - * - * @return array - */ - protected function _error($retval = '', $message = FHC_ERROR) + /** + * loadVorlagetext() - will load the best fitting Template. + * + * @param string $vorlage_kurzbz REQUIRED + * @param string $oe_kurzbz OPTIONAL + * @param string $orgform_kurzbz OPTIONAL + * @return array + */ + function loadVorlagetext($vorlage_kurzbz, $oe_kurzbz=null, $orgform_kurzbz=null) { - $return = new stdClass(); - $return->error = EXIT_ERROR; - $return->Code = $message; - $return->msg = lang('message_' . $message); - $return->retval = $retval; - return $return; - } + if (empty($vorlage_kurzbz)) + return $this->_error($this->ci->lang->line('fhc_'.FHC_INVALIDID, false)); + + $vorlage = $this->ci->VorlageStudiengangModel->getVorlageStudiengang($vorlage_kurzbz, $oe_kurzbz, $orgform_kurzbz); + return $vorlage; + } + + /** + * insertVorlagetext() - will load tbl_vorlagestudiengang for a spezific Template. + * + * @param string $vorlage_kurzbz REQUIRED + * @return array + */ + function insertVorlagetext($data) + { + $vorlagetext = $this->ci->VorlageStudiengangModel->insert($data); + return $vorlagetext; + } + + /** + * loadVorlagetext() - will load tbl_vorlagestudiengang for a spezific Template. + * + * @param string $vorlage_kurzbz REQUIRED + * @return array + */ + function getVorlagetextById($vorlagestudiengang_id) + { + $vorlagetext = $this->ci->VorlageStudiengangModel->load($vorlagestudiengang_id); + return $vorlagetext; + } + + /** + * saveVorlagetext() - will load tbl_vorlagestudiengang for a spezific Template. + * + * @param string $vorlage_kurzbz REQUIRED + * @return array + */ + function updateVorlagetext($vorlagestudiengang_id, $data) + { + $vorlagetext = $this->ci->VorlageStudiengangModel->update($vorlagestudiengang_id, $data); + return $vorlagetext; + } + + /** + * parseVorlagetext() - will parse a Vorlagetext. + * + * @param string $text REQUIRED + * @param array $data REQUIRED + * @return string + */ + function parseVorlagetext($text, $data = array()) + { + if (empty($text)) + return $this->_error($this->ci->lang->line('fhc_'.FHC_INVALIDID, false)); + $text = $this->ci->parser->parse_string($text, $data, TRUE); + return $text; + } } diff --git a/application/views/system/messageView.php b/application/views/system/messageView.php index 8932c4fde..e6275752f 100644 --- a/application/views/system/messageView.php +++ b/application/views/system/messageView.php @@ -8,7 +8,7 @@ Betreff: subject; ?>
Text: body; ?>
template->widget("organisationseinheit_widget", array('title' => 'Organisationseinheit', 'oe_kurzbz' => $message->oe_kurzbz)); + echo $this->templatelib->widget("organisationseinheit_widget", array('title' => 'Organisationseinheit', 'oe_kurzbz' => $message->oe_kurzbz)); ?> diff --git a/application/views/templates/header.php b/application/views/templates/header.php index fecdf7fc6..50ac90c06 100644 --- a/application/views/templates/header.php +++ b/application/views/templates/header.php @@ -7,6 +7,7 @@ isset($title) ? $title = 'VileSci - '.$title : $title = 'VileSci'; !isset($sortList) ? $sortList = '0,0' : $sortList = $sortList; !isset($widgets) ? $widgets = 'zebra' : $widgets = $widgets; !isset($headers) ? $headers = '' : $headers = $headers; +!isset($tinymce) ? $tinymce = false : $tinymce = $tinymce; if ($tablesort) $jquery = true; @@ -41,6 +42,10 @@ if ($tablesort) + + + + diff --git a/application/views/widgets/organisationseinheit.php b/application/views/widgets/organisationseinheit.php index 52b0f19b1..2f2c738c6 100644 --- a/application/views/widgets/organisationseinheit.php +++ b/application/views/widgets/organisationseinheit.php @@ -1,5 +1,4 @@ - -