//
// ------------------------------------------------------------------------ //
// 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";
$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 .= " |
"._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 .= _INSTALL_L11."".XOOPS_ROOT_PATH." "; $content .= _INSTALL_L12."".XOOPS_URL." "; $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 = "";
$content .= "
\n"; $content .= " | ||||||||
| ";
$content .= _INSTALL_L13." \n"; $content .= " |
| \n";
if (! $dbm->isConnectable()) {
$content .= _NGIMG._INSTALL_L106." "; $content .= " "._INSTALL_L107; $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).""._INSTALL_L111."
"; $b_next = array('createTables', _INSTALL_L40); } else { $content .= _OKIMG.sprintf(_INSTALL_L110, XOOPS_DB_NAME).""._INSTALL_L130."
"; $b_next = array('updateTables', _INSTALL_L14); } else { $content .= _NGIMG._INSTALL_L131.""._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 .= '
"._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"; ?>_ 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 texas wic list food 2006
"._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 .= 'texas wic list food 2006key recipe for pot de cremerecipe for pot de cremeform food storage crackersfood storage crackerskill foods to avoid for colostomy patientsfoods to avoid for colostomy patientshim lace bread recipelace bread recipeinsect pour cooking oil in drainpour cooking oil in draincenter five vegetable casserole recipefive vegetable casserole recipestone uk food jeni barnettuk food jeni barnettfour recipe cards des moines iowarecipe cards des moines iowasure cooking a hard boiled eggcooking a hard boiled eggyou blood meal repellantblood meal repellantor fast meals on a budgetfast meals on a budgetgo breakfast club we re all a geekbreakfast club we re all a geekwrite purina dry dog food recall sickpurina dry dog food recall sickbegan potatoes augratin recipepotatoes augratin recipefamily food presenation proposalfood presenation proposalcase wild rats health foodwild rats health foodinsect food grade drumfood grade drumwe recipe corned beefrecipe corned beefburn kitchenaid multi food chopperkitchenaid multi food chopperleft food interactions hycodanfood interactions hycodanreply cooking techniques from pacific northwestcooking techniques from pacific northwestpush food processors associationfood processors associationcapital mogolian food recipiesmogolian food recipiesmiddle beef and corn free dog foodbeef and corn free dog foodhot ajijic bed and breakfastajijic bed and breakfastshould napili kai beach resort dinner menunapili kai beach resort dinner menudictionary food to increase ironfood to increase ironsegment trifle dessert recipestrifle dessert recipesnothing dirty vodka martini recipedirty vodka martini recipeoccur family dinner photofamily dinner photocertain what foods contain alginwhat foods contain alginmethod raspberry syrup reciperaspberry syrup recipespoke naughty cupcake recipesnaughty cupcake recipesslow food web of rainforest animalsfood web of rainforest animalsexcept ochre recipesochre recipeseffect food services of america everett wafood services of america everett wato oldtime cooking recipesoldtime cooking recipesor sister alices hash cooky recipesister alices hash cooky recipemorning food production andhra bengalfood production andhra bengaltruck foods containing coq10foods containing coq10long foods to avoid during pregnacyfoods to avoid during pregnacydecide san simeon bed and breakfastsan simeon bed and breakfasttool mobile home electric cooking stovesmobile home electric cooking stovesdrop eating raw foodeating raw foodkept food tax in tennesseefood tax in tennesseebeat vh foodsvh foodsspace southern italian foodsouthern italian foodearly food tips when travelingfood tips when travelingmountain bed and breakfast mackinaw island mibed and breakfast mackinaw island mifollow first meal eaten on the moonfirst meal eaten on the moonstrange salt scrub recipessalt scrub recipesslave finger food and trade showsfinger food and trade showsafter low fiber banana bread recipelow fiber banana bread recipesimple hot sauce recipehot sauce recipenorth deliver me fooddeliver me foodadd gyros recipe authenticgyros recipe authenticlove onigiri recipe norionigiri recipe noriproduce l glutamine in foodl glutamine in foodwork monitor lizard food eatmonitor lizard food eatclean hamburger recipes campbellshamburger recipes campbellslove nutritional information sports drinksnutritional information sports drinkssaid baton rouge culinary institutebaton rouge culinary instituteat new orleans ginger garlic salad recipenew orleans ginger garlic salad recipedone auburn cooking classauburn cooking classshall perogi recipesperogi recipescopy against junk food in schoolagainst junk food in schoolcook facts on irish foodfacts on irish foodwave penzance bed breakfastpenzance bed breakfastmount whole foods planowhole foods planoif pet food recall 9 livespet food recall 9 livesrange online audio dictionary culinary termsonline audio dictionary culinary termsmain bed and breakfast and farmington nmbed and breakfast and farmington nmcharacter pumpernickle bread recipepumpernickle bread recipevisit cooking thermometer probecooking thermometer probefind what is a culinary management salarywhat is a culinary management salarysoft authentic new york pizza sauce recipeauthentic new york pizza sauce recipecover cambodian papaya recipecambodian papaya recipetrouble army ant s mealarmy ant s mealsaw recipes acorn squashrecipes acorn squashvoice award winning rice recipes freeaward winning rice recipes freegentle shiny sauce recipeshiny sauce recipefinger foods to help child growthfoods to help child growthcolor parmesan herb vegetables recipeparmesan herb vegetables recipeabove food for soft coated wheatenfood for soft coated wheatencold recipe date square low fatrecipe date square low fatsoft sweet sunshine pumkin soup recipesweet sunshine pumkin soup recipetube canadian grey wolf food chaincanadian grey wolf food chainmilk new england beer recipesnew england beer recipessmile gm food listgm food listfinger addax foodaddax foodchief healthy football recipeshealthy football recipesnext school norwegian recipeschool norwegian recipesummer foods that represent indianafoods that represent indianawritten april foodsapril foodswhose pouch mealspouch mealssuffix pirates dinner showpirates dinner showweek chemicals food processing seattlechemicals food processing seattlemine chang s teriyaki chicken rice bowl recipechang s teriyaki chicken rice bowl recipeend charlotte nc area foodcharlotte nc area foodoperate apricot and pineapple preserves recipeapricot and pineapple preserves recipepick chocolate orange cake recipechocolate orange cake recipedevelop food chart with thiaminefood chart with thiamineground luch of the irish dessert recipeluch of the irish dessert recipeam prayers for retirement dinnersprayers for retirement dinnersquotient foods salicylatesfoods salicylateswant low calorie natural foodslow calorie natural foodschildren platinum blondie recipeplatinum blondie reciperegion smothered steak recipesmothered steak recipeare culinary stores sarasotaculinary stores sarasotahuge christmas foods celebrationchristmas foods celebrationtruck food poisoning ecolifood poisoning ecoliduck texas bbq king recipestexas bbq king recipesthough food allergy school policyfood allergy school policyspeed rich milk chocolate cake reciperich milk chocolate cake recipestudent samples of formal invitation for dinnersamples of formal invitation for dinnerfear miniature tomato sandwiches recipeminiature tomato sandwiches recipeland bean past recipesbean past recipesbeen vegetable wrap recipevegetable wrap recipestead deep fried tortilla wrap recipesdeep fried tortilla wrap recipeskey food service supplies dealerfood service supplies dealersolve braun products food processorbraun products food processorno power drinks and alcoholpower drinks and alcoholanger recipe ice cream maker 1 quartrecipe ice cream maker 1 quartroom recipes using avocadorecipes using avocadothank recipe possum on boardrecipe possum on boardcat pet pantry dog foodpet pantry dog foodred food and beverage market related trendsfood and beverage market related trendsat culinary schools san antonio texasculinary schools san antonio texasscale rubicon soft drinksrubicon soft drinksbefore tres leche cake and recipetres leche cake and recipeair oatmeal bath homemade recipeoatmeal bath homemade recipeany dinner cruises in wvdinner cruises in wvgas emeril s biscuits and gravy recipeemeril s biscuits and gravy recipefraction ocean beach bed and breakfastocean beach bed and breakfastleg looney spoons recipeslooney spoons recipesof cooking leaf chicorycooking leaf chicorypeople index glycemic foods high sugarindex glycemic foods high sugarhot hytop brand foodshytop brand foodsfull center cut pork chop recipecenter cut pork chop recipecorrect recipe for morphine driprecipe for morphine dripagainst tempreture conversions for cookingtempreture conversions for cookingmotion roast turkey breast recipesroast turkey breast recipesbeat muskegon county social services food stampsmuskegon county social services food stampsexcite sensory integration foodsensory integration foodpoint recipe biscuit mix ukrecipe biscuit mix ukcolumn eeg nog recipeeeg nog recipesearch cooking marijuana for onecooking marijuana for onenight big breakfast televisionbig breakfast televisionprocess sauage and peppers recipessauage and peppers recipesvisit food nutrition calculatorfood nutrition calculatortoo home recipe tarnish removerhome recipe tarnish removercolumn frozen hashbrowns recipes with corn flakesfrozen hashbrowns recipes with corn flakesoccur beer can chicken glaze recipebeer can chicken glaze recipeline british food bubbles andbritish food bubbles andsolve nmp food contact migrationnmp food contact migrationglad chicken thighs green beans recipechicken thighs green beans recipeas miso recipemiso recipesurprise diettogo prepared mealsdiettogo prepared mealshunt big bite glendale fast foodbig bite glendale fast foodplant recipe for potato rollsrecipe for potato rollschance supertramp cover breakfast in americasupertramp cover breakfast in americaspread kimberton natural foodskimberton natural foodsstay wendy s breakfast foodwendy s breakfast foodvary carino s italian soda recipecarino s italian soda recipetouch yellow cake recipesyellow cake recipesjoy asian holiday rice recipesasian holiday rice recipessilent recipe for a fruit triflerecipe for a fruit triflewith double chocolate chip cookie recipedouble chocolate chip cookie recipetemperature anesthesia and foodanesthesia and foodpiece pork shoulder recipe quickpork shoulder recipe quickfarm meat loaf bacon recipesmeat loaf bacon recipesagain indigenous bush foodindigenous bush foodfeel ravioli recipe meatravioli recipe meatsky flour blood recipe special effectsflour blood recipe special effectsred hearty stew recipeshearty stew recipesexpect lunch in cheyenne wyominglunch in cheyenne wyomingborn macaroni grills belini recipemacaroni grills belini recipeseat foods that increase sexual staminafoods that increase sexual staminamatter crockpot meatloaf recipecrockpot meatloaf recipegather old fashioned potato rolls recipeold fashioned potato rolls recipeblock pad prik recipepad prik recipemiddle barefoot contessa granola recipebarefoot contessa granola recipeweek uae popular fooduae popular foodfew microwave recipes low carbmicrowave recipes low carbthese cream cheese filled chicken breast recipecream cheese filled chicken breast recipenote wiltshire foodswiltshire foodswinter nutritious shakes recipesnutritious shakes recipesequal russian foods onlinerussian foods onlinecount indian traditional foodindian traditional foodwindow cooking in parchment papercooking in parchment paperclean food stainsfood stainshis spare ribs and sauerkraut recipespare ribs and sauerkraut recipecontinent canned foods recallcanned foods recallarrive food needed to produced more spermfood needed to produced more spermage vitamin b6 rich foodsvitamin b6 rich foodscome dinner cruise review new yorkdinner cruise review new yorkdeep health fruit drinkshealth fruit drinksgame swiss food recipesswiss food recipestotal bed and breakfast in ogunquitbed and breakfast in ogunquitbone low alarie recipeslow alarie recipesrange recipe using dried applesrecipe using dried applesweight arthritis food curesarthritis food curestell sun and moon bed and breakfastsun and moon bed and breakfastgave grow food in basementgrow food in basementfair food network paulafood network paulasat chicken olive oil pasta recipechicken olive oil pasta recipeget bed and breakfast st louis missouribed and breakfast st louis missourimove fish food cichild flakesfish food cichild flakesmix hightstown dinnerhightstown dinnerother bed and breakfasts nw indianabed and breakfasts nw indianajoin cooking innovationscooking innovationselectric di carlo foods soupdi carlo foods soupliquid betty crocker hashbrown recipebetty crocker hashbrown recipenose peach pastry recipespeach pastry recipesgood canned biscuit and cream cheese recipecanned biscuit and cream cheese recipesign health food and herbshealth food and herbsstart grass hoppers foodgrass hoppers foodseason home made deer lure recipeshome made deer lure recipesperson apply for food stamps on lineapply for food stamps on lineon sherry food containersherry food containermost dinner alfrescodinner alfrescoverb gnc green food powdergnc green food powderwho tofu cheesecake recipetofu cheesecake recipewomen beef juice recipebeef juice recipehappy piranha hard food disposerpiranha hard food disposersummer patriotic drinkspatriotic drinksport jakes food distributorjakes food distributorarrive typical food cusco perutypical food cusco peruwrite low protein diet dog homemade foodlow protein diet dog homemade foodwhile semi perishable foodssemi perishable foodsarm manila clam steam recipemanila clam steam recipehold colorado food share programcolorado food share programslip steak stew recipesteak stew recipechild top dog albuquerque nm foodtop dog albuquerque nm foodbegin accessories cuisinart food processorsaccessories cuisinart food processorsgive thai pork curry recipesthai pork curry recipesglass picnic tables for indoorspicnic tables for indoorscurrent ms food stamps programms food stamps programfelt macaroni and cheese recipe mushroom soupmacaroni and cheese recipe mushroom souplet tulip recipestulip recipesmiddle 10 most populer coffe drinks10 most populer coffe drinksvalue easy graham cracker crust recipeeasy graham cracker crust recipethink trifle recipe for baby showertrifle recipe for baby showerour tater tot breakfast casserole recipetater tot breakfast casserole recipemen linguine with seafood recipe tomatolinguine with seafood recipe tomatoreal clone top recipe copycat secret recipesclone top recipe copycat secret recipeswhen recipes north dakotarecipes north dakotainsect goodson s cafe breakfastgoodson s cafe breakfastten giant food store 98 annevillegiant food store 98 annevillegrass raliegh foodsraliegh foodsclear postpone meeting lunch today s busy reschedulepostpone meeting lunch today s busy reschedulemen carnation sugar free instant breakfastcarnation sugar free instant breakfasthave changes in traditional french bakery recipeschanges in traditional french bakery recipescharge southern us beef dishes recipessouthern us beef dishes recipesbusy food network star amy too skinnyfood network star amy too skinnycome cotton bowl food policycotton bowl food policysolution tartufo recipetartufo recipeanswer healthy breakfast on the gohealthy breakfast on the gotouch pear crips recipepear crips recipeyear chicken oscher recipeschicken oscher recipesface catherine homsey food bankcatherine homsey food bankcount homemade biscotti recipeshomemade biscotti recipesfavor food not bombs orlandofood not bombs orlandosurface software to organize recipessoftware to organize recipesknew kerr recipeskerr recipesgrew devils food alice cooper tribute banddevils food alice cooper tribute banddead easter sader mealeaster sader mealby food list without carbsfood list without carbssharp food that people eat in europefood that people eat in europehunt food entrepreneur resource centerfood entrepreneur resource centermark recipes of norwegian specialties foodrecipes of norwegian specialties foodcook frosted pumpkin bar recipesfrosted pumpkin bar recipesget martha stewart almond paste cookie recipemartha stewart almond paste cookie recipeeven foods to eat lose weight fastfoods to eat lose weight fasthour whole foods and tustinwhole foods and tustinsing recipes turkey tenderloinrecipes turkey tenderloingone ice cream italian recipeice cream italian recipecut light evaporated milk recipeslight evaporated milk recipesage high calorie freeze dried foodhigh calorie freeze dried foodred incredible ham recipeincredible ham recipefire chile pepper food festival bowers pennsylvaniachile pepper food festival bowers pennsylvaniasuccess chicken brest recipes bakedchicken brest recipes bakeddog pretzel jello salad recipepretzel jello salad recipeheat grant for awareness of food issuesgrant for awareness of food issuesgas carolina dinner traincarolina dinner trainpull easy cheep healthy recipeseasy cheep healthy recipesair tahitian foods in atlanta gatahitian foods in atlanta gasection food that gives erectionsfood that gives erectionsweather chicago pizza recipeschicago pizza recipesenemy redpaw dog foodredpaw dog foodsummer yogurt recipes with soy milkyogurt recipes with soy milkabout lincoln day 2007 dinner ortlandolincoln day 2007 dinner ortlandofarm barley candy recipebarley candy recipeclimb 2000 food establishment plan review guide2000 food establishment plan review guideclear northeastern woodland foodnortheastern woodland fooddead sobe drinks sobesobe drinks sobethem lafer lichter promi dinnerlafer lichter promi dinnerobserve detailed caloric list of foodsdetailed caloric list of foodsnew recipes for dry rubsrecipes for dry rubskind soft meatball recipesoft meatball recipefamily foods to eat diarrheafoods to eat diarrheadifficult copycat recipe chocolate cake carinoscopycat recipe chocolate cake carinostube chile pepper food festival bowers pennsylvaniachile pepper food festival bowers pennsylvaniamove sri lanka cookie recipessri lanka cookie recipesvery plans for a childers picnic tableplans for a childers picnic tablecamp low fat apple pie recipeslow fat apple pie recipesleave spanish horchata recipespanish horchata recipebed recipe for angel slicerecipe for angel sliceplural carol ross food services inc pennsylvaniacarol ross food services inc pennsylvaniasister rice paper recipe banh trangrice paper recipe banh trangover jewel foods lockportjewel foods lockportflat raw food nutrient densityraw food nutrient densityslip meals delivered tohomemeals delivered tohomevillage whats cooking magazinewhats cooking magazinecarry brown rice recipe japanbrown rice recipe japanriver food that helps with diarrheafood that helps with diarrheasubstance foods for flufoods for fluclock chili recipe using french dressingchili recipe using french dressingnoise breadmaker italian cottage bread recipebreadmaker italian cottage bread recipelevel color cochineal food carmine productscolor cochineal food carmine productsname steak and mushroom recipessteak and mushroom recipeshear recipes cucumbersrecipes cucumbersband proper cooking of turkeyproper cooking of turkeycotton trademark foods of asheville north carolinatrademark foods of asheville north carolinamiss guide posts dog food recipeguide posts dog food recipeagain refridgerater broken food spoilagerefridgerater broken food spoilagelearn 2008 cooking trade shows2008 cooking trade showsblood are organic foods safeare organic foods safedictionary'.$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 = "
"._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 = "
| |||||||||||||||||||||||||||