OSDN Git Service

NP_Text追加
authorshizuki <shizuki@1ca29b6e-896d-4ea0-84a5-967f57386b96>
Sat, 20 Jun 2009 05:05:28 +0000 (05:05 +0000)
committershizuki <shizuki@1ca29b6e-896d-4ea0-84a5-967f57386b96>
Sat, 20 Jun 2009 05:05:28 +0000 (05:05 +0000)
ポップアップヘルプにプラグインwikiへのリンク追加
NP_Text plugin to core installation. Makes distribution of internationalised plugins easier. See http://forum.nucleuscms.org/viewtopic.php?t=15005(ftruscot)
links in plugins help of help.html to link to two main plugin repositories. See http://forum.nucleuscms.org/viewtopic.php?t=18214(ftruscot)

git-svn-id: https://svn.sourceforge.jp/svnroot/nucleus-jp/nucleus-jp/trunk@1014 1ca29b6e-896d-4ea0-84a5-967f57386b96

utf8/install.php
utf8/nucleus/documentation/help.html
utf8/nucleus/documentation/history.html
utf8/nucleus/language/english-utf8.php
utf8/nucleus/language/english.php
utf8/nucleus/language/japanese-euc.php
utf8/nucleus/language/japanese-utf8.php
utf8/nucleus/libs/ADMIN.php
utf8/nucleus/plugins/NP_Text.php [new file with mode: 0644]

index a57de8b..4aef1e5 100755 (executable)
@@ -37,7 +37,7 @@ include('./install_lang_japanese.php');
 //\r
 // example:\r
 //     array('NP_TrackBack', 'NP_MemberGoodies')\r
-$aConfPlugsToInstall = array('NP_SkinFiles', 'NP_SecurityEnforcer');\r
+$aConfPlugsToInstall = array('NP_SkinFiles', 'NP_SecurityEnforcer', 'NP_Text');\r
 \r
 \r
 // array with skins to install. skins must be present under the skins/ directory with\r
index c9c5011..1f547c1 100644 (file)
@@ -5232,6 +5232,22 @@ Nucleusでは機能を追加するために、プラグインをインストー
 <p>
 プラグインに対する責任は、完全にプラグインの作者にあることをお忘れなく。プラグイン作者は、プラグインが問題なく動くように作らなければなりません。
 </p>
+<a name="getplugins" id="getplugins"><span class="invisible">getplugins</span></a>
+<p>
+NucleusCMSのプラグインの主だったものは、以下の二つのページから見つけ出すことが出来ます。
+</p>
+<ul>
+       <li><a href="http://wiki.nucleuscms.org/plugin" title="本家プラグインリスト">本家プラグインリスト</a></li>
+       <li><a href="http://japan.nucleuscms.org/wiki/plugins" title="日本公式プラグインWiki">日本公式プラグインWiki</a></li>
+</ul>
+<p>
+どちらのページも全てのプラグインを網羅しているわけではありませんが、これらのページのどちらかであなたが必要としているプラグインを見つけることが出来るでしょう。
+インターネット上には無料の翻訳サービスがあるので、「読めない」と恐れることはありません。
+</p>
+あなたがプラグインを開発したり、機能を検索するその他のリソースとして、<a href="http://forum.nucleuscms.org/" title="本家フォーラム">本家フォーラム</a>や<a href="http://japan.nucleuscms.org/bb/" title="Nucleus日本語フォーラム">Nucleus日本語フォーラム</a>があります。
+これらのフォーラムの中でも、プラグインリストに掲載されていない小さなプラグインを見つけることが出来るでしょう。
+<p>
+</p>
 </div>
 
 <div class="page">
index 45b0e7b..cecb8bd 100755 (executable)
@@ -57,6 +57,8 @@
        <li>\r
                <strong>Nucleus v3.5 (SVN)</strong>\r
                <ul>\r
+                       <li>ADDED: NP_Text plugin to core installation. Makes distribution of internationalised plugins easier. See <a href="http://forum.nucleuscms.org/viewtopic.php?t=15005" title="forgotpassword">this thread</a>. (ftruscot)</li>\r
+                       <li>ADDED: links in plugins help of help.html to link to two main plugin repositories. See <a href="http://forum.nucleuscms.org/viewtopic.php?t=18214" title="forgotpassword">this thread</a>. (ftruscot)</li>\r
                        <li>ADDED: selectSpecialSkinType() function to globalfunctions.php. (ftruscot)</li>\r
                        <li>ADDED: Check in ADMIN.php pagehead() function to display alert if newer version is available. new function, getLatestVersion() in globalfunctions.php, and new files on nucleuscms.org, version_check.php, to serve latest version. (ftruscot)</li>\r
                        <li>ADDED: skinvar for all skin types to display a sticky item from any blog anywhere. (ftruscot)</li>\r
