136 lines
5.0 KiB
PHP
136 lines
5.0 KiB
PHP
<?php
|
|
/*+*******************************************************************************
|
|
* The contents of this file are subject to the vtiger CRM Public License Version 1.0
|
|
* ("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.
|
|
*
|
|
*********************************************************************************/
|
|
|
|
/**
|
|
* @author MAK
|
|
*/
|
|
|
|
require_once 'include/utils/utils.php';
|
|
|
|
//we have to use the current object (stored in PatchApply.php) to execute the queries
|
|
$adb = $_SESSION['adodb_current_object'];
|
|
$conn = $_SESSION['adodb_current_object'];
|
|
|
|
$migrationlog->debug("\n\nDB Changes from 5.2.0 RC to 5.2.0 -------- Starts \n\n");
|
|
|
|
require_once 'include/utils/CommonUtils.php';
|
|
global $adb;
|
|
$query=$adb->pquery("select * from vtiger_selectcolumn",array());
|
|
$numOfRows=$adb->num_rows($query);
|
|
if($numOfRows>0){
|
|
for($i=0;$i<$numOfRows;$i++){
|
|
$columnname=$adb->query_result($query,$i,'columnname');
|
|
preg_match('/&/', $columnname, $matches);
|
|
if(!empty($matches)){
|
|
$columnname1=str_replace('&', '&', $columnname);
|
|
$query1=$adb->pquery("update vtiger_selectcolumn set columnname=? where columnname = ? ",array($columnname1,$columnname));
|
|
}
|
|
}
|
|
}
|
|
$query2=$adb->pquery("select * from vtiger_reportsortcol",array());
|
|
$numOfRows=$adb->num_rows($query2);
|
|
if($numOfRows>0){
|
|
for($i=0;$i<$numOfRows;$i++){
|
|
$columnname=$adb->query_result($query2,$i,'columnname');
|
|
preg_match('/&/', $columnname, $matches);
|
|
if(!empty($matches)){
|
|
$columnname1=str_replace('&', '&', $columnname);
|
|
$query3=$adb->pquery("update vtiger_reportsortcol set columnname=? where columnname = ? ",array($columnname1,$columnname));
|
|
}
|
|
}
|
|
}
|
|
|
|
function vt520_updateCurrencyInfo() {
|
|
global $adb;
|
|
include('modules/Utilities/Currencies.php');
|
|
|
|
ExecuteQuery("DELETE FROM vtiger_currencies;");
|
|
ExecuteQuery('UPDATE vtiger_currencies_seq set id=1;');
|
|
foreach($currencies as $key=>$value){
|
|
ExecuteQuery("insert into vtiger_currencies values(".$adb->getUniqueID("vtiger_currencies").",'$key','".$value[0]."','".$value[1]."')");
|
|
}
|
|
$cur_result = $adb->query("SELECT * from vtiger_currency_info");
|
|
for($i=0;$i<$adb->num_rows($cur_result);$i++){
|
|
$cur_symbol = $adb->query_result($cur_result,$i,"currency_symbol");
|
|
$cur_code = $adb->query_result($cur_result,$i,"currency_code");
|
|
$cur_name = $adb->query_result($cur_result,$i,"currency_name");
|
|
$cur_id = $adb->query_result($cur_result,$i,"id");
|
|
$currency_exists = $adb->pquery("SELECT * from vtiger_currencies WHERE currency_code=?",array($cur_code));
|
|
if($adb->num_rows($currency_exists)>0){
|
|
$currency_name = $adb->query_result($currency_exists,0,"currency_name");
|
|
ExecuteQuery("UPDATE vtiger_currency_info SET vtiger_currency_info.currency_name = '$currency_name' WHERE id=$cur_id");
|
|
} else {
|
|
ExecuteQuery("insert into vtiger_currencies values(".$adb->getUniqueID("vtiger_currencies").",'$cur_name','$cur_code','$cur_symbol')");
|
|
}
|
|
}
|
|
}
|
|
|
|
vt520_updateCurrencyInfo();
|
|
|
|
function VT520GA_webserviceMigrate(){
|
|
require_once 'include/Webservices/Utils.php';
|
|
$customWebserviceDetails = array(
|
|
"name"=>"revise",
|
|
"include"=>"include/Webservices/Revise.php",
|
|
"handler"=>"vtws_revise",
|
|
"prelogin"=>0,
|
|
"type"=>"POST"
|
|
);
|
|
|
|
$customWebserviceParams = array(
|
|
array("name"=>'element',"type"=>'Encoded')
|
|
);
|
|
echo 'INITIALIZING WEBSERVICE...';
|
|
$operationId = vtws_addWebserviceOperation($customWebserviceDetails['name'],$customWebserviceDetails['include'],
|
|
$customWebserviceDetails['handler'],$customWebserviceDetails['type']);
|
|
if($operationId === null && $operationId > 0){
|
|
echo 'FAILED TO SETUP '.$customWebserviceDetails['name'].' WEBSERVICE';
|
|
die;
|
|
}
|
|
$sequence = 1;
|
|
foreach ($customWebserviceParams as $param) {
|
|
$status = vtws_addWebserviceOperationParam($operationId,$param['name'],$param['type'],$sequence++);
|
|
if($status === false){
|
|
echo 'FAILED TO SETUP '.$customWebserviceDetails['name'].' WEBSERVICE HALFWAY THOURGH';
|
|
die;
|
|
}
|
|
}
|
|
|
|
$moduleList = vtws_getModuleNameList();
|
|
foreach ($moduleList as $moduleName) {
|
|
vtws_addDefaultModuleTypeEntity($moduleName);
|
|
}
|
|
|
|
ExecuteQuery("delete from vtiger_ws_fieldtype where uitype=116;");
|
|
ExecuteQuery("update vtiger_field set uitype=117 where tabid=29 and fieldname='currency_id';");
|
|
}
|
|
|
|
VT520GA_webserviceMigrate();
|
|
|
|
ExecuteQuery("UPDATE vtiger_tab SET customized=1 WHERE name='ProjectTeam'");
|
|
|
|
function VT520GA_picklistMigrate(){
|
|
global $adb;
|
|
$columnList = $adb->getColumnNames('vtiger_invoicestatus');
|
|
//fix the typo, where invoice is spelled as inovice
|
|
if(in_array('inovicestatusid', $columnList)) {
|
|
$sql = 'alter table vtiger_invoicestatus change inovicestatusid invoicestatusid int(19)';
|
|
ExecuteQuery($sql);
|
|
}
|
|
}
|
|
|
|
VT520GA_picklistMigrate();
|
|
|
|
ExecuteQuery('DELETE FROM vtiger_cvstdfilter WHERE startdate is NULL AND enddate is NULL');
|
|
|
|
$migrationlog->debug("\n\nDB Changes from 5.2.0 RC to 5.2.0 -------- Ends \n\n");
|
|
|
|
?>
|