OSDN Git Service

This commit was generated by cvs2svn to compensate for changes in r4,
authorkimitake <kimitake@1ca29b6e-896d-4ea0-84a5-967f57386b96>
Mon, 28 Feb 2005 07:15:06 +0000 (07:15 +0000)
committerkimitake <kimitake@1ca29b6e-896d-4ea0-84a5-967f57386b96>
Mon, 28 Feb 2005 07:15:06 +0000 (07:15 +0000)
which included commits to RCS files with non-trunk default branches.

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

383 files changed:
euc/atom.php [new file with mode: 0755]
euc/build/build.xml [new file with mode: 0755]
euc/build/config.php [new file with mode: 0755]
euc/build/testcases/NP_HelpPageTestCase1.php [new file with mode: 0755]
euc/build/testcases/NP_ItemOptionTestCase.php [new file with mode: 0755]
euc/build/testcases/NP_ItemOptionTestCase2.php [new file with mode: 0755]
euc/build/testcases/NP_ItemOptionTestCase3.php [new file with mode: 0755]
euc/build/testcases/NP_ItemOptionTestCase4.php [new file with mode: 0755]
euc/build/testcases/NP_OptionMeta_TestCase1.php [new file with mode: 0755]
euc/build/testcases/NP_OptionTest.php [new file with mode: 0755]
euc/build/testcases/NP_PrePluginOptionsUpdate_TestCase1.php [new file with mode: 0755]
euc/build/testcases/helppagetestcase1/help.php [new file with mode: 0755]
euc/build/testcases/plugindeptestcases/NP_DepA.php [new file with mode: 0755]
euc/build/testcases/plugindeptestcases/NP_DepB.php [new file with mode: 0755]
euc/build/testcases/plugindeptestcases/NP_DepC.php [new file with mode: 0755]
euc/build/testcases/plugindeptestcases/testcases.txt [new file with mode: 0755]
euc/build/testcases/urllinking.txt [new file with mode: 0755]
euc/build/testcases/xmlrpc-metaWeblog-editPost.php [new file with mode: 0755]
euc/build/testcases/xmlrpc-metaWeblog-getRecentPosts.php [new file with mode: 0755]
euc/build/testcases/xmlrpc-metaWeblog-newMediaObject.php [new file with mode: 0755]
euc/build/testcases/xmlrpc-metaWeblog-newPost.php [new file with mode: 0755]
euc/build/testcases/xmlrpc-mt-getPostCategories.php [new file with mode: 0755]
euc/build/testcases/xmlrpc-mt-getRecentPostTitles.php [new file with mode: 0755]
euc/build/testcases/xmlrpc-mt-getTrackbackPings.php [new file with mode: 0755]
euc/build/testcases/xmlrpc-mt-setPostCategories.php [new file with mode: 0755]
euc/config.php [new file with mode: 0755]
euc/createaccount.html [new file with mode: 0755]
euc/extra/fancyurls/.htaccess [new file with mode: 0755]
euc/extra/fancyurls/archive [new file with mode: 0755]
euc/extra/fancyurls/archives [new file with mode: 0755]
euc/extra/fancyurls/blog [new file with mode: 0755]
euc/extra/fancyurls/category [new file with mode: 0755]
euc/extra/fancyurls/fancyurls.config.php [new file with mode: 0755]
euc/extra/fancyurls/item [new file with mode: 0755]
euc/extra/fancyurls/member [new file with mode: 0755]
euc/index.php [new file with mode: 0755]
euc/install.php [new file with mode: 0755]
euc/install.sql [new file with mode: 0755]
euc/license.txt [new file with mode: 0755]
euc/media/readme.txt [new file with mode: 0755]
euc/nucleus/bookmarklet.php [new file with mode: 0755]
euc/nucleus/documentation/devdocs/custominstall.html [new file with mode: 0755]
euc/nucleus/documentation/devdocs/index.html [new file with mode: 0755]
euc/nucleus/documentation/devdocs/plugins.html [new file with mode: 0755]
euc/nucleus/documentation/devdocs/sqltables.html [new file with mode: 0755]
euc/nucleus/documentation/devdocs/styles/manual.css [new file with mode: 0755]
euc/nucleus/documentation/devdocs/xmlrpc.html [new file with mode: 0755]
euc/nucleus/documentation/help.html [new file with mode: 0755]
euc/nucleus/documentation/history.html [new file with mode: 0755]
euc/nucleus/documentation/icon-help.gif [new file with mode: 0755]
euc/nucleus/documentation/icon-up.gif [new file with mode: 0755]
euc/nucleus/documentation/index.html [new file with mode: 0755]
euc/nucleus/documentation/pics/chmod_menu.png [new file with mode: 0755]
euc/nucleus/documentation/pics/chmod_window.png [new file with mode: 0755]
euc/nucleus/documentation/pics/screen4.png [new file with mode: 0755]
euc/nucleus/documentation/pics/screen5.png [new file with mode: 0755]
euc/nucleus/documentation/pics/skinsandtemplates.png [new file with mode: 0755]
euc/nucleus/documentation/skins.html [new file with mode: 0755]
euc/nucleus/documentation/styles/manual.css [new file with mode: 0755]
euc/nucleus/documentation/tips.html [new file with mode: 0755]
euc/nucleus/forgotpassword.html [new file with mode: 0755]
euc/nucleus/forms/additemform.template [new file with mode: 0755]
euc/nucleus/forms/commentform-closed.template [new file with mode: 0755]
euc/nucleus/forms/commentform-loggedin.template [new file with mode: 0755]
euc/nucleus/forms/commentform-notloggedin.template [new file with mode: 0755]
euc/nucleus/forms/loginform-loggedin.template [new file with mode: 0755]
euc/nucleus/forms/loginform-notloggedin.template [new file with mode: 0755]
euc/nucleus/forms/membermailform-disallowed.template [new file with mode: 0755]
euc/nucleus/forms/membermailform-loggedin.template [new file with mode: 0755]
euc/nucleus/forms/membermailform-notloggedin.template [new file with mode: 0755]
euc/nucleus/forms/nucleusbutton.template [new file with mode: 0755]
euc/nucleus/forms/searchform.template [new file with mode: 0755]
euc/nucleus/images/button-aligncenter.gif [new file with mode: 0755]
euc/nucleus/images/button-alignleft.gif [new file with mode: 0755]
euc/nucleus/images/button-alignright.gif [new file with mode: 0755]
euc/nucleus/images/button-bold.gif [new file with mode: 0755]
euc/nucleus/images/button-copy.gif [new file with mode: 0755]
euc/nucleus/images/button-cut.gif [new file with mode: 0755]
euc/nucleus/images/button-italic.gif [new file with mode: 0755]
euc/nucleus/images/button-left.gif [new file with mode: 0755]
euc/nucleus/images/button-link.gif [new file with mode: 0755]
euc/nucleus/images/button-media.gif [new file with mode: 0755]
euc/nucleus/images/button-paste.gif [new file with mode: 0755]
euc/nucleus/images/button-preview.gif [new file with mode: 0755]
euc/nucleus/images/button-right.gif [new file with mode: 0755]
euc/nucleus/images/globe.gif [new file with mode: 0755]
euc/nucleus/index.php [new file with mode: 0755]
euc/nucleus/javascript/admin.js [new file with mode: 0755]
euc/nucleus/javascript/bookmarklet.js [new file with mode: 0755]
euc/nucleus/javascript/compatibility.js [new file with mode: 0755]
euc/nucleus/javascript/edit.js [new file with mode: 0755]
euc/nucleus/javascript/index.html [new file with mode: 0755]
euc/nucleus/javascript/numbercheck.js [new file with mode: 0755]
euc/nucleus/javascript/opennew.js [new file with mode: 0755]
euc/nucleus/javascript/templateEdit.js [new file with mode: 0755]
euc/nucleus/language/english.php [new file with mode: 0755]
euc/nucleus/language/index.html [new file with mode: 0755]
euc/nucleus/language/japanese-euc.php [new file with mode: 0755]
euc/nucleus/libs/ACTION.php [new file with mode: 0755]
euc/nucleus/libs/ACTIONLOG.php [new file with mode: 0755]
euc/nucleus/libs/ADMIN.php [new file with mode: 0755]
euc/nucleus/libs/BAN.php [new file with mode: 0755]
euc/nucleus/libs/BLOG.php [new file with mode: 0755]
euc/nucleus/libs/COMMENT.php [new file with mode: 0755]
euc/nucleus/libs/COMMENTS.php [new file with mode: 0755]
euc/nucleus/libs/ITEM.php [new file with mode: 0755]
euc/nucleus/libs/KARMA.php [new file with mode: 0755]
euc/nucleus/libs/MANAGER.php [new file with mode: 0755]
euc/nucleus/libs/MEDIA.php [new file with mode: 0755]
euc/nucleus/libs/MEMBER.php [new file with mode: 0755]
euc/nucleus/libs/NOTIFICATION.php [new file with mode: 0755]
euc/nucleus/libs/PAGEFACTORY.php [new file with mode: 0755]
euc/nucleus/libs/PARSER.php [new file with mode: 0755]
euc/nucleus/libs/PLUGIN.php [new file with mode: 0755]
euc/nucleus/libs/PLUGINADMIN.php [new file with mode: 0755]
euc/nucleus/libs/SEARCH.php [new file with mode: 0755]
euc/nucleus/libs/SKIN.php [new file with mode: 0755]
euc/nucleus/libs/TEMPLATE.php [new file with mode: 0755]
euc/nucleus/libs/backup.php [new file with mode: 0755]
euc/nucleus/libs/globalfunctions.php [new file with mode: 0755]
euc/nucleus/libs/include/admin-add.template [new file with mode: 0755]
euc/nucleus/libs/include/admin-edit.template [new file with mode: 0755]
euc/nucleus/libs/include/bookmarklet-add.template [new file with mode: 0755]
euc/nucleus/libs/include/bookmarklet-edit.template [new file with mode: 0755]
euc/nucleus/libs/include/index.html [new file with mode: 0755]
euc/nucleus/libs/include/readme.txt [new file with mode: 0755]
euc/nucleus/libs/index.html [new file with mode: 0755]
euc/nucleus/libs/mb_emulator/convert.table [new file with mode: 0755]
euc/nucleus/libs/mb_emulator/history.html [new file with mode: 0755]
euc/nucleus/libs/mb_emulator/history.txt [new file with mode: 0755]
euc/nucleus/libs/mb_emulator/mb-emulator.ini [new file with mode: 0755]
euc/nucleus/libs/mb_emulator/mb-emulator.php [new file with mode: 0755]
euc/nucleus/libs/mb_emulator/sjistouni.table [new file with mode: 0755]
euc/nucleus/libs/mb_emulator/unitosjis.table [new file with mode: 0755]
euc/nucleus/libs/skinie.php [new file with mode: 0755]
euc/nucleus/libs/vars4.0.6.php [new file with mode: 0755]
euc/nucleus/libs/vars4.1.0.php [new file with mode: 0755]
euc/nucleus/libs/xmlrpc.inc.php [new file with mode: 0755]
euc/nucleus/libs/xmlrpcs.inc.php [new file with mode: 0755]
euc/nucleus/media.php [new file with mode: 0755]
euc/nucleus/nucleus.gif [new file with mode: 0755]
euc/nucleus/nucleus2.gif [new file with mode: 0755]
euc/nucleus/plugins/index.html [new file with mode: 0755]
euc/nucleus/styles/addedit.css [new file with mode: 0755]
euc/nucleus/styles/admin.css [new file with mode: 0755]
euc/nucleus/styles/bookmarklet.css [new file with mode: 0755]
euc/nucleus/styles/logo.gif [new file with mode: 0755]
euc/nucleus/styles/manual.css [new file with mode: 0755]
euc/nucleus/styles/popups.css [new file with mode: 0755]
euc/nucleus/styles/quickb-hover.jpg [new file with mode: 0755]
euc/nucleus/styles/quickb.jpg [new file with mode: 0755]
euc/nucleus/upgrades/index.html [new file with mode: 0755]
euc/nucleus/upgrades/index.php [new file with mode: 0755]
euc/nucleus/upgrades/upgrade.functions.php [new file with mode: 0755]
euc/nucleus/upgrades/upgrade.php [new file with mode: 0755]
euc/nucleus/upgrades/upgrade0.95.php [new file with mode: 0755]
euc/nucleus/upgrades/upgrade0.96.php [new file with mode: 0755]
euc/nucleus/upgrades/upgrade1.0.php [new file with mode: 0755]
euc/nucleus/upgrades/upgrade1.1.php [new file with mode: 0755]
euc/nucleus/upgrades/upgrade1.5.php [new file with mode: 0755]
euc/nucleus/upgrades/upgrade2.0.php [new file with mode: 0755]
euc/nucleus/upgrades/upgrade2.5.php [new file with mode: 0755]
euc/nucleus/upgrades/upgrade3.0.php [new file with mode: 0755]
euc/nucleus/upgrades/upgrade3.1.php [new file with mode: 0755]
euc/nucleus/upgrades/upgrade3.2.php [new file with mode: 0755]
euc/nucleus/xmlrpc/api_blogger.inc.php [new file with mode: 0755]
euc/nucleus/xmlrpc/api_metaweblog.inc.php [new file with mode: 0755]
euc/nucleus/xmlrpc/api_mt.inc.php [new file with mode: 0755]
euc/nucleus/xmlrpc/api_nucleus.inc.php [new file with mode: 0755]
euc/nucleus/xmlrpc/index.html [new file with mode: 0755]
euc/nucleus/xmlrpc/server.php [new file with mode: 0755]
euc/readme.html [new file with mode: 0755]
euc/robots.txt [new file with mode: 0755]
euc/rsd.php [new file with mode: 0755]
euc/skins/atom/skinbackup.xml [new file with mode: 0755]
euc/skins/grey/atom3.gif [new file with mode: 0755]
euc/skins/grey/favicon.ico [new file with mode: 0755]
euc/skins/grey/grey.css [new file with mode: 0755]
euc/skins/grey/nucleus.gif [new file with mode: 0755]
euc/skins/grey/nucleus2.png [new file with mode: 0755]
euc/skins/grey/nucleus3.png [new file with mode: 0755]
euc/skins/grey/pagefoot.inc [new file with mode: 0755]
euc/skins/grey/pagehead.inc [new file with mode: 0755]
euc/skins/grey/preview-large.png [new file with mode: 0755]
euc/skins/grey/preview.png [new file with mode: 0755]
euc/skins/grey/readme.html [new file with mode: 0755]
euc/skins/grey/skinbackup.xml [new file with mode: 0755]
euc/skins/readme.txt [new file with mode: 0755]
euc/skins/rsd/skinbackup.xml [new file with mode: 0755]
euc/skins/rss2.0/skinbackup.xml [new file with mode: 0755]
euc/xml-rss2.php [new file with mode: 0755]
utf8/action.php [new file with mode: 0755]
utf8/atom.php [new file with mode: 0755]
utf8/build/build.xml [new file with mode: 0755]
utf8/build/config.php [new file with mode: 0755]
utf8/build/testcases/NP_HelpPageTestCase1.php [new file with mode: 0755]
utf8/build/testcases/NP_ItemOptionTestCase.php [new file with mode: 0755]
utf8/build/testcases/NP_ItemOptionTestCase2.php [new file with mode: 0755]
utf8/build/testcases/NP_ItemOptionTestCase3.php [new file with mode: 0755]
utf8/build/testcases/NP_ItemOptionTestCase4.php [new file with mode: 0755]
utf8/build/testcases/NP_OptionMeta_TestCase1.php [new file with mode: 0755]
utf8/build/testcases/NP_OptionTest.php [new file with mode: 0755]
utf8/build/testcases/NP_PrePluginOptionsUpdate_TestCase1.php [new file with mode: 0755]
utf8/build/testcases/helppagetestcase1/help.php [new file with mode: 0755]
utf8/build/testcases/plugindeptestcases/NP_DepA.php [new file with mode: 0755]
utf8/build/testcases/plugindeptestcases/NP_DepB.php [new file with mode: 0755]
utf8/build/testcases/plugindeptestcases/NP_DepC.php [new file with mode: 0755]
utf8/build/testcases/plugindeptestcases/testcases.txt [new file with mode: 0755]
utf8/build/testcases/urllinking.txt [new file with mode: 0755]
utf8/build/testcases/xmlrpc-metaWeblog-editPost.php [new file with mode: 0755]
utf8/build/testcases/xmlrpc-metaWeblog-getRecentPosts.php [new file with mode: 0755]
utf8/build/testcases/xmlrpc-metaWeblog-newMediaObject.php [new file with mode: 0755]
utf8/build/testcases/xmlrpc-metaWeblog-newPost.php [new file with mode: 0755]
utf8/build/testcases/xmlrpc-mt-getPostCategories.php [new file with mode: 0755]
utf8/build/testcases/xmlrpc-mt-getRecentPostTitles.php [new file with mode: 0755]
utf8/build/testcases/xmlrpc-mt-getTrackbackPings.php [new file with mode: 0755]
utf8/build/testcases/xmlrpc-mt-setPostCategories.php [new file with mode: 0755]
utf8/config.php [new file with mode: 0755]
utf8/createaccount.html [new file with mode: 0755]
utf8/extra/fancyurls/.htaccess [new file with mode: 0755]
utf8/extra/fancyurls/archive [new file with mode: 0755]
utf8/extra/fancyurls/archives [new file with mode: 0755]
utf8/extra/fancyurls/blog [new file with mode: 0755]
utf8/extra/fancyurls/category [new file with mode: 0755]
utf8/extra/fancyurls/fancyurls.config.php [new file with mode: 0755]
utf8/extra/fancyurls/item [new file with mode: 0755]
utf8/extra/fancyurls/member [new file with mode: 0755]
utf8/index.php [new file with mode: 0755]
utf8/install.php [new file with mode: 0755]
utf8/install.sql [new file with mode: 0755]
utf8/license.txt [new file with mode: 0755]
utf8/media/readme.txt [new file with mode: 0755]
utf8/nucleus/bookmarklet.php [new file with mode: 0755]
utf8/nucleus/documentation/devdocs/custominstall.html [new file with mode: 0755]
utf8/nucleus/documentation/devdocs/index.html [new file with mode: 0755]
utf8/nucleus/documentation/devdocs/plugins.html [new file with mode: 0755]
utf8/nucleus/documentation/devdocs/sqltables.html [new file with mode: 0755]
utf8/nucleus/documentation/devdocs/styles/manual.css [new file with mode: 0755]
utf8/nucleus/documentation/devdocs/xmlrpc.html [new file with mode: 0755]
utf8/nucleus/documentation/help.html [new file with mode: 0755]
utf8/nucleus/documentation/history.html [new file with mode: 0755]
utf8/nucleus/documentation/icon-help.gif [new file with mode: 0755]
utf8/nucleus/documentation/icon-up.gif [new file with mode: 0755]
utf8/nucleus/documentation/index.html [new file with mode: 0755]
utf8/nucleus/documentation/pics/chmod_menu.png [new file with mode: 0755]
utf8/nucleus/documentation/pics/chmod_window.png [new file with mode: 0755]
utf8/nucleus/documentation/pics/screen4.png [new file with mode: 0755]
utf8/nucleus/documentation/pics/screen5.png [new file with mode: 0755]
utf8/nucleus/documentation/pics/skinsandtemplates.png [new file with mode: 0755]
utf8/nucleus/documentation/skins.html [new file with mode: 0755]
utf8/nucleus/documentation/styles/manual.css [new file with mode: 0755]
utf8/nucleus/documentation/tips.html [new file with mode: 0755]
utf8/nucleus/forgotpassword.html [new file with mode: 0755]
utf8/nucleus/forms/additemform.template [new file with mode: 0755]
utf8/nucleus/forms/commentform-closed.template [new file with mode: 0755]
utf8/nucleus/forms/commentform-loggedin.template [new file with mode: 0755]
utf8/nucleus/forms/commentform-notloggedin.template [new file with mode: 0755]
utf8/nucleus/forms/loginform-loggedin.template [new file with mode: 0755]
utf8/nucleus/forms/loginform-notloggedin.template [new file with mode: 0755]
utf8/nucleus/forms/membermailform-disallowed.template [new file with mode: 0755]
utf8/nucleus/forms/membermailform-loggedin.template [new file with mode: 0755]
utf8/nucleus/forms/membermailform-notloggedin.template [new file with mode: 0755]
utf8/nucleus/forms/nucleusbutton.template [new file with mode: 0755]
utf8/nucleus/forms/searchform.template [new file with mode: 0755]
utf8/nucleus/images/button-aligncenter.gif [new file with mode: 0755]
utf8/nucleus/images/button-alignleft.gif [new file with mode: 0755]
utf8/nucleus/images/button-alignright.gif [new file with mode: 0755]
utf8/nucleus/images/button-bold.gif [new file with mode: 0755]
utf8/nucleus/images/button-copy.gif [new file with mode: 0755]
utf8/nucleus/images/button-cut.gif [new file with mode: 0755]
utf8/nucleus/images/button-italic.gif [new file with mode: 0755]
utf8/nucleus/images/button-left.gif [new file with mode: 0755]
utf8/nucleus/images/button-link.gif [new file with mode: 0755]
utf8/nucleus/images/button-media.gif [new file with mode: 0755]
utf8/nucleus/images/button-paste.gif [new file with mode: 0755]
utf8/nucleus/images/button-preview.gif [new file with mode: 0755]
utf8/nucleus/images/button-right.gif [new file with mode: 0755]
utf8/nucleus/images/globe.gif [new file with mode: 0755]
utf8/nucleus/index.php [new file with mode: 0755]
utf8/nucleus/javascript/admin.js [new file with mode: 0755]
utf8/nucleus/javascript/bookmarklet.js [new file with mode: 0755]
utf8/nucleus/javascript/compatibility.js [new file with mode: 0755]
utf8/nucleus/javascript/edit.js [new file with mode: 0755]
utf8/nucleus/javascript/index.html [new file with mode: 0755]
utf8/nucleus/javascript/numbercheck.js [new file with mode: 0755]
utf8/nucleus/javascript/opennew.js [new file with mode: 0755]
utf8/nucleus/javascript/templateEdit.js [new file with mode: 0755]
utf8/nucleus/language/english.php [new file with mode: 0755]
utf8/nucleus/language/index.html [new file with mode: 0755]
utf8/nucleus/language/japanese-utf8.php [new file with mode: 0755]
utf8/nucleus/libs/ACTION.php [new file with mode: 0755]
utf8/nucleus/libs/ACTIONLOG.php [new file with mode: 0755]
utf8/nucleus/libs/ADMIN.php [new file with mode: 0755]
utf8/nucleus/libs/BAN.php [new file with mode: 0755]
utf8/nucleus/libs/BLOG.php [new file with mode: 0755]
utf8/nucleus/libs/COMMENT.php [new file with mode: 0755]
utf8/nucleus/libs/COMMENTS.php [new file with mode: 0755]
utf8/nucleus/libs/ITEM.php [new file with mode: 0755]
utf8/nucleus/libs/KARMA.php [new file with mode: 0755]
utf8/nucleus/libs/MANAGER.php [new file with mode: 0755]
utf8/nucleus/libs/MEDIA.php [new file with mode: 0755]
utf8/nucleus/libs/MEMBER.php [new file with mode: 0755]
utf8/nucleus/libs/NOTIFICATION.php [new file with mode: 0755]
utf8/nucleus/libs/PAGEFACTORY.php [new file with mode: 0755]
utf8/nucleus/libs/PARSER.php [new file with mode: 0755]
utf8/nucleus/libs/PLUGIN.php [new file with mode: 0755]
utf8/nucleus/libs/PLUGINADMIN.php [new file with mode: 0755]
utf8/nucleus/libs/SEARCH.php [new file with mode: 0755]
utf8/nucleus/libs/SKIN.php [new file with mode: 0755]
utf8/nucleus/libs/TEMPLATE.php [new file with mode: 0755]
utf8/nucleus/libs/backup.php [new file with mode: 0755]
utf8/nucleus/libs/globalfunctions.php [new file with mode: 0755]
utf8/nucleus/libs/include/admin-add.template [new file with mode: 0755]
utf8/nucleus/libs/include/admin-edit.template [new file with mode: 0755]
utf8/nucleus/libs/include/bookmarklet-add.template [new file with mode: 0755]
utf8/nucleus/libs/include/bookmarklet-edit.template [new file with mode: 0755]
utf8/nucleus/libs/include/index.html [new file with mode: 0755]
utf8/nucleus/libs/include/readme.txt [new file with mode: 0755]
utf8/nucleus/libs/index.html [new file with mode: 0755]
utf8/nucleus/libs/mb_emulator/convert.table [new file with mode: 0755]
utf8/nucleus/libs/mb_emulator/history.html [new file with mode: 0755]
utf8/nucleus/libs/mb_emulator/history.txt [new file with mode: 0755]
utf8/nucleus/libs/mb_emulator/mb-emulator.ini [new file with mode: 0755]
utf8/nucleus/libs/mb_emulator/mb-emulator.php [new file with mode: 0755]
utf8/nucleus/libs/mb_emulator/sjistouni.table [new file with mode: 0755]
utf8/nucleus/libs/mb_emulator/unitosjis.table [new file with mode: 0755]
utf8/nucleus/libs/skinie.php [new file with mode: 0755]
utf8/nucleus/libs/vars4.0.6.php [new file with mode: 0755]
utf8/nucleus/libs/vars4.1.0.php [new file with mode: 0755]
utf8/nucleus/libs/xmlrpc.inc.php [new file with mode: 0755]
utf8/nucleus/libs/xmlrpcs.inc.php [new file with mode: 0755]
utf8/nucleus/media.php [new file with mode: 0755]
utf8/nucleus/nucleus.gif [new file with mode: 0755]
utf8/nucleus/nucleus2.gif [new file with mode: 0755]
utf8/nucleus/plugins/index.html [new file with mode: 0755]
utf8/nucleus/styles/addedit.css [new file with mode: 0755]
utf8/nucleus/styles/admin.css [new file with mode: 0755]
utf8/nucleus/styles/bookmarklet.css [new file with mode: 0755]
utf8/nucleus/styles/logo.gif [new file with mode: 0755]
utf8/nucleus/styles/manual.css [new file with mode: 0755]
utf8/nucleus/styles/popups.css [new file with mode: 0755]
utf8/nucleus/styles/quickb-hover.jpg [new file with mode: 0755]
utf8/nucleus/styles/quickb.jpg [new file with mode: 0755]
utf8/nucleus/upgrades/index.html [new file with mode: 0755]
utf8/nucleus/upgrades/index.php [new file with mode: 0755]
utf8/nucleus/upgrades/upgrade.functions.php [new file with mode: 0755]
utf8/nucleus/upgrades/upgrade.php [new file with mode: 0755]
utf8/nucleus/upgrades/upgrade0.95.php [new file with mode: 0755]
utf8/nucleus/upgrades/upgrade0.96.php [new file with mode: 0755]
utf8/nucleus/upgrades/upgrade1.0.php [new file with mode: 0755]
utf8/nucleus/upgrades/upgrade1.1.php [new file with mode: 0755]
utf8/nucleus/upgrades/upgrade1.5.php [new file with mode: 0755]
utf8/nucleus/upgrades/upgrade2.0.php [new file with mode: 0755]
utf8/nucleus/upgrades/upgrade2.5.php [new file with mode: 0755]
utf8/nucleus/upgrades/upgrade3.0.php [new file with mode: 0755]
utf8/nucleus/upgrades/upgrade3.1.php [new file with mode: 0755]
utf8/nucleus/upgrades/upgrade3.2.php [new file with mode: 0755]
utf8/nucleus/xmlrpc/api_blogger.inc.php [new file with mode: 0755]
utf8/nucleus/xmlrpc/api_metaweblog.inc.php [new file with mode: 0755]
utf8/nucleus/xmlrpc/api_mt.inc.php [new file with mode: 0755]
utf8/nucleus/xmlrpc/api_nucleus.inc.php [new file with mode: 0755]
utf8/nucleus/xmlrpc/index.html [new file with mode: 0755]
utf8/nucleus/xmlrpc/server.php [new file with mode: 0755]
utf8/readme.html [new file with mode: 0755]
utf8/robots.txt [new file with mode: 0755]
utf8/rsd.php [new file with mode: 0755]
utf8/skins/atom/skinbackup.xml [new file with mode: 0755]
utf8/skins/grey/atom3.gif [new file with mode: 0755]
utf8/skins/grey/favicon.ico [new file with mode: 0755]
utf8/skins/grey/grey.css [new file with mode: 0755]
utf8/skins/grey/nucleus.gif [new file with mode: 0755]
utf8/skins/grey/nucleus2.png [new file with mode: 0755]
utf8/skins/grey/nucleus3.png [new file with mode: 0755]
utf8/skins/grey/pagefoot.inc [new file with mode: 0755]
utf8/skins/grey/pagehead.inc [new file with mode: 0755]
utf8/skins/grey/preview-large.png [new file with mode: 0755]
utf8/skins/grey/preview.png [new file with mode: 0755]
utf8/skins/grey/readme.html [new file with mode: 0755]
utf8/skins/grey/skinbackup.xml [new file with mode: 0755]
utf8/skins/readme.txt [new file with mode: 0755]
utf8/skins/rsd/skinbackup.xml [new file with mode: 0755]
utf8/skins/rss2.0/skinbackup.xml [new file with mode: 0755]
utf8/xml-rss2.php [new file with mode: 0755]

