Nè_éph3w Posted October 13, 2007 Share Posted October 13, 2007 Hi guys, at the moment i am working on a multilanguage mod for my website. everything works fine, but one big problem is there: it seems like since i wrote this mod, i have some memoryleaks on my server. could you please have a look on the script, maybe someone out there will find the error. Thanks a lot! The language files: de.php <?php // function define("year_ago","jahr her"); define("years_ago","jahre her"); define("month_ago","monat her"); define("months_ago","monate her"); define("day_ago","tag her"); define("days_ago","tage her"); define("hour_ago","stunde her"); define("hours_ago","stunden her"); define("minute_ago","minute her"); define("minutes_ago","minuten her"); define("second_ago","sekunde her"); define("seconds_ago","sekunden her"); ...and so on... en.php <?php // function define("year_ago","year ago"); define("years_ago","years ago"); define("month_ago","month ago"); define("months_ago","months ago"); define("day_ago","day ago"); define("days_ago","days ago"); define("hour_ago","hour ago"); define("hours_ago","hours ago"); define("minute_ago","minute ago"); define("minutes_ago","minutes ago"); define("second_ago","second ago"); define("seconds_ago","seconds ago"); ...and so on... now the function.php, which is included in EVERY file on the page. <?php function find_language() { define('$lng', ''); define('$msg', ''); if(isset($_COOKIE['lng'])) { $lng= $_COOKIE['lng']; $komplett = "cp_config/$lng/$lng.php"; require($komplett); switch ($lng) { case "en": if($_SESSION[uID] == "") { $msg = "Oops, you aren't a member. video-links are replaced with text ads.<br /> please register to see a complete adfree page"; } break; case "de": if($_SESSION[uID] == "") { $msg = "Uups, du bist kein mitglied, deshalb wurden einige links mit werbung ersetzt.<br /> um eine komplett werbefreie seite zu sehen musst du dich registrieren"; } break; } } else { $lng=substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); switch ($lng) { case "en": if($_SESSION[uID] == "") { $msg = "Oops, you aren't a member. video-links are replaced with text ads.<br /> please register to see a complete adfree page"; } $lng= "en"; $komplett = "cp_config/$lng/$lng.php"; require($komplett); $t = time()+3600*24*360; SetCookie("lng",$lng,$t); break; case "de": if($_SESSION[uID] == "") { $msg = "Uups, du bist kein mitglied, deshalb wurden einige links mit werbung ersetzt.<br /> um eine komplett werbefreie seite zu sehen musst du dich registrieren"; } $lng= "de"; $komplett = "cp_config/$lng/$lng.php"; require($komplett); $t = time()+3600*24*360; SetCookie("lng",$lng,$t); break; default: $msg = "Hi, at the moment we don't have a translation for your language. Are you interested to do this job?? Just mail to '[email protected]' or '[email protected]'! Be a part of Crownporn.com! Thanks man!"; $lng= "en"; $komplett = "cp_config/$lng/$lng.php"; require($komplett); $t = time()+3600*24*360; SetCookie("lng",$lng,$t); } } $lang = array(); $lang[msg] = $msg ; $lang[lng] = $lng ; return $lang; } if (isset($_COOKIE['lng'])) { $lng= $_COOKIE['lng']; $komplett = "cp_config/$lng/$lng.php"; require_once($komplett); } else { $tmp=find_language(); $msg=$tmp[msg]; $lng=$tmp[lng]; } and last but not least i have a lng.php where the user can set the language manually: <?php $lng=($_GET['lng']); $t = time()+3600*24*360; SetCookie("lng",$lng,$t); $ref = $_SERVER["HTTP_REFERER"]; header("Location: $ref"); ?> can someone find the error? i hope so. it would be great, if someone could help me out! Best Greatings! Link to comment https://forums.phpfreaks.com/topic/73073-memoryleak-in-multilingual-site/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.