Funktions-Sammlung
/** Wenn post-Feld mit $feld index existiert, zurückliefern */
function check($feld) {
if(isset($_POST[$feld])) {
return $_POST[$feld];
} else {
return "";
}
}
function zerofill($wert, $laenge){
while(strlen($wert) < $laenge){
$wert = '0'.$wert;
}
return $wert;
}
function emptyfill($wert, $laenge){
while(strlen($wert) < $laenge){
$wert = $wert." ";
}
return $wert;
}
/** als selected markieren, wenn args stimmen */
function select_check($selected, $id){
if ($selected == $id){
return "selected=selected";
}
}
/** als checked markieren, wenn args stimmen */
function checked_check($selected, $id){
if ($selected == $id){
return "checked";
}
}
/** als readonly markieren, wenn args stimmen */
function readonly_check($selected, $id){
if ($selected == $id){
return "readonly=\"readonly\"";
}
}
/** checken ob feld übergeben wurde, wenn ja, user-wert zurückgeben */
function flex_check($wert1, $wert2, $returnOnMatch){
if($wert1 == $wert2 && $wert1 != ""){
return $returnOnMatch;
}else{
return "";
}
}
function getfilename($file){
$punkt = strrpos($file, '.')+1;
if($punkt === false){
$punkt= strlen($file);
}
return substr($file, 0, $punkt);
}
function getfiletype($file){
$punkt = strrpos($file, '.')+1;
if($punkt === false){
$punkt=0;
}
return substr($file, $punkt);
}
// format geldbetraege
/** ersetze , durch . */
function money($wert, $menge=1) {
$wert = trim(str_replace(',','.', $wert));
if(!is_numeric($wert)){
$wert = trim(str_replace("\u20ac", "", $wert));
$wert = trim(str_replace("€", "", $wert));
}
if(is_numeric($wert)){
$wert *= $menge;
}
return $wert;
}
/** formatiere wert als geldbetrag */
function prettymoney($wert) {
return prettymenge(money($wert))."\u20ac";
}
function betrag($preis, $menge) {
return prettymoney(money($preis, $menge));
}
/** formatiere wert als menge mit 2 nachkommastellen */
function prettymenge($wert) {
$wert = str_replace(',','.', $wert);
if(!is_numeric($wert)){
return str_replace('.',',', $wert);
}
$wert = round($wert, 2);
if(strpos($wert, '.')===FALSE ){
$wert = $wert.'.00';
}
if((strlen($wert)-strrpos($wert, '.'))==2){
$wert = $wert.'0';
}
$wert = str_replace('.',',', $wert);
return $wert;
}
/**formatiere deutsches datum in stamp*/
function getstamp($datum){
if(is_numeric($datum)){
return $datum;
}
$stuecke= explode(".", $datum);
if(count($stuecke)==3){
$jahr = $stuecke[2];
$monat= $stuecke[1];
$tag = $stuecke[0];
return strtotime("$jahr-$monat-$tag");
}else{
#schon englisch?
return strtotime($datum);
}
}
/**formatiere deutsche uhrzeit in sekunden*/
function gettime($time){
$stuecke= explode(":", $time);
if(count($stuecke)==2){
$ret = $stuecke[0]*60*60 + $stuecke[1]*60;
}else{
$ret = $time;
}
return $ret;
}
/**formatiere Datum auf deutsch */
function prettydatum($datum){
if(empty($datum)){
return "";
}
$stuecke= explode("-", $datum);
if(count($stuecke)==3){
$jahr = $stuecke[0];
$monat= $stuecke[1];
$tag = $stuecke[2];
if("$tag.$monat.$jahr" == "00.00.0000") {
return "-";
}else{
return "$tag.$monat.$jahr";
}
}elseif(strlen($datum)==10 and strpos($datum, ".") === false){
return date("d.m.Y", $datum);
}elseif(!empty($datum)){
return $datum;
}else{
return "";
}
}
function firstkw($jahr) {
$erster = mktime(0,0,0,1,1,$jahr);
$wtag = date('w', $erster);
if($wtag<=4) {
//donnerstag oder kleiner: auf montag zurueckrechnen
$montag = mktime(0,0,0,1,1-($wtag-1),$jahr);
} else {
//auf montag vorrechnen
$montag = mktime(0,0,0,1,1+(7-$wtag+1),$jahr);
}
#erster montag im jahr
#echo date('d.m.Y', $montag);
return $montag;
}
function mondaykw($kw, $jahr) {
$firstmonday = firstkw($jahr);
$mon_monat = date('m', $firstmonday);
$mon_jahr = date('Y', $firstmonday);
$mon_tage = date('d', $firstmonday); #fuer montag als erster wochentag
$tage = ($kw-1)*7;
$mondaykw = mktime(0,0,0,$mon_monat, $mon_tage+$tage, $mon_jahr);
return $mondaykw;
}
function getfirstdayofweek($day, $month, $year){
$start = date("w", mktime(0,0,0,$month, 1, $year))-1;
if($start<0) {
$start = 7+$start;
}
return $start;
}
function getlastdayofweek($day, $month, $year){
return getfirstdayofweek($day, $month, $year)+7;
}
function getprozent($wert){
$wert = str_replace(",", ".", $wert);
if(strpos($wert, "%") !== FALSE){
//% abschneiden
$prozent = (substr($wert, 0, strpos($wert, "%")));
}else{
#kein %, kein .
$prozent = $wert;
}
return $prozent;
}
function getmwst($wert){
return "1.".getprozent($wert);
}
function prettyprozent($wert){
return prettymenge($wert)."%";
}
/** richtet Zahlen rechtszentriert aus */
function checknumber($wert){
if(is_numeric(money($wert))){
return "<div class=\"zahl\">$wert</div>";
}else{
return $wert;
}
}
function killquotes($wert){
$ret = $wert;
if(strpos(getStrValAtPos($wert, 0), "\"") === 0){
$ret = substr($wert, 1, (strlen($wert)-2));
}
return $ret;
}
/** convert all html entities to code */
function encodeText($string){
return addslashes(htmlentities(trim($string), ENT_QUOTES, "ISO-8859-1"));
}
function decodeText($string){
return html_entity_decode(stripslashes($string), ENT_QUOTES, "ISO-8859-1");
}
function getStrValAtPos($string, $pos, $count=1){
return substr($string, $pos, $count);
}
function countChar($haystack, $needle){
//wie substr_count
$pos =strpos($haystack, $needle);
if( $pos !== false and $haystack{$pos-1} !='\\'){
return 1 + countChar(substr($haystack, $pos));
}else{
return 0;
}
}
function debugme($wert){
if(is_array($wert)){
echo
"<pre>
<p class=\"warning\">";
print_r($wert);
echo
"</p>
</pre>\n";
}else{
echo "<pre>
<p class=\"warning\">
$wert
</p>
</pre>\n";
}
}
