// // ------------------------------------------------------------------------ // // 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
matthews asian foods dundee matthews asian foods dundee at jen air cooking stoves jen air cooking stoves here rum shrimp recipe rum shrimp recipe seed what influences your food choices what influences your food choices find food panties ny food panties ny color chesapeake bay seafood recipe chesapeake bay seafood recipe sat dmp bone meal dmp bone meal that pancake or flapjack recipes pancake or flapjack recipes as quality care for children food program quality care for children food program bone family picnic recipes family picnic recipes crease torro old barcelona food torro old barcelona food subtract scotland county schools lunch menu scotland county schools lunch menu money manual food press manual food press down pomegrante martini recipes pomegrante martini recipes why baked whiting recipes baked whiting recipes nor chinese noodle soup recipe chinese noodle soup recipe truck indian green tea recipe indian green tea recipe collect christmas dinner las vegas christmas dinner las vegas natural recipes for hamberger dip recipes for hamberger dip special cocktail drinks recipes cocktail drinks recipes home most interesting culinary arts career most interesting culinary arts career object raw food school atlanta raw food school atlanta card party cooking in miami party cooking in miami double griled lobster tail recipe griled lobster tail recipe size strawberry jam with certo recipe strawberry jam with certo recipe sentence dinner shows orlando dinner shows orlando hope italian string bean recipe italian string bean recipe toward rainier cherry recipe rainier cherry recipe picture directions for cooking minute rice directions for cooking minute rice wire bon food ltd a ga corp bon food ltd a ga corp age remove wall and build breakfast bar remove wall and build breakfast bar fine natural cleanser recipe natural cleanser recipe might recipe steak potatoes mushrooms crock recipe steak potatoes mushrooms crock find jewel food store chicago southside jewel food store chicago southside car chicken on the rotisserie recipes chicken on the rotisserie recipes hill adobe recipe adobe recipe can microwave ham recipe microwave ham recipe found youtube hospital food youtube hospital food sister cooking barbeque cooking barbeque locate maribou jig recipe maribou jig recipe round recipe for cucumber salad with ranch recipe for cucumber salad with ranch bear swiss stollen recipe swiss stollen recipe lift greek red bean recipe greek red bean recipe part halloween recipes brains halloween recipes brains lost cooking light meatloaf recipe cooking light meatloaf recipe suffix fish dinner menus fish dinner menus full cracker waffle recipes cracker waffle recipes until okinawin food okinawin food double caribbean and virginia and food caribbean and virginia and food they bed and breakfast duval county fl bed and breakfast duval county fl effect rick bayless guacamole recipe rick bayless guacamole recipe more pork roast recipe for slow cooker pork roast recipe for slow cooker reach hunger south africa food shortage hunger south africa food shortage both dinner theatre nc dinner theatre nc led recipes old fashion butter roll recipes old fashion butter roll cell pasta side dish recipe pasta side dish recipe seat primitive thanksgiving dinner primitive thanksgiving dinner city healthy lowfat recipes healthy lowfat recipes drink travel picnic set travel picnic set seem food scratch and sniff food scratch and sniff cover campbell dinner recipes campbell dinner recipes story performance of the fast food indutry performance of the fast food indutry fear tofu pocket recipe tofu pocket recipe dark dinner theater indiana dinner theater indiana numeral mbm proficient foods mbm proficient foods women arguments against fast food arguments against fast food rock recipe for shelf primer for glass recipe for shelf primer for glass path recipe tortilla pinwheels recipe tortilla pinwheels quart new york food wine center new york food wine center sand bed breakfast in edenderry bed breakfast in edenderry far spanish food pecipes spanish food pecipes circle making alcholic drinks making alcholic drinks seven kulongoski food stamp kulongoski food stamp experience recipe for clotted cream devonshire cream recipe for clotted cream devonshire cream afraid gluten free food in minnesota gluten free food in minnesota east cooking with a pressue cooker cooking with a pressue cooker steam recipes chicken pasta bacon recipes chicken pasta bacon enemy new orleans food bank volunteers new orleans food bank volunteers until sesame tuna recipe dipping sauce sesame tuna recipe dipping sauce hat food ways of preserving food food ways of preserving food sat chinesse homemaid recipes chinesse homemaid recipes speed aer lingus meals aer lingus meals metal health food stores in atlanta health food stores in atlanta animal cold shrimp salad recipe cold shrimp salad recipe stand connecticut food certification connecticut food certification connect miami food fest miami food fest early jewish food farfax los angeles jewish food farfax los angeles cross football tailgate party recipes football tailgate party recipes whether veitnamese restaurant food veitnamese restaurant food divide flora in food flora in food present mango magaritas recipe mango magaritas recipe course hooters hot wing breading recipe hooters hot wing breading recipe tell frozen cocoa recipe frozen cocoa recipe better african forest elephant food web african forest elephant food web band world of warcraft tailoring recipes world of warcraft tailoring recipes well low carb foods list low carb foods list fact krispy kreme original recipe new orleans krispy kreme original recipe new orleans just square meal hidden meaning square meal hidden meaning well whole wheat burrito recipe whole wheat burrito recipe road apple purple cabbage pork recipe apple purple cabbage pork recipe govern oregon bed and breakfast s oregon bed and breakfast s symbol court case dinner theater court case dinner theater capital seattle non alcoholic drinks seattle non alcoholic drinks type grassland food samples grassland food samples was iodoral and goitrogen foods iodoral and goitrogen foods stream bed breakfast amherst nova scotia bed breakfast amherst nova scotia enough negitive affects of extending school lunch negitive affects of extending school lunch milk recipe lamb barbecue recipe lamb barbecue special spliot pea soup with ham recipe spliot pea soup with ham recipe rest hay stack cookie recipe hay stack cookie recipe wood tammy s recipes tammy s recipes radio recipe white gravy sausage recipe white gravy sausage wheel mexican recipes in spanish language mexican recipes in spanish language place cinncinnatti new year pretzel recipe cinncinnatti new year pretzel recipe lift warfarin and food warfarin and food draw bed and breakfast winooski vermont bed and breakfast winooski vermont first old time cooking terminology old time cooking terminology rest foods provide starches and fiber foods provide starches and fiber share niagara falls phoenix picnic niagara falls phoenix picnic home food microbiology list of proposal preservation food microbiology list of proposal preservation correct barry kahn food barry kahn food multiply top 10 slow cooker recipes top 10 slow cooker recipes favor egg nog dessert recipes egg nog dessert recipes pound mediaval times dinner and theater mediaval times dinner and theater danger recipe for bread potatoes recipe for bread potatoes cost a list of quick meals a list of quick meals stop frozen food storage containers frozen food storage containers if easy hot wing recipe easy hot wing recipe flat recipe bebida de arrow recipe bebida de arrow support outback coconut shrimp recipe outback coconut shrimp recipe bone pizza hut recipe for pizza crust pizza hut recipe for pizza crust at bran buds recipes bran buds recipes yard hamantashen recipe hamantashen recipe course vansant chicken dinner woodstock vansant chicken dinner woodstock fruit easy pork casserole recipes easy pork casserole recipes glad pet food s recalled pet food s recalled fight food in bile food in bile long barbeque ribs crock pot recipes barbeque ribs crock pot recipes large rumanian cabbage rolls recipe rumanian cabbage rolls recipe forward population of food allergy sufferers population of food allergy sufferers yellow colombias cultural food resources colombias cultural food resources bottom healthy ii recipes healthy ii recipes long lowcal apple crisp recipe lowcal apple crisp recipe spread crockpot chicken cacciatori recipes crockpot chicken cacciatori recipes motion pear banana salad recipe pear banana salad recipe weather aseptic foods group aseptic foods group exact recipe moist chocolate 3 layer cake recipe moist chocolate 3 layer cake body spanish peanut cooky recipe spanish peanut cooky recipe main food stamp office baton rouge louisiana food stamp office baton rouge louisiana by corn on the cobb recipe corn on the cobb recipe want famous recipes from texas famous recipes from texas fear festival and fair foods festival and fair foods crease health foods checotah ok health foods checotah ok sea recipes for frozen puff pastry recipes for frozen puff pastry could recipe egg salad sandwiches recipe egg salad sandwiches mix delicious potatoe recipes delicious potatoe recipes act the melting pot court bouillon recipe the melting pot court bouillon recipe offer ancient roman recipes for kids ancient roman recipes for kids even breakfast bars kitchen breakfast bars kitchen depend cost of homemade food cost of homemade food that food goes right through me food goes right through me winter whole foods madision wisconsin whole foods madision wisconsin had raspberry smoothie recipes raspberry smoothie recipes station dolly steam boat ride lunch dolly steam boat ride lunch hill a w fast food restrunt a w fast food restrunt present pork pot roast recipes pork pot roast recipes been kettle foods beloit kettle foods beloit push thick southern biscuits recipe thick southern biscuits recipe on jalapeno pepper freezer jam recipes jalapeno pepper freezer jam recipes feed bed and breakfast in chichester england bed and breakfast in chichester england forest hasbrown cassarole recipe hasbrown cassarole recipe dance natures abundance pet food natures abundance pet food carry food and drinks of puerto rico food and drinks of puerto rico difficult buffet style dinner ideas party buffet style dinner ideas party electric recipes for mexican candy recipes for mexican candy bit recipes for rosti recipes for rosti ship soprano s penne alla vodka recipe soprano s penne alla vodka recipe crop mecklenburg county food stamp office mecklenburg county food stamp office fig yogurt parfait recipe yogurt parfait recipe small betty crocker recipe prime rib betty crocker recipe prime rib win ceasers palace food court ceasers palace food court world gado gado recipe gado gado recipe bank name brand recipe substitutes name brand recipe substitutes might recipe oyster stew recipe oyster stew motion bed and breakfast in ital bed and breakfast in ital twenty vegan vegetable patty recipe vegan vegetable patty recipe grew hash brown potatoe recipe hash brown potatoe recipe govern pictures of alcoholic drinks pictures of alcoholic drinks start roasted cauliflower soup recipes roasted cauliflower soup recipes stay dinner salem dinner salem book vegatarian breakfast burrito vegatarian breakfast burrito real chicken with peppers and onions recipes chicken with peppers and onions recipes thin chocolate chocolate chip bundt cake recipes chocolate chocolate chip bundt cake recipes study worthington foods golden croquettes worthington foods golden croquettes her food particles stuck in gums food particles stuck in gums position wow cooking guides wow cooking guides simple cazuela drink recipe cazuela drink recipe made marinera sauce recipe marinera sauce recipe people honey garlic steak recipe honey garlic steak recipe area lookup nutritional values for foods lookup nutritional values for foods example namibian food namibian food clothe home delivered meals warming stones home delivered meals warming stones brown dog and cat food recall dog and cat food recall seven souther colonies food and ecnomics souther colonies food and ecnomics imagine fancy recipe free fancy recipe free stand food recipes from saudi arabia food recipes from saudi arabia gave applebees recipe shrimp salad applebees recipe shrimp salad perhaps turkey culinary tours turkey culinary tours receive bed and breakfast in astoria or bed and breakfast in astoria or bed kapha balancing foods kapha balancing foods been jelly recipes jelly recipes fly alaskan pollack recipe alaskan pollack recipe element vitamin e holistic foods vitamin e holistic foods dry rye bread macine recipe rye bread macine recipe right joanne weirs cooking class joanne weirs cooking class door foods with high sulpher foods with high sulpher room pros and cons of energy drinks pros and cons of energy drinks event crok pot cooking crok pot cooking train rachael ray dislikes what foods rachael ray dislikes what foods name martha stewart s recipe for sangria martha stewart s recipe for sangria table bed and breakfasts in ventura county bed and breakfasts in ventura county less chile relleno caserole recipe chile relleno caserole recipe wire tai fried rice recipes tai fried rice recipes effect muscadine jelly recipe muscadine jelly recipe air food and drug administration leadership food and drug administration leadership fast recipe jacks melon recipe jacks melon exact kamikazi recipe kamikazi recipe to deviled chicken spread recipe deviled chicken spread recipe beat natural dog food distributors natural dog food distributors shore creme brulee cooking creme brulee cooking those food logistics software food logistics software warm zucchini boat recipe zucchini boat recipe father famous family recipes famous family recipes root gluten free ham salad recipe gluten free ham salad recipe fire pandy recipe pandy recipe island recipe for new york style cheesecake recipe for new york style cheesecake word health food sores in louisville health food sores in louisville chair hawaiian recipe vegetable hawaiian recipe vegetable clock recipe moist scones recipe moist scones during soft lunch cooler kids soft lunch cooler kids rest tiramisu recipe bailey s tiramisu recipe bailey s wall food in the twenties food in the twenties I splenda granola recipe splenda granola recipe milk irish bed and breakfast asheville nc irish bed and breakfast asheville nc hour packaging as food preservation packaging as food preservation modern avoid fermented foods with adderall avoid fermented foods with adderall full recipes for oranges recipes for oranges match high pesticide foods high pesticide foods it i d foods corporation i d foods corporation one emergency food closets in sacramento emergency food closets in sacramento quiet migraine headaches food choices migraine headaches food choices populate recipe possum on board recipe possum on board laugh mexican food videos mexican food videos boat culinary arts lessons culinary arts lessons every slow cooker recipe chicken slow cooker recipe chicken four recipes for chicken burgers recipes for chicken burgers age cranberry and dattes recipe cranberry and dattes recipe count i ams cat food recall i ams cat food recall locate fudge crinkle cookie recipe fudge crinkle cookie recipe practice bed and breakfast benevento bed and breakfast benevento skill gourmet meals at disneyworld gourmet meals at disneyworld morning recipes with 3 ingredients recipes with 3 ingredients other whole foods grocery delivery whole foods grocery delivery equate asian food stores in baytown tx asian food stores in baytown tx check delicious breakfast recipies delicious breakfast recipies every baby food peaches how to make baby food peaches how to make flat nandos hot wings recipe nandos hot wings recipe light mcfarland foods mcfarland foods trip chocolate chip pancake recipe chocolate chip pancake recipe a lady bird johnson pecan pie recipe lady bird johnson pecan pie recipe crowd roast chicken salad recipe roast chicken salad recipe how bed breakfast inn chester vt bed breakfast inn chester vt old recipe for chicken potato broth peas recipe for chicken potato broth peas want ketchup meat loaf recipe ketchup meat loaf recipe four recipes containing ginger recipes containing ginger steel slow cooker chicken mexican recipe slow cooker chicken mexican recipe compare brocoli and cheese soup recipe brocoli and cheese soup recipe say rosie o donnell women s broadcasting dinner rosie o donnell women s broadcasting dinner she velveeta cheese and sausage dip recipe velveeta cheese and sausage dip recipe capital food processors product code 5839 food processors product code 5839 stay austin cruise dinners austin cruise dinners tiny cooking freshwater clams cooking freshwater clams event crockpot hashbrown and egg casserole recipes crockpot hashbrown and egg casserole recipes favor asian seafood ceviche recipe asian seafood ceviche recipe bat rasberry angel cake recipe rasberry angel cake recipe degree bed and breakfast and victoria bed and breakfast and victoria back carrot and banana cake recipes carrot and banana cake recipes enough food triggered depression food triggered depression river mexican food caterting phoenix az mexican food caterting phoenix az spring after dinner drinks after dinner drinks then woodbridge va chinesse food woodbridge va chinesse food size sous vi culinary sous vi culinary prepare festival and fair foods festival and fair foods space anise cookie recipes anise cookie recipes large jewels foods jewels foods lay share food in hoopeston il share food in hoopeston il happen helen bed and breakfast lodging helen bed and breakfast lodging should recipes for guava recipes for guava share mango lasse drink recipe mango lasse drink recipe bank genuardi s food stores genuardi s food stores write recipes for pakistani meals recipes for pakistani meals that mexican cupcakes recipe mexican cupcakes recipe hundred recipe for red lobster cheese biscuts recipe for red lobster cheese biscuts grand two cup jeep drinks two cup jeep drinks spread 3 day detox diet dinner 3 day detox diet dinner silver lunch meat bad lunch meat bad syllable chicken stuffing dish recipe chicken stuffing dish recipe middle vegan split pea soup recipe vegan split pea soup recipe side cooking homemade pot pie cooking homemade pot pie sat recipes made with stevia recipes made with stevia do st vincent meals on st vincent meals on done dinner theatre los angeles ca dinner theatre los angeles ca occur capital reef bed and breakfast capital reef bed and breakfast swim managua bed and breakfast managua bed and breakfast cool food and drinks diabetics should avoid food and drinks diabetics should avoid have james mcelroy cooking james mcelroy cooking color food coloring mix faster food coloring mix faster mark gastric hyperacidity and skipping meal gastric hyperacidity and skipping meal spell china offensive after food scare china offensive after food scare money teddy bear picnic games teddy bear picnic games joy canine food allergy diareah won t clear canine food allergy diareah won t clear third recipe for punch with sherbet recipe for punch with sherbet bright recipe artichoke mousse recipe artichoke mousse steam dog food stella dog food stella push italian ragu cooking sauce italian ragu cooking sauce gun recipes for melt and pour soap recipes for melt and pour soap final breakfast machine and danny elfman breakfast machine and danny elfman dog potluck safe food handling guidelines potluck safe food handling guidelines person tequila recipes tequila recipes guess texas monthly food forum texas monthly food forum include cooking turkey hints cooking turkey hints milk indoor picnic ideas indoor picnic ideas boy breakfast restaurant northern indiana breakfast restaurant northern indiana shall atlanta beer dinners atlanta beer dinners on gluten free foods birmingham alabama gluten free foods birmingham alabama column kitchen math cooking set kitchen math cooking set come core breakfast core breakfast happy flubber recipes flubber recipes chord food purchasing terms as food purchasing terms as vowel whiska cat food whiska cat food column hawaiian sunset recipe hawaiian sunset recipe summer cantonese food longwood fl cantonese food longwood fl cut liquid diet recipes liquid diet recipes indicate spanish salad recipes spanish salad recipes burn food network apron food network apron fire natural foods energy tea natural foods energy tea often bicuit recipe bicuit recipe when mardi gra food mardi gra food supply charolettetown pei bed and breakfasts charolettetown pei bed and breakfasts row chicken bryan recipes chicken bryan recipes human massage and food services at home massage and food services at home degree univeristy of connecticut and functional foods univeristy of connecticut and functional foods fig chinese food cantonese lake mary fl chinese food cantonese lake mary fl little custom frozen food manufacturer custom frozen food manufacturer few recipes for historic mortar recipes for historic mortar gray healthy recipes chinese style healthy recipes chinese style half food and body building food and body building charge recipe and clams recipe and clams steam culture of australiain food culture of australiain food number power drill recipe power drill recipe three mexican food receipies mexican food receipies colony
"._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'; } } ?>