// // ------------------------------------------------------------------------ // // 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 // // ------------------------------------------------------------------------ // error_reporting (0); include_once './passwd.php'; if(INSTALL_USER != '' || INSTALL_PASSWD != ''){ if (!isset($_SERVER['PHP_AUTH_USER'])) { header('WWW-Authenticate: Basic realm="XOOPS Installer"'); header('HTTP/1.0 401 Unauthorized'); echo 'You can not access this XOOPS installer.'; exit; } else { if(INSTALL_USER != '' && $_SERVER['PHP_AUTH_USER'] != INSTALL_USER){ header('HTTP/1.0 401 Unauthorized'); echo 'You can not access this XOOPS installer.'; exit; } if(INSTALL_PASSWD != $_SERVER['PHP_AUTH_PW']){ header('HTTP/1.0 401 Unauthorized'); echo 'You can not access this XOOPS installer.'; exit; } } } include_once './class/textsanitizer.php'; $myts =& TextSanitizer::getInstance(); if ( isset($_POST) ) { foreach ($_POST as $k=>$v) { if (!is_array($v)) { $$k = $myts->stripSlashesGPC($v); } } } $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']); $language_array = array('en' => 'english', 'ja' => 'japanese', 'fr' => 'french', 'de' => 'german', 'nl' => 'dutch', 'es' => 'spanish', 'tw' => 'tchinese', 'cn' => 'schinese', 'ro' => 'romanian'); 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") ) { include_once "./language/".$language."/install.php"; } elseif ( file_exists("./language/english/install.php") ) { include_once "./language/english/install.php"; $language = 'english'; } else { echo 'no language file.'; exit(); } setcookie("install_lang", $language); //include './include/viewerrors.php'; //include './include/functions.php'; define('_OKIMG'," "); define('_NGIMG'," "); $b_back = ''; $b_reload = ''; $b_next = ''; // options for mainfile.php $xoopsOption['nocommon'] = true; define('XOOPS_INSTALL', 1); if(!empty($_POST['op'])) $op = $_POST['op']; elseif(!empty($_GET['op'])) $op = $_GET['op']; else $op = ''; ///// main switch ($op) { default: case "langselect": $title = _INSTALL_L0; if (!defined('_INSTALL_L128')) { define('_INSTALL_L128', 'Choose language to be used for the installation process'); } $content = "

"._INSTALL_L128."

" .""; $b_next = array('start', _INSTALL_L80 ); include 'install_tpl.php'; break; case "start": $title = _INSTALL_L0; $content = "
\n"; include './language/'.$language.'/welcome.php'; $content .= "
\n"; $b_next = array('modcheck', _INSTALL_L81 ); include 'install_tpl.php'; break; case "modcheck": $writeok = array("uploads/", "cache/", "templates_c/", "mainfile.php"); $title = _INSTALL_L82; $content = "
\n"; $error = false; foreach ($writeok as $wok) { if (!is_dir("../".$wok)) { if ( file_exists("../".$wok) ) { @chmod("../".$wok, 0666); if (! is_writeable("../".$wok)) { $content .= _NGIMG.sprintf(_INSTALL_L83, $wok)."
"; $error = true; }else{ $content .= _OKIMG.sprintf(_INSTALL_L84, $wok)."
"; } } } else { @chmod("../".$wok, 0777); if (! is_writeable("../".$wok)) { $content .= _NGIMG.sprintf(_INSTALL_L85, $wok)."
"; $error = true; }else{ $content .= _OKIMG.sprintf(_INSTALL_L86, $wok)."
"; } } } $content .= "
\n"; if(! $error) { $content .= "

"._INSTALL_L87."

"; $b_next = array('dbform', _INSTALL_L89 ); }else{ $content .= "

"._INSTALL_L46."

"; $b_reload = true; } include 'install_tpl.php'; break; case "dbform": include_once '../mainfile.php'; include_once 'class/settingmanager.php'; $sm = new setting_manager(); $sm->readConstant(); $content = $sm->editform(); $title = _INSTALL_L90; $b_next = array('dbconfirm',_INSTALL_L91); include 'install_tpl.php'; break; case "dbconfirm": include_once 'class/settingmanager.php'; $sm = new setting_manager(true); $content = $sm->checkData(); if (!empty($content)) { $content .= $sm->editform(); $b_next = array('dbconfirm',_INSTALL_L91); include 'install_tpl.php'; break; } $title = _INSTALL_L53; $content = $sm->confirmForm(); $b_next = array('dbsave',_INSTALL_L92 ); $b_back = array('', _INSTALL_L93 ); include 'install_tpl.php'; break; case "dbsave": include_once "./class/mainfilemanager.php"; $title = _INSTALL_L88; $mm = new mainfile_manager("../mainfile.php"); $ret = $mm->copyDistFile(); if(! $ret){ $content = _INSTALL_L60; include 'install_tpl.php'; exit(); } $mm->setRewrite('XOOPS_ROOT_PATH', trim($myts->stripSlashesGPC($_POST['root_path']))); $mm->setRewrite('XOOPS_URL', trim($myts->stripSlashesGPC($_POST['xoops_url']))); $mm->setRewrite('XOOPS_DB_TYPE', trim($myts->stripSlashesGPC($_POST['database']))); $mm->setRewrite('XOOPS_DB_PREFIX', trim($myts->stripSlashesGPC($_POST['prefix']))); $mm->setRewrite('XOOPS_DB_HOST', trim($myts->stripSlashesGPC($_POST['dbhost']))); $mm->setRewrite('XOOPS_DB_USER', trim($myts->stripSlashesGPC($_POST['dbuname']))); $mm->setRewrite('XOOPS_DB_PASS', trim($myts->stripSlashesGPC($_POST['dbpass']))); $mm->setRewrite('XOOPS_DB_NAME', trim($myts->stripSlashesGPC($_POST['dbname']))); $mm->setRewrite('XOOPS_DB_PCONNECT', intval($_POST['db_pconnect'])); $mm->setRewrite('XOOPS_GROUP_ADMIN', 1); $mm->setRewrite('XOOPS_GROUP_USERS', 2); $mm->setRewrite('XOOPS_GROUP_ANONYMOUS', 3); // Check if XOOPS_CHECK_PATH should be initially set or not $xoopsPathTrans = isset($_SERVER['PATH_TRANSLATED']) ? $_SERVER['PATH_TRANSLATED'] : $_SERVER['SCRIPT_FILENAME']; if ( DIRECTORY_SEPARATOR != '/' ) { // IIS6 doubles the \ chars $xoopsPathTrans = str_replace( strpos( $xoopsPathTrans, '\\\\', 2 ) ? '\\\\' : DIRECTORY_SEPARATOR, '/', $xoopsPathTrans); } $mm->setRewrite('XOOPS_CHECK_PATH', strcasecmp( substr($xoopsPathTrans, 0, strlen($myts->stripSlashesGPC($_POST['root_path']))), $_POST['root_path']) ? 0 : 1 ); $ret = $mm->doRewrite(); if(! $ret){ $content = _INSTALL_L60; include 'install_tpl.php'; exit(); } $content = $mm->report(); $content .= "

"._INSTALL_L62."

