'; } function supportsFeature($feature) { switch($feature) { case 'SqlTablePrefix': return 1; default: return 0; } } function install() {} function uninstall() {} function init() { $this->incModePref = $this->skin_incmodepref(); } function event_PreSkinParse() { global $member; if( !$member->isLoggedIn() and isset($_GET['lang']) ) { setcookie('NP_Text', getVar('lang'), time()+60*60*24*90); // 3 months } } function doSkinVar($skinType, $constant) { global $member, $CONF; $language = getLanguageName(); $getLanguage = isset($_GET['lang']) ? getVar('lang') : false; $cookieLanguage = isset($_COOKIE['NP_Text']) ? cookieVar('NP_Text') : false; // if( !$member->isLoggedIn() ) { if( $getLanguage ) { $this->use_lang($getLanguage, $constant); } elseif( $cookieLanguage ) { $this->use_lang($cookieLanguage, $constant); } else { $this->use_lang($language, $constant); } // } // else { // $this->use_lang($language, $constant); // } } function doTemplateVar(&$item, $constant) { global $member, $CONF; $language = getLanguageName(); $getLanguage = isset($_GET['lang']) ? getVar('lang') : false; $cookieLanguage = isset($_COOKIE['NP_Text']) ? cookieVar('NP_Text') : false; // if( !$member->isLoggedIn() ) { if( $getLanguage ) { $this->use_lang($getLanguage, $constant); } elseif( $cookieLanguage ) { $this->use_lang($cookieLanguage, $constant); } else { $this->use_lang($language, $constant); } // } // else { // $this->use_lang($language, $constant); // } } function use_lang($language, $constant) { global $DIR_SKINS; $filename = ''; if( $this->incModePref[0] == "normal" ) { $filename = $filename.$this->incModePref[1]; $filename = $filename."language/"; $filename = $filename.$language; $filename = $filename.".php"; } elseif( $this->incModePref[0] == "skindir" ) { $filename = $filename.$DIR_SKINS; $filename = $filename.$this->incModePref[1]; $filename = $filename."language/"; $filename = $filename.$language; $filename = $filename.".php"; } if( is_file($filename) ) { include($filename); } else { addToLog(1, "NP_Text cannot find ".$filename); } if( defined($this->constantPrefix.$constant) ) { echo constant($this->constantPrefix.$constant); } else { echo $this->constantPrefix.$constant; if( is_file($filename) ) { addToLog(1, "NP_Text cannot find definition for ".$this->constantPrefix.$constant." in ".$filename); } } } function skin_incmodepref() { global $currentSkinName; $sql = "SELECT * FROM ".sql_table("skin_desc")." WHERE sdname = '".$currentSkinName."'"; $result = sql_query($sql); $row = sql_fetch_array($result, MYSQL_ASSOC); return array($row['sdincmode'], $row['sdincpref']); } } ?>