File: /home/centralexf/www/administrator/components/com_rsform/install.rsform.php
<?php
/**
* @version 1.3.0
* @package RSform!Pro 1.3.0
* @copyright (C) 2007-2011 www.rsjoomla.com
* @license GPL, http://www.gnu.org/copyleft/gpl.html
*/
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
require_once(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_rsform'.DS.'helpers'.DS.'rsform.php');
// Initialize DB
$db = JFactory::getDBO();
// Sample Data
$db->setQuery("SELECT COUNT(FormId) FROM #__rsform_forms");
if (!$db->loadResult())
{
$buffer = file_get_contents($this->parent->getPath('source').DS.'admin'.DS.'sample.rsform.sql');
jimport('joomla.installer.helper');
$queries = JInstallerHelper::splitSql($buffer);
// Process each query in the $queries array (split out of sql file).
foreach ($queries as $query)
{
$query = trim($query);
if ($query != '' && $query{0} != '#') {
$db->setQuery($query);
if (!$db->query()) {
JError::raiseWarning(1, 'JInstaller::install: '.JText::_('SQL Error')." ".$db->stderr(true));
}
}
}
}
// Get a new installer
$plg_installer = new JInstaller();
// Content - RSForm! Pro
$plg_content_exists = false;
$plg_content = false;
$plg_content_msg = '';
$published = 1;
// Search for the old mosrsform Plugin
if (RSFormProHelper::isJ16())
$db->setQuery("SELECT extension_id as id, name, state as published FROM #__extensions WHERE `type` = 'plugin' AND folder='content' AND element='mosrsform'");
else
$db->setQuery("SELECT * FROM #__plugins WHERE folder='content' AND element='mosrsform'");
$plugin = $db->loadObject();
// Found it
if (!empty($plugin))
{
$plugins = true;
$plg_content_exists = true;
$name = $plugin->name;
if (strpos($name, ' (no longer supported, disabled)') === false)
$name .= ' (no longer supported, disabled)';
// Unpublish old plugin
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = 0, name='".$db->getEscaped($name)."' WHERE id='".$plugin->id."'");
else
$db->setQuery("UPDATE #__plugins SET published=0, name='".$db->getEscaped($name)."' WHERE id='".$plugin->id."'");
$db->query();
$published = $plugin->published;
$plg_content_msg .= 'The installer found the old "mosrsform" plugin. This plugin is no longer supported by this version of RSForm! Pro and has been disabled. You should uninstall it as soon as possible.<br />';
// Install
if ($plg_installer->install($this->parent->getPath('source').DS.'plugins'.DS.'plg_content'))
{
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = '".$published."' WHERE `type` = 'plugin' AND folder='content' AND element='rsform' ");
else
$db->setQuery("UPDATE #__plugins SET published='".$published."' WHERE `element`='rsform' AND `folder`='content'");
$db->query();
$plg_content = true;
}
}
// System - RSForm! Pro Plugin
$plg_rsform = false;
$plg_rsform_exists = false;
$plg_rsform_msg = '';
$published = 1;
// Search for the old plugin
if (RSFormProHelper::isJ16())
$db->setQuery("SELECT extension_id as id, name, state as published FROM #__extensions WHERE `type` = 'plugin' AND folder='system' AND element='rsform'");
else
$db->setQuery("SELECT * FROM #__plugins WHERE folder='system' AND element='rsform'");
$plugin = $db->loadObject();
// Found it
if (!empty($plugin))
{
$plugins = true;
$plg_rsform_exists = true;
$published = $plugin->published;
// Install
if ($plg_installer->install($this->parent->getPath('source').DS.'plugins'.DS.'plg_rsform'))
{
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = '".$published."' WHERE `type` = 'plugin' AND folder='system' AND element='rsform'");
else
$db->setQuery("UPDATE #__plugins SET published='".$published."' WHERE `element`='rsform' AND `folder`='system'");
$db->query();
$plg_rsform = true;
$plg_rsform_msg .= 'The installer found the old plugin and updated it.';
}
else
{
$name = $plugin->name;
if (strpos($name, ' (no longer supported, disabled)') === false)
$name .= ' (no longer supported, disabled)';
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = 0, name='".$db->getEscaped($name)."' WHERE `type` = 'plugin' AND folder='system' AND element='rsform'");
else
$db->setQuery("UPDATE #__plugins SET published='0', name='".$db->getEscaped($name)."' WHERE `element`='rsform' AND `folder`='system'");
$db->query();
$plg_rsform_msg .= 'The installer could not update the old plugin. Since the plugin is no longer supported by this version of RSForm! Pro, it has been disabled. You should check if /plugins/system is writable and try to update it again.';
}
}
// System - RSForm! Pro - Google Analytics Plugin
$plg_google = false;
$plg_google_exists = false;
$plg_google_msg = '';
$published = 1;
// Search for the old plugin
if (RSFormProHelper::isJ16())
$db->setQuery("SELECT extension_id as id, name, state as published FROM #__extensions WHERE `type` = 'plugin' AND folder='system' AND element='rsfpgoogle'");
else
$db->setQuery("SELECT * FROM #__plugins WHERE folder='system' AND element='rsfpgoogle'");
$plugin = $db->loadObject();
// Found it
if (!empty($plugin))
{
$plugins = true;
$plg_google_exists = true;
$published = $plugin->published;
// Install
if ($plg_installer->install($this->parent->getPath('source').DS.'plugins'.DS.'plg_google'))
{
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = '".$published."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfpgoogle'");
else
$db->setQuery("UPDATE #__plugins SET published='".$published."' WHERE `element`='rsfpgoogle' AND `folder`='system'");
$db->query();
$plg_google = true;
$plg_google_msg .= 'The installer found the old plugin and updated it.';
}
else
{
$name = $plugin->name;
if (strpos($name, ' (no longer supported, disabled)') === false)
$name .= ' (no longer supported, disabled)';
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = 0, name='".$db->getEscaped($name)."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfpgoogle'");
else
$db->setQuery("UPDATE #__plugins SET published='0', name='".$db->getEscaped($name)."' WHERE `element`='rsfpgoogle' AND `folder`='system'");
$db->query();
$plg_google_msg .= 'The installer could not update the old plugin. Since the plugin is no longer supported by this version of RSForm! Pro, it has been disabled. You should check if /plugins/system is writable and try to update it again.';
}
}
// System - RSForm! Pro - Mappings Plugin
$plg_mappings = false;
$plg_mappings_exists = false;
$plg_mappings_msg = '';
$published = 1;
// Search for the old plugin
if (RSFormProHelper::isJ16())
$db->setQuery("SELECT extension_id as id, name, state as published FROM #__extensions WHERE `type` = 'plugin' AND folder='system' AND element='rsfpmappings'");
else
$db->setQuery("SELECT * FROM #__plugins WHERE folder='system' AND element='rsfpmappings'");
$plugin = $db->loadObject();
// Found it
if (!empty($plugin))
{
$plugins = true;
$plg_mappings_exists = true;
$published = $plugin->published;
$name = $plugin->name;
if (strpos($name, ' (no longer supported, disabled)') === false)
$name .= ' (no longer supported, disabled)';
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = 0, name='".$db->getEscaped($name)."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfpmappings'");
else
$db->setQuery("UPDATE #__plugins SET published='0', name='".$db->getEscaped($name)."' WHERE `element`='rsfpmappings' AND `folder`='system'");
$db->query();
$plg_mappings_msg .= 'The mappings plugin is no longer supported in RSForm!Pro 1.4.0 REV 40.';
}
// System - RSForm! Pro - Migration Plugin
$plg_migration = false;
$plg_migration_exists = false;
$plg_migration_msg = '';
$published = 1;
// Search for the old plugin
if (RSFormProHelper::isJ16())
$db->setQuery("SELECT extension_id as id, name, state as published FROM #__extensions WHERE `type` = 'plugin' AND folder='system' AND element='rsfpmigration'");
else
$db->setQuery("SELECT * FROM #__plugins WHERE folder='system' AND element='rsfpmigration'");
$plugin = $db->loadObject();
// Found it
if (!empty($plugin))
{
$plugins = true;
$plg_migration_exists = true;
$published = $plugin->published;
// Install
if ($plg_installer->install($this->parent->getPath('source').DS.'plugins'.DS.'plg_migration'))
{
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = '".$published."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfpmigration'");
else
$db->setQuery("UPDATE #__plugins SET published='".$published."' WHERE `element`='rsfpmigration' AND `folder`='system'");
$db->query();
$plg_migration = true;
$plg_migration_msg .= 'The installer found the old plugin and updated it.';
}
else
{
$name = $plugin->name;
if (strpos($name, ' (no longer supported, disabled)') === false)
$name .= ' (no longer supported, disabled)';
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = 0, name='".$db->getEscaped($name)."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfpmigration'");
else
$db->setQuery("UPDATE #__plugins SET published='0', name='".$db->getEscaped($name)."' WHERE `element`='rsfpmigration' AND `folder`='system'");
$db->query();
$plg_migration_msg .= 'The installer could not update the old plugin. Since the plugin is no longer supported by this version of RSForm! Pro, it has been disabled. You should check if /plugins/system is writable and try to update it again.';
}
}
// System - RSForm! Pro - PayPal Plugin
$plg_paypal = false;
$plg_paypal_exists = false;
$plg_paypal_msg = '';
$published = 1;
// Search for the old plugin
if (RSFormProHelper::isJ16())
$db->setQuery("SELECT extension_id as id, name, state as published FROM #__extensions WHERE `type` = 'plugin' AND folder='system' AND element='rsfppaypal'");
else
$db->setQuery("SELECT * FROM #__plugins WHERE folder='system' AND element='rsfppaypal'");
$plugin = $db->loadObject();
// Found it
if (!empty($plugin))
{
$plugins = true;
$plg_paypal_exists = true;
$published = $plugin->published;
// Install
if ($plg_installer->install($this->parent->getPath('source').DS.'plugins'.DS.'plg_paypal'))
{
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = '".$published."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfppaypal'");
else
$db->setQuery("UPDATE #__plugins SET published='".$published."' WHERE `element`='rsfppaypal' AND `folder`='system'");
$db->query();
$db->setQuery("DELETE FROM `#__rsform_config` WHERE `SettingName` IN ('paypal.cancel','paypal.language','paypal.tax.type','paypal.tax.value')");
$db->query();
$db->setQuery("INSERT IGNORE INTO `#__rsform_config` (`ConfigId`, `SettingName`, `SettingValue`) VALUES ('', 'paypal.cancel', '')");
$db->query();
$db->setQuery("INSERT IGNORE INTO `#__rsform_config` (`ConfigId`, `SettingName`, `SettingValue`) VALUES ('', 'paypal.language', 'US')");
$db->query();
$db->setQuery("INSERT IGNORE INTO `#__rsform_config` (`ConfigId`, `SettingName`, `SettingValue`) VALUES ('', 'paypal.tax.type', '1')");
$db->query();
$db->setQuery("INSERT IGNORE INTO `#__rsform_config` (`ConfigId`, `SettingName`, `SettingValue`) VALUES ('', 'paypal.tax.value', '')");
$db->query();
$plg_paypal = true;
$plg_paypal_msg .= 'The installer found the old plugin and updated it.';
}
else
{
$name = $plugin->name;
if (strpos($name, ' (no longer supported, disabled)') === false)
$name .= ' (no longer supported, disabled)';
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = 0, name='".$db->getEscaped($name)."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfppaypal'");
else
$db->setQuery("UPDATE #__plugins SET published='0', name='".$db->getEscaped($name)."' WHERE `element`='rsfppaypal' AND `folder`='system'");
$db->query();
$plg_paypal_msg .= 'The installer could not update the old plugin. Since the plugin is no longer supported by this version of RSForm! Pro, it has been disabled. You should check if /plugins/system is writable and try to update it again.';
}
}
// System - RSForm! Pro - reCAPTCHA Plugin
$plg_recaptcha = false;
$plg_recaptcha_exists = false;
$plg_recaptcha_msg = '';
$published = 1;
// Search for the old plugin
if (RSFormProHelper::isJ16())
$db->setQuery("SELECT extension_id as id, name, state as published FROM #__extensions WHERE `type` = 'plugin' AND folder='system' AND element='rsfprecaptcha'");
else
$db->setQuery("SELECT * FROM #__plugins WHERE folder='system' AND element='rsfprecaptcha'");
$plugin = $db->loadObject();
// Found it
if (!empty($plugin))
{
$plugins = true;
$plg_recaptcha_exists = true;
$published = $plugin->published;
// Install
if ($plg_installer->install($this->parent->getPath('source').DS.'plugins'.DS.'plg_recaptcha'))
{
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = '".$published."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfprecaptcha'");
else
$db->setQuery("UPDATE #__plugins SET published='".$published."' WHERE `element`='rsfprecaptcha' AND `folder`='system'");
$db->query();
$plg_recaptcha = true;
$plg_recaptcha_msg .= 'The installer found the old plugin and updated it.';
}
else
{
$name = $plugin->name;
if (strpos($name, ' (no longer supported, disabled)') === false)
$name .= ' (no longer supported, disabled)';
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = 0, name='".$db->getEscaped($name)."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfprecaptcha'");
else
$db->setQuery("UPDATE #__plugins SET published='0', name='".$db->getEscaped($name)."' WHERE `element`='rsfprecaptcha' AND `folder`='system'");
$db->query();
$plg_recaptcha_msg .= 'The installer could not update the old plugin. Since the plugin is no longer supported by this version of RSForm! Pro, it has been disabled. You should check if /plugins/system is writable and try to update it again.';
}
}
// System - RSForm! Pro - RSEvents! Plugin
$plg_rsevents = false;
$plg_rsevents_exists = false;
$plg_rsevents_msg = '';
$published = 1;
// Search for the old plugin
if (RSFormProHelper::isJ16())
$db->setQuery("SELECT extension_id as id, name, state as published FROM #__extensions WHERE `type` = 'plugin' AND folder='system' AND element='rsfprsevents'");
else
$db->setQuery("SELECT * FROM #__plugins WHERE folder='system' AND element='rsfprsevents'");
$plugin = $db->loadObject();
// Found it
if (!empty($plugin))
{
$plugins = true;
$plg_rsevents_exists = true;
$published = $plugin->published;
// Install
if ($plg_installer->install($this->parent->getPath('source').DS.'plugins'.DS.'plg_rsevents'))
{
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = '".$published."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfprsevents'");
else
$db->setQuery("UPDATE #__plugins SET published='".$published."' WHERE `element`='rsfprsevents' AND `folder`='system'");
$db->query();
$plg_rsevents = true;
$plg_rsevents_msg .= 'The installer found the old plugin and updated it.';
}
else
{
$name = $plugin->name;
if (strpos($name, ' (no longer supported, disabled)') === false)
$name .= ' (no longer supported, disabled)';
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = 0, name='".$db->getEscaped($name)."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfprsevents'");
else
$db->setQuery("UPDATE #__plugins SET published='0', name='".$db->getEscaped($name)."' WHERE `element`='rsfprsevents' AND `folder`='system'");
$db->query();
$plg_rsevents_msg .= 'The installer could not update the old plugin. Since the plugin is no longer supported by this version of RSForm! Pro, it has been disabled. You should check if /plugins/system is writable and try to update it again.';
}
}
// System - RSForm! Pro - RSMail! Plugin
$plg_rsmail = false;
$plg_rsmail_exists = false;
$plg_rsmail_msg = '';
$published = 1;
// Search for the old plugin
if (RSFormProHelper::isJ16())
$db->setQuery("SELECT extension_id as id, name, state as published FROM #__extensions WHERE `type` = 'plugin' AND folder='system' AND element='rsmail_rsformpro_subscription'");
else
$db->setQuery("SELECT * FROM #__plugins WHERE folder='system' AND element='rsmail_rsformpro_subscription'");
$plugin = $db->loadObject();
// Found it
if (!empty($plugin))
{
$plugins = true;
$plg_rsmail_exists = true;
$published = $plugin->published;
// Install
if ($plg_installer->install($this->parent->getPath('source').DS.'plugins'.DS.'plg_rsmail'))
{
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = '".$published."' WHERE `type` = 'plugin' AND folder='system' AND element='rsmail_rsformpro_subscription'");
else
$db->setQuery("UPDATE #__plugins SET published='".$published."' WHERE `element`='rsmail_rsformpro_subscription' AND `folder`='system'");
$db->query();
$plg_rsmail = true;
$plg_rsmail_msg .= 'The installer found the old plugin and updated it.';
}
else
{
$name = $plugin->name;
if (strpos($name, ' (no longer supported, disabled)') === false)
$name .= ' (no longer supported, disabled)';
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = 0, name='".$db->getEscaped($name)."' WHERE `type` = 'plugin' AND folder='system' AND element='rsmail_rsformpro_subscription'");
else
$db->setQuery("UPDATE #__plugins SET published='0', name='".$db->getEscaped($name)."' WHERE `element`='rsmail_rsformpro_subscription' AND `folder`='system'");
$db->query();
$plg_rsmail_msg .= 'The installer could not update the old plugin. Since the plugin is no longer supported by this version of RSForm! Pro, it has been disabled. You should check if /plugins/system is writable and try to update it again.';
}
}
// System - RSForm! Pro - Akismet Plugin
$plg_akismet = false;
$plg_akismet_exists = false;
$plg_akismet_msg = '';
$published = 1;
// Search for the old plugin
if (RSFormProHelper::isJ16())
$db->setQuery("SELECT extension_id as id, name, state as published FROM #__extensions WHERE `type` = 'plugin' AND folder='system' AND element='rsfpakismet'");
else
$db->setQuery("SELECT * FROM #__plugins WHERE folder='system' AND element='rsfpakismet'");
$plugin = $db->loadObject();
// Found it
if (!empty($plugin))
{
$plugins = true;
$plg_akismet_exists = true;
$published = $plugin->published;
// Install
if ($plg_installer->install($this->parent->getPath('source').DS.'plugins'.DS.'plg_akismet'))
{
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = '".$published."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfpakismet'");
else
$db->setQuery("UPDATE #__plugins SET published='".$published."' WHERE `element`='rsfpakismet' AND `folder`='system'");
$db->query();
$plg_akismet = true;
$plg_akismet_msg .= 'The installer found the old plugin and updated it.';
}
else
{
$name = $plugin->name;
if (strpos($name, ' (no longer supported, disabled)') === false)
$name .= ' (no longer supported, disabled)';
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = 0, name='".$db->getEscaped($name)."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfpakismet'");
else
$db->setQuery("UPDATE #__plugins SET published='0', name='".$db->getEscaped($name)."' WHERE `element`='rsfpakismet' AND `folder`='system'");
$db->query();
$plg_akismet_msg .= 'The installer could not update the old plugin. Since the plugin is no longer supported by this version of RSForm! Pro, it has been disabled. You should check if /plugins/system is writable and try to update it again.';
}
}
// System - RSForm! Pro - Constant Contact Plugin
$plg_cc = false;
$plg_cc_exists = false;
$plg_cc_msg = '';
$published = 1;
// Search for the old plugin
if (RSFormProHelper::isJ16())
$db->setQuery("SELECT extension_id as id, name, state as published FROM #__extensions WHERE `type` = 'plugin' AND folder='system' AND element='rsfpconstantcontact'");
else
$db->setQuery("SELECT * FROM #__plugins WHERE folder='system' AND element='rsfpconstantcontact'");
$plugin = $db->loadObject();
// Found it
if (!empty($plugin))
{
$plugins = true;
$plg_cc_exists = true;
$published = $plugin->published;
// Install
if ($plg_installer->install($this->parent->getPath('source').DS.'plugins'.DS.'plg_constantcontact'))
{
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = '".$published."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfpconstantcontact'");
else
$db->setQuery("UPDATE #__plugins SET published='".$published."' WHERE `element`='rsfpconstantcontact' AND `folder`='system'");
$db->query();
$plg_cc = true;
$plg_cc_msg .= 'The installer found the old plugin and updated it.';
}
else
{
$name = $plugin->name;
if (strpos($name, ' (no longer supported, disabled)') === false)
$name .= ' (no longer supported, disabled)';
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = 0, name='".$db->getEscaped($name)."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfpconstantcontact'");
else
$db->setQuery("UPDATE #__plugins SET published='0', name='".$db->getEscaped($name)."' WHERE `element`='rsfpconstantcontact' AND `folder`='system'");
$db->query();
$plg_cc_msg .= 'The installer could not update the old plugin. Since the plugin is no longer supported by this version of RSForm! Pro, it has been disabled. You should check if /plugins/system is writable and try to update it again.';
}
}
// System - RSForm! Pro - Mailchimp Plugin
$plg_mailchimp = false;
$plg_mailchimp_exists = false;
$plg_mailchimp_msg = '';
$published = 1;
// Search for the old plugin
if (RSFormProHelper::isJ16())
$db->setQuery("SELECT extension_id as id, name, state as published FROM #__extensions WHERE `type` = 'plugin' AND folder='system' AND element='rsfpmailchimp'");
else
$db->setQuery("SELECT * FROM #__plugins WHERE folder='system' AND element='rsfpmailchimp'");
$plugin = $db->loadObject();
// Found it
if (!empty($plugin))
{
$plugins = true;
$plg_mailchimp_exists = true;
$published = $plugin->published;
// Install
if ($plg_installer->install($this->parent->getPath('source').DS.'plugins'.DS.'plg_mailchimp'))
{
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = '".$published."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfpmailchimp'");
else
$db->setQuery("UPDATE #__plugins SET published='".$published."' WHERE `element`='rsfpmailchimp' AND `folder`='system'");
$db->query();
$plg_mailchimp = true;
$plg_mailchimp_msg .= 'The installer found the old plugin and updated it.';
}
else
{
$name = $plugin->name;
if (strpos($name, ' (no longer supported, disabled)') === false)
$name .= ' (no longer supported, disabled)';
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = 0, name='".$db->getEscaped($name)."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfpmailchimp'");
else
$db->setQuery("UPDATE #__plugins SET published='0', name='".$db->getEscaped($name)."' WHERE `element`='rsfpmailchimp' AND `folder`='system'");
$db->query();
$plg_mailchimp_msg .= 'The installer could not update the old plugin. Since the plugin is no longer supported by this version of RSForm! Pro, it has been disabled. You should check if /plugins/system is writable and try to update it again.';
}
}
// System - RSForm! Pro - Joomla! Registration Plugin
$plg_registration = false;
$plg_registration_exists = false;
$plg_registration_msg = '';
$published = 1;
// Search for the old plugin
if (RSFormProHelper::isJ16())
$db->setQuery("SELECT extension_id as id, name, state as published FROM #__extensions WHERE `type` = 'plugin' AND folder='system' AND element='rsfpregistration'");
else
$db->setQuery("SELECT * FROM #__plugins WHERE folder='system' AND element='rsfpregistration'");
$plugin = $db->loadObject();
// Found it
if (!empty($plugin))
{
$plugins = true;
$plg_registration_exists = true;
$published = $plugin->published;
// Install
if ($plg_installer->install($this->parent->getPath('source').DS.'plugins'.DS.'plg_rsfpregistration'))
{
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = '".$published."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfpregistration'");
else
$db->setQuery("UPDATE #__plugins SET published='".$published."' WHERE `element`='rsfpregistration' AND `folder`='system'");
$db->query();
$plg_registration = true;
$plg_registration_msg .= 'The installer found the old plugin and updated it.';
}
else
{
$name = $plugin->name;
if (strpos($name, ' (no longer supported, disabled)') === false)
$name .= ' (no longer supported, disabled)';
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = 0, name='".$db->getEscaped($name)."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfpregistration'");
else
$db->setQuery("UPDATE #__plugins SET published='0', name='".$db->getEscaped($name)."' WHERE `element`='rsfpregistration' AND `folder`='system'");
$db->query();
$plg_registration_msg .= 'The installer could not update the old plugin. Since the plugin is no longer supported by this version of RSForm! Pro, it has been disabled. You should check if /plugins/system is writable and try to update it again.';
}
}
// System - RSForm! Pro - Salesforce Plugin
$plg_salesforce = false;
$plg_salesforce_exists = false;
$plg_salesforce_msg = '';
$published = 1;
// Search for the old plugin
if (RSFormProHelper::isJ16())
$db->setQuery("SELECT extension_id as id, name, state as published FROM #__extensions WHERE `type` = 'plugin' AND folder='system' AND element='rsfpsalesforce'");
else
$db->setQuery("SELECT * FROM #__plugins WHERE folder='system' AND element='rsfpsalesforce'");
$plugin = $db->loadObject();
// Found it
if (!empty($plugin))
{
$plugins = true;
$plg_salesforce_exists = true;
$published = $plugin->published;
// Install
if ($plg_installer->install($this->parent->getPath('source').DS.'plugins'.DS.'plg_salesforce'))
{
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = '".$published."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfpsalesforce'");
else
$db->setQuery("UPDATE #__plugins SET published='".$published."' WHERE `element`='rsfpsalesforce' AND `folder`='system'");
$db->query();
$plg_salesforce = true;
$plg_salesforce_msg .= 'The installer found the old plugin and updated it.';
}
else
{
$name = $plugin->name;
if (strpos($name, ' (no longer supported, disabled)') === false)
$name .= ' (no longer supported, disabled)';
if (RSFormProHelper::isJ16())
$db->setQuery("UPDATE #__extensions SET state = 0, name='".$db->getEscaped($name)."' WHERE `type` = 'plugin' AND folder='system' AND element='rsfpsalesforce'");
else
$db->setQuery("UPDATE #__plugins SET published='0', name='".$db->getEscaped($name)."' WHERE `element`='rsfpsalesforce' AND `folder`='system'");
$db->query();
$plg_salesforce_msg .= 'The installer could not update the old plugin. Since the plugin is no longer supported by this version of RSForm! Pro, it has been disabled. You should check if /plugins/system is writable and try to update it again.';
}
}
// Module - RSForm! Pro
$mod_rsform = false;
$mod_rsform_exists = false;
$mod_rsform_msg = '';
$published = 1;
// Search for the old module
$db->setQuery("SELECT * FROM #__modules WHERE module='mod_rsform'");
$module = $db->loadObject();
// Found it
if (!empty($module))
{
$modules = true;
$mod_rsform_exists = true;
$published = $module->published;
// Install
if ($plg_installer->install($this->parent->getPath('source').DS.'modules'.DS.'mod_rsform'))
{
$db->setQuery("UPDATE #__modules SET published='".$published."' WHERE `module`='mod_rsform'");
$db->query();
$mod_rsform = true;
$mod_rsform_msg .= 'The installer found the old module and updated it.';
}
else
{
$name = $module->name;
if (strpos($name, ' (no longer supported, disabled)') === false)
$name .= ' (no longer supported, disabled)';
$db->setQuery("UPDATE #__modules SET published='0', name='".$db->getEscaped($name)."' WHERE `module`='mod_rsform'");
$db->query();
$mod_rsform_msg .= 'The installer could not update the old module. Since the module is no longer supported by this version of RSForm! Pro, it has been disabled. You should check if /modules is writable and try to update it again.';
}
}
// Module - RSForm! Pro
$mod_rsform_list = false;
$mod_rsform_list_exists = false;
$mod_rsform_list_msg = '';
$published = 1;
// Search for the old module
$db->setQuery("SELECT * FROM #__modules WHERE module='mod_rsform_list'");
$module = $db->loadObject();
// Found it
if (!empty($module))
{
$modules = true;
$mod_rsform_list_exists = true;
$published = $module->published;
// Install
if ($plg_installer->install($this->parent->getPath('source').DS.'modules'.DS.'mod_rsform_list'))
{
$db->setQuery("UPDATE #__modules SET published='".$published."' WHERE `module`='mod_rsform_list'");
$db->query();
$mod_rsform_list = true;
$mod_rsform_list_msg .= 'The installer found the old module and updated it.';
}
else
{
$name = $module->name;
if (strpos($name, ' (no longer supported, disabled)') === false)
$name .= ' (no longer supported, disabled)';
$db->setQuery("UPDATE #__modules SET published='0', name='".$db->getEscaped($name)."' WHERE `module`='mod_rsform_list'");
$db->query();
$mod_rsform_list_msg .= 'The installer could not update the old module. Since the module is no longer supported by this version of RSForm! Pro, it has been disabled. You should check if /modules is writable and try to update it again.';
}
}
if (RSFormProHelper::isJ16())
{
$library_installer = new JInstaller();
$library_installer->install($this->parent->getPath('source').DS.'libraries');
}
?>
<style type="text/css">
.green { color: #009E28; }
.red { color: #B8002E; }
.greenbg { background: #B8FFC9 !important; }
.redbg { background: #FFB8C9 !important; }
#rsform_changelog
{
list-style-type: none;
padding: 0;
}
#rsform_changelog li
{
background: url(components/com_rsform/assets/images/legacy/tick.png) no-repeat center left;
padding-left: 24px;
}
#rsform_links
{
list-style-type: none;
padding: 0;
}
</style>
<table class="adminlist">
<thead>
<tr>
<th class="title" colspan="2"><?php echo JText::_('Extension'); ?></th>
<th width="30%"><?php echo JText::_('Status'); ?></th>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="3"></td>
</tr>
</tfoot>
<tbody>
<tr class="row0">
<td class="key" colspan="2"><?php echo 'RSForm! Pro '.JText::_('Component'); ?></td>
<td><strong class="green"><?php echo JText::_('Installed'); ?></strong></td>
</tr>
<?php if (!empty($plugins)) { ?>
<tr>
<th><?php echo JText::_('Plugin'); ?></th>
<th><?php echo JText::_('Group'); ?></th>
<th></th>
</tr>
<?php if ($plg_content_exists) { ?>
<tr class="row0">
<td class="key">Content - RSForm! Pro Plugin</td>
<td class="key">content</td>
<td>
<?php if ($plg_content) { ?>
<strong class="green"><?php echo JText::_('Installed'); ?></strong>
<?php } else { ?>
<strong class="red"><?php echo JText::_('Not Installed'); ?></strong>
<?php } ?>
<?php echo $plg_content_msg; ?>
</td>
</tr>
<?php } ?>
<?php if ($plg_rsform_exists) { ?>
<tr class="row1">
<td class="key">System - RSForm! Pro Plugin</td>
<td class="key">system</td>
<td>
<?php if ($plg_rsform) { ?>
<strong class="green"><?php echo JText::_('Installed'); ?></strong>
<?php } else { ?>
<strong class="red"><?php echo JText::_('Not Installed'); ?></strong>
<?php } ?>
<?php echo $plg_rsform_msg; ?>
</td>
</tr>
<?php } ?>
<?php if ($plg_google_exists) { ?>
<tr class="row0">
<td class="key">System - RSForm! Pro - Google Analytics</td>
<td class="key">system</td>
<td>
<?php if ($plg_google) { ?>
<strong class="green"><?php echo JText::_('Installed'); ?></strong>
<?php } else { ?>
<strong class="red"><?php echo JText::_('Not Installed'); ?></strong>
<?php } ?>
<?php echo $plg_google_msg; ?>
</td>
</tr>
<?php } ?>
<?php if ($plg_mappings_exists) { ?>
<tr class="row1">
<td class="key">System - RSForm! Pro - Mappings</td>
<td class="key">system</td>
<td>
<?php if ($plg_mappings) { ?>
<strong class="green"><?php echo JText::_('Installed'); ?></strong>
<?php } else { ?>
<strong class="red"><?php echo JText::_('Not Installed'); ?></strong>
<?php } ?>
<?php echo $plg_mappings_msg; ?>
</td>
</tr>
<?php } ?>
<?php if ($plg_migration_exists) { ?>
<tr class="row0">
<td class="key">System - RSForm! Pro - Migration</td>
<td class="key">system</td>
<td>
<?php if ($plg_migration) { ?>
<strong class="green"><?php echo JText::_('Installed'); ?></strong>
<?php } else { ?>
<strong class="red"><?php echo JText::_('Not Installed'); ?></strong>
<?php } ?>
<?php echo $plg_migration_msg; ?>
</td>
</tr>
<?php } ?>
<?php if ($plg_paypal_exists) { ?>
<tr class="row1">
<td class="key">System - RSForm! Pro - PayPal</td>
<td class="key">system</td>
<td>
<?php if ($plg_paypal) { ?>
<strong class="green"><?php echo JText::_('Installed'); ?></strong>
<?php } else { ?>
<strong class="red"><?php echo JText::_('Not Installed'); ?></strong>
<?php } ?>
<?php echo $plg_paypal_msg; ?>
</td>
</tr>
<?php } ?>
<?php if ($plg_recaptcha_exists) { ?>
<tr class="row0">
<td class="key">System - RSForm! Pro - reCAPTCHA</td>
<td class="key">system</td>
<td>
<?php if ($plg_recaptcha) { ?>
<strong class="green"><?php echo JText::_('Installed'); ?></strong>
<?php } else { ?>
<strong class="red"><?php echo JText::_('Not Installed'); ?></strong>
<?php } ?>
<?php echo $plg_recaptcha_msg; ?>
</td>
</tr>
<?php } ?>
<?php if ($plg_rsevents_exists) { ?>
<tr class="row1">
<td class="key">System - RSForm! Pro - RSEvents!</td>
<td class="key">system</td>
<td>
<?php if ($plg_rsevents) { ?>
<strong class="green"><?php echo JText::_('Installed'); ?></strong>
<?php } else { ?>
<strong class="red"><?php echo JText::_('Not Installed'); ?></strong>
<?php } ?>
<?php echo $plg_rsevents_msg; ?>
</td>
</tr>
<?php } ?>
<?php if ($plg_rsmail_exists) { ?>
<tr class="row0">
<td class="key">System - RSForm! Pro - RSMail!</td>
<td class="key">system</td>
<td>
<?php if ($plg_rsmail) { ?>
<strong class="green"><?php echo JText::_('Installed'); ?></strong>
<?php } else { ?>
<strong class="red"><?php echo JText::_('Not Installed'); ?></strong>
<?php } ?>
<?php echo $plg_rsmail_msg; ?>
</td>
</tr>
<?php } ?>
<?php if ($plg_akismet_exists) { ?>
<tr class="row1">
<td class="key">System - RSForm! Pro - Akismet plugin</td>
<td class="key">system</td>
<td>
<?php if ($plg_akismet) { ?>
<strong class="green"><?php echo JText::_('Installed'); ?></strong>
<?php } else { ?>
<strong class="red"><?php echo JText::_('Not Installed'); ?></strong>
<?php } ?>
<?php echo $plg_akismet_msg; ?>
</td>
</tr>
<?php } ?>
<?php if ($plg_cc_exists) { ?>
<tr class="row0">
<td class="key">System - RSForm! Pro - Constant Contact plugin</td>
<td class="key">system</td>
<td>
<?php if ($plg_cc) { ?>
<strong class="green"><?php echo JText::_('Installed'); ?></strong>
<?php } else { ?>
<strong class="red"><?php echo JText::_('Not Installed'); ?></strong>
<?php } ?>
<?php echo $plg_cc_msg; ?>
</td>
</tr>
<?php } ?>
<?php if ($plg_mailchimp_exists) { ?>
<tr class="row1">
<td class="key">System - RSForm! Pro - Mailchimp plugin</td>
<td class="key">system</td>
<td>
<?php if ($plg_mailchimp) { ?>
<strong class="green"><?php echo JText::_('Installed'); ?></strong>
<?php } else { ?>
<strong class="red"><?php echo JText::_('Not Installed'); ?></strong>
<?php } ?>
<?php echo $plg_mailchimp_msg; ?>
</td>
</tr>
<?php } ?>
<?php if ($plg_registration_exists) { ?>
<tr class="row0">
<td class="key">System - RSForm! Pro - Joomla! Registration plugin</td>
<td class="key">system</td>
<td>
<?php if ($plg_registration) { ?>
<strong class="green"><?php echo JText::_('Installed'); ?></strong>
<?php } else { ?>
<strong class="red"><?php echo JText::_('Not Installed'); ?></strong>
<?php } ?>
<?php echo $plg_registration_msg; ?>
</td>
</tr>
<?php } ?>
<?php if ($plg_salesforce_exists) { ?>
<tr class="row1">
<td class="key">System - RSForm! Pro - Salesforce plugin</td>
<td class="key">system</td>
<td>
<?php if ($plg_salesforce) { ?>
<strong class="green"><?php echo JText::_('Installed'); ?></strong>
<?php } else { ?>
<strong class="red"><?php echo JText::_('Not Installed'); ?></strong>
<?php } ?>
<?php echo $plg_salesforce_msg; ?>
</td>
</tr>
<?php } ?>
<?php } ?>
<?php if (!empty($modules)) { ?>
<tr>
<th colspan="3"><?php echo JText::_('Module'); ?></th>
</tr>
<?php if ($mod_rsform_exists) { ?>
<tr class="row0">
<td class="key" colspan="2">Module - RSForm! Pro</td>
<td>
<?php if ($mod_rsform) { ?>
<strong class="green"><?php echo JText::_('Installed'); ?></strong>
<?php } else { ?>
<strong class="red"><?php echo JText::_('Not Installed'); ?></strong>
<?php } ?>
<?php echo $mod_rsform_msg; ?>
</td>
</tr>
<?php } ?>
<?php if ($mod_rsform_list_exists) { ?>
<tr class="row1">
<td class="key" colspan="2">Module - RSForm! Pro Frontend List</td>
<td>
<?php if ($mod_rsform_list) { ?>
<strong class="green"><?php echo JText::_('Installed'); ?></strong>
<?php } else { ?>
<strong class="red"><?php echo JText::_('Not Installed'); ?></strong>
<?php } ?>
<?php echo $mod_rsform_list_msg; ?>
</td>
</tr>
<?php } ?>
<?php } ?>
</tbody>
</table>
<br/>
<?php
$your_php = phpversion();
$correct_php = version_compare($your_php, '4.0');
$db->setQuery("SELECT VERSION()");
$your_sql = $db->loadResult();
$correct_sql = version_compare($your_sql, '4.2');
?>
<table class="adminlist">
<thead>
<tr>
<th width="30%" nowrap="nowrap"><?php echo JText::_('Software'); ?></th>
<th width="30%" nowrap="nowrap"><?php echo JText::_('Your Version'); ?></th>
<th width="30%" nowrap="nowrap"><?php echo JText::_('Minimum'); ?></th>
<th width="30%" nowrap="nowrap"><?php echo JText::_('Recommended'); ?></th>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="4"></td>
</tr>
</tfoot>
<tbody>
<tr class="row0">
<td class="key">PHP</td>
<td class="<?php echo $correct_php >= 0 ? 'greenbg' : 'redbg'; ?>"><strong class="<?php echo $correct_php >= 0 ? 'green' : 'red'; ?>"><?php echo $your_php; ?></strong> <img src="images/<?php echo $correct_php >= 0 ? 'tick' : 'publish_x'; ?>.png" alt="" /></td>
<td><strong>4.x</strong></td>
<td><strong>5.x</strong></td>
</tr>
<tr class="row1">
<td class="key">MySQL</td>
<td class="<?php echo $correct_sql >= 0 ? 'greenbg' : 'redbg'; ?>"><strong class="<?php echo $correct_sql >= 0 ? 'green' : 'red'; ?>"><?php echo $your_sql; ?></strong> <img src="images/<?php echo $correct_sql >= 0 ? 'tick' : 'publish_x'; ?>.png" alt="" /></td>
<td><strong>4.2</strong></td>
<td><strong>5.x</strong></td>
</tr>
</tbody>
</table>
<table>
<tr>
<td width="1%"><img src="components/com_rsform/assets/images/box.png" alt="RSForm! Pro Box" /></td>
<td align="left">
<div id="rsform_message">
<p>Thank you for choosing RSForm! Pro.</p>
<p>New in this version:</p>
<ul id="rsform_changelog">
<li>NEW validation rule: Unique field per user</li>
<li>Page progress option - improve multipage forms by showing a visual progress bar</li>
<li>More validation rules!<br />unique field, email address with dns check, credit card, usa zip code, phone number, ip address, url and regex</li>
<li>Syntax highlighting using CodeMirror (enabled from the Configuration area)</li>
<li>Additional Emails Script</li>
</ul>
<a href="http://www.rsjoomla.com/support/documentation/view-article/23-rsformpro-changelog.html" target="_blank">Full Changelog</a>
<ul id="rsform_links">
<li>
<div class="button2-left">
<div class="next">
<a href="index.php?option=com_rsform">Start using RSForm! Pro</a>
</div>
</div>
</li>
<li>
<div class="button2-left">
<div class="readmore">
<a href="index.php?option=com_rsform&task=goto.support" target="_blank">Read the RSForm! Pro User Guide</a>
</div>
</div>
</li>
<li>
<div class="button2-left">
<div class="blank">
<a href="http://www.rsjoomla.com/support.html" target="_blank">Get Support!</a>
</div>
</div>
</li>
</ul>
</div>
</td>
</tr>
</table><br/>
<?php
$jconfig = JFactory::getConfig();
$dbprefix = $jconfig->getValue('config.dbprefix');
// Disable error reporting
$db->setQuery("REPLACE INTO `#__rsform_config` (`ConfigId`, `SettingName`, `SettingValue`) VALUES(2, 'global.debug.mode', '0')");
$db->query();
$db->setQuery("UPDATE `#__rsform_component_type_fields` SET `FieldType` = 'textarea' WHERE `ComponentTypeFieldId` = 10 LIMIT 1");
$db->query();
$db->setQuery("SHOW TABLES");
$tables = $db->loadResultArray();
if (in_array($dbprefix.'RSFORM_CONFIG', $tables))
{
$wrong_tables = array('#__RSFORM_COMPONENTS', '#__RSFORM_COMPONENT_TYPES', '#__RSFORM_COMPONENT_TYPE_FIELDS', '#__RSFORM_CONFIG', '#__RSFORM_FORMS', '#__RSFORM_MAPPINGS', '#__RSFORM_PROPERTIES', '#__RSFORM_SUBMISSIONS', '#__RSFORM_SUBMISSION_VALUES');
$good_tables = array('#__rsform_components', '#__rsform_component_types', '#__rsform_component_type_fields', '#__rsform_config', '#__rsform_forms', '#__rsform_mappings', '#__rsform_properties', '#__rsform_submissions', '#__rsform_submission_values');
foreach ($wrong_tables as $i => $wrong_table)
{
$db->setQuery("RENAME TABLE `".$wrong_tables[$i]."` TO `".$good_tables[$i]."`");
$db->query();
}
// Replace uppercase tables if there are any scripts
foreach ($wrong_tables as $i => $wrong_table)
{
$db->setQuery("UPDATE `".$good_tables[4]."` SET `ScriptProcess`=REPLACE(`ScriptProcess`,'".$wrong_tables[$i]."','".$good_tables[$i]."'), `ScriptDisplay`=REPLACE(`ScriptDisplay`,'".$wrong_tables[$i]."','".$good_tables[$i]."')");
$db->query();
$db->setQuery("UPDATE `".$good_tables[6]."` SET `PropertyValue`=REPLACE(`PropertyValue`,'".$wrong_tables[$i]."','".$good_tables[$i]."')");
$db->query();
}
}
$db->setQuery("DESCRIBE #__rsform_forms");
$form_properties = $db->loadAssocList();
$exists_email_attach = 0;
$exists_email_attach_file = 0;
$exists_process2 = 0;
$exists_user_cc = 0;
$exists_user_bcc = 0;
$exists_user_reply = 0;
$exists_admin_cc = 0;
$exists_admin_bcc = 0;
$exists_admin_reply = 0;
foreach ($form_properties as $prop)
{
if($prop['Field'] == 'UserEmailAttach') $exists_email_attach = 1;
if($prop['Field'] == 'UserEmailAttachFile') $exists_email_attach_file = 1;
if($prop['Field'] == 'ScriptProcess2') $exists_process2 = 1;
if($prop['Field'] == 'UserEmailCC') $exists_user_cc = 1;
if($prop['Field'] == 'UserEmailBCC') $exists_user_bcc = 1;
if($prop['Field'] == 'UserEmailReplyTo') $exists_user_reply = 1;
if($prop['Field'] == 'AdminEmailCC') $exists_admin_cc = 1;
if($prop['Field'] == 'AdminEmailBCC') $exists_admin_bcc = 1;
if($prop['Field'] == 'AdminEmailReplyTo') $exists_admin_reply = 1;
}
if(!$exists_email_attach) { $db->setQuery("ALTER TABLE #__rsform_forms ADD `UserEmailAttach` TINYINT NOT NULL AFTER `UserEmailMode`"); $db->query(); }
if(!$exists_email_attach_file) { $db->setQuery("ALTER TABLE #__rsform_forms ADD `UserEmailAttachFile` VARCHAR (255) NOT NULL AFTER `UserEmailAttach`"); $db->query(); }
if(!$exists_process2) { $db->setQuery("ALTER TABLE #__rsform_forms ADD `ScriptProcess2` TEXT NOT NULL AFTER `ScriptProcess`"); $db->query(); }
if(!$exists_user_cc) { $db->setQuery("ALTER TABLE #__rsform_forms ADD `UserEmailCC` VARCHAR (255) NOT NULL AFTER `UserEmailTo`"); $db->query(); }
if(!$exists_user_bcc) { $db->setQuery("ALTER TABLE #__rsform_forms ADD `UserEmailBCC` VARCHAR (255) NOT NULL AFTER `UserEmailCC`"); $db->query(); }
if(!$exists_user_reply) { $db->setQuery("ALTER TABLE #__rsform_forms ADD `UserEmailReplyTo` VARCHAR (255) NOT NULL AFTER `UserEmailBCC`"); $db->query(); }
if(!$exists_admin_cc) { $db->setQuery("ALTER TABLE #__rsform_forms ADD `AdminEmailCC` VARCHAR (255) NOT NULL AFTER `AdminEmailTo`"); $db->query(); }
if(!$exists_admin_bcc) { $db->setQuery("ALTER TABLE #__rsform_forms ADD `AdminEmailBCC` VARCHAR (255) NOT NULL AFTER `AdminEmailCC`"); $db->query(); }
if(!$exists_admin_reply) { $db->setQuery("ALTER TABLE #__rsform_forms ADD `AdminEmailReplyTo` VARCHAR (255) NOT NULL AFTER `AdminEmailBCC`"); $db->query(); }
$db->setQuery("SELECT * FROM #__rsform_component_type_fields WHERE `ComponentTypeId` = 2 AND `FieldName`='WYSIWYG'");
$db->query();
if ($db->getNumRows() == 0)
{
$db->setQuery("INSERT INTO #__rsform_component_type_fields SET `ComponentTypeId`=2, `FieldName`='WYSIWYG', `FieldType`='select', `FieldValues`='NO\r\nYES', `Ordering` = 11");
$db->query();
$db->setQuery("SELECT ComponentId FROM #__rsform_components WHERE `ComponentTypeId`=2");
$components = $db->loadAssocList();
foreach ($components as $comp)
{
$db->setQuery("INSERT INTO #__rsform_properties SET `ComponentId`='".$comp['ComponentId']."', `PropertyName`='WYSIWYG', `PropertyValue`='NO'");
$db->query();
}
}
$db->setQuery("SELECT * FROM #__rsform_component_type_fields WHERE `ComponentTypeId` = 8 AND `FieldName`='SIZE'");
$db->query();
if ($db->getNumRows() == 0)
{
$db->setQuery("INSERT INTO #__rsform_component_type_fields SET `ComponentTypeId`=8, `FieldName`='SIZE', `FieldType`='textbox', `FieldValues`='15', `Ordering` = 12");
$db->query();
$components = $db->setQuery("SELECT ComponentId FROM #__rsform_components WHERE `ComponentTypeId`=8");
$db->loadAssocList();
foreach ($components as $comp)
{
$db->setQuery("INSERT INTO #__rsform_properties SET `ComponentId`='".$comp['ComponentId']."', `PropertyName`='SIZE', `PropertyValue`='15'");
$db->query();
}
}
$db->setQuery("DESCRIBE #__rsform_submission_values");
$sqlinfo = $db->loadAssocList();
$form_id = 0;
foreach ($sqlinfo as $sql)
if($sql['Field'] == 'FormId') $form_id = 1;
if(!$form_id)
{
$db->setQuery("ALTER TABLE #__rsform_submission_values ADD `FormId` INT NOT NULL AFTER `SubmissionValueId`");
$db->query();
$db->setQuery("UPDATE #__rsform_submission_values sv, #__rsform_submissions s SET sv.FormId=s.FormId WHERE sv.SubmissionId = s.SubmissionId");
$db->query();
}
$index_ctid = 0;
$index_fid = 0;
$db->setQuery("DESCRIBE #__rsform_components");
$sqlinfo = $db->loadAssocList();
foreach ($sqlinfo as $sql)
{
if ($sql['Field'] == 'ComponentTypeId' && $sql['Key'] == 'MUL') $index_ctid = 1;
if ($sql['Field'] == 'FormId' && $sql['Key'] == 'MUL') $index_fid = 1;
}
if (!$index_ctid)
{
$db->setQuery("ALTER TABLE #__rsform_components ADD INDEX (`ComponentTypeId`)");
$db->query();
}
if (!$index_fid)
{
$db->setQuery("ALTER TABLE #__rsform_components ADD INDEX (`FormId`)");
$db->query();
}
$index_ctid = 0;
$db->setQuery("DESCRIBE #__rsform_component_type_fields");
$sqlinfo = $db->loadAssocList();
foreach ($sqlinfo as $sql)
if ($sql['Field'] == 'ComponentTypeId' && $sql['Key'] == 'MUL') $index_ctid = 1;
if (!$index_ctid)
{
$db->setQuery("ALTER TABLE #__rsform_component_type_fields ADD INDEX (`ComponentTypeId`)");
$db->query();
}
$index_cid = 0;
$db->setQuery("DESCRIBE #__rsform_properties");
$sqlinfo = $db->loadAssocList();
foreach ($sqlinfo as $sql)
if ($sql['Field'] == 'ComponentId' && $sql['Key'] == 'MUL') $index_cid = 1;
if (!$index_cid)
{
$db->setQuery("ALTER TABLE #__rsform_properties ADD INDEX (`ComponentId`)");
$db->query();
}
$index_fid = 0;
$db->setQuery("DESCRIBE #__rsform_submissions");
$sqlinfo = $db->loadAssocList();
foreach ($sqlinfo as $sql)
if ($sql['Field'] == 'FormId' && $sql['Key'] == 'MUL') $index_fid = 1;
if (!$index_fid)
{
$db->setQuery("ALTER TABLE #__rsform_submissions ADD INDEX (`FormId`)");
$db->query();
}
$index_fid = 0;
$index_sid = 0;
$db->setQuery("DESCRIBE #__rsform_submission_values");
$sqlinfo = $db->loadAssocList();
foreach ($sqlinfo as $sql)
{
if ($sql['Field'] == 'FormId' && $sql['Key'] == 'MUL') $index_fid = 1;
if ($sql['Field'] == 'SubmissionId' && $sql['Key'] == 'MUL') $index_sid = 1;
}
if (!$index_fid)
{
$db->setQuery("ALTER TABLE #__rsform_submission_values ADD INDEX (`FormId`)");
$db->query();
}
if (!$index_sid)
{
$db->setQuery("ALTER TABLE #__rsform_submission_values ADD INDEX (`SubmissionId`)");
$db->query();
}
$index_cid = 0;
/*
$db->setQuery("DESCRIBE #__rsform_mappings"); $sqlinfo = $db->loadAssocList();
foreach ($sqlinfo as $sql)
if ($sql['Field'] == 'FormId' && $sql['Key'] == 'MUL') $index_cid = 1;
if (!$index_cid)
{
$db->setQuery("ALTER TABLE #__rsform_mappings ADD INDEX (`ComponentId`)");
$db->query();
}
*/
$db->setQuery("ALTER TABLE `#__rsform_component_type_fields` CHANGE `FieldType` `FieldType` ENUM( 'hidden', 'hiddenparam', 'textbox', 'textarea', 'select', 'emailattach' ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'hidden'");
$db->query();
$db->setQuery("SELECT * FROM #__rsform_config WHERE `SettingName`='global.iis'");
$db->query();
if ($db->getNumRows() == 0)
{
$db->setQuery("INSERT INTO #__rsform_config SET `SettingName`='global.iis', `SettingValue`='1'");
$db->query();
}
$db->setQuery("SELECT * FROM #__rsform_config WHERE `SettingName`='global.editor'");
$db->query();
if ($db->getNumRows() == 0)
{
$db->setQuery("INSERT INTO #__rsform_config SET `SettingName`='global.editor', `SettingValue`='1'");
$db->query();
}
$db->setQuery("SELECT * FROM #__rsform_component_type_fields WHERE `ComponentTypeId` = 8 AND `FieldName`='IMAGETYPE'");
$db->query();
if ($db->getNumRows() == 0)
{
$db->setQuery("INSERT INTO #__rsform_component_type_fields SET `ComponentTypeId`=8, `FieldName`='IMAGETYPE', `FieldType`='select', `FieldValues`='FREETYPE\r\nNOFREETYPE\r\nINVISIBLE', `Ordering` = 3");
$db->query();
$db->setQuery("SELECT ComponentId FROM #__rsform_components WHERE `ComponentTypeId`=8");
$components = $db->loadAssocList();
foreach ($components as $comp)
{
$db->setQuery("INSERT INTO #__rsform_properties SET `ComponentId`='".$comp['ComponentId']."', `PropertyName`='IMAGETYPE', `PropertyValue`='FREETYPE'");
$db->query();
}
}
$db->setQuery("SELECT * FROM #__rsform_component_type_fields WHERE `ComponentTypeId` = 1 AND `FieldName`='VALIDATIONEXTRA'");
$db->query();
if ($db->getNumRows() == 0)
{
$db->setQuery("INSERT INTO #__rsform_component_type_fields SET `ComponentTypeId`=1, `FieldName`='VALIDATIONEXTRA', `FieldType`='textbox', `FieldValues`='', `Ordering` = 6");
$db->query();
$db->setQuery("SELECT ComponentId FROM #__rsform_components WHERE `ComponentTypeId`=1");
$components = $db->loadAssocList();
foreach ($components as $comp)
{
$db->setQuery("INSERT INTO #__rsform_properties SET `ComponentId`='".$comp['ComponentId']."', `PropertyName`='VALIDATIONEXTRA', `PropertyValue`=''");
$db->query();
}
}
$db->setQuery("SELECT * FROM #__rsform_component_type_fields WHERE `ComponentTypeId` = 2 AND `FieldName`='VALIDATIONEXTRA'");
$db->query();
if ($db->getNumRows() == 0)
{
$db->setQuery("INSERT INTO #__rsform_component_type_fields SET `ComponentTypeId`=2, `FieldName`='VALIDATIONEXTRA', `FieldType`='textbox', `FieldValues`='', `Ordering` = 6");
$db->query();
$db->setQuery("SELECT ComponentId FROM #__rsform_components WHERE `ComponentTypeId`=2");
$components = $db->loadAssocList();
foreach ($components as $comp)
{
$db->setQuery("INSERT INTO #__rsform_properties SET `ComponentId`='".$comp['ComponentId']."', `PropertyName`='VALIDATIONEXTRA', `PropertyValue`=''");
$db->query();
}
}
$db->setQuery("SELECT * FROM #__rsform_component_type_fields WHERE `ComponentTypeId` = 14 AND `FieldName`='VALIDATIONRULE'");
$db->query();
if ($db->getNumRows() == 0)
{
$db->setQuery("INSERT INTO #__rsform_component_type_fields SET `ComponentTypeId`=14, `FieldName`='VALIDATIONRULE', `FieldType`='select', `FieldValues`='//<code>\r\nreturn RSgetValidationRules();\r\n//</code>', `Ordering` = 9");
$db->query();
$db->setQuery("SELECT ComponentId FROM #__rsform_components WHERE `ComponentTypeId`=14");
$components = $db->loadAssocList();
foreach ($components as $comp)
{
$db->setQuery("INSERT INTO #__rsform_properties SET `ComponentId`='".$comp['ComponentId']."', `PropertyName`='VALIDATIONRULE', `PropertyValue`=''");
$db->query();
}
}
$db->setQuery("SHOW COLUMNS FROM #__rsform_forms WHERE `Field`='MetaTitle'");
$db->query();
if ($db->getNumRows() == 0)
{
$db->setQuery("ALTER TABLE `#__rsform_forms` ADD `MetaTitle` TINYINT( 1 ) NOT NULL");
$db->query();
$db->setQuery("ALTER TABLE `#__rsform_forms` ADD `MetaDesc` TEXT NOT NULL");
$db->query();
$db->setQuery("ALTER TABLE `#__rsform_forms` ADD `MetaKeywords` TEXT NOT NULL");
$db->query();
$db->setQuery("ALTER TABLE `#__rsform_forms` ADD `Required` VARCHAR( 255 ) NOT NULL DEFAULT '(*)'");
$db->query();
$db->setQuery("ALTER TABLE `#__rsform_forms` ADD `ErrorMessage` TEXT NOT NULL");
$db->query();
}
$db->setQuery("SELECT FormId FROM #__rsform_forms WHERE FormId='1' AND FormName='RSformPro example' AND ErrorMessage=''");
if ($db->loadResult())
{
$db->setQuery("UPDATE #__rsform_forms SET MetaTitle=0, MetaDesc='This is the meta description of your form. You can use it for SEO purposes.', MetaKeywords='rsform, contact, form, joomla', Required='(*)', ErrorMessage='<p class=\"formRed\">Please complete all required fields!</p>' WHERE FormId='1' LIMIT 1");
$db->query();
}
$db->setQuery("SHOW COLUMNS FROM `#__rsform_forms` WHERE `Field`='FormLayout'");
$result = $db->loadObject();
if (strtolower($result->Type == 'text'))
{
$db->setQuery("ALTER TABLE `#__rsform_forms` CHANGE `FormLayout` `FormLayout` LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL");
$db->query();
}
$db->setQuery("SELECT ComponentTypeFieldId FROM #__rsform_component_type_fields WHERE `ComponentTypeId` = 9 AND `FieldName`='PREFIX'");
if (!$db->loadResult())
{
$db->setQuery("INSERT INTO #__rsform_component_type_fields SET ComponentTypeId='9', FieldName='PREFIX', FieldType='textarea', FieldValues='', Ordering='6'");
$db->query();
}
$db->setQuery("SELECT ComponentTypeFieldId FROM #__rsform_component_type_fields WHERE `ComponentTypeId` = 13 AND `FieldName`='PREVBUTTON'");
if (!$db->loadResult())
{
$db->setQuery("INSERT INTO #__rsform_component_type_fields SET ComponentTypeId='13', FieldName='PREVBUTTON', FieldType='textbox', FieldValues='//<code>\r\nreturn JText::_(''PREV'');\r\n//</code>', Ordering='8'");
$db->query();
}
$db->setQuery("SELECT ComponentTypeFieldId FROM #__rsform_component_type_fields WHERE `ComponentTypeId` = 41 AND `FieldName`='NAME'");
if (!$db->loadResult())
{
$db->setQuery("INSERT INTO #__rsform_component_type_fields (ComponentTypeFieldId, ComponentTypeId, FieldName, FieldType, FieldValues, Ordering)".
" VALUES ('', 41, 'NAME', 'textbox', '', 1),".
" ('', 41, 'COMPONENTTYPE', 'hidden', '41', 5),".
" ('', 41, 'NEXTBUTTON', 'textbox', '//<code>\r\nreturn JText::_(''NEXT'');\r\n//</code>', 2),".
" ('', 41, 'PREVBUTTON', 'textbox', '//<code>\r\nreturn JText::_(''PREV'');\r\n//</code>', 3),".
" ('', 41, 'ADDITIONALATTRIBUTES', 'textarea', '', 4)");
$db->query();
}
$db->setQuery("SHOW COLUMNS FROM `#__rsform_forms` WHERE `Field`='CSS'");
if (!$db->loadResult())
{
$db->setQuery("ALTER TABLE `#__rsform_forms` ADD `CSS` TEXT NOT NULL AFTER `FormLayoutAutogenerate` ,".
" ADD `JS` TEXT NOT NULL AFTER `CSS` ,".
" ADD `ShowThankyou` TINYINT( 1 ) NOT NULL DEFAULT '1' AFTER `ReturnUrl` ,".
" ADD `UserEmailScript` TEXT NOT NULL AFTER `ScriptDisplay` ,".
" ADD `AdminEmailScript` TEXT NOT NULL AFTER `UserEmailScript` ,".
" ADD `MultipleSeparator` VARCHAR( 64 ) NOT NULL AFTER `ErrorMessage` ,".
" ADD `TextareaNewLines` TINYINT( 1 ) NOT NULL AFTER `MultipleSeparator`");
$db->query();
}
$db->setQuery("UPDATE #__rsform_component_type_fields SET FieldValues='//<code>\r\nreturn JPATH_SITE.DS.''components''.DS.''com_rsform''.DS.''uploads''.DS;\r\n//</code>' WHERE FieldName='DESTINATION' AND ComponentTypeId=9 AND FieldValues LIKE '%RSadapter%'");
$db->query();
// R32
$db->setQuery("SHOW COLUMNS FROM `#__rsform_forms` WHERE `Field`='CSSClass'");
if (!$db->loadResult())
{
$db->setQuery("ALTER TABLE `#__rsform_forms` ADD `CSSClass` VARCHAR( 255 ) NOT NULL AFTER `TextareaNewLines` ,".
" ADD `CSSId` VARCHAR( 255 ) NOT NULL DEFAULT 'userForm' AFTER `CSSClass` ,".
" ADD `CSSName` VARCHAR( 255 ) NOT NULL AFTER `CSSId` ,".
" ADD `CSSAction` TEXT NOT NULL AFTER `CSSName` ,".
" ADD `CSSAdditionalAttributes` TEXT NOT NULL AFTER `CSSAction`,".
" ADD `AjaxValidation` TINYINT( 1 ) NOT NULL AFTER `CSSAdditionalAttributes`");
$db->query();
}
// R33
$db->setQuery("SHOW COLUMNS FROM `#__rsform_forms` WHERE `Field`='UserEmailConfirmation'");
if ($db->loadResult())
{
$db->setQuery("ALTER TABLE `#__rsform_forms` DROP `UserEmailConfirmation`");
$db->query();
}
$db->setQuery("SHOW COLUMNS FROM `#__rsform_forms` WHERE `Field`='ThemeParams'");
if (!$db->loadResult())
{
$db->setQuery("ALTER TABLE `#__rsform_forms` ADD `ThemeParams` TEXT NOT NULL");
$db->query();
}
$db->setQuery("SELECT `ComponentTypeFieldId` FROM #__rsform_component_type_fields WHERE `ComponentTypeId`='41' AND `FieldName`='VALIDATENEXTPAGE'");
if (!$db->loadResult())
{
$db->setQuery("INSERT INTO #__rsform_component_type_fields SET `ComponentTypeId`='41', `FieldName`='VALIDATENEXTPAGE', `FieldType`='select', `FieldValues`='NO\r\nYES', `Ordering`='5'");
$db->query();
}
// R34
$db->setQuery("SHOW COLUMNS FROM `#__rsform_forms` WHERE `Field`='ShowContinue'");
if (!$db->loadResult())
{
$db->setQuery("ALTER TABLE `#__rsform_forms` ADD `ShowContinue` TINYINT( 1 ) NOT NULL DEFAULT '1' AFTER `Thankyou`");
$db->query();
}
$db->setQuery("SELECT `ComponentTypeFieldId` FROM #__rsform_component_type_fields WHERE `ComponentTypeId`='6' AND `FieldName`='MINDATE'");
if (!$db->loadResult())
{
$db->setQuery("INSERT INTO #__rsform_component_type_fields (ComponentTypeFieldId, ComponentTypeId, FieldName, FieldType, FieldValues, Ordering)".
" VALUES (NULL, '6', 'MINDATE', 'textbox', '', '5'),".
" (NULL, '6', 'MAXDATE', 'textbox', '', '5'),".
" (NULL, '6', 'DEFAULTVALUE', 'textarea', '', '2')");
$db->query();
}
// R36
$db->setQuery("SHOW COLUMNS FROM `#__rsform_submissions` WHERE `Field`='Lang'");
if (!$db->loadResult())
{
$db->setQuery("ALTER TABLE `#__rsform_submissions` ADD `Lang` VARCHAR( 255 ) NOT NULL AFTER `UserId`");
$db->query();
}
//R40
$db->setQuery("SHOW COLUMNS FROM `#__rsform_submissions` WHERE `Field`='confirmed'");
if (!$db->loadResult())
{
$db->setQuery("ALTER TABLE `#__rsform_submissions` ADD `confirmed` TINYINT( 1 ) NOT NULL");
$db->query();
}
$db->setQuery("SHOW COLUMNS FROM `#__rsform_forms` WHERE `Field`='Keepdata'");
if (!$keepdata = $db->loadObject())
{
$db->setQuery("ALTER TABLE `#__rsform_forms` ADD `Keepdata` TINYINT( 1 ) NOT NULL DEFAULT '1'");
$db->query();
$db->setQuery("UPDATE `#__rsform_forms` SET `Keepdata` = 1");
$db->query();
}
else
{
if ($keepdata->Default != 1)
{
$db->setQuery("ALTER TABLE `#__rsform_forms` CHANGE `Keepdata` `Keepdata` TINYINT( 1 ) NOT NULL DEFAULT '1'");
$db->query();
}
}
$db->setQuery("SHOW COLUMNS FROM `#__rsform_forms` WHERE `Field`='Backendmenu'");
if (!$db->loadResult())
{
$db->setQuery("ALTER TABLE `#__rsform_forms` ADD `Backendmenu` TINYINT( 1 ) NOT NULL");
$db->query();
}
$db->setQuery("SHOW COLUMNS FROM `#__rsform_forms` WHERE `Field`='ConfirmSubmission'");
if (!$db->loadResult())
{
$db->setQuery("ALTER TABLE `#__rsform_forms` ADD `ConfirmSubmission` TINYINT( 1 ) NOT NULL DEFAULT '0'");
$db->query();
}
$db->setQuery("SELECT ComponentTypeFieldId FROM #__rsform_component_type_fields WHERE `ComponentTypeId` = 9 AND `FieldName`='EMAILATTACH'");
if (!$db->loadResult())
{
$db->setQuery("INSERT INTO `#__rsform_component_type_fields` SET ComponentTypeId = 9, `FieldName` = 'EMAILATTACH', `FieldType` = 'emailattach', `FieldValues` = '', `Ordering` = '102'");
$db->query();
$db->setQuery("DELETE FROM `#__rsform_component_type_fields` WHERE `ComponentTypeId` = 9 AND `FieldName` ='ATTACHUSEREMAIL'");
$db->query();
$db->setQuery("DELETE FROM `#__rsform_component_type_fields` WHERE `ComponentTypeId` = 9 AND `FieldName` ='ATTACHADMINEMAIL'");
$db->query();
}
$db->setQuery("SELECT `ComponentId` FROM `#__rsform_components` WHERE `ComponentTypeId` = 9 ");
$uploadcomponents = $db->loadObjectList();
if (!empty($uploadcomponents))
{
foreach ($uploadcomponents as $uploadcomponent)
{
$db->setQuery("SELECT `PropertyId`, `PropertyValue` FROM `#__rsform_properties` WHERE `ComponentId` = '".$uploadcomponent->ComponentId."' AND `PropertyName` = 'ATTACHADMINEMAIL' ");
$adminemail = $db->loadObject();
$db->setQuery("SELECT `PropertyId`, `PropertyValue` FROM `#__rsform_properties` WHERE `ComponentId` = '".$uploadcomponent->ComponentId."' AND `PropertyName` = 'ATTACHUSEREMAIL' ");
$useremail = $db->loadObject();
$updateemailattach = array();
if (!empty($useremail))
{
if (!empty($useremail->PropertyValue) && $useremail->PropertyValue == 'YES') $updateemailattach[] = 'useremail';
}
if (!empty($adminemail))
{
if (!empty($adminemail->PropertyValue) && $adminemail->PropertyValue == 'YES') $updateemailattach[] = 'adminemail';
}
$updateemailattach = !empty($updateemailattach) ? implode(',',$updateemailattach) : '';
if (!empty($updateemailattach))
{
$db->setQuery("INSERT INTO #__rsform_properties SET ComponentId = '".$uploadcomponent->ComponentId."' , PropertyName = 'EMAILATTACH', PropertyValue = '".$db->getEscaped($updateemailattach)."' ");
$db->query();
$db->setQuery("DELETE FROM #__rsform_properties WHERE PropertyId = '".$adminemail->PropertyId."'");
$db->query();
$db->setQuery("DELETE FROM #__rsform_properties WHERE PropertyId = '".$useremail->PropertyId."'");
$db->query();
}
}
}
$db->setQuery("SHOW COLUMNS FROM `#__rsform_mappings` WHERE `Field`='MappingTable'");
if ($db->loadObject())
{
$db->setQuery("SELECT * FROM #__rsform_mappings");
$mappings = $db->loadObjectList();
$mtables = array();
if (!empty($mappings))
{
foreach ($mappings as $mapping)
{
$db->setQuery("SELECT p.PropertyValue FROM #__rsform_properties p LEFT JOIN #__rsform_components c ON (p.ComponentId = c.ComponentId) WHERE c.ComponentId='".$mapping->ComponentId."' AND p.PropertyName='NAME' AND c.Published='1' ORDER BY c.Order");
$component = $db->loadResult();
$db->setQuery("SELECT FormId FROM #__rsform_components WHERE ComponentId = '".$mapping->ComponentId."'");
$formId = $db->loadResult();
if (!empty($component))
{
$object = new stdClass();
$object->column = $mapping->MappingColumn;
$object->component = '{'.$component.':value}';
$mtables[$mapping->MappingTable][$formId][] = $object;
}
}
}
$db->setQuery("DROP TABLE `#__rsform_mappings`");
$db->query();
$db->setQuery("CREATE TABLE IF NOT EXISTS `#__rsform_mappings` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`formId` int(11) NOT NULL,
`connection` tinyint(1) NOT NULL,
`host` varchar(255) NOT NULL,
`port` int(10) NOT NULL,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`database` varchar(255) NOT NULL,
`method` tinyint(1) NOT NULL,
`table` varchar(255) NOT NULL,
`data` text NOT NULL,
`wheredata` text NOT NULL,
`extra` text NOT NULL,
`andor` text NOT NULL,
`ordering` int(11) NOT NULL,
PRIMARY KEY (`id`)
);");
$db->query();
$data = array();
if (!empty($mtables))
{
foreach ($mtables as $table => $details)
{
if (!empty($details))
foreach ($details as $formId => $columns)
{
if (!empty($columns))
foreach ($columns as $column)
{
$data[$column->column] = $column->component;
}
if (!empty($data))
{
$data = serialize($data);
$db->setQuery("INSERT INTO `#__rsform_mappings` SET `formId` = '".$db->getEscaped($formId)."', `connection` = 0, `port` = '3306', `method` = 0, `table` = '".$db->getEscaped($table)."', `data` = '".$db->getEscaped($data)."' ");
$db->query();
}
unset($data);
}
}
}
}
// R41
$db->setQuery("SHOW COLUMNS FROM `#__rsform_forms` WHERE `Field`='AdditionalEmailsScript'");
if (!$db->loadResult())
{
$db->setQuery("ALTER TABLE `#__rsform_forms` ADD `AdditionalEmailsScript` TEXT NOT NULL AFTER `AdminEmailScript`");
$db->query();
}
// R42
$db->setQuery("SELECT * FROM #__rsform_component_type_fields WHERE `ComponentTypeId` = 41 AND `FieldName`='DISPLAYPROGRESS'");
if (!$db->loadResult())
{
$db->setQuery("INSERT INTO `#__rsform_component_type_fields` (`ComponentTypeFieldId`, `ComponentTypeId`, `FieldName`, `FieldType`, `FieldValues`, `Ordering`) VALUES (NULL, '41', 'DISPLAYPROGRESS', 'select', 'NO\r\nYES', '6'),(NULL, '41', 'DISPLAYPROGRESSMSG', 'textarea', '<div>\r\n <p><em>Page <strong>{page}</strong> of {total}</em></p>\r\n <div class=\"rsformProgressContainer\">\r\n <div class=\"rsformProgressBar\" style=\"width: {percent}%;\"></div>\r\n </div>\r\n</div>', '7'),(`ComponentTypeFieldId`, `ComponentTypeId`, `FieldName`, `FieldType`, `FieldValues`, `Ordering`),(NULL, '13', 'DISPLAYPROGRESS', 'select', 'NO\r\nYES', '8'),(NULL, '13', 'DISPLAYPROGRESSMSG', 'textarea', '<div>\r\n <p><em>Page <strong>{page}</strong> of {total}</em></p>\r\n <div class=\"rsformProgressContainer\">\r\n <div class=\"rsformProgressBar\" style=\"width: {percent}%;\"></div>\r\n </div>\r\n</div>', '8');");
$db->query();
$db->setQuery("SELECT ComponentId FROM #__rsform_components WHERE `ComponentTypeId`=41 OR `ComponentTypeId`=13");
$components = $db->loadResultArray();
foreach ($components as $componentId)
{
$db->setQuery("INSERT INTO #__rsform_properties SET `ComponentId`='".$componentId."', `PropertyName`='DISPLAYPROGRESS', `PropertyValue`='NO'");
$db->query();
$db->setQuery("INSERT INTO #__rsform_properties SET `ComponentId`='".$componentId."', `PropertyName`='DISPLAYPROGRESSMSG', `PropertyValue`='<div>\r\n <p><em>Page <strong>{page}</strong> of {total}</em></p>\r\n <div class=\"rsformProgressContainer\">\r\n <div class=\"rsformProgressBar\" style=\"width: {percent}%;\"></div>\r\n </div>\r\n</div>'");
$db->query();
}
}
?>
<div align="left" width="100%"><b>RSForm! Pro <?php echo _RSFORM_VERSION;?> Rev <?php echo _RSFORM_REVISION; ?> Installed</b></div>