// // ------------------------------------------------------------------------ // // 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
recipe for eggplant sandwich recipe for eggplant sandwich sight fruity alcholic drinks fruity alcholic drinks answer safe brands cat food safe brands cat food offer printable recipe card download printable recipe card download plan silver springs bed breakfast silver springs bed breakfast how polo fast food restaurant miami fl polo fast food restaurant miami fl bell box lunch picnic supplies box lunch picnic supplies talk irs standard meal expense irs standard meal expense page 40 days without food or water 40 days without food or water thousand monkey and bread and recipe monkey and bread and recipe shout applying for food stamps in georgia applying for food stamps in georgia that paris eiffel tower lunch only paris eiffel tower lunch only noon bed and breakfast in pawnee ok bed and breakfast in pawnee ok written recipe string bean casserole recipe string bean casserole event quick how to recipes quick how to recipes rather congressional recipes congressional recipes favor globalisation and slow food globalisation and slow food connect jeremy landman for food jeremy landman for food sky kitchen aid food processer replacement cover kitchen aid food processer replacement cover hair proform formulated meal replacement au proform formulated meal replacement au new take along summer recipes take along summer recipes use lesbian s picnic lesbian s picnic shell recipe fig cookies recipe fig cookies include microwave cooking and health microwave cooking and health visit walmart s food price walmart s food price often caldo verde recipe caldo verde recipe press christmas dog treat recipes christmas dog treat recipes gave low carb quiche recipes low carb quiche recipes fill travel cooking school agencys travel cooking school agencys observe simply pot roast recipe simply pot roast recipe drive sweet dip mix recipe sweet dip mix recipe solution biga italian bread recipes biga italian bread recipes salt recipe for stuffing with truffles recipe for stuffing with truffles burn thanksgiving dinner picture thanksgiving dinner picture grow recipe binder 7 9 recipe binder 7 9 path fun easy recipes for kids fun easy recipes for kids seem jimmy dean breakfast pie jimmy dean breakfast pie oxygen what food does beavers eat what food does beavers eat string recipe for tembleque recipe for tembleque space dinner and a movie corpus christi dinner and a movie corpus christi present duluth food coop duluth food coop minute teen food and exercise log teen food and exercise log wall benefits of flash frozen foods benefits of flash frozen foods speak thanksgiving food decoration thanksgiving food decoration present foods of virginia foods of virginia trip homemade ground bait recipes homemade ground bait recipes column pet food recall infromation pet food recall infromation period recipe russet potato salad recipe russet potato salad poem cooking pike cooking pike he buried cabbage recipe buried cabbage recipe equate recipe cake danish layer recipe cake danish layer difficult simple cobler recipe simple cobler recipe carry antioxident rich foods antioxident rich foods farm ol roy dog food ol roy dog food market side effects about food allergy side effects about food allergy dance foods that decrease wrinkles foods that decrease wrinkles how qrs fast food bump bar qrs fast food bump bar flat foods eaten on easter foods eaten on easter bread people choose between food medication people choose between food medication light recipes for chick breast recipes for chick breast die foods that help blood circulation foods that help blood circulation should cat cookie recipes cat cookie recipes serve nunn better dog food affiliated nunn better dog food affiliated teeth babylonian pizza food babylonian pizza food pound lobenhaus bed and breakfast carlton or lobenhaus bed and breakfast carlton or heart dog food and lassie brand dog food and lassie brand smile government food surplus government food surplus cell purina fish and potato food purina fish and potato food money making food with color die making food with color die grass california natural pet foods bedford texas california natural pet foods bedford texas watch moose meadows bed and breakfast moose meadows bed and breakfast suit peach crisp recipe frozen peach crisp recipe frozen neighbor foodtv food tv foodtv food tv laugh grash foods elmgrove grash foods elmgrove expect st alphonso s pancake breakfast st alphonso s pancake breakfast keep old fashioned gumbo recipe old fashioned gumbo recipe length recipe sausage and pepper classico recipe sausage and pepper classico about food in ontario food in ontario an food haiti food haiti much atv food plot atv food plot of pampered chef power cooking pampered chef power cooking stead oblivion potion recipes oblivion potion recipes include recipe pineapple muffins recipe pineapple muffins paper food that help with constpation food that help with constpation fun beryy pie recipe beryy pie recipe nor basic potato latke recipe basic potato latke recipe student natures recipe puppy chow natures recipe puppy chow wash welsh food breakfast welsh food breakfast fear tomato chow chow recipe tomato chow chow recipe are private cooking parties private cooking parties ocean deakin republic food deakin republic food pair ommon cooking methods ommon cooking methods kind hot dip recipes with cheese hot dip recipes with cheese select famous greek recipes famous greek recipes watch suitable foods or dishes for vegetarians suitable foods or dishes for vegetarians excite banana applesauce recipe banana applesauce recipe friend banana nut waffle recipe banana nut waffle recipe don't australian christmas food australian christmas food coat georgia food poisoning report georgia food poisoning report girl significant recipes of the colonial times significant recipes of the colonial times mass 75 meter breakfast club 75 meter breakfast club question uptown ag foods uptown ag foods lay unsalable food business unsalable food business gentle tainted chinese food tainted chinese food shop leith cooking school london leith cooking school london travel new hampshire technical colleges and cooking new hampshire technical colleges and cooking wish the names of some french foods the names of some french foods point theme dinner party theme dinner party state 1970 s fast food franchise 1970 s fast food franchise the unique cupcake recipes unique cupcake recipes chart gormet cooking store rehoboth delaware gormet cooking store rehoboth delaware deep kitchenaid processor recipes kitchenaid processor recipes single grill wings recipe grill wings recipe search simple foods diet simple foods diet forward frozen salmon recipe frozen salmon recipe support sawall health foods sawall health foods road hawker centre foods recipe hawker centre foods recipe picture bed and breakfast spain bed and breakfast spain string mung water recipe mung water recipe master a taste of new york breakfast a taste of new york breakfast light dinners to order dinners to order chart mersey sea foods mersey sea foods certain breakfast origin of the word breakfast origin of the word care diabetic food pyramid diabetic food pyramid long recipe for spinach strawberry salad recipe for spinach strawberry salad correct cleveland ohio breakfast with easter bunny cleveland ohio breakfast with easter bunny invent canoli gelato recipe canoli gelato recipe atom chicken and stuffing casserole recipe chicken and stuffing casserole recipe market bed and breakfast inn recepies bed and breakfast inn recepies five recipe panacotta recipe panacotta feed foods helpful in preventing heart problems foods helpful in preventing heart problems lead kokoro foods kokoro foods stretch online food order delivery online food order delivery occur making homemade foods making homemade foods got recipe for fresh mozzarella recipe for fresh mozzarella am recipe for pomgranate martini recipe for pomgranate martini ice melting pot fiesta cheese recipes melting pot fiesta cheese recipes people essential oil recipes aromatherapy essential oil recipes aromatherapy edge dinner cruises y florida dinner cruises y florida off cheese soup recipe beer cheese soup recipe beer look dinner triangle dinner triangle hit dye hair with food coloring dye hair with food coloring men date shake recipe date shake recipe dictionary harira recipes vegetarian harira recipes vegetarian subject gourmet chicken recipes with pictures gourmet chicken recipes with pictures in science diet kitten food science diet kitten food insect halo pet food free samples halo pet food free samples cry recipe vanilla brownies recipe vanilla brownies whole cooking a japanese dish cooking a japanese dish self vera bradley lunch vera bradley lunch apple bed and breakfast peach cobbler bed and breakfast peach cobbler glass meal plans for recovery of exercise meal plans for recovery of exercise pattern food network spaghetti food network spaghetti gone laughlin dinner cruise laughlin dinner cruise plant food addicts in recovery san francisco food addicts in recovery san francisco smell recipes from itly recipes from itly say brazillian food in baltimore md brazillian food in baltimore md now recipe chicken pot pie biscuit top recipe chicken pot pie biscuit top choose celery and food coloring experiment celery and food coloring experiment spread sandra lee baked apple recipe sandra lee baked apple recipe parent food vendors nc food vendors nc old main foods grown in china main foods grown in china through great lunch places new york city great lunch places new york city sail swedish ramen noodle salad recipe swedish ramen noodle salad recipe nature inorganic food supplement inorganic food supplement drive whole foods tahini whole foods tahini fair baby food processor by betty crocker baby food processor by betty crocker strange bed n breakfast in byron bed n breakfast in byron happy cannoli filling recipe cannoli filling recipe period alpine aire freeze dried food alpine aire freeze dried food milk great fat burning foods great fat burning foods stream bosch food processing machines bosch food processing machines than wild lane bed breakfast wild lane bed breakfast least waxworm food waxworm food tiny organic food new jersey organic food new jersey organ recipe possum on board recipe possum on board fill istrian wine soup recipe istrian wine soup recipe bar easy casserole recipe easy casserole recipe engine recipe butter beer recipe butter beer coat hillbillie breakfast hillbillie breakfast glad natalie dupree squash recipe natalie dupree squash recipe position slow cooking ribs slow cooking ribs scale cooking roast pecans in shell cooking roast pecans in shell green problems with pet food killing animals problems with pet food killing animals brought tiramisu cheesecake recipe tiramisu cheesecake recipe against corn tortila recipes corn tortila recipes ride pizza dough recipe wood fired pizza dough recipe wood fired each wa state bed and breakfasts wa state bed and breakfasts pull paradise bakery lemon cookie recipe paradise bakery lemon cookie recipe success scallops charon recipe scallops charon recipe sky food for 1st birthday party food for 1st birthday party spot dinners made with chicken dinners made with chicken rise carnation instant breakfast chocolate malt carnation instant breakfast chocolate malt weather icky sticky food babes icky sticky food babes corner kim chee foods kim chee foods range breakfast burrito wraps recipes breakfast burrito wraps recipes men salad lunch box portable system salad lunch box portable system bat dutch oven cooking supplies dutch oven cooking supplies area mr food jacksonville mr food jacksonville safe symbols for cooking measurement symbols for cooking measurement least natural dog food feeding natural dog food feeding color magnolia bed and breakfast hamilton ga magnolia bed and breakfast hamilton ga suggest easy frozen drink recipes easy frozen drink recipes phrase cat food canola oil cat food canola oil control appleton high school changes food appleton high school changes food suggest low carb ice cream recipe low carb ice cream recipe ring eating food past expiration date eating food past expiration date people vidalia onion relish recipe for canning vidalia onion relish recipe for canning pass bed and breakfast south california bed and breakfast south california type salami making recipes salami making recipes phrase smoked marlin recipe smoked marlin recipe soil food serving sizes for diabetics food serving sizes for diabetics for chicken leftovers recipe chicken leftovers recipe dear frozen breakfast food manufacturers frozen breakfast food manufacturers school whole foods appeal whole foods appeal tell beatles for breakfast beatles for breakfast way name 10 foods containing aspartame name 10 foods containing aspartame triangle tainted dof food tainted dof food nothing cooking classes for kids greenville ssc cooking classes for kids greenville ssc language bed and breakfast seward alaska bed and breakfast seward alaska straight ratatouille happy meal ratatouille happy meal forward interesting ingredients in food interesting ingredients in food as coras breakfast and lunch restaurant coras breakfast and lunch restaurant children maine berwick bed breakfasts maine berwick bed breakfasts duck refereed article nutrition fast food refereed article nutrition fast food office parmesan potato encrusted chicken recipe parmesan potato encrusted chicken recipe he review of long john silvers food review of long john silvers food gun jackson tennessee bed and breakfast jackson tennessee bed and breakfast time greatest ebook food health vitamin greatest ebook food health vitamin I food chain panda food chain panda learn food proofing leather food proofing leather unit recipes for candies using coconut recipes for candies using coconut long food and beverage assistant food and beverage assistant require food named rocket food named rocket and easy kid recipe easy kid recipe drive recipe collection recipe collection run vegetable recipes 1500s england vegetable recipes 1500s england save medieval rome resturants foods medieval rome resturants foods nation fiji food history fiji food history edge munster dog food munster dog food arm food names starting with j food names starting with j took yummy colorful cake recipes yummy colorful cake recipes division thanksgiving dinner in new york city thanksgiving dinner in new york city he gourmet food ballard gourmet food ballard left lunch recipe ideas lunch recipe ideas stop chapala mexican food chapala mexican food solve kerrville texas bed and breakfast kerrville texas bed and breakfast car harry potter party foods harry potter party foods still home made chicken noodle soup recipe home made chicken noodle soup recipe place lunch boxes by thermos lunch boxes by thermos set food brands with no peanut oil food brands with no peanut oil wall pirate dinner show california pirate dinner show california region roladen recipe roladen recipe whether easy and cheap breakfast easy and cheap breakfast more dry cured bacon recipes dry cured bacon recipes correct amy foods amy foods near licorice nibs recipes licorice nibs recipes clock puerto rico wholesale foods puerto rico wholesale foods sign cooking aquash cooking aquash fresh recipe bbq shrimp recipe bbq shrimp feed hill s n d dog food hill s n d dog food spread cake that doesn t last recipe cake that doesn t last recipe brown ayllu bed and breakfast ayllu bed and breakfast exercise food emporium supermarkets food emporium supermarkets column fast food restraunts in seattle fast food restraunts in seattle real lunch in spain lunch in spain gas basque food dc basque food dc record organic foods fayetteville north carolina organic foods fayetteville north carolina fast reno italian food reno italian food square food trailers for sale in minnesota food trailers for sale in minnesota add bakers recipes bakers recipes power grating carrots in a food processor grating carrots in a food processor safe mcdonald s packaging children cent food mcdonald s packaging children cent food soon bacon breakfast casserole recipes bacon breakfast casserole recipes only torta di chocolate olive garden recipe torta di chocolate olive garden recipe been tehachapi food bank tehachapi food bank broad chicken grill recipe chicken grill recipe special online food caculator online food caculator excite categories of convenience food categories of convenience food my sex in a pan recipe dessert sex in a pan recipe dessert bear date nut bar recipe date nut bar recipe hurry egg muffin recipe using egg beaters egg muffin recipe using egg beaters right creamy garlic potatoes recipe creamy garlic potatoes recipe led electric lemonaide recipe electric lemonaide recipe true . transparent cake recipe transparent cake recipe skin murrys food murrys food might low gi curry soup recipe low gi curry soup recipe smell is shrimp good food is shrimp good food science spicy indian fish recipe spicy indian fish recipe order zuchini patties recipe zuchini patties recipe read food addication food addication step pear vinegar recipe pear vinegar recipe or recipe offers recipe offers matter clipart of fatty foods clipart of fatty foods claim bean counsel recipes bean counsel recipes country trains food trains food reply troops pay for food iraq troops pay for food iraq bank effect of microwave on food effect of microwave on food night tomato basil soup recipe tomato basil soup recipe there food for wedding or baby showers food for wedding or baby showers sand coffee bbq sauce recipe coffee bbq sauce recipe story dinners club business credit card dinners club business credit card area southwest food service expo southwest food service expo size body processing food too rapidly body processing food too rapidly dog bed and breakfast grant colorado bed and breakfast grant colorado sky microwaved stuffed bell peppers recipe microwaved stuffed bell peppers recipe wrote black currant nectar recipe black currant nectar recipe fight christmas candy recipe christmas candy recipe kept egg free bread recipes egg free bread recipes crop after dinner drink recipes after dinner drink recipes neck chicken teryiaki recipes chicken teryiaki recipes climb easy recipe to make beef lasagne easy recipe to make beef lasagne cloud potato brocolli caserole recipe potato brocolli caserole recipe follow deer bolgna recipe deer bolgna recipe than recipe for potato wedges recipe for potato wedges pose health food store cleveland ohio health food store cleveland ohio bed dinner party italian dinner party italian guide quick inexpencive meals quick inexpencive meals drink south carolina culinary school south carolina culinary school form squeezee ii food mill instruction manual squeezee ii food mill instruction manual age garland food service industries garland food service industries don't carob tofu dessert recipes carob tofu dessert recipes equate learning how to cook meals learning how to cook meals free food with highest calories food with highest calories said wine and food fest orlando wine and food fest orlando key birthday dinner ticket share birthday dinner ticket share always recipe for rigatoni recipe for rigatoni what food sex and relationships food sex and relationships occur pau pau food pau pau food found bakers recipes bakers recipes week shih tzu will not eat food shih tzu will not eat food effect lesson plan for organic food lesson plan for organic food if juniper berry food juniper berry food field wine cooler recipe wine cooler recipe bought quick easy kids recipes quick easy kids recipes suffix yama hawaiian food honolulu yama hawaiian food honolulu process fonts for recipes fonts for recipes dead four pound pork loin recipes four pound pork loin recipes hill recipe for making coffee brandy recipe for making coffee brandy section recipe egplant parmesian recipe egplant parmesian death chocolate recipes with kahlua chocolate recipes with kahlua discuss egyptian food and recipe egyptian food and recipe sound recipes for cookies without sugar recipes for cookies without sugar meat ratatouille cooking ratatouille cooking teeth brazil christmas recipes brazil christmas recipes wrong lunch charlotte nc lunch charlotte nc degree recipe book blank pages recipe book blank pages tree preserving foods in colonial times preserving foods in colonial times populate martha stewarts tilapia recipe martha stewarts tilapia recipe our cooking turkey on trager grill cooking turkey on trager grill answer lunch bag arctic zone lunch bag arctic zone imagine recipe for coconut icing recipe for coconut icing brought giant foods maryland giant foods maryland river dry mustard vinaigrette recipe dry mustard vinaigrette recipe branch dango recipe dango recipe heavy food grade dolomite food grade dolomite an desserts cookies bars no bake recipes desserts cookies bars no bake recipes to culinary arts picture culinary arts picture wife pet bird food pet bird food syllable coco s lunch coco s lunch ear screaming banchee recipe screaming banchee recipe experiment food healthy liver food healthy liver electric east indian food red dwarf east indian food red dwarf step what is an african american recipes what is an african american recipes now recipe for chunky tomato basil soup recipe for chunky tomato basil soup tool parker house roll recipe parker house roll recipe deal paula deen country cookie recipe paula deen country cookie recipe ride six impossible things before breakfast six impossible things before breakfast age spanish cols appetizer recipe spanish cols appetizer recipe our palestine texas christmas eve dinner palestine texas christmas eve dinner win high fiber pancake recipe high fiber pancake recipe use recipes with light cream recipes with light cream shape ham and bean dinner graphics ham and bean dinner graphics until seven seas frozen food seven seas frozen food low joey tomatoe diva salad recipe joey tomatoe diva salad recipe have easy oatmeal cookies recipe easy oatmeal cookies recipe join concept housewares dinner set concept housewares dinner set settle foods to heal lymphoma foods to heal lymphoma did san francisco bed and breakfasts san francisco bed and breakfasts father food station road cambridge food station road cambridge break heritage food equip heritage food equip ocean vancouver downtown bed breakfasts vancouver downtown bed breakfasts invent low sodium salsa verde recipe low sodium salsa verde recipe mass canning meat recipes canning meat recipes move pan bollo recipe pan bollo recipe block recipe potato salad for 50 people recipe potato salad for 50 people match italian recipes from italy italian recipes from italy hundred lime jello cottage cheese salad recipe lime jello cottage cheese salad recipe die kid friendly greek recipe kid friendly greek recipe us health foods colorado health foods colorado past recipes for mai mai fish recipes for mai mai fish ear food handlers test oregon food handlers test oregon desert baked corn meal chicken recipe baked corn meal chicken recipe print alcoholic drinks that make women horney alcoholic drinks that make women horney held health food west village new york health food west village new york see food diet of the liver food diet of the liver serve whole foods market louisville ky whole foods market louisville ky play currant jam recipe currant jam recipe eat no sweat herbal tea recipe no sweat herbal tea recipe able homemade pickling spice recipe homemade pickling spice recipe size american flavors cooking show american flavors cooking show sheet rainforest food chain pictures rainforest food chain pictures than christmas casserole breakfast christmas casserole breakfast rest florida salt marsh food web florida salt marsh food web yard allied organic foods ltd allied organic foods ltd special quinoa cookie recipes quinoa cookie recipes with frozen slow cooker meals frozen slow cooker meals engine what food did knights eat what food did knights eat now hawaiin food in las vegas nevada hawaiin food in las vegas nevada drop aronui bed and breakfast aronui bed and breakfast animal
"._INSTALL_L149."

