+++ /dev/null
-<?php
-
-class NP_Text extends NucleusPlugin {
-
- var $incModePref = array();
- var $errorLogged = false;
- var $constantPrefix = "SL_";
-
- function getEventList() { return array('PreSkinParse'); }
- function getName() { return 'Text'; }
- function getAuthor() { return 'Armon Toubman'; }
- function getURL() { return 'http://forum.nucleuscms.org/viewtopic.php?t=14904'; }
- function getVersion() { return '0.53'; }
- function getDescription() {
- return 'Display constants from language files: <%Text(CONSTANT)%>';
- }
- 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']);
- }
-
-}
-
-?>
\ No newline at end of file