$Massage String der in die Textdatei eingefügt werden soll --> $FileName Name der Textdatei */ function writelog($Massage, $FileName) { // Pfadangabe zum Error.log // Es muss dort eine Schreibberechtigung geben!!! if (substr_count($_SERVER['SERVER_NAME'], "localhost") > 0) { $LogFile = "c:/xampp/htdocs/itsone/statistic/errorlogs/".$FileName.".log"; } else { $LogFile = "errorlogs/".$FileName."-".date("ymd").".log"; } $Massage = "\r\n*****". "\r\nMeldung: ".$Massage. "\r\nDatei : ".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']. "\r\nUserIP : ".$_SERVER['REMOTE_ADDR']. "\r\nDatum : ".date("d.m.y"). "\r\nUhrzeit: ".date("H:i:s"). "\r\n\r\n"; // Ans Zeilenende anfügen $fp = fopen($LogFile, "a"); fwrite($fp, $Massage); fclose($fp); } /* db Datenbankfunktion - Öffnet das Connect und schliesst es am Ende auch wieder. Folgende Konstanten müssen angepasst werden: - DB_NAME - DB_HOST - DB_USER - DB_PW WICHTIG: In der Funktion wird die writelog für Probleme benutzt <-- der Returnwert der Funktion Liefert eine 1 beim Erfolg --> $sql SQL-Statement <-- $dbResult Liefert das Ergebnis <-- $dbNewId Liefert bei einem Insert die automatische neu vergebene ID, falls in der Tabelle eine auto_id vergeben wird <-- $dbAffectedRows Liefert die Anzahl der Betroffenen Datensätze */ if (substr_count($_SERVER['SERVER_NAME'], "localhost") > 0) { define("DB_NAME", "von_nethen"); define("DB_HOST", "localhost"); define("DB_USER", "root"); define("DB_PW", "u2135"); } else { define("DB_NAME", "db125437x1271518"); define("DB_HOST", "mysql11.1blu.de"); define("DB_USER", "s125437_1271518"); define("DB_PW", "sVUhxH"); } function db($sql) { global $dbResult; global $dbNewId; global $dbAffectedRows; $sql = trim($sql); $dbConnect = @mysql_connect(DB_HOST, DB_USER, DB_PW) or die('Konnte keine Verbindung zum Server herstellen !!!'); if (!@mysql_select_db(DB_NAME)) { @mysql_close ($dbConnect); writelog("DB_Connect_Error=".mysql_error()."\n".$sql, "DB-Error"); return -1; } $dbResult = @mysql_query($sql, $dbConnect); if (!$dbResult) { $dbResult = ""; @mysql_close ($dbConnect); writelog("DB_Result_Error=".mysql_error()."\n".$sql, "DB-Error"); return -2; } if (strtoupper(substr($sql, 0, 6)) == "SELECT") { $dbAffectedRows = mysql_num_rows($dbResult); } if (strtoupper(substr($sql, 0, 6)) == "INSERT") { $dbNewId = mysql_insert_id(); $dbAffectedRows = mysql_affected_rows(); } if (strtoupper(substr($sql, 0, 6)) == "UPDATE") { $dbAffectedRows = mysql_affected_rows(); } if (strtoupper(substr($sql, 0, 6)) == "DELETE") { $dbAffectedRows = mysql_affected_rows(); } if (!@mysql_close ($dbConnect)) { writelog("DB_Close_Error=".mysql_error(), "DB-Error"); return 0; } return 1; } // wandelt ein deutsches datunsformat in ein db-taugliches format function convertDateToDB ($convertDate) { return ( preg_replace("/(\d{1,2})[\.-\/](\d{1,2})[\.-\/](19|20)(\d{2})/", "\\3\\4-\\2-\\1", $convertDate) ); } // wandelt ein db datunsformat in ein deutsches format function convertDateToGerman ($convertDate) { return ( preg_replace("/(19|20)(\d{2})[-\/](\d{1,2})[-\/](\d{1,2})/", "\\4.\\3.\\1\\2", $convertDate) ); } /* * gestaltet php-code übersichtlich */ function highlight($filename) { ob_start(); show_source($filename); $content = ob_get_contents(); ob_end_clean(); $content = str_replace("", "", $content); $content = str_replace("", "", $content); $content = str_replace("\n", "", $content); $content = explode('
', $content); $row_length = strlen(count($content)); for($i=0; $i'.$content[$i]."
"; } $content = implode('', $content); echo"\n".$content."\n"; } /* * gibt fehlermeldungen aus, um so eine einheitliche struktur zu erhalten. */ function infoOutput ($textStr) { echo '
'.$textStr.'
'; } function markSearch ($textToSearch, $matchWith) { $searchFor = preg_split("/[ ,\/+-]/", strip_tags($matchWith)); $colorArray = array ('#ffff66','#99ff99','#ff9999'); $suche = array(); $ersetzten = array(); for ($l = 0; $l < count($searchFor); $l++) { array_push($suche, '/'.trim($searchFor[$l]).'/i'); array_push($ersetzten, '$0'); } return (preg_replace($suche, $ersetzten, $textToSearch)); } // diese funktion maskiert eine email function encode_email($strEmail,$strDisplay,$strTitle,$blnCreateLink) { # per Hand mailto: maskiert $strMailto = "mailto:"; # Schleife, um email-Adresse zu maskieren $strEncodedEmail=""; for ($i=0; $i < strlen($strEmail); $i++) { # ord gibt den ascii-Wert des ersten Zeichens eines strings zurueck # dieser string ist der substring ab Position $i der email-Adresse $strEncodedEmail .= "&#".ord(substr($strEmail,$i)).";"; } # gucken, ob Text auszugeben ist if(strlen(trim($strDisplay))>0) { $strDisplay = $strDisplay; } # wenn nicht, dann kodierte email als Verweistext verwenden else { $strDisplay = $strEncodedEmail; } # gucken ob ein title-Attribut gesetzt werden soll und es erzeugen if(strlen(trim($strTitle))>0) { $strTitle = "title=\"$strTitle\""; } # sonst leeren string definieren else { $strTitle = ""; } # falls ein Verweis zurueckgegeben werden soll... if($blnCreateLink) { return "".$strDisplay.""; } # falls aber nicht... else { return $strDisplay; } } /* * speichert alle besucher in der statistic_counter_gruen mit einer ip-sperre von 5 min. */ function setVisitor () { global $dbResult; if (isset($_SERVER) ) { if( ! empty( $_SERVER["HTTP_X_FORWARDED_FOR"])) { $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; $proxy = $_SERVER["REMOTE_ADDR"]; } else if( ! empty( $_SERVER["HTTP_CLIENT_IP"] )) { $ip = $_SERVER["HTTP_CLIENT_IP"]; } else { $ip = $_SERVER["REMOTE_ADDR"]; } } else { if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) { $ip = getenv( 'HTTP_X_FORWARDED_FOR' ); $proxy = getenv( 'REMOTE_ADDR' ); } else if ( getenv( 'HTTP_CLIENT_IP' ) ) { $ip = getenv( 'HTTP_CLIENT_IP' ); } else { $ip = getenv( 'REMOTE_ADDR' ); $proxy = NULL; } } $ref = ( (getenv("HTTP_REFERER") == '')?($HTTP_SERVER_VARS['HTTP_REFERER']):(getenv("HTTP_REFERER")) ); $browser = getenv("HTTP_USER_AGENT"); $host = @gethostbyaddr($ip); $DB_SELECT = " SELECT counter_id, ip, visitor, UNIX_TIMESTAMP(zeitpunkt) as zeit FROM net_counter WHERE ip = '".$ip."' ORDER BY zeitpunkt DESC LIMIT 0,1"; db($DB_SELECT); $data = mysql_fetch_array($dbResult); $diff = time() - $data['zeit']; if ($diff >= 600) { $DB_INSERT = " INSERT INTO net_counter (counter_id, ip, proxy, host, ref, browser, visitor) VALUES ('', '$ip', '$proxy', '$host', '$ref', '$browser', '".$_SESSION['client_id']."')"; db($DB_INSERT); }else { $visitorStr = (!isset($_SESSION['client_id']))?(' visitor = 0'):(' visitor = '.$_SESSION['client_id']); $DB_UPDATE = " UPDATE net_counter SET count_visits = count_visits + 1,".$visitorStr." WHERE counter_id = '".$data['counter_id']."'"; db($DB_UPDATE); } } ?>