asc / true->desc * @param string $sFunc Methode "strcasecmp" oder "int" * @return array sortiertes MultiArray */ function aasort($aMulti,$sColumn, $bType=false, $sFunc='strcasecmp') { $aResult = array( array() ); if ($sFunc=="int") { return aasort_int($aMulti, $sColumn, $bType); } else { return aasort_str($aMulti, $sColumn, $bType, $sFunc); } } /** * sortiert ein Multi-Array auf-, absteigend nach strcasecmp-Methode * * @param array $aMulti multidimensionales Array * @param string $sColumn Spalte nach der Sortiert werden soll * @param bool $bType false->asc / true->desc * @return array sortiertes MultiArray */ function aasort_str($aMulti, $sColumn, $bType=false, $sFunc="strcasecmp") { if (is_array($aMulti)) { $var = "'$sColumn'"; $func = create_function('$a,$b', 'return '.$sFunc.'( $a['.$var.'],$b['.$var.']);'); uasort($aMulti, $func ); return ($bType? array_reverse($aMulti) : $aMulti); } else { return $aMulti; } } /** * sortiert ein Multi-Array auf-, absteigend nach int Methode * * @param array $aMulti multidimensionales Array * @param string $sColumn Spalte nach der Sortiert werden soll * @param bool $bType false->asc / true->desc * @return array sortiertes MultiArray */ function aasort_int($InArray,$Column,$SortType=false,$Flag=SORT_REGULAR) { if (is_array($InArray)) { //initialize variables $InArray = array_values( $InArray ); $TmpArray = array(); $ResultArray = array(); $Index = 0; //create a temporary array with the column that needs //sorting from the multi-dimmensional associative array foreach ($InArray as $Value) { $TmpArray[$Index++] = $Value[$Column]; } //sort the temporary array ($SortType) ? arsort($TmpArray,$Flag) : asort($TmpArray,$Flag); $Index = 0; //create new sorted array while( list( $key, $val ) = each ( $TmpArray ) ) { $ResultArray[$Index++] = $InArray[$key]; } return $ResultArray; } else { return $InArray; } } /** * überprüft, ob das Argument ein Vergleichsoperator ist * * @param string Vergleichsoperator */ function getCompareValue( $com ) { return ( ( ( $com == "=" ) OR ( $com == ">" ) OR ( $com == ">=" ) OR ( $com == "<" ) OR ( $com == "<=" ) OR ( $com == "<>" ) OR ( $com == "!=" ) OR ( strtoupper( $com ) == "LIKE" ) OR ( strtoupper( $com ) == "PASSWORD" ) )? $com : "=" ); } /** * überprüft, ob das Argument ein Verknüpfungsoperator ist * * @param string Verknüpfungsoperator */ function getConcatValue( $verbund ) { return ( ( in_array( strtoupper( $verbund ), array( "AND", "OR" ) ) )? strtoupper( $verbund ) : "AND" ); } /** * formatiert ein deutsches Datum in die mysql-Schreibweise * * @param string $sDatum deutsche Schreibweise, wie 15.9.1979 * @param bool $bTime soll die Zeit mit zurückgegeben * @param bool $bEnd true->23:59:59 / false->00:00:00 * @return string mySQL-Schreibweise des Datums */ function date_german2sql($sDatum, $bTime=false, $bEnd=false) { $sResult = false; $aDatum = explode(".", $sDatum); if ((count($aDatum)=='3') && (strlen($aDatum[2])=='4')) { if (checkdate($aDatum[1],$aDatum[0],$aDatum[2])) { $sResult = date("Y-m-d", strtotime($aDatum[2]."-".$aDatum[1]."-".$aDatum[0])); if ($bTime) { $sResult .= ($bEnd? " 23:59:59" : " 00:00:00"); } } } return $sResult; } /** * Gibt Variable oder Objekt mittels PEAR-Var_Dump aus * * @param mixed $mVar Variable * @return void */ function vardump($mVar) { Var_Dump::displayInit( array( 'display_mode'=>'HTML4_Table' ), array( 'mode'=>'normal', 'offset'=>4 ) ); Var_Dump::display($mVar); } /** * überprüft, ob das Objekt einen bestimmten Klassennamen hat * * @param object $object * @param string $class Klassenname * @return bool */ function is_object_of( $object, $class ) { return (((is_object($object)) AND (get_class($object) == strtolower($class)))? true : false); } /** * Gibt Daten aus Ini-Datei als assoc. Array wieder * * @param string $sIniFile Name der Ini-Datei * @param string $sBlockName Block, der zurückgegeben wird. * @return array if success or false if error */ function getIniData($sIniFile, $sBlockName) { $aIniData = parse_ini_file($sIniFile, true); if (is_array($aIniData) == false) { return false; } else { if (array_key_exists($sBlockName, $aIniData)) { return $aIniData[$sBlockName]; } else { return false; } } } ?> column ) oder leeres array */ function maToArray($maInput, $sOutputColVal, $sOutputColKey=false, $sSortCol=false, $sSortType=false ) { $aRes = array(); // test: is multiarray and if sOutputColVal is defined if ((is_array($maInput)) && (is_array($aFirst=reset($maInput))) && (isSet($aFirst[$sOutputColVal]))) { $aVals = array(); // if sort column is given, test in array if it exists if (($sSortCol) && (isSet($aFirst[$sSortCol]))) { $maInput = CUSTOM_ARRAY::maOrderBy($maInput, $sSortCol, $sSortType); } else { $maInput = array_values($maInput); } $iIndex = 0; foreach ($maInput as $aTmp) { $aVals[$iIndex++] = $aTmp[$sOutputColVal]; } // if output key column is given, test in array if it exists if (($sOutputColKey) && (isSet($aFirst[$sOutputColKey]))) { $aKeys = array(); $iIndex = 0; foreach ($maInput as $aTmp) { $aKeys[$iIndex++] = $aTmp[$sOutputColKey]; } // make the result array, with keys and vals // from generated arrays for ($i=0; $i<$iIndex; $i++) { $aRes[ $aKeys[$i] ] = $aVals[$i]; } } else { $aRes = $aVals; } } return $aRes; } } ?>