While i am installing joomla on my domain, showing the error
Warning: in_array() [function.in-array]: Wrong datatype for second argument in D:\sites\frontpage1\parsuae\webroot\cominfo\installation\installer\models\model.php on line 453
What is this
Warning: in_array() [function.in-array]: Wrong datatype for second argument in D:\sites\frontpage1\parsuae\webroot\cominfo\installation\installer\models\model.php on line 453
Code Below, Please help me
<?php
/**
* @version $Id: model.php 12694 2009-09-11 21:03:02Z ian $
* @package Joomla
* @subpackage Installation
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/
// no direct access
defined('_JEXEC') or die('Restricted access');
/**
* @package Joomla
* @subpackage Installation
*/
jimport('joomla.application.component.model');
class JInstallationModel extends JModel
{
/**
* Array used to store data between model and view
*
* @var Array
* @access protected
* @since 1.5
*/
var $data = array();
/**
* Array used to store user input created during the installation process
*
* @var Array
* @access protected
* @since 1.5
*/
var $vars = array();
/**
* Constructor
*/
function __construct($config = array())
{
$this->_state = new JObject();
//set the view name
if (empty( $this->_name ))
{
if (isset($config['name'])) {
$this->_name = $config['name'];
}
else
{
$r = null;
if (!preg_match('/Model(.*)/i', get_class($this), $r)) {
JError::raiseError (500, "JModel::__construct() : Can't get or parse class name.");
}
$this->_name = strtolower( $r[1] );
}
}
}
/**
* Generate a panel of language choices for the user to select their language
*
* @return boolean True if successful
* @access public
* @since 1.5
*/
function chooseLanguage()
{
global $mainframe;
$vars =& $this->getVars();
jimport('joomla.language.helper');
$native = JLanguageHelper::detectLanguage();
$forced = $mainframe->getLocalise();
if ( !empty( $forced['lang'] ) ){
$native = $forced['lang'];
}
$lists = array ();
$lists['langs'] = JLanguageHelper::createLanguageList($native);
$this->setData('lists', $lists);
return true;
}
/**
* Gets the parameters for database creation
*
* @return boolean True if successful
* @access public
* @since 1.5
*/
function dbConfig()
{
global $mainframe;
$vars =& $this->getVars();
if (!isset ($vars['DBPrefix'])) {
$vars['DBPrefix'] = 'jos_';
}
$lists = array ();
$files = array ('mysql', 'mysqli',);
$db = JInstallationHelper::detectDB();
foreach ($files as $file)
{
$option = array ();
$option['text'] = $file;
if (strcasecmp($option['text'], $db) == 0)
{
$option['selected'] = 'selected="true"';
}
$lists['dbTypes'][] = $option;
}
$doc =& JFactory::getDocument();
$this->setData('lists', $lists);
return true;
}
/**
* Displays the finish screen
*
* @return boolean True if successful
* @access public
* @since 1.5
*/
function finish()
{
global $mainframe;
$vars =& $this->getVars();
$vars['siteurl'] = JURI::root();
$vars['adminurl'] = $vars['siteurl'].'administrator/';
return true;
}
/**
* Gets ftp configuration parameters
*
* @return boolean True if successful
* @access public
* @since 1.5
*/
function ftpConfig($DBcreated = '0')
{
global $mainframe;
$vars =& $this->getVars();
// Require the xajax library
require_once( JPATH_BASE.DS.'includes'.DS.'xajax'.DS.'xajax.inc.php' );
// Instantiate the xajax object and register the function
$xajax = new xajax(JURI::base().'installer/jajax.php');
$xajax->registerFunction(array('getFtpRoot', 'JAJAXHandler', 'ftproot'));
$xajax->registerFunction(array('FTPVerify', 'JAJAXHandler', 'ftpverify'));
//$xajax->debugOn();
$vars['DBcreated'] = JArrayHelper::getValue($vars, 'DBcreated', $DBcreated);
$strip = get_magic_quotes_gpc();
if (!isset ($vars['ftpEnable'])) {
$vars['ftpEnable'] = '1';
}
if (!isset ($vars['ftpHost'])) {
$vars['ftpHost'] = '127.0.0.1';
}
if (!isset ($vars['ftpPort'])) {
$vars['ftpPort'] = '21';
}
if (!isset ($vars['ftpUser'])) {
$vars['ftpUser'] = '';
}
if (!isset ($vars['ftpPassword'])) {
$vars['ftpPassword'] = '';
}
$doc =& JFactory::getDocument();
$doc->addCustomTag($xajax->getJavascript('', 'includes/js/xajax.js', 'includes/js/xajax.js'));
return true;
}
/**
* Get data for later use
*
* @return string
* @access public
* @since 1.5
*/
function & getData($key){
if ( ! array_key_exists($key, $this->data) )
{
$null = null;
return $null;
}
return $this->data[$key];
}
/**
* Get the local PHP settings
*
* @param $val Value to get
* @return Mixed
* @access protected
* @since 1.5
*/
function getPhpSetting($val) {
$r = (ini_get($val) == '1' ? 1 : 0);
return $r ? 'ON' : 'OFF';
}
/**
* Get the configuration variables for the installation
*
* @return Array Configuration variables
* @access public
* @since 1.5
*/
function & getVars()
{
if ( ! $this->vars )
{
// get a recursively slash stripped version of post
$post = (array) JRequest::get( 'post' );
$postVars = JArrayHelper::getValue( $post, 'vars', array(), 'array' );
$session =& JFactory::getSession();
$registry =& $session->get('registry');
$registry->loadArray($postVars, 'application');
$this->vars = $registry->toArray('application');
}
return $this->vars;
}
/**
* Gets the parameters for database creation
*
*
* @return boolean True if successful
* @access public
* @since 1.5
*/
function license()
{
return true;
}
/**
* Gets the parameters for database creation
*
* @return boolean True if successful
* @access public
* @since 1.5
*/
function makeDB($vars = false)
{
global $mainframe;
// Initialize variables
if ($vars === false) {
$vars = $this->getVars();
}
$errors = null;
$lang = JArrayHelper::getValue($vars, 'lang', 'en-GB');
$DBcreated = JArrayHelper::getValue($vars, 'DBcreated', '0');
$DBtype = JArrayHelper::getValue($vars, 'DBtype', 'mysql');
$DBhostname = JArrayHelper::getValue($vars, 'DBhostname', '');
$DBuserName = JArrayHelper::getValue($vars, 'DBuserName', '');
$DBpassword = JArrayHelper::getValue($vars, 'DBpassword', '');
$DBname = JArrayHelper::getValue($vars, 'DBname', '');
$DBPrefix = JArrayHelper::getValue($vars, 'DBPrefix', 'jos_');
$DBOld = JArrayHelper::getValue($vars, 'DBOld', 'bu');
$DBversion = JArrayHelper::getValue($vars, 'DBversion', '');
// these 3 errors should be caught by the javascript in dbConfig
if ($DBtype == '')
{
$this->setError(JText::_('validType'));
$this->setData('back', 'dbconfig');
$this->setData('errors', $errors);
return false;
//return JInstallationView::error($vars, JText::_('validType'), 'dbconfig');
}
if (!$DBhostname || !$DBuserName || !$DBname)
{
$this->setError(JText::_('validDBDetails'));
$this->setData('back', 'dbconfig');
$this->setData('errors', $errors);
return false;
//return JInstallationView::error($vars, JText::_('validDBDetails'), 'dbconfig');
}
if ($DBname == '')
{
$this->setError(JText::_('emptyDBName'));
$this->setData('back', 'dbconfig');
$this->setData('errors', $errors);
return false;
//return JInstallationView::error($vars, JText::_('emptyDBName'), 'dbconfig');
}
if (!preg_match( '#^[a-zA-Z]+[a-zA-Z0-9_]*$#', $DBPrefix )) {
$this->setError(JText::_('MYSQLPREFIXINVALIDCHARS'));
$this->setData('back', 'dbconfig');
$this->setData('errors', $errors);
return false;
}
if (strlen($DBPrefix) > 15) {
$this->setError(JText::_('MYSQLPREFIXTOOLONG'));
$this->setData('back', 'dbconfig');
$this->setData('errors', $errors);
return false;
}
if (strlen($DBname) > 64) {
$this->setError(JText::_('MYSQLDBNAMETOOLONG'));
$this->setData('back', 'dbconfig');
$this->setData('errors', $errors);
return false;
}
if (!$DBcreated)
{
$DBselect = false;
$db = & JInstallationHelper::getDBO($DBtype, $DBhostname, $DBuserName, $DBpassword, null, $DBPrefix, $DBselect);
if ( JError::isError($db) ) {
// connection failed
$this->setError(JText::sprintf('WARNNOTCONNECTDB', $db->toString()));
$this->setData('back', 'dbconfig');
$this->setData('errors', $db->toString());
return false;
}
if ($err = $db->getErrorNum()) {
// connection failed
$this->setError(JText::sprintf('WARNNOTCONNECTDB', $db->getErrorNum()));
$this->setData('back', 'dbconfig');
$this->setData('errors', $db->getErrorMsg());
return false;
}
//Check utf8 support of database
$DButfSupport = $db->hasUTF();
// Try to select the database
if ( ! $db->select($DBname) )
{
if (JInstallationHelper::createDatabase($db, $DBname, $DButfSupport))
{
$db->select($DBname);
/*
// make the new connection to the new database
$db = NULL;
$db = & JInstallationHelper::getDBO($DBtype, $DBhostname, $DBuserName, $DBpassword, $DBname, $DBPrefix);
*/
} else {
$this->setError(JText::sprintf('WARNCREATEDB', $DBname));
$this->setData('back', 'dbconfig');
$this->setData('errors', $db->getErrorMsg());
return false;
//return JInstallationView::error($vars, array (JText::sprintf('WARNCREATEDB', $DBname)), 'dbconfig', $error);
}
} else {
// pre-existing database - need to set character set to utf8
// will only affect MySQL 4.1.2 and up
JInstallationHelper::setDBCharset($db, $DBname);
}
$db = & JInstallationHelper::getDBO($DBtype, $DBhostname, $DBuserName, $DBpassword, $DBname, $DBPrefix);
if ($DBOld == 'rm') {
if (JInstallationHelper::deleteDatabase($db, $DBname, $DBPrefix, $errors)) {
$this->setError(JText::_('WARNDELETEDB'));
$this->setData('back', 'dbconfig');
$this->setData('errors', $errors);
return false;
//return JInstallationView::error($vars, , 'dbconfig', JInstallationHelper::errors2string($errors));
}
}
else
{
/*
* We assume since we aren't deleting the database that we need
* to back it up :)
*/
if (JInstallationHelper::backupDatabase($db, $DBname, $DBPrefix, $errors)) {
$this->setError(JText::_('WARNBACKINGUPDB'));
$this->setData('back', 'dbconfig');
$this->setData('errors', JInstallationHelper::errors2string($errors));
return false;
//return JInstallationView::error($vars, JText::_('WARNBACKINGUPDB'), 'dbconfig', JInstallationHelper::errors2string($errors));
}
}
$type = $DBtype;
if ($type == 'mysqli') {
$type = 'mysql';
}
// set collation and use utf-8 compatibile script if appropriate
if ($DButfSupport) {
$dbscheme = 'sql'.DS.$type.DS.'joomla.sql';
} else {
$dbscheme = 'sql'.DS.$type.DS.'joomla_backward.sql';
}
if (JInstallationHelper::populateDatabase($db, $dbscheme, $errors) > 0)
{
$this->setError(JText::_('WARNPOPULATINGDB'));
$this->setData('back', 'dbconfig');
$this->setData('errors', JInstallationHelper::errors2string($errors));
return false;
//return JInstallationView::error($vars, JText::_('WARNPOPULATINGDB'), 'dbconfig', JInstallationHelper::errors2string($errors));
}
// Load the localise.sql for translating the data in joomla.sql/joomla_backwards.sql
// This feature is available for localized version of Joomla! 1.5
jimport('joomla.filesystem.file');
$dblocalise = 'sql'.DS.$type.DS.'localise.sql';
if(JFile::exists($dblocalise)) {
if(JInstallationHelper::populateDatabase($db, $dblocalise, $errors) > 0) {
$this->setError(JText::_('WARNPOPULATINGDB'));
$this->setData('back', 'dbconfig');
$this->setData('errors', JInstallationHelper::errors2string($errors));
return false;
}
}
// Handle default backend language setting. This feature is available for
// localized versions of Joomla! 1.5.
$langfiles = $mainframe->getLocaliseAdmin();
if (in_array($lang, $langfiles['admin']) || in_array($lang, $langfiles['site'])) {
// Determine the language settings
$param[] = Array();
if (in_array($lang, $langfiles['admin'])) {
$langparam[] = "administrator=$lang";
}
if (in_array($lang, $langfiles['site'])) {
$langparam[] = "site=$lang";
}
$langparams = implode("\n", $langparam);
// Because database config has not yet been set we just
// do the trick by a plain update of the proper record.
$where[] = "`option`='com_languages'";
$where = (count($where) ? ' WHERE '.implode(' AND ', $where) : '');
$query = "UPDATE #__components " .
"SET params='$langparams'" .
$where;
$db->setQuery($query);
if (!$db->query()) {
return false;
}
}
}
return true;
}
/**
* Finishes configuration parameters
*
* @return boolean True if successful
* @access public
* @since 1.5
*/
function mainConfig()
{
global $mainframe;
$vars =& $this->getVars();
// get ftp configuration into registry for use in case of safe mode
if($vars['ftpEnable']) {
JInstallationHelper::setFTPCfg( $vars );
}
// Check a few directories are writeable as this may cause issues
if(!is_writeable(JPATH_SITE.DS.'tmp') || !is_writeable(JPATH_SITE.DS.'installation'.DS.'sql'.DS.'migration')) {
$vars['dircheck'] = JText::_('Some paths may be unwritable');
}
// Require the xajax library
require_once( JPATH_BASE.DS.'includes'.DS.'xajax'.DS.'xajax.inc.php' );
// Instantiate the xajax object and register the function
$xajax = new xajax(JURI::base().'installer/jajax.php');
$xajax->registerFunction(array('instDefault', 'JAJAXHandler', 'sampledata'));
// $xajax->debugOn();
$xajax->errorHandlerOn();
$doc =& JFactory::getDocument();
$doc->addCustomTag($xajax->getJavascript('', 'includes/js/xajax.js', 'includes/js/xajax.js'));
// Deal with possible sql script uploads from this stage
$vars['loadchecked'] = 0;
if (JRequest::getVar( 'sqlupload', 0, 'post', 'int' ) == 1)
{
$vars['sqlresponse'] = JInstallationHelper::uploadSql( $vars );
$vars['dataloaded'] = '1';
$vars['loadchecked'] = 1;
}
if ((JRequest::getVar( 'migrationupload', 0, 'post', 'int' ) == 1) && (JRequest::getVar( 'migrationUploaded', 0, 'post', 'int' ) == 0))
{
jexit(print_r(JRequest::getVar( 'migrationUploaded', 0, 'post', 'int' )));
$vars['migresponse'] = JInstallationHelper::uploadSql( $vars, true );
$vars['dataloaded'] = '1';
$vars['loadchecked'] = 2;
}
if(JRequest::getVar( 'migrationUploaded',0,'post','int') == 1) {
$vars['migresponse'] = JInstallationHelper::findMigration( $vars );
$vars['dataloaded'] = '1';
$vars['loadchecked'] = 2;
}
// $strip = get_magic_quotes_gpc();
if (isset ($vars['siteName']))
{
$vars['siteName'] = stripslashes(stripslashes($vars['siteName']));
}
$folders = array (
'administrator/backups',
'administrator/cache',
'administrator/components',
'administrator/language',
'administrator/modules',
'administrator/templates',
'cache',
'components',
'images',
'images/banners',
'images/stories',
'language',
'plugins',
'plugins/content',
'plugins/editors',
'plugins/search',
'plugins/system',
'tmp',
'modules',
'templates',
);
// Now lets make sure we have permissions set on the appropriate folders
// foreach ($folders as $folder)
// {
// if (!JInstallationHelper::setDirPerms( $folder, $vars ))
// {
// $lists['folderPerms'][] = $folder;
// }
// }
return true;
}
/**
* Perform a preinstall check
*
* @return boolean True if successful
* @access public
* @since 1.5
*/
function preInstall()
{
$vars =& $this->getVars();
$lists = array ();
$phpOptions[] = array (
'label' => JText::_('PHP version').' >= 4.3.10',
'state' => phpversion() < '4.3.10' ? 'No' : 'Yes'
);
$phpOptions[] = array (
'label' => '- '.JText::_('zlib compression support'),
'state' => extension_loaded('zlib') ? 'Yes' : 'No'
);
$phpOptions[] = array (
'label' => '- '.JText::_('XML support'),
'state' => extension_loaded('xml') ? 'Yes' : 'No',
'statetext' => extension_loaded('xml') ? 'Yes' : 'No'
);
$phpOptions[] = array (
'label' => '- '.JText::_('MySQL support'),
'state' => (function_exists('mysql_connect') || function_exists('mysqli_connect')) ? 'Yes' : 'No'
);
if (extension_loaded( 'mbstring' )) {
$mbDefLang = strtolower( ini_get( 'mbstring.language' ) ) == 'neutral';
$phpOptions[] = array (
'label' => JText::_( 'MB language is default' ),
'state' => $mbDefLang ? 'Yes' : 'No',
'notice' => $mbDefLang ? '' : JText::_( 'NOTICEMBLANGNOTDEFAULT' )
);
$mbOvl = ini_get('mbstring.func_overload') != 0;
$phpOptions[] = array (
'label' => JText::_('MB string overload off'),
'state' => !$mbOvl ? 'Yes' : 'No',
'notice' => $mbOvl ? JText::_('NOTICEMBSTRINGOVERLOAD') : ''
);
}
$sp = '';
/*$phpOptions[] = array (
'label' => JText::_('Session path set'),
'state' => ($sp = ini_get('session.save_path')) ? 'Yes' : 'No'
);
$phpOptions[] = array (
'label' => JText::_('Session path writable'),
'state' => is_writable($sp) ? 'Yes' : 'No'
);*/
$cW = (@ file_exists('../configuration.php') && @ is_writable('../configuration.php')) || is_writable('../');
$phpOptions[] = array (
'label' => 'configuration.php '.JText::_('writable'),
'state' => $cW ? 'Yes' : 'No',
'notice' => $cW ? '' : JText::_('NOTICEYOUCANSTILLINSTALL')
);
$lists['phpOptions'] = & $phpOptions;
$phpRecommended = array (
array (
JText::_('Safe Mode'),
'safe_mode',
'OFF'
),
array (
JText::_('Display Errors'),
'display_errors',
'OFF'
),
array (
JText::_('File Uploads'),
'file_uploads',
'ON'
),
array (
JText::_('Magic Quotes Runtime'),
'magic_quotes_runtime',
'OFF'
),
array (
JText::_('Register Globals'),
'register_globals',
'OFF'
),
array (
JText::_('Output Buffering'),
'output_buffering',
'OFF'
),
array (
JText::_('Session auto start'),
'session.auto_start',
'OFF'
),
);
foreach ($phpRecommended as $setting)
{
$lists['phpSettings'][] = array (
'label' => $setting[0],
'setting' => $setting[2],
'actual' => $this->getPhpSetting( $setting[1] ),
'state' => $this->getPhpSetting($setting[1]) == $setting[2] ? 'Yes' : 'No'
);
}
$this->setData('lists', $lists);
return true;
}
/**
* Remove directory messages
*
* @return Boolean True if successful
* @access public
* @since 1.5
*/
function removedir()
{
return true;
}
/**
* Save the configuration information
*
* @return boolean True if successful
* @access public
* @since 1.5
*/
function saveConfig()
{
global $mainframe;
$vars =& $this->getVars();
$lang =& JFactory::getLanguage();
// Import authentication library
jimport( 'joomla.user.helper' );
// Set some needed variables
$vars['siteUrl'] = JURI::root();
$vars['secret'] = JUserHelper::genRandomPassword(16);
$vars['offline'] = JText::_( 'STDOFFLINEMSG' );
$vars['errormsg'] = JText::_( 'STDERRORMSG' );
$vars['metadesc'] = JText::_( 'STDMETADESC' );
$vars['metakeys'] = JText::_( 'STDMETAKEYS' );
$vars['tmp_path'] = JPATH_ROOT.DS.'tmp';
$vars['log_path'] = JPATH_ROOT.DS.'logs';
// set default language
$forced = $mainframe->getLocalise();
if ( empty($forced['lang']) ) {
$vars['deflang'] = 'en-GB';
$vars['bclang'] = 'english';
} else {
$vars['deflang'] = $forced['lang'];
$vars['bclang'] = $lang->getBackwardLang();
}
if ( empty( $forced['helpurl'] ) ) {
$vars['helpurl'] = 'http://help.joomla.org';
} else {
$vars['helpurl'] = $forced['helpurl'];
}
// If FTP has not been enabled, set the value to 0
if (!isset($vars['ftpEnable']))
{
$vars['ftpEnable'] = 0;
}
/*
* Trim the last slash from the FTP root, as the FTP root usually replaces JPATH_ROOT.
* If the path had a trailing slash, this would lead to double slashes, like "/joomla//configuration.php"
*/
if (isset($vars['ftpRoot'])) {
$vars['ftpRoot'] = rtrim($vars['ftpRoot'], '/');
}
switch ($vars['DBtype']) {
case 'mssql' :
$vars['ZERO_DATE'] = '1/01/1990';
break;
default :
$vars['ZERO_DATE'] = '0000-00-00 00:00:00';
break;
}
JInstallationHelper::createAdminUser($vars);
/**
* Write the configuration file
*/
jimport('joomla.template.template');
$tmpl = new JTemplate();
$tmpl->applyInputFilter('ShortModifiers');
// load the wrapper and common templates
$tmpl->setRoot( JPATH_BASE . DS . 'template' . DS. 'tmpl' );
$tmpl->readTemplatesFromFile('configuration.html');
$tmpl->addVars('configuration', $vars, 'var_');
if (empty($vars['ftpSavePass'])) {
$tmpl->addVar('configuration', 'var_ftpuser', '');
$tmpl->addVar('configuration', 'var_ftppassword', '');
}
$buffer = $tmpl->getParsedTemplate('configuration');
$path = JPATH_CONFIGURATION.DS.'configuration.php';
if (file_exists($path)) {
$canWrite = is_writable($path);
} else {
$canWrite = is_writable(JPATH_CONFIGURATION.DS);
}
/*
* If the file exists but isn't writable OR if the file doesn't exist and the parent directory
* is not writable we need to use FTP
*/
$ftpFlag = false;
if ((file_exists($path) && !is_writable($path)) || (!file_exists($path) && !is_writable(dirname($path).'/'))) {
$ftpFlag = true;
}
// Check for safe mode
if (ini_get('safe_mode'))
{
$ftpFlag = true;
}
// Enable/Disable override
if (!isset($vars['ftpEnable']) || ($vars['ftpEnable'] != 1))
{
$ftpFlag = false;
}
if ($ftpFlag == true)
{
// Connect the FTP client
jimport('joomla.client.ftp');
jimport('joomla.filesystem.path');
$ftp = & JFTP::getInstance($vars['ftpHost'], $vars['ftpPort']);
$ftp->login($vars['ftpUser'], $vars['ftpPassword']);
// Translate path for the FTP account
$file = JPath::clean(str_replace(JPATH_CONFIGURATION, $vars['ftpRoot'], $path), '/');
// Use FTP write buffer to file
if (!$ftp->write($file, $buffer)) {
$this->setData('buffer', $buffer);
return false;
}
$ftp->quit();
}
else
{
if ($canWrite) {
file_put_contents($path, $buffer);
} else {
$this->setData('buffer', $buffer);
return true;
}
}
return true;
}
/**
* Set data for later use
*
* @param string $key Data key
* @param Mixed data
* @access public
* @since 1.5
*/
function setData($key, $value){
$this->data[$key] = $value;
}
function dumpLoad() {
include (JPATH_BASE . '/includes/bigdump.php');
}
function checkUpload() {
// pie
$vars =& $this->getVars();
//print_r($vars);
$sqlFile = JRequest::getVar('sqlFile', '', 'files', 'array');
if(JRequest::getVar( 'sqlUploaded', 0, 'post', 'bool' ) == false) {
/*
* Move uploaded file
*/
// Set permissions for tmp dir
JInstallationHelper::_chmod(JPATH_SITE.DS.'tmp', 0777);
jimport('joomla.filesystem.file');
$uploaded = JFile::upload($sqlFile['tmp_name'], JPATH_SITE.DS.'tmp'.DS.$sqlFile['name']);
if(!$uploaded) {
$this->setError(JText::_('WARNUPLOADFAILURE'));
return false;
}
if( !preg_match('#\.sql$#i', $sqlFile['name']) )
{
$archive = JPATH_SITE.DS.'tmp'.DS.$sqlFile['name'];
}
else
{
$script = JPATH_SITE.DS.'tmp'.DS.$sqlFile['name'];
}
// unpack archived sql files
if (isset($archive) && $archive )
{
$package = JInstallationHelper::unpack( $archive, $vars );
if ( $package === false )
{
$this->setError(JText::_('WARNUNPACK'));
return false;
}
$script = $package['folder'].DS.$package['script'];
}
} else {
$script = JPATH_BASE . DS . 'sql' . DS . 'migration' . DS . 'migrate.sql';
}
$migration = JRequest::getVar( 'migration', 0, 'post', 'bool' );
/*
* If migration perform manipulations on script file before population
*/
if ($migration == true) {
$db = & JInstallationHelper::getDBO($vars['DBtype'], $vars['DBhostname'], $vars['DBuserName'], $vars['DBpassword'], $vars['DBname'], $vars['DBPrefix']);
$script = JInstallationHelper::preMigrate($script, $vars, $db);
if ( $script == false )
{
$this->setError(JText::_( 'Script operations failed' ));
return false;
}
} // Disable in testing */
// Ensure the script is always in the same location
if($script != JPATH_BASE . DS . 'sql' . DS . 'migration' . DS . 'migrate.sql') {
JFile::move($script, JPATH_BASE . DS . 'sql' . DS . 'migration' . DS . 'migrate.sql');
}
//$this->setData('scriptpath',$script);
$vars['dataloaded'] = '1';
$vars['loadchecked'] = '1';
$vars['migration'] = $migration;
return true;
}
function postMigrate() {
$migErrors = null;
$args =& $this->getVars();
$db = & JInstallationHelper::getDBO($args['DBtype'], $args['DBhostname'], $args['DBuserName'], $args['DBpassword'], $args['DBname'], $args['DBPrefix']);
$migResult = JInstallationHelper::postMigrate( $db, $migErrors, $args );
if(!$migResult) echo JText::_("Migration Successful");
else {
echo '<div id="installer">';
echo '<p>'.JText::_('Migration failed').':</p>';
foreach($migErrors as $error) echo '<p>'.$error['msg'].'</p>';
echo '</div>';
}
return $migResult;
}
}$dblocalise = 'sql'.DS.$type.DS.'localise.sql';
It's referenced to so many different things, it'd take me awhile to look through the entire code to find exactly what's causing the problem. But basically what's happening is you have an array of type int (just an example) and you're trying to insert data of type char or string, etc into it. If this is a script, it's probably best to report the problem to the Joomla development team.
Edit: At least I think that's what's happening anyway. It kind of seems like that error message is from a method. In which case one of those references is sending data to a method that is of the wrong data type. Either way, there's a data type that doesn't match.