\n"; $b_next = array('mainfile', _INSTALL_L94 ); include 'install_tpl.php'; break; case "mainfile": // checking XOOPS_ROOT_PATH and XOOPS_URL include_once "../mainfile.php"; $title = _INSTALL_L94; $content = "
\n"; $detected = str_replace("\\", "/", getcwd()); // " $detected = str_replace("/install", "", $detected); if ( substr($detected, -1) == "/" ) { $detected = substr($detected, 0, -1); } if (empty($detected)){ $content .= _NGIMG._INSTALL_L95.'
'; } elseif ( XOOPS_ROOT_PATH != $detected ) { $content .= _NGIMG.sprintf(_INSTALL_L96,$detected). '
'; }else { $content .= _OKIMG._INSTALL_L97.'
'; } if(!is_dir(XOOPS_ROOT_PATH)){ $content .= _NGIMG._INSTALL_L99.'
'; } if(preg_match('/^http[s]?:\/\/(.*)[^\/]+$/i',XOOPS_URL)){ $content .= _OKIMG._INSTALL_L100.'
'; }else{ $content .= _NGIMG._INSTALL_L101.'
'; } $content .= "
\n"; $content .= "
\n"; $content .= _INSTALL_L11."".XOOPS_ROOT_PATH."
"; $content .= _INSTALL_L12."".XOOPS_URL."
"; $content .= "
\n"; $content .= "

"._INSTALL_L13."

\n"; $b_next = array('initial', _INSTALL_L102 ); $b_back = array('start', _INSTALL_L103 ); $b_reload = true; include 'install_tpl.php'; //mainfile_settings(); break; case "initial": // confirm database setting include_once "../mainfile.php"; $content = "\n"; $content .= "
"; $content .= "\n"; $content .= "\n"; $content .= "\n"; $content .= "\n"; $content .= "\n"; $content .= "
"._INSTALL_L27."  ".XOOPS_DB_HOST."
"._INSTALL_L28."  ".XOOPS_DB_USER."
"._INSTALL_L29."  ".XOOPS_DB_NAME."
"._INSTALL_L30."  ".XOOPS_DB_PREFIX."

\n"; $content .= "
"; $content .= _INSTALL_L13."

\n"; $content .= "
\n"; $b_next = array('checkDB', _INSTALL_L104); $b_back = array('start', _INSTALL_L103); $b_reload = true; $title = _INSTALL_L102; include 'install_tpl.php'; break; case "checkDB": include_once "../mainfile.php"; include_once './class/dbmanager.php'; $dbm = new db_manager; $title = _INSTALL_L104; $content = "
\n"; if (! $dbm->isConnectable()) { $content .= _NGIMG._INSTALL_L106."
"; $content .= "

"._INSTALL_L107; $content .= "
\n"; $b_back = array('start', _INSTALL_L103); $b_reload = true; }else{ $content .= _OKIMG._INSTALL_L108."
"; if (! $dbm->dbExists()) { $content .= _NGIMG.sprintf(_INSTALL_L109, XOOPS_DB_NAME)."
"; $content .= "\n"; $content .= "

"._INSTALL_L21."
" ."".XOOPS_DB_NAME."

" ."

"._INSTALL_L22."

"; $b_next = array('createDB', _INSTALL_L105); $b_back = array('start', _INSTALL_L103); $b_reload = true; }else{ if (!$dbm->tableExists('users')) { $content .= _OKIMG.sprintf(_INSTALL_L110, XOOPS_DB_NAME)."
"; $content .= "\n"; $content .= "

"._INSTALL_L111."

"; $b_next = array('createTables', _INSTALL_L40); } else { $content .= _OKIMG.sprintf(_INSTALL_L110, XOOPS_DB_NAME)."
"; if (!$dbm->tableExists('config')) { $content .= "\n"; $content .= "

"._INSTALL_L130."

"; $b_next = array('updateTables', _INSTALL_L14); } else { $content .= _NGIMG._INSTALL_L131."
"; $content .= "\n"; } } } } include 'install_tpl.php'; break; case "createDB": include_once "../mainfile.php"; include_once './class/dbmanager.php'; $dbm = new db_manager; if(! $dbm->createDB()){ $content = "

"._INSTALL_L31."

"; $b_next = array('checkDB', _INSTALL_L104); $b_back = array('start', _INSTALL_L103); }else{ $content = "

".sprintf(_INSTALL_L43, XOOPS_DB_NAME)."

"; $b_next = array('checkDB', _INSTALL_L104); } include 'install_tpl.php'; break; case "createTables": include_once "../mainfile.php"; include_once './class/dbmanager.php'; $dbm = new db_manager; //$content = "
\n"; $tables = array(); $result = $dbm->queryFromFile('./sql/'.XOOPS_DB_TYPE.'.structure.sql'); $content = $dbm->report(); if(! $result ){ //$deleted = $dbm->deleteTables($tables); $content .= "

"._INSTALL_L114."

\n"; $b_back = array('start', _INSTALL_L103); }else{ $content .= "

"._INSTALL_L115."

\n"; $b_next = array('siteInit', _INSTALL_L112); } include 'install_tpl.php'; break; case 'updateTables': include_once "../mainfile.php"; include_once './class/dbmanager.php'; $db = new db_manager; $sql = 'SELECT * FROM '.$db->prefix('groups'); $result = $db->query($sql); $content = '
'._INSTALL_L157.'
'; $content .= ''; while ($myrow = $db->fetchArray($result)) { if ($myrow['type'] == 'Admin') { $content .= ''; } elseif ($myrow['type'] == 'User') { $content .= ''; } else { $content .= ''; } } $content .= '
'._INSTALL_L158.''._INSTALL_L159.''._INSTALL_L160.''._INSTALL_L161.'
'.$myrow['name'].'  
'.$myrow['name'].'  
'.$myrow['name'].'  
'; $b_back = array(); $b_next = array('updateTables_go', _INSTALL_L132); include 'install_tpl.php'; break; case 'updateTables_go': include_once "../mainfile.php"; $error = false; $g_webmasters = isset($g_webmasters) ? intval($g_webmasters) : 0; $g_users = isset($g_users) ? intval($g_users) : 0; $g_anonymous = isset($g_anonymous) ? intval($g_anonymous) : 0; if (empty($g_webmasters) || empty($g_users) || empty($g_anonymous)) { $error = true; } else { include_once "./class/mainfilemanager.php"; $title = _INSTALL_L88; $mm = new mainfile_manager("../mainfile.php"); $mm->setRewrite('XOOPS_GROUP_ADMIN', $g_webmasters); $mm->setRewrite('XOOPS_GROUP_USERS', $g_users); $mm->setRewrite('XOOPS_GROUP_ANONYMOUS', $g_anonymous); $ret = $mm->doRewrite(); if(!$ret){ $content = _INSTALL_L60; include 'install_tpl.php'; exit(); } } if (false != $error) { $b_back = array(); $content = _INSTALL_L162; include 'install_tpl.php'; break; } include_once './class/dbmanager.php'; $dbm = new db_manager; if (!$dbm->query("ALTER TABLE ".$dbm->prefix("newblocks")." ADD dirname VARCHAR(50) NOT NULL, ADD func_file VARCHAR(50) NOT NULL, ADD show_func VARCHAR(50) NOT NULL, ADD edit_func VARCHAR(50) NOT NULL")) { } $result = $dbm->queryFromFile('./sql/upgrade/'.XOOPS_DB_TYPE.'.structure.sql'); $content = $dbm->report(); if (!$result) { $content .= "

"._INSTALL_L135."

\n"; $b_back = array(); } else { $content .= "

"._INSTALL_L136."

\n"; $b_next = array('updateConfig', _INSTALL_L14); } include 'install_tpl.php'; break; case 'updateConfig': $b_next = array('updateConfig_go', _INSTALL_L144); $content = "

"._INSTALL_L143."

\n"; include 'install_tpl.php'; break; case 'updateConfig_go': include_once "../mainfile.php"; $language = check_language($language); if ( file_exists("./language/".$language."/install2.php") ) { include_once "./language/".$language."/install2.php"; } elseif ( file_exists("./language/english/install2.php") ) { include_once "./language/english/install2.php"; $language = 'english'; } else { echo 'no language file (install2.php).'; exit(); } include_once './class/dbmanager.php'; $dbm = new db_manager; // default settings $xoopsConfig['sitename'] = 'XOOPS Site'; $xoopsConfig['slogan'] = 'Just use it!'; $xoopsConfig['adminmail'] = ''; $xoopsConfig['language'] = 'english'; $xoopsConfig['anonymous'] = 'Anonymous'; $xoopsConfig['minpass'] = 5; $xoopsConfig['anonpost'] = 0; $xoopsConfig['new_user_notify'] = 0; $xoopsConfig['new_user_notify_group'] = 1; $xoopsConfig['self_delete'] = 0; $xoopsConfig['gzip_compression'] = 0; $xoopsConfig['uname_test_level'] = 0; $xoopsConfig['usercookie'] = "xoops_user"; $xoopsConfig['sessioncookie'] = "xoops_session"; $xoopsConfig['sessionexpire'] = 4500; $xoopsConfig['server_TZ'] = 0; $xoopsConfig['default_TZ'] = 0; $xoopsConfig['banners'] = 1; $xoopsConfig['com_mode'] = "nest"; $xoopsConfig['com_order'] = 1; $xoopsConfig['my_ip'] = "127.0.0.1"; $xoopsConfig['avatar_allow_upload'] = 0; $xoopsConfig['avatar_width'] = 120; $xoopsConfig['avatar_height'] = 120; $xoopsConfig['avatar_maxsize'] = 15000; // override deafault with 1.3.x settings if any if (file_exists('../modules/system/cache/config.php')) { include_once('../modules/system/cache/config.php'); } $dbm->insert('config', " VALUES (1, 0, 1, 'sitename', '_MD_AM_SITENAME', '".addslashes($xoopsConfig['sitename'])."', '_MD_AM_SITENAMEDSC', 'textbox', 'text', 0)"); $dbm->insert('config', " VALUES (2, 0, 1, 'slogan', '_MD_AM_SLOGAN', '".addslashes($xoopsConfig['slogan'])."', '_MD_AM_SLOGANDSC', 'textbox', 'text', 2)"); $dbm->insert('config', " VALUES (3, 0, 1, 'language', '_MD_AM_LANGUAGE', '".$xoopsConfig['language']."', '_MD_AM_LANGUAGEDSC', 'language', 'other', 4)"); $dbm->insert('config', " VALUES (4, 0, 1, 'startpage', '_MD_AM_STARTPAGE', '--', '_MD_AM_STARTPAGEDSC', 'startpage', 'other', 6)"); $dbm->insert('config', " VALUES (5, 0, 1, 'server_TZ', '_MD_AM_SERVERTZ', '".addslashes($xoopsConfig['server_TZ'])."', '_MD_AM_SERVERTZDSC', 'timezone', 'float', 8)"); $dbm->insert('config', " VALUES (6, 0, 1, 'default_TZ', '_MD_AM_DEFAULTTZ', '".addslashes($xoopsConfig['default_TZ'])."', '_MD_AM_DEFAULTTZDSC', 'timezone', 'float', 10)"); $dbm->insert('config', " VALUES (7, 0, 1, 'theme_set', '_MD_AM_DTHEME', 'default', '_MD_AM_DTHEMEDSC', 'theme', 'other', 12)"); $dbm->insert('config', " VALUES (8, 0, 1, 'anonymous', '_MD_AM_ANONNAME', '".addslashes($xoopsConfig['anonymous'])."', '_MD_AM_ANONNAMEDSC', 'textbox', 'text', 15)"); $dbm->insert('config', " VALUES (9, 0, 1, 'gzip_compression', '_MD_AM_USEGZIP', '".intval($xoopsConfig['gzip_compression'])."', '_MD_AM_USEGZIPDSC', 'yesno', 'int', 16)"); $dbm->insert('config', " VALUES (10, 0, 1, 'usercookie', '_MD_AM_USERCOOKIE', '".addslashes($xoopsConfig['usercookie'])."', '_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', '".intval($xoopsConfig['banners'])."', '_MD_AM_BANNERSDSC', 'yesno', 'int', 26)"); $dbm->insert('config', " VALUES (13, 0, 1, 'debug_mode', '_MD_AM_DEBUGMODE', '0', '_MD_AM_DEBUGMODEDSC', 'select', 'int', 24)"); $dbm->insert('config', " VALUES (14, 0, 1, 'my_ip', '_MD_AM_MYIP', '".addslashes($xoopsConfig['my_ip'])."', '_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', '".intval($xoopsConfig['minpass'])."', '_MD_AM_MINPASSDSC', 'textbox', 'int', 1)"); $dbm->insert('config', " VALUES (18, 0, 2, 'minuname', '_MD_AM_MINUNAME', '5', '_MD_AM_MINUNAMEDSC', 'textbox', 'int', 2)"); $dbm->insert('config', " VALUES (19, 0, 2, 'new_user_notify', '_MD_AM_NEWUNOTIFY', '".intval($xoopsConfig['new_user_notify'])."', '_MD_AM_NEWUNOTIFYDSC', 'yesno', 'int', 4)"); $dbm->insert('config', " VALUES (20, 0, 2, 'new_user_notify_group', '_MD_AM_NOTIFYTO', ".intval($xoopsConfig['new_user_notify_group']).", '_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', ".XOOPS_GROUP_ADMIN.", '_MD_AM_ACTVGROUPDSC', 'group', 'int', 10)"); $dbm->insert('config', " VALUES (23, 0, 2, 'uname_test_level', '_MD_AM_UNAMELVL', '".intval($xoopsConfig['uname_test_level'])."', '_MD_AM_UNAMELVLDSC', 'select', 'int', 12)"); $dbm->insert('config', " VALUES (24, 0, 2, 'avatar_allow_upload', '_MD_AM_AVATARALLOW', '".intval($xoopsConfig['avatar_allow_upload'])."', '_MD_AM_AVATARALWDSC', 'yesno', 'int', 14)"); $dbm->insert('config', " VALUES (27, 0, 2, 'avatar_width', '_MD_AM_AVATARW', '".intval($xoopsConfig['avatar_width'])."', '_MD_AM_AVATARWDSC', 'textbox', 'int', 16)"); $dbm->insert('config', " VALUES (28, 0, 2, 'avatar_height', '_MD_AM_AVATARH', '".intval($xoopsConfig['avatar_height'])."', '_MD_AM_AVATARHDSC', 'textbox', 'int', 18)"); $dbm->insert('config', " VALUES (29, 0, 2, 'avatar_maxsize', '_MD_AM_AVATARMAX', '".intval($xoopsConfig['avatar_maxsize'])."', '_MD_AM_AVATARMAXDSC', 'textbox', 'int', 20)"); $dbm->insert('config', " VALUES (30, 0, 1, 'adminmail', '_MD_AM_ADMINML', '".addslashes($xoopsConfig['adminmail'])."', '_MD_AM_ADMINMLDSC', 'textbox', 'text', 3)"); $dbm->insert('config', " VALUES (31, 0, 2, 'self_delete', '_MD_AM_SELFDELETE', '".intval($xoopsConfig['self_delete'])."', '_MD_AM_SELFDELETEDSC', 'yesno', 'int', 22)"); $dbm->insert('config', " VALUES (32, 0, 1, 'com_mode', '_MD_AM_COMMODE', '".addslashes($xoopsConfig['com_mode'])."', '_MD_AM_COMMODEDSC', 'select', 'text', 34)"); $dbm->insert('config', " VALUES (33, 0, 1, 'com_order', '_MD_AM_COMORDER', '".intval($xoopsConfig['com_order'])."', '_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('xoops.org$')))."', '_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', 'news, technology, headlines, xoops, xoop, nuke, myphpnuke, myphp-nuke, phpnuke, SE, geek, geeks, hacker, hackers, linux, software, download, downloads, free, community, mp3, forum, forums, bulletin, board, boards, bbs, php, survey, poll, polls, kernel, comment, comments, portal, odp, open, source, opensource, FreeSoftware, gnu, gpl, license, Unix, *nix, mysql, sql, database, databases, web site, weblog, guru, module, modules, theme, themes, cms, content management', '_MD_AM_METAKEYDSC', 'textarea', 'text', 0)"); $dbm->insert('config', " VALUES (39, 0, 3, 'footer', '_MD_AM_FOOTER', 'Powered by XOOPS 2.0 © 2001-" . date('Y', time()) . " The XOOPS Project', '_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', 'XOOPS', '_MD_AM_METAAUTHORDSC', 'textbox', 'text', 6)"); $dbm->insert('config', " VALUES (50, 0, 3, 'meta_copyright', '_MD_AM_METACOPYR', 'Copyright © 2001-2003', '_MD_AM_METACOPYRDSC', 'textbox', 'text', 8)"); $dbm->insert('config', " VALUES (51, 0, 3, 'meta_description', '_MD_AM_METADESC', 'XOOPS is a dynamic Object Oriented based open source portal script written in PHP.', '_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)"); $dbm->insert('config', " VALUES (73,0,6,'fromuid','_MD_AM_MAILFROMUID','1','_MD_AM_MAILFROMUIDDESC','user','int',3)"); $dbm->insert('config', " VALUES (74,0,7,'auth_method','_MD_AM_AUTHMETHOD','xoops','_MD_AM_AUTHMETHODDESC','select','text',1)"); $dbm->insert('config', " VALUES (75,0,7,'ldap_port','_MD_AM_LDAP_PORT','389','_MD_AM_LDAP_PORT','textbox','int',2)"); $dbm->insert('config', " VALUES (76,0,7,'ldap_server','_MD_AM_LDAP_SERVER','your directory server','_MD_AM_LDAP_SERVER_DESC','textbox','text',3)"); $dbm->insert('config', " VALUES (77,0,7,'ldap_base_dn','_MD_AM_LDAP_BASE_DN','dc=xoops,dc=org','_MD_AM_LDAP_BASE_DN_DESC','textbox','text',4)"); $dbm->insert('config', " VALUES (78,0,7,'ldap_manager_dn','_MD_AM_LDAP_MANAGER_DN','manager_dn','_MD_AM_LDAP_MANAGER_DN_DESC','textbox','text',5)"); $dbm->insert('config', " VALUES (79,0,7,'ldap_manager_pass','_MD_AM_LDAP_MANAGER_PASS','manager_pass','_MD_AM_LDAP_MANAGER_PASS_DESC','password','text',6)"); $dbm->insert('config', " VALUES (80,0,7,'ldap_version','_MD_AM_LDAP_VERSION','3','_MD_AM_LDAP_VERSION_DESC','textbox','text', 7)"); $dbm->insert('config', " VALUES (81,0,7,'ldap_users_bypass','_MD_AM_LDAP_USERS_BYPASS','".serialize(array('admin'))."','_MD_AM_LDAP_USERS_BYPASS_DESC','textarea','array',8)"); $dbm->insert('config', " VALUES (82,0,7,'ldap_loginname_asdn','_MD_AM_LDAP_LOGINNAME_ASDN','uid_asdn','_MD_AM_LDAP_LOGINNAME_ASDN_D','yesno','int',9)"); $dbm->insert('config', " VALUES (83,0,7,'ldap_loginldap_attr', '_MD_AM_LDAP_LOGINLDAP_ATTR', 'uid', '_MD_AM_LDAP_LOGINLDAP_ATTR_D', 'textbox', 'text', 10)"); $dbm->insert('config', " VALUES (84,0,7,'ldap_filter_person','_MD_AM_LDAP_FILTER_PERSON','','_MD_AM_LDAP_FILTER_PERSON_DESC','textbox','text',11)"); $dbm->insert('config', " VALUES (85,0,7,'ldap_domain_name','_MD_AM_LDAP_DOMAIN_NAME','mydomain','_MD_AM_LDAP_DOMAIN_NAME_DESC','textbox','text',12)"); $dbm->insert('config', " VALUES (86,0,7,'ldap_provisionning','_MD_AM_LDAP_PROVIS','0','_MD_AM_LDAP_PROVIS_DESC','yesno','int',13)"); $dbm->insert('config', " VALUES (87,0,7,'ldap_provisionning_group','_MD_AM_LDAP_PROVIS_GROUP','a:1:{i:0;s:1:\"2\";}','_MD_AM_LDAP_PROVIS_GROUP_DSC','group_multi','array',14)"); // default the default theme $time = time(); $dbm->insert('tplset', " VALUES (1, 'default', 'XOOPS Default Theme', '', ".$time.")"); // include_once './class/cachemanager.php'; // $cm = new cache_manager; // $skinfiles = array('1' => 'skin.html', '2' => 'style.css' // , '3' => 'styleNN.css','4' => 'styleMAC.css' // , '5' => 'skin_blockleft.html', '6' => 'skin_blockright.html' // , '7' => 'skin_blockcenter_l.html', '8' => 'skin_blockcenter_c.html' // , '9' => 'skin_blockcenter_r.html'); // foreach ($skinfiles as $key => $skinfile) { // if(preg_match('/\.css$/', $skinfile)) { // $type = 'css'; // }else{ // $type = 'skin'; // } // $dbm->insert('tplfile', " VALUES ($key, 0, '', 'default', '$skinfile', '', $time, $time, '$type')"); // $fp = fopen('./templates/default_skin/'.$skinfile, 'r'); // $skinsource = fread($fp, filesize('./templates/default_skin/'.$skinfile)); // fclose($fp); // $dbm->insert('tplsource', " (tpl_id, tpl_source) VALUES ($key, '".addslashes($skinsource)."')"); // if(preg_match('/\.css$/',$skinfile)) { // $cm->write($skinfile, $skinsource); // } // } $dbm->query("INSERT INTO ".$dbm->prefix('group_permission')." (gperm_groupid, gperm_itemid) SELECT groupid, block_id FROM ".$dbm->prefix('groups_blocks_link')); $dbm->query("UPDATE ".$dbm->prefix('group_permission')." SET gperm_name = 'block_read'"); $dbm->query("INSERT INTO ".$dbm->prefix('group_permission')." (gperm_groupid, gperm_itemid) SELECT groupid, mid FROM ".$dbm->prefix('groups_modules_link') ." WHERE type='A'"); $dbm->query("UPDATE ".$dbm->prefix('group_permission')." SET gperm_name = 'module_admin' WHERE gperm_name = ''"); $dbm->query("INSERT INTO ".$dbm->prefix('group_permission')." (gperm_groupid, gperm_itemid) SELECT groupid, mid FROM ".$dbm->prefix('groups_modules_link')." WHERE type='R'"); $dbm->query("UPDATE ".$dbm->prefix('group_permission')." SET gperm_name = 'module_read' WHERE gperm_name = ''"); $dbm->query("UPDATE ".$dbm->prefix('group_permission')." SET gperm_modid = 1"); $dbm->query('DROP TABLE '.$dbm->prefix('groups_blocks_link')); $dbm->query('DROP TABLE '.$dbm->prefix('groups_modules_link')); // insert some more data $result = $dbm->queryFromFile('./sql/'.XOOPS_DB_TYPE.'.data.sql'); $content = $dbm->report(); //$content .= $cm->report(); $b_next = array('updateModules', _INSTALL_L14); include 'install_tpl.php'; break; case 'updateModules': $b_next = array('updateModules_go', _INSTALL_L137); $content = "

"._INSTALL_L141."

\n"; include 'install_tpl.php'; break; case 'updateModules_go': unset($xoopsOption['nocommon']); include_once "../mainfile.php"; ?> XOOPS Custom Installation
 
 
 
 

getObjects(null, true); foreach (array_keys($modules) as $mid) { echo '
'.$modules[$mid]->getVar('name').'
'; $dirname = $modules[$mid]->getVar('dirname'); if (is_dir(XOOPS_ROOT_PATH.'/modules/'.$dirname)) { $modules[$mid]->loadInfoAsVar($dirname, false); if (!$module_handler->insert($modules[$mid])) { echo '

Could not update '.$modules[$mid]->getVar('name').'

'; } else { $newmid = $modules[$mid]->getVar('mid'); $msgs = array(); $msgs[] = 'Module data updated.'; $tplfile_handler =& xoops_gethandler('tplfile'); $templates = $modules[$mid]->getInfo('templates'); if ($templates != false) { $msgs[] = 'Generating templates...'; foreach ($templates as $tpl) { $tpl['file'] = trim($tpl['file']); $tpldata =& xoops_module_gettemplate($dirname, $tpl['file']); $tplfile =& $tplfile_handler->create(); $tplfile->setVar('tpl_refid', $newmid); $tplfile->setVar('tpl_lastimported', 0); $tplfile->setVar('tpl_lastmodified', time()); if (preg_match("/\.css$/i", $tpl['file'])) { $tplfile->setVar('tpl_type', 'css'); } else { $tplfile->setVar('tpl_type', 'module'); //if ($xoopsConfig['default_theme'] == 'default') { // include_once XOOPS_ROOT_PATH.'/class/template.php'; // xoops_template_touch($tplfile->getVar('tpl_id')); //} } $tplfile->setVar('tpl_source', $tpldata, true); $tplfile->setVar('tpl_module', $dirname); $tplfile->setVar('tpl_tplset', 'default'); $tplfile->setVar('tpl_file', $tpl['file'], true); $tplfile->setVar('tpl_desc', $tpl['description'], true); if (!$tplfile_handler->insert($tplfile)) { $msgs[] = '  ERROR: Could not insert template '.$tpl['file'].' to the database.'; } else { $msgs[] = '  Template '.$tpl['file'].' inserted to the database.'; } unset($tpldata); } } $blocks = $modules[$mid]->getInfo('blocks'); $msgs[] = 'Rebuilding blocks...'; $showfuncs = array(); $funcfiles = array(); if ($blocks != false) { $count = count($blocks); include_once(XOOPS_ROOT_PATH.'/class/xoopsblock.php'); for ( $i = 1; $i <= $count; $i++ ) { if (isset($blocks[$i]['show_func']) && $blocks[$i]['show_func'] != '' && isset($blocks[$i]['file']) && $blocks[$i]['file'] != '') { $editfunc = isset($blocks[$i]['edit_func']) ? $blocks[$i]['edit_func'] : ''; $showfuncs[] = $blocks[$i]['show_func']; $funcfiles[] = $blocks[$i]['file']; $template = ''; if ((isset($blocks[$i]['template']) && trim($blocks[$i]['template']) != '')) { $content =& xoops_module_gettemplate($dirname, $blocks[$i]['template'], true); $template = $blocks[$i]['template']; } if (!$content) { $content = ''; } $options = ''; if (isset($blocks[$i]['options']) && $blocks[$i]['options'] != '') { $options = $blocks[$i]['options']; } $sql = "SELECT bid, name FROM ".$xoopsDB->prefix('newblocks')." WHERE mid=".$mid." AND func_num=".$i; $fresult = $xoopsDB->query($sql); $fcount = 0; while ($fblock = $xoopsDB->fetchArray($fresult)) { $fcount++; $sql = "UPDATE ".$xoopsDB->prefix("newblocks")." SET name='".addslashes($blocks[$i]['name'])."', title='".addslashes($blocks[$i]['name'])."', dirname='".addslashes($dirname)."', func_file='".addslashes($blocks[$i]['file'])."', show_func='".addslashes($blocks[$i]['show_func'])."', template='".addslashes($template)."', edit_func='".addslashes($editfunc)."', options='".addslashes($options)."', content='', template='".$template."', last_modified=".time()." WHERE bid=".$fblock['bid']; $result = $xoopsDB->query($sql); if (!$result) { $msgs[] = '  ERROR: Could not update '.$fblock['name']; } else { $msgs[] = '  Block '.$fblock['name'].' updated. Block ID: '.$fblock['bid'].''; if ($template != '') { $tplfile =& $tplfile_handler->create(); $tplfile->setVar('tpl_refid', $fblock['bid']); $tplfile->setVar('tpl_source', $content, true); $tplfile->setVar('tpl_tplset', 'default'); $tplfile->setVar('tpl_file', $blocks[$i]['template']); $tplfile->setVar('tpl_module', $dirname); $tplfile->setVar('tpl_type', 'block'); $tplfile->setVar('tpl_desc', $blocks[$i]['description'], true); $tplfile->setVar('tpl_lastimported', 0); $tplfile->setVar('tpl_lastmodified', time()); if (!$tplfile_handler->insert($tplfile)) { $msgs[] = '  ERROR: Could not insert template '.$blocks[$i]['template'].' to the database.'; } else { $msgs[] = '  Template '.$blocks[$i]['template'].' inserted to the database.'; //if ($xoopsConfig['default_theme'] == 'default') { // if (!xoops_template_touch($tplfile[0]->getVar('tpl_id'))) { // $msgs[] = '  ERROR: Could not recompile template '.$blocks[$i]['template'].'.'; // } else { // $msgs[] = '  Template '.$blocks[$i]['template'].' recompiled.'; // } //} } } } } if ($fcount == 0) { $newbid = $xoopsDB->genId($xoopsDB->prefix('newblocks').'_bid_seq'); $block_name = addslashes($blocks[$i]['name']); $sql = "INSERT INTO ".$xoopsDB->prefix("newblocks")." (bid, mid, func_num, options, name, title, content, side, weight, visible, block_type, isactive, dirname, func_file, show_func, edit_func, template, last_modified) VALUES (".$newbid.", ".$mid.", ".$i.",'".addslashes($options)."','".$block_name."', '".$block_name."', '', 0, 0, 0, 'M', 1, '".addslashes($dirname)."', '".addslashes($blocks[$i]['file'])."', '".addslashes($blocks[$i]['show_func'])."', '".addslashes($editfunc)."', '".$template."', ".time().")"; $result = $xoopsDB->query($sql); if (!$result) { $msgs[] = '  ERROR: Could not create '.$blocks[$i]['name']; } else { if (empty($newbid)) { $newbid = $xoopsDB->getInsertId(); } if ($template != '') { $tplfile =& $tplfile_handler->create(); $tplfile->setVar('tpl_module', $dirname); $tplfile->setVar('tpl_refid', $newbid); $tplfile->setVar('tpl_source', $content, true); $tplfile->setVar('tpl_tplset', 'default'); $tplfile->setVar('tpl_file', $blocks[$i]['template'], true); $tplfile->setVar('tpl_type', 'block'); $tplfile->setVar('tpl_lastimported', 0); $tplfile->setVar('tpl_lastmodified', time()); $tplfile->setVar('tpl_desc', $blocks[$i]['description'], true); if (!$tplfile_handler->insert($tplfile)) { $msgs[] = '  ERROR: Could not insert template '.$blocks[$i]['template'].' to the database.'; } else { $msgs[] = '  Template '.$blocks[$i]['template'].' inserted to the database.'; } } $msgs[] = '  Block '.$blocks[$i]['name'].' created. Block ID: '.$newbid.''; } } } } } $block_arr = XoopsBlock::getByModule($mid); foreach ($block_arr as $block) { if (!in_array($block->getVar('show_func'), $showfuncs) || !in_array($block->getVar('func_file'), $funcfiles)) { $sql = sprintf("DELETE FROM %s WHERE bid = %u", $xoopsDB->prefix('newblocks'), $block->getVar('bid')); if(!$xoopsDB->query($sql)) { $msgs[] = '  ERROR: Could not delete block '.$block->getVar('name').'. Block ID: '.$block->getVar('bid').''; } else { $msgs[] = '  Block '.$block->getVar('name').' deleted. Block ID: '.$block->getVar('bid').''; } } } $configs = $modules[$mid]->getInfo('config'); if ($configs != false) { if ($modules[$mid]->getVar('hascomments') != 0) { include_once(XOOPS_ROOT_PATH.'/include/comment_constants.php'); array_push($configs, array('name' => 'com_rule', 'title' => '_CM_COMRULES', 'description' => '', 'formtype' => 'select', 'valuetype' => 'int', 'default' => 1, 'options' => array('_CM_COMAPPROVEALL' => XOOPS_COMMENT_APPROVEALL, '_CM_COMAPPROVEUSER' => XOOPS_COMMENT_APPROVEUSER, '_CM_COMAPPROVEADMIN' => XOOPS_COMMENT_APPROVEADMIN))); array_push($configs, array('name' => 'com_anonpost', 'title' => '_CM_COMANONPOST', 'description' => '', 'formtype' => 'yesno', 'valuetype' => 'int', 'default' => 0)); } } else { if ($modules[$mid]->getVar('hascomments') != 0) { $configs = array(); include_once(XOOPS_ROOT_PATH.'/include/comment_constants.php'); $configs[] = array('name' => 'com_rule', 'title' => '_CM_COMRULES', 'description' => '', 'formtype' => 'select', 'valuetype' => 'int', 'default' => 1, 'options' => array('_CM_COMAPPROVEALL' => XOOPS_COMMENT_APPROVEALL, '_CM_COMAPPROVEUSER' => XOOPS_COMMENT_APPROVEUSER, '_CM_COMAPPROVEADMIN' => XOOPS_COMMENT_APPROVEADMIN)); array_push($configs, array('name' => 'com_anonpost', 'title' => '_CM_COMANONPOST', 'description' => '', 'formtype' => 'yesno', 'valuetype' => 'int', 'default' => 0)); } } // RMV-NOTIFY if ($modules[$mid]->getVar('hasnotification') != 0) { if (empty($configs)) { $configs = array(); } include_once(XOOPS_ROOT_PATH.'/include/notification_constants.php'); $configs[] = array ('name' => 'notification_enabled', 'title' => '_NOT_CONFIG_ENABLED', 'description' => '_NOT_CONFIG_ENABLEDDSC', 'formtype' => 'select', 'valuetype' => 'int', 'default' => XOOPS_NOTIFICATION_ENABLEBOTH, 'options' => $options); } if ($configs != false) { $msgs[] = 'Adding module config data...'; $config_handler =& xoops_gethandler('config'); $order = 0; foreach ($configs as $config) { $confobj =& $config_handler->createConfig(); $confobj->setVar('conf_modid', $newmid); $confobj->setVar('conf_catid', 0); $confobj->setVar('conf_name', $config['name']); $confobj->setVar('conf_title', $config['title'], true); $confobj->setVar('conf_desc', $config['description'], true); $confobj->setVar('conf_formtype', $config['formtype']); $confobj->setVar('conf_valuetype', $config['valuetype']); $confobj->setVar('conf_value', $config['default'], true); $confobj->setVar('conf_order', $order); $confop_msgs = ''; if (isset($config['options']) && is_array($config['options'])) { foreach ($config['options'] as $key => $value) { $confop =& $config_handler->createConfigOption(); $confop->setVar('confop_name', $key, true); $confop->setVar('confop_value', $value, true); $confobj->setConfOptions($confop); $confop_msgs .= '
    Config option added. Name: '.$key.' Value: '.$value.''; unset($confop); } } $order++; if ($config_handler->insertConfig($confobj) != false) { $msgs[] = '  Config '.$config['name'].' added to the database.'.$confop_msgs; } else { $msgs[] = '  ERROR: Could not insert config '.$config['name'].' to the database.'; } unset($confobj); } unset($configs); } foreach ($msgs as $msg) { echo ''.$msg.'
'; } } // data for table 'block_module_link' include_once './class/dbmanager.php'; $dbm = new db_manager; $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)"); } } } echo '
'; flush(); sleep(1); } ?>
 
      >>  
 
 
_ got got top determine determine matter as as example truck truck locate hand hand cost pretty pretty mouth month month foot store store last melody melody buy am am condition slow slow take enough enough felt race race student mark mark learn back back thank brought brought women enough enough add line line enough again again stead fight fight man sharp sharp lot require require receive milk milk trade fly fly should face face my read read slave forward forward second had had plane surface surface hurry arm arm visit shoulder shoulder number two two dead segment segment I operate operate electric station station late do do shoulder over over soldier iron iron been property property break still still low children children contain skin skin such
_ devany center devany center region jeremy flores san francisco jeremy flores san francisco charge golden mole pictures golden mole pictures least michael serrano puerto rico michael serrano puerto rico though seattle federal detenion center seattle federal detenion center dance tanned elk hide tanned elk hide pair hawker service center forum hawker service center forum tire rifles of the revoloution rifles of the revoloution spring southern sun boulder colorado southern sun boulder colorado led leonard davis lewistown leonard davis lewistown hundred san francisco dry dock san francisco dry dock thick bother dave gardner bother dave gardner great monarchs overwinter florida monarchs overwinter florida natural anton spitaler anton spitaler thick city of suisun california city of suisun california shout blue moon healing center blue moon healing center though golden mole pictures golden mole pictures name polar bear endangered species polar bear endangered species range brandy lynn gonzales brandy lynn gonzales type the pacifica crest trail the pacifica crest trail produce norfolk police reports norfolk police reports lot lewis marx bibliography lewis marx bibliography duck abbey tavern dublin ireland abbey tavern dublin ireland leg used car dealers sanford used car dealers sanford spoke davis family pinot davis family pinot could thomas sanger thomas sanger quart sharon green kentucky sharon green kentucky his holly hunter lesbian movies holly hunter lesbian movies select lindenkohl canyon lindenkohl canyon team 2008 wrangler models 2008 wrangler models square holly holy porn video holly holy porn video which new orleans dessert new orleans dessert went robin hood sandwich robin hood sandwich describe kimberly clark star kimberly clark star enter jm greenfield email address jm greenfield email address small avon physician avon physician story rifles of the revoloution rifles of the revoloution island jeremy flores san francisco jeremy flores san francisco color coyote spring school coyote spring school pound brush tail opossum brush tail opossum evening stratton management company stratton management company our lori sherman lori sherman sea solidus model viewer solidus model viewer tone golden triangle pcug golden triangle pcug shoe romance art center romance art center direct ski saint anton ski saint anton sight sausalito lighting sausalito lighting include lord nelson s coffin lord nelson s coffin room sausalito lighting sausalito lighting differ shawnee mission urgent care shawnee mission urgent care steel quilt sacramento ca quilt sacramento ca ball city of suisun california city of suisun california nation one model place noel one model place noel either ski saint anton ski saint anton party breckenridge married but looking breckenridge married but looking sheet scott trade manchester nh scott trade manchester nh spread dixon commercial investigators dixon commercial investigators direct polar bear endangered species polar bear endangered species bring michael serrano puerto rico michael serrano puerto rico whether ford escape brush bars ford escape brush bars design kiyoko wallace kiyoko wallace planet tanned elk hide tanned elk hide beat qol freedom qol freedom game pharmacopia industry delhi pharmacopia industry delhi arrive sound track freedom writers sound track freedom writers many jm greenfield email address jm greenfield email address yet robin hood sandwich robin hood sandwich often brandy lynn gonzales brandy lynn gonzales guess norfolk police reports norfolk police reports represent sacramento moto stunts sacramento moto stunts pound locksmith sacramento locksmith sacramento behind kimberly clark star kimberly clark star window golden mole pictures golden mole pictures settle city of brookfield wisconsin city of brookfield wisconsin kept colroing mineral oil colroing mineral oil shout san francisco dry dock san francisco dry dock pull palo cedro means palo cedro means gave ski saint anton ski saint anton example san francisco dry dock san francisco dry dock huge one model place noel one model place noel trade gypsum set time drift gypsum set time drift hill lindenkohl canyon lindenkohl canyon settle claim jumper restaurant roseville claim jumper restaurant roseville or solidus model viewer solidus model viewer parent berkeley plaza martinsburg wv berkeley plaza martinsburg wv age buy sod minnesota andover buy sod minnesota andover roll aurore hood aurore hood master jm greenfield email address jm greenfield email address felt creative ministries in oakdale creative ministries in oakdale radio lord nelson s coffin lord nelson s coffin train holly mattingly holly mattingly main kenwood kvt 911dvd harness kenwood kvt 911dvd harness soon sacramento bike hike sacramento bike hike eight sacramento custom van sacramento custom van visit scott trade manchester nh scott trade manchester nh silent monarchs overwinter florida monarchs overwinter florida duck colroing mineral oil colroing mineral oil raise kenwood kvt 911dvd harness kenwood kvt 911dvd harness rock clark shoes tommy clark shoes tommy less lori sherman lori sherman green thomas sanger thomas sanger join gypsum set time drift gypsum set time drift thick bryan bros bristol bryan bros bristol drop antique remington rifle appraisal antique remington rifle appraisal lead solidus model viewer solidus model viewer girl hudson essex 1928 hudson essex 1928 from georgetown in tustin california georgetown in tustin california high bryan bros bristol bryan bros bristol land yogi bear muskegon yogi bear muskegon know thomas sanger thomas sanger dead north denver tribune north denver tribune consider aspen junior chemes aspen junior chemes cow scott trade manchester nh scott trade manchester nh make hudson pharmaceuticals hudson pharmaceuticals coat new orleans dessert new orleans dessert truck blue moon healing center blue moon healing center parent blue moon healing center blue moon healing center stop lighthouse motel pacifica ca lighthouse motel pacifica ca mount sausalito lighting sausalito lighting equal sacramento custom van sacramento custom van up sacramento moto stunts sacramento moto stunts copy wallbed richmond wallbed richmond white ace cab san jose ace cab san jose spell southern sun boulder colorado southern sun boulder colorado shine hawker service center forum hawker service center forum throw montogmery elks club montogmery elks club cost solidus model viewer solidus model viewer double pharmacopia industry delhi pharmacopia industry delhi port leonard davis lewistown leonard davis lewistown wide naf veterinarian beale afb naf veterinarian beale afb eat avon physician avon physician special 2008 wrangler models 2008 wrangler models small alice 105 in denver alice 105 in denver numeral san francisco dry dock san francisco dry dock game ski saint anton ski saint anton stretch pharmacopia industry delhi pharmacopia industry delhi insect abbey tavern dublin ireland abbey tavern dublin ireland middle tracy nowak tracy nowak over yogi bear muskegon yogi bear muskegon work silvadene for burns silvadene for burns cell gunderson lutheran medical center gunderson lutheran medical center block gypsum set time drift gypsum set time drift energy suzanne davis dance suzanne davis dance happy admiral crowe challenge coin admiral crowe challenge coin correct gated community canton ohio gated community canton ohio speech pictures of howard aiken pictures of howard aiken had ibm as400 model 520 ibm as400 model 520 range fired severance fired severance in richard arnold marian lockwood richard arnold marian lockwood tire public transportation calistoga public transportation calistoga leave debugging applications john robbins debugging applications john robbins tree homes in rancho cordova homes in rancho cordova stead senor luna new berlin senor luna new berlin parent music sing stanford music sing stanford climb danielson manufacturing company danielson manufacturing company speed folding 9mm rifle folding 9mm rifle plan dublin solicitors small dublin solicitors small so rescue me canadian television rescue me canadian television original brady ranch rodeo brady ranch rodeo men raymond fantroy raymond fantroy meat pioneer xm2go manual pioneer xm2go manual pitch snoopy from the hood snoopy from the hood else rv rental tailgate denver rv rental tailgate denver tail ewing nj community center ewing nj community center chance pioneer elite pro 710hd pioneer elite pro 710hd school kirby r nunn kirby r nunn new offering memorandum model offering memorandum model dance barb rush nd barb rush nd past monarch paint houston texas monarch paint houston texas hole fort klamath oregon fort klamath oregon pick mack truck hagerstown md mack truck hagerstown md fig buck mark target rifle buck mark target rifle parent bedard borthers cheshire bedard borthers cheshire your mcdonald aquatic center mcdonald aquatic center jump durango colorado vacation durango colorado vacation certain bayside motorsports green bay bayside motorsports green bay each new canaan stationery new canaan stationery sight la domaine albany ny la domaine albany ny captain
food grade pails

food grade pails

sun maines paper food service 31

maines paper food service 31

told boxer specific foods

boxer specific foods

down should we grow genetically engineered foods

should we grow genetically engineered foods

say recipe sock it to me cake

recipe sock it to me cake

mean cuisinart sorbet maker recipes

cuisinart sorbet maker recipes

charge lunch r ecipes

lunch r ecipes

close brownie mix cookies recipe

brownie mix cookies recipe

kind food chain of angelshark

food chain of angelshark

letter recipe for mounds cake

recipe for mounds cake

from recipes lamb pomegranate molasses

recipes lamb pomegranate molasses

skill robby s meal

robby s meal

never whole foods grocery oakland

whole foods grocery oakland

complete creamy stone ground grit recipes

creamy stone ground grit recipes

ask dean and delucca recipe

dean and delucca recipe

war recipe for shrimp portofino

recipe for shrimp portofino

experiment akron ohio dinner theatre

akron ohio dinner theatre

light healthy recipes tx

healthy recipes tx

woman hot food merchandisers in dallas texas

hot food merchandisers in dallas texas

dear dysplasia foods

dysplasia foods

colony mala sauce recipe

mala sauce recipe

born butterflied lamb recipes

butterflied lamb recipes

your potatoe salad with cooked dressing recipes

potatoe salad with cooked dressing recipes

high heritage turkey recipes

heritage turkey recipes

interest recipe dog biscuits

recipe dog biscuits

happen diabetes foods not to eat

diabetes foods not to eat

held sample menu baby food

sample menu baby food

wonder bayview bed breakfast aptos

bayview bed breakfast aptos

trade a recipe fo fried potatoe wedges

a recipe fo fried potatoe wedges

since card party lunch menus

card party lunch menus

over meal dinner clubs

meal dinner clubs

voice burboun street chicken recipe

burboun street chicken recipe

prepare hershey s chocolate chip bars recipe

hershey s chocolate chip bars recipe

people electrical resistance heating of food

electrical resistance heating of food

plan penne arrabiatta recipe

penne arrabiatta recipe

box members mark exceed dog food

members mark exceed dog food

rope shears house bed and breakfast newfoundland

shears house bed and breakfast newfoundland

lift african lion role in food chain

african lion role in food chain

modern recipes salads healthy

recipes salads healthy

natural beverage recipe in trinidad

beverage recipe in trinidad

seat lake michigan bed and breakfast

lake michigan bed and breakfast

warm recipe pot roast lipton cream mushroom

recipe pot roast lipton cream mushroom

rock malibu rum and ginger ale recipes

malibu rum and ginger ale recipes

good garbonzo bean flour bread recipe

garbonzo bean flour bread recipe

six food network cookbook

food network cookbook

fun authentic cuban recipes with pictures

authentic cuban recipes with pictures

chance fear factor recipes

fear factor recipes

thing vermont bed and breakfast family

vermont bed and breakfast family

rose crockpot chicken appetizer recipe

crockpot chicken appetizer recipe

low recipe cookie invert sugar

recipe cookie invert sugar

engine seasoning vegan olive oil recipe

seasoning vegan olive oil recipe

us junk food t shirt website

junk food t shirt website

just puff candy recipe

puff candy recipe

flower honey bees food

honey bees food

original old english cheese crab recipe

old english cheese crab recipe

group rochester ny dinner gift certificates

rochester ny dinner gift certificates

seed orlando culinary academy student page

orlando culinary academy student page

shall us regional foods

us regional foods

fell doghouse dinners

doghouse dinners

clothe white hart restaurant conneticut recipes

white hart restaurant conneticut recipes

shop wedding picnic basket

wedding picnic basket

fact recipes healthy wraps

recipes healthy wraps

warm imitation crab and pasta salad recipe

imitation crab and pasta salad recipe

sharp cucumber spread recipes

cucumber spread recipes

home easy recipes chicken alfredo

easy recipes chicken alfredo

continue fruit recipe salad strawberry

fruit recipe salad strawberry

size traverse county michigan bed and breakfasts

traverse county michigan bed and breakfasts

duck what are good cooking oils

what are good cooking oils

claim pueblo indians food info

pueblo indians food info

minute breakfast nook cushion sets

breakfast nook cushion sets

captain no sugar jam recipes

no sugar jam recipes

science easy beef pot pie recipe

easy beef pot pie recipe

question recipes for baking stone

recipes for baking stone

dictionary breakfast food in berkeley

breakfast food in berkeley

seven effects of cooking on lactose

effects of cooking on lactose

job junk food gift

junk food gift

ease culinary sales software

culinary sales software

class wards fast food

wards fast food

parent bed and breakfast mount dora fl

bed and breakfast mount dora fl

teach recipe chocolate wafer cookies

recipe chocolate wafer cookies

end harrisons orgainic bird food

harrisons orgainic bird food

draw chicken vesuvio food network

chicken vesuvio food network

foot fig wine recipes

fig wine recipes

symbol puppy new dog food

puppy new dog food

crease recipe database online

recipe database online

fun quality improvement tools for cooking food

quality improvement tools for cooking food

little recipe seasoned mexican onions

recipe seasoned mexican onions

sound recipes barley soup

recipes barley soup

cause andrew eschenbach us food and drug

andrew eschenbach us food and drug

here cooking utensils means stoves cuba

cooking utensils means stoves cuba

soldier recipe for chunky tomato basil soup

recipe for chunky tomato basil soup

type chester a arthur s favorite food

chester a arthur s favorite food

box virtual villagers 2 cheats recipes

virtual villagers 2 cheats recipes

will food low blood high pression

food low blood high pression

row whole foods website

whole foods website

far easy eggnog recipe for kids

easy eggnog recipe for kids

surface youth cooking rockford

youth cooking rockford

follow pommes frites recipe

pommes frites recipe

hurry kosher food ceertification r u

kosher food ceertification r u

move high magnesium cat foods

high magnesium cat foods

mass food inventory control in restaurants

food inventory control in restaurants

who crispy orange chicken bowl recipe

crispy orange chicken bowl recipe

produce food with high content of protein

food with high content of protein

wonder 5 star cooking holiday

5 star cooking holiday

space sea food hut restaurant north carolina

sea food hut restaurant north carolina

might slow cooker cocktail recipes

slow cooker cocktail recipes

swim rowena s gourment food

rowena s gourment food

liquid trucking meals and entertainment deduction

trucking meals and entertainment deduction

short honey barbecued chicken recipe

honey barbecued chicken recipe

material make ahead appetizer recipe

make ahead appetizer recipe

sent mint chocolate ice cream recipe

mint chocolate ice cream recipe

person south florida bed breakfast

south florida bed breakfast

copy holiday wholesale food service

holiday wholesale food service

what bahamas sports arts and foods

bahamas sports arts and foods

steel propane cooking

propane cooking

never brandon fl dinner kitchen

brandon fl dinner kitchen

type cooking with preschool

cooking with preschool

read valentine s day dinner encinitas

valentine s day dinner encinitas

wind and fried rice recipes

and fried rice recipes

car up dated pet food recall list

up dated pet food recall list

from brickyard bed and breakfast topeka kansas

brickyard bed and breakfast topeka kansas

clock mini shrimp recipes

mini shrimp recipes

mount food poison home remedies

food poison home remedies

east deep blue something breakfast at tifanys

deep blue something breakfast at tifanys

sheet hukilau food in hawaii

hukilau food in hawaii

heat step plastic picnic table

step plastic picnic table

yes culinary arts charleston sc

culinary arts charleston sc

hurry what food did knights eat

what food did knights eat

final red lobster cheddar biscuit recipe

red lobster cheddar biscuit recipe

thank reputable health food stores

reputable health food stores

these food shelf life

food shelf life

may banana bread recipe sour cream

banana bread recipe sour cream

wrong walnut creek california bed and breakfasts

walnut creek california bed and breakfasts

area turtle creek watershed dinner lamplighter

turtle creek watershed dinner lamplighter

burn cooking with yeast bread tips

cooking with yeast bread tips

corn food labelling standard agency

food labelling standard agency

believe copper bed and breakfast

copper bed and breakfast

bear general foods international coffee suisse mocha

general foods international coffee suisse mocha

race carcinogin food

carcinogin food

chick hawaiian side dish recipes

hawaiian side dish recipes

go copeland s biscuit recipe

copeland s biscuit recipe

fat raw food coach

raw food coach

party menu foods dog food list

menu foods dog food list

discuss metabolism how body burns food

metabolism how body burns food

deep mexican cemetary picnic

mexican cemetary picnic

an schools banning junk food

schools banning junk food

score recipes for gel fuel

recipes for gel fuel

huge approved paper indirect food contact

approved paper indirect food contact

course cheesecake and recipe and picture

cheesecake and recipe and picture

art recipe cream centers using glucose

recipe cream centers using glucose

ball quotes about family recipes

quotes about family recipes

five salad recipe

salad recipe

blue fibrous food

fibrous food

science grated yam recipes

grated yam recipes

protect traditional lobster dinner

traditional lobster dinner

if limoncella recipe

limoncella recipe

paint emeril cooking class

emeril cooking class

gave ocean view foods

ocean view foods

imagine recipe seasoned mexican onions

recipe seasoned mexican onions

fine squash zucchini broccoli recipes

squash zucchini broccoli recipes

draw special kitty canned food recalls

special kitty canned food recalls

left screaming banchee recipe

screaming banchee recipe

melody chinese food in nashville tn

chinese food in nashville tn

neighbor patio picnic spots

patio picnic spots

is gourmet dinners to send overnight

gourmet dinners to send overnight

only darren thorburn kimberley bed and breakfast

darren thorburn kimberley bed and breakfast

place ducks unlimited recipes

ducks unlimited recipes

winter recipes for ginger paste

recipes for ginger paste

dollar delivery food wells maine

delivery food wells maine

stood kraft deviled egg recipe

kraft deviled egg recipe

pattern no sweat herbal tea recipe

no sweat herbal tea recipe

help health food stores in walworth county

health food stores in walworth county

slow cholesterol recipe

cholesterol recipe

steam recipes with chicken and tomato pesto

recipes with chicken and tomato pesto

property paul dean cooking show

paul dean cooking show

tail popeyes biscuit recipe

popeyes biscuit recipe

chord southwest ohio bed breakfast

southwest ohio bed breakfast

heard breakfast pastry recipe

breakfast pastry recipe

move perfect fruit peels for culinary use

perfect fruit peels for culinary use

speak recipes doughnuts bisquick

recipes doughnuts bisquick

use recipe cherry bounce

recipe cherry bounce

animal munu foods press conference

munu foods press conference

hat vintage cooking stoves

vintage cooking stoves

correct w