diff --git a/euc/atom.php b/euc/atom.php
new file mode 100755 (executable)
index 0000000..3c83016
--- /dev/null
@@ -0,0 +1,49 @@
+<?php\r
+\r
+/**\r
+  * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) \r
+  * Copyright (C) 2002-2004 The Nucleus Group\r
+  *\r
+  * This program is free software; you can redistribute it and/or\r
+  * modify it under the terms of the GNU General Public License\r
+  * as published by the Free Software Foundation; either version 2\r
+  * of the License, or (at your option) any later version.\r
+  * (see nucleus/documentation/index.html#license for more info)\r
+  *\r
+  * Nucleus Atom Syndication\r
+  */\r
+\r
+header("Pragma: no-cache");\r
+\r
+$CONF = array();\r
+$CONF['Self'] = 'atom.php';\r
+\r
+include('./config.php');\r
+\r
+if (!$CONF['DisableSite']) {\r
+       // get feed into $feed\r
+       ob_start();\r
+               selectSkin('feeds/atom');\r
+               selector();\r
+       $feed = ob_get_contents();\r
+       ob_end_clean();\r
+       \r
+       // create ETAG (hash of feed)\r
+       // (HTTP_IF_NONE_MATCH has quotes around it)\r
+       $eTag = '"'.md5($feed).'"';\r
+       header('Etag: '.$eTag);\r
+       \r
+       // compare Etag to what we got\r
+       if ($eTag == serverVar('HTTP_IF_NONE_MATCH')) { \r
+               header("HTTP/1.0 304 Not Modified");\r
+               header('Content-Length: 0');\r
+       } else {\r
+               $feed = mb_convert_encoding($feed, "UTF-8", "EUC-JP");\r
+               header("Content-Type: application/xml");\r
+               // dump feed\r
+               echo $feed;\r
+       }\r
+               \r
+}\r
+\r
+?>\r
diff --git a/euc/build/build.xml b/euc/build/build.xml
new file mode 100755 (executable)
index 0000000..c727312
--- /dev/null
@@ -0,0 +1,218 @@
+<?xml version="1.0" ?>\r
+\r
+<!-- Build file for nucleus -->\r
+\r
+<project name="nucleus" default="all">\r
+\r
+<target name="all" depends="release, upgrade, convert, api, upgradescripts, devdocs" />\r
+\r
+<target name="init">\r
+\r
+    <property name="version" value="3.1" />\r
+    \r
+    <property name="src.home" value=".." />\r
+    <property name="build.home" value="." />    \r
+\r
+       <property name="tempdir" value="${build.home}/temp" />\r
+       \r
+    <property name="release.home" value="${tempdir}/nucleus${version}" />\r
+    <property name="upgrade.home" value="${tempdir}" />\r
+    <property name="upgradescripts.home" value="${tempdir}/upgrades" />    \r
+    <property name="convert.home" value="${tempdir}/convert" />\r
+    <property name="apidocs.home" value="${build.home}/api" />\r
+    <property name="devdocs.home" value="${tempdir}/devdocs" />    \r
+    \r
+    <property name="convert.zip" value="${build.home}/import${version}.zip" />\r
+    <property name="upgradescripts.zip" value="${build.home}/upgrade${version}-scripts.zip" />\r
+    <property name="upgrade.zip" value="${build.home}/upgrade${version}-files.zip" />\r
+    <property name="release.zip" value="${build.home}/nucleus${version}.zip" />    \r
+    <property name="devdocs.zip" value="${build.home}/devdocs${version}.zip" />        \r
+    \r
+    <tstamp/>\r
+    <property name="devbuild.zip" value="${build.home}/pre${version}-${DSTAMP}.zip" />\r
+   \r
+</target>\r
+\r
+<target name="release" depends="cleanrelease">\r
+       <mkdir dir="${tempdir}" />      \r
+\r
+       <!-- Copy all Nucleus files and libs -->\r
+    <copy todir="${release.home}" preservelastmodified="yes">\r
+       <fileset dir="${src.home}">\r
+                       <exclude name="**/CVS/**"/>     \r
+       </fileset>\r
+    </copy>\r
+    \r
+    <!-- remove convert and upgrade thingies -->\r
+    <delete dir="${release.home}/nucleus/convert" />\r
+    <delete dir="${release.home}/nucleus/upgrades" />\r
+    <delete dir="${release.home}/nucleus/fileperms" />    \r
+    <!--\r
+       The devdocs are so small and usefull. Lets include them.\r
+    \r
+       <delete dir="${release.home}/nucleus/documentation/devdocs" />    \r
+    -->\r
+    \r
+    <!-- remove all language files except english -->\r
+    <delete>\r
+       <fileset dir="${release.home}/nucleus/language">\r
+               <include name="*.*" />\r
+               <exclude name="english.php" />\r
+               <exclude name="index.html" />\r
+       </fileset>\r
+    </delete>\r
+    \r
+    <!-- don't need build dir either -->\r
+    <delete dir="${release.home}/build" />\r
+    \r
+    <!-- Copy the correct config.php file -->\r
+    <delete file="${release.home}/config.php" />\r
+    <copy file="${src.home}/build/config.php" todir="${release.home}"  preservelastmodified="yes" />\r
+\r
+    <zip zipfile="${release.zip}"\r
+       basedir="${tempdir}"\r
+    />\r
+    \r
+       <delete dir="${tempdir}" />         \r
+</target>\r
+\r
+<target name="upgrade" depends="cleanupgrade">\r
+       <mkdir dir="${tempdir}" />      \r
+\r
+       <!-- Copy all Nucleus files and libs -->\r
+    <copy todir="${upgrade.home}/nucleus" preservelastmodified="yes">\r
+       <fileset dir="${src.home}/nucleus">\r
+                       <exclude name="**/CVS/**"/>     \r
+       </fileset>\r
+    </copy>\r
+\r
+       <!-- copy xml-rss2/rsd skins as well -->\r
+    <copy todir="${upgrade.home}/skins" preservelastmodified="yes">\r
+       <fileset dir="${src.home}/skins">\r
+                       <exclude name="**/CVS/**"/>     \r
+                       <exclude name="**/base/**"/>                                    \r
+       </fileset>\r
+    </copy>\r
+    \r
+       <!-- copy extra stuff as well -->\r
+    <copy todir="${upgrade.home}/extra" preservelastmodified="yes">\r
+       <fileset dir="${src.home}/extra">\r
+                       <exclude name="**/CVS/**"/>     \r
+       </fileset>\r
+    </copy>\r
+    \r
+    <!-- remove convert and upgrade thingies -->\r
+    <delete dir="${upgrade.home}/nucleus/convert" />\r
+    <delete dir="${upgrade.home}/nucleus/upgrades" />\r
+    <delete dir="${upgrade.home}/nucleus/fileperms" />  \r
+    \r
+    <!--\r
+       The devdocs are so small and usefull. Lets include them.\r
+          \r
+       <delete dir="${upgrade.home}/nucleus/documentation/devdocs" />    \r
+    -->\r
+    \r
+    <!-- remove all language files except english -->\r
+    <delete>\r
+       <fileset dir="${upgrade.home}/nucleus/language">\r
+               <include name="*.*" />\r
+               <exclude name="english.php" />\r
+               <exclude name="index.html" />\r
+       </fileset>\r
+    </delete>    \r
+    \r
+    <!-- don't need build dir either -->\r
+    <delete dir="${upgrade.home}/build" />\r
+    \r
+    <!-- Copy necessary files in root -->\r
+    <copy file="${src.home}/action.php" todir="${upgrade.home}" preservelastmodified="yes" />\r
+\r
+       <zip zipfile="${upgrade.zip}"\r
+               basedir="${tempdir}"\r
+       />\r
+\r
+       <delete dir="${tempdir}" />     \r
+</target>\r
+\r
+<target name="upgradescripts" depends="cleanupgradescripts">\r
+       <mkdir dir="${tempdir}" />      \r
+\r
+       <!-- Copy all necessary files in there -->\r
+    <copy todir="${upgradescripts.home}" preservelastmodified="yes">\r
+       <fileset dir="${src.home}/nucleus/upgrades">\r
+                       <exclude name="**/CVS/**"/>     \r
+       </fileset>\r
+    </copy>\r
+    \r
+    <zip zipfile="${upgradescripts.zip}"\r
+       basedir="${tempdir}"\r
+    />\r
+    \r
+       <delete dir="${tempdir}" />         \r
+</target>\r
+\r
+<target name="convert" depends="cleanconvert">\r
+       <mkdir dir="${tempdir}" />      \r
+\r
+       <!-- Copy all necessary files in there -->\r
+    <copy todir="${convert.home}" preservelastmodified="yes">\r
+       <fileset dir="${src.home}/nucleus/convert">\r
+                       <exclude name="**/CVS/**"/>\r
+       </fileset>\r
+    </copy>\r
+    \r
+    <zip zipfile="${convert.zip}"\r
+       basedir="${tempdir}"\r
+    />\r
+    \r
+       <delete dir="${tempdir}" />         \r
+</target>\r
+\r
+<target name="devdocs" depends="cleandevdocs">\r
+       <mkdir dir="${tempdir}" />      \r
+\r
+       <!-- Copy all necessary files in there -->\r
+    <copy todir="${devdocs.home}" preservelastmodified="yes">\r
+       <fileset dir="${src.home}/nucleus/documentation/devdocs/">\r
+                       <exclude name="**/CVS/**"/>     \r
+       </fileset>\r
+    </copy>\r
+    \r
+    <zip zipfile="${devdocs.zip}"\r
+       basedir="${tempdir}"\r
+    />\r
+    \r
+       <delete dir="${tempdir}" />         \r
+</target>\r
+\r
+<target name="api" depends="cleanapi">\r
+</target>\r
+\r
+<target name="cleanrelease" depends="init">\r
+    <delete file="${release.zip}" />    \r
+</target>\r
+\r
+<target name="cleanupgrade" depends="init">\r
+    <delete file="${upgrade.zip}" />    \r
+</target>\r
+\r
+<target name="cleanupgradescripts" depends="init">\r
+    <delete file="${upgradescripts.zip}" />    \r
+</target>\r
+\r
+<target name="cleanconvert" depends="init">\r
+    <delete file="${convert.zip}" />\r
+</target>\r
+\r
+<target name="cleandevdocs" depends="init">\r
+    <delete file="${devdocs.zip}" />\r
+</target>\r
+\r
+<target name="cleanapi" depends="init">\r
+    <delete dir="${apidocs.home}"/>\r
+</target>\r
+\r
+\r
+\r
+\r
+</project>
\ No newline at end of file
diff --git a/euc/build/config.php b/euc/build/config.php
new file mode 100755 (executable)
index 0000000..18cb905
--- /dev/null
@@ -0,0 +1,36 @@
+<?php\r
+\r
+// This file contains variables with the locations of the data dirs\r
+// and basic functions that every page can use\r
+\r
+// mySQL connection information\r
+$MYSQL_HOST = 'hostname';\r
+$MYSQL_USER = 'username';\r
+$MYSQL_PASSWORD = 'password';\r
+$MYSQL_DATABASE = 'databasename';\r
+$MYSQL_PREFIX = '';\r
+\r
+// main nucleus directory\r
+$DIR_NUCLEUS = '/your/path/to/nucleus/';\r
+\r
+// media dir\r
+$DIR_MEDIA = '/your/path/to/media/';\r
+\r
+// extra skin files for imported skins\r
+$DIR_SKINS = '/your/path/to/skins/';\r
+\r
+// these dirs are normally subdirs of the nucleus dir, but\r
+// you can redefine them if you wish\r
+$DIR_PLUGINS = $DIR_NUCLEUS . 'plugins/';\r
+$DIR_LANG = $DIR_NUCLEUS . 'language/';\r
+$DIR_LIBS = $DIR_NUCLEUS . 'libs/';\r
+\r
+if (!@file_exists($DIR_LIBS . 'globalfunctions.php')) {\r
+       echo "Configuration error, please run the install script or modify config.php";\r
+       exit;\r
+}\r
+\r
+// include libs\r
+include($DIR_LIBS.'globalfunctions.php');\r
+\r
+?>
\ No newline at end of file
diff --git a/euc/build/testcases/NP_HelpPageTestCase1.php b/euc/build/testcases/NP_HelpPageTestCase1.php
new file mode 100755 (executable)
index 0000000..ecccbb1
--- /dev/null
@@ -0,0 +1,42 @@
+<?php\r
+\r
+class NP_HelpPageTestCase1 extends NucleusPlugin {\r
+\r
+// --------- Plug-in Info ---------------------------------\r
+  // name of plugin\r
+  function getName() {\r
+    return 'HelpPageTestCase1';\r
+  }\r
+  \r
+  // author of plugin\r
+  function getAuthor() {\r
+    return 'TeRanEX';\r
+  }\r
+  // an URL to the plugin website\r
+  function getURL() {\r
+    return 'http://budts.be/weblog/';\r
+  }\r
+  \r
+  // version of the plugin\r
+  function getVersion() {\r
+    return '0.1';\r
+  }\r
+  \r
+  // a description to be shown on the installed plugins listing\r
+  function getDescription() {\r
+    return 'A plugin to test plugin helppages';\r
+  }\r
+\r
+  //supported features\r
+  function supportsFeature($what) {\r
+    switch($what) {\r
+      case 'SqlTablePrefix':\r
+        return 1;\r
+         case 'HelpPage':\r
+               return 1;\r
+      default:\r
+        return 0;\r
+    }\r
+  } \r
+}\r
+?>\r
diff --git a/euc/build/testcases/NP_ItemOptionTestCase.php b/euc/build/testcases/NP_ItemOptionTestCase.php
new file mode 100755 (executable)
index 0000000..147aebf
--- /dev/null
@@ -0,0 +1,76 @@
+<?php\r
+/**\r
+ * +-------------------------------------------------------\r
+ * |            Nucleus ItemOption TestCase              \r
+ * +-------------------------------------------------------\r
+ * |\r
+ * +-INFO--------------------------------------------------\r
+ * |  Author:   Jeroen Budts (TeRanEX)\r
+ * |  URL:      http://budts.be/weblog/\r
+ * |  JabberID: teranex@jabber.org\r
+ * |\r
+ * +-TODO--------------------------------------------------\r
+ * | \r
+ * +-HISTORY-----------------------------------------------\r
+ * |  \r
+ * |\r
+ * +-CVS---------------------------------------------------\r
+ * | $Id: NP_ItemOptionTestCase.php,v 1.1.1.1 2005-02-28 07:13:50 kimitake Exp $\r
+ * |\r
+ * +-------------------------------------------------------\r
+ */\r
+\r
+class NP_ItemOptionTestCase extends NucleusPlugin {\r
+\r
+// --------- Plug-in Info ---------------------------------\r
+  // name of plugin\r
+  function getName() {\r
+    return 'ItemOptionTestCase';\r
+  }\r
+  \r
+  // author of plugin\r
+  function getAuthor() {\r
+    return 'TeRanEX';\r
+  }\r
+  // an URL to the plugin website\r
+  function getURL() {\r
+    return 'http://budts.be/weblog/';\r
+  }\r
+  \r
+  // version of the plugin\r
+  function getVersion() {\r
+    return '0.1';\r
+  }\r
+  \r
+  // a description to be shown on the installed plugins listing\r
+  function getDescription() {\r
+    return 'A plugin to test the itemoptions';\r
+  }\r
+  \r
+  //supported features\r
+  function supportsFeature($what) {\r
+    switch($what) {\r
+      case 'SqlTablePrefix':\r
+        return 1;\r
+      default:\r
+        return 0;\r
+    }\r
+  }\r
+  \r
+  function getMinNucleusVersion() {\r
+    return 250;\r
+  }\r
+// --------- Install and Uninstall functions --------------\r
+  function install() {\r
+    $this->createItemOption('TestValue', 'TestOption', 'text', '0', 'datatype=numerical');\r
+    $this->createItemOption('TestSelect', 'TestSelect', 'select', 'val1', 'de eerste optie|val1|de tweede optie|val2|de derde optie|val3');\r
+  }\r
+  \r
+\r
+// --------- do...-Functions ------------------------------\r
+  function doSkinVar($skinType, $counterType = 'visits', $counterMode = 'textual', $counterUpdate = 'count') {\r
+      //currently we do nothing :-)\r
+  }\r
+  \r
+}\r
+?>
\ No newline at end of file
diff --git a/euc/build/testcases/NP_ItemOptionTestCase2.php b/euc/build/testcases/NP_ItemOptionTestCase2.php
new file mode 100755 (executable)
index 0000000..09f7afd
--- /dev/null
@@ -0,0 +1,76 @@
+<?php\r
+/**\r
+ * +-------------------------------------------------------\r
+ * |            Nucleus ItemOption TestCase              \r
+ * +-------------------------------------------------------\r
+ * |\r
+ * +-INFO--------------------------------------------------\r
+ * |  Author:   Jeroen Budts (TeRanEX)\r
+ * |  URL:      http://budts.be/weblog/\r
+ * |  JabberID: teranex@jabber.org\r
+ * |\r
+ * +-TODO--------------------------------------------------\r
+ * | \r
+ * +-HISTORY-----------------------------------------------\r
+ * |  \r
+ * |\r
+ * +-CVS---------------------------------------------------\r
+ * | $Id: NP_ItemOptionTestCase2.php,v 1.1.1.1 2005-02-28 07:13:50 kimitake Exp $\r
+ * |\r
+ * +-------------------------------------------------------\r
+ */\r
+\r
+class NP_ItemOptionTestCase2 extends NucleusPlugin {\r
+\r
+// --------- Plug-in Info ---------------------------------\r
+  // name of plugin\r
+  function getName() {\r
+    return 'ItemOptionTestCase2';\r
+  }\r
+  \r
+  // author of plugin\r
+  function getAuthor() {\r
+    return 'TeRanEX';\r
+  }\r
+  // an URL to the plugin website\r
+  function getURL() {\r
+    return 'http://budts.be/weblog/';\r
+  }\r
+  \r
+  // version of the plugin\r
+  function getVersion() {\r
+    return '0.1';\r
+  }\r
+  \r
+  // a description to be shown on the installed plugins listing\r
+  function getDescription() {\r
+    return 'A plugin to test the itemoptions';\r
+  }\r
+  \r
+  //supported features\r
+  function supportsFeature($what) {\r
+    switch($what) {\r
+      case 'SqlTablePrefix':\r
+        return 1;\r
+      default:\r
+        return 0;\r
+    }\r
+  }\r
+  \r
+  function getMinNucleusVersion() {\r
+    return 250;\r
+  }\r
+// --------- Install and Uninstall functions --------------\r
+  function install() {\r
+    $this->createItemOption('TestCase', 'TestCaseOption', 'text', 'testing');\r
+  }\r
+  \r
+\r
+// --------- do...-Functions ------------------------------\r
+  function doTemplateVar(&$item) {\r
+      //currently we do nothing :-)\r
+         echo $this->getItemOption($item->itemid, 'TestCase');\r
+  }\r
+  \r
+}\r
+?>
\ No newline at end of file
diff --git a/euc/build/testcases/NP_ItemOptionTestCase3.php b/euc/build/testcases/NP_ItemOptionTestCase3.php
new file mode 100755 (executable)
index 0000000..31aa834
--- /dev/null
@@ -0,0 +1,104 @@
+<?php\r
+/**\r
+ * +-------------------------------------------------------\r
+ * |            Nucleus ItemOption TestCase              \r
+ * +-------------------------------------------------------\r
+ * |\r
+ * +-INFO--------------------------------------------------\r
+ * |  Author:   Jeroen Budts (TeRanEX)\r
+ * |  URL:      http://budts.be/weblog/\r
+ * |  JabberID: teranex@jabber.org\r
+ * |\r
+ * +-TODO--------------------------------------------------\r
+ * | \r
+ * +-HISTORY-----------------------------------------------\r
+ * |  \r
+ * |\r
+ * +-CVS---------------------------------------------------\r
+ * | $Id: NP_ItemOptionTestCase3.php,v 1.1.1.1 2005-02-28 07:13:50 kimitake Exp $\r
+ * |\r
+ * +-------------------------------------------------------\r
+ */\r
+\r
+class NP_ItemOptionTestCase3 extends NucleusPlugin {\r
+\r
+// --------- Plug-in Info ---------------------------------\r
+  // name of plugin\r
+  function getName() {\r
+    return 'ItemOptionTestCase3';\r
+  }\r
+  \r
+  // author of plugin\r
+  function getAuthor() {\r
+    return 'TeRanEX';\r
+  }\r
+  // an URL to the plugin website\r
+  function getURL() {\r
+    return 'http://budts.be/weblog/';\r
+  }\r
+  \r
+  // version of the plugin\r
+  function getVersion() {\r
+    return '0.1';\r
+  }\r
+  \r
+  // a description to be shown on the installed plugins listing\r
+  function getDescription() {\r
+    return 'A plugin to test the itemoptions';\r
+  }\r
+\r
+  function getEventList() {\r
+    return array('PrePluginOptionsEdit', 'PostPluginOptionsUpdate');\r
+  }\r
+  \r
+  //supported features\r
+  function supportsFeature($what) {\r
+    switch($what) {\r
+      case 'SqlTablePrefix':\r
+        return 1;\r
+      default:\r
+        return 0;\r
+    }\r
+  }\r
+  \r
+  function getMinNucleusVersion() {\r
+    return 250;\r
+  }\r
+// --------- Install and Uninstall functions --------------\r
+  function install() {\r
+    $this->createItemOption('TestCase3', 'TestCaseOption:TextArea', 'textarea', 'This is the default value for my textareatest');\r
+  }\r
+  \r
+  function event_PrePluginOptionsEdit($data){\r
+         echo 'event: PrePluginOptionsEdit<br/>';\r
+         echo '$data: '.$data.'<br/>';\r
+         echo 'context: '.$data['context'].'<br/>';\r
+         echo 'contextid: '.$data['contextid'].'<br/>';\r
+         for ($i == 0; $i < count($data['options']); $i++) {\r
+                 echo 'option-name: '.$data['options'][$i]['name'].' value: '.$data['options'][$i]['value'].'<br/>';\r
+         }\r
+  }\r
+\r
+  function event_PostPluginOptionsUpdate($data){\r
+         echo 'event: PostPluginOptionsEdit';\r
+         echo '$data: '.$data.' | context: '.$data['context'].'<br/>';\r
+         echo 'itemid: '.$data['itemid'].'<br/>';\r
+         echo 'item title: '.$data['item']['title'].'<br/>';\r
+  }\r
+\r
+// --------- do...-Functions ------------------------------\r
+  function doTemplateVar(&$item) {\r
+      //currently we do nothing :-)\r
+         echo $this->getItemOption($item->itemid, 'TestCase3');\r
+  }\r
+  \r
+  function doSkinVar($skinType) {\r
+      global $blog;\r
+         $mostTest = $this->getItemOptionTop('TestCase3', 15, 'asc');\r
+       for($i=0; $i < count($mostTest); $i++) {\r
+               echo '<br/>item: '.$mostTest[$i]['id'].': '.$mostTest[$i]['value'];\r
+       }\r
+  }\r
+  \r
+}\r
+?>\r
diff --git a/euc/build/testcases/NP_ItemOptionTestCase4.php b/euc/build/testcases/NP_ItemOptionTestCase4.php
new file mode 100755 (executable)
index 0000000..70c8d71
--- /dev/null
@@ -0,0 +1,83 @@
+<?php\r
+/**\r
+ * +-------------------------------------------------------\r
+ * |            Nucleus ItemOption TestCase              \r
+ * +-------------------------------------------------------\r
+ * |\r
+ * +-INFO--------------------------------------------------\r
+ * |  Author:   Jeroen Budts (TeRanEX)\r
+ * |  URL:      http://budts.be/weblog/\r
+ * |  JabberID: teranex@jabber.org\r
+ * |\r
+ * +-TODO--------------------------------------------------\r
+ * | \r
+ * +-HISTORY-----------------------------------------------\r
+ * |  \r
+ * |\r
+ * +-CVS---------------------------------------------------\r
+ * | $Id: NP_ItemOptionTestCase4.php,v 1.1.1.1 2005-02-28 07:13:50 kimitake Exp $\r
+ * |\r
+ * +-------------------------------------------------------\r
+ */\r
+\r
+class NP_ItemOptionTestCase4 extends NucleusPlugin {\r
+\r
+// --------- Plug-in Info ---------------------------------\r
+  // name of plugin\r
+  function getName() {\r
+    return 'ItemOptionTestCase4';\r
+  }\r
+  \r
+  // author of plugin\r
+  function getAuthor() {\r
+    return 'TeRanEX';\r
+  }\r
+  // an URL to the plugin website\r
+  function getURL() {\r
+    return 'http://budts.be/weblog/';\r
+  }\r
+  \r
+  // version of the plugin\r
+  function getVersion() {\r
+    return '0.1';\r
+  }\r
+  \r
+  // a description to be shown on the installed plugins listing\r
+  function getDescription() {\r
+    return 'A plugin to test the itemoptions';\r
+  }\r
+\r
+  //supported features\r
+  function supportsFeature($what) {\r
+    switch($what) {\r
+      case 'SqlTablePrefix':\r
+        return 1;\r
+      default:\r
+        return 0;\r
+    }\r
+  }\r
+  \r
+  function getMinNucleusVersion() {\r
+    return 250;\r
+  }\r
+// --------- Install and Uninstall functions --------------\r
+  function install() {\r
+    $this->createItemOption('TestCase4', 'TestCaseOption:select(numerical)', 'select', '0', '0|0|1|1|2|2|test|test;datatype=numerical');\r
+  }\r
+  \r
+// --------- do...-Functions ------------------------------\r
+  function doTemplateVar(&$item) {\r
+      //currently we do nothing :-)\r
+         echo $this->getItemOption($item->itemid, 'TestCase4');\r
+  }\r
+  \r
+  function doSkinVar($skinType) {\r
+      global $blog;\r
+         $mostTest = $this->getItemOptionTop('TestCase4', 15, 'asc');\r
+       for($i=0; $i < count($mostTest); $i++) {\r
+               echo '<br/>item: '.$mostTest[$i]['id'].': '.$mostTest[$i]['value'];\r
+       }\r
+  }\r
+  \r
+}\r
+?>\r
diff --git a/euc/build/testcases/NP_OptionMeta_TestCase1.php b/euc/build/testcases/NP_OptionMeta_TestCase1.php
new file mode 100755 (executable)
index 0000000..214f454
--- /dev/null
@@ -0,0 +1,94 @@
+<?php\r
+/**\r
+ * NP_OptionMeta_TestCase1.php\r
+ * Copyright (C) 2004 Jeroen Budts (TeRanEX)\r
+ * $Id: NP_OptionMeta_TestCase1.php,v 1.1.1.1 2005-02-28 07:13:50 kimitake Exp $\r
+ *\r
+ * This program is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU General Public License\r
+ * as published by the Free Software Foundation; either version 2\r
+ * of the License, or any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * see http://nucleuscms.org/license.txt for license\r
+ */\r
+class NP_OptionMeta_TestCase1 extends NucleusPlugin {\r
+\r
+// -- Plug-in Info ------------------------------ {{{\r
+       // name of plugin\r
+       function getName() { return 'NP_OptionMeta_TestCase1'; }\r
+       \r
+       // author of plugin\r
+       function getAuthor() {return 'TeRanEX'; }\r
+       // an URL to the plugin website\r
+       function getURL() { return 'http://budts.be/weblog/'; }\r
+       \r
+       // version of the plugin\r
+       function getVersion() { return '0.1'; }\r
+       \r
+       // a description to be shown on the installed plugins listing\r
+       function getDescription() {     return 'A plugin to test the option meta: numerical, readonly'; }\r
+       \r
+       function getEventList() { return array('PrePluginOptionsUpdate'); }\r
+       \r
+       //supported features\r
+       function supportsFeature($what)\r
+       {\r
+               switch($what) {\r
+                       case 'SqlTablePrefix':\r
+                               return 1;\r
+                       default:\r
+                               return 0;\r
+               }\r
+       }\r
+// }}}\r
+  \r
+// -- install() --------------------------------- {{{\r
+       function install()\r
+       {\r
+               // plugin options\r
+               $this->createOption('NumericTextOption1', 'Numeric text option', 'text', '', 'datatype=numerical');\r
+               $this->createOption('ReadonlyTextOption1', 'Readonly text option', 'text', '', 'access=readonly');\r
+               $this->createOption('ReadonlyNumericalTextOption1', 'Readonly, Numerical text option', 'text', '', 'access=readonly;datatype=numerical');\r
+               $this->createOption('ReadonlyTextAreaOption1', 'Readonly textarea option', 'textarea', 'This textarea is readonly (at least it should be :-p)', 'access=readonly');\r
+               $this->createOption('HiddenTextOption1', 'Hidden text option', 'text', 'hidden...', 'access=hidden');\r
+               // itemoptoins\r
+               $this->createItemOption('NumericTextOption1', 'Numeric text option', 'text', '', 'datatype=numerical');\r
+               $this->createItemOption('ReadonlyTextOption1', 'Readonly text option', 'text', '', 'access=readonly');\r
+               $this->createItemOption('ReadonlyNumericalTextOption1', 'Readonly, Numerical text option', 'text', '', 'access=readonly;datatype=numerical');\r
+               $this->createItemOption('ReadonlyTextAreaOption1', 'Readonly textarea option', 'textarea', 'This textarea is readonly (at least it should be :-p)', 'access=readonly');\r
+       }\r
+// }}}\r
+  \r
+// -- events ------------------------------------ {{{\r
+       function event_PrePluginOptionsUpdate(&$data)\r
+       {\r
+               /*\r
+                * this way of saving the date into the readonly option doesn't work anymore\r
+                * since readonly options aren't saved anymore automatically and thus this event is\r
+                * not triggered for a readonly option\r
+                */\r
+               if (($this->getID() == $data['plugid']) && ($data['optionname'] == 'ReadonlyTextOption1')) {\r
+                               $data['value'] = date('Y-m-d H:i:s');\r
+               }\r
+               /*\r
+                * but we can do it by using it while this event is triggered for a non-readonly\r
+                * option (there are better events that are better suited for this task)\r
+                */\r
+               if (($this->getID() == $data['plugid']) && ($data['optionname'] == 'NumericTextOption1')) {\r
+                               $this->setOption('HiddenTextOption1', date('Y-m-d H:i:s'));\r
+                               $this->setOption('ReadonlyTextOption1', date('Y-m-d H:i:s'));\r
+               }\r
+       }\r
+// }}}\r
+/*\r
+jedit edit rules | http://jedit.org: powerful, open-source (gpl) texteditor\r
+:mode=php:tabSize=4:indentSize=4:noTabs=false:encoding=UTF-8:\r
+:folding=explicit:collapseFolds=1:wrap=none:maxLineLen=85:\r
+*/\r
+}\r
+?>\r
diff --git a/euc/build/testcases/NP_OptionTest.php b/euc/build/testcases/NP_OptionTest.php
new file mode 100755 (executable)
index 0000000..e51e1eb
--- /dev/null
@@ -0,0 +1,120 @@
+<?php\r
+\r
+/** \r
+  * Plugin for Nucleus CMS (http://plugins.nucleuscms.org/) \r
+  * Copyright (C) 2003-2004 The Nucleus Plugins Project\r
+  *\r
+  * This program is free software; you can redistribute it and/or\r
+  * modify it under the terms of the GNU General Public License\r
+  * as published by the Free Software Foundation; either version 2\r
+  * of the License, or (at your option) any later version.\r
+  *\r
+  * see license.txt for the full license\r
+  */\r
+\r
+class NP_OptionTest extends NucleusPlugin {\r
+\r
+       // name of plugin\r
+       function getName() {\r
+               return 'OptionTest'; \r
+       }\r
+       \r
+       // author of plugin\r
+       function getAuthor()  { \r
+               return 'Wouter Demuynck'; \r
+       }\r
+       \r
+       // an URL to the plugin website\r
+       // can also be of the form mailto:foor@bar.com\r
+       function getURL() \r
+       {\r
+               return 'http://nucleuscms.org/'; \r
+       }\r
+       \r
+       // version of the plugin\r
+       function getVersion() {\r
+               return '1.0'; \r
+       }\r
+       \r
+       // a description to be shown on the installed plugins listing\r
+       function getDescription() { \r
+               return 'Plugin to test blog and member options by plugins';\r
+       }\r
+       \r
+       function getMinNucleusVersion() {\r
+               return 220;\r
+       }\r
+\r
+       function install() {\r
+               $aErrors = array();\r
+       \r
+               echo '<h1>Creating some options</h1>';\r
+       \r
+               if (!$this->createBlogOption('my option', 'my description', 'text', 'initial value', 'extra'))\r
+                       array_push($aErrors, 'create blog option failed');\r
+                       \r
+               if (!$this->createBlogOption('my option2', 'my description2', 'yesno', 'no'))\r
+                       array_push($aErrors, 'create blog option 2 failed');\r
+                       \r
+               if (!$this->createMemberOption('my option3', 'my description3', 'yesno', 'no'))\r
+                       array_push($aErrors, 'create member option failed');\r
+                       \r
+               if (!$this->createCategoryOption('my option4', 'my description4', 'yesno', 'yes'))\r
+                       array_push($aErrors, 'create catgeory option failed');\r
+\r
+               echo '<h1>Creating some more options</h1>';\r
+               // add some thingies with the same name\r
+               $this->createCategoryOption('idem', 'idemd', 'text', 'category');\r
+               $this->createOption('idem', 'idemd', 'text', 'global');\r
+               $this->createBlogOption('idem', 'idemd', 'text', 'blog');\r
+               $this->createMemberOption('idem', 'idemd', 'text', 'member');           \r
+               \r
+               echo '<h1>Checking options</h1>';               \r
+               if ($this->getOption('idem') != 'global') \r
+                       array_push($aErrors, 'get should return "global" ' . $this->getOption('idem'));                 \r
+               if ($this->getCategoryOption(1, 'idem') != 'category') \r
+                       array_push($aErrors, 'get should return "category" ' . $this->getCategoryOption(1, 'idem'));                    \r
+               if ($this->getBlogOption(1, 'idem') != 'blog') \r
+                       array_push($aErrors, 'get should return "blog" ' . $this->getBlogOption(1, 'idem'));                    \r
+               if ($this->getMemberOption(1, 'idem') != 'member') \r
+                       array_push($aErrors, 'get should return "member" ' . $this->getMemberOption(1, 'idem'));                        \r
+                       \r
+               echo '<h1>Setting options</h1>';                        \r
+               if (!$this->setOption('idem','edit-global'))\r
+                       array_push($aErrors, 'set option failed');\r
+               if (!$this->setCategoryOption(1, 'idem', 'edit-category'))\r
+                       array_push($aErrors, 'set catgeory option failed');\r
+               if (!$this->setBlogOption(1, 'idem', 'edit-blog'))\r
+                       array_push($aErrors, 'set blog option failed');\r
+               if (!$this->setMemberOption(1, 'idem', 'edit-member'))\r
+                       array_push($aErrors, 'set member option failed');\r
+\r
+               echo '<h1>Checking options</h1>';\r
+               if ($this->getOption('idem') != 'edit-global') \r
+                       array_push($aErrors, 'get should return "edit-global"');                        \r
+               if ($this->getCategoryOption(1, 'idem') != 'edit-category') \r
+                       array_push($aErrors, 'get should return "edit-category"');                      \r
+               if ($this->getBlogOption(1, 'idem') != 'edit-blog') \r
+                       array_push($aErrors, 'get should return "edit-blog"');                  \r
+               if ($this->getMemberOption(1, 'idem') != 'edit-member') \r
+                       array_push($aErrors, 'get should return "edit-member"');                        \r
+                       \r
+               if (count($aErrors) > 0);\r
+                       echo '<ul><li>' . implode('</li><li>', $aErrors). '</li></ul>';\r
+               \r
+               echo '<pre>';\r
+               echo "All blog options:\n";\r
+               print_r($this->getAllBlogOptions('idem'));\r
+               \r
+               echo "\nAll category options:\n";\r
+               print_r($this->getAllCategoryOptions('idem'));\r
+\r
+               echo "\nAll member options:\n";\r
+               print_r($this->getAllMemberOptions('idem'));\r
+\r
+               echo '</pre>';\r
+               \r
+       }\r
+       \r
+}\r
+?>
\ No newline at end of file
diff --git a/euc/build/testcases/NP_PrePluginOptionsUpdate_TestCase1.php b/euc/build/testcases/NP_PrePluginOptionsUpdate_TestCase1.php
new file mode 100755 (executable)
index 0000000..796dab8
--- /dev/null
@@ -0,0 +1,96 @@
+<?php\r
+class NP_PrePluginOptionsUpdate_TestCase1 extends NucleusPlugin {\r
+  \r
+// --------- Plug-in Info ---------------------------------\r
+       // name of plugin\r
+       function getName() {\r
+         return 'NP_PrePluginOptionsUpdate_TestCase1';\r
+       }\r
+       \r
+       // author of plugin\r
+       function getAuthor() {\r
+         return 'TeRanEX';\r
+       }\r
+       // an URL to the plugin website\r
+       function getURL() {\r
+         return 'http://budts.be/weblog/';\r
+       }\r
+       \r
+       // version of the plugin\r
+       function getVersion() {\r
+         return '0.1';\r
+       }\r
+       \r
+       // a description to be shown on the installed plugins listing\r
+       function getDescription() {\r
+         return 'A plugin to test the PrePluginOptionsUpdate event and the enhancement to the PrePluginOptionsEdit event';\r
+       }\r
+       \r
+       function getEventList() { return array('PrePluginOptionsUpdate', 'PrePluginOptionsEdit'); }\r
+       \r
+       function install() {\r
+               $this->createItemOption('TestValue', 'TestOption', 'text', 'foobar', '');\r
+               $this->createMemberOption('MemberTestOptions', 'TestOption', 'text', 'foobar-member', '');\r
+       }\r
+  \r
+       //supported features\r
+       function supportsFeature($what) {\r
+         switch($what) {\r
+               case 'SqlTablePrefix':\r
+                 return 1;\r
+               default:\r
+                 return 0;\r
+         }\r
+       }\r
+       \r
+       function event_PrePluginOptionsUpdate(&$data) {\r
+               if ($this->getID() == $data['plugid']) {\r
+                       //this belongs to us :-)\r
+                       //echo "PrePluginOptionsUpdate: TestCase-plugin<br/>";\r
+                       //echo "optionname: ".$data['optionname']."<br/>";\r
+                       //echo "context: ".$data['context']."<br/>";\r
+                       //echo "contextid: ".$data['contextid']."<br/>";\r
+                       //echo "value: ".$data['value']."<br/>";\r
+                       if ($data['value'] == '') {\r
+                               $data['value'] = 'no-value';\r
+                       } else {\r
+                               $data['value'] .= '-TEST';\r
+                       }\r
+                       //echo "new value: ".$data['value']."<br /><br/>";\r
+               }\r
+               \r
+               if ($data['optionname'] == 'TestValue') {\r
+                       $data['value'] .= '|||'.requestVar('np_testcase_item');\r
+               }\r
+       }\r
+       \r
+       \r
+       // function event_PrePluginOptionsEdit(&$data){\r
+               // echo 'event: PrePluginOptionsEdit<br/>';\r
+               // echo '$data: '.$data.'<br/>';\r
+               // echo 'context: '.$data['context'].'<br/>';\r
+               // echo 'contextid: '.$data['contextid'].'<br/>';\r
+               // for ($i == 0; $i < count($data['options']); $i++) {\r
+                       // echo 'option-name: '.$data['options'][$i]['name'].' value: '.$data['options'][$i]['value'].'<br/>';\r
+                       // echo 'extra: '.$data['options'][$i]['extra'].'<br/>';\r
+                       // // $data['options'][$i]['extra'] .= 'test';\r
+                       // // echo 'new extra: '.$data['options'][$i]['extra'].'<br/>';\r
+               // }\r
+       // }\r
+       \r
+       function event_PrePluginOptionsEdit(&$data) {\r
+               //echo 'PrePluginOptionsEdit ';\r
+               // if ($data['context'] == 'item') {\r
+                       //foreach($data['options'] as $option) {\r
+                       foreach (array_keys($data['options']) as $optionKey) {\r
+                               $option = &$data['options'][$optionKey];\r
+                               // if (($option['pid'] == $this->getID)&&($option['name'] == 'TestValue')) {\r
+                               if (($option['name'] == 'TestValue') && ($option['pid'] == $this->getID())) {\r
+                                       $option['extra'] .= ' <input type="text" name="np_testcase_item" />';\r
+                                       //echo 'Extra: '.$option['extra'].'<br/>';\r
+                               }\r
+                       // } \r
+               }\r
+       }\r
+}\r
+?>\r
diff --git a/euc/build/testcases/helppagetestcase1/help.php b/euc/build/testcases/helppagetestcase1/help.php
new file mode 100755 (executable)
index 0000000..f0fb76d
--- /dev/null
@@ -0,0 +1,13 @@
+<h3>Plugin overview</h3>\r
+<p>The only purpose of this plugin is to show how the plugin helppages work</p>\r
+<h3>Installation</h3>\r
+<p>If you can read this you correctly installed the plugin :-)</p>\r
+<h3>SkinVars</h3>\r
+<P>Because this plugin is only a testcase it doesn't has any skinvars/templatevars but suppose it would have:\r
+<ul><li><b>&lt;%HelpPageTestCase1%&gt;</b>: does something</li>\r
+<li><b>&lt;%HelpPageTestCase1(foobar)%&gt;</b>: does something else</li></ul></P>\r
+<h3>Support and Bug reports</h3>\r
+<p>For additional support and/or bug reports please use this forum thread: <a href="http://forum.nucleuscms.org/viewtopic.php?t=4137">http://forum.nucleuscms.org/viewtopic.php?t=4137</a></p>\r
+<h3>Version History</h3>\r
+<p><ul><li>Version 0.1: initial testcaseversion</li>\r
+<li>Version 0.0: pre-initial version ;-)</li></ul></p> \r
diff --git a/euc/build/testcases/plugindeptestcases/NP_DepA.php b/euc/build/testcases/plugindeptestcases/NP_DepA.php
new file mode 100755 (executable)
index 0000000..254d44a
--- /dev/null
@@ -0,0 +1,25 @@
+<?php\r
+class NP_DepA extends NucleusPlugin {\r
+\r
+   function getName() { return 'NP_DepA'; }\r
+   function getAuthor()  { return 'Edmond Hui (admun)'; }\r
+   function getURL() { return 'http://www.nowhere.com'; }\r
+   function getVersion() { return 'v0.0'; }\r
+   function getDescription() {\r
+      return 'This plugin is a test dummy Dep';\r
+   }\r
+\r
+   function supportsFeature($what) {\r
+     switch($what) {\r
+       case 'SqlTablePrefix':\r
+         return 1;\r
+       default:\r
+         return 0;\r
+     }\r
+   }\r
+\r
+   function getPluginDep() {\r
+     return array('NP_DepB');\r
+   }\r
+}\r
+?>\r
diff --git a/euc/build/testcases/plugindeptestcases/NP_DepB.php b/euc/build/testcases/plugindeptestcases/NP_DepB.php
new file mode 100755 (executable)
index 0000000..7c97803
--- /dev/null
@@ -0,0 +1,25 @@
+<?php\r
+class NP_DepB extends NucleusPlugin {\r
+\r
+   function getName() { return 'NP_DepB'; }\r
+   function getAuthor()  { return 'Edmond Hui (admun)'; }\r
+   function getURL() { return 'http://www.nowhere.com'; }\r
+   function getVersion() { return 'v0.0'; }\r
+   function getDescription() {\r
+      return 'This plugin is a test dummy Dep';\r
+   }\r
+\r
+   function supportsFeature($what) {\r
+     switch($what) {\r
+       case 'SqlTablePrefix':\r
+         return 1;\r
+       default:\r
+         return 0;\r
+     }\r
+   }\r
+\r
+   function getPluginDep() {\r
+     return array();\r
+   }\r
+}\r
+?>\r
diff --git a/euc/build/testcases/plugindeptestcases/NP_DepC.php b/euc/build/testcases/plugindeptestcases/NP_DepC.php
new file mode 100755 (executable)
index 0000000..d0e9289
--- /dev/null
@@ -0,0 +1,25 @@
+<?php\r
+class NP_DepC extends NucleusPlugin {\r
+\r
+   function getName() { return 'NP_DepC'; }\r
+   function getAuthor()  { return 'Edmond Hui (admun)'; }\r
+   function getURL() { return 'http://www.nowhere.com'; }\r
+   function getVersion() { return 'v0.0'; }\r
+   function getDescription() {\r
+      return 'This plugin is a test dummy Dep';\r
+   }\r
+\r
+   function supportsFeature($what) {\r
+     switch($what) {\r
+       case 'SqlTablePrefix':\r
+         return 1;\r
+       default:\r
+         return 0;\r
+     }\r
+   }\r
+\r
+   function getPluginDep() {\r
+     return array('NP_DepB', 'NP_DepA');\r
+   }\r
+}\r
+?>\r
diff --git a/euc/build/testcases/plugindeptestcases/testcases.txt b/euc/build/testcases/plugindeptestcases/testcases.txt
new file mode 100755 (executable)
index 0000000..83cc15a
--- /dev/null
@@ -0,0 +1,19 @@
+Note for testcases:\r
+\r
+DepA depends on DepB\r
+DepC depends on DepA and DepB\r
+\r
+Test sequences:\r
+\r
+install\r
+1) DepA, DepB - failed\r
+2) DepB, DepA - success\r
+3) DepC - failed\r
+4) DepB, DepC - failed\r
+5) DepB, DepA, DepC - success\r
+\r
+uninstall\r
+1) install DepB, DepA uninstall DepB - failed\r
+2) install DepB, DepA, DepC uninstall DepC - failed\r
+3) install DepB, DepA, DepC uninstall DepB - failed\r
+4) install DepB, DepA, DepC uninstall DepA - failed\r
diff --git a/euc/build/testcases/urllinking.txt b/euc/build/testcases/urllinking.txt
new file mode 100755 (executable)
index 0000000..5d55737
--- /dev/null
@@ -0,0 +1,22 @@
+Testcases for auto-url linking in comments:\r
+\r
+http://www.nucleuscms.org/ should be linked\r
+www.nucleuscms.org should be linked\r
+Previous sentence.www.nucleuscms.org should be linked\r
+Previous sentence.http://www.nucleuscms.org should be linked\r
+awww... that hurts. Should not be linked\r
+http://ftp.nucleuscms.org/ should NOT be an FTP link\r
+ftp://www.nucleuscms.org/ should be linked as FTP\r
+ftp.nucleuscms.org should be linked\r
+Previous sentence.ftp.nucleuscms.org should be linked\r
+Previous sentence.ftp://ftp.nucleuscms.org should be linked\r
+naftp.ha should not be linked\r
+mailto:someone@example.org -> Linked\r
+someone@example.org -> not linked\r
+http://www.example.org/?foo=x&bar=y => ampersand entity ok?\r
+<<<http://www.blaat.com>>> => < & > should not be included in link\r
+&http://www.blaat.com&& => neither should &\r
+https://www.bla.com/\r
+https://bla.com/\r
+<a href="http://help.blogger.com/bin/answer.py?answer=698&topic=36">blogger help</a> => should become <a href="http://...">blogger help</a>\r
+https://www.bla.com/, => the comma should not be linked
\ No newline at end of file
diff --git a/euc/build/testcases/xmlrpc-metaWeblog-editPost.php b/euc/build/testcases/xmlrpc-metaWeblog-editPost.php
new file mode 100755 (executable)
index 0000000..70e3849
--- /dev/null
@@ -0,0 +1,48 @@
+<?php\r
+/*\r
+       Test call to the nucleus XML-RPC server sending a metaWeblog.getRecentPosts request\r
+       \r
+       Wouter Demuynck / 2003-08-31\r
+*/\r
+\r
+// URL of XML-RPC server\r
+$serverHost = 'localhost';\r
+$serverPort = 8080;\r
+$serverPath = '/nucleus/nucleus/xmlrpc/server.php';\r
+       \r
+include('../../config.php');\r
+include($DIR_LIBS . 'xmlrpc.inc.php');\r
+\r
+$f=new xmlrpcmsg(\r
+       'metaWeblog.editPost',\r
+        array(\r
+               new xmlrpcval('2', 'string'),                   // itemid\r
+               new xmlrpcval('god', 'string'),                 // username\r
+               new xmlrpcval('heaven', 'string'),              // password\r
+               new xmlrpcval(                                                  // post info\r
+                       array(\r
+                               'description' => new xmlrpcval('Just a test','string'),\r
+                               'title' => new xmlrpcval('Edit Post Test', 'string')\r
+/*                             'categories' => new xmlrpcval(array(new xmlrpcval('General','string')), 'array')*/\r
+                       ),'struct'),\r
+               new xmlrpcval(1, 'boolean'),                    // publish\r
+        )\r
+ );\r
+        \r
+  $c=new xmlrpc_client($serverPath, $serverHost, $serverPort);\r
+  $c->setDebug(1);\r
+  $r=$c->send($f);\r
+  $v=$r->value();\r
+\r
+\r
+  if (!$r->faultCode()) {\r
+       echo 'success!';\r
+  } else {\r
+      print "Fault: ";\r
+      print "Code: " . $r->faultCode() . \r
+            " Reason '" .$r->faultString()."'<BR>";\r
+  }\r
+       \r
+\r
+       \r
+?>
\ No newline at end of file
diff --git a/euc/build/testcases/xmlrpc-metaWeblog-getRecentPosts.php b/euc/build/testcases/xmlrpc-metaWeblog-getRecentPosts.php
new file mode 100755 (executable)
index 0000000..60fdc5e
--- /dev/null
@@ -0,0 +1,43 @@
+<?php\r
+/*\r
+       Test call to the nucleus XML-RPC server sending a metaWeblog.getRecentPosts request\r
+       \r
+       Wouter Demuynck / 2003-08-31\r
+*/\r
+\r
+// URL of XML-RPC server\r
+$serverHost = 'localhost';\r
+$serverPort = 8080;\r
+$serverPath = '/nucleus/nucleus/xmlrpc/server.php';\r
+       \r
+include('../../config.php');\r
+include($DIR_LIBS . 'xmlrpc.inc.php');\r
+\r
+$f=new xmlrpcmsg(\r
+       'metaWeblog.getRecentPosts',\r
+        array(\r
+               new xmlrpcval('1', 'string'),                   // blogid\r
+               new xmlrpcval('god', 'string'),                 // username\r
+               new xmlrpcval('heaven', 'string'),              // password\r
+               new xmlrpcval('5', 'int')                       // amount to get\r
+        )\r
+ );\r
+        \r
+\r
+  $c=new xmlrpc_client($serverPath, $serverHost, $serverPort);\r
+  $c->setDebug(1);\r
+  $r=$c->send($f);\r
+  $v=$r->value();\r
+\r
+\r
+  if (!$r->faultCode()) {\r
+       echo 'success!';\r
+  } else {\r
+      print "Fault: ";\r
+      print "Code: " . $r->faultCode() . \r
+            " Reason '" .$r->faultString()."'<BR>";\r
+  }\r
+       \r
+\r
+       \r
+?>
\ No newline at end of file
diff --git a/euc/build/testcases/xmlrpc-metaWeblog-newMediaObject.php b/euc/build/testcases/xmlrpc-metaWeblog-newMediaObject.php
new file mode 100755 (executable)
index 0000000..75519de
--- /dev/null
@@ -0,0 +1,55 @@
+<?php\r
+/*\r
+       Test call to the nucleus XML-RPC server sending a metaWeblog.newMediaObject request\r
+       \r
+       Wouter Demuynck / 2003-08-31\r
+*/\r
+\r
+// URL of XML-RPC server\r
+$serverHost = 'localhost';\r
+$serverPost = 80;\r
+$serverPath = '/release/nucleus/xmlrpc/server.php';\r
+       \r
+include('../../config.php');\r
+include($DIR_LIBS . 'xmlrpc.inc.php');\r
+\r
+// get file data\r
+$filename = '../../nucleus/nucleus.gif';\r
+$fh = fopen($filename,'rb');\r
+$data = fread ($fh, filesize ($filename));\r
+fclose($fh);\r
+\r
+$f=new xmlrpcmsg(\r
+       'metaWeblog.newMediaObject',\r
+        array(\r
+               new xmlrpcval('1', 'string'),                   // blogid\r
+               new xmlrpcval('god', 'string'),                 // username\r
+               new xmlrpcval('heaven', 'string'),              // password\r
+               new xmlrpcval(array(                                    // data\r
+                               'name' => new xmlrpcval('myImage.gif', 'string'),\r
+                               'type' => new xmlrpcval('image/gif', 'string'),\r
+                               'bits' => new xmlrpcval($data, 'base64')\r
+                       ),              \r
+                       'struct'\r
+               )\r
+        )\r
+ );\r
+        \r
+\r
+  $c=new xmlrpc_client($serverPath, $serverHost, $serverPort);\r
+  $c->setDebug(1);\r
+  $r=$c->send($f);\r
+  $v=$r->value();\r
+\r
+\r
+  if (!$r->faultCode()) {\r
+       echo 'succes!';\r
+  } else {\r
+      print "Fault: ";\r
+      print "Code: " . $r->faultCode() . \r
+            " Reason '" .$r->faultString()."'<BR>";\r
+  }\r
+       \r
+\r
+       \r
+?>
\ No newline at end of file
diff --git a/euc/build/testcases/xmlrpc-metaWeblog-newPost.php b/euc/build/testcases/xmlrpc-metaWeblog-newPost.php
new file mode 100755 (executable)
index 0000000..6bbd961
--- /dev/null
@@ -0,0 +1,48 @@
+<?php\r
+/*\r
+       Test call to the nucleus XML-RPC server sending a metaWeblog.getRecentPosts request\r
+       \r
+       \r
+*/\r
+\r
+// URL of XML-RPC server\r
+$serverHost = 'localhost';\r
+$serverPort = 8080;\r
+$serverPath = '/nucleus/nucleus/xmlrpc/server.php';\r
+       \r
+include('../../config.php');\r
+include($DIR_LIBS . 'xmlrpc.inc.php');\r
+\r
+$f=new xmlrpcmsg(\r
+       'metaWeblog.newPost',\r
+        array(\r
+               new xmlrpcval('1', 'string'),                   // itemid\r
+               new xmlrpcval('god', 'string'),                 // username\r
+               new xmlrpcval('heaven', 'string'),              // password\r
+               new xmlrpcval(                                                  // post info\r
+                       array(\r
+                               'description' => new xmlrpcval('Just a test','string'),\r
+                               'title' => new xmlrpcval('Edit Post Test', 'string'),\r
+                               'categories' => new xmlrpcval(array(), 'array')\r
+                       ),'struct'),\r
+               new xmlrpcval(1, 'boolean'),                    // publish\r
+        )\r
+ );\r
+        \r
+  $c=new xmlrpc_client($serverPath, $serverHost, $serverPort);\r
+  $c->setDebug(1);\r
+  $r=$c->send($f);\r
+  $v=$r->value();\r
+\r
+\r
+  if (!$r->faultCode()) {\r
+       echo 'success!';\r
+  } else {\r
+      print "Fault: ";\r
+      print "Code: " . $r->faultCode() . \r
+            " Reason '" .$r->faultString()."'<BR>";\r
+  }\r
+       \r
+\r
+       \r
+?>
\ No newline at end of file
diff --git a/euc/build/testcases/xmlrpc-mt-getPostCategories.php b/euc/build/testcases/xmlrpc-mt-getPostCategories.php
new file mode 100755 (executable)
index 0000000..4936429
--- /dev/null
@@ -0,0 +1,42 @@
+<?php\r
+/*\r
+       Test call to the nucleus XML-RPC server sending a mt.setPostCategories request\r
+       \r
+       Wouter Demuynck / 2003-09-28\r
+*/\r
+\r
+// URL of XML-RPC server\r
+$serverHost = 'localhost';\r
+$serverPort = 8080;\r
+$serverPath = '/nucleus/nucleus/xmlrpc/server.php';\r
+       \r
+include('../../config.php');\r
+include($DIR_LIBS . 'xmlrpc.inc.php');\r
+\r
+$f=new xmlrpcmsg(\r
+       'mt.getPostCategories',\r
+        array(\r
+               new xmlrpcval('2', 'string'),                   // itemid\r
+               new xmlrpcval('god', 'string'),                 // username\r
+               new xmlrpcval('heaven', 'string')               // password\r
+        )\r
+ );\r
+        \r
+\r
+  $c=new xmlrpc_client($serverPath, $serverHost, $serverPort);\r
+  $c->setDebug(1);\r
+  $r=$c->send($f);\r
+  $v=$r->value();\r
+\r
+\r
+  if (!$r->faultCode()) {\r
+       echo 'succes!';\r
+  } else {\r
+      print "Fault: ";\r
+      print "Code: " . $r->faultCode() . \r
+            " Reason '" .$r->faultString()."'<BR>";\r
+  }\r
+       \r
+\r
+       \r
+?>
\ No newline at end of file
diff --git a/euc/build/testcases/xmlrpc-mt-getRecentPostTitles.php b/euc/build/testcases/xmlrpc-mt-getRecentPostTitles.php
new file mode 100755 (executable)
index 0000000..a58d4ca
--- /dev/null
@@ -0,0 +1,43 @@
+<?php\r
+/*\r
+       Test call to the nucleus XML-RPC server sending a mt.setPostCategories request\r
+       \r
+       Wouter Demuynck / 2003-09-28\r
+*/\r
+\r
+// URL of XML-RPC server\r
+$serverHost = 'localhost';\r
+$serverPost = 80;\r
+$serverPath = '/release/nucleus/xmlrpc/server.php';\r
+       \r
+include('../../config.php');\r
+include($DIR_LIBS . 'xmlrpc.inc.php');\r
+\r
+$f=new xmlrpcmsg(\r
+       'mt.getRecentPostTitles',\r
+        array(\r
+               new xmlrpcval('1', 'string'),                   // blogid\r
+               new xmlrpcval('god', 'string'),                 // username\r
+               new xmlrpcval('heaven', 'string'),              // password\r
+               new xmlrpcval(20, 'int')                                // amount\r
+        )\r
+ );\r
+        \r
+\r
+  $c=new xmlrpc_client($serverPath, $serverHost, $serverPort);\r
+  $c->setDebug(1);\r
+  $r=$c->send($f);\r
+  $v=$r->value();\r
+\r
+\r
+  if (!$r->faultCode()) {\r
+       echo 'succes!';\r
+  } else {\r
+      print "Fault: ";\r
+      print "Code: " . $r->faultCode() . \r
+            " Reason '" .$r->faultString()."'<BR>";\r
+  }\r
+       \r
+\r
+       \r
+?>
\ No newline at end of file
diff --git a/euc/build/testcases/xmlrpc-mt-getTrackbackPings.php b/euc/build/testcases/xmlrpc-mt-getTrackbackPings.php
new file mode 100755 (executable)
index 0000000..2e8fa20
--- /dev/null
@@ -0,0 +1,40 @@
+<?php\r
+/*\r
+       Test call to the nucleus XML-RPC server sending a mt.setPostCategories request\r
+       \r
+       Wouter Demuynck / 2003-09-28\r
+*/\r
+\r
+// URL of XML-RPC server\r
+$serverHost = 'localhost';\r
+$serverPost = 80;\r
+$serverPath = '/release/nucleus/xmlrpc/server.php';\r
+       \r
+include('../../config.php');\r
+include($DIR_LIBS . 'xmlrpc.inc.php');\r
+\r
+$f=new xmlrpcmsg(\r
+       'mt.getTrackbackPings',\r
+        array(\r
+               new xmlrpcval('1637', 'string')                 // itemid\r
+               )\r
+ );\r
+        \r
+\r
+  $c=new xmlrpc_client($serverPath, $serverHost, $serverPort);\r
+  $c->setDebug(1);\r
+  $r=$c->send($f);\r
+  $v=$r->value();\r
+\r
+\r
+  if (!$r->faultCode()) {\r
+       echo 'succes!';\r
+  } else {\r
+      print "Fault: ";\r
+      print "Code: " . $r->faultCode() . \r
+            " Reason '" .$r->faultString()."'<BR>";\r
+  }\r
+       \r
+\r
+       \r
+?>
\ No newline at end of file
diff --git a/euc/build/testcases/xmlrpc-mt-setPostCategories.php b/euc/build/testcases/xmlrpc-mt-setPostCategories.php
new file mode 100755 (executable)
index 0000000..b00dd67
--- /dev/null
@@ -0,0 +1,68 @@
+<?php\r
+/*\r
+       Test call to the nucleus XML-RPC server sending a mt.setPostCategories request\r
+       \r
+       Wouter Demuynck / 2003-09-01\r
+*/\r
+\r
+// URL of XML-RPC server\r
+$serverHost = 'localhost';\r
+$serverPort = 8080;\r
+$serverPath = '/nucleus/nucleus/xmlrpc/server.php';\r
+       \r
+include('../../config.php');\r
+include($DIR_LIBS . 'xmlrpc.inc.php');\r
+\r
+$f=new xmlrpcmsg(\r
+       'mt.setPostCategories',\r
+        array(\r
+               new xmlrpcval('2', 'string'),                   // itemid\r
+               new xmlrpcval('god', 'string'),                 // username\r
+               new xmlrpcval('heaven', 'string'),              // password\r
+               new xmlrpcval(\r
+                       array(                                  \r
+                               new xmlrpcval(\r
+                                       array(\r
+                                               'categoryId' => new xmlrpcval('Test','string')\r
+                                       ),\r
+                                       'struct'\r
+                               )\r
+/*                             ,\r
+                               new xmlrpcval(\r
+                                       array(\r
+//                                             'isPrimary' => new xmlrpcval(1, 'boolean'),\r
+                                               'categoryId' => new xmlrpcval('newcat1','string')\r
+                                       ),\r
+                                       'struct'\r
+                               ),\r
+                               new xmlrpcval(\r
+                                       array(\r
+                                               'categoryId' => new xmlrpcval('General','string')\r
+                                       ),\r
+                                       'struct'\r
+                               )                       \r
+*/                             \r
+                       ),              \r
+                       'array'\r
+               )\r
+        )\r
+ );\r
+        \r
+       echo 'ready';\r
+  $c=new xmlrpc_client($serverPath, $serverHost, $serverPort);\r
+  $c->setDebug(1);\r
+  $r=$c->send($f);\r
+  $v=$r->value();\r
+\r
+\r
+  if (!$r->faultCode()) {\r
+       echo 'succes!';\r
+  } else {\r
+      print "Fault: ";\r
+      print "Code: " . $r->faultCode() . \r
+            " Reason '" .$r->faultString()."'<BR>";\r
+  }\r
+       \r
+\r
+       \r
+?>
\ No newline at end of file
diff --git a/euc/config.php b/euc/config.php
new file mode 100755 (executable)
index 0000000..f068ca3
--- /dev/null
@@ -0,0 +1,39 @@
+<?php\r
+\r
+// This file contains variables with the locations of the data dirs\r
+// and basic functions that every page can use\r
+\r
+// mySQL connection information\r
+$MYSQL_HOST = 'hostname';\r
+$MYSQL_USER = 'username';\r
+$MYSQL_PASSWORD = 'password';\r
+$MYSQL_DATABASE = 'databasename';\r
+$MYSQL_PREFIX = '';\r
+\r
+// main nucleus directory\r
+$DIR_NUCLEUS = '/your/path/to/nucleus/';\r
+\r
+// media dir\r
+$DIR_MEDIA = '/your/path/to/media/';\r
+\r
+// extra skin files for imported skins\r
+$DIR_SKINS = '/your/path/to/skins/';\r
+\r
+// these dirs are normally subdirs of the nucleus dir, but\r
+// you can redefine them if you wish\r
+$DIR_PLUGINS = $DIR_NUCLEUS . 'plugins/';\r
+$DIR_LANG = $DIR_NUCLEUS . 'language/';\r
+$DIR_LIBS = $DIR_NUCLEUS . 'libs/';\r
+\r
+if (!@file_exists($DIR_LIBS . 'globalfunctions.php')) {\r
+       echo "Configuration error, please run the install script or modify config.php";\r
+       exit;\r
+}\r
+\r
+// include libs\r
+include($DIR_LIBS.'globalfunctions.php');\r
+if (!extension_loaded('mbstring')) {\r
+include($DIR_LIBS.'mb_emulator/mb-emulator.php');\r
+}\r
+\r
+?>
\ No newline at end of file
diff --git a/euc/createaccount.html b/euc/createaccount.html
new file mode 100755 (executable)
index 0000000..f8fdffa
--- /dev/null
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
+<html>\r
+<head>\r
+       <meta http-equiv="content-type" content="application/xhtml+xml; charset=EUC-JP" />\r
+       <title>¥á¥ó¥Ð¡¼¥¢¥«¥¦¥ó¥È¤ÎºîÀ®</title>\r
+       <style type="text/css">@import url(nucleus/styles/manual.css);</style>\r
+</head>\r
+<body>\r
+       <h1>¥¢¥«¥¦¥ó¥È¤ÎºîÀ®</h1>\r
+\r
+       <form method="post" action="action.php">\r
+\r
+       <div>\r
+       <input type="hidden" name="action" value="createaccount" />\r
+               ¥æ¡¼¥¶¡¼Ì¾: \r
+               <br />\r
+               <input name="name" size="20" /> <small>(only a-z, 0-9)</small>\r
+               <br />\r
+               <br />          \r
+               ËÜ̾: \r
+               <br />\r
+               <input name="realname" size="40" />\r
+               <br />\r
+               <br />          \r
+               Email:\r
+               <br />\r
+               <input name="email" size="40" /> <small>(ÍøÍѲÄǽ¤Ê¤â¤Î¤ò¡£¥Ñ¥¹¥ï¡¼¥É¤Ï¤³¤³¤ËÁ÷¿®¤µ¤ì¤Þ¤¹¡£)</small>\r
+               <br />\r
+               <br />          \r
+               URL: \r
+               <br />\r
+               <input name="url" size="60" />\r
+               <br />\r
+               <br />\r
+               <input type="submit" value="Create Account" />\r
+       </div>\r
+\r
+       </form>\r
+</body>\r
+</html>
\ No newline at end of file
diff --git a/euc/extra/fancyurls/.htaccess b/euc/extra/fancyurls/.htaccess
new file mode 100755 (executable)
index 0000000..7d6a8b1
--- /dev/null
@@ -0,0 +1,18 @@
+<FilesMatch "^item$">\r
+    ForceType application/x-httpd-php\r
+</FilesMatch>\r
+<FilesMatch "^archive$">\r
+    ForceType application/x-httpd-php\r
+</FilesMatch>\r
+<FilesMatch "^member$">\r
+    ForceType application/x-httpd-php\r
+</FilesMatch>\r
+<FilesMatch "^archives$">\r
+    ForceType application/x-httpd-php\r
+</FilesMatch>\r
+<FilesMatch "^category$">\r
+    ForceType application/x-httpd-php\r
+</FilesMatch>\r
+<FilesMatch "^blog$">\r
+    ForceType application/x-httpd-php\r
+</FilesMatch>
\ No newline at end of file
diff --git a/euc/extra/fancyurls/archive b/euc/extra/fancyurls/archive
new file mode 100755 (executable)
index 0000000..8dbad24
--- /dev/null
@@ -0,0 +1,12 @@
+<?\r
+\r
+include('./fancyurls.config.php');\r
+include('./config.php');\r
+\r
+$data = explode("/",serverVar('PATH_INFO'));\r
+$blogid = intval($data[1]);\r
+$archive = $data[2];\r
+\r
+selector();\r
+\r
+?>
\ No newline at end of file
diff --git a/euc/extra/fancyurls/archives b/euc/extra/fancyurls/archives
new file mode 100755 (executable)
index 0000000..e6cb568
--- /dev/null
@@ -0,0 +1,11 @@
+<?\r
+\r
+include('./fancyurls.config.php');\r
+include('./config.php');\r
+\r
+$data = explode("/",serverVar('PATH_INFO'));\r
+$archivelist = intval($data[1]);\r
+\r
+selector();\r
+\r
+?>
\ No newline at end of file
diff --git a/euc/extra/fancyurls/blog b/euc/extra/fancyurls/blog
new file mode 100755 (executable)
index 0000000..7d34625
--- /dev/null
@@ -0,0 +1,11 @@
+<?\r
+\r
+include('./fancyurls.config.php');\r
+include('./config.php');\r
+\r
+$data = explode("/",serverVar('PATH_INFO'));\r
+$blogid = intval($data[1]);\r
+\r
+selector();\r
+\r
+?>
\ No newline at end of file
diff --git a/euc/extra/fancyurls/category b/euc/extra/fancyurls/category
new file mode 100755 (executable)
index 0000000..6d1797d
--- /dev/null
@@ -0,0 +1,11 @@
+<?\r
+\r
+include('./fancyurls.config.php');\r
+include('./config.php');\r
+\r
+$data = explode("/",serverVar('PATH_INFO'));\r
+$catid = intval($data[1]);\r
+\r
+selector();\r
+\r
+?>
\ No newline at end of file
diff --git a/euc/extra/fancyurls/fancyurls.config.php b/euc/extra/fancyurls/fancyurls.config.php
new file mode 100755 (executable)
index 0000000..6a8ea9f
--- /dev/null
@@ -0,0 +1,40 @@
+<?\r
+       /*\r
+               About\r
+               -----\r
+               This directory contains extra files to make the 'fancy urls' feature even more\r
+               fancier, by eliminating the 'index.php'-part of the URL\r
+       \r
+               Installation\r
+               ------------\r
+               \r
+               1. Copy all files in this directory (except for index.html) to your main nucleus dir\r
+                  (where your index.php and action.php file are)\r
+                  \r
+                  If you have an already existing .htaccess file (most ftp-programs don't show hidden files\r
+                  by default, so don't start uploading it without checking your server). If you do, download\r
+                  that old one first, and copy the contents of the new .htaccess file (from the fancyurls\r
+                  folder) in your old one, and upload that... \r
+\r
+               2. Edit this file so that $CONF['Self'] points to your main directory. \r
+                       NOTE: this time, and only this time, the URL should NOT end in a slash\r
+\r
+               3. Also edit the $CONF['Self'] variable in your index.php, if you don't want to\r
+                  end up with index.php/item/1234 urls when people come via that way\r
+\r
+               4. Enable 'Fancy URLs' in the Nucleus admin area (nucleus management / edit settings)\r
+\r
+               5. Off you go!\r
+               \r
+               If it doesn't work:\r
+               -------------------\r
+               \r
+               Remove the files again (don't forget the hidden file .htaccess). Voila.\r
+               \r
+       */\r
+\r
+       \r
+       // remember: this URL should _NOT_ end with a slash. \r
+       $CONF['Self'] = 'http://www.yourhost.com/yourpath';\r
+       \r
+?>
\ No newline at end of file
diff --git a/euc/extra/fancyurls/item b/euc/extra/fancyurls/item
new file mode 100755 (executable)
index 0000000..4c4d3e5
--- /dev/null
@@ -0,0 +1,11 @@
+<?\r
+\r
+include('./fancyurls.config.php');\r
+include('./config.php');\r
+\r
+$data = explode("/",serverVar('PATH_INFO'));\r
+$itemid = intval($data[1]);\r
+\r
+selector();\r
+\r
+?>
\ No newline at end of file
diff --git a/euc/extra/fancyurls/member b/euc/extra/fancyurls/member
new file mode 100755 (executable)
index 0000000..4202e77
--- /dev/null
@@ -0,0 +1,11 @@
+<?\r
+\r
+include('./fancyurls.config.php');\r
+include('./config.php');\r
+\r
+$data = explode("/",serverVar('PATH_INFO'));\r
+$memberid = intval($data[1]);\r
+\r
+selector();\r
+\r
+?>
\ No newline at end of file
diff --git a/euc/index.php b/euc/index.php
new file mode 100755 (executable)
index 0000000..08f3be6
--- /dev/null
@@ -0,0 +1,10 @@
+<?php\r
+// This file will generate and return the main page of the site\r
+$CONF = array();\r
+$CONF['Self'] = 'index.php';\r
+\r
+include('./config.php');\r
+\r
+selector();\r
+\r
+?>\r
diff --git a/euc/install.php b/euc/install.php
new file mode 100755 (executable)
index 0000000..47d354d
--- /dev/null
@@ -0,0 +1,985 @@
+<?php
+       /**
+         * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
+         * Copyright (C) 2002-2004 The Nucleus Group
+         *
+         * This program is free software; you can redistribute it and/or
+         * modify it under the terms of the GNU General Public License
+         * as published by the Free Software Foundation; either version 2
+         * of the License, or (at your option) any later version.
+         * (see nucleus/documentation/index.html#license for more info)
+         * This script will install the Nucleus tables in your SQL-database, and initialize the data in
+         * those tables.
+         *
+         * Below is a friendly way of letting users on non-php systems know that Nucleus won't run there.
+         *
+         * ?><div style="font-size: xx-large;">If you see this text in your browser when you open <i>install.php</i>, your web server is not able to run PHP-scripts, and therefor Nucleus will not be able to run there. </div><div style="display: none"><?php         */
+
+       /*
+               This part of the install.php code allows for customization of the install process.
+               When distributing plugins or skins together with a Nucleus installation, the
+               configuration below will instruct to install them
+
+               -- Start Of Configurable Part --
+       */
+
+               // array with names of plugins to install. Plugin files must be present in the nucleus/plugin/
+               // directory.
+               //
+               // example:
+               //     array('NP_TrackBack', 'NP_MemberGoodies')
+               $aConfPlugsToInstall = array();
+
+
+               // array with skins to install. skins must be present under the skins/ directory with
+               // a subdirectory having the same name that contains a skinbackup.xml file
+               //
+               // example:
+               //     array('base','rsd')
+               $aConfSkinsToImport = array();
+
+       /*
+               -- End Of Configurable Part --
+       */
+
+       // don't give warnings for uninitialized vars
+       error_reporting(E_ERROR | E_WARNING | E_PARSE);
+
+       // make sure there's no unnecessary escaping:
+       set_magic_quotes_runtime(0);
+
+  // if there are some plugins or skins to import, do not include vars
+  // in globalfunctions.php again... so set a flag
+       if ((count($aConfPlugsToInstall) > 0) || (count($aConfSkinsToImport) > 0)) {
+         global $CONF;
+         $CONF['installscript']=1;
+       }
+  if (phpversion() >= '4.1.0')
+         include_once('nucleus/libs/vars4.1.0.php');
+  else
+         include_once('nucleus/libs/vars4.0.6.php');
+
+       // check if mysql support is installed
+       if (!function_exists('mysql_query'))
+               _doError('Your PHP version does not have support for MySQL :(');
+
+       if (postVar('action') == 'go')
+               doInstall();
+       else
+               showInstallForm();
+       exit;
+
+       function showInstallForm() {
+
+               // 0. pre check if all necessary files exist
+               doCheckFiles();
+
+       ?>
+       <!DOCTYPE html
+       PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+       <html xmlns="http://www.w3.org/1999/xhtml">
+       <head>
+               <meta http-equiv="content-type" content="application/xhtml+xml; charset=EUC-JP" />
+               <title>Nucleus¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
+               <style type="text/css"><!--
+                       @import url('nucleus/documentation/styles/manual.css');
+               --></style>
+               <script type="text/javascript"><!--
+                       // function to make sure the submit button only gets pressed once
+                       var submitcount=0;
+                       function checkSubmit() {
+                               if (submitcount == 0) {
+                                       submitcount++;
+                                       return true;
+                               } else {
+                                       return false;
+                               }
+                       }
+               --></script>
+       </head>
+       <body>
+
+  <div style='text-align:center'><img src='./nucleus/styles/logo.gif' /></div> <!-- Nucleus logo -->
+
+       <form method="post" action="install.php">
+
+       <h1>Install Nucleus</h1>
+
+       <p>
+       ¤³¤Î¥¹¥¯¥ê¥×¥È¤ÏNucleus¤Î¥¤¥ó¥¹¥È¡¼¥ë¤ò¼ê½õ¤±¤·¤Þ¤¹¡£MySQL¥Æ¡¼¥Ö¥ë¤Î¥»¥Ã¥È¥¢¥Ã¥×¤È¡¢<i>config.php</i>¤ËÆþÎϤ¹¤ë¤¿¤á¤Î¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡Êconfig.php¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò0666¤Ë¤·¤Æ¤ª¤±¤Ð¡¢¸å¼Ô¤Îºî¶È¤Ï¼«Æ°Åª¤Ë¹Ô¤ï¤ì¤Þ¤¹¡Ë¡£¤³¤ì¤ò¤Ê¤¹°Ù¤Ë¡¢¤¤¤¯¤Ä¤«¤Î¾ðÊó¤òÆþÎϤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
+       </p>
+
+       <p>
+       ¤¹¤Ù¤Æ¤ÎÍó¤ÎÆþÎϤ¬É¬ÍפǤ¹¡£¥ª¥×¥·¥ç¥ó¾ðÊó¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤¬´°Î»¤·¤¿¤é¡¢Nucleus¤Î´ÉÍýÎΰ褫¤éÀßÄê²Äǽ¤Ç¤¹¡£
+       </p>
+
+       <h1>PHP &amp; MySQL Versions</h1>
+
+       <p>
+               °Ê²¼¤Ï¤¢¤Ê¤¿¤Î¥¦¥§¥Ö¥Û¥¹¥È¤Ë¤ª¤±¤ëPHP¥¤¥ó¥¿¡¼¥×¥ê¥¿¡¼¤ÈMySQL¥µ¡¼¥Ð¡¼¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤¹¡£Nucleus¤Î¥µ¥Ý¡¼¥È¥Õ¥©¡¼¥é¥à¤ËÌäÂê¤òÊó¹ð¤¹¤ë¤È¤­¤Ï¡¢¤³¤Î¾ðÊó¤ò½ñ¤­Åº¤¨¤Æ¤¯¤À¤µ¤¤¡£
+       </p>
+
+       <ul>
+               <li>PHP: <?php                  echo phpversion();
+                       $minVersion = '4.0.6';
+
+                       if (phpversion() < $minVersion)
+                               echo ' <span class="warning">Ãí°Õ: Nucleus¤ÎÆ°ºî¤Ë¤Ï¾¯¤Ê¤¯¤È¤â¥Ð¡¼¥¸¥ç¥ó ',$minVersion,' ¤¬É¬ÍפȤµ¤ì¤Þ¤¹</span>';
+               ?></li>
+               <li>MySQL: <?php
+                       // note: this piece of code is taken from phpMyAdmin
+
+                       $result = @mysql_query('SELECT VERSION() AS version');
+                       if ($result != FALSE && @mysql_num_rows($result) > 0) {
+                               $row   = mysql_fetch_array($result);
+                               $match = explode('.', $row['version']);
+                       } else {
+                               $result = @mysql_query('SHOW VARIABLES LIKE \'version\'');
+                               if ($result != FALSE && @mysql_num_rows($result) > 0){
+                                       $row   = mysql_fetch_row($result);
+                                       $match = explode('.', $row[1]);
+                               } else {
+                                       $match[0] = '?';
+                                       $match[1] = '?';
+                                       $match[2] = '?';
+                               }
+                       }
+
+                       if (!isset($match) || !isset($match[0])) {
+                               $match[0] = 3;
+                       }
+                       if (!isset($match[1])) {
+                               $match[1] = 21;
+                       }
+                       if (!isset($match[2])) {
+                               $match[2] = 0;
+                       }
+
+                       if ($match[0] != '?') {
+                               $match[0] = intval($match[0]);
+                               $match[1] = intval($match[1]);
+                       }
+
+                       $mysqlVersion = implode($match, '.');
+                       $minVersion = '3.23';
+
+                       echo $mysqlVersion;
+
+                       if ($mysqlVersion < $minVersion)
+                               echo ' <span class="warning">Ãí°Õ: Nucleus¤ÎÆ°ºî¤Ë¤Ï¾¯¤Ê¤¯¤È¤â¥Ð¡¼¥¸¥ç¥ó ',$minVersion,' ¤¬É¬ÍפȤµ¤ì¤Þ¤¹</span>';
+               ?></li>
+       </ul>
+
+<?php
+       // tell people how they can have their config file filled out automatically
+       if (@file_exists('config.php') && @!is_writable('config.php')) {
+?>
+       <h1><i>config.php</i>¤Î¼«Æ°¥¢¥Ã¥×¥Ç¡¼¥È</h1>
+
+       <p>
+       ¤â¤·<em>config.php</em>¤ò¼«Æ°Åª¤Ë¹¹¿·¤¹¤ë¤è¤¦¤Ë¤·¤¿¤¤¤Ê¤é¡¢½ñ¤­¹þ¤ß²Äǽ¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£<em>config.php</em>¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò<strong>666</strong>¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£Nucleus¤Î¥¤¥ó¥¹¥È¡¼¥ëÀ®¸ù¸å¤Ë¡¢¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò<strong>444</strong>¤ËÌᤵ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡Ê<a href="nucleus/documentation/tips.html#filepermissions">¥Ñ¡¼¥ß¥Ã¥·¥ç¥óÊѹ¹¤Î´Ê°×¥¬¥¤¥É</a>¡Ë¡£
+       </p>
+
+       <p>
+       ¤â¤·¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤Þ¤Ê¤¤¤È¤¤¤¦ÁªÂò¤ò¤·¤¿¡Ê¤¢¤ë¤¤¤Ï¹Ô¤¨¤Ê¤¤¡Ë¾ì¹ç¡§¤´¿´Çۤʤ¯¡£¥¤¥ó¥¹¥È¡¼¥ë¤Î²áÄø¤Ç<em>config.php</em>¤ÎÃæ¿È¤¬Ä󶡤µ¤ì¤Þ¤¹¡£¤Ç¤¹¤«¤é¡¢¤½¤ì¤ò¤´¼«¿È¤Ç¥¢¥Ã¥×¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£
+       </p>
+
+<?php } ?>
+
+       <h1>MySQL¤Î¥í¥°¥¤¥ó¥Ç¡¼¥¿</h1>
+
+       <p>
+       MySQL¤Î¥Ç¡¼¥¿¤ò°Ê²¼¤ËÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£¤½¤ì¤é¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥Æ¡¼¥Ö¥ë¤òºîÀ®¤·¾ðÊó¤òÆþÎϤ¹¤ë¤¿¤á¤ËɬÍפʤâ¤Î¤Ç¤¹¡£¸å¤Ç¡¢<i>config.php</i>¤Ë¤âµ­Æþ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡Ê¾åµ­¤Î¼«Æ°¥¢¥Ã¥×¥Ç¡¼¥È¤òÍøÍѤ¹¤ë¾ì¹ç¡¢¤½¤Î¼ê½ç¤Ï¾Êά¤µ¤ì¤Þ¤¹¡Ë¡£
+       </p>
+
+       <p>
+       ¤â¤·¤³¤Î¾ðÊ󤬤狼¤é¤Ê¤±¤ì¤Ð¡¢¥·¥¹¥Æ¥à´ÉÍý¼Ô¤«¥Û¥¹¥Æ¥£¥ó¥°¸µ¤ËÏ¢Íí¤ò¤È¤Ã¤Æ¤¯¤À¤µ¤¤¡£¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢¥Û¥¹¥È̾¤Ï'localhost'¤Ç¤¹¡£¤â¤·Nucleus¤¬¤¢¤Ê¤¿¤Î¥µ¡¼¥Ð¤ÎPHPÀßÄ꤫¤é'default MySQL host'¤ò¸¡ÃΤ·¤¿¤Ê¤é¡¢'¥Û¥¹¥È̾'¤Ë´û¤Ëµ­Æþ¤µ¤ì¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£¤â¤Ã¤È¤â¡¢¤³¤Î¾ðÊó¤¬Àµ³Î¤Ç¤¢¤ë¤È¤¤¤¦ÊݾڤϤ¢¤ê¤Þ¤»¤ó¡£
+       </p>
+
+       <fieldset>
+               <legend>´ðËܤΥǡ¼¥¿¥Ù¡¼¥¹ÀßÄê</legend>
+               <table><tr>
+                       <td>¥Û¥¹¥È̾¡§</td>
+                       <td><input name="mySQL_host" value="<?php echo htmlspecialchars(@ini_get('mysql.default_host'))?>" /></td>
+               </tr><tr>
+                       <td>¥æ¡¼¥¶¡¼Ì¾¡§</td>
+                       <td><input name="mySQL_user" /></td>
+               </tr><tr>
+                       <td>¥Ñ¥¹¥ï¡¼¥É¡§</td>
+                       <td><input name="mySQL_password" type="password" /></td>
+               </tr><tr>
+                       <td>¥Ç¡¼¥¿¥Ù¡¼¥¹Ì¾¡§</td>
+                       <td><input name="mySQL_database" /> (<input name="mySQL_create" value="1" type="checkbox" id="mySQL_create"><label for="mySQL_create" />¥Ç¡¼¥¿¥Ù¡¼¥¹¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ë</label>)</td>
+               </tr></table>
+       </fieldset>
+
+       <fieldset>
+               <legend>¹âÅù¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹ÀßÄê</legend>
+               <table><tr>
+                       <td><input name="mySQL_usePrefix" value="1" type="checkbox" id="mySQL_usePrefix"><label for="mySQL_usePrefix" />¥Æ¡¼¥Ö¥ë¡¦¥×¥ê¥Õ¥£¥Ã¥¯¥¹¤òÍøÍÑ</label></td>
+                       <td><input name="mySQL_tablePrefix" value="" /></td>
+               </tr></table>
+               <p>°ì¤Ä¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÊ£¿ô¤ÎNucleus¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤ª¤ê¡¢¼«Ê¬¤¬²¿¤ò¤ä¤Ã¤Æ¤¤¤ë¤Î¤«Íý²ò¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤ò½ü¤¤¤Æ¤Ï¡¢<strong>¤³¤ì¤òÊѹ¹¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó</strong>¡£</p>
+               <p>Nucleus¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¥Æ¡¼¥Ö¥ë¤Ï¡¢¤³¤Î¥×¥ê¥Õ¥£¥Ã¥¯¥¹¤¬Æ¬¤Ë¤Ä¤­¤Þ¤¹¡£</p>
+       </fieldset>
+
+       <h1>¥Ç¥£¥ì¥¯¥È¥ê¤ÈURL</h1>
+
+       <p>
+       ¤³¤Î¥¤¥ó¥¹¥È¡¼¥ë¥¹¥¯¥ê¥×¥È¤ÏNucleus¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¤ÈURL¤ò¸«¤Ä¤±¤è¤¦¤È¤·¤Þ¤·¤¿¡£²¼¤ÎÃͤò¥Á¥§¥Ã¥¯¤·¤ÆɬÍפʤéÄûÀµ¤·¤Æ¤¯¤À¤µ¤¤¡£¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ñ¥¹¤ÈURL¤Ï¥¹¥é¥Ã¥·¥å'/'¤Ç½ª¤ï¤é¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£
+       </p>
+
+       <fieldset>
+               <legend>URLs and directories</legend>
+               <table><tr>
+                       <td>Site <strong>URL</strong>:</td>
+                       <td>
+                                       <input name="IndexURL" size="60" value="<?php                                   $url = "http://" . serverVar('HTTP_HOST') . serverVar('PHP_SELF');
+                                       $url = str_replace("install.php",'',$url);
+                                       $url = str_replace("\\","/",$url);
+                                       // add slash at end if necessary
+                                       if (!endsWithSlash($url)) $url .= '/';
+                                       echo $url;
+                               ?>" />
+                       </td>
+               </tr><tr>
+                       <td>Admin-area <strong>URL</strong>:</td>
+                       <td><input name="AdminURL" size="60" value="<?php                                       if ($url) echo $url . 'nucleus/';
+                               ?>" />
+                       </td>
+               </tr><tr>
+                       <td>Admin-area <strong>path</strong>:</td>
+                       <td><input name="AdminPath" size="60" value="<?php                                      $path = str_replace("install.php",'',serverVar('SCRIPT_FILENAME'));
+                                       $path = str_replace("\\","/",$path);
+                                       // add slash at end if necessary
+                                       if (!endsWithSlash($path)) $path .= '/';
+                                       if($path) echo  $path . 'nucleus/';
+                               ?>" />
+                       </td>
+               </tr><tr>
+                       <td>Media files <strong>URL</strong>:</td>
+                       <td><input name="MediaURL" size="60" value="<?php                                       if ($url) echo $url . 'media/';
+                               ?>" />
+                       </td>
+               </tr><tr>
+                       <td>Media directory <strong>path</strong>:</td>
+                       <td><input name="MediaPath" size="60" value="<?php                                      $path = str_replace("install.php",'',serverVar('SCRIPT_FILENAME'));
+                                       $path = str_replace("\\","/",$path);
+                                       // add slash at end if necessary
+                                       if (!endsWithSlash($path)) $path .= '/';
+                                       if ($path) echo $path . 'media/';
+                               ?>" />
+                       </td>
+               </tr><tr>
+                       <td>Extra skin files <strong>URL</strong>:</td>
+                       <td><input name="SkinsURL" size="60" value="<?php                                       if ($url) echo $url . 'skins/';
+                               ?>" />
+                               <br />(¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤¿¥¹¥­¥ó¤¬»ÈÍÑ)
+                       </td>
+               </tr><tr>
+                       <td>Extra skin files directory <strong>path</strong>:</td>
+                       <td><input name="SkinsPath" size="60" value="<?php                              $path = str_replace("install.php",'',serverVar('SCRIPT_FILENAME'));
+                               $path = str_replace("\\","/",$path);
+                               // add slash at end if necessary
+                               if (!endsWithSlash($path)) $path .= '/';
+                               if ($path) echo $path . 'skins/';
+                               ?>" />
+                               <br />(¥¤¥ó¥Ý¡¼¥È¤µ¤ì¤¿¥¹¥­¥ó¤Î¥Õ¥¡¥¤¥ëÎà¤òÃÖ¤¯¾ì½ê)
+                       </td>
+               </tr><tr>
+                       <td>Plugin files <strong>URL</strong>:</td>
+                       <td><input name="PluginURL" size="60" value="<?php                                      if ($url) echo $url . 'nucleus/plugins/';
+                               ?>" />
+                       </td>
+               </tr><tr>
+                       <td>Action <strong>URL</strong>:</td>
+                       <td><input name="ActionURL" size="60" value="<?php                                      if ($url) echo $url . 'action.php';
+                               ?>" />
+                               <br />(<tt>action.php</tt>¤Ø¤Îhttp://¤«¤é»Ï¤Þ¤ëURL)
+                       </td>
+               </tr></table>
+       </fieldset>
+
+       <p class="note">
+       <strong>ÉÕµ­:</strong> ÁêÂХѥ¹¤Ç¤Ï¤Ê¤¯<strong>ÀäÂХѥ¹¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤</strong>¡£Ä̾ÀäÂХѥ¹¤Ï<tt>/home/username/public_html/</tt>¤Î¤è¤¦¤Ê·Á¤ò¤È¤ê¤Þ¤¹¡£Unix¥·¥¹¥Æ¥à¡Ê¤Û¤È¤ó¤É¤Î¥µ¡¼¥Ð¡¼¤¬¤½¤¦¤Ç¤¹¡Ë¤Ë¤ª¤¤¤Æ¡¢¥Ñ¥¹¤Ï¥¹¥é¥Ã¥·¥å¤«¤é»Ï¤Þ¤ê¤Þ¤¹¡£¤â¤·¤³¤ì¤é¤Î¾ðÊóÆþÎϤËÌäÂ꤬À¸¤¸¤¿¤é¡¢¤¢¤Ê¤¿¤Î¥µ¡¼¥Ð´ÉÍý¼Ô¤Ë¤¿¤º¤Í¤ë¤Ù¤­¤Ç¤¹¡£
+       </p>
+
+       <h1>´ÉÍý¸¢¸Â¤ò¤â¤Ä¥æ¡¼¥¶¡¼</h1>
+
+       <p>°Ê²¼¤Ë¡¢¥µ¥¤¥È¤ÎºÇ½é¤Î¥æ¡¼¥¶¡¼¤òºîÀ®¤¹¤ë¤¿¤á¤Î¤¤¤¯¤Ä¤«¤Î¾ðÊó¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£</p>
+
+       <fieldset>
+               <legend>´ÉÍý¸¢¸Â¤ò»ý¤Ä¥æ¡¼¥¶¡¼</legend>
+               <table><tr>
+                       <td>ɽ¼¨¤µ¤ì¤ë̾Á°¡§</td>
+                       <td>
+                               <input name="User_name" value="" />
+                               <small>(µö²Ä¤µ¤ì¤ëʸ»ú¡§a-z ¤È 0-9¡¢ºÇ½é¤ÈºÇ¸å°Ê³°¤Î¥¹¥Ú¡¼¥¹)</small>
+                       </td>
+               </tr><tr>
+                       <td>ËÜ̾¡Ê¥Ï¥ó¥É¥ë̾¡Ë¡§</td>
+                       <td><input name="User_realname" value="" /></td>
+               </tr><tr>
+                       <td>¥Ñ¥¹¥ï¡¼¥É¡§</td>
+                       <td><input name="User_password" type="password" value="" /></td>
+               </tr><tr>
+                       <td>¥Ñ¥¹¥ï¡¼¥É¤Î³Îǧ¡§</td>
+                       <td><input name="User_password2" type="password" value="" /></td>
+               </tr><tr>
+                       <td>¥á¡¼¥ë¥¢¥É¥ì¥¹¡§</td>
+                       <td>
+                               <input name="User_email" value="" />
+                               <small>(ÍøÍѲÄǽ¤Ê¥á¡¼¥ë¥¢¥É¥ì¥¹¤òÆþ¤ì¤Æ¤¯¤À¤µ¤¤)</small>
+                       </td>
+               </tr></table>
+       </fieldset>
+
+       <h1>¥¦¥§¥Ö¥í¥°¤Î¥Ç¡¼¥¿</h1>
+
+       <p>°Ê²¼¤Ë¡¢¥Ç¥Õ¥©¥ë¥È¤Îweblog¤òºîÀ®¤¹¤ë¤¿¤á¤Ë¤¤¤¯¤Ä¤«¤Î¾ðÊó¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£¤³¤Îweblog¤Î̾Á°¤Ï¡¢¥µ¥¤¥È̾¤È¤·¤Æ¤âÍøÍѤµ¤ì¤Þ¤¹¡£</p>
+
+       <fieldset>
+               <legend>¥¦¥§¥Ö¥í¥°¤Î¥Ç¡¼¥¿</legend>
+               <table><tr>
+                       <td>Blog̾¡§</td>
+                       <td><input name="Blog_name" size="60" value="My Nucleus Weblog" /></td>
+               </tr><tr>
+                       <td>Blog¤Îû½Ì̾¡§</td>
+                       <td>
+                               <input name="Blog_shortname" value="myweblog" />
+                               <small>(µö²Ä¤µ¤ì¤ëʸ»ú¡§a-z ¤È 0-9¡¢¥¹¥Ú¡¼¥¹¤ÏÉÔ²Ä)</small>
+                       </td>
+               </tr></table>
+       </fieldset>
+
+       <h1>¥Ç¡¼¥¿¤ÎÁ÷¿®</h1>
+
+       <p>
+       ¾å¤Ë½ñ¤¤¤Æ¤­¤¿¥Ç¡¼¥¿¤¬Àµ¤·¤¤¤«³Î¤«¤á¤Æ¤¯¤À¤µ¤¤¡£¤è¤±¤ì¤Ð¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥Æ¡¼¥Ö¥ë¤ÈºÇ½é¤Î¥Ç¡¼¥¿¤òÀßÄꤹ¤ë¤¿¤á¤Ë²¼¤Î¥Ü¥¿¥ó¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£¾¯¤·»þ´Ö¤¬¤«¤«¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¤´¿ÉÊú¤ò¡£<b>¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤Î¤Ï°ì²ó¤À¤±¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£</b>
+       </p>
+
+       <p>
+               <input name="action" value="go" type="hidden" />
+               <input type="submit" value="Install Nucleus" onclick="return checkSubmit();" />
+       </p>
+
+       </form>
+
+       </body>
+       </html>
+
+
+       <?php   }
+
+       function tableName($unPrefixed)
+       {
+               global $mysql_usePrefix, $mysql_prefix;
+               if ($mysql_usePrefix == 1)
+                       return $mysql_prefix . $unPrefixed;
+               else
+                       return $unPrefixed;
+       }
+
+       function doInstall() {
+               global $mysql_usePrefix, $mysql_prefix;
+
+               // 0. put all POST-vars into vars
+               $mysql_host             = postVar('mySQL_host');
+               $mysql_user             = postVar('mySQL_user');
+               $mysql_password         = postVar('mySQL_password');
+               $mysql_database         = postVar('mySQL_database');
+               $mysql_create           = postVar('mySQL_create');
+               $mysql_usePrefix        = postVar('mySQL_usePrefix');
+               $mysql_prefix           = postVar('mySQL_tablePrefix');
+               $config_indexurl        = postVar('IndexURL');
+               $config_adminurl        = postVar('AdminURL');
+               $config_adminpath       = postVar('AdminPath');
+               $config_mediaurl        = postVar('MediaURL');
+               $config_skinsurl        = postVar('SkinsURL');
+               $config_pluginurl       = postVar('PluginURL');
+               $config_actionurl       = postVar('ActionURL');
+               $config_mediapath       = postVar('MediaPath');
+               $config_skinspath       = postVar('SkinsPath');
+               $user_name                      = postVar('User_name');
+               $user_realname          = postVar('User_realname');
+               $user_password          = postVar('User_password');
+               $user_password2         = postVar('User_password2');
+               $user_email             = postVar('User_email');
+               $blog_name                      = postVar('Blog_name');
+               $blog_shortname         = postVar('Blog_shortname');
+               $config_adminemail      = $user_email;
+               $config_sitename        = $blog_name;
+
+
+               $config_indexurl        = str_replace("\\","/",$config_indexurl);
+               $config_adminurl        = str_replace("\\","/",$config_adminurl);
+               $config_mediaurl        = str_replace("\\","/",$config_mediaurl);
+               $config_skinsurl        = str_replace("\\","/",$config_skinsurl);
+               $config_pluginurl       = str_replace("\\","/",$config_pluginurl);
+               $config_actionurl       = str_replace("\\","/",$config_actionurl);
+               $config_adminpath       = str_replace("\\","/",$config_adminpath);
+               $config_skinspath       = str_replace("\\","/",$config_skinspath);
+
+               // 1. check all the data
+               $errors = array();
+
+               if (!$mysql_database)
+                       array_push($errors,"mySQL database name missing");
+               if (($mysql_usePrefix == 1) && (strlen($mysql_prefix) == 0))
+                       array_push($errors,"mySQL prefix was selected, but prefix is empty");
+               if (($mysql_usePrefix == 1) && (!eregi('^[a-zA-Z0-9_]+$', $mysql_prefix)))
+                       array_push($errors,"mySQL prefix should only contain characters from the ranges A-Z, a-z, 0-9 or underscores");
+               if (!endsWithSlash($config_indexurl) || !endsWithSlash($config_adminurl)
+                                                    || !endsWithSlash($config_mediaurl)
+                                                    || !endsWithSlash($config_pluginurl)
+                                                    || !endsWithSlash($config_skinsurl)
+                                                               // TODO: add action.php check
+                   )
+                       array_push($errors,"One of the URLs does not end with a slash, or action url does not end with 'action.php'");
+               if (!endsWithSlash($config_adminpath))
+                       array_push($errors,"The path of the administration area does not end with a slash");
+               if (!endsWithSlash($config_mediapath))
+                       array_push($errors,"The media path does not end with a slash");
+               if (!endsWithSlash($config_skinspath))
+                       array_push($errors,"The skins path does not end with a slash");
+               if (!is_dir($config_adminpath))
+                       array_push($errors,"The path of the administration area does not exist on your server");
+               if (!_isValidMailAddress($user_email))
+                       array_push($errors,"Invalid e-mail address given for user");
+               if (!_isValidDisplayName($user_name))
+                       array_push($errors,"User name is not a valid display name (allowed chars: a-zA-Z0-9 and spaces)");
+               if (!$user_password || !$user_password2)
+                       array_push($errors, "User password is empty");
+               if ($user_password != $user_password2)
+                       array_push($errors, "User password do not match");
+               if (!_isValidShortName($blog_shortname))
+                       array_push($errors, "Invalid short name given for blog (allowed chars: a-z0-9, no spaces)");
+               if (sizeof($errors) > 0)
+                       showErrorMessages($errors);
+
+               // 2. try to log in to mySQL
+               $connection = @mysql_connect($mysql_host, $mysql_user, $mysql_password);
+               if ($connection == false)
+                       _doError("Could not connect to mySQL server: " . mysql_error());
+
+               // 3. try to create database (if needed)
+               if ($mysql_create == 1) {
+                       mysql_query("CREATE DATABASE " . $mysql_database) or _doError("Could not create database. Make sure you have the rights to do so. SQL error was: " . mysql_error());
+               }
+
+               // 4. try to select database
+               mysql_select_db($mysql_database) or _doError("Could not select database. Make sure it exists");
+
+               // 5. execute queries
+               $filename = "install.sql";
+               $fd = fopen ($filename, "r");
+               $queries = fread ($fd, filesize ($filename));
+               fclose ($fd);
+
+               $queries = split("(;\n|;\r)",$queries);
+
+               $aTableNames = array(
+                       'nucleus_actionlog',
+                       'nucleus_ban',
+                       'nucleus_blog',
+                       'nucleus_category',
+                       'nucleus_comment',
+                       'nucleus_config',
+                       'nucleus_item',
+                       'nucleus_karma',
+                       'nucleus_member',
+                       'nucleus_plugin',
+                       'nucleus_skin',
+                       'nucleus_template',
+                       'nucleus_team',
+                       'nucleus_activation',
+                       'nucleus_tickets'
+// these are unneeded (one of the replacements above takes care of them)
+//                     'nucleus_plugin_event',
+//                     'nucleus_plugin_option',
+//                     'nucleus_plugin_option_desc',
+//                     'nucleus_skin_desc',
+//                     'nucleus_template_desc',
+               );
+               $aTableNamesPrefixed = array(
+                       $mysql_prefix . 'nucleus_actionlog',
+                       $mysql_prefix . 'nucleus_ban',
+                       $mysql_prefix . 'nucleus_blog',
+                       $mysql_prefix . 'nucleus_category',
+                       $mysql_prefix . 'nucleus_comment',
+                       $mysql_prefix . 'nucleus_config',
+                       $mysql_prefix . 'nucleus_item',
+                       $mysql_prefix . 'nucleus_karma',
+                       $mysql_prefix . 'nucleus_member',
+                       $mysql_prefix . 'nucleus_plugin',
+                       $mysql_prefix . 'nucleus_skin',
+                       $mysql_prefix . 'nucleus_template',
+                       $mysql_prefix . 'nucleus_team',
+                       $mysql_prefix . 'nucleus_activation',
+                       $mysql_prefix . 'nucleus_tickets'
+// these are unneeded (one of the replacements above takes care of them)
+//                     $mysql_prefix . 'nucleus_plugin_event',
+//                     $mysql_prefix . 'nucleus_plugin_option',
+//                     $mysql_prefix . 'nucleus_plugin_option_desc',
+//                     $mysql_prefix . 'nucleus_skin_desc',
+//                     $mysql_prefix . 'nucleus_template_desc',
+               );
+
+               for ($idx = 0;$idx<sizeof($queries);$idx++) {
+                       $query = trim($queries[$idx]);
+                       // echo "QUERY = <small>" . htmlspecialchars($query) . "</small><p>";
+                       if ($query) {
+                               if ($mysql_usePrefix == 1)
+                                       $query = str_replace($aTableNames, $aTableNamesPrefixed, $query);
+                               mysql_query($query) or _doError("Error while executing query (<small>" . htmlspecialchars($query) . "</small>): " . mysql_error());
+                       }
+
+               }
+
+               // 6. update global settings
+               updateConfig('IndexURL',        $config_indexurl);
+               updateConfig('AdminURL',        $config_adminurl);
+               updateConfig('MediaURL',        $config_mediaurl);
+               updateConfig('SkinsURL',        $config_skinsurl);
+               updateConfig('PluginURL',       $config_pluginurl);
+               updateConfig('ActionURL',       $config_actionurl);
+               updateConfig('AdminEmail',      $config_adminemail);
+               updateConfig('SiteName',        $config_sitename);
+
+
+               // 7. update GOD member
+               $query =  'UPDATE ' . tableName('nucleus_member')
+                      . " SET mname='" . addslashes($user_name) . "',"
+                      . "     mrealname='". addslashes($user_realname) . "',"
+                      . "     mpassword='". md5(addslashes($user_password)) . "',"
+                      . "     murl='" . addslashes($config_indexurl) . "',"
+                      . "     memail='" . addslashes($user_email) . "',"
+                      . "     madmin=1,"
+                      . "     mcanlogin=1"
+                      . " WHERE mnumber=1";
+               mysql_query($query) or _doError("Error while setting member settings: " . mysql_error());
+
+               // 8. update weblog settings
+               $query =  'UPDATE ' . tableName('nucleus_blog')
+                      . " SET bname='" . addslashes($blog_name) . "',"
+                      . "     bshortname='". addslashes($blog_shortname) . "',"
+                      . "     burl='" . addslashes($config_indexurl) . "'"
+                      . " WHERE bnumber=1";
+               mysql_query($query) or _doError("Error while setting weblog settings: " . mysql_error());
+
+               // 9. update item date
+               $query =  'UPDATE ' . tableName('nucleus_item')
+                       . " SET itime='". date("Y-m-d H:i:s",time()) ."'"
+                       . " WHERE inumber=1";
+               mysql_query($query) or _doError("Error with query: " . mysql_error());
+
+               global $aConfPlugsToInstall, $aConfSkinsToImport;
+               $aSkinErrors = array();
+               $aPlugErrors = array();
+               if ((count($aConfPlugsToInstall) > 0) || (count($aConfSkinsToImport) > 0)) {
+                       // 10. set global variables
+                       global $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DATABASE, $MYSQL_PREFIX;
+                       $MYSQL_HOST = $mysql_host;
+                       $MYSQL_USER = $mysql_user;
+                       $MYSQL_PASSWORD = $mysql_password;
+                       $MYSQL_DATABASE = $mysql_database;
+                       $MYSQL_PREFIX = ($mysql_usePrefix == 1)?$mysql_prefix:'';
+                       global $DIR_NUCLEUS, $DIR_MEDIA, $DIR_SKINS, $DIR_PLUGINS, $DIR_LANG, $DIR_LIBS;
+                       $DIR_NUCLEUS = $config_adminpath;
+                       $DIR_MEDIA = $config_mediapath;
+                       $DIR_SKINS = $config_skinspath;
+                       $DIR_PLUGINS = $DIR_NUCLEUS . 'plugins/';
+                       $DIR_LANG = $DIR_NUCLEUS . 'language/';
+                       $DIR_LIBS = $DIR_NUCLEUS . 'libs/';
+
+                       // close database connection (needs to be closed if we want to include globalfunctions.php)
+                       mysql_close();
+
+                       $manager = '';
+                       include_once($DIR_LIBS . 'globalfunctions.php');
+
+                       // 11. install custom skins
+                       $aSkinErrors = installCustomSkins($manager);
+
+                       // 12. install custom plugins
+                       $aPlugErrors = installCustomPlugs($manager);
+
+               }
+
+
+               // 12. Write config file ourselves (if possible)
+               $bConfigWritten = 0;
+               if (@file_exists('config.php') && is_writable('config.php') && $fp = @fopen('config.php', 'w')) {
+                       $config_data = "<" . "?php \n";
+                       $config_data .= "\n";
+                       $config_data .= "       // mySQL connection information\n";
+                       $config_data .= "       \$MYSQL_HOST = '" . $mysql_host . "';\n";
+                       $config_data .= "       \$MYSQL_USER = '" . $mysql_user . "';\n";
+                       $config_data .= "       \$MYSQL_PASSWORD = '" . $mysql_password . "';\n";
+                       $config_data .= "       \$MYSQL_DATABASE = '" . $mysql_database . "';\n";
+                       $config_data .= "       \$MYSQL_PREFIX = '" . (($mysql_usePrefix == 1)?$mysql_prefix:'') . "';\n";
+                       $config_data .= "\n";
+                       $config_data .= "       // main nucleus directory\n";
+                       $config_data .= "       \$DIR_NUCLEUS = '" . $config_adminpath . "';\n";
+                       $config_data .= "\n";
+                       $config_data .= "       // path to media dir\n";
+                       $config_data .= "       \$DIR_MEDIA = '" . $config_mediapath . "';\n";
+                       $config_data .= "\n";
+                       $config_data .= "       // extra skin files for imported skins\n";
+                       $config_data .= "       \$DIR_SKINS = '" . $config_skinspath . "';\n";
+                       $config_data .= "\n";
+                       $config_data .= "       // these dirs are normally sub dirs of the nucleus dir, but \n";
+                       $config_data .= "       // you can redefine them if you wish\n";
+                       $config_data .= "       \$DIR_PLUGINS = \$DIR_NUCLEUS . 'plugins/';\n";
+                       $config_data .= "       \$DIR_LANG = \$DIR_NUCLEUS . 'language/';\n";
+                       $config_data .= "       \$DIR_LIBS = \$DIR_NUCLEUS . 'libs/';\n";
+                       $config_data .= "\n";
+                       $config_data .= "       // include libs\n";
+                       $config_data .= "       include(\$DIR_LIBS.'globalfunctions.php');\n";
+                       $config_data .= "       if (!extension_loaded('mbstring')) {\n";
+                       $config_data .= "       include(\$DIR_LIBS.'mb_emulator/mb-emulator.php');\n";
+                       $config_data .= "       }\n";
+                       $config_data .= "?" . ">";
+
+                       $result = @fputs($fp, $config_data, strlen($config_data));
+                       fclose($fp);
+
+                       if ($result)
+                               $bConfigWritten = 1;
+               }
+
+               ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+               <html xmlns="http://www.w3.org/1999/xhtml">
+               <head>
+                       <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />
+                       <title>Nucleus¤Î¥¤¥ó¥¹¥È¡¼¥ë</title>
+                       <style>
+                               @import url('nucleus/styles/manual.css');
+                       </style>
+               </head>
+               <body>
+               <div style='text-align:center'><img src='./nucleus/styles/logo.gif' /></div> <!-- Nucleus logo -->
+<?php
+       $aAllErrors = array_merge($aSkinErrors, $aPlugErrors);
+       if (count($aAllErrors) > 0) {
+               echo '<h1>Skin/Plugin Install errors</h1>';
+               echo '<ul><li>'.implode('</li><li>', $aAllErrors).'</li></ul>';
+       }
+
+       if (!$bConfigWritten) { ?>
+                       <h1>¥¤¥ó¥¹¥È¡¼¥ë¤Ï¤Û¤Ü´°Î»¤·¤Þ¤·¤¿¡ª</h1>
+                       <p>
+                       ¥Ç¡¼¥¿¥Ù¡¼¥¹¥Æ¡¼¥Ö¥ë¤Î½é´üÃÍÆþÎϤ¬À®¸ù¤·¤Þ¤·¤¿¡£¸å¤Ï<i>config.php</i>¤ò½ñ¤­´¹¤¨¤ë¤À¤±¤Ç¤¹¡£°Ê²¼¤Ë½ñ¤­´¹¤¨¤ë¤Ù¤­ÆâÍƤòɽ¼¨¤·¤Þ¤¹¡Êmysql¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï¥Þ¥¹¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤³¤Ï¼ÂºÝ¤Î¤â¤Î¤Ë½ñ¤­´¹¤¨¤Æ¤¯¤À¤µ¤¤¡Ë
+                       </p>
+
+                       <pre>
+&lt;?php
+       // mySQL connection information
+       $MYSQL_HOST = '<b><?php echo $mysql_host?></b>';
+       $MYSQL_USER = '<b><?php echo $mysql_user?></b>';
+       $MYSQL_PASSWORD = '<i><b>xxxxxxxxxxx</b></i>';
+       $MYSQL_DATABASE = '<b><?php echo $mysql_database?></b>';
+       $MYSQL_PREFIX = '<b><?php echo ($mysql_usePrefix == 1)?$mysql_prefix:''?></b>';
+
+       // main nucleus directory
+       $DIR_NUCLEUS = '<b><?php echo $config_adminpath?></b>';
+
+       // path to media dir
+       $DIR_MEDIA = '<b><?php echo $config_mediapath?></b>';
+
+       // extra skin files for imported skins
+       $DIR_SKINS = '<b><?php echo $config_skinspath?></b>';
+
+       // these dirs are normally sub dirs of the nucleus dir, but
+       // you can redefine them if you wish
+       $DIR_PLUGINS = $DIR_NUCLEUS . 'plugins/';
+       $DIR_LANG = $DIR_NUCLEUS . 'language/';
+       $DIR_LIBS = $DIR_NUCLEUS . 'libs/';
+
+       // include libs
+       include($DIR_LIBS.'globalfunctions.php');
+       if (!extension_loaded('mbstring')) {
+       include($DIR_LIBS.'mb_emulator/mb-emulator.php');
+       }
+
+?&gt;
+                       </pre>
+
+                       <p>¤¢¤Ê¤¿¤Î¥³¥ó¥Ô¥å¡¼¥¿¾å¤Î¥Õ¥¡¥¤¥ë¤ò½ñ¤­´¹¤¨¤¿¤é¡¢FTP¤ò»È¤Ã¤Æ¥¦¥§¥Ö¥µ¡¼¥Ð¤Ë¥¢¥Ã¥×¥í¡¼¥É¤·¤Æ¤¯¤À¤µ¤¤¡£ASCII¥â¡¼¥É¤ÇÁ÷¿®¤·¤Æ¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤·¤Þ¤¹¡£
+                       </p>
+
+                       <div class="note">
+                       <b>ÉÕµ­:</b> <i>config.php</i>¤ÎºÇ½é¤ä½ª¤ï¤ê¤Ë¥¹¥Ú¡¼¥¹¤ò¶õ¤±¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤·¤ç¤¦¡£¼Â¹Ô»þ¤Ë¥¨¥é¡¼¤ò°ú¤­µ¯¤³¤¹¸¶°ø¤È¤Ê¤ê¤Þ¤¹¡£
+                       <br />
+                       ¤·¤¿¤¬¤Ã¤Æ¡¢config.php¤ÎºÇ½é¤Îʸ»ú¤Ï "&lt;"¤ÇºÇ¸å¤Îʸ»ú¤Ï"&gt;"¤È¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
+                       </div>
+
+<?php } else { ?>
+                       <h1>¥¤¥ó¥¹¥È¡¼¥ë¤Ï´°Î»¤·¤Þ¤·¤¿¡ª</h1>
+
+                       <p>Nucleus¤Ï¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¡¢<code>config.php</code>¤Ï¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤Þ¤·¤¿¡£</p>
+
+                       <p>¥»¥­¥å¥ê¥Æ¥£¤Î¤¿¤á<code>config.php</code>¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò444¤ËÌ᤹¤³¤È¤ò˺¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤(<a href="nucleus/documentation/tips.html#filepermissions">¥Ñ¡¼¥ß¥Ã¥·¥ç¥óÊѹ¹¤Î´Ê°×¥¬¥¤¥É</a>)¡£</p>
+<?php } ?>
+                       <h1>¥¤¥ó¥¹¥È¡¼¥ë¥Õ¥¡¥¤¥ë¤Îºï½ü</h1>
+
+                       <p>¥¦¥§¥Ö¥µ¡¼¥Ð¤«¤é¼¡¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Æ¤¯¤À¤µ¤¤¡§</p>
+
+                       <ul>
+                               <li><b>install.sql</b>¡§¥Æ¡¼¥Ö¥ë¤Î¹½Â¤¤òÆâÊñ¤¹¤ë¥Õ¥¡¥¤¥ë</li>
+                               <li><b>install.php</b>¡§¤³¤Î¥Õ¥¡¥¤¥ë</li>
+                       </ul>
+
+                       <p>¤â¤·¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢´ÉÍýÎΰè¤ò³«¤¯¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¡£</p>
+
+                       <h1>¥¦¥§¥Ö¥µ¥¤¥È¤Î³Îǧ</h1>
+                       <p>
+                       ¥¦¥§¥Ö¥µ¥¤¥È¤ò»È¤¦½àÈ÷¤¬À°¤¤¤Þ¤·¤¿¡£
+                       <ul>
+                               <li><a href="<?php echo $config_adminurl?>">´ÉÍýÎΰè¤Ë¥í¥°¥¤¥ó¤·¤Æ¥µ¥¤¥È¤ÎÀßÄê¤ò¹Ô¤¦</a></li>
+                               <li><a href="<?php echo $config_indexurl?>">¤¹¤°¤Ë¥µ¥¤¥È¤Ø¹Ô¤Ã¤Æ¤ß¤ë</a></li>
+                       </ul>
+                       </p>
+
+               </body>
+               </html>
+               <?php
+       }
+
+
+       function installCustomPlugs(&$manager) {
+               global $aConfPlugsToInstall, $DIR_LIBS;
+
+               $aErrors = array();
+
+               if (count($aConfPlugsToInstall) == 0)
+                       return $aErrors;
+
+               $numCurrent = mysql_num_rows(sql_query('SELECT * FROM '.sql_table('plugin')));
+
+               foreach ($aConfPlugsToInstall as $plugName) {
+                       // do this before calling getPlugin (in case the plugin id is used there)
+                       $query = 'INSERT INTO '.sql_table('plugin').' (porder, pfile) VALUES ('.(++$numCurrent).',"'.addslashes($plugName).'")';
+                       sql_query($query);
+
+                       // get and install the plugin
+                       $plugin =& $manager->getPlugin($plugName);
+                       if (!$plugin) {
+                               sql_query('DELETE FROM ' . sql_table('plugin') . ' WHERE pfile=\''. addslashes($plugName).'\'');
+                               $numCurrent--;
+                               array_push($aErrors, 'Unable to install plugin ' . $plugName);
+                               continue;
+                       }
+                       $plugin->install();
+               }
+
+               // SYNC PLUGIN EVENT LIST
+               sql_query('DELETE FROM '.sql_table('plugin_event'));
+               // loop over all installed plugins
+               $res = sql_query('SELECT pid, pfile FROM '.sql_table('plugin'));
+               while($o = mysql_fetch_object($res)) {
+                       $pid = $o->pid;
+                       $plug =& $manager->getPlugin($o->pfile);
+                       if ($plug)
+                       {
+                               $eventList = $plug->getEventList();
+                               foreach ($eventList as $eventName) 
+                                       sql_query('INSERT INTO '.sql_table('plugin_event').' (pid, event) VALUES ('.$pid.', \''.$eventName.'\')');
+                       }
+               }
+
+               return $aErrors;
+       }
+
+       function installCustomSkins(&$manager) {
+               global $aConfSkinsToImport, $DIR_LIBS, $DIR_SKINS;
+
+               $aErrors = array();
+
+               if (count($aConfSkinsToImport) == 0)
+                       return $aErrors;
+
+               // load skinie class
+               include_once($DIR_LIBS . 'skinie.php');
+
+               $importer = new SKINIMPORT();
+
+               foreach ($aConfSkinsToImport as $skinName) {
+                       $importer->reset();
+
+                       $skinFile = $DIR_SKINS . $skinName . '/skinbackup.xml';
+                       if (!@file_exists($skinFile)) {
+                               array_push($aErrors, 'Unable to import ' . $skinFile . ' : file does not exist');
+                               continue;
+                       }
+                       $error = $importer->readFile($skinFile);
+                       if ($error) {
+                               array_push($aErrors, 'Unable to import ' . $skinName . ' : ' . $error);
+                               continue;
+                       }
+                       $error = $importer->writeToDatabase(1);
+                       if ($error) {
+                               array_push($aErrors, 'Unable to import ' . $skinName . ' : ' . $error);
+                               continue;
+                       }
+               }
+
+               return $aErrors;
+       }
+
+       // give an error if one or more nucleus are not accessible
+       function doCheckFiles() {
+               $missingfiles = array();
+
+               if (!is_readable('install.sql'))
+                       array_push($missingfiles, "File <b>install.sql</b> is missing or not readable");
+               if (!is_readable('index.php'))
+                       array_push($missingfiles, "File <b>index.php</b> is missing or not readable");
+               if (!is_readable('action.php'))
+                       array_push($missingfiles, "File <b>action.php</b> is missing or not readable");
+               if (!is_readable('nucleus/index.php'))
+                       array_push($missingfiles, "File <b>nucleus/index.php</b> is missing or not readable");
+               if (!is_readable('nucleus/libs/globalfunctions.php'))
+                       array_push($missingfiles, "File <b>nucleus/libs/globalfunctions.php</b> is missing or not readable");
+               if (!is_readable('nucleus/libs/ADMIN.php'))
+                       array_push($missingfiles, "File <b>nucleus/libs/ADMIN.php</b> is missing or not readable");
+               if (!is_readable('nucleus/libs/BLOG.php'))
+                       array_push($missingfiles, "File <b>nucleus/libs/BLOG.php</b> is missing or not readable");
+               if (!is_readable('nucleus/libs/COMMENT.php'))
+                       array_push($missingfiles, "File <b>nucleus/libs/COMMENT.php</b> is missing or not readable");
+               if (!is_readable('nucleus/libs/COMMENTS.php'))
+                       array_push($missingfiles, "File <b>nucleus/libs/COMMENTS.php</b> is missing or not readable");
+               if (!is_readable('nucleus/libs/ITEM.php'))
+                       array_push($missingfiles, "File <b>nucleus/libs/ITEM.php</b> is missing or not readable");
+               if (!is_readable('nucleus/libs/MEMBER.php'))
+                       array_push($missingfiles, "File <b>nucleus/libs/MEMBER.php</b> is missing or not readable");
+               if (!is_readable('nucleus/libs/SKIN.php'))
+                       array_push($missingfiles, "File <b>nucleus/libs/SKIN.php</b> is missing or not readable");
+               if (!is_readable('nucleus/libs/TEMPLATE.php'))
+                       array_push($missingfiles, "File <b>nucleus/libs/TEMPLATE.php</b> is missing or not readable");
+               if (!is_readable('nucleus/libs/MEDIA.php'))
+                       array_push($missingfiles, "File <b>nucleus/libs/MEDIA.php</b> is missing or not readable");
+               if (!is_readable('nucleus/libs/ACTIONLOG.php'))
+                       array_push($missingfiles, "File <b>nucleus/libs/ACTIONLOG.php</b> is missing or not readable");
+               if (!is_readable('nucleus/media.php'))
+                       array_push($missingfiles, "File <b>nucleus/media.php</b> is missing or not readable");
+
+
+               if (sizeof($missingfiles) > 0)
+                       showErrorMessages($missingfiles);
+
+
+       }
+
+       function updateConfig($name, $val) {
+               $name = addslashes($name);
+               $val = trim(addslashes($val));
+
+               $query = 'UPDATE ' . tableName('nucleus_config')
+                      . " SET value='$val'"
+                      . " WHERE name='$name'";
+
+               mysql_query($query) or _doError("Query error while trying to update config: " . mysql_error());
+               return mysql_insert_id();
+       }
+
+       function endsWithSlash($s) {
+               return (strrpos($s,'/') == strlen($s) - 1);
+       }
+
+       /**
+         * Checks if email address is valid
+         */
+       function _isValidMailAddress($address) {
+               if (preg_match("/^[a-zA-Z0-9\._-]+@+[A-Za-z0-9\._-]+\.+[A-Za-z]{2,4}$/", $address))
+                       return 1;
+               else
+                       return 0;
+       }
+
+       // returns true if the given string is a valid shortname
+       // (to check short blog names and nicknames)
+       // logic: starts and ends with a non space, can contain spaces in between
+       //        min 2 chars
+       function _isValidShortName($name) {
+               if (eregi("^[a-z0-9]+$", $name))
+                       return 1;
+               else
+                       return 0;
+       }
+
+
+
+       // returns true if the given string is a valid display name
+       // (to check nicknames)
+       function _isValidDisplayName($name) {
+               if (eregi("^[a-z0-9]+[a-z0-9 ]*[a-z0-9]+$", $name))
+                       return 1;
+               else
+                       return 0;
+       }
+
+       function _doError($msg) {
+               ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+               <html xmlns="http://www.w3.org/1999/xhtml">
+               <head>
+                       <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />
+                       <title>Nucleus Install</title>
+                       <style>
+                               @import url('nucleus/styles/manual.css');
+                       </style>
+               </head>
+               <body>
+                 <div style='text-align:center'><img src='./nucleus/styles/logo.gif' /></div> <!-- Nucleus logo -->
+                       <h1>Error!</h1>
+                       <p>
+                       Error message was: "<?php echo $msg?>";
+                       </p>
+
+                       <p>
+                       <a href="install.php" onclick="history.back();return false;">Go Back</a>
+                       </p>
+               </body>
+               </html>
+               <?php           exit;
+       }
+
+       function showErrorMessages($errors) {
+               ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+               <html xmlns="http://www.w3.org/1999/xhtml">
+               <head>
+                       <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />
+                       <title>Nucleus Install</title>
+                       <style>
+                               @import url('nucleus/styles/manual.css');
+                       </style>
+               </head>
+               <body>
+                 <div style='text-align:center'><img src='./nucleus/styles/logo.gif' /></div> <!-- Nucleus logo -->
+                       <h1>Errors!</h1>
+                       <p>
+                       Errors were found:
+                       </p>
+
+                       <ul>
+                       <?php   while($msg = array_shift($errors))
+                                       echo "<li>$msg</li>";
+                       ?>
+                       </ul>
+
+                       <p>
+                       <a href="install.php" onclick="history.back();return false;">Go Back</a>
+                       </p>
+               </body>
+               </html>
+               <?php           exit;
+       }
+
+
+       /* for the non-php systems that decide to show the contents:
+          ?></div><?php        */
+
+?>
\ No newline at end of file
diff --git a/euc/install.sql b/euc/install.sql
new file mode 100755 (executable)
index 0000000..0fe4bcf
--- /dev/null
@@ -0,0 +1,307 @@
+CREATE TABLE `nucleus_actionlog` (
+  `timestamp` datetime NOT NULL default '0000-00-00 00:00:00',
+  `message` varchar(255) NOT NULL default ''
+) TYPE=MyISAM;
+
+CREATE TABLE `nucleus_ban` (
+  `iprange` varchar(15) NOT NULL default '',
+  `reason` varchar(255) NOT NULL default '',
+  `blogid` int(11) NOT NULL default '0'
+) TYPE=MyISAM;
+
+CREATE TABLE `nucleus_blog` (
+  `bnumber` int(11) NOT NULL auto_increment,
+  `bname` varchar(60) NOT NULL default '',
+  `bshortname` varchar(15) NOT NULL default '',
+  `bdesc` varchar(200) default NULL,
+  `bcomments` tinyint(2) NOT NULL default '1',
+  `bmaxcomments` int(11) NOT NULL default '0',
+  `btimeoffset` decimal(3,1) NOT NULL default '0.0',
+  `bnotify` varchar(60) default NULL,
+  `burl` varchar(100) default NULL,
+  `bupdate` varchar(60) default NULL,
+  `bdefskin` int(11) NOT NULL default '1',
+  `bpublic` tinyint(2) NOT NULL default '1',
+  `bsendping` tinyint(2) NOT NULL default '0',
+  `bconvertbreaks` tinyint(2) NOT NULL default '1',
+  `bdefcat` int(11) default NULL,
+  `bnotifytype` int(11) NOT NULL default '15',
+  `ballowpast` tinyint(2) NOT NULL default '0',
+  `bincludesearch` tinyint(2) NOT NULL default '0',
+  PRIMARY KEY  (`bnumber`),
+  UNIQUE KEY `bnumber` (`bnumber`),
+  UNIQUE KEY `bshortname` (`bshortname`)
+) TYPE=MyISAM;
+
+INSERT INTO `nucleus_blog` VALUES (1, 'My Nucleus Weblog', 'myweblog', '', 1, 0, 0.0, '', 'http://localhost:8080/nucleus/', '', 1, 1, 0, 1, 1, 1, 1, 0);
+
+CREATE TABLE `nucleus_category` (
+  `catid` int(11) NOT NULL auto_increment,
+  `cblog` int(11) NOT NULL default '0',
+  `cname` varchar(40) default NULL,
+  `cdesc` varchar(200) default NULL,
+  PRIMARY KEY  (`catid`)
+) TYPE=MyISAM;
+
+INSERT INTO `nucleus_category` VALUES (1, 1, 'General', 'Items that do not fit in other categories');
+
+CREATE TABLE `nucleus_comment` (
+  `cnumber` int(11) NOT NULL auto_increment,
+  `cbody` text NOT NULL,
+  `cuser` varchar(40) default NULL,
+  `cmail` varchar(100) default NULL,
+  `cmember` int(11) default NULL,
+  `citem` int(11) NOT NULL default '0',
+  `ctime` datetime NOT NULL default '0000-00-00 00:00:00',
+  `chost` varchar(60) default NULL,
+  `cip` varchar(15) NOT NULL default '',
+  `cblog` int(11) NOT NULL default '0',
+  PRIMARY KEY  (`cnumber`),
+  UNIQUE KEY `cnumber` (`cnumber`),
+  KEY `citem` (`citem`),
+  FULLTEXT KEY `cbody` (`cbody`)
+) TYPE=MyISAM;
+
+CREATE TABLE `nucleus_config` (
+  `name` varchar(20) NOT NULL default '',
+  `value` varchar(128) default NULL,
+  PRIMARY KEY  (`name`)
+) TYPE=MyISAM;
+
+INSERT INTO `nucleus_config` VALUES ('DefaultBlog', '1');
+INSERT INTO `nucleus_config` VALUES ('AdminEmail', 'example@example.org');
+INSERT INTO `nucleus_config` VALUES ('IndexURL', 'http://localhost:8080/nucleus/');
+INSERT INTO `nucleus_config` VALUES ('Language', 'japanese-euc');
+INSERT INTO `nucleus_config` VALUES ('SessionCookie', '');
+INSERT INTO `nucleus_config` VALUES ('AllowMemberCreate', '');
+INSERT INTO `nucleus_config` VALUES ('AllowMemberMail', '1');
+INSERT INTO `nucleus_config` VALUES ('SiteName', 'My Nucleus Weblog');
+INSERT INTO `nucleus_config` VALUES ('AdminURL', 'http://localhost:8080/nucleus/nucleus/');
+INSERT INTO `nucleus_config` VALUES ('NewMemberCanLogon', '1');
+INSERT INTO `nucleus_config` VALUES ('DisableSite', '');
+INSERT INTO `nucleus_config` VALUES ('DisableSiteURL', 'http://www.this-page-intentionally-left-blank.org/');
+INSERT INTO `nucleus_config` VALUES ('LastVisit', '');
+INSERT INTO `nucleus_config` VALUES ('MediaURL', 'http://localhost:8080/nucleus/media/');
+INSERT INTO `nucleus_config` VALUES ('AllowedTypes', 'jpg,jpeg,gif,mpg,mpeg,avi,mov,mp3,swf,png');
+INSERT INTO `nucleus_config` VALUES ('AllowLoginEdit', '');
+INSERT INTO `nucleus_config` VALUES ('AllowUpload', '1');
+INSERT INTO `nucleus_config` VALUES ('DisableJsTools', '2');
+INSERT INTO `nucleus_config` VALUES ('CookiePath', '/');
+INSERT INTO `nucleus_config` VALUES ('CookieDomain', '');
+INSERT INTO `nucleus_config` VALUES ('CookieSecure', '');
+INSERT INTO `nucleus_config` VALUES ('CookiePrefix', '');
+INSERT INTO `nucleus_config` VALUES ('MediaPrefix', '1');
+INSERT INTO `nucleus_config` VALUES ('MaxUploadSize', '1048576');
+INSERT INTO `nucleus_config` VALUES ('NonmemberMail', '');
+INSERT INTO `nucleus_config` VALUES ('PluginURL', 'http://localhost:8080/plugins/');
+INSERT INTO `nucleus_config` VALUES ('ProtectMemNames', '1');
+INSERT INTO `nucleus_config` VALUES ('BaseSkin', '1');
+INSERT INTO `nucleus_config` VALUES ('SkinsURL', 'http://localhost:8080/nucleus/skins/');
+INSERT INTO `nucleus_config` VALUES ('ActionURL', 'http://localhost:8080/nucleus/action.php');
+INSERT INTO `nucleus_config` VALUES ('URLMode', 'normal');
+INSERT INTO `nucleus_config` VALUES ('DatabaseVersion', '310');
+
+CREATE TABLE `nucleus_item` (
+  `inumber` int(11) NOT NULL auto_increment,
+  `ititle` varchar(160) default NULL,
+  `ibody` text NOT NULL,
+  `imore` text,
+  `iblog` int(11) NOT NULL default '0',
+  `iauthor` int(11) NOT NULL default '0',
+  `itime` datetime NOT NULL default '0000-00-00 00:00:00',
+  `iclosed` tinyint(2) NOT NULL default '0',
+  `idraft` tinyint(2) NOT NULL default '0',
+  `ikarmapos` int(11) NOT NULL default '0',
+  `icat` int(11) default NULL,
+  `ikarmaneg` int(11) NOT NULL default '0',
+  PRIMARY KEY  (`inumber`),
+  UNIQUE KEY `inumber` (`inumber`),
+  KEY `itime` (`itime`),
+  FULLTEXT KEY `ibody` (`ibody`,`ititle`,`imore`)
+) TYPE=MyISAM PACK_KEYS=0;
+
+INSERT INTO `nucleus_item` VALUES (1, 'Nucleus ¥Ð¡¼¥¸¥ç¥ó3.1¤Ø¤è¤¦¤³¤½', '¥¦¥§¥Ö¥Ú¡¼¥¸¤ÎºîÀ®¤òÊä½õ¤¹¤ëÀѤßÌÚ¤¬¤³¤³¤Ë¤¢¤ê¤Þ¤¹¡£¤½¤ì¤Ï¿´Ìö¤ëblog¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤·¡¢´Ñ¤ë¤â¤Î¤òϤޤ»¤ë²È²¤Î¥Ú¡¼¥¸¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤·¡¢¼Â¤ê¿¤­¼ñÌ£¤Î¥µ¥¤¥È¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤¢¤ë¤¤¤Ï¸½ºß¤Î¤¢¤Ê¤¿¤Ë¤ÏÁÛÁü¤¬¤Ä¤«¤Ê¤¤¤â¤Î¤Ë¤Ê¤ë¤³¤È¤À¤Ã¤Æ¤¢¤ë¤Ç¤·¤ç¤¦¡£<br />\r\n<br />\r\nÍÑÅÓ¤¬»×¤¤¤Ä¤­¤Þ¤»¤ó¤Ç¤·¤¿¤«¡©¡¡¤½¤ì¤Ê¤é¤³¤³¤ØÍè¤ÆÀµ²ò¤Ç¤¹¡¢¤Ê¤¼¤Ê¤é¤¢¤Ê¤¿Æ±Íͻ䤿¤Á¤Ë¤â¤ï¤«¤é¤Ê¤¤¤Î¤Ç¤¹¤«¤é¡£', '<b>Read Me</b><br />\r\n<br />\r\n¤³¤ì¤Ï¥µ¥¤¥È¤Ë¤ª¤±¤ëºÇ½é¤Î¥¨¥ó¥È¥ê¡¼¤Ç¤¹¡£¥¹¥¿¡¼¥È¤òÀÚ¤ê¤ä¤¹¤¤¤è¤¦¤Ë¡¢¥ê¥ó¥¯¤È¾ðÊó¤òÆþ¤ì¤Æ¤ª¤­¤Þ¤·¤¿¡£<br />\r\n<br />\r\n¤³¤Îµ­»ö¤òºï½ü¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤¬¡¢¤É¤Á¤é¤Ë¤»¤èµ­»ö¤òÄɲ䷤Ƥ¤¤¯¤³¤È¤Ë¤è¤Ã¤Æ¤ä¤¬¤Æ¥á¥¤¥ó¥Ú¡¼¥¸¤«¤é¤Ï¸«¤¨¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£Nucleus¤ò°·¤¦¤¦¤Á¤ËÀ¸¤¸¤¿¥á¥â¤ò¥³¥á¥ó¥È¤È¤·¤ÆÄɲä·¡¢¾­Í襢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤³¤Î¥Ú¡¼¥¸¤ò¥Ö¥Ã¥¯¥Þ¡¼¥¯¤·¤Æ¤ª¤¯¤Î¤â¼ê¤Ç¤¹¡£<br />\r\n<br />\r\n<b>¥ê¥ó¥¯</b><br />\r\n<br />\r\nNucleus CMS¤Î<a href="http://nucleuscms.org">ËܲÈ</a>¤È<a href="http://japan.nucleuscms.org">ÆüËܸì¸ø¼°</a>¥Ú¡¼¥¸¡£<br />\r\n<br />\r\nNucleus CMS¤ÎSourceForge<a href="http://sourceforge.net/projects/nucleuscms/">¥×¥í¥¸¥§¥¯¥È</a>¥Ú¡¼¥¸¡£<br />\r\n<br />\r\nNucleus CMS¤Î¥×¥é¥°¥¤¥ó<a href="http://wakka.xiffy.nl/Plugin/">ÁÒ¸Ë</a>¤È<a href="http://japan.nucleuscms.org/wakka/CategorizedPlugin">ÆüËܸì¤Î¥ê¥¹¥È</a>¥Ú¡¼¥¸¡£<br />\r\n<br />\r\n<b>¥É¥­¥å¥á¥ó¥È</b><br />\r\n<br />\r\nNucleus¤Î<a href="http://japan.nucleuscms.org/faq.php">FAQ¡Ê¤è¤¯¤¢¤ë¼ÁÌ佸¡Ë</a>¡Ê<a href="http://nucleuscms.org/faq.php">¸¶Ê¸</a>¡Ë¥Ú¡¼¥¸¡£<br />\r\n<br />\r\n¥¤¥ó¥¹¥È¡¼¥ëÊýË¡Åù¤Ï<a href="./nucleus/documentation/">¥æ¡¼¥¶¡¼¸þ¤±</a>¤È<a href="./nucleus/documentation/devdocs/">³«È¯¼Ô¸þ¤±</a>ʸ½ñ¤¬¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£<br />\r\n<br />\r\n¥Ý¥Ã¥×¥¢¥Ã¥×<a href="./nucleus/documentation/help.html">¥Ø¥ë¥×</a>¤¬´ÉÍý¥¨¥ê¥¢¤Î¤¤¤¿¤ë¤È¤³¤í¤Ë¤¢¤ê¡¢¥µ¥¤¥È¤Î¥«¥¹¥¿¥Þ¥¤¥º¤ä¥Ç¥¶¥¤¥ó¤ò¼ê½õ¤±¤·¤Æ¤¯¤ì¤ë¤³¤È¤Ç¤·¤ç¤¦¡£<br />\r\n<br />\r\n°ìÅÙÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¥É¥­¥å¥á¥ó¥È¤ËÌܤòÄ̤·¤¿¤é¡¢<a href="http://wakka.xiffy.nl/Nucleus">Wiki</a>¡Ê<a href="http://japan.nucleuscms.org/wakka/Nucleus">ÆüËÜÈÇ</a>¡Ë¤òˬ¤ì¤Æ¤¯¤À¤µ¤¤¡£¥æ¡¼¥¶¡¼¤Î½ñ¤¤¤¿¥Ï¥¦¥Ä¡¼¤ä¾®µ»¤¬·ÇºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£<br />\r\n<br />\r\n<b>¥µ¥Ý¡¼¥È</b><br />\r\n<br />\r\n<a href="http://forum.nucleuscms.org/groupcp.php?g=3">beheerders¡Ê³«È¯¿Ø¡©¡Ë</a>¤È<a href="http://nucleus.fel-is.info/bb/">¥µ¥Ý¡¼¥È¥Õ¥©¡¼¥é¥à</a>¡Ê<a href="http://forum.nucleuscms.org/">ËܲÈ</a>¡Ë¤Ç³èÆ°¤¹¤ë¥Ü¥é¥ó¥Æ¥£¥¢¤Ë´¶¼Õ¤·¤Þ¤¹¡£<br />\r\n<br />\r\n- <a href="http://edmondhui.homeip.net/blog/">admun</a> - Ottawa, ON, Canada             <br />\r\n- <a href="http://www.tamizhan.com/">anand</a> - Bangalore, India<br />\r\n- <a href="http://hcgtv.homelinux.com">hcgtv</a> - Miami, Florida, USA<br />\r\n- <a href="http://www.adrenalinsports.nl/">ikeizer</a> - Maastricht<br />\r\n- <a href="http://www.tipos.com.br/">moraes</a> - Brazil<br />\r\n- <a href="http://roelgroeneveld.com/">roel </a>- The Netherlands<br />\r\n- <a href="http://budts.be/weblog/">TeRanEX </a>- Ekeren, Antwerp, Belgium<br />\r\n- <a href="http://www.trentadams.com/">Trent </a>- Alberta, Canada<br />\r\n- <a href="http://xiffy.nl/weblog/">xiffy </a>- Deventer<br />\r\n<br />\r\n¤â¤·¼ê½õ¤±¤¬É¬Íפʤ顢1000¤òĶ¤¨¤ëÅÐÏ¿¥æ¡¼¥¶¡¼¤Î¤¤¤ë»ä¤¿¤Á¤Î¥Õ¥©¡¼¥é¥à¤Ë»²²Ã¤·¤Æ¤¯¤À¤µ¤¤¡£15000¤òĶ¤¨¤ëÅê¹Æ¤µ¤ì¤¿µ­»ö¤ò¸¡º÷¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤ª¤ê¤Þ¤¹¤Î¤Ç¡¢µá¤á¤ëÅú¤¨¤Ë¿ô²ó¤Î¥¯¥ê¥Ã¥¯¤Ç¤¿¤É¤êÃ失¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£<br />\r\n<br />\r\n<b>ÍøÍÑ¥µ¥¤¥È¤Î°ìÎã</b><br />\r\n<br />\r\n531¤ÎÅÐÏ¿¤µ¤ì¤¿<a href="http://nucleuscms.org/sites.php">Nucleus¤Ç±¿ÍѤµ¤ì¤Æ¤¤¤ë¥µ¥¤¥È</a>¡Ê<a href="http://japan.nucleuscms.org/sites.php">ÆüËÜÈÇ</a>¡Ë¤ÎÃ椫¤éÆÿ§¤¢¤ë¥µ¥¤¥È¤ò¥µ¥ó¥×¥ë¤È¤·¤Æ¤´¾Ò²ð¤·¤Þ¤¹¡£<br />\r\n<br />\r\n- <a href="http://bloggard.com/">bloggard.com</a> - The Adventures of Bloggard<br />\r\n- <a href="http://battleangel.org/">battleangel.org</a> - Giving meaning to the meaningless.<br />\r\n- <a href="http://tipos.com.br/">tipos.com.br</a> - Blogging community: multiple user blogs.<br />\r\n- <a href="http://hsbluebird.com/">hsbluebird.com</a> - Hot Springs, Montana\'s Online Resource for Guests.<br />\r\n- <a href="http://alloutgames.com/">alloutgames.com</a> - Hard core without the hate!<br />\r\n- <a href="http://adrenalinsports.nl/">adrenalinsports.nl</a> - Extreme sports.<br />\r\n- <a href="http://reductioadabsurdum.net/">reductioadabsurdum.net</a> - A Conservative Review of Politics and Culture.<br />\r\n<br />\r\n¥Þ¥ë¥Á¥¦¥§¥Ö¥í¥°¤È¥¹¥­¥ó/¥Æ¥ó¥×¥ì¡¼¥È¤ÎÁȤ߹ç¤ï¤»¤Ï¶¯ÎϤÊÁê¾è¸ú²Ì¤òÀ¸¤ß½Ð¤·¤Þ¤¹¡£¸Ä¿ÍŪ¤Ê¥µ¥¤¥ÈºîÀ®¡¢Í§¿Í¤ä¿ÆÀ̤¢¤ë¤¤¤Ï¥¯¥é¥¤¥¢¥ó¥È¤ËÂФ¹¤ë¥µ¥¤¥È¥Ç¥¶¥¤¥ó¤¤¤º¤ì¤ËÂФ·¤Æ¤â¤Ç¤¹¡£<br />\r\n<br />\r\n¥Ç¥Õ¥©¥ë¥È¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ëgrey¥¹¥­¥ó¤È¥Æ¥ó¥×¥ì¡¼¥È¤Ï¡¢Nucleus¤Ë¿Æ¤·¤ó¤Ç¤¤¤¯¤¿¤á¤Î¼ê»Ï¤á¤È»ë³ÐŪ¤Ê¥¬¥¤¥É¤È¤·¤ÆÌòΩ¤Ä¤³¤È¤Ç¤·¤ç¤¦¡£<br />\r\n<br />\r\n<b>´óÉÕ¼Ô°ìÍ÷</b><br />\r\n<br />\r\n°Ê²¼¤Î<a href="http://nucleuscms.org/donators.php">ÁÇÀ²¤é¤·¤¤¿Í¡¹</a>¤Ë¤è¤ë<a href="http://nucleuscms.org/donate.php">±ç½õ</a>¤Ë´¶¼Õ¤òÊû¤²¤Þ¤¹¡£<em>¤¢¤ê¤¬¤È¤¦¡ª</em><br />\r\n<br />\r\n- Gordon Shum<br />\r\n- <a href="http://www.subsim.com/">Neal Stevens</a><br />\r\n- <a href="http://www.GamblingHelper.com/">GamblingHelper</a><br />\r\n- Oliver Kirstein<br />\r\n- <a href="http://www.dominiek.be/">Dominiek</a><br />\r\n- <a href="http://www.aardschok.net/">Aardschok</a><br />\r\n- <a href="http://www.nieuwevoordeur.be/">nieuwevoordeur.be</a><br />\r\n- <a href="http://www.scene24.net/">Scene24</a><br />\r\n- <a href="http://www.eug.be/">Eug\'s Weblog</a><br />\r\n- <a href="http://www.bloggard.com/">The Adventures of Bloggard</a><br />\r\n- <a href="http://www.voltos.com/">Arthur Cronos from Voltos</a><br />\r\n- <a href="http://www.webmaster-toolkit.com/">Free Webmaster Tools and Resources</a><br />\r\n- <a href="http://www.domilog.be/">Domi\'s Weblog</a><br />\r\n- Infodoma<br />\r\n- <a href="http://carvingcode.com/">carvingCode.com</a><br />\r\n- <a href="http://www.traweb.com/">Traweb</a><br />\r\n- <a href="http://gene.mm2u.com/">Gene\'s MoBlog</a><br />\r\n- <a href="http://interfacethis.com/">InterfaceThis</a><br />\r\n- <a href="http://www.thefinsters.com/flog/">The Finster Log</a><br />\r\n- <a href="http://www.mrhop.com/">Hop Nguyen</a><br />\r\n- <a href="http://www.zwavel.com/~zwavelaars" title="Zwavelaars">Zwavelaars</a><br />\r\n- <a href="http://beefcake.nl/">Joaquin Scholten</a><br />\r\n- <a href="http://www.roelgroeneveld.com/">Roel Groeneveld</a><br />\r\n- <a href="http://lvb.net/">LVBlog</a><br />\r\n- <a href="http://xandermol.com/">Xander Mol</a><br />\r\n- Danilo Massa<br />\r\n- <a href="http://01FTP.com/">01FTP.com</a><br />\r\n- <a href="http://www.adrenalinsports.nl/">Irmo Keizer</a><br />\r\n- <a href="http://www.jasonkrogh.com/">Jason Krogh</a><br />\r\n- <a href="http://www.higuchi.com/">Osamu Higuchi</a><br />\r\n- <a href="http://www.trentadams.com/">Trent Adams</a><br />\r\n- <a href="http://www.ppcw.net/">Arne Hess</a><br />\r\n- <a href="http://hsbluebird.com/">The Bluebird</a><br />\r\n- Rainer Bickel<br />\r\n- Fritz Elfers<br />\r\n- Andy Fuchs<br />\r\n- <a href="http://www.sumoforce.com/">Sumoforce</a><br />\r\n- <a href="http://love.silverindigo.com/">Al\'ky\'mie</a><br />\r\n- <a href="http://www.pejo.us/">Peter Johnson</a><br />\r\n- <a href="http://www.triv.nl/">TriV Internet Solutions</a><br />\r\n- Margaret Stowe<br />\r\n- <a href="http://www.zenkey.org/">zenkey dot org</a><br />\r\n- <a href="http://www.golb.org/">Blots of Info</a><br />\r\n- <a href="http://www.zonderpartij.be/">Rudi De Kerpel</a><br />\r\n- <a href="http://staylorx.com/">Steve Taylor</a><br />\r\n- <a href="http://lmhcave.com/">Malcolm Farnsworth</a><br />\r\n- Birgit Kellner<br />\r\n- <a href="http://www.tobiasly.com/">Toby Johnson</a><br />\r\n- <a href="http://www.kapingamarangi.be/">Kapingamarangi</a><br />\r\n- <a href="http://www.pallalink.net/">Pallalink</a><br />\r\n- <a href="http://publiustx.net/">PubliusTX Weblog</a><br />\r\n- <a href="http://www.reductioadabsurdum.net/">Reductio Ad Absurdum</a><br />\r\n- <a href="http://www.gagaweb.org/">GagaWeb</a><br />\r\n- <a href="http://www.videokid.be/">Videokid</a><br />\r\n- Jon Marr<br />\r\n- <a href="http://www.docblog.org/">Luigi Cristiano</a><br />\r\n- J Keith Lehman<br />\r\n- <a href="http://www.bohemiancachet.org/">Bohemian Cachet</a><br />\r\n- Jesus Mourazos<br />\r\n- <a href="http://ltp-design.com/">Stephen Jones</a><br />\r\n- <a href="http://oha.nu/">One-Handed Apps</a><br />\r\n- Alwin Hawkins<br />\r\n- <a href="http://jstigall.bloomington.in.us">Justin Stigall</a><br />\r\n- <a href="http://www.itismylife.com/">It is my life</a><br />\r\n- Greg Morrill<br />\r\n- <a href="http://www.dutchsubmarines.com/">Dutch Submarines</a><br />\r\n- <a href="http://www.7thwatch.com/">Seventh Watch Design Studios</a><br />\r\n- <a href="http://www.macnet2.com/">MacNetv2</a><br />\r\n- Richard Noordhof<br />\r\n- <a href="http://www.jamier.net/">Jamie Rytlewski</a><br />\r\n<br />\r\nNucleus¤¬µ¤¤ËÆþ¤ê¤Þ¤·¤¿¤«¡©¡¡<a href="http://www.hotscripts.com/Detailed/13368.html?RID=nucleus@demuynck.org">HotScripts</a>¤Ç¤ÎÅêɼ¤ò¤ª´ê¤¤¤·¤Þ¤¹¡£<br />\r\n<br />\r\n<b>¥é¥¤¥»¥ó¥¹</b><br />\r\n<br />\r\n»ä¤¿¤Á¤¬¥Õ¥ê¡¼¡¦¥½¥Õ¥È¥¦¥§¥¢¤Ë¤Ä¤¤¤Æ¸ý¤Ë¤¹¤ë¾ì¹ç¤Ï¼«Í³¤Î¤³¤È¤Ë¸ÀµÚ¤·¤Æ¤¤¤ë¤Î¤Ç¤¢¤Ã¤Æ¡¢²Á³Ê¤Î¤³¤È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£»ä¤¿¤Á¤Î<a href="http://www.gnu.org/licenses/gpl.html">°ìÈ̸øÍ­»ÈÍѵöÂú½ñ</a>¡Ê<a href="http://www.key.ne.jp/Report/Counter/files/gpl2-j.text">ÆüËܸìÌõ</a>¤È<a href="http://www.atmarkit.co.jp/aig/03linux/gpl.html">³µÍ×</a>¡Ë¤Ï¡¢¥Õ¥ê¡¼¡¦¥½¥Õ¥È¥¦¥§¥¢¤ÎÊ£À½Êª¤ò¼«Í³¤ËÈÒÉۤǤ­¤ë¤³¤È(¤½¤·¤Æ¡¢Ë¾¤à¤Ê¤é¤³¤Î¥µ¡¼¥Ó¥¹¤ËÂФ·¤ÆÂвÁ¤òÀÁµá¤Ç¤­¤ë¤³¤È)¡¢¥½¡¼¥¹¡¦¥³¡¼¥É¤ò¼ÂºÝ¤Ë¼õ¤±¼è¤ë¤«´õ˾¤·¤µ¤¨¤¹¤ì¤ÐÆþ¼ê¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¤³¤È¡¢Æþ¼ê¤·¤¿¥½¥Õ¥È¥¦¥§¥¢¤òÊѹ¹¤·¤¿¤ê¿·¤·¤¤¥Õ¥ê¡¼¡¦¥×¥í¥°¥é¥à¤Î°ìÉô¤È¤·¤Æ»ÈÍѤǤ­¤ë¤³¤È¡¢°Ê¾å¤Î³ÆÆâÍƤò¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­¤ë¤È¤¤¤¦¤³¤È¤ò¥æ¡¼¥¶¼«¿È¤¬ÃΤäƤ¤¤ë¤³¤È¤ò¼Â¸½¤Ç¤­¤ë¤è¤¦¤Ë¥Ç¥¶¥¤¥ó¤µ¤ì¤Æ¤¤¤Þ¤¹¡£<br />\r\n', 1, 1, '2004-05-29 13:29:21', 0, 0, 0, 1, 0);
+
+CREATE TABLE `nucleus_karma` (
+  `itemid` int(11) NOT NULL default '0',
+  `ip` char(15) NOT NULL default ''
+) TYPE=MyISAM;
+
+CREATE TABLE `nucleus_member` (
+  `mnumber` int(11) NOT NULL auto_increment,
+  `mname` varchar(16) NOT NULL default '',
+  `mrealname` varchar(60) default NULL,
+  `mpassword` varchar(40) NOT NULL default '',
+  `memail` varchar(60) default NULL,
+  `murl` varchar(100) default NULL,
+  `mnotes` varchar(100) default NULL,
+  `madmin` tinyint(2) NOT NULL default '0',
+  `mcanlogin` tinyint(2) NOT NULL default '1',
+  `mcookiekey` varchar(40) default NULL,
+  `deflang` varchar(20) NOT NULL default '',
+  PRIMARY KEY  (`mnumber`),
+  UNIQUE KEY `mname` (`mname`),
+  UNIQUE KEY `mnumber` (`mnumber`)
+) TYPE=MyISAM;
+
+INSERT INTO `nucleus_member` VALUES (1, 'God', 'Test User', '714d82a0a84f9c6e3495fe2aa5618627', 'example@example.org', 'http://localhost:8080/nucleus/', '', 1, 1, 'd95a775494f1b589011aed122f197c8a', '');
+
+CREATE TABLE `nucleus_plugin` (
+  `pid` int(11) NOT NULL auto_increment,
+  `pfile` varchar(40) NOT NULL default '',
+  `porder` int(11) NOT NULL default '0',
+  PRIMARY KEY  (`pid`),
+  KEY `pid` (`pid`),
+  KEY `porder` (`porder`)
+) TYPE=MyISAM;
+
+CREATE TABLE `nucleus_plugin_event` (
+  `pid` int(11) NOT NULL default '0',
+  `event` varchar(40) default NULL,
+  KEY `pid` (`pid`)
+) TYPE=MyISAM;
+
+CREATE TABLE `nucleus_plugin_option` (
+  `ovalue` text NOT NULL,
+  `oid` int(11) NOT NULL auto_increment,
+  `ocontextid` int(11) NOT NULL default '0',
+  PRIMARY KEY  (`oid`,`ocontextid`)
+) TYPE=MyISAM;
+
+CREATE TABLE `nucleus_plugin_option_desc` (
+  `oid` int(11) NOT NULL auto_increment,
+  `opid` int(11) NOT NULL default '0',
+  `oname` varchar(20) NOT NULL default '',
+  `ocontext` varchar(20) NOT NULL default '',
+  `odesc` varchar(255) default NULL,
+  `otype` varchar(20) default NULL,
+  `odef` text,
+  `oextra` text,
+  PRIMARY KEY  (`opid`,`oname`,`ocontext`),
+  UNIQUE KEY `oid` (`oid`)
+) TYPE=MyISAM;
+
+CREATE TABLE `nucleus_skin` (
+  `sdesc` int(11) NOT NULL default '0',
+  `stype` varchar(20) NOT NULL default '',
+  `scontent` text NOT NULL,
+  PRIMARY KEY  (`sdesc`,`stype`)
+) TYPE=MyISAM;
+
+INSERT INTO `nucleus_skin` VALUES (2, 'index', '<?xml version="1.0" encoding="UTF-8"?>\r\n<feed version="0.3" xmlns="http://purl.org/atom/ns#">\r\n    <title><%blogsetting(name)%></title>\r\n    <link rel="alternate" type="text/html" href="<%blogsetting(url)%>" />\r\n    <generator url="http://nucleuscms.org/"><%version%></generator>\r\n    <modified><%blog(feeds/atom/modified,1)%></modified>\r\n    <%blog(feeds/atom/entries,10)%>\r\n</feed>');
+INSERT INTO `nucleus_skin` VALUES (4, 'index', '<?xml version="1.0"?>\r\n<rsd version="1.0">\r\n <service>\r\n  <engineName><%version%></engineName>\r\n  <engineLink>http://nucleuscms.org/</engineLink>\r\n  <homepageLink><%sitevar(url)%></homepageLink>\r\n  <apis>\r\n   <api name="MetaWeblog" preferred="true" apiLink="<%adminurl%>xmlrpc/server.php" blogID="<%blogsetting(id)%>">\r\n    <docs>http://nucleuscms.org/documentation/devdocs/xmlrpc.html</docs>\r\n   </api>\r\n   <api name="Blogger" preferred="false" apiLink="<%adminurl%>xmlrpc/server.php" blogID="<%blogsetting(id)%>">\r\n    <docs>http://nucleuscms.org/documentation/devdocs/xmlrpc.html</docs>\r\n   </api>\r\n  </apis>\r\n </service>\r\n</rsd>');
+INSERT INTO `nucleus_skin` VALUES (3, 'index', '<?xml version="1.0" encoding="UTF-8"?>\r\n<rss version="2.0">\r\n  <channel>\r\n    <title><%blogsetting(name)%></title>\r\n    <link><%blogsetting(url)%></link>\r\n    <description><%blogsetting(desc)%></description>\r\n    <!-- optional tags -->\r\n    <language>ja</language>           <!-- valid langugae goes here -->\r\n    <generator><%version%></generator>\r\n    <copyright>&#169;</copyright>             <!-- Copyright notice -->\r\n    <category>Weblog</category>\r\n    <docs>http://backend.userland.com/rss</docs>\r\n    <image>\r\n      <url><%adminurl%>nucleus2.gif</url>\r\n      <title><%blogsetting(name)%></title>\r\n      <link><%blogsetting(url)%></link>\r\n    </image>\r\n    <%blog(feeds/rss20,10)%>\r\n  </channel>\r\n</rss>');
+INSERT INTO `nucleus_skin` VALUES (1, 'imagepopup', '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\n<html>\n<head>\n  <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />\n  <title><%imagetext%></title>\n  <style type="text/css">\n   img { border: none; }\n   body { margin: 0px; }\n  </style>\n</head>\n<body onblur="window.close()">\n  <a href="javascript:window.close();"><%image%></a>\n</body>\n</html>');
+INSERT INTO `nucleus_skin` VALUES (1, 'index', '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r\n\r\n<html>\r\n<head>\r\n  <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />\r\n  <title><%blogsetting(name)%></title>\r\n\r\n  <!-- some meta information (search engines might read this) -->\r\n  <meta name="generator" content="<%version%>" />\r\n  <meta name="description" content="<%blogsetting(desc)%>" />\r\n\r\n  <!-- stylesheet definition (points to the place where colors -->\r\n  <!-- and layout is defined -->\r\n  <link rel="stylesheet" type="text/css" href="<%skinfile(grey.css)%>" />\r\n\r\n  <!-- prevent caching (can be removed) -->\r\n  <meta http-equiv="Pragma" content="no-cache" />\r\n  <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />\r\n  <meta http-equiv="Expires" content="-1" />\r\n  \r\n  <!-- extra navigational links -->\r\n  <link rel="bookmark" title="Nucleus" href="http://nucleuscms.org/" />\r\n  <link rel="archives" title="Archives" href="<%archivelink%>" />\r\n  <link rel="top" title="Today" href="<%todaylink%>" />\r\n\r\n  <!-- link RSS as alternate version -->\r\n  <link rel="alternate" type="application/rss+xml" title="RSS" href="xml-rss2.php" />\r\n\r\n  <!-- RSD support -->\r\n  <link rel="EditURI" type="application/rsd+xml" title="RSD" href="rsd.php" />\r\n\r\n</head>\r\n<body>\r\n\r\n<!-- here starts the code that will be displayed in your browser -->\r\n<div class="contents">\r\n <!-- page title -->\r\n <h1><%blogsetting(name)%></h1>\r\n\r\n <!-- this is a normally hidden link, included for accessibility reasons -->\r\n <a href="#navigation" class="skip">Jump to navigation</a>\r\n\r\n <!-- this tag inserts a weblog using the template named \'grey/short\'   -->\r\n <!-- and showing 15 entries                                                -->\r\n <%blog(grey/short,15)%>\r\n\r\n</div><!-- end of the contents div -->\r\n\r\n<!-- definition of the logo (left-top) -->\r\n<div class="logo">\r\n <a href="<%sitevar(url)%>"><img src="<%skinfile(atom3.gif)%>" width="155" height="137" alt="" /></a>\r\n</div>\r\n\r\n<!-- definition of the menu -->\r\n<div class="menu">\r\n <!-- accessibility anchor -->\r\n <a name="navigation" id="navigation" class="skip"></a>\r\n <h1 class="skip">Navigation</h1>\r\n\r\n <h2>Navigation</h2>\r\n <ul class="nobullets">\r\n  <li><a href="<%todaylink%>">Today</a></li>\r\n  <li><a href="<%archivelink%>">Archives</a></li>\r\n  <li><a href="<%adminurl%>">Admin Area</a></li>\r\n </ul>\r\n\r\n <h2>Categories</h2>\r\n <%categorylist(grey/short)%>\r\n\r\n <h2>Search</h2>\r\n <%searchform%>\r\n \r\n <h2>Login</h2>\r\n <%loginform%>\r\n\r\n <h2>My Links</h2>\r\n\r\n <ul class="nobullets">\r\n  <li><a href="http://nucleuscms.org/" title="This site is Nucleus-powered">Nucleus</a></li>\r\n  <li><a href="http://www.weblogs.com/" title="latest updates">Weblogs</a></li>\r\n  <li><a href="http://www.daypop.com/" title="Search news &amp; weblog sites">DayPop</a></li>\r\n  <li><a href="http://www.google.com/" title="Search the web">Google</a></li>\r\n </ul>\r\n\r\n <h2>Powered by</h2>\r\n <%nucleusbutton(nucleus.gif,85,31)%>\r\n\r\n</div>\r\n\r\n</body>\r\n</html>');
+INSERT INTO `nucleus_skin` VALUES (1, 'archive', '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r\n\r\n<html>\r\n<head>\r\n  <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />\r\n  <title><%blogsetting(name)%></title>\r\n\r\n  <!-- some meta information (search engines might read this) -->\r\n  <meta name="generator" content="<%version%>" />\r\n  <meta name="description" content="<%blogsetting(desc)%>" />\r\n\r\n  <!-- stylesheet definition (points to the place where colors -->\r\n  <!-- and layout is defined -->\r\n  <link rel="stylesheet" type="text/css" href="<%skinfile(grey.css)%>" />\r\n\r\n  <!-- prevent caching (can be removed) -->\r\n  <meta http-equiv="Pragma" content="no-cache" />\r\n  <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />\r\n  <meta http-equiv="Expires" content="-1" />\r\n  \r\n  <!-- extra navigational links -->\r\n  <link rel="bookmark" title="Nucleus" href="http://nucleuscms.org/" />\r\n  <link rel="alternate" type="application/rss+xml" title="RSS" href="xml-rss2.php" />\r\n  <link rel="archives" title="Archives" href="<%archivelink%>" />\r\n  <link rel="top" title="Today" href="<%sitevar(url)%>" />\r\n  <link rel="up" href="<%todaylink%>" title="Today" />\r\n\r\n</head>\r\n<body>\r\n\r\n<!-- here starts the code that will be displayed in your browser -->\r\n<div class="contents">\r\n\r\n <!-- this is a normally hidden link, included for accessibility reasons -->\r\n <a href="#navigation" class="skip">Jump to navigation</a>\r\n\r\n <!-- a title -->\r\n <h1><%blogsetting(name)%></h1>\r\n\r\n <!-- This tag inserts the archive using the grey/short template -->\r\n <%archive(grey/short)%>\r\n\r\n</div><!-- end of the contents div -->\r\n\r\n<!-- definition of the logo left-top -->\r\n<div class="logo">\r\n <a href="<%sitevar(url)%>"><img src="<%skinfile(atom3.gif)%>" width="155" height="137" alt="" /></a>\r\n</div>\r\n\r\n<!-- definition of the menu -->\r\n<div class="menu">\r\n <!-- accessibility anchor -->\r\n <a name="navigation" id="navigation" class="skip"></a>\r\n <h1 class="skip">Navigation</h1>\r\n\r\n <h2>Navigation</h2>\r\n\r\n <ul class="nobullets">\r\n   <li><a href="<%prevlink%>">Á°¤Î <%archivetype%></a></li>\r\n   <li><a href="<%nextlink%>">¼¡¤Î <%archivetype%></a></li>\r\n   <li><a href="<%todaylink%>">Today</a></li>\r\n   <li><a href="<%archivelink%>">Archives</a></li>\r\n   <li><a href="<%adminurl%>">Admin Area</a></li>\r\n </ul>\r\n\r\n <h2>Categories</h2>\r\n <%categorylist(grey/short)%>\r\n\r\n <h2>Search</h2>\r\n <%searchform%>\r\n \r\n <h2>Login</h2>\r\n <%loginform%>\r\n\r\n <h2>Powered by</h2>\r\n <%nucleusbutton(nucleus.gif,85,31)%>\r\n \r\n</div>\r\n\r\n</body>\r\n</html>');
+INSERT INTO `nucleus_skin` VALUES (1, 'archivelist', '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r\n\r\n<html>\r\n<head>\r\n  <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />\r\n  <title><%blogsetting(name)%></title>\r\n\r\n  <!-- some meta information (search engines might read this) -->\r\n  <meta name="generator" content="<%version%>" />\r\n  <meta name="description" content="<%blogsetting(desc)%>" />\r\n\r\n  <!-- stylesheet definition (points to the place where colors -->\r\n  <!-- and layout is defined -->\r\n  <link rel="stylesheet" type="text/css" href="<%skinfile(grey.css)%>" />\r\n\r\n  <!-- prevent caching (can be removed) -->\r\n  <meta http-equiv="Pragma" content="no-cache" />\r\n  <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />\r\n  <meta http-equiv="Expires" content="-1" />\r\n  \r\n  <!-- extra navigational links -->\r\n  <link rel="bookmark" title="Nucleus" href="http://nucleuscms.org/" />\r\n  <link rel="alternate" type="application/rss+xml" title="RSS" href="xml-rss2.php" />\r\n  <link rel="archives" title="Archives" href="<%archivelink%>" />\r\n  <link rel="top" title="Today" href="<%sitevar(url)%>" />\r\n  <link rel="up" href="<%todaylink%>" title="Today" />\r\n\r\n</head>\r\n<body>\r\n\r\n<!-- here starts the code that will be displayed in your browser -->\r\n<div class="contents">\r\n\r\n<!-- a title -->\r\n<h1><%blogsetting(name)%></h1>\r\n\r\n <!-- this is a normally hidden link, included for accessibility reasons -->\r\n <a href="#navigation" class="skip">Jump to navigation</a>\r\n\r\n <h2>Archives</h2>\r\n <!-- This tag inserts the archivelist using the grey/short template -->\r\n <%archivelist(grey/short)%>\r\n\r\n</div><!-- end of the contents div -->\r\n\r\n<!-- definition of the logo left-top -->\r\n<div class="logo">\r\n <a href="<%sitevar(url)%>"><img src="<%skinfile(atom3.gif)%>" width="155" height="137" alt="" /></a>\r\n</div>\r\n\r\n<!-- definition of the menu -->\r\n<div class="menu">\r\n <!-- accessibility anchor -->\r\n <a name="navigation" id="navigation" class="skip"></a>\r\n <h1 class="skip">Navigation</h1>\r\n\r\n <h2>Navigation</h2>\r\n <ul class="nobullets">\r\n   <li><a href="<%todaylink%>">Today</a></li>\r\n   <li><a href="<%archivelink%>">Archives</a></li>\r\n   <li><a href="<%adminurl%>">Admin Area</a></li>\r\n </ul>\r\n\r\n <h2>Categories</h2>\r\n <%categorylist(grey/short)%>\r\n \r\n <h2>Search</h2>\r\n <%searchform%>\r\n \r\n <h2>Login</h2>\r\n <%loginform%>\r\n\r\n <h2>Powered by</h2>\r\n <%nucleusbutton(nucleus.gif,85,31)%>\r\n\r\n</div>\r\n\r\n</body>\r\n</html>');
+INSERT INTO `nucleus_skin` VALUES (1, 'error', '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r\n\r\n<html>\r\n<head>\r\n  <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />\r\n  <title><%sitevar(name)%></title>\r\n\r\n  <!-- some meta information (search engines might read this) -->\r\n  <meta name="generator" content="<%version%>" />\r\n\r\n  <!-- stylesheet definition (points to the place where colors -->\r\n  <!-- and layout is defined -->\r\n  <link rel="stylesheet" type="text/css" href="<%skinfile(grey.css)%>" />\r\n\r\n  <!-- prevent caching (can be removed) -->\r\n  <meta http-equiv="Pragma" content="no-cache" />\r\n  <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />\r\n  <meta http-equiv="Expires" content="-1" />\r\n  \r\n  <!-- extra navigational links -->\r\n  <link rel="bookmark" title="Nucleus" href="http://nucleuscms.org/" />\r\n  <link rel="top" title="Today" href="<%todaylink%>" />\r\n  <link rel="up" href="<%todaylink%>" title="Today" />\r\n</div>\r\n\r\n</head>\r\n<body>\r\n\r\n<!-- here starts the code that will be displayed in your browser -->\r\n<div class="contents">\r\n\r\n <!-- this is a normally hidden link, included for accessibility reasons -->\r\n <a href="#navigation" class="skip">Jump to navigation</a>\r\n\r\n <!-- a title -->\r\n <h1><%sitevar(name)%></h1>\r\n\r\n <h2>Error!</h2>\r\n\r\n <p><%errormessage%></p>\r\n\r\n <p><a href="javascript:history.go(-1);">Go back</a></p>\r\n\r\n</div><!-- end of the contents div -->\r\n\r\n<!-- definition of the logo left-top -->\r\n<div class="logo">\r\n <a href="<%sitevar(url)%>"><img src="<%skinfile(atom3.gif)%>" width="155" height="137" alt="" /></a>\r\n</div>\r\n\r\n<!-- definition of the menu -->\r\n<div class="menu">\r\n <!-- accessibility anchor -->\r\n <a name="navigation" id="navigation" class="skip"></a>\r\n <h1 class="skip">Navigation</h1>\r\n\r\n <h2>Navigation</h2>\r\n\r\n <ul class="nobullets">\r\n  <li><a href="<%todaylink%>">Today</a></li>\r\n  <li><a href="<%adminurl%>">Admin Area</a></li>\r\n </ul>\r\n \r\n <h2>Login</h2>\r\n <%loginform%>\r\n\r\n <h2>Powered by</h2>\r\n <%nucleusbutton(nucleus.gif,85,31)%>\r\n\r\n</div>\r\n\r\n</body>\r\n</html>');
+INSERT INTO `nucleus_skin` VALUES (1, 'item', '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r\n\r\n<html>\r\n<head>\r\n  <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />\r\n  <title><%itemtitle%> - <%blogsetting(name)%></title>\r\n\r\n  <!-- some meta information (search engines might read this) -->\r\n  <meta name="generator" content="<%version%>" />\r\n  <meta name="description" content="<%blogsetting(desc)%>" />\r\n\r\n  <!-- stylesheet definition (points to the place where colors -->\r\n  <!-- and layout is defined -->\r\n  <link rel="stylesheet" type="text/css" href="<%skinfile(grey.css)%>" />\r\n\r\n  <!-- prevent caching (can be removed) -->\r\n  <meta http-equiv="Pragma" content="no-cache" />\r\n  <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />\r\n  <meta http-equiv="Expires" content="-1" />\r\n  \r\n  <!-- extra navigational links -->\r\n  <link rel="bookmark" title="Nucleus" href="http://nucleuscms.org/" />\r\n  <link rel="alternate" type="application/rss+xml" title="RSS" href="xml-rss2.php" />\r\n  <link rel="archives" title="Archives" href="<%archivelink%>" />\r\n  <link rel="top" title="Today" href="<%sitevar(url)%>" />\r\n  <link rel="next" href="<%nextlink%>" title="Next Item" />\r\n  <link rel="prev" href="<%prevlink%>" title="Previous Item" />\r\n  <link rel="up" href="<%todaylink%>" title="Today" />\r\n\r\n</head>\r\n<body>\r\n\r\n<!-- here starts the code that will be displayed in your browser -->\r\n<div class="contents">\r\n\r\n <!-- page title -->\r\n <h1><%blogsetting(name)%></h1>\r\n\r\n <!-- this is a normally hidden link, included for accessibility reasons -->\r\n <a href="#navigation" class="skip">Jump to navigation</a>\r\n\r\n <!-- inserts the selected item using the template named \'grey/full\'     -->\r\n <%item(grey/full)%>\r\n\r\n <!-- this tag inserts the comments on the selected item, also using the -->\r\n <!-- template with name \'grey/full\'                                     -->\r\n <h2>Comments</h2>\r\n <%comments(grey/full)%>\r\n\r\n <h2>Add Comments</h2>\r\n <%commentform%>\r\n\r\n</div><!-- end of the contents div -->\r\n\r\n<!-- definition of the logo left-top -->\r\n<div class="logo">\r\n <a href="<%sitevar(url)%>"><img src="<%skinfile(atom3.gif)%>" width="155" height="137" alt="" /></a>\r\n</div>\r\n\r\n<!-- definition of the menu -->\r\n<div class="menu">\r\n\r\n <!-- accessibility anchor -->\r\n <a name="navigation" id="navigation" class="skip"></a>\r\n <h1 class="skip">Navigation</h1>\r\n\r\n <h2>Navigation</h2>\r\n <ul class="nobullets">\r\n  <li><a href="<%nextlink%>">Previous Item</a></li>\r\n  <li><a href="<%prevlink%>">Next Item</a></li>\r\n  <li><a href="<%todaylink%>">Today</a></li>\r\n  <li><a href="<%archivelink%>">Archives</a></li>\r\n  <li><a href="<%adminurl%>">Admin Area</a></li>\r\n </ul>\r\n\r\n <h2>Categories</h2>\r\n <%categorylist(grey/short)%>\r\n\r\n <h2>Search</h2>\r\n <%searchform%>\r\n \r\n <h2>Login</h2>\r\n <%loginform%>\r\n\r\n <h2>Powered by</h2>\r\n <%nucleusbutton(nucleus.gif,85,31)%>\r\n\r\n</div>\r\n\r\n</body>\r\n</html>');
+INSERT INTO `nucleus_skin` VALUES (1, 'member', '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r\n\r\n<html>\r\n<head>\r\n  <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />\r\n  <title><%sitevar(name)%></title>\r\n\r\n  <!-- some meta information (search engines might read this) -->\r\n  <meta name="generator" content="<%version%>" />\r\n\r\n  <!-- stylesheet definition (points to the place where colors -->\r\n  <!-- and layout is defined -->\r\n  <link rel="stylesheet" type="text/css" href="<%skinfile(grey.css)%>" />\r\n\r\n  <!-- prevent caching (can be removed) -->\r\n  <meta http-equiv="Pragma" content="no-cache" />\r\n  <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />\r\n  <meta http-equiv="Expires" content="-1" />\r\n  \r\n  <!-- extra navigational links -->\r\n  <link rel="bookmark" title="Nucleus" href="http://nucleuscms.org/" />\r\n  <link rel="top" title="Today" href="<%todaylink%>" />\r\n  <link rel="up" href="<%todaylink%>" title="Today" />\r\n\r\n</head>\r\n<body>\r\n\r\n<!-- here starts the code that will be displayed in your browser -->\r\n<div class="contents">\r\n\r\n <!-- this is a normally hidden link, included for accessibility reasons -->\r\n <a href="#navigation" class="skip">Jump to navigation</a>\r\n\r\n <!-- a title -->\r\n <h1><%sitevar(name)%></h1>\r\n\r\n <h2>Info about <%member(name)%></h2>\r\n\r\n <ul>\r\n  <li>Real name: <%member(realname)%></li>\r\n  <li>Website: <a href="<%member(url)%>"><%member(url)%></a></li>\r\n </ul>\r\n\r\n <h2>Send Message</h2>\r\n <%membermailform%>\r\n\r\n</div><!-- end of the contents div -->\r\n\r\n<!-- definition of the logo left-top -->\r\n<div class="logo">\r\n <a href="<%sitevar(url)%>"><img src="<%skinfile(atom3.gif)%>" width="155" height="137" alt="" /></a>\r\n</div>\r\n\r\n<!-- definition of the menu -->\r\n<div class="menu">\r\n <!-- accessibility anchor -->\r\n <a name="navigation" id="navigation" class="skip"></a>\r\n <h1 class="skip">Navigation</h1>\r\n\r\n <h2>Navigation</h2>\r\n\r\n <ul class="nobullets">\r\n  <li><a href="<%todaylink%>">Today</a></li>\r\n  <li><a href="<%adminurl%>">Admin Area</a></li>\r\n </ul>\r\n \r\n <h2>Login</h2>\r\n <%loginform%>\r\n\r\n <h2>Powered by</h2>\r\n <%nucleusbutton(nucleus.gif,85,31)%>\r\n\r\n</div>\r\n\r\n</body>\r\n</html>');
+INSERT INTO `nucleus_skin` VALUES (1, 'search', '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\r\n\r\n<html>\r\n<head>\r\n  <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />\r\n  <title><%blogsetting(name)%></title>\r\n\r\n  <!-- some meta information (search engines might read this) -->\r\n  <meta name="generator" content="<%version%>" />\r\n  <meta name="description" content="<%blogsetting(desc)%>" />\r\n\r\n  <!-- stylesheet definition (points to the place where colors -->\r\n  <!-- and layout is defined -->\r\n  <link rel="stylesheet" type="text/css" href="<%skinfile(grey.css)%>" />\r\n  \r\n  <!-- prevent caching (can be removed) -->\r\n  <meta http-equiv="Pragma" content="no-cache" />\r\n  <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />\r\n  <meta http-equiv="Expires" content="-1" />\r\n  \r\n  <!-- extra navigational links -->\r\n  <link rel="bookmark" title="Nucleus" href="http://nucleuscms.org/" />\r\n  <link rel="alternate" type="application/rss+xml" title="RSS" href="xml-rss2.php" />\r\n  <link rel="archives" title="Archives" href="<%archivelink%>" />\r\n  <link rel="top" title="Today" href="<%sitevar(url)%>" />\r\n  <link rel="up" href="<%todaylink%>" title="Today" />\r\n\r\n</head>\r\n<body>\r\n\r\n<!-- here starts the code that will be displayed in your browser -->\r\n<div class="contents">\r\n\r\n <!-- this is a normally hidden link, included for accessibility reasons -->\r\n <a href="#navigation" class="skip">Jump to navigation</a>\r\n\r\n <!-- a title -->\r\n <h1><%blogsetting(name)%></h1>\r\n\r\n <h2>Search</h2>\r\n <%searchform%>\r\n\r\n <h2>Search results</h2>\r\n <%searchresults(grey/short)%>\r\n\r\n</div><!-- end of the contents div -->\r\n\r\n<!-- definition of the logo left-top -->\r\n<div class="logo">\r\n <a href="<%sitevar(url)%>"><img src="<%skinfile(atom3.gif)%>" width="155" height="137" alt="" /></a>\r\n</div>\r\n\r\n<!-- definition of the menu -->\r\n<div class="menu">\r\n <!-- accessibility anchor -->\r\n <a name="navigation" id="navigation" class="skip"></a>\r\n <h1 class="skip">Navigation</h1>\r\n\r\n <h2>Navigation</h2>\r\n\r\n <ul class="nobullets">\r\n   <li><a href="<%todaylink%>">Today</a></li>\r\n   <li><a href="<%archivelink%>">Archives</a></li>\r\n   <li><a href="<%adminurl%>">Admin Area</a></li>\r\n </ul>\r\n\r\n <h2>Search</h2>\r\n <%searchform%>\r\n \r\n <h2>Login</h2>\r\n <%loginform%>\r\n\r\n <h2>Powered by</h2>\r\n <%nucleusbutton(nucleus.gif,85,31)%>\r\n\r\n</div>\r\n\r\n</body>\r\n</html>');
+
+CREATE TABLE `nucleus_skin_desc` (
+  `sdnumber` int(11) NOT NULL auto_increment,
+  `sdname` varchar(20) NOT NULL default '',
+  `sddesc` varchar(200) default NULL,
+  `sdtype` varchar(40) NOT NULL default 'text/html',
+  `sdincmode` varchar(10) NOT NULL default 'normal',
+  `sdincpref` varchar(50) NOT NULL default '',
+  PRIMARY KEY  (`sdnumber`),
+  UNIQUE KEY `sdname` (`sdname`),
+  UNIQUE KEY `sdnumber` (`sdnumber`)
+) TYPE=MyISAM;
+
+INSERT INTO `nucleus_skin_desc` VALUES (2, 'feeds/atom', 'Atom 0.3 weblog syndication', 'application/atom+xml', 'normal', '');
+INSERT INTO `nucleus_skin_desc` VALUES (3, 'feeds/rss20', 'RSS 2.0 syndication of weblogs', 'text/xml', 'normal', '');
+INSERT INTO `nucleus_skin_desc` VALUES (4, 'api/rsd', 'RSD (Really Simple Discovery) information for weblog clients', 'text/xml', 'normal', '');
+INSERT INTO `nucleus_skin_desc` VALUES (1, 'grey', 'Default skin to display your blog', 'text/html', 'skindir', 'grey/');
+
+CREATE TABLE `nucleus_team` (
+  `tmember` int(11) NOT NULL default '0',
+  `tblog` int(11) NOT NULL default '0',
+  `tadmin` tinyint(2) NOT NULL default '0',
+  PRIMARY KEY  (`tmember`,`tblog`)
+) TYPE=MyISAM;
+
+INSERT INTO `nucleus_team` VALUES (1, 1, 1);
+
+CREATE TABLE `nucleus_template` (
+  `tdesc` int(11) NOT NULL default '0',
+  `tpartname` varchar(20) NOT NULL default '',
+  `tcontent` text NOT NULL,
+  PRIMARY KEY  (`tdesc`,`tpartname`)
+) TYPE=MyISAM;
+
+INSERT INTO `nucleus_template` VALUES (3, 'ITEM', '<item>\r\n <title><![CDATA[<%title%>]]></title>\r\n <link><%blogurl%>?itemid=<%itemid%></link>\r\n<description><![CDATA[<%body%><%more%>]]></description>\r\n <category><%category%></category>\r\n<comments><%blogurl%>?itemid=<%itemid%></comments>\r\n <pubDate><%date(rfc822)%></pubDate>\r\n</item>');
+INSERT INTO `nucleus_template` VALUES (3, 'EDITLINK', '<a href="<%editlink%>" onclick="<%editpopupcode%>">edit</a>');
+INSERT INTO `nucleus_template` VALUES (4, 'ITEM', '<%date(utc)%>');
+INSERT INTO `nucleus_template` VALUES (5, 'ITEM', '<entry>\r\n <title type="text/html" mode="escaped"><![CDATA[<%title%>]]></title>\r\n <link rel="alternate" type="text/html" href="<%blogurl%>?itemid=<%itemid%>" />\r\n <author>\r\n  <name><%author%></name>\r\n </author>\r\n <modified><%date(utc)%></modified>\r\n <issued><%date(iso8601)%></issued>\r\n <content type="text/html" mode="escaped"><![CDATA[<%body%><%more%>]]></content>\r\n <id><%blogurl%>:<%blogid%>:<%itemid%></id>\r\n</entry>');
+INSERT INTO `nucleus_template` VALUES (1, 'ARCHIVELIST_FOOTER', '</ul>');
+INSERT INTO `nucleus_template` VALUES (1, 'ARCHIVELIST_HEADER', '<ul>');
+INSERT INTO `nucleus_template` VALUES (1, 'ARCHIVELIST_LISTITEM', '<li><a href="<%archivelink%>">%Y-%m</a></li>');
+INSERT INTO `nucleus_template` VALUES (1, 'CATLIST_FOOTER', '</ul>');
+INSERT INTO `nucleus_template` VALUES (1, 'CATLIST_HEADER', '<ul class="nobullets">\n <li><a href="<%blogurl%>">All</a></li>');
+INSERT INTO `nucleus_template` VALUES (1, 'CATLIST_LISTITEM', ' <li><a href="<%catlink%>"><%catname%></a></li>');
+INSERT INTO `nucleus_template` VALUES (1, 'COMMENTS_MANY', 'comments');
+INSERT INTO `nucleus_template` VALUES (1, 'COMMENTS_NONE', '<a href="<%itemlink%>" rel="bookmark">No <%commentword%></a>');
+INSERT INTO `nucleus_template` VALUES (1, 'COMMENTS_ONE', 'comment');
+INSERT INTO `nucleus_template` VALUES (1, 'COMMENTS_TOOMUCH', '<a href="<%itemlink%>" rel="bookmark"><%commentcount%> <%commentword%></a>');
+INSERT INTO `nucleus_template` VALUES (1, 'DATE_HEADER', '<h2>%Y-%m-%d</h2>\n');
+INSERT INTO `nucleus_template` VALUES (1, 'EDITLINK', '<a href="<%editlink%>" onclick="<%editpopupcode%>">edit</a> -');
+INSERT INTO `nucleus_template` VALUES (1, 'FORMAT_DATE', '%Y-%m-%d');
+INSERT INTO `nucleus_template` VALUES (1, 'FORMAT_TIME', '%H:%M:%S');
+INSERT INTO `nucleus_template` VALUES (1, 'IMAGE_CODE', '<%image%>');
+INSERT INTO `nucleus_template` VALUES (1, 'ITEM', '<h3 class="item"><%title%></h3>\n\n<div class="itembody">\n  <%body%>\n  <%morelink%>\n</div>\n\n<div class="iteminfo">\n  <%time%> -\n  <a href="<%authorlink%>"><%author%></a> -\n  <%edit%>\n  <%comments%>\n</div>\n');
+INSERT INTO `nucleus_template` VALUES (1, 'LOCALE', 'ja_JP.EUC-JP');
+INSERT INTO `nucleus_template` VALUES (1, 'MEDIA_CODE', '<%media%>');
+INSERT INTO `nucleus_template` VALUES (1, 'MORELINK', '<a href="<%itemlink%>">[Read More!]</a>');
+INSERT INTO `nucleus_template` VALUES (1, 'POPUP_CODE', '<%popuplink%>');
+INSERT INTO `nucleus_template` VALUES (1, 'SEARCH_HIGHLIGHT', '<span class="highlight">\\0</span>');
+INSERT INTO `nucleus_template` VALUES (1, 'SEARCH_NOTHINGFOUND', 'No search results found for <b><%query%></b>');
+INSERT INTO `nucleus_template` VALUES (2, 'COMMENTS_ONE', 'comment');
+INSERT INTO `nucleus_template` VALUES (2, 'COMMENTS_MANY', 'comments');
+INSERT INTO `nucleus_template` VALUES (2, 'COMMENTS_BODY', '<h3 class="comment"><%userlink%> wrote:</h3>\r\n\r\n<div class="commentbody">\r\n  <%body%>\r\n</div>\r\n\r\n<div class="commentinfo">\r\n  <%date%> <%time%>\r\n</div>');
+INSERT INTO `nucleus_template` VALUES (2, 'EDITLINK', '- <a href="<%editlink%>" onclick="<%editpopupcode%>">edit</a>');
+INSERT INTO `nucleus_template` VALUES (2, 'ITEM', '<h2><%date(%Y-%m-%d)%></h2>\r\n<h3 class="item"><%title%></h3>\r\n\r\n<div class="itembody">\r\n  <%body%>\r\n  <br /><br />\r\n  <%more%>\r\n</div>\r\n\r\n<div class="iteminfo">\r\n  posted at <%time%> on <%date%>\r\n  by <a href="?memberid=<%authorid%>"><%author%></a> -\r\n  Category: <a href="<%categorylink%>"><%category%></a>\r\n  <%edit%>\r\n</div>\r\n');
+INSERT INTO `nucleus_template` VALUES (3, 'FORMAT_DATE', '%Y-%m-%d');
+INSERT INTO `nucleus_template` VALUES (3, 'FORMAT_TIME', '%H:%M:%S');
+INSERT INTO `nucleus_template` VALUES (2, 'COMMENTS_NONE', '<div class="comments">No comments yet</div>');
+INSERT INTO `nucleus_template` VALUES (2, 'FORMAT_DATE', '%Y-%m-%d');
+INSERT INTO `nucleus_template` VALUES (2, 'FORMAT_TIME', '%H:%M:%S');
+INSERT INTO `nucleus_template` VALUES (2, 'LOCALE', 'ja_JP.EUC-JP');
+INSERT INTO `nucleus_template` VALUES (2, 'SEARCH_HIGHLIGHT', '<span class="highlight">\\0</span>');
+INSERT INTO `nucleus_template` VALUES (2, 'POPUP_CODE', '<%popuplink%>');
+INSERT INTO `nucleus_template` VALUES (2, 'MEDIA_CODE', '<%media%>');
+INSERT INTO `nucleus_template` VALUES (2, 'IMAGE_CODE', '<%image%>');
+
+CREATE TABLE `nucleus_template_desc` (
+  `tdnumber` int(11) NOT NULL auto_increment,
+  `tdname` varchar(20) NOT NULL default '',
+  `tddesc` varchar(200) default NULL,
+  PRIMARY KEY  (`tdnumber`),
+  UNIQUE KEY `tdnumber` (`tdnumber`),
+  UNIQUE KEY `tdname` (`tdname`)
+) TYPE=MyISAM;
+
+INSERT INTO `nucleus_template_desc` VALUES (4, 'feeds/atom/modified', 'Atom feeds: Inserts last modification date');
+INSERT INTO `nucleus_template_desc` VALUES (5, 'feeds/atom/entries', 'Atom feeds: Feed items');
+INSERT INTO `nucleus_template_desc` VALUES (3, 'feeds/rss20', 'Used for RSS 2.0 syndication of your blog');
+INSERT INTO `nucleus_template_desc` VALUES (1, 'grey/short', 'The default template that is used to display your Nucleus blog');
+INSERT INTO `nucleus_template_desc` VALUES (2, 'grey/full', 'Used for detailed item pages');
+
+CREATE TABLE `nucleus_activation` (
+  `vkey` varchar(40) NOT NULL default '',
+  `vtime` datetime NOT NULL default '0000-00-00 00:00:00',
+  `vmember` int(11) NOT NULL default '0',
+  `vtype` varchar(15) NOT NULL default '',
+  `vextra` varchar(128) NOT NULL default '',
+  PRIMARY KEY  (`vkey`)
+) TYPE=MyISAM;
+
+CREATE TABLE `nucleus_tickets` (
+  `ticket` varchar(40) NOT NULL default '',
+  `ctime` datetime NOT NULL default '0000-00-00 00:00:00',
+  `member` int(11) NOT NULL default '0',
+  PRIMARY KEY  (`ticket`, `member`)
+) TYPE=MyISAM;
diff --git a/euc/license.txt b/euc/license.txt
new file mode 100755 (executable)
index 0000000..13a56b1
--- /dev/null
@@ -0,0 +1,340 @@
+                   GNU GENERAL PUBLIC LICENSE\r
+                      Version 2, June 1991\r
+\r
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.\r
+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
+ Everyone is permitted to copy and distribute verbatim copies\r
+ of this license document, but changing it is not allowed.\r
+\r
+                           Preamble\r
+\r
+  The licenses for most software are designed to take away your\r
+freedom to share and change it.  By contrast, the GNU General Public\r
+License is intended to guarantee your freedom to share and change free\r
+software--to make sure the software is free for all its users.  This\r
+General Public License applies to most of the Free Software\r
+Foundation's software and to any other program whose authors commit to\r
+using it.  (Some other Free Software Foundation software is covered by\r
+the GNU Library General Public License instead.)  You can apply it to\r
+your programs, too.\r
+\r
+  When we speak of free software, we are referring to freedom, not\r
+price.  Our General Public Licenses are designed to make sure that you\r
+have the freedom to distribute copies of free software (and charge for\r
+this service if you wish), that you receive source code or can get it\r
+if you want it, that you can change the software or use pieces of it\r
+in new free programs; and that you know you can do these things.\r
+\r
+  To protect your rights, we need to make restrictions that forbid\r
+anyone to deny you these rights or to ask you to surrender the rights.\r
+These restrictions translate to certain responsibilities for you if you\r
+distribute copies of the software, or if you modify it.\r
+\r
+  For example, if you distribute copies of such a program, whether\r
+gratis or for a fee, you must give the recipients all the rights that\r
+you have.  You must make sure that they, too, receive or can get the\r
+source code.  And you must show them these terms so they know their\r
+rights.\r
+\r
+  We protect your rights with two steps: (1) copyright the software, and\r
+(2) offer you this license which gives you legal permission to copy,\r
+distribute and/or modify the software.\r
+\r
+  Also, for each author's protection and ours, we want to make certain\r
+that everyone understands that there is no warranty for this free\r
+software.  If the software is modified by someone else and passed on, we\r
+want its recipients to know that what they have is not the original, so\r
+that any problems introduced by others will not reflect on the original\r
+authors' reputations.\r
+\r
+  Finally, any free program is threatened constantly by software\r
+patents.  We wish to avoid the danger that redistributors of a free\r
+program will individually obtain patent licenses, in effect making the\r
+program proprietary.  To prevent this, we have made it clear that any\r
+patent must be licensed for everyone's free use or not licensed at all.\r
+\r
+  The precise terms and conditions for copying, distribution and\r
+modification follow.\r
+\r
+                   GNU GENERAL PUBLIC LICENSE\r
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\r
+\r
+  0. This License applies to any program or other work which contains\r
+a notice placed by the copyright holder saying it may be distributed\r
+under the terms of this General Public License.  The "Program", below,\r
+refers to any such program or work, and a "work based on the Program"\r
+means either the Program or any derivative work under copyright law:\r
+that is to say, a work containing the Program or a portion of it,\r
+either verbatim or with modifications and/or translated into another\r
+language.  (Hereinafter, translation is included without limitation in\r
+the term "modification".)  Each licensee is addressed as "you".\r
+\r
+Activities other than copying, distribution and modification are not\r
+covered by this License; they are outside its scope.  The act of\r
+running the Program is not restricted, and the output from the Program\r
+is covered only if its contents constitute a work based on the\r
+Program (independent of having been made by running the Program).\r
+Whether that is true depends on what the Program does.\r
+\r
+  1. You may copy and distribute verbatim copies of the Program's\r
+source code as you receive it, in any medium, provided that you\r
+conspicuously and appropriately publish on each copy an appropriate\r
+copyright notice and disclaimer of warranty; keep intact all the\r
+notices that refer to this License and to the absence of any warranty;\r
+and give any other recipients of the Program a copy of this License\r
+along with the Program.\r
+\r
+You may charge a fee for the physical act of transferring a copy, and\r
+you may at your option offer warranty protection in exchange for a fee.\r
+\r
+  2. You may modify your copy or copies of the Program or any portion\r
+of it, thus forming a work based on the Program, and copy and\r
+distribute such modifications or work under the terms of Section 1\r
+above, provided that you also meet all of these conditions:\r
+\r
+    a) You must cause the modified files to carry prominent notices\r
+    stating that you changed the files and the date of any change.\r
+\r
+    b) You must cause any work that you distribute or publish, that in\r
+    whole or in part contains or is derived from the Program or any\r
+    part thereof, to be licensed as a whole at no charge to all third\r
+    parties under the terms of this License.\r
+\r
+    c) If the modified program normally reads commands interactively\r
+    when run, you must cause it, when started running for such\r
+    interactive use in the most ordinary way, to print or display an\r
+    announcement including an appropriate copyright notice and a\r
+    notice that there is no warranty (or else, saying that you provide\r
+    a warranty) and that users may redistribute the program under\r
+    these conditions, and telling the user how to view a copy of this\r
+    License.  (Exception: if the Program itself is interactive but\r
+    does not normally print such an announcement, your work based on\r
+    the Program is not required to print an announcement.)\r
+\r
+These requirements apply to the modified work as a whole.  If\r
+identifiable sections of that work are not derived from the Program,\r
+and can be reasonably considered independent and separate works in\r
+themselves, then this License, and its terms, do not apply to those\r
+sections when you distribute them as separate works.  But when you\r
+distribute the same sections as part of a whole which is a work based\r
+on the Program, the distribution of the whole must be on the terms of\r
+this License, whose permissions for other licensees extend to the\r
+entire whole, and thus to each and every part regardless of who wrote it.\r
+\r
+Thus, it is not the intent of this section to claim rights or contest\r
+your rights to work written entirely by you; rather, the intent is to\r
+exercise the right to control the distribution of derivative or\r
+collective works based on the Program.\r
+\r
+In addition, mere aggregation of another work not based on the Program\r
+with the Program (or with a work based on the Program) on a volume of\r
+a storage or distribution medium does not bring the other work under\r
+the scope of this License.\r
+\r
+  3. You may copy and distribute the Program (or a work based on it,\r
+under Section 2) in object code or executable form under the terms of\r
+Sections 1 and 2 above provided that you also do one of the following:\r
+\r
+    a) Accompany it with the complete corresponding machine-readable\r
+    source code, which must be distributed under the terms of Sections\r
+    1 and 2 above on a medium customarily used for software interchange; or,\r
+\r
+    b) Accompany it with a written offer, valid for at least three\r
+    years, to give any third party, for a charge no more than your\r
+    cost of physically performing source distribution, a complete\r
+    machine-readable copy of the corresponding source code, to be\r
+    distributed under the terms of Sections 1 and 2 above on a medium\r
+    customarily used for software interchange; or,\r
+\r
+    c) Accompany it with the information you received as to the offer\r
+    to distribute corresponding source code.  (This alternative is\r
+    allowed only for noncommercial distribution and only if you\r
+    received the program in object code or executable form with such\r
+    an offer, in accord with Subsection b above.)\r
+\r
+The source code for a work means the preferred form of the work for\r
+making modifications to it.  For an executable work, complete source\r
+code means all the source code for all modules it contains, plus any\r
+associated interface definition files, plus the scripts used to\r
+control compilation and installation of the executable.  However, as a\r
+special exception, the source code distributed need not include\r
+anything that is normally distributed (in either source or binary\r
+form) with the major components (compiler, kernel, and so on) of the\r
+operating system on which the executable runs, unless that component\r
+itself accompanies the executable.\r
+\r
+If distribution of executable or object code is made by offering\r
+access to copy from a designated place, then offering equivalent\r
+access to copy the source code from the same place counts as\r
+distribution of the source code, even though third parties are not\r
+compelled to copy the source along with the object code.\r
+\r
+  4. You may not copy, modify, sublicense, or distribute the Program\r
+except as expressly provided under this License.  Any attempt\r
+otherwise to copy, modify, sublicense or distribute the Program is\r
+void, and will automatically terminate your rights under this License.\r
+However, parties who have received copies, or rights, from you under\r
+this License will not have their licenses terminated so long as such\r
+parties remain in full compliance.\r
+\r
+  5. You are not required to accept this License, since you have not\r
+signed it.  However, nothing else grants you permission to modify or\r
+distribute the Program or its derivative works.  These actions are\r
+prohibited by law if you do not accept this License.  Therefore, by\r
+modifying or distributing the Program (or any work based on the\r
+Program), you indicate your acceptance of this License to do so, and\r
+all its terms and conditions for copying, distributing or modifying\r
+the Program or works based on it.\r
+\r
+  6. Each time you redistribute the Program (or any work based on the\r
+Program), the recipient automatically receives a license from the\r
+original licensor to copy, distribute or modify the Program subject to\r
+these terms and conditions.  You may not impose any further\r
+restrictions on the recipients' exercise of the rights granted herein.\r
+You are not responsible for enforcing compliance by third parties to\r
+this License.\r
+\r
+  7. If, as a consequence of a court judgment or allegation of patent\r
+infringement or for any other reason (not limited to patent issues),\r
+conditions are imposed on you (whether by court order, agreement or\r
+otherwise) that contradict the conditions of this License, they do not\r
+excuse you from the conditions of this License.  If you cannot\r
+distribute so as to satisfy simultaneously your obligations under this\r
+License and any other pertinent obligations, then as a consequence you\r
+may not distribute the Program at all.  For example, if a patent\r
+license would not permit royalty-free redistribution of the Program by\r
+all those who receive copies directly or indirectly through you, then\r
+the only way you could satisfy both it and this License would be to\r
+refrain entirely from distribution of the Program.\r
+\r
+If any portion of this section is held invalid or unenforceable under\r
+any particular circumstance, the balance of the section is intended to\r
+apply and the section as a whole is intended to apply in other\r
+circumstances.\r
+\r
+It is not the purpose of this section to induce you to infringe any\r
+patents or other property right claims or to contest validity of any\r
+such claims; this section has the sole purpose of protecting the\r
+integrity of the free software distribution system, which is\r
+implemented by public license practices.  Many people have made\r
+generous contributions to the wide range of software distributed\r
+through that system in reliance on consistent application of that\r
+system; it is up to the author/donor to decide if he or she is willing\r
+to distribute software through any other system and a licensee cannot\r
+impose that choice.\r
+\r
+This section is intended to make thoroughly clear what is believed to\r
+be a consequence of the rest of this License.\r
+\r
+  8. If the distribution and/or use of the Program is restricted in\r
+certain countries either by patents or by copyrighted interfaces, the\r
+original copyright holder who places the Program under this License\r
+may add an explicit geographical distribution limitation excluding\r
+those countries, so that distribution is permitted only in or among\r
+countries not thus excluded.  In such case, this License incorporates\r
+the limitation as if written in the body of this License.\r
+\r
+  9. The Free Software Foundation may publish revised and/or new versions\r
+of the General Public License from time to time.  Such new versions will\r
+be similar in spirit to the present version, but may differ in detail to\r
+address new problems or concerns.\r
+\r
+Each version is given a distinguishing version number.  If the Program\r
+specifies a version number of this License which applies to it and "any\r
+later version", you have the option of following the terms and conditions\r
+either of that version or of any later version published by the Free\r
+Software Foundation.  If the Program does not specify a version number of\r
+this License, you may choose any version ever published by the Free Software\r
+Foundation.\r
+\r
+  10. If you wish to incorporate parts of the Program into other free\r
+programs whose distribution conditions are different, write to the author\r
+to ask for permission.  For software which is copyrighted by the Free\r
+Software Foundation, write to the Free Software Foundation; we sometimes\r
+make exceptions for this.  Our decision will be guided by the two goals\r
+of preserving the free status of all derivatives of our free software and\r
+of promoting the sharing and reuse of software generally.\r
+\r
+                           NO WARRANTY\r
+\r
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\r
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\r
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\r
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\r
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\r
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\r
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\r
+REPAIR OR CORRECTION.\r
+\r
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\r
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\r
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\r
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\r
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\r
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\r
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\r
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\r
+POSSIBILITY OF SUCH DAMAGES.\r
+\r
+                    END OF TERMS AND CONDITIONS\r
+\r
+           How to Apply These Terms to Your New Programs\r
+\r
+  If you develop a new program, and you want it to be of the greatest\r
+possible use to the public, the best way to achieve this is to make it\r
+free software which everyone can redistribute and change under these terms.\r
+\r
+  To do so, attach the following notices to the program.  It is safest\r
+to attach them to the start of each source file to most effectively\r
+convey the exclusion of warranty; and each file should have at least\r
+the "copyright" line and a pointer to where the full notice is found.\r
+\r
+    <one line to give the program's name and a brief idea of what it does.>\r
+    Copyright (C) <year>  <name of author>\r
+\r
+    This program is free software; you can redistribute it and/or modify\r
+    it under the terms of the GNU General Public License as published by\r
+    the Free Software Foundation; either version 2 of the License, or\r
+    (at your option) any later version.\r
+\r
+    This program is distributed in the hope that it will be useful,\r
+    but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+    GNU General Public License for more details.\r
+\r
+    You should have received a copy of the GNU General Public License\r
+    along with this program; if not, write to the Free Software\r
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
+\r
+\r
+Also add information on how to contact you by electronic and paper mail.\r
+\r
+If the program is interactive, make it output a short notice like this\r
+when it starts in an interactive mode:\r
+\r
+    Gnomovision version 69, Copyright (C) year name of author\r
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\r
+    This is free software, and you are welcome to redistribute it\r
+    under certain conditions; type `show c' for details.\r
+\r
+The hypothetical commands `show w' and `show c' should show the appropriate\r
+parts of the General Public License.  Of course, the commands you use may\r
+be called something other than `show w' and `show c'; they could even be\r
+mouse-clicks or menu items--whatever suits your program.\r
+\r
+You should also get your employer (if you work as a programmer) or your\r
+school, if any, to sign a "copyright disclaimer" for the program, if\r
+necessary.  Here is a sample; alter the names:\r
+\r
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program\r
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.\r
+\r
+  <signature of Ty Coon>, 1 April 1989\r
+  Ty Coon, President of Vice\r
+\r
+This General Public License does not permit incorporating your program into\r
+proprietary programs.  If your program is a subroutine library, you may\r
+consider it more useful to permit linking proprietary applications with the\r
+library.  If this is what you want to do, use the GNU Library General\r
+Public License instead of this License.\r
diff --git a/euc/media/readme.txt b/euc/media/readme.txt
new file mode 100755 (executable)
index 0000000..3cd7c76
--- /dev/null
@@ -0,0 +1,15 @@
+Nucleus Media Directory\r
+-----------------------\r
+\r
+Uploaded images will end up in the media directory.\r
+\r
+Subdirectories work as follows:\r
+\r
+* numeric (e.g. /media/1/)\r
+\r
+Media files for a certain member (directory name is the memberid)\r
+\r
+* other directories (e.g. /media/common/)\r
+\r
+Global media collections that can be used by any member that is on a team. In order to create a new collection, simply create a new directory and assure write access is enabled for it.\r
+\r
diff --git a/euc/nucleus/bookmarklet.php b/euc/nucleus/bookmarklet.php
new file mode 100755 (executable)
index 0000000..97a0d3d
--- /dev/null
@@ -0,0 +1,325 @@
+<?php
+/**
+  * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/) 
+  * Copyright (C) 2002-2004 The Nucleus Group
+  *
+  * This program is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU General Public License
+  * as published by the Free Software Foundation; either version 2
+  * of the License, or (at your option) any later version.
+  * (see nucleus/documentation/index.html#license for more info)
+  *
+  * This script allows adding items to Nucleus through bookmarklets. The member must be logged in
+  * in order to use this.
+  *
+  * $Id: bookmarklet.php,v 1.1.1.1 2005-02-28 07:13:53 kimitake Exp $
+  */
+
+// bookmarklet is part of admin area (might need XML-RPC)
+$CONF = array();
+$CONF['UsingAdminArea'] = 1;
+
+// include all classes and config data 
+include('../config.php');
+
+$action = requestVar('action');
+
+if ($action == 'contextmenucode') {
+       bm_doContextMenuCode();
+       exit;
+}
+
+if (!$member->isLoggedIn()) {
+       bm_loginAndPassThrough();
+       exit;
+}
+
+// on successfull login
+if (($action == 'login') && ($member->isLoggedIn()))
+       $action = requestVar('nextaction');
+if ($action == '')
+       $action = 'add';
+       
+sendContentType('application/xhtml+xml', 'bookmarklet-'.$action);      
+
+// check ticket
+$action = strtolower($action);
+$aActionsNotToCheck = array('login', 'add', 'edit');
+if (!in_array($action, $aActionsNotToCheck))
+{
+       if (!$manager->checkTicket())
+               bm_doError(_ERROR_BADTICKET);
+} 
+
+
+// find out what to do
+switch ($action) {
+       case 'additem':
+               bm_doAddItem();         // adds the item for real
+               break;
+       case 'edit':
+               bm_doEditForm();        // shows the edit item form
+               break;
+       case 'edititem':                // edits the item for real
+               bm_doEditItem();
+               break;
+       case 'login':                   // on login, 'action' gets changed to 'nextaction'
+               bm_doError('Something went wrong');
+               break;
+       case 'add':
+       default:
+               bm_doShowForm();        // shows the fill in form
+               break;
+}
+       
+function bm_doAddItem() {
+       global $member, $manager;
+       
+       $manager->loadClass('ITEM');
+       $result = ITEM::createFromRequest();
+       
+       if ($result['status'] == 'error')
+               bm_doError($result['message']);
+
+       $blogid = getBlogIDFromItemID($result['itemid']);
+       $blog =& $manager->getBlog($blogid);
+       
+       if ($result['status'] == 'newcategory') {
+               $message = '¥¢¥¤¥Æ¥à¤ÏÄɲ䵤졢¿·¤·¤¤¥«¥Æ¥´¥ê¡¼¤¬ºîÀ®¤µ¤ì¤Þ¤·¤¿¡£ <a href="index.php?action=categoryedit&amp;blogid='.$blogid.'&amp;catid='.$result['catid'].'" onclick="if (event &amp;&amp; event.preventDefault) event.preventDefault(); window.open(this.href); return false;" title="Opens in new window">¤³¤³¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¥«¥Æ¥´¥ê¡¼¤Î̾Á°¤ÈÀâÌÀ¤òÊÔ½¸¤·¤Æ¤¯¤À¤µ¤¤¡£</a>';
+               $extrahead = '';
+       } elseif ((postVar('actiontype') == 'addnow') && $blog->pingUserland()) {
+               $message = '¥¢¥¤¥Æ¥à¤ÎÄɲäËÀ®¸ù¤·¤Þ¤·¤¿¡£¸½ºßweblogs.com¤Ëping¤òÁ÷¤Ã¤Æ¤¤¤Þ¤¹¡£¤·¤Ð¤é¤¯¤Î´Ö¤ªÂÔ¤Á¤¯¤À¤µ¤¤...';
+               $extrahead = '<meta http-equiv="refresh" content="1; url=index.php?action=sendping&amp;blogid=' . $blogid . '" />';
+       } else {
+               $message = _ITEM_ADDED;
+               $extrahead = '';
+       }
+       
+       bm_message(_ITEM_ADDED, _ITEM_ADDED, $message,$extrahead);
+}
+
+function bm_doEditItem() {
+       global $member, $manager, $CONF;
+       
+       $itemid         = intRequestVar('itemid');
+       $catid          = postVar('catid');
+       
+       // only allow if user is allowed to alter item
+       if (!$member->canUpdateItem($itemid, $catid))
+               bm_doError(_ERROR_DISALLOWED);
+
+       $body           = postVar('body');
+       $title          = postVar('title');
+       $more           = postVar('more');
+       $closed         = intPostVar('closed');
+       $actiontype = postVar('actiontype');
+       
+       // redirect to admin area on delete (has delete confirmation)
+       if ($actiontype == 'delete') {
+               redirect('index.php?action=itemdelete&itemid='.$itemid);
+               exit;   
+       }
+       
+       // create new category if needed (only on edit/changedate)
+       if (strstr($catid,'newcat')) {
+               // get blogid 
+               list($blogid) = sscanf($catid,"newcat-%d");
+
+               // create
+               $blog =& $manager->getBlog($blogid);
+               $catid = $blog->createNewCategory();
+
+               // show error when sth goes wrong
+               if (!$catid) 
+                       bm_doError('Could not create new category');
+       } 
+
+       // only edit action is allowed for bookmarklet edit
+       switch ($actiontype) {
+               case 'changedate':
+                       $publish = 1;
+                       $wasdraft = 0;
+                       $timestamp = mktime(postVar('hour'), postVar('minutes'), 0, postVar('month'), postVar('day'), postVar('year'));
+                       break;
+               case 'edit':
+                       $publish = 1;
+                       $wasdraft = 0;
+                       $timestamp = 0;
+                       break;
+               default:
+                       bm_doError('Something went wrong');
+       }
+       
+       // update item for real
+       ITEM::update($itemid, $catid, $title, $body, $more, $closed, $wasdraft, $publish, $timestamp);
+       
+       // show success message
+       if ($catid != intPostVar('catid'))
+               bm_message(_ITEM_UPDATED, _ITEM_UPDATED, '¥¢¥¤¥Æ¥à¤ÏÄɲ䵤졢¿·¤·¤¤¥«¥Æ¥´¥ê¡¼¤¬ºîÀ®¤µ¤ì¤Þ¤·¤¿¡£<a href="index.php?action=categoryedit&amp;blogid='.$blog->getID().'&amp;catid='.$catid.'" onclick="if (event &amp;&amp; event.preventDefault) event.preventDefault(); window.open(this.href); return false;" title="Opens in new window">¤³¤³¤ò¥¯¥ê¥Ã¥¯¤·¤Æ¥«¥Æ¥´¥ê¡¼¤Î̾Á°¤ÈÀâÌÀ¤òÊÔ½¸¤·¤Æ¤¯¤À¤µ¤¤¡£</a>', '');
+       else
+               bm_message(_ITEM_UPDATED, _ITEM_UPDATED, _ITEM_UPDATED, '');
+}
+
+function bm_loginAndPassThrough() {
+
+       $blogid = intRequestVar('blogid');
+       $log_text = requestVar('logtext');
+       $log_link = requestVar('loglink');
+       $log_linktitle = requestVar('loglinktitle');
+       
+       ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+       <html xmlns="http://www.w3.org/1999/xhtml">
+       <head>
+               <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />
+               <title>Nucleus</title>
+               <?php bm_style(); ?>
+       </head>
+       <body>
+       <h1><?php echo _LOGIN_PLEASE?></h1>
+       
+       <form method="post" action="bookmarklet.php">
+       <p>
+               <input name="action" value="login" type="hidden" />
+               <input name="blogid" value="<?php echo  htmlspecialchars($blogid) ?>" type="hidden" />
+               <input name="logtext" value="<?php echo  htmlspecialchars($log_text) ?>" type="hidden" />
+               <input name="loglink" value="<?php echo  htmlspecialchars($log_link) ?>" type="hidden" />
+               <input name="loglinktitle" value="<?php echo  htmlspecialchars($log_linktitle) ?>" type="hidden" />
+               <?php echo _LOGINFORM_NAME?>:
+               <br /><input name="login" />
+               <br /><?php echo _LOGINFORM_PWD?>:
+               <br /><input name="password" type="password" />
+               <br /><br />
+               <br /><input type="submit" value="<?php echo _LOGIN?>" />
+       </p>
+       </form>
+       <p><a href="bookmarklet.php" onclick="window.close();"><?php echo _POPUP_CLOSE?></a></p>
+       </body>
+       </html>
+       <?php
+}
+
+function bm_doShowForm() {
+       global $member;
+       
+       $blogid = intRequestVar('blogid');
+       $log_text = trim(requestVar('logtext'));
+       $log_link = requestVar('loglink');
+       $log_linktitle = requestVar('loglinktitle');
+
+       $log_text = uniDecode($log_text,_CHARSET);
+       $log_linktitle = uniDecode($log_linktitle,_CHARSET);
+
+       if (!BLOG::existsID($blogid))
+               bm_doError(_ERROR_NOSUCHBLOG);
+
+       if (!$member->isTeamMember($blogid))
+               bm_doError(_ERROR_NOTONTEAM);
+       
+       $logje = '';
+       if ($log_text)
+               $logje .= '<blockquote><div>"' . htmlspecialchars($log_text) .'"</div></blockquote>' . "\n";
+       if (!$log_linktitle)
+               $log_linktitle = $log_link;
+       if ($log_link) 
+               $logje .= '<a href="'. htmlspecialchars($log_link) . '">'. htmlspecialchars($log_linktitle).'</a>';
+               
+
+       $item['body'] = $logje;
+       $item['title'] = htmlspecialchars($log_linktitle);
+
+       $factory = new PAGEFACTORY($blogid);
+       $factory->createAddForm('bookmarklet',$item);
+}
+
+function bm_doEditForm() {
+       global $member, $manager;
+       
+       $itemid = intRequestVar('itemid');
+       
+       if (!$manager->existsItem($itemid, 0, 0)) 
+               bm_doError(_ERROR_NOSUCHITEM);
+               
+       if (!$member->canAlterItem($itemid))
+               bm_doError(_ERROR_DISALLOWED);
+               
+       $item =& $manager->getItem($itemid,1,1);
+       $blog =& $manager->getBlog(getBlogIDFromItemID($itemid));
+       
+       $manager->notify('PrepareItemForEdit', array('item' => &$item));
+
+       if ($blog->convertBreaks()) {
+               $item['body'] = removeBreaks($item['body']);
+               $item['more'] = removeBreaks($item['more']);
+       }
+
+       $formfactory = new PAGEFACTORY($blog->getID());
+       $formfactory->createEditForm('bookmarklet',$item);              
+
+}
+
+function bm_doError($msg) {
+       bm_message(_ERROR,_ERRORMSG,$msg);
+       die;
+}
+
+function bm_message($title, $head, $msg, $extrahead = '') {
+       ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+       <html xmlns="http://www.w3.org/1999/xhtml">
+       <head>
+               <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />
+               <title><?php echo  $title ?></title>
+               <?php bm_style(); ?>
+               <?php echo $extrahead?>
+       </head>
+       <body>
+       <h1><?php echo  $head ?></h1>
+       <p><?php echo  $msg ?></p>
+       <p><a href="bookmarklet.php" onclick="window.close();"><?php echo _POPUP_CLOSE?></a></p>
+       </body>
+       </html>
+       
+       <?php }
+
+function bm_style() {
+       echo '<link rel="stylesheet" type="text/css" href="styles/bookmarklet.css" />';
+       echo '<link rel="stylesheet" type="text/css" href="styles/addedit.css" />';     
+}
+
+function bm_doContextMenuCode() {
+       global $CONF;
+       ?>
+<script type="text/javascript" defer="defer">
+doc=external.menuArguments.document;
+lt=escape(doc.selection.createRange().text);
+loglink=escape(external.menuArguments.location.href);
+loglinktitle=escape(doc.title);
+wingm=window.open('<?php echo $CONF['AdminURL']?>bookmarklet.php?blogid=<?php echo intGetVar('blogid')?>&logtext='+lt+'&loglink='+loglink+'&loglinktitle='+loglinktitle,'nucleusbm','scrollbars=yes,width=600,height=500,left=10,top=10,status=yes,resizable=yes');
+wingm.focus();
+</script>      
+       <?php
+}
+
+function uniDecode($str,$charcode){
+  $text = preg_replace_callback("/%u[0-9A-Za-z]{4}/",toUtf8,$str);
+  return mb_convert_encoding($text, $charcode, 'utf-8');
+}
+function toUtf8($ar){
+  foreach($ar as $val){
+    $val = intval(substr($val,2),16);
+    if($val < 0x7F){        // 0000-007F
+        $c .= chr($val);
+    }elseif($val < 0x800) { // 0080-0800
+        $c .= chr(0xC0 | ($val / 64));
+        $c .= chr(0x80 | ($val % 64));
+    }else{                // 0800-FFFF
+        $c .= chr(0xE0 | (($val / 64) / 64));
+        $c .= chr(0x80 | (($val / 64) % 64));
+        $c .= chr(0x80 | ($val % 64));
+    }
+  }
+  return $c;
+}
+
+?>
\ No newline at end of file
diff --git a/euc/nucleus/documentation/devdocs/custominstall.html b/euc/nucleus/documentation/devdocs/custominstall.html
new file mode 100755 (executable)
index 0000000..c9c604b
--- /dev/null
@@ -0,0 +1,66 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml">\r
+<head>\r
+       <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">\r
+       <!-- $Id: custominstall.html,v 1.1.1.1 2005-02-28 07:13:58 kimitake Exp $ -->\r
+       <title>Nucleus - \83C\83\93\83X\83g\81[\83\8b\83X\83N\83\8a\83v\83g\82Ì\83J\83X\83^\83}\83C\83Y</title>\r
+       <link rel="stylesheet" type="text/css" href="styles/manual.css" />\r
+</head>\r
+<body>\r
+\r
+<div class="heading">\r
+\83C\83\93\83X\83g\81[\83\8b\83X\83N\83\8a\83v\83g\82Ì\83J\83X\83^\83}\83C\83Y\r
+</div>\r
+\r
+<p class="note">\92\8d\81F\82±\82Ì\8b@\94\\82Í\83o\81[\83W\83\87\83\932.2\88È\8d~\82Ì\82à\82Ì\82Å\82·\81B</p>\r
+\r
+<h1>\83C\83\93\83g\83\8d\83_\83N\83V\83\87\83\93</h1>\r
+\r
+<p>\r
+<a href="index.html">\8aJ\94­\8eÒ\8cü\82¯\83h\83L\83\85\83\81\83\93\83g\82Ì\96Ú\8e\9f\82Ö\96ß\82é</a>\r
+</p>\r
+\r
+<p>\82±\82Ì\83h\83L\83\85\83\81\83\93\83g\82É\82ÍNucleus\82Ì\83C\83\93\83X\83g\81[\83\8b\81E\83X\83N\83\8a\83v\83g\82ð\82Ç\82Ì\82æ\82¤\82É\83J\83X\83^\83\80\82·\82é\82©\82Æ\82¢\82¤\8fî\95ñ\82ª\8f\91\82©\82ê\82Ä\82¢\82Ü\82·\81B\93ñ\82Â\82Ì\95û\96@\82Å\83J\83X\83^\83}\83C\83Y\82ª\89Â\94\\82Å\82·\81F</p>\r
+\r
+<ol>\r
+       <li>\83X\83L\83\93\82Ì\8e©\93®\83C\83\93\83X\83g\81[\83\8b</li>\r
+       <li>\83v\83\89\83O\83C\83\93\82Ì\8e©\93®\83C\83\93\83X\83g\81[\83\8b</li>\r
+</ol>\r
+\r
+<h1>\90Ý\92è</h1>\r
+\r
+<p><code>install.php</code>\82ð\83G\83f\83B\83^\82Å\8aJ\82«\81A\8e\9f\82Ì\83R\81[\83h\82ð\92T\82µ\82Ä\82­\82¾\82³\82¢\81F</p>\r
+\r
+<pre><code>    // array with names of plugins to install. Plugin files must be present in the nucleus/plugin/\r
+    // directory.\r
+    //\r
+    // example:\r
+    //     array('NP_TrackBack', 'NP_MemberGoodies')\r
+    $aConfPlugsToInstall = array();\r
+\r
+\r
+    // array with skins to install. skins must be present under the skins/ directory with\r
+    // a subdirectory having the same name that contains a skinbackup.xml file\r
+    //\r
+    // example:\r
+    //     array('base','rsd')\r
+    $aConfSkinsToImport = array();</code></pre>\r
+\r
+<p>\82â\82é\82×\82«\8e\96\82Í\82±\82Ì\83R\81[\83h\82ð\95Ï\8dX\82·\82é\82¾\82¯\82Å\82·\81F\8e©\93®\83C\83\93\83X\83g\81[\83\8b\82µ\82½\82¢\83v\83\89\83O\83C\83\93\82Æ\83X\83L\83\93\82Ì\96¼\91O\82ð\81A\97á\82Ì\82æ\82¤\82È\94z\97ñ\83\8a\83X\83g\82É\82µ\82Ä\82­\82¾\82³\82¢\81B</p>\r
+\r
+<h1>\83t\83@\83C\83\8b\82Ì\8eæ\82è\8d\9e\82Ý</h1>\r
+\r
+<p>\90Ý\92è\82ð\95Ï\8dX\82µ\82½\8e\9f\82Í\81A\83f\83B\83X\83g\83\8a\83r\83\85\81[\83V\83\87\83\93\82É\83t\83@\83C\83\8b\82ð\92Ç\89Á\82·\82é\95K\97v\82ª\82 \82è\82Ü\82·\81B</p>\r
+\r
+<h2>\83v\83\89\83O\83C\83\93\82Æ\83X\83L\83\93</h2>\r
+\r
+<p>\83v\83\89\83O\83C\83\93\82Í\81A<code>nucleus/plugins/</code>\83f\83B\83\8c\83N\83g\83\8a\82É\83t\83@\83C\83\8b\82ð\82¨\82¢\82Ä\82­\82¾\82³\82¢\81B\83v\83\89\83O\83C\83\93\82ð\8eè\93®\82Å\83C\83\93\83X\83g\81[\83\8b\82·\82é\8fê\8d\87\82É\82·\82é\82Ì\82Æ\91S\82­\93¯\82\82Å\82·\81B</p>\r
+\r
+<p>\83X\83L\83\93\82Í\81A\8eè\93®\82Å\83C\83\93\83|\81[\83g\82·\82é\8e\9e\82Æ\93¯\97l\82É\81A<code>skins/</code>\92¼\89º\82É\83f\83B\83\8c\83N\83g\83\8a\82ð\82¨\82¢\82Ä\82­\82¾\82³\82¢\81B<code>skinbackup.xml</code>\82ð\82»\82±\82É\93ü\82ê\82Ä\82¨\82­\82±\82Æ\82ð\82¨\96Y\82ê\96³\82­\81B</p>\r
+\r
+<h1>\96Y\82ê\82Ä\82Í\82¢\82¯\82È\82¢\82±\82Æ</h1>\r
+\r
+<p>\8dÄ\94z\95z\82·\82é\91O\82É\81A\83J\83X\83^\83}\83C\83Y\82³\82ê\82½\83C\83\93\83X\83g\81[\83\8b\83X\83N\83\8a\83v\83g\82ð\83e\83X\83g\82·\82é\82±\82Æ\82ð\96Y\82ê\82È\82¢\82Å\82­\82¾\82³\82¢\81B</p>\r
+\r
+</body>\r
+</html>
\ No newline at end of file
diff --git a/euc/nucleus/documentation/devdocs/index.html b/euc/nucleus/documentation/devdocs/index.html
new file mode 100755 (executable)
index 0000000..5eee382
--- /dev/null
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
+<html xmlns="http://www.w3.org/1999/xhtml">\r
+<head>\r
+       <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">\r
+       <!-- $Id: index.html,v 1.1.1.1 2005-02-28 07:13:58 kimitake Exp $ -->\r
+       <title>Nucleus - Development Documentation</title>\r
+       <link rel="stylesheet" type="text/css" href="styles/manual.css" />\r
+</head>\r
+<body>\r
+\r
+<div class="heading">\r
+\8aJ\94­\8eÒ\83}\83j\83\85\83A\83\8b\r
+<i>2003\94N8\8c\8e12\93ú</i>\r
+</div>\r
+\r
+<h1>\82Í\82\82ß\82É</h1>\r
+\r
+<p>\r
+\82±\82Ì\83}\83j\83\85\83A\83\8b\82É\82ÍNucleus\82Ì\8aJ\94­\8eÒ\82¾\82¯\82É\8cü\82¯\82½\8fî\95ñ\82ª\8bL\8dÚ\82³\82ê\82Ä\82¢\82Ü\82·\81B\r
+</p>\r
+\r
+<h1>\96Ú\8e\9f</h1>\r
+\r
+<ul>\r
+       <li><a href="xmlrpc.html">XML-RPC \83C\83\93\83^\81[\83t\83F\81[\83X</a></li>\r
+       <li><a href="plugins.html">Nucleus \83v\83\89\83O\83C\83\93 API</a></li>\r
+       <li><a href="custominstall.html">\83C\83\93\83X\83g\81[\83\8b\83X\83N\83\8a\83v\83g\82Ì\83J\83X\83^\83}\83C\83Y</a></li>  \r
+       <li><a href="sqltables.html">\83f\81[\83^\83x\81[\83X\82Ì\8d\\91¢</a></li>\r
+</ul>\r
+\r
+</body>\r
+</html>\r
diff --git a/euc/nucleus/documentation/devdocs/plugins.html b/euc/nucleus/documentation/devdocs/plugins.html
new file mode 100755 (executable)
index 0000000..9dbee1f
--- /dev/null
@@ -0,0 +1,1798 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xml:lang="jp" xmlns="http://www.w3.org/1999/xhtml">
+<head>
+       <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+       <!-- $Id: plugins.html,v 1.1.1.1 2005-02-28 07:13:59 kimitake Exp $ -->
+       <title>Nucleus - \83v\83\89\83O\83C\83\93 API</title>
+       <link rel="stylesheet" type="text/css" href="styles/manual.css" />
+       <style type="text/css">
+               /* refence parameters (greenish) */
+               .ref {
+                       background-color: #afa; 
+                       color: #000;
+               }
+               
+               /* object parameters */
+               .obj {
+                       color: #00f;
+               }
+               .obj:after {
+                       content: " (object)";
+               }
+               
+               /* read-only parameters (non-ref; reddish) */
+               .ro {
+                       background-color: #faa;
+                       color: #000;
+               }
+       </style>
+</head>
+<body>
+
+<p class="heading">&nbsp;</p>
+<div class="heading">
+\83v\83\89\83O\83C\83\93 API
+<i>2004\94N7\8c\8e27\93ú</i>
+</div>
+
+<div class="note-trans"><strong>\96ó\8eÒ\92\8d\81F</strong> 
+       <ul>
+               <li>\82±\82Ì\83h\83L\83\85\83\81\83\93\83g\82Ì\8c´\95\82Í\88È\89º\82ÌURL\82É\82 \82è\82Ü\82·\81B<br />
+                <a href="http://nucleuscms.org/documentation/devdocs/plugins.html">http://nucleuscms.org/documentation/devdocs/plugins.html</a></li>
+           <li>\8cë\96ó\82É\82¨\8bC\82Ã\82«\82Ì\95û\82Í<a href="http://nucleus.fel-is.info/bb/viewforum.php?f=7">\82±\82¿\82ç</a>\82Ö\82²\98A\97\8d\82¢\82½\82¾\82¯\82é\82Æ\8f\95\82©\82è\82Ü\82·\81B</li>
+       </ul>
+</div>
+
+<div class="note"><strong>\92\8d\81F</strong> 
+       <ul>
+               <li>\82±\82Ì\83h\83L\83\85\83\81\83\93\83g\82Í\8aî\96{\93I\82È\83v\83\89\83O\83C\83\93\82Ì\8f\91\82«\95û\82É\82Â\82¢\82Ä\82Ì\8fî\95ñ\82ð\92ñ\8b\9f\82µ\82Ä\82¢\82Ü\82·\81B\82³\82ç\82É\8e¿\96â\82ª\82 \82é\95û\82Í <a href="http://forum.nucleuscms.org/viewforum.php?f=10">Plugin
+         Development Forum</a> \81i<a href="http://nucleus.fel-is.info/bb/viewforum.php?f=5">\93ú\96{\8cê\83t\83H\81[\83\89\83\80</a>\81j\82ð\82²\97\97\82­\82¾\82³\82¢\81B</li>
+               <li>Nucleus\83o\81[\83W\83\87\83\931.5\88È\8d~\82É\93±\93ü\82³\82ê\82½\83\81\83\\83b\83h\82Æ\83C\83x\83\93\83g\82É\82Í\81A\93±\93ü\8e\9e\82Ì\83o\81[\83W\83\87\83\93\8fî\95ñ\82ð\95t\8bL\82µ\82Ä\82¢\82Ü\82·\81B\82»\82ê\82ç\82Ì\8b@\94\\82ð\97\98\97p\82·\82é\82Æ\82«\82Í\81A<code>getMinNucleusVersion</code> \82ð\93K\90Ø\82É\90Ý\92è\82·\82é\82Ì\82ð\96Y\82ê\82È\82¢\82Å\82­\82¾\82³\82¢\81B</li>
+       </ul>
+</div>
+
+<h1>\82Í\82\82ß\82É</h1>
+
+<p>
+<a href="./index.html">\8aJ\94­\8eÒ\8cü\82¯\83h\83L\83\85\83\81\83\93\83g\82Ì\96Ú\8e\9f\82Ö\96ß\82é</a>
+</p>
+
+<p>
+\82±\82Ì\83h\83L\83\85\83\81\83\93\83g\82ÍNucleus\83v\83\89\83O\83C\83\93\82Ì\8dì\82è\95û\82É\82Â\82¢\82Ä\82Ì\89ð\90à\82Å\82·\81
+</p>
+
+<h1><a name="toc"></a>\96Ú\8e\9f</h1>
+
+<ul>
+       <li><a href="#introduction">\83C\83\93\83g\83\8d\83_\83N\83V\83\87\83\93</a></li>
+       <li><a href="#firstplug">\82Í\82\82ß\82Ä\83v\83\89\83O\83C\83\93\82ð\8f\91\82¢\82Ä\82Ý\82é</a></li>
+       <li><a href="#nucleusplugin"><code>NucleusPlugin</code> \83N\83\89\83X\82Ì\8aT\97v</a></li>
+       <li><a href="#skinvars"><code>&lt;%plugin(...)%&gt;</code> \83X\83L\83\93\95Ï\90\94</a></li>
+       <li><a href="#templatevars"><code>&lt;%plugin(...)%&gt;</code> \83e\83\93\83v\83\8c\81[\83g\95Ï\90\94</a></li>        
+       <li><a href="#actions"><code>action.php</code> \82ð\8eg\82Á\82½\83A\83N\83V\83\87\83\93</a></li>
+       <li><a href="#events">\83C\83x\83\93\83g\82Æ\83C\83x\83\93\83g\93o\98^\82Ì\8ed\95û</a></li>
+       <li><a href="#options">\83I\83v\83V\83\87\83\93\82ð\95Û\91\82·\82é</a></li>
+       <li><a href="#tables">\83f\81[\83^\83x\81[\83X\81E\83e\81[\83u\83\8b</a></li>
+       <li><a href="#admin">\83v\83\89\83O\83C\83\93\8aÇ\97\9d\83G\83\8a\83A\82Ì\92ñ\8b\9f</a></li>
+       <li><a href="#help">\83w\83\8b\83v\83y\81[\83W\82Ì\92ñ\8b\9f</a></li>
+       <li><a href="#dependency">Plugin Dependency Check</a></li>
+<!--   <li><a href="#admin">Providing an admin area</a></li> 
+       <li><a href="#parser">Using the <code>PARSER</code> class</a></li>
+       <li><a href="#"></a></li>
+       <li><a href="#"></a></li>
+       <li><a href="#"></a></li>
+       <li><a href="#"></a></li>-->
+</ul>
+
+<h1>\83C\83\93\83g\83\8d\83_\83N\83V\83\87\83\93 <a name="introduction" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
+
+<p>
+Nucleus\83v\83\89\83O\83C\83\93\82É\82æ\82Á\82Ä\81A\92N\82à\82ªNucleus\82Ì\92ñ\8b\9f\82·\82é\8b@\94\\82ð\81ANucleus\93à\95\94\82ÌPHP\83R\81[\83h\82ð\95Ï\8dX\82·\82é\82±\82Æ\82È\82­\8ag\92£\82·\82é\82±\82Æ\82ª\82Å\82«\82Ü\82·\81B\83v\83\89\83O\83C\83\93\82Í\82 \82é\83\81\83\\83b\83h\82ð\8eÀ\91\95\82µ\82½\83V\83\93\83v\83\8b\82ÈPHP\83X\83N\83\8a\83v\83g\82Å\81ANucleus\83\86\81[\83U\81[\93¯\8em\82Å\8aÈ\92P\82É\8cð\8a·\82·\82é\82±\82Æ\82ª\82Å\82«\82Ü\82·\81B\83C\83\93\83X\83g\81[\83\8b\82Í\8aÈ\92P\82Å\81A\83v\83\89\83O\83C\83\93\83f\83B\83\8c\83N\83g\83\8a\82É\83t\83@\83C\83\8b\82ð\83A\83b\83v\82µ\81ANucleus\82É\82»\82ê\82ð\94F\8e¯\82³\82¹\82é\82¾\82¯\82Å\82·\81B
+</p>
+
+<p>
+\83v\83\89\83O\83C\83\93\82Ì\97\98\93_\82Í\88È\89º\82Ì\82Æ\82¨\82è\82Å\82·\81B</p>
+
+<ul>
+       <li>\8eÀ\91\95\82É\82Â\82¢\82Ä\8fÚ\82µ\82­\82µ\82ç\82È\82­\82Ä\82àNucleus\83t\83\8c\81[\83\80\83\8f\81[\83N\82É\8aÈ\92P\82É\8b@\94\\82ð\92Ç\89Á\82Å\82«\82é</li>
+       <li>\95K\97v\82È\83v\83\89\83O\83C\83\93\82¾\82¯\82ð\83C\83\93\83X\83g\81[\83\8b\82Å\82«\81A\83y\81[\83W\90\90¬\82É\82©\82©\82é\8e\9e\8aÔ\82ð\90ß\96ñ\82Å\82«\82é</li>
+</ul>
+
+<p>
+\82·\82×\82Ä\82Ì\83v\83\89\83O\83C\83\93\83t\83@\83C\83\8b\82Í <code>config.php</code> \82É\8bL\8fq\82³\82ê\82½\83f\83B\83\8c\83N\83g\83\8a\82É\92u\82­\95K\97v\82ª\82 \82è\82Ü\82·\81B\88ê\94Ê\93I\82É\81A\82»\82ê\82Í <code>/your/path/nucleus/plugins/</code>  \82É\82È\82é\82Å\82µ\82å\82¤\81B\83v\83\89\83O\83C\83\93\83t\83@\83C\83\8b\96¼\82Í <code>NP<i>_name</i>.php</code> \82Æ\82¢\82¤\8c`\8e®\82ð\97p\82¢\82é\82±\82Æ\82É\82æ\82è\94F\8e¯\82³\82ê\82Ü\82·\81B\83v\83\89\83O\83C\83\93\82É\82æ\82Á\82Ä\82Í\81A\92Ç\89Á\83t\83@\83C\83\8b\82ð\8ai\94[\82·\82é\93¯\96¼\82Ì\83T\83u\83f\83B\83\8c\83N\83g\83\8a\82â\81A\8aÇ\97\9d\83G\83\8a\83A\82ð\95K\97v\82Æ\82µ\82Ü\82·\81B</p>
+
+<div class="note">
+<b>\92\8d\81F</b> \83v\83\89\83O\83C\83\93\96¼\82Í\91å\95\8e\9a\81E\8f¬\95\8e\9a\82ð\8e¯\95Ê\82µ\82Ü\82·\82Ì\82Å\81A<code>Np_</code> \82â <code>np_</code> \82Å\82Í\82È\82­\81A<code>NP_</code> \82Å\8en\82Ü\82é\82±\82Æ\82É\8bC\82ð\82Â\82¯\82Ä\82­\82¾\82³\82¢\81B\82Ü\82½\83v\83\89\83O\83C\83\93\82ª\83T\83u\83f\83B\83\8c\83N\83g\83\8a\82ð\8eg\97p\82·\82é\8fê\8d\87\82Í\81A\83T\83u\83f\83B\83\8c\83N\83g\83\8a\82Ì\96¼\8fÌ\82Í<em>\82·\82×\82Ä\8f¬\95\8e\9a\82É\82µ\82Ü\82·</em>\81B</div>
+
+
+
+
+<h1>\82Í\82\82ß\82Ä\83v\83\89\83O\83C\83\93\82ð\8f\91\82¢\82Ä\82Ý\82é<a name="firstplug" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
+
+<p>
+\82Å\82Í\81A\83V\83\93\83v\83\8b\82È\83v\83\89\83O\83C\83\93\82ð\8f\91\82¢\82Ä\82Ý\82Ü\82µ\82å\82¤\81B\8aî\96{\93I\82É\83v\83\89\83O\83C\83\93\82Í\81A\82 \82ç\82©\82\82ß\92è\8b`\82³\82ê\82½ <code>NucleusPlugin</code> \83N\83\89\83X\82ð\8cp\8f³\82µ\82½PHP\83N\83\89\83X\82Å\82·\81B\88È\89º\82Í<code>HelloWorld</code>\83v\83\89\83O\83C\83\93\82Ì\97á\82Å\82·\81B</p>
+
+<pre class="example"><code>&lt;?php
+
+class NP_HelloWorld extends NucleusPlugin {
+
+       // \83v\83\89\83O\83C\83\93\82Ì\96¼\91O
+       function getName() {
+               return 'Hello World'; 
+       }
+       
+       // \83v\83\89\83O\83C\83\93\82Ì\8dì\8eÒ
+       function getAuthor()  { 
+               return 'Wouter Demuynck'; 
+       }
+       
+       // \83v\83\89\83O\83C\83\93\82Ì\83T\83C\83gURL
+       // mailto:foo@bar.com \82Ì\8c`\8e®\82à\89Â
+       function getURL() 
+       {
+               return '../../index.html'; 
+       }
+       
+       // \83v\83\89\83O\83C\83\93\82Ì\83o\81[\83W\83\87\83\93
+       function getVersion() {
+               return '1.0'; 
+       }
+       
+       // \83C\83\93\83X\83g\81[\83\8b\8dÏ\82Ý\82Ì\83v\83\89\83O\83C\83\93\83\8a\83X\83g\82É\95\\8e¦\82³\82ê\82é\90à\96¾\95
+       function getDescription() { 
+               return 'Just a sample plugin.';
+       }
+
+       function doSkinVar($skinType) {
+               echo 'Hello World!';
+       }
+       
+}
+?&gt;</code></pre>
+
+<ol>
+       <li>
+               \82±\82Ì\83R\81[\83h\82ð\83R\83s\81[\82µ\81A <code>NP_HelloWorld.php</code> \82Æ\96¼\82Ã\82¯\82Ä\95Û\91\82µ\81A\83v\83\89\83O\83C\83\93\83f\83B\83\8c\83N\83g\83\8a\82É\92u\82«\82Ü\82·\81B<em>\8dÅ\8cã\82Ì <code>?&gt;</code> \82Ì\8cã\82â\81A\8dÅ\8f\89\82Ì <code>&lt;?</code> \82Ì\91O\82É\83X\83y\81[\83X\82ª\82È\82¢\82±\82Æ\82ð\8am\94F\82µ\82Ü\82µ\82å\82¤</em>\81B\82Æ\82±\82ë\82ÅNP \82Í &quot;Nucleus Plugin&quot; \82Á\82Ä\88Ó\96¡\82Å\82·\82æ :-)
+       </li>
+       <li>Nucleus\82Ì\8aÇ\97\9d\89æ\96Ê\82ð\8aJ\82«\81A<em>Nucleus\82Ì\8aÇ\97\9d\81\84\83v\83\89\83O\83C\83\93\82Ì\8aÇ\97\9d</em>\82É\82¢\82«\82Ü\82·\81B</li>
+       <li><em>HelloWorld</em> \83v\83\89\83O\83C\83\93\82ª\83C\83\93\83X\83g\81[\83\8b\89Â\94\\82È\8fó\91Ô\82É\82È\82Á\82Ä\82¢\82é\82Í\82¸\82Å\82·\82Ì\82Å\81A\83C\83\93\83X\83g\81[\83\8b\82µ\82Ü\82·\81B\82·\82×\82Ä\82ª\82¤\82Ü\82­\82¢\82¯\82Î\81A\83C\83\93\83X\83g\81[\83\8b\8dÏ\82Ý\83v\83\89\83O\83C\83\93\83\8a\83X\83g\82É\92Ç\89Á\82³\82ê\82Ü\82·\81B</li>
+       <li>\83X\83L\83\93\82ð\95Ò\8fW\82µ\81A\8eÀ\8dÛ\82Ì\83y\81[\83W\82É\95\\8e¦\82·\82é\89Ó\8f\8a\82É\8e\9f\82Ì\95\82ð\91}\93ü\82µ\82Ü\82·\81B
+         <pre class="example"><code>&lt;%plugin(HelloWorld)%&gt;</code></pre>
+       \92\8d\88Ó\81F\83J\83b\83R\93à\82Ì\96¼\8fÌ (HelloWorld) \82Í\91å\95\8e\9a\8f¬\95\8e\9a\82ð\8e¯\95Ê\82µ\82Ü\82·\81I</li>
+       <li>\82³\82Ä\81A\95Ò\8fW\82µ\82½\83X\83L\83\93\82©\82ç\90\90¬\82³\82ê\82é\83y\81[\83W\82ð\8c©\82Ä\82Ý\82Ü\82µ\82å\82¤\81B\83v\83\89\83O\83C\83\93\95Ï\90\94\82ð\92Ç\89Á\82µ\82½\8fê\8f\8a\82É &quot;Hello
+  World                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       &quot; \82Æ\8c©\82¦\82Ü\82·\82Ë\81H</li>
+</ol>
+
+<p>\82±\82±\82Ü\82Å\82Í\82»\82ê\82Ù\82Ç\93ï\82µ\82­\82È\82©\82Á\82½\82Æ\8ev\82¢\82Ü\82·\81B\82³\82ç\82É\93Ç\82Ý\90i\82ß\82Ä\97\9d\89ð\82µ\82Ä\82­\82¾\82³\82¢\81B</p>
+
+
+<h1>NucleusPlugin \83N\83\89\83X\82Ì\8aT\97v <a name="nucleusplugin" href="#top" class="toplink"><img src="../icon-up.gif" width="15" height="15" alt="back to top" /></a></h1>
+
+<p>\82·\82×\82Ä\82Ì\83v\83\89\83O\83C\83\93\82Í\81A<code>NucleusPlugin</code> \82Æ\82¢\82¤PHP\83N\83\89\83X\82ð\8cp\8f³\82µ\82È\82¯\82ê\82Î\82È\82è\82Ü\82¹\82ñ\81B\93ï\82µ\82»\82¤\82É\95·\82±\82¦\82Ä\82à\90S\94z\82²\96³\97p\81A\91å\8fä\95v\82Å\82·\81B\82±\82ÌPHP\83N\83\89\83X\82Ì\8cp\8f³\82É\82æ\82Á\82Ä\81A\83v\83\89\83O\83C\83\93\82É\95K\97v\82È\83\81\83\\83b\83h\82¾\82¯\82ð\8eÀ\91\95\82Å\82«\81A\82¢\82­\82Â\82©\82Ì\95â\8f\95\83t\83@\83\93\83N\83V\83\87\83\93\82É\83A\83N\83Z\83X\82Å\82«\81A\82Â\82Ü\82è\82Í\82 \82È\82½\82Ì\90l\90\82Í\82æ\82è\83\89\83N\82É\82È\82è\82Ü\82·\81B</p>
+
+<p>\89º\8bL\82Í <code>NucleusPlugin</code> \82ª\92ñ\8b\9f\82·\82é\81A\8dÄ\8eÀ\91\95\89Â\94\\82È\83\81\83\\83b\83h\82Ì\8aT\97v\82Å\82·\81B\82±\82Ì\83N\83\89\83X\8e©\90g\82Ì\83\\81[\83X\83R\81[\83h\82ð\8c©\82½\82¯\82ê\82Î\81A<code>nucleus/libs/PLUGIN.php</code>\82É\82 \82è\82Ü\82·\81B</p>
+
+<table summary="An overview of the redefinable methods in the class NucleusPlugin">
+       <caption>
+       <code>NucleusPlugin</code> \83N\83\89\83X\82Ì\8aT\97v\81i\8dÄ\92è\8b`\89Â\94\\82È\83\81\83\\83b\83h\81j
+       </caption>
+       <tr>
+               <th>\83\81\83\\83b\83h\96¼</th><th>\90à\96¾</th>
+       </tr>
+       <tr>
+               <td><code>getName()</code></td>
+               <td>\83v\83\89\83O\83C\83\93\96¼\82ð\95Ô\82µ\82Ü\82·\81B\83C\83\93\83X\83g\81[\83\8b\8dÏ\82Ý\83v\83\89\83O\83C\83\93\83\8a\83X\83g\82É\95\\8e¦\82³\82ê\82Ü\82·\81B\83f\83t\83H\83\8b\83g\82Ì\8eÀ\91\95\82Å\82Í <code>Undefined</code> \82ð\95Ô\82·\82½\82ß\81A\95K\82¸\8dÄ\92è\8b`\82³\82ê\82È\82¢\82Æ\82¢\82¯\82Ü\82¹\82ñ\81B</td>               
+