221 lines
9.6 KiB
PHP
221 lines
9.6 KiB
PHP
<?php
|
|
/* +**********************************************************************************
|
|
* The contents of this file are subject to the vtiger CRM Public License Version 1.1
|
|
* ("License"); You may not use this file except in compliance with the License
|
|
* The Original Code is: vtiger CRM Open Source
|
|
* The Initial Developer of the Original Code is vtiger.
|
|
* Portions created by vtiger are Copyright (C) vtiger.
|
|
* All Rights Reserved.
|
|
* ***********************************************************************************/
|
|
|
|
chdir (dirname(__FILE__) . '/..');
|
|
include_once 'vtigerversion.php';
|
|
include_once 'data/CRMEntity.php';
|
|
include_once 'includes/main/WebUI.php';
|
|
|
|
$errorMessage = $_REQUEST['error'];
|
|
if (!$errorMessage) {
|
|
/* 7.x module compatability check when coming from earlier version */
|
|
if (version_compare($vtiger_current_version, '7.0.0') < 0) {
|
|
/* NOTE: Add list-of modules that you own / sure to upgrade later */
|
|
$skipCheckForModules = array();
|
|
|
|
$extensionStoreInstance = Settings_ExtensionStore_Extension_Model::getInstance();
|
|
$vtigerStandardModules = array('Accounts', 'Assets', 'Calendar', 'Campaigns', 'Contacts', 'CustomerPortal',
|
|
'Dashboard', 'Emails', 'EmailTemplates', 'Events', 'ExtensionStore',
|
|
'Faq', 'Google', 'HelpDesk', 'Home', 'Import', 'Invoice', 'Leads',
|
|
'MailManager', 'Mobile', 'ModComments', 'ModTracker',
|
|
'PBXManager', 'Portal', 'Potentials', 'PriceBooks', 'Products', 'Project', 'ProjectMilestone',
|
|
'ProjectTask', 'PurchaseOrder', 'Quotes', 'RecycleBin', 'Reports', 'Rss', 'SalesOrder',
|
|
'ServiceContracts', 'Services', 'SMSNotifier', 'Users', 'Vendors',
|
|
'Webforms', 'Webmails', 'WSAPP');
|
|
|
|
$skipCheckForModules = array_merge($skipCheckForModules, $vtigerStandardModules);
|
|
|
|
$nonPortedExtns = array();
|
|
$moduleModelsList = array();
|
|
$db = PearDatabase::getInstance();
|
|
$result = $db->pquery('SELECT name FROM vtiger_tab WHERE isentitytype != ? AND presence != ? AND trim(name) NOT IN ('.generateQuestionMarks($skipCheckForModules).')', array(1, 1, $skipCheckForModules));
|
|
if ($db->num_rows($result)) {
|
|
$moduleModelsList = $extensionStoreInstance->getListings();
|
|
}
|
|
|
|
$moduleModelsListByName = array();
|
|
$moduleModelsListByLabel = array();
|
|
foreach ($moduleModelsList as $moduleId => $moduleModel) {
|
|
if ($moduleModel->get('name') != $moduleModel->get('label')) {
|
|
$moduleModelsListByName[$moduleModel->get('name')] = $moduleModel;
|
|
} else {
|
|
$moduleModelsListByLabel[$moduleModel->get('label')] = $moduleModel;
|
|
}
|
|
}
|
|
|
|
if ($moduleModelsList) {
|
|
while($row = $db->fetch_row($result)) {
|
|
$moduleName = $row['name'];//label
|
|
if ($moduleName) {
|
|
unset($moduleModel);
|
|
if (array_key_exists($moduleName, $moduleModelsListByName)) {
|
|
$moduleModel = $moduleModelsListByName[$moduleName];
|
|
} else if (array_key_exists($moduleName, $moduleModelsListByLabel)) {
|
|
$moduleModel = $moduleModelsListByLabel[$moduleName];
|
|
}
|
|
|
|
if ($moduleModel) {
|
|
$vtigerVersion = $moduleModel->get('vtigerVersion');
|
|
$vtigerMaxVersion = $moduleModel->get('vtigerMaxVersion');
|
|
if (($vtigerVersion && strpos($vtigerVersion, '7.') === false)
|
|
&& ($vtigerMaxVersion && strpos($vtigerMaxVersion, '7.') === false)) {
|
|
$nonPortedExtns[] = $moduleName;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($nonPortedExtns) {
|
|
$portingMessage = 'Following custom modules are not compatible with Vtiger 7. Please disable these modules to proceed.';
|
|
foreach ($nonPortedExtns as $moduleName) {
|
|
$portingMessage .= "<li>$moduleName</li>";
|
|
}
|
|
$portingMessage .= '</ul>';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
?>
|
|
<!doctype>
|
|
<html>
|
|
<head>
|
|
<title>Vtiger CRM Setup</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<script type="text/javascript" src="resources/js/jquery-min.js"></script>
|
|
<link href="resources/todc/css/bootstrap.min.css" rel="stylesheet">
|
|
<link href="resources/todc/css/todc-bootstrap.min.css" rel="stylesheet">
|
|
<link href="resources/css/mkCheckbox.css" rel="stylesheet">
|
|
<link href="resources/css/style.css" rel="stylesheet">
|
|
</head>
|
|
<body style="font-size: 14px !important;">
|
|
<div class="container-fluid page-container">
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<div class="logo">
|
|
<img src="resources/images/vt1.png" alt="Vtiger Logo"/>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6">
|
|
<div class="head pull-right">
|
|
<h3>Migration Wizard</h3>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row main-container">
|
|
<div class="col-lg-12 inner-container">
|
|
<div class="row">
|
|
<div class="col-lg-10">
|
|
<h4 class="">Welcome</h4>
|
|
</div>
|
|
<div class="col-lg-2">
|
|
<a href="https://wiki.vtiger.com/vtiger7/" target="_blank" class="pull-right">
|
|
<img src="resources/images/help40.png" alt="Help-Icon"/>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<hr>
|
|
<div class="row">
|
|
<div class="col-lg-4 welcome-image">
|
|
<img src="resources/images/migration_screen.png" alt="Vtiger Logo" style="width: 100%; margin-left: 15px;"/>
|
|
</div>
|
|
<?php
|
|
$currentVersion = explode('.', $vtiger_current_version);
|
|
if ($portingMessage) { ?>
|
|
<div class="col-lg-1"></div>
|
|
<div class="col-lg-7">
|
|
<h3><font color="red">WARNING : Cannot continue with Migration</font></h3><br>
|
|
<p><?php echo $portingMessage;?></p>
|
|
</div>
|
|
</div>
|
|
<div class="button-container col-lg-12">
|
|
<div class="pull-right">
|
|
<form action="../index.php?module=Migration&action=DisableModules&mode=fromMig" method="POST">
|
|
<input type="hidden" name="modulesList" <?php echo 'value="'.Vtiger_Util_Helper::toSafeHTML(Zend_JSON::encode($nonPortedExtns)).'"'; ?> />
|
|
<input type="submit" class="btn btn-warning" value="Disable modules & Proceed"/>
|
|
<input type="button" onclick="window.location.href='../index.php'" class="btn btn-default" value="Close"/>
|
|
</form>
|
|
</div>
|
|
<?php } else if($currentVersion[0] >= 6 && $currentVersion[1] >= 0) { ?>
|
|
<div class="col-lg-8" style="padding-left: 30px;">
|
|
<h3> Welcome to Vtiger Migration</h3>
|
|
<?php if(isset($errorMessage)) {
|
|
echo '<span><font color="red"><b>'.filter_var($errorMessage, FILTER_SANITIZE_STRING).'</b></font></span><br><br>';
|
|
} ?>
|
|
<p>We have detected that you have <strong>Vtiger <?php echo $vtiger_current_version ?></strong> installation.<br><br></p>
|
|
<p>
|
|
<strong>Warning: </strong>
|
|
Please note that it is not possible to revert back to <?php echo $vtiger_current_version ?> after the upgrade to vtiger 7 <br>
|
|
So, it is important to take a backup of the <?php echo $vtiger_current_version ?> installation, including the source files and database.
|
|
</p><br>
|
|
<form action="../index.php?module=Migration&action=Extract&mode=fromMig" method="POST">
|
|
<div><input type="checkbox" id="checkBox1" name="checkBox1"/><div class="chkbox"></div> I have taken the backup of database <a href="http://community.vtiger.com/help/vtigercrm/administrators/backup.html" target="_blank" >(how to?)</a></div><br>
|
|
<div><input type="checkbox" id="checkBox2" name="checkBox2"/><div class="chkbox"></div> I have taken the backup of source folder <a href="http://community.vtiger.com/help/vtigercrm/administrators/backup.html" target="_blank" >(how to?)</a></div><br>
|
|
<br>
|
|
<div>
|
|
<span id="error"></span>
|
|
User Name <span class="no"> </span>
|
|
<input type="text" value="" name="username" id="username" />
|
|
Password <span class="no"> </span>
|
|
<input type="password" value="" name="password" id="password" />
|
|
</div>
|
|
<br><br><br>
|
|
<div class="button-container">
|
|
<input type="submit" class="btn btn-primary" id="startMigration" name="startMigration" value="Start Migration" />
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<?php } else if($currentVersion[0] < 6) { ?>
|
|
<div class="col-lg-1"></div>
|
|
<div class="col-lg-7">
|
|
<h3><font color="red">WARNING : Cannot continue with Migration</font></h3><br>
|
|
<p>We detected that this installation is running <strong>Vtiger CRM</strong>
|
|
<?php
|
|
if($vtiger_current_version < 6 ) {
|
|
echo '<b>'.$vtiger_current_version.'</b>';
|
|
}
|
|
?>.
|
|
Please upgrade to <strong>5.4.0</strong> first before continuing with this wizard.
|
|
</p>
|
|
</div>
|
|
<div class="button-container col-lg-12">
|
|
<input type="button" onclick="window.location.href='index.php'" class="btn btn-primary pull-right" value="Finish"/>
|
|
<?php } else { ?>
|
|
<div class="col-lg-1"></div>
|
|
<div class="col-lg-7">
|
|
<h3><font color="red">WARNING : Cannot continue with Migration</font></h3>
|
|
<br>
|
|
<p>
|
|
We detected that this source is upgraded latest version.
|
|
</p>
|
|
</div>
|
|
<div class="button-container col-lg-12">
|
|
<input type="button" onclick="window.location.href='index.php'" class="btn btn-primary pull-right" value="Finish"/>
|
|
<?php } ?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script>
|
|
$(document).ready(function(){
|
|
$('input[name="startMigration"]').click(function(){
|
|
if($("#checkBox1").is(':checked') == false || $("#checkBox2").is(':checked') == false){
|
|
alert('Before starting migration, please take your database and source backup');
|
|
return false;
|
|
}
|
|
if($('#username').val() == '' || $('#password').val() == ''){
|
|
alert('Please enter Admin credentials to start Migration');
|
|
return false;
|
|
}
|
|
return true;
|
|
});
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|