openrat-cms

# OpenRat Content Management System
git clone http://git.code.weiherhei.de/openrat-cms.git
Log | Files | Refs

common.inc.php (2907B)


      1 <?php
      2 
      3 
      4 /**
      5  * F�gt einen Slash ("/") an das Ende an, sofern nicht bereits vorhanden.
      6  *
      7  * @param String $pfad
      8  * @return Pfad mit angeh�ngtem Slash.
      9  */
     10 function slashify($pfad)
     11 {
     12 	if	( substr($pfad,-1,1) == '/')
     13 		return $pfad;
     14 	else
     15 		return $pfad.'/';
     16 }
     17 
     18 function convertToXmlAttribute( $value )
     19 {
     20 	return utf8_encode( htmlspecialchars( $value ) ) ;
     21 }
     22 
     23 
     24 /**
     25  * Ermittelt die aktuelle Systemzeit als Unix-Timestamp.<br>
     26  * Unix-Timestamp ist immer bezogen auf GMT.
     27  * - 
     28  * @return Unix-Timestamp der aktuellen Zeit
     29  */
     30 function now()
     31 {
     32 	return time();
     33 }
     34 
     35 
     36 
     37 /**
     38  * Erzeugt f�r eine Zahl eine Schreibweise mit Vorzeichen.<br>
     39  * '-2' bleibt '-2'<br>
     40  * '2'  wird zu '+2'<br>
     41  */
     42 function vorzeichen( $nr )
     43 {
     44 	return intval($nr)<0 ? $nr : '+'.$nr;
     45 }
     46 
     47 
     48 
     49 /**
     50  * Stellt fest, ob das System in einem schreibgeschuetzten Zustand ist.
     51  * 
     52  * @return boolean true, falls schreibgeschuetzt, sonst false
     53  */
     54 function readonly()
     55 {
     56 	// Gesamtes CMS ist readonly.
     57 	if	( config('security','readonly') )
     58 		return true;
     59 		
     60 	// Aktuelle Datenbankverbindung ist readonly.
     61 	$db = db();
     62 	if	( isset($db->conf['readonly']) && $db->conf['readonly'] )
     63 		return true;
     64 		
     65 	return false;
     66 }
     67 
     68 
     69 
     70 
     71 
     72 /**
     73  * Generiert aus der Session-Id einen Token.
     74  * @return Token
     75  */
     76 function token()
     77 {
     78 	return substr(session_id(),-10);
     79 }
     80 
     81 
     82 /**
     83  * Ermittelt, ob der Wert 'true' oder 'false' entspricht.
     84  * 
     85  * Anders als beim PHP-Cast auf boolean wird hier auch die
     86  * Zeichenkette 'true' als wahr betrachtet.
     87  * 
     88  * @param val mixed
     89  * @return boolean 
     90  */
     91 function istrue( $val )
     92 {
     93 	if	( is_bool($val) )
     94 		return $val;
     95 	elseif( is_numeric($val) )
     96 		return $val != 0;
     97 	elseif( is_string($val) )
     98 		return $val == 'true' || $val == 'yes' || $val == '1';
     99 	else
    100 		return false;
    101 }
    102 
    103 
    104 
    105 /**
    106  * Erzeugt einen Link auf die OpenRat-lokale CSS-Datei
    107  * @param $name Name der Style-Konfiguration. Default: 'default'.
    108  */
    109 function css_link( $name='default' )
    110 {
    111 	global $conf;
    112 	
    113 	// Falls Style-Konfiguration unbekannt, dann Fallback auf default.
    114 	if	( ! isset($conf['style'][$name]))
    115 		$name = $conf['interface']['style']['default'];
    116 
    117 	
    118 	return encode_array($conf['style'][$name]);
    119 }
    120 
    121 
    122 /**
    123  * Encodiert ein Array für eine URL.
    124  * 
    125  * @param $args URL-Parameter
    126  */
    127 function encode_array( $args )
    128 {
    129 	if	( !is_array($args) )
    130 		return '';
    131 		
    132 	$out = array();
    133 	
    134   	foreach( $args as $name => $value )
    135 		$out[] = $name.'='.urlencode($value);
    136 		
    137 	return implode('&',$out);
    138 }
    139 
    140 
    141 function not($var) {
    142 	return !$var;
    143 }
    144 
    145 /**
    146  * Liefert die Datenbankverbindung fuer die aktuelle Sitzung.
    147  *
    148  * @return \database\Database
    149  * @deprecated use db()
    150  */
    151 function db_connection()
    152 {
    153 
    154     return db();
    155 }
    156 
    157 /**
    158  * Liefert die Datenbankverbindung fuer die aktuelle Sitzung.
    159  *
    160  * @return \database\Database
    161  */
    162 function db()
    163 {
    164 
    165     $db = Session::getDatabase();
    166 
    167     if   ( ! is_object($db))
    168         throw new RuntimeException('no database available');
    169 
    170     return $db;
    171 }
    172 
    173 
    174 
    175 
    176 ?>