[xoops-cvslog 2376] CVS update: xoops2jp/html/install/include

Back to archive index

NobuNobu nobun****@users*****
2006年 3月 7日 (火) 22:11:40 JST


Index: xoops2jp/html/install/include/functions.php
diff -u /dev/null xoops2jp/html/install/include/functions.php:1.1.2.1
--- /dev/null	Tue Mar  7 22:11:40 2006
+++ xoops2jp/html/install/include/functions.php	Tue Mar  7 22:11:39 2006
@@ -0,0 +1,157 @@
+<?php
+function getLanguage() {
+	$language_array = array(
+			'en' => 'english',
+			'ja' => 'japanese',
+			'fr' => 'french',
+			'de' => 'german',
+			'nl' => 'dutch',
+			'es' => 'spanish',
+			'tw' => 'tchinese',
+			'cn' => 'schinese',
+			'ro' => 'romanian'
+	);
+
+	$language = 'english';
+	if ( !empty($_POST['lang']) ) {
+	    $language = $_POST['lang'];
+	} else {
+	    if (isset($_COOKIE['install_lang'])) {
+	        $language = $_COOKIE['install_lang'];
+	    } else {
+	        $_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'ja,en-us;q=0.7,zh-TW;q=0.6';
+	        if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
+	            $accept_langs = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
+	            foreach ($accept_langs as $al) {
+	                $al = strtolower($al);
+	                $al_len = strlen($al);
+	                if ($al_len > 2) {
+	                    if (preg_match('/([a-z]{2});q=[0-9.]+$/', $al, $al_match)) {
+	                        $al = $al_match[1];
+	                    } else {
+	                        continue;
+	                    }
+	                }
+	                if (isset($language_array[$al])) {
+	                    $language = $language_array[$al];
+	                    break;
+	                }
+	            }
+	        }
+	    }
+	}
+	if ( !file_exists('./language/'.$language.'/install.php') ) {
+		$language = 'english';
+	}
+	setcookie('install_lang', $language);
+	return $language;
+}
+
+/*
+ * gets list of name of directories inside a directory
+ */
+function getDirList($dirname)
+{
+    $dirlist = array();
+    if (is_dir($dirname) && $handle = opendir($dirname)) {
+        while (false !== ($file = readdir($handle))) {
+            if ( !preg_match('/^[.]{1,2}$/',$file) ) {
+                if (strtolower($file) != 'cvs' && is_dir($dirname.$file) ) {
+                    $dirlist[$file]=$file;
+                }
+            }
+        }
+        closedir($handle);
+        asort($dirlist);
+        reset($dirlist);
+    }
+    return $dirlist;
+}
+
+/*
+ * gets list of name of files within a directory
+ */
+function getImageFileList($dirname)
+{
+    $filelist = array();
+    if (is_dir($dirname) && $handle = opendir($dirname)) {
+        while (false !== ($file = readdir($handle))) {
+            if (!preg_match('/^[.]{1,2}$/', $file) && preg_match('/[.gif|.jpg|.png]$/i', $file) ) {
+                    $filelist[$file]=$file;
+            }
+        }
+        closedir($handle);
+        asort($filelist);
+        reset($filelist);
+    }
+    return $filelist;
+}
+
+function &xoops_module_gettemplate($dirname, $template, $block=false)
+{
+    if ($block) {
+        $path = XOOPS_ROOT_PATH.'/modules/'.$dirname.'/templates/blocks/'.$template;
+    } else {
+        $path = XOOPS_ROOT_PATH.'/modules/'.$dirname.'/templates/'.$template;
+    }
+    if (!file_exists($path)) {
+        return false;
+    } else {
+        $lines = file($path);
+    }
+    if (!$lines) {
+        return false;
+    }
+    $ret = '';
+    $count = count($lines);
+    for ($i = 0; $i < $count; $i++) {
+        $ret .= str_replace("\n", "\r\n", str_replace("\r\n", "\n", $lines[$i]));
+    }
+    return $ret;
+}
+
+function check_language($language){
+     if ( file_exists('../modules/system/language/'.$language.'/modinfo.php') ) {
+        return $language;
+    } else {
+        return 'english';
+    }
+}
+
+function b_back($option = null)
+{
+    if(!isset($option) || !is_array($option)) return '';
+    $content = '';
+    if(isset($option[0]) && $option[0] != ''){
+        $content .= '<input type="button" value="'._INSTALL_L42.'"'.
+                    ' onclick="location=\'index.php?op='.htmlspecialchars($option[0]).'\'" />';
+    }else{
+        $content .= '<input type="button" value="'._INSTALL_L42.'"'.
+                    ' onclick="javascript:history.back();" />';
+    }
+    if(isset($option[1]) && $option[1] != ''){
+        $content .= '<span style="font-size:85%;">&lt;&lt; '.htmlspecialchars($option[1]).'</span>';
+    }
+    return $content;
+}
+
+function b_reload($option=''){
+    if(empty($option)) return '';
+    if (!defined('_INSTALL_L200')) {
+        define('_INSTALL_L200', 'Reload');
+    }
+    return  '<input type="button" value="'._INSTALL_L200.'" onclick="location.reload();" />';
+}
+
+function b_next($option=null){
+    if(!isset($option) || !is_array($option)) return '';
+    $content = '';
+    if(isset($option[1]) && $option[1] != ''){
+        $content .= '<span style="font-size:85%;">'.htmlspecialchars($option[1]).' &gt;&gt;</span>';
+    }
+    $content .= '<input type="hidden" name="op" value="'.htmlspecialchars($option[0]).'" />';
+    $content .= '<input type="submit" name="submit" value="'._INSTALL_L47.'" />';
+    return $content;
+}
+
+?>
Index: xoops2jp/html/install/include/makedata.php
diff -u /dev/null xoops2jp/html/install/include/makedata.php:1.1.2.1
--- /dev/null	Tue Mar  7 22:11:40 2006
+++ xoops2jp/html/install/include/makedata.php	Tue Mar  7 22:11:39 2006
@@ -0,0 +1,345 @@
+<?php
+// $Id: makedata.php,v 1.1.2.1 2006/03/07 13:11:39 nobunobu Exp $
+//  ------------------------------------------------------------------------ //
+//                XOOPS - PHP Content Management System                      //
+//                    Copyright (c) 2000 XOOPS.org                           //
+//                       <http://www.xoops.org/>                             //
+//  ------------------------------------------------------------------------ //
+//  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.                                      //
+//                                                                           //
+//  You may not change or alter any portion of this comment or credits       //
+//  of supporting developers from this source code or any supporting         //
+//  source code which is considered copyrighted (c) material of the          //
+//  original comment or credit authors.                                      //
+//                                                                           //
+//  This program is distributed in the hope that it will be useful,          //
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of           //
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            //
+//  GNU General Public License for more details.                             //
+//                                                                           //
+//  You should have received a copy of the GNU General Public License        //
+//  along with this program; if not, write to the Free Software              //
+//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA //
+//  ------------------------------------------------------------------------ //
+
+include_once './class/dbmanager.php';
+
+// RMV
+// TODO: Shouldn't we insert specific field names??  That way we can use
+// the defaults specified in the database...!!!! (and don't have problem
+// of missing fields in install file, when add new fields to database)
+
+function make_groups(&$dbm){
+    $gruops['XOOPS_GROUP_ADMIN'] = $dbm->insert('groups', " VALUES (0, '".addslashes(_INSTALL_WEBMASTER)."', '".addslashes(_INSTALL_WEBMASTERD)."', 'Admin')");
+    $gruops['XOOPS_GROUP_USERS'] = $dbm->insert('groups', " VALUES (0, '".addslashes(_INSTALL_REGUSERS)."', '".addslashes(_INSTALL_REGUSERSD)."', 'User')");
+    $gruops['XOOPS_GROUP_ANONYMOUS'] = $dbm->insert('groups', " VALUES (0, '".addslashes(_INSTALL_ANONUSERS)."', '".addslashes(_INSTALL_ANONUSERSD)."', 'Anonymous')");
+
+    if(!$gruops['XOOPS_GROUP_ADMIN'] || !$gruops['XOOPS_GROUP_USERS'] || !$gruops['XOOPS_GROUP_ANONYMOUS']){
+        return false;
+    }
+
+    return $gruops;
+}
+function make_data(&$dbm, &$cm, $adminname, $adminpass, $adminmail, $language, $gruops){
+
+    $myts =& textSanitizer::getInstance();
+    //$xoopsDB =& Database::getInstance();
+    //$dbm = new db_manager;
+
+    $tables = array();
+
+    // data for table 'groups_users_link'
+
+    $dbm->insert('groups_users_link', " VALUES (0, ".$gruops['XOOPS_GROUP_ADMIN'].", 1)");
+    $dbm->insert('groups_users_link', " VALUES (0, ".$gruops['XOOPS_GROUP_USERS'].", 1)");
+
+    // data for table 'group_permission'
+
+    $dbm->insert("group_permission", " VALUES (0,".$gruops['XOOPS_GROUP_ADMIN'].",1,1,'module_admin')");
+    $dbm->insert("group_permission", " VALUES (0,".$gruops['XOOPS_GROUP_ADMIN'].",1,1, 'module_read')");
+    $dbm->insert("group_permission", " VALUES (0,".$gruops['XOOPS_GROUP_USERS'].",1,1,'module_read')");
+    $dbm->insert("group_permission", " VALUES (0,".$gruops['XOOPS_GROUP_ANONYMOUS'].",1,1,'module_read')");
+
+    $dbm->insert("group_permission", " VALUES(0,".$gruops['XOOPS_GROUP_ADMIN'].",1,1,'system_admin')");
+    $dbm->insert("group_permission", " VALUES(0,".$gruops['XOOPS_GROUP_ADMIN'].",2,1,'system_admin')");
+    $dbm->insert("group_permission", " VALUES(0,".$gruops['XOOPS_GROUP_ADMIN'].",3,1,'system_admin')");
+    $dbm->insert("group_permission", " VALUES(0,".$gruops['XOOPS_GROUP_ADMIN'].",4,1,'system_admin')");
+    $dbm->insert("group_permission", " VALUES(0,".$gruops['XOOPS_GROUP_ADMIN'].",5,1,'system_admin')");
+    $dbm->insert("group_permission", " VALUES(0,".$gruops['XOOPS_GROUP_ADMIN'].",6,1,'system_admin')");
+    $dbm->insert("group_permission", " VALUES(0,".$gruops['XOOPS_GROUP_ADMIN'].",7,1,'system_admin')");
+    $dbm->insert("group_permission", " VALUES(0,".$gruops['XOOPS_GROUP_ADMIN'].",8,1,'system_admin')");
+    $dbm->insert("group_permission", " VALUES(0,".$gruops['XOOPS_GROUP_ADMIN'].",9,1,'system_admin')");
+    $dbm->insert("group_permission", " VALUES(0,".$gruops['XOOPS_GROUP_ADMIN'].",10,1,'system_admin')");
+    $dbm->insert("group_permission", " VALUES(0,".$gruops['XOOPS_GROUP_ADMIN'].",11,1,'system_admin')");
+    $dbm->insert("group_permission", " VALUES(0,".$gruops['XOOPS_GROUP_ADMIN'].",12,1,'system_admin')");
+    $dbm->insert("group_permission", " VALUES(0,".$gruops['XOOPS_GROUP_ADMIN'].",13,1,'system_admin')");
+    $dbm->insert("group_permission", " VALUES(0,".$gruops['XOOPS_GROUP_ADMIN'].",14,1,'system_admin')");
+    $dbm->insert("group_permission", " VALUES(0,".$gruops['XOOPS_GROUP_ADMIN'].",15,1,'system_admin')");
+
+    // data for table 'banner'
+
+    $dbm->insert("banner", " (bid, cid, imptotal, impmade, clicks, imageurl, clickurl, date) VALUES (1, 1, 0, 1, 0, '".XOOPS_URL."/images/banners/xoops_banner.gif', 'http://xoopscube.jp/', 1008813250)");
+    $dbm->insert("banner", " (bid, cid, imptotal, impmade, clicks, imageurl, clickurl, date) VALUES (2, 1, 0, 1, 0, '".XOOPS_URL."/images/banners/xoops_banner_2.gif', 'http://xoopscube.jp/', 1008813250)");
+    $dbm->insert("banner", " (bid, cid, imptotal, impmade, clicks, imageurl, clickurl, date) VALUES (3, 1, 0, 1, 0, '".XOOPS_URL."/images/banners/banner.swf', 'http://xoopscube.jp/', 1008813250)");
+
+    // default theme
+
+    $time = time();
+    $dbm->insert('tplset', " VALUES (1, 'default', 'XOOPS Cube Default Template Set', '', ".$time.")");
+
+    // data for table 'config'
+
+    $dbm->insert('config', " VALUES (1, 0, 1, 'sitename', '_MD_AM_SITENAME', 'XOOPS Cube Site', '_MD_AM_SITENAMEDSC', 'textbox', 'text', 0)");
+    $dbm->insert('config', " VALUES (2, 0, 1, 'slogan', '_MD_AM_SLOGAN', 'Just Use it!', '_MD_AM_SLOGANDSC', 'textbox', 'text', 2)");
+    $dbm->insert('config', " VALUES (3, 0, 1, 'language', '_MD_AM_LANGUAGE', '".addslashes($language)."', '_MD_AM_LANGUAGEDSC', 'language', 'other', 4)");
+    $dbm->insert('config', " VALUES (4, 0, 1, 'startpage', '_MD_AM_STARTPAGE', '--', '_MD_AM_STARTPAGEDSC', 'startpage', 'other', 6)");
+    //Get Server timezone Setting
+    $time_diff_val = date('O');
+	$time_diff = floatval(substr($time_diff_val,0,1).(substr($time_diff_val,1,2) + substr($time_diff_val,3,2)/60));
+    $dbm->insert('config', " VALUES (5, 0, 1, 'server_TZ', '_MD_AM_SERVERTZ', '".$time_diff."', '_MD_AM_SERVERTZDSC', 'timezone', 'float', 8)");
+    $dbm->insert('config', " VALUES (6, 0, 1, 'default_TZ', '_MD_AM_DEFAULTTZ', '".$time_diff."', '_MD_AM_DEFAULTTZDSC', 'timezone', 'float', 10)");
+    $dbm->insert('config', " VALUES (7, 0, 1, 'theme_set', '_MD_AM_DTHEME', 'cube_default', '_MD_AM_DTHEMEDSC', 'theme', 'other', 12)");
+    $dbm->insert('config', " VALUES (8, 0, 1, 'anonymous', '_MD_AM_ANONNAME', '".addslashes(_INSTALL_ANON)."', '_MD_AM_ANONNAMEDSC', 'textbox', 'text', 15)");
+    $dbm->insert('config', " VALUES (9, 0, 1, 'gzip_compression', '_MD_AM_USEGZIP', '0', '_MD_AM_USEGZIPDSC', 'yesno', 'int', 16)");
+    $dbm->insert('config', " VALUES (10, 0, 1, 'usercookie', '_MD_AM_USERCOOKIE', 'xoops_user', '_MD_AM_USERCOOKIEDSC', 'textbox', 'text', 18)");
+    $dbm->insert('config', " VALUES (11, 0, 1, 'session_expire', '_MD_AM_SESSEXPIRE', '15', '_MD_AM_SESSEXPIREDSC', 'textbox', 'int', 22)");
+    $dbm->insert('config', " VALUES (12, 0, 1, 'banners', '_MD_AM_BANNERS', '0', '_MD_AM_BANNERSDSC', 'yesno', 'int', 26)");
+    $dbm->insert('config', " VALUES (13, 0, 1, 'debug_mode', '_MD_AM_DEBUGMODE', '1', '_MD_AM_DEBUGMODEDSC', 'select', 'int', 24)");
+    $dbm->insert('config', " VALUES (14, 0, 1, 'my_ip', '_MD_AM_MYIP', '127.0.0.1', '_MD_AM_MYIPDSC', 'textbox', 'text', 29)");
+    $dbm->insert('config', " VALUES (15, 0, 1, 'use_ssl', '_MD_AM_USESSL', '0', '_MD_AM_USESSLDSC', 'yesno', 'int', 30)");
+    $dbm->insert('config', " VALUES (16, 0, 1, 'session_name', '_MD_AM_SESSNAME', 'xoops_session', '_MD_AM_SESSNAMEDSC', 'textbox', 'text', 20)");
+    $dbm->insert('config', " VALUES (17, 0, 2, 'minpass', '_MD_AM_MINPASS', '5', '_MD_AM_MINPASSDSC', 'textbox', 'int', 1)");
+    $dbm->insert('config', " VALUES (18, 0, 2, 'minuname', '_MD_AM_MINUNAME', '3', '_MD_AM_MINUNAMEDSC', 'textbox', 'int', 2)");
+    $dbm->insert('config', " VALUES (19, 0, 2, 'new_user_notify', '_MD_AM_NEWUNOTIFY', '1', '_MD_AM_NEWUNOTIFYDSC', 'yesno', 'int', 4)");
+    $dbm->insert('config', " VALUES (20, 0, 2, 'new_user_notify_group', '_MD_AM_NOTIFYTO', ".$gruops['XOOPS_GROUP_ADMIN'].", '_MD_AM_NOTIFYTODSC', 'group', 'int', 6)");
+    $dbm->insert('config', " VALUES (21, 0, 2, 'activation_type', '_MD_AM_ACTVTYPE', '0', '_MD_AM_ACTVTYPEDSC', 'select', 'int', 8)");
+    $dbm->insert('config', " VALUES (22, 0, 2, 'activation_group', '_MD_AM_ACTVGROUP', ".$gruops['XOOPS_GROUP_ADMIN'].", '_MD_AM_ACTVGROUPDSC', 'group', 'int', 10)");
+    $dbm->insert('config', " VALUES (23, 0, 2, 'uname_test_level', '_MD_AM_UNAMELVL', '0', '_MD_AM_UNAMELVLDSC', 'select', 'int', 12)");
+    $dbm->insert('config', " VALUES (24, 0, 2, 'avatar_allow_upload', '_MD_AM_AVATARALLOW', '0', '_MD_AM_AVATARALWDSC', 'yesno', 'int', 14)");
+    $dbm->insert('config', " VALUES (27, 0, 2, 'avatar_width', '_MD_AM_AVATARW', '80', '_MD_AM_AVATARWDSC', 'textbox', 'int', 16)");
+    $dbm->insert('config', " VALUES (28, 0, 2, 'avatar_height', '_MD_AM_AVATARH', '80', '_MD_AM_AVATARHDSC', 'textbox', 'int', 18)");
+    $dbm->insert('config', " VALUES (29, 0, 2, 'avatar_maxsize', '_MD_AM_AVATARMAX', '35000', '_MD_AM_AVATARMAXDSC', 'textbox', 'int', 20)");
+    $dbm->insert('config', " VALUES (30, 0, 1, 'adminmail', '_MD_AM_ADMINML', '".addslashes($adminmail)."', '_MD_AM_ADMINMLDSC', 'textbox', 'text', 3)");
+    $dbm->insert('config', " VALUES (31, 0, 2, 'self_delete', '_MD_AM_SELFDELETE', '0', '_MD_AM_SELFDELETEDSC', 'yesno', 'int', 22)");
+    $dbm->insert('config', " VALUES (32, 0, 1, 'com_mode', '_MD_AM_COMMODE', 'nest', '_MD_AM_COMMODEDSC', 'select', 'text', 34)");
+    $dbm->insert('config', " VALUES (33, 0, 1, 'com_order', '_MD_AM_COMORDER', '0', '_MD_AM_COMORDERDSC', 'select', 'int', 36)");
+    $dbm->insert('config', " VALUES (34, 0, 2, 'bad_unames', '_MD_AM_BADUNAMES', '".addslashes(serialize(array('webmaster', '^xoops', '^admin')))."', '_MD_AM_BADUNAMESDSC', 'textarea', 'array', 24)");
+    $dbm->insert('config', " VALUES (35, 0, 2, 'bad_emails', '_MD_AM_BADEMAILS', '".addslashes(serialize(array('xoopscube.org$', 'xoopscube.jp$')))."', '_MD_AM_BADEMAILSDSC', 'textarea', 'array', 26)");
+    $dbm->insert('config', " VALUES (36, 0, 2, 'maxuname', '_MD_AM_MAXUNAME', '10', '_MD_AM_MAXUNAMEDSC', 'textbox', 'int', 3)");
+    $dbm->insert('config', " VALUES (37, 0, 1, 'bad_ips', '_MD_AM_BADIPS', '".addslashes(serialize(array('127.0.0.1')))."', '_MD_AM_BADIPSDSC', 'textarea', 'array', 42)");
+    $dbm->insert('config', " VALUES (38, 0, 3, 'meta_keywords', '_MD_AM_METAKEY', '', '_MD_AM_METAKEYDSC', 'textarea', 'text', 0)");
+    $dbm->insert('config', " VALUES (39, 0, 3, 'footer', '_MD_AM_FOOTER', 'Powered by XOOPS Cube 2.1 Alpha 1 &copy; 2001-2006 <a href=\"http://www.xoopscube.org/\" target=\"_blank\">The XOOPS Cube Project</a>', '_MD_AM_FOOTERDSC', 'textarea', 'text', 20)");
+    $dbm->insert('config', " VALUES (40, 0, 4, 'censor_enable', '_MD_AM_DOCENSOR', '0', '_MD_AM_DOCENSORDSC', 'yesno', 'int', 0)");
+    $dbm->insert('config', " VALUES (41, 0, 4, 'censor_words', '_MD_AM_CENSORWRD', '".addslashes(serialize(array('fuck', 'shit')))."', '_MD_AM_CENSORWRDDSC', 'textarea', 'array', 1)");
+    $dbm->insert('config', " VALUES (42, 0, 4, 'censor_replace', '_MD_AM_CENSORRPLC', '#OOPS#', '_MD_AM_CENSORRPLCDSC', 'textbox', 'text', 2)");
+    $dbm->insert('config', " VALUES (43, 0, 3, 'meta_robots', '_MD_AM_METAROBOTS', 'index,follow', '_MD_AM_METAROBOTSDSC', 'select', 'text', 2)");
+    $dbm->insert('config', " VALUES (44, 0, 5, 'enable_search', '_MD_AM_DOSEARCH', '1', '_MD_AM_DOSEARCHDSC', 'yesno', 'int', 0)");
+    $dbm->insert('config', " VALUES (45, 0, 5, 'keyword_min', '_MD_AM_MINSEARCH', '5', '_MD_AM_MINSEARCHDSC', 'textbox', 'int', 1)");
+    $dbm->insert('config', " VALUES (46, 0, 2, 'avatar_minposts', '_MD_AM_AVATARMP', '0', '_MD_AM_AVATARMPDSC', 'textbox', 'int', 15)");
+    $dbm->insert('config', " VALUES (47, 0, 1, 'enable_badips', '_MD_AM_DOBADIPS', '0', '_MD_AM_DOBADIPSDSC', 'yesno', 'int', 40)");
+    $dbm->insert('config', " VALUES (48, 0, 3, 'meta_rating', '_MD_AM_METARATING', 'general', '_MD_AM_METARATINGDSC', 'select', 'text', 4)");
+    $dbm->insert('config', " VALUES (49, 0, 3, 'meta_author', '_MD_AM_METAAUTHOR', '', '_MD_AM_METAAUTHORDSC', 'textbox', 'text', 6)");
+    $dbm->insert('config', " VALUES (50, 0, 3, 'meta_copyright', '_MD_AM_METACOPYR', '', '_MD_AM_METACOPYRDSC', 'textbox', 'text', 8)");
+    $dbm->insert('config', " VALUES (51, 0, 3, 'meta_description', '_MD_AM_METADESC', '', '_MD_AM_METADESCDSC', 'textarea', 'text', 1)");
+    $dbm->insert('config', " VALUES (52, 0, 2, 'allow_chgmail', '_MD_AM_ALLWCHGMAIL', '0', '_MD_AM_ALLWCHGMAILDSC', 'yesno', 'int', 3)");
+    $dbm->insert('config', " VALUES (53, 0, 1, 'use_mysession', '_MD_AM_USEMYSESS', '0', '_MD_AM_USEMYSESSDSC', 'yesno', 'int', 19)");
+    $dbm->insert('config', " VALUES (54, 0, 2, 'reg_dispdsclmr', '_MD_AM_DSPDSCLMR', 1, '_MD_AM_DSPDSCLMRDSC', 'yesno', 'int', 30)");
+    $dbm->insert('config', " VALUES (55, 0, 2, 'reg_disclaimer', '_MD_AM_REGDSCLMR', '".addslashes(_INSTALL_DISCLMR)."', '_MD_AM_REGDSCLMRDSC', 'textarea', 'text', 32)");
+    $dbm->insert('config', " VALUES (56, 0, 2, 'allow_register', '_MD_AM_ALLOWREG', 1, '_MD_AM_ALLOWREGDSC', 'yesno', 'int', 0)");
+    $dbm->insert('config', " VALUES (57, 0, 1, 'theme_fromfile', '_MD_AM_THEMEFILE', '0', '_MD_AM_THEMEFILEDSC', 'yesno', 'int', 13)");
+    $dbm->insert('config', " VALUES (58, 0, 1, 'closesite', '_MD_AM_CLOSESITE', '0', '_MD_AM_CLOSESITEDSC', 'yesno', 'int', 26)");
+    $dbm->insert('config', " VALUES (59, 0, 1, 'closesite_okgrp', '_MD_AM_CLOSESITEOK', '".addslashes(serialize(array('1')))."', '_MD_AM_CLOSESITEOKDSC', 'group_multi', 'array', 27)");
+    $dbm->insert('config', " VALUES (60, 0, 1, 'closesite_text', '_MD_AM_CLOSESITETXT', '"._INSTALL_L165."', '_MD_AM_CLOSESITETXTDSC', 'textarea', 'text', 28)");
+    $dbm->insert('config', " VALUES (61, 0, 1, 'sslpost_name', '_MD_AM_SSLPOST', 'xoops_ssl', '_MD_AM_SSLPOSTDSC', 'textbox', 'text', 31)");
+    $dbm->insert('config', " VALUES (62, 0, 1, 'module_cache', '_MD_AM_MODCACHE', '', '_MD_AM_MODCACHEDSC', 'module_cache', 'array', 50)");
+    $dbm->insert('config', " VALUES (63, 0, 1, 'template_set', '_MD_AM_DTPLSET', 'default', '_MD_AM_DTPLSETDSC', 'tplset', 'other', 14)");
+
+    $dbm->insert('config', " VALUES (64,0,6,'mailmethod','_MD_AM_MAILERMETHOD','mail','_MD_AM_MAILERMETHODDESC','select','text',4)");
+    $dbm->insert('config', " VALUES (65,0,6,'smtphost','_MD_AM_SMTPHOST','a:1:{i:0;s:0:\"\";}', '_MD_AM_SMTPHOSTDESC','textarea','array',6)");
+    $dbm->insert('config', " VALUES (66,0,6,'smtpuser','_MD_AM_SMTPUSER','','_MD_AM_SMTPUSERDESC','textbox','text',7)");
+    $dbm->insert('config', " VALUES (67,0,6,'smtppass','_MD_AM_SMTPPASS','','_MD_AM_SMTPPASSDESC','password','text',8)");
+    $dbm->insert('config', " VALUES (68,0,6,'sendmailpath','_MD_AM_SENDMAILPATH','/usr/sbin/sendmail','_MD_AM_SENDMAILPATHDESC','textbox','text',5)");
+    $dbm->insert('config', " VALUES (69,0,6,'from','_MD_AM_MAILFROM','','_MD_AM_MAILFROMDESC','textbox','text', 1)");
+    $dbm->insert('config', " VALUES (70,0,6,'fromname','_MD_AM_MAILFROMNAME','','_MD_AM_MAILFROMNAMEDESC','textbox','text',2)");
+    $dbm->insert('config', " VALUES (71, 0, 1, 'sslloginlink', '_MD_AM_SSLLINK', 'https://', '_MD_AM_SSLLINKDSC', 'textbox', 'text', 33)");
+    $dbm->insert('config', " VALUES (72, 0, 1, 'theme_set_allowed', '_MD_AM_THEMEOK', '".serialize(array('default'))."', '_MD_AM_THEMEOKDSC', 'theme_multi', 'array', 13)");
+    // RMV-NOTIFY... Need to specify which user is sender of notification PM
+    $dbm->insert('config', " VALUES (73,0,6,'fromuid','_MD_AM_MAILFROMUID','1','_MD_AM_MAILFROMUIDDESC','user','int',3)");
+
+    // install modules
+    installModule($dbm, 1, "system", _MI_SYSTEM_NAME, $language, $gruops);
+
+    installModule($dbm, 2, "base", _MI_BASE_NAME, $language, $gruops, true);
+    $dbm->insert("group_permission", " VALUES (0, ".$gruops['XOOPS_GROUP_ADMIN'].", 2, 1, 'module_admin')");
+
+    installModule($dbm, 3, "legacyRender", _MI_LEGACYRENDER_NAME, $language, $gruops, true);
+    $dbm->insert("group_permission", " VALUES (0, ".$gruops['XOOPS_GROUP_ADMIN'].", 3, 1, 'module_admin')");
+
+    installModule($dbm, 4, "user", _MI_USER_NAME, $language, $gruops, true);
+    $dbm->insert("group_permission", " VALUES (0, ".$gruops['XOOPS_GROUP_ADMIN'].", 4, 1, 'module_admin')");
+    $dbm->insert("group_permission", " VALUES (0, ".$gruops['XOOPS_GROUP_ADMIN'].", 4, 1, 'module_read')");
+    $dbm->insert("group_permission", " VALUES (0, ".$gruops['XOOPS_GROUP_USERS'].", 4, 1, 'module_read')");
+    $dbm->insert("group_permission", " VALUES (0, ".$gruops['XOOPS_GROUP_ANONYMOUS'].", 4, 1, 'module_read')");
+
+    installModule($dbm, 5, "pm", _MI_PM_NAME, $language, $gruops, true);
+    $dbm->insert("group_permission", " VALUES (0, ".$gruops['XOOPS_GROUP_ADMIN'].", 5, 1, 'module_admin')");
+    $dbm->insert("group_permission", " VALUES (0, ".$gruops['XOOPS_GROUP_ADMIN'].", 5, 1, 'module_read')");
+    $dbm->insert("group_permission", " VALUES (0, ".$gruops['XOOPS_GROUP_USERS'].", 5, 1, 'module_read')");
+
+    installModule($dbm, 6, "stdCache", _MI_STDCACHE_NAME, $language, $gruops, true);
+    $dbm->insert("group_permission", " VALUES (0, ".$gruops['XOOPS_GROUP_ADMIN'].", 6, 1, 'module_admin')");
+
+    // data for table 'users'
+
+    $temp = md5($adminpass);
+    $regdate = time();
+    //$dbadminname= addslashes($adminname);
+    // RMV-NOTIFY (updated for extra columns in user table)
+    $dbm->insert('users', " VALUES (1,'','".addslashes($adminname)."','".addslashes($adminmail)."','".XOOPS_URL."/','blank.gif','".$regdate."','','','',1,'','','','','".$temp."',0,0,7,5,'default','".$time_diff."',".time().",'thread',0,1,0,'','','',0)");
+
+
+    // data for table 'block_module_link'
+
+    $sql = 'SELECT bid, side FROM '.$dbm->prefix('newblocks');
+    $result = $dbm->query($sql);
+
+    while ($myrow = $dbm->fetchArray($result)) {
+        if ($myrow['side'] == 0) {
+            $dbm->insert("block_module_link", " VALUES (".$myrow['bid'].", 0)");
+        } else {
+            $dbm->insert("block_module_link", " VALUES (".$myrow['bid'].", -1)");
+        }
+    }
+
+    return $gruops;
+}
+
+/**
+ * 
+ * Install module by module's name, language and specified mid.
+ * 
+ * @param $dbm object Database manager instance
+ * @param $mid int module's ID
+ * @param $module string module's name
+ * @param $language string language
+ * @param $grops array hash map
+ */
+function installModule(&$dbm, $mid, $module, $module_name, $language = 'english', &$groups) {
+    if ( file_exists("../modules/${module}/language/${language}/modinfo.php") ) {
+        include "../modules/${module}/language/${language}/modinfo.php";
+    } else {
+        include "../modules/${module}/language/english/modinfo.php";
+        $language = 'english';
+    }
+
+    $modversion = array();
+    require_once "../modules/${module}/xoops_version.php";
+    $time = time();
+
+    // RMV-NOTIFY (updated for extra column in table)
+    //
+    // TODO We should set hasconfig and more option values here.
+    //
+    $hasconfig = isset($modversion['config']) ? 1 : 0;
+	$hasmain = 0;
+	if (isset($modversion['hasMain']) && $modversion['hasMain'] == 1) {
+		$hasmain = 1;
+	}
+    $dbm->insert("modules", " VALUES (${mid}, '" . constant($module_name) . "', 100, ".$time.", 0, 1, '${module}', ${hasmain}, 1, 0, ${hasconfig}, 0, 0)");
+
+	//
+	// Database
+	// TODO Dependence on mysql, Now.
+	//
+	if (isset($modversion['sqlfile']['mysql'])) {
+		$dbm->queryFromFile("../modules/${module}/" . $modversion['sqlfile']['mysql']);
+	}
+	
+    if (is_array($modversion['templates']) && count($modversion['templates']) > 0) {
+        foreach ($modversion['templates'] as $tplfile) {
+            if ($fp = fopen("../modules/${module}/templates/".$tplfile['file'], 'r')) {
+                $newtplid = $dbm->insert('tplfile', " VALUES (0, ${mid}, '${module}', 'default', '".addslashes($tplfile['file'])."', '".addslashes($tplfile['description'])."', ".$time.", ".$time.", 'module')");
+                //$newtplid = $xoopsDB->getInsertId();
+                if (filesize("../modules/${module}/templates/".$tplfile['file']) > 0) {
+                    $tplsource = fread($fp, filesize("../modules/${module}/templates/".$tplfile['file']));
+                }
+                else {
+                    $tplsource = "";
+                }
+                fclose($fp);
+                $dbm->insert('tplsource', " (tpl_id, tpl_source) VALUES (".$newtplid.", '".addslashes($tplsource)."')");
+            }
+        }
+    }
+
+    if (is_array($modversion['blocks']) && count($modversion['blocks']) > 0) {
+        foreach ($modversion['blocks'] as $func_num => $newblock) {
+            if ($fp = fopen("../modules/${module}/templates/blocks/".$newblock['template'], 'r')) {
+                //
+                // The following checking is dependence on the structure of system module.
+                //
+                if (in_array($newblock['template'], array('system_block_user.html', 'system_block_login.html', 'system_block_mainmenu.html'))) {
+                    $visible = 1;
+                } else {
+                    $visible = 0;
+                }
+                $options = !isset($newblock['options']) ? '' : trim($newblock['options']);
+                $edit_func = !isset($newblock['edit_func']) ? '' : trim($newblock['edit_func']);
+                $newbid = $dbm->insert('newblocks', " VALUES (0, ${mid}, ".$func_num.", '".addslashes($options)."', '".addslashes($newblock['name'])."', '".addslashes($newblock['name'])."', '', 0, 0, ".$visible.", 'S', 'H', 1, '${module}', '".addslashes($newblock['file'])."', '".addslashes($newblock['show_func'])."', '".addslashes($edit_func)."', '".addslashes($newblock['template'])."', 0, ".$time.")");
+                //$newbid = $xoopsDB->getInsertId();
+                $newtplid = $dbm->insert('tplfile', " VALUES (0, ".$newbid.", '${module}', 'default', '".addslashes($newblock['template'])."', '".addslashes($newblock['description'])."', ".$time.", ".$time.", 'block')");
+                //$newtplid = $xoopsDB->getInsertId();
+                if (filesize("../modules/${module}/templates/blocks/".$newblock['template']) > 0) {
+                    $tplsource = fread($fp, filesize("../modules/${module}/templates/blocks/".$newblock['template']));
+                }
+                else {
+                    $tplsource = "";
+                }
+                fclose($fp);
+                $dbm->insert('tplsource', " (tpl_id, tpl_source) VALUES (".$newtplid.", '".addslashes($tplsource)."')");
+            
+                $dbm->insert("group_permission", " VALUES (0, ".$groups['XOOPS_GROUP_ADMIN'].", ".$newbid.", 1, 'block_read')");
+                //$dbm->insert("group_permission", " VALUES (0, ".$gruops['XOOPS_GROUP_ADMIN'].", ".$newbid.", 'xoops_blockadmiin')");
+                $dbm->insert("group_permission", " VALUES (0, ".$groups['XOOPS_GROUP_USERS'].", ".$newbid.", 1, 'block_read')");
+                $dbm->insert("group_permission", " VALUES (0, ".$groups['XOOPS_GROUP_ANONYMOUS'].", ".$newbid.", 1, 'block_read')");
+            }
+        }
+    }
+    
+    //
+    // Install preferences
+    //
+    if (isset($modversion['config'])) {
+        $count = 0;
+        foreach ($modversion['config'] as $configInfo) {
+            //
+            // TODO We have to sanitize.
+            //
+            $name = $configInfo['name'];
+            $title = $configInfo['title'];
+            $desc = $configInfo['description'];
+            $formtype = $configInfo['formtype'];
+            $valuetype = $configInfo['valuetype'];
+            $default = $configInfo['default'];
+            
+            if ($valuetype == "array") {
+                $default = serialize(explode('|', trim($default)));
+            }
+                
+            $conf_id = $dbm->insert("config", " VALUES (0, ${mid}, 0, '${name}', '${title}', '${default}', '${desc}', '${formtype}', '${valuetype}', ${count})");
+    
+            if (isset($configInfo['options']) && is_array($configInfo['options'])) {
+                foreach ($configInfo['options'] as $key => $value) {
+                    $dbm->insert("configoption", " VALUES (0, '${key}', '${value}', ${conf_id})");
+                }
+            }
+            
+            $count++;
+        }
+    }
+}
+
+?>


xoops-cvslog メーリングリストの案内
Back to archive index