2erlei/fl/data/structures/view.php

79 lines
1.6 KiB
PHP

<?php
/**
* View_data
*
* Datenobjekt der internen Viewklasse
*
* @package federleicht
* @subpackage base
*/
class fl_data_structures_view extends fl_data_structures_data {
protected $_default = '';
private $_raw_output = false;
public $system = array();
/**
* Datenfeld ausgeben
*
* Vor der Datenausgaben werden alle HTML-Sonderzeichen
* maskiert, um Ausgabeprobleme zu vermeiden.
*
* @param string $key Name des Datenfeldes
* @param string $type Typehint fuer die Ausgabe, ggf. werden die
* Daten vor Ausgabe entsprechend umgewandelt.
* @return mixed
*/
public function get($key, $type='string') {
$data = parent::get($key);
if ( is_array($data) OR is_object($data) ) return $data;
settype($data, $type);
if ( $type == 'string' AND !$this->_raw_output ) {
$data = htmlentities(
html_entity_decode(
$data,
ENT_QUOTES,
'UTF-8'
),
ENT_QUOTES,
'UTF-8'
);
}
return $data;
}
/**
* Ausgabe ohne Umwandlung der HTML-Sonderzeichen aktivieren
*
* @param boolean $raw
*/
public function set_raw_output($raw) {
$this->_raw_output = (boolean) $raw;
}
/**
* Zwischen direkter und umgewandelter HTML-Ausgabe umschalten
*/
public function toggle_raw_output() {
$this->set_raw_output(!$this->_raw_output);
}
/**
* Defaultwert setzen
*
* Es wird der bisherige Defaultwert zurueckgegeben
*
* @param string $default
* @return string
*/
public function set_default($default) {
$former_default = $this->_default;
$this->_default = (string) $default;
return $former_default;
}
}