\n"; $b_next = array('updateComments_go', _INSTALL_L138); include 'install_tpl.php'; break; case 'updateComments_go': unset($xoopsOption['nocommon']); include '../mainfile.php'; include '../class/xoopscomments.php'; include '../include/comment_constants.php'; $module_handler =& xoops_gethandler('module'); $old_commentd_mods = array('news' => 'comments', 'xoopspoll' => 'xoopspollcomments'); $title = _INSTALL_L147; $content = ''; foreach ($old_commentd_mods as $module => $com_table) { $moduleobj =& $module_handler->getByDirname($module); if (is_object($moduleobj)) { $content .= '
'.$moduleobj->getVar('name').'
'; $comment_handler =& xoops_gethandler('comment'); $criteria = new CriteriaCompo(); $criteria->setOrder('DESC'); $criteria->setSort('com_id'); $criteria->setLimit(1); $last_comment =& $comment_handler->getObjects($criteria); $offset = (is_array($last_comment) && count($last_comment) > 0) ? $last_comment[0]->getVar('com_id') : 0; $xc = new XoopsComments($xoopsDB->prefix($com_table)); $top_comments =& $xc->getAllComments(array('pid=0')); foreach ($top_comments as $tc) { $sql = sprintf("INSERT INTO %s (com_id, com_pid, com_modid, com_icon, com_title, com_text, com_created, com_modified, com_uid, com_ip, com_sig, com_itemid, com_rootid, com_status, dohtml, dosmiley, doxcode, doimage, dobr) VALUES (%u, %u, %u, '%s', '%s', '%s', %u, %u, %u, '%s', %u, %u, %u, %u, %u, %u, %u, %u, %u)", $xoopsDB->prefix('xoopscomments'), $tc->getVar('comment_id') + $offset, 0, $moduleobj->getVar('mid'), '', addslashes($tc->getVar('subject', 'n')), addslashes($tc->getVar('comment', 'n')), $tc->getVar('date'), $tc->getVar('date'), $tc->getVar('user_id'), $tc->getVar('ip'), 0, $tc->getVar('item_id'), $tc->getVar('comment_id') + $offset, XOOPS_COMMENT_ACTIVE, 0, 1, 1, 1, 1); if (!$xoopsDB->query($sql)) { $content .= _NGIMG.sprintf(_INSTALL_L146, $tc->getVar('comment_id') + $offset).'
'; } else { $content .= _OKIMG.sprintf(_INSTALL_L145, $tc->getVar('comment_id') + $offset).'
'; $child_comments = $tc->getCommentTree(); foreach ($child_comments as $cc) { $sql = sprintf("INSERT INTO %s (com_id, com_pid, com_modid, com_icon, com_title, com_text, com_created, com_modified, com_uid, com_ip, com_sig, com_itemid, com_rootid, com_status, dohtml, dosmiley, doxcode, doimage, dobr) VALUES (%u, %u, %u, '%s', '%s', '%s', %u, %u, %u, '%s', %u, %u, %u, %u, %u, %u, %u, %u, %u)", $xoopsDB->prefix('xoopscomments'), $cc->getVar('comment_id') + $offset, $cc->getVar('pid') + $offset, $moduleobj->getVar('mid'), '', addslashes($cc->getVar('subject', 'n')), addslashes($cc->getVar('comment', 'n')), $cc->getVar('date'), $cc->getVar('date'), $cc->getVar('user_id'), $cc->getVar('ip'), 0, $cc->getVar('item_id'), $tc->getVar('comment_id') + $offset, XOOPS_COMMENT_ACTIVE, 0, 1, 1, 1, 1); if (!$xoopsDB->query($sql)) { $content .= _NGIMG.sprintf(_INSTALL_L146, $cc->getVar('comment_id') + $offset).'
'; } else { $content .= _OKIMG.sprintf(_INSTALL_L145, $cc->getVar('comment_id') + $offset).'
'; } } } } } } $xoopsDB->query('ALTER TABLE '.$xoopsDB->prefix('xoopscomments').' CHANGE com_id com_id mediumint(8) unsigned NOT NULL auto_increment PRIMARY KEY'); $b_next = array('updateSmilies', _INSTALL_L14); include 'install_tpl.php'; break; case 'updateSmilies': $content = '