index 9ae25fa..6b07a8b 100644 (file)
 /********************************************
  *        Start New for 3.50                *
  ********************************************/
+define('_PLUGS_TITLE_GETPLUGINS',              'get more plugins...');
 define('_ARCHIVETYPE_YEAR', 'year');
 define('_ADMIN_SYSTEMOVERVIEW_LATESTVERSION_TITLE',            'Newer Version Available');
 define('_ADMIN_SYSTEMOVERVIEW_LATESTVERSION_TEXT',             'Upgrade available: v');
 
-
 /********************************************
  *        Start New for 3.40                *
  ********************************************/
index 0dab5ef..09dd5c8 100755 (executable)
 /********************************************
  *        Start New for 3.50                *
  ********************************************/
+define('_PLUGS_TITLE_GETPLUGINS',              'get more plugins...');
 define('_ARCHIVETYPE_YEAR', 'year');
 define('_ADMIN_SYSTEMOVERVIEW_LATESTVERSION_TITLE',            'Newer Version Available');
 define('_ADMIN_SYSTEMOVERVIEW_LATESTVERSION_TEXT',             'Upgrade available: v');
 
-
 /********************************************
  *        Start New for 3.40                *
  ********************************************/
index 0050970..b52d78c 100644 (file)
 /********************************************
  *        Start New for 3.50                *
  ********************************************/
+define('_PLUGS_TITLE_GETPLUGINS',              '¥×¥é¥°¥¤¥ó¤òÆþ¼ê¡Ä');
 define('_ARCHIVETYPE_YEAR', 'ǯ');
 define('_ADMIN_SYSTEMOVERVIEW_LATESTVERSION_TITLE',            '¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤¬Æþ¼ê²Äǽ¤Ç¤¹');
 define('_ADMIN_SYSTEMOVERVIEW_LATESTVERSION_TEXT',             '¥¢¥Ã¥×¥°¥ì¡¼¥É¤¬Æþ¼ê²Äǽ¤Ç¤¹¡§ v');
 
-
 /********************************************
  *        Start New for 3.40                *
  ********************************************/
index 7943351..a3bc639 100755 (executable)
 /********************************************
  *        Start New for 3.50                *
  ********************************************/
+define('_PLUGS_TITLE_GETPLUGINS',              'プラグインを入手…');
 define('_ARCHIVETYPE_YEAR', '年');
 define('_ADMIN_SYSTEMOVERVIEW_LATESTVERSION_TITLE',            '新しいバージョンが入手可能です');
 define('_ADMIN_SYSTEMOVERVIEW_LATESTVERSION_TEXT',             'アップグレードが入手可能です: v');
 
-
 /********************************************
  *        Start New for 3.40                *
  ********************************************/
index 5dd7df3..296603f 100755 (executable)
@@ -5948,7 +5948,7 @@ selector();
 \r
                echo '<h2>' , _PLUGS_TITLE_MANAGE , ' ', help('plugins'), '</h2>';\r
 \r
-               echo '<h3>' , _PLUGS_TITLE_INSTALLED , '</h3>';\r
+               echo '<h3>' , _PLUGS_TITLE_INSTALLED , ' &nbsp;&nbsp;<span style="font-size:smaller">', helplink('getplugins'), _PLUGS_TITLE_GETPLUGINS, '</a></span></h3>';\r
 \r
 \r
                $query =  'SELECT * FROM '.sql_table('plugin').' ORDER BY porder ASC';\r
diff --git a/utf8/nucleus/plugins/NP_Text.php b/utf8/nucleus/plugins/NP_Text.php
new file mode 100644 (file)
index 0000000..b717858
--- /dev/null
@@ -0,0 +1,132 @@
+<?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 = mysql_query($sql);
+               $row = mysql_fetch_array($result, MYSQL_ASSOC);
+               return array($row['sdincmode'], $row['sdincpref']);
+       }
+       
+}
+?>
\ No newline at end of file