TemplateParser

This commit is contained in:
Paminger
2016-06-18 09:11:00 +02:00
parent b5d14fb59f
commit 3d45527a5d
6 changed files with 128 additions and 41 deletions
+50 -7
View File
@@ -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);
}
}
+69 -30
View File
@@ -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;
}
}
+1 -1
View File
@@ -8,7 +8,7 @@ Betreff: <?php echo $message->subject; ?><br/>
Text: <?php echo $message->body; ?><br/>
<?php
// This is an example to show that you can load stuff from inside the template file
echo $this->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));
?>
</div>
+5
View File
@@ -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)
</script>
<?php endif ?>
<?php if($tinymce) : ?>
<script type="text/javascript" src="<?php echo base_url('vendor/tinymce/tinymce/tinymce.min.js');?>"></script>
<?php endif ?>
</head>
<body>
@@ -1,5 +1,4 @@
<?php echo $title; ?>
<select name="organisationseinheit">
<select name="<?php echo $name; ?>">
<?php foreach($items as $item): ?>
<option value="<?php echo $item['value']; ?>" <?php if ($item['selected']) echo 'selected'?>>
<?php echo $item['name']; ?>
@@ -19,7 +19,8 @@ class organisationseinheit_widget extends Widget
$item['selected'] = false;
$data['items'][] = $item;
}
if (! isset($data['name']))
$data['name'] = 'oe_kurzbz';
$this->view('widgets/organisationseinheit', $data);
}