'._INSTALL_L150.'

'; $b_next = array('updateSmilies_go', _INSTALL_L140); include 'install_tpl.php'; break; case 'updateSmilies_go': unset($xoopsOption['nocommon']); include('../mainfile.php'); $result = $xoopsDB->query("SELECT * FROM ".$xoopsDB->prefix('smiles')); $content = ''; $title = _INSTALL_L155; if (!defined('XOOPS_UPLOAD_PATH')) { define('XOOPS_UPLOAD_PATH', '../uploads'); } while ($smiley = $xoopsDB->fetchArray($result)) { if (file_exists('../images/smilies/'.$smiley['smile_url']) && false != $fp = fopen('../images/smilies/'.$smiley['smile_url'], 'rb')) { $binary = fread($fp, filesize('../images/smilies/'.$smiley['smile_url'])); fclose($fp); if (!preg_match("/\.([a-zA-Z0-9]+)$/", $smiley['smile_url'], $matched)) { continue; } $newsmiley = uniqid('smil').'.'.strtolower($matched[1]); if (false != $fp = fopen(XOOPS_UPLOAD_PATH.'/'.$newsmiley, 'wb')) { if (-1 != fwrite($fp, $binary)) { $xoopsDB->query("UPDATE ".$xoopsDB->prefix('smiles')." SET smile_url='".$newsmiley."' WHERE id=".$smiley['id']); $content .= _OKIMG.sprintf(_INSTALL_L154, $smiley['smile_url']).'
'; } else { $content .= _NGIMG.sprintf(_INSTALL_L153, $smiley['smile_url']).'
'; } fclose($fp); } } else { $content .= _OKIMG.sprintf(_INSTALL_L152, $smiley['smile_url']).'
'; } } $result = $xoopsDB->query("SELECT * FROM ".$xoopsDB->prefix('ranks')); while ($rank = $xoopsDB->fetchArray($result)) { if (file_exists('../images/ranks/'.$rank['rank_image']) && false != $fp = fopen('../images/ranks/'.$rank['rank_image'], 'rb')) { $binary = fread($fp, filesize('../images/ranks/'.$rank['rank_image'])); fclose($fp); if (!preg_match("/\.([a-zA-Z0-9]+)$/", $rank['rank_image'], $matched)) { continue; } $newrank = uniqid('rank').'.'.strtolower($matched[1]); if (false != $fp = fopen(XOOPS_UPLOAD_PATH.'/'.$newrank, 'wb')) { if (-1 != fwrite($fp, $binary)) { $content .= _OKIMG.sprintf(_INSTALL_L154, $rank['rank_image']).'
'; $xoopsDB->query("UPDATE ".$xoopsDB->prefix('ranks')." SET rank_image='".$newrank."' WHERE rank_id=".$rank['rank_id']); } else { $content .= _NGIMG.sprintf(_INSTALL_L153, $rank['rank_image']).'
'; } fclose($fp); } } else { $content .= _OKIMG.sprintf(_INSTALL_L152, $rank['rank_image']).'
'; } } $b_next = array('updateAvatars', _INSTALL_L14); include 'install_tpl.php'; break; case 'updateAvatars': $content = '

'._INSTALL_L151.'

'; $b_next = array('updateAvatars_go', _INSTALL_L139); include 'install_tpl.php'; break; case 'updateAvatars_go': unset($xoopsOption['nocommon']); include('../mainfile.php'); $content = ''; $title = _INSTALL_L156; $avatars = getImageFileList(XOOPS_ROOT_PATH.'/images/avatar/users/'); $xoopsDB->query("UPDATE ".$xoopsDB->prefix('users')." SET user_avatar='blank.gif'"); $avt_handler =& xoops_gethandler('avatar'); if (!defined('XOOPS_UPLOAD_PATH')) { define('XOOPS_UPLOAD_PATH', '../uploads'); } foreach ($avatars as $avatar_file) { if (preg_match("/^([0-9]+)\.([a-zA-Z]+)$/", $avatar_file, $matched)) { $user_id = intval($matched[1]); if ($user_id > 0 && false != $fp = fopen('../images/avatar/users/'.$avatar_file, 'rb')) { $binary = fread($fp, filesize('../images/avatar/users/'.$avatar_file)); fclose($fp); $newavatar = uniqid('cavt').'.'.strtolower($matched[2]); if (false != $fp = fopen(XOOPS_UPLOAD_PATH.'/'.$newavatar, 'wb')) { if (-1 != fwrite($fp, $binary)) { $error = false; if (!$xoopsDB->query("UPDATE ".$xoopsDB->prefix('users')." SET user_avatar='".$newavatar."' WHERE uid=".$user_id)) { $error = true; } else { $avatar =& $avt_handler->create(); $avatar->setVar('avatar_file', $newavatar); $avatar->setVar('avatar_name', 'custom'); $avatar->setVar('avatar_mimetype', ''); $avatar->setVar('avatar_display', 1); $avatar->setVar('avatar_type', 'C'); if(!$avt_handler->insert($avatar)) { $error = true; } else { $avt_handler->addUser($avatar->getVar('avatar_id'), $user['uid']); } } if (false != $error) { $content .= _NGIMG.sprintf(_INSTALL_L153, $avatar_file).'
'; @unlink(XOOPS_UPLOAD_PATH.'/'.$newavatar); } else { $content .= _OKIMG.sprintf(_INSTALL_L154, $avatar_file).'
'; } } else { $content .= _NGIMG.sprintf(_INSTALL_L153, $avatar_file).'
'; $xoopsDB->query("UPDATE ".$xoopsDB->prefix('users')." SET user_avatar='blank.gif' WHERE uid=".$user_id); } fclose($fp); } } else { $content .= _NGIMG.sprintf(_INSTALL_L152, $avatar_file).'
'; } } } $b_next = array('finish', _INSTALL_L14); include 'install_tpl.php'; break; case "siteInit": include_once "../mainfile.php"; $content = "\n"; $content .= "\n"; $content .= "\n"; $content .= "\n"; $content .= "\n"; $content .= "\n"; $content .= "
"._INSTALL_L36."
"._INSTALL_L37."
"._INSTALL_L38."
"._INSTALL_L39."
"._INSTALL_L74."
\n"; $b_next = array('insertData', _INSTALL_L116); include 'install_tpl.php'; break; case "insertData": $adminname = $myts->stripSlashesGPC($_POST['adminname']); $adminpass = $myts->stripSlashesGPC($_POST['adminpass']); $adminpass2 = $myts->stripSlashesGPC($_POST['adminpass2']); $adminmail = $myts->stripSlashesGPC($_POST['adminmail']); if (!preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+([\.][a-z0-9-]+)+$/i",$adminmail)) { $content = "

"._INSTALL_L73."

\n"; $b_back = array('', _INSTALL_L112 ); include 'install_tpl.php'; exit(); } if ( !isset($adminname) || !isset($adminpass) || !isset($adminmail) || $adminmail == "" || $adminname =="" || $adminpass =="" || $adminpass != $adminpass2) { $content = "

"._INSTALL_L41."

\n"; $b_back = array('', _INSTALL_L112 ); include 'install_tpl.php'; exit(); } include_once "../mainfile.php"; //include_once './include/createtables2.php'; include_once './makedata.php'; include_once './class/dbmanager.php'; $dbm = new db_manager; include_once './class/cachemanager.php'; $cm = new cache_manager; $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(); } //$tables = array(); $result = $dbm->queryFromFile('./sql/'.XOOPS_DB_TYPE.'.data.sql'); $result = $dbm->queryFromFile('./language/'.$language.'/'.XOOPS_DB_TYPE.'.lang.data.sql'); $group = make_groups($dbm); $result = make_data($dbm, $cm, $adminname, $adminpass, $adminmail, $language, $group); $content = $dbm->report(); $content .= $cm->report(); include_once "./class/mainfilemanager.php"; $mm = new mainfile_manager("../mainfile.php"); foreach($group as $key => $val){ $mm->setRewrite($key, intval($val)); } $result = $mm->doRewrite(); $content .= $mm->report(); $b_next = array('finish', _INSTALL_L117); $title = _INSTALL_L116; setcookie('xoops_session', '', time() - 3600); include 'install_tpl.php'; break; case 'finish': $title = _INSTALL_L32; $content = "
\n"; include './language/'.$language.'/finish.php'; $content .= "
\n"; include 'install_tpl.php'; break; } /* * gets list of name of directories inside a directory */ function getDirList($dirname) { require_once dirname(dirname(__FILE__))."/class/xoopslists.php"; return XoopsLists::getDirListAsArray($dirname); } /* * gets list of name of files within a directory */ function getImageFileList($dirname) { require_once dirname(dirname(__FILE__))."/class/xoopslists.php"; return XoopsLists::getImgListAsArray($dirname); } 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'; } } ?>