You are missing our premiere tool bar navigation system! Register and use it for FREE!

NukeCops  
•  Home •  Downloads •  Gallery •  Your Account •  Forums • 
Readme First
- Readme First! -

Read and follow the rules, otherwise your posts will be closed
Modules
· Home
· FAQ
· Buy a Theme
· Advertising
· AvantGo
· Bookmarks
· Columbia
· Community
· Donations
· Downloads
· Feedback
· Forums
· PHP-Nuke HOWTO
· Private Messages
· Search
· Statistics
· Stories Archive
· Submit News
· Surveys
· Theme Gallery
· Top
· Topics
· Your Account
Who's Online
There are currently, 34 guest(s) and 0 member(s) that are online.

You are Anonymous user. You can register for free by clicking here
Nuke Cops :: View topic - [tips] Language File Loading Problem [ ]
 Forum FAQ  •  Search  •   •  Memberlist  •  Usergroups   •  Register  •  Profile •    •  Log in to check your private messages  •  Log in

 
Post new topic  Reply to topicprinter-friendly view
View previous topic Log in to check your private messages View next topic
Author Message
madman
Support Mod
Support Mod


Joined: Feb 15, 2004
Posts: 806


PostPosted: Mon Sep 20, 2004 3:18 pm Reply with quoteBack to top

This tips will help you to solve language problem. Be sure to leave at least lang-english.php must be exists in "language/" directory in order this hack to work (used when no specified user languages has found). This will solve common problem when you get the following error message:
Warning: main(language/lang-.php): failed to open stream: No such file or directory...

Open mainfile.php and find the following code:
Code:
if ($forum_admin != 1) {
  if (isset($newlang) AND !eregi("\.","$newlang")) {
    if (file_exists("language/lang-$newlang.php")) {
      setcookie("lang",$newlang,time()+31536000);
      include("language/lang-$newlang.php");
      $currentlang = $newlang;
    } else {
      setcookie("lang",$language,time()+31536000);
      include("language/lang-$language.php");
      $currentlang = $language;
    }
  } elseif (isset($lang)) {
    include("language/lang-$lang.php");
    $currentlang = $lang;
  } else {
     setcookie("lang",$language,time()+31536000);
     include("language/lang-$language.php");
     $currentlang = $language;
  }
}


Replace with:
Code:
if ($forum_admin != 1)
{
  $mad_newlang = (isset($_GET['newlang'])) ? $_GET['newlang'] : '';
  $mad_lang    = (isset($_COOKIE['lang'])) ? $_COOKIE['lang'] : '';

  if (($mad_newlang != '') && preg_match('/^[a-zA-Z0-9_-]+$/', "$mad_newlang") && file_exists("languages/lang-".$mad_newlang.".php"))
  {
    @setcookie("lang", "$mad_newlang", time()+31536000);
    $currentlang = $mad_newlang;
  }
  elseif (($mad_lang != '') && preg_match('/^[a-zA-Z0-9_-]+$/', "$mad_lang") && file_exists("languages/lang-".$mad_lang.".php"))
  {
    $currentlang = $mad_lang;
  }
  elseif (preg_match('/^[a-zA-Z0-9_-]+$/', $language) && file_exists("languages/lang-".$language.".php"))
  {
    @setcookie("lang", $language, time()+31536000);
    $currentlang = $language;
  }
  elseif (file_exists("languages/lang-english.php"))
  {
    @setcookie("lang", "english", time()+31536000);
    $currentlang = "english";
  }
  else
  {
    /* none of language files found, do not continue and show nice msg to visitors */
    die('<center><br /><br /><img border="0" src="images/logo.gif" /><br /><br /><b>Language Error</b><br />Sorry we have a problem with language for this site<br />Feel free to come back later</center>');
  }
}



The next tips will help you to solve admin/module language problem. Be sure to leave at least lang-english.php must be exists in both "admin/language/" and "modules/MODNAME/language/" directories in order this hack to work (used when no specified user languages has found). This will solve common problem when you get the following error message:
Warning: main(admin/language/lang-.php): failed to open stream: No such file or directory...
Warning: main(modules/MODNAME/language/lang-.php): failed to open stream: No such file or directory...

Open mainfile.php and find the following code:
Code:
function get_lang($module) {
  global $currentlang, $language;
  if (file_exists("modules/$module/language/lang-$currentlang.php")) {
    if ($module == admin) {
      include_once("admin/language/lang-$currentlang.php");
    } else {
      include_once("modules/$module/language/lang-$currentlang.php");
    }
  } else {
    if ($module == admin) {
      include_once("admin/language/lang-$currentlang.php");
    } else {
      include_once("modules/$module/language/lang-$language.php");
    }
  }
}


Replace with:
Code:
function get_lang($module)
{
  global $admin, $currentlang, $language;

  if ($module == admin)
  {
    $madadmin = (isset($admin)) ? ((is_array($admin)) ? ((isset($admin[2])) ? $admin : array()) : ((preg_match('/^[a-z0-9\/\+\=]+$/i', "$admin")) ? explode(':', base64_decode($admin)) : array())) : array();
    $langfile = 'language/admin/lang-%s.php';
    $currlang = (isset($madadmin[2]))? strtolower($madadmin[2]) : strtolower($currentlang);
    $language = strtolower($language);
  }
  else if (($module != admin) && preg_match('/^[a-z0-9_-]+$/i', $module))
  {
    $langfile = 'module/' . $module . '/languages/lang-%s.php';
    $currlang = strtolower($currentlang);
    $language = strtolower($language);
  }
  else
  {
    /* this should not be called, unless some nasty modules do some trick here */
    die('<center><br /><br /><img border="0" src="images/logo.gif" /><br /><br /><b>Language Error</b><br />Sorry we have a problem with language for this site. Please come back later.</center>');
  }

  if (file_exists(sprintf($langfile, $currlang)))
  {
    require_once(sprintf($langfile, $currlang));
  }
  elseif (file_exists(sprintf($langfile, $language)))
  {
    require_once(sprintf($langfile, $language));
  }
  elseif (file_exists(sprintf($langfile, 'english')))
  {
    require_once(sprintf($langfile, 'english'));
  }
  else
  {
    /* none of language files found, do not continue and show nice msg to visitors */
    die('<center><br /><br /><img border="0" src="images/logo.gif" /><br /><br /><b>Language Error</b><br />Sorry we have problem with language for this site. Please come back later.</center>');
  }
}

_________________
I'm Image
Find all posts by madmanView user's profileSend private messageVisit poster's websiteYahoo MessengerMSN Messenger
newzgurl4christ
Nuke Soldier
Nuke Soldier


Joined: Aug 16, 2004
Posts: 15


PostPosted: Tue Sep 21, 2004 2:28 pm Reply with quoteBack to top

*Question*
What program do you use to open php files...? And change the code and stuf..?
Find all posts by newzgurl4christView user's profileSend private message
madman
Support Mod
Support Mod


Joined: Feb 15, 2004
Posts: 806


PostPosted: Wed Sep 22, 2004 11:47 am Reply with quoteBack to top

newzgurl4christ wrote:
What program do you use to open php files...?

Any text editor. For windows user, you can use notepad, wordpad (flat text mode), or ms word (flat text mode).

newzgurl4christ wrote:
And change the code and stuf..?

Search/replace function as usually provided by many text editor programs.

_________________
I'm Image
Find all posts by madmanView user's profileSend private messageVisit poster's websiteYahoo MessengerMSN Messenger
newzgurl4christ
Nuke Soldier
Nuke Soldier


Joined: Aug 16, 2004
Posts: 15


PostPosted: Fri Sep 24, 2004 6:49 pm Reply with quoteBack to top

Thank you, I appreciate it. Smile

NotePad works best for me. Very Happy
Find all posts by newzgurl4christView user's profileSend private message
Caedus
Sergeant
Sergeant


Joined: Dec 22, 2003
Posts: 92

Location: The Netherlands

PostPosted: Tue Oct 19, 2004 10:11 am Reply with quoteBack to top

If you want a real good text editor, try Crimson Editor.
http://www.download.com/Crimson-Editor/3000-2352_4-10328038.html?tag=lst-0-1

_________________
Arrow Caedus
Find all posts by CaedusView user's profileSend private messageSend e-mail
nightshade
Nuke Cadet
Nuke Cadet


Joined: Apr 04, 2005
Posts: 1


PostPosted: Mon Apr 04, 2005 7:55 am Reply with quoteBack to top

Ok, madman.
I have applied the hacks that you showed, and I get this 'This site has problems with language.' deal.

I have all the english files in their respective directories... now what?

- NightShade
Find all posts by nightshadeView user's profileSend private message
Display posts from previous:      
Post new topic  Reply to topicprinter-friendly view
View previous topic Log in to check your private messages View next topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum



Powered by phpBB © 2001, 2005 phpBB Group

Ported by Nuke Cops © 2003 www.nukecops.com
:: FI Theme :: PHP-Nuke theme by coldblooded (www.nukemods.com) ::
Powered by · TOGETHER TEAM srl ITALY http://www.togetherteam.it · DONDELEO E-COMMERCE http://www.DonDeLeo.com
Web site engine's code is Copyright © 2002 by PHP-Nuke. All Rights Reserved. PHP-Nuke is Free Software released under the GNU/GPL license.
Page Generation: 0.397 Seconds - 206 pages served in past 5 minutes. Nuke Cops Founded by Paul Laudanski (Zhen-Xjell)
:: FI Theme :: PHP-Nuke theme by coldblooded (www.nukemods.com) ::