* 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: SalesPlatform Ltd * The Initial Developer of the Original Code is SalesPlatform Ltd. * All Rights Reserved. * If you have any questions or comments, please email: devel@salesplatform.ru ************************************************************************************/ if (!defined('VTIGER_UPGRADE')) { die('Invalid entry point'); } chdir(dirname(__FILE__) . '/../../../'); include_once 'modules/com_vtiger_workflow/VTTaskManager.inc'; include_once 'modules/com_vtiger_workflow/VTWorkflowManager.inc'; include_once 'include/utils/utils.php'; if (defined('VTIGER_UPGRADE')) { updateVtlibModule('Google', 'packages/vtiger/optional/Google.zip'); } if (defined('INSTALLATION_MODE')) { // Set of task to be taken care while specifically in installation mode. } // SalesPlatform.ru begin //Unlink unwanted resources $unWanted = array("modules/ModComments/language/en_us.lang.php", "modules/SMSNotifier/providers/StreamSMSru.php", "modules/SMSNotifier/providers/StreamTelecomRuUr.php", "modules/SMSNotifier/providers/streamsms/SPSTREAMSMS.Class.v2.1.php", "modules/SMSNotifier/providers/streamsms/STREAMSMS.Class.v2.1.php", "modules/SMSNotifier/providers/streamsms/STREAMSMSOld.Class.php"); for ($i = 0; $i <= count($unWanted); $i++) { if (file_exists($unWanted[$i])) { unlink($unWanted[$i]); } } // Ticket #2629 global $adb; $query = 'SELECT tabid FROM vtiger_tab where name = ?';
public static function installSelectedOptionalModules($selected_modules, $source_directory = '', $destination_directory = '') { require_once 'vtlib/Vtiger/Package.php'; require_once 'vtlib/Vtiger/Module.php'; require_once 'include/utils/utils.php'; $selected_modules = explode(":", $selected_modules); $languagePacks = array(); if ($handle = opendir('packages/vtiger/optional')) { while (false !== ($file = readdir($handle))) { $filename_arr = explode(".", $file); if ($filename_arr[count($filename_arr) - 1] != 'zip') { continue; } $packagename = $filename_arr[0]; $packagepath = "packages/vtiger/optional/{$file}"; $package = new Vtiger_Package(); $module = $package->getModuleNameFromZip($packagepath); if (!empty($packagename) && in_array($module, $selected_modules)) { if ($package->isLanguageType($packagepath)) { $languagePacks[$module] = $packagepath; continue; } if ($module != null) { if ($package->isModuleBundle()) { $unzip = new Vtiger_Unzip($packagepath); $unzip->unzipAllEx($package->getTemporaryFilePath()); $moduleInfoList = $package->getAvailableModuleInfoFromModuleBundle(); foreach ($moduleInfoList as $moduleInfo) { $moduleInfo = (array) $moduleInfo; $packagepath = $package->getTemporaryFilePath($moduleInfo['filepath']); $subModule = new Vtiger_Package(); $subModuleName = $subModule->getModuleNameFromZip($packagepath); $moduleInstance = Vtiger_Module::getInstance($subModuleName); if ($moduleInstance) { updateVtlibModule($subModuleName, $packagepath); } else { installVtlibModule($subModuleName, $packagepath); } } } else { $moduleInstance = Vtiger_Module::getInstance($module); if ($moduleInstance) { updateVtlibModule($module, $packagepath); } else { installVtlibModule($module, $packagepath); } } } } } closedir($handle); } foreach ($languagePacks as $module => $packagepath) { installVtlibModule($module, $packagepath); continue; } }
updateVtlibModule('WSAPP', 'packages/vtiger/mandatory/WSAPP.zip'); updateVtlibModule('Arabic_ar_ae', 'packages/vtiger/optional/Arabic_ar_ae.zip'); updateVtlibModule('Assets', 'packages/vtiger/optional/Assets.zip'); updateVtlibModule('EmailTemplates', 'packages/vtiger/optional/EmailTemplates.zip'); updateVtlibModule('Google', 'packages/vtiger/optional/Google.zip'); updateVtlibModule('ModComments', 'packages/vtiger/optional/ModComments.zip'); updateVtlibModule('Projects', 'packages/vtiger/optional/Projects.zip'); updateVtlibModule('RecycleBin', 'packages/vtiger/optional/RecycleBin.zip'); updateVtlibModule('SMSNotifier', "packages/vtiger/optional/SMSNotifier.zip"); updateVtlibModule("Sweden_sv_se", "packages/vtiger/optional/Sweden_sv_se.zip"); updateVtlibModule("Webforms", "packages/vtiger/optional/Webforms.zip"); installVtlibModule('ExtensionStore', 'packages/vtiger/marketplace/ExtensionStore.zip'); // SalesPlatfotm.ru begin Update SP modules updateVtlibModule('Act', 'packages/vtiger/optional/Act.zip'); updateVtlibModule('Consignment', "packages/vtiger/optional/Consignment.zip"); updateVtlibModule('SPPayments', "packages/vtiger/optional/SPPayments.zip"); // SalesPlatform.ru end } if (defined('INSTALLATION_MODE')) { // Set of task to be taken care while specifically in installation mode. } global $adb; //Unlinking unwanted resources when migrating to 6.1.0 $unWanted = array("modules/Import/resources/Import.js", "modules/Webmails/Webmails.js", "modules/Webforms/Webforms.js", "modules/Vendors/Vendors.js", "modules/Users/Users.js", "modules/Tooltip/TooltipHeaderScript.js", "modules/Tooltip/Tooltip.js", "modules/Tooltip/TooltipSettings.js", "modules/Settings/Settings.js", "modules/Services/multifile.js", "modules/Services/Services.js", "modules/Services/Servicesslide.js", "modules/ServiceContracts/ServiceContracts.js", "modules/SalesOrder/SalesOrder.js", "modules/Rss/Rss.js", "modules/Reports/Reports.js", "modules/RecycleBin/RecycleBin.js", "modules/Quotes/Quotes.js", "modules/PurchaseOrder/PurchaseOrder.js", "modules/ProjectTask/ProjectTask.js", "modules/ProjectMilestone/ProjectMilestone.js", "modules/Project/Project.js", "modules/Products/Productsslide.js", "modules/Products/Products.js", "modules/Products/multifile.js", "modules/PriceBooks/PriceBooks.js", "modules/Potentials/Potentials.js", "modules/Portal/Portal.js", "modules/Picklist/DependencyPicklist.js", "modules/PBXManager/PBXManager.js", "modules/MailManager/MailManager.js", "modules/Leads/Leads.js", "modules/Invoice/Invoice.js", "modules/Integration/Integration.js", "modules/Home/Homestuff.js", "modules/HelpDesk/HelpDesk.js", "modules/Faq/Faq.js", "modules/Emails/Emails.js", "modules/Emails/GmailBookmarklet.js", "modules/Emails/GmailBookmarkletTrigger.js", "modules/CustomerPortal/CustomerPortal.js", "modules/CronTasks/CronTasks.js", "modules/Contacts/Contacts.js", "modules/ConfigurationEditor/ConfigEditor.js", "modules/Documents/Documents.js", "modules/CustomView/CustomView.js", "modules/ModComments/ModComments.js", "modules/ModComments/ModCommentsCommon.js", "modules/ModTracker/ModTracker.js", "modules/ModTracker/ModTrackerCommon.js", "modules/com_vtiger_workflow/resources/functional.js", "modules/com_vtiger_workflow/resources/parallelexecuter.js", "modules/com_vtiger_workflow/resources/editworkflowscript.js", "modules/com_vtiger_workflow/resources/createtodotaskscript.js", "modules/com_vtiger_workflow/resources/fieldexpressionpopup.js", "modules/com_vtiger_workflow/resources/workflowlistscript.js", "modules/com_vtiger_workflow/resources/fieldvalidator.js", "modules/com_vtiger_workflow/resources/updatefieldstaskscript.js", "modules/com_vtiger_workflow/resources/jquery-1.2.6.js", "modules/com_vtiger_workflow/resources/json2.js", "modules/com_vtiger_workflow/resources/vtigerwebservices.js", "modules/com_vtiger_workflow/resources/jquery.timepicker.js", "modules/com_vtiger_workflow/resources/createentitytaskscript.js", "modules/com_vtiger_workflow/resources/edittaskscript.js", "modules/com_vtiger_workflow/resources/createeventtaskscript.js", "modules/com_vtiger_workflow/resources/emailtaskscript.js", "modules/FieldFormulas/editexpressionscript.js", "modules/FieldFormulas/jquery-1.2.6.js", "modules/FieldFormulas/json2.js", "modules/FieldFormulas/vtigerwebservices.js", "modules/FieldFormulas/functional.js", "modules/SMSNotifier/providers/SMSProvider.php"); for ($i = 0; $i <= count($unWanted); $i++) { if (file_exists($unWanted[$i])) { unlink($unWanted[$i]); } } $result = $adb->pquery("show columns from com_vtiger_workflows like ?", array('schtypeid')); if (!$adb->num_rows($result)) {
updateVtlibModule('MailManager', 'packages/vtiger/mandatory/MailManager.zip'); updateVtlibModule('Mobile', 'packages/vtiger/mandatory/Mobile.zip'); updateVtlibModule('ModTracker', 'packages/vtiger/mandatory/ModTracker.zip'); updateVtlibModule('ServiceContracts', 'packages/vtiger/mandatory/ServiceContracts.zip'); updateVtlibModule('Services', 'packages/vtiger/mandatory/Services.zip'); updateVtlibModule('WSAPP', 'packages/vtiger/mandatory/WSAPP.zip'); updateVtlibModule('Arabic_ar_ae', 'packages/vtiger/optional/Arabic_ar_ae.zip'); updateVtlibModule('Assets', 'packages/vtiger/optional/Assets.zip'); updateVtlibModule('EmailTemplates', 'packages/vtiger/optional/EmailTemplates.zip'); updateVtlibModule('Google', 'packages/vtiger/optional/Google.zip'); updateVtlibModule('ModComments', 'packages/vtiger/optional/ModComments.zip'); updateVtlibModule('Projects', 'packages/vtiger/optional/Projects.zip'); updateVtlibModule('RecycleBin', 'packages/vtiger/optional/RecycleBin.zip'); updateVtlibModule('SMSNotifier', "packages/vtiger/optional/SMSNotifier.zip"); updateVtlibModule("Sweden_sv_se", "packages/vtiger/optional/Sweden_sv_se.zip"); updateVtlibModule("Webforms", "packages/vtiger/optional/Webforms.zip"); installVtlibModule('ExtensionStore', 'packages/vtiger/marketplace/ExtensionStore.zip'); } if (defined('INSTALLATION_MODE')) { // Set of task to be taken care while specifically in installation mode. } global $adb; //Unlinking unwanted resources when migrating to 6.1.0 $unWanted = array("modules/Import/resources/Import.js", "modules/Webmails/Webmails.js", "modules/Webforms/Webforms.js", "modules/Vendors/Vendors.js", "modules/Users/Users.js", "modules/Tooltip/TooltipHeaderScript.js", "modules/Tooltip/Tooltip.js", "modules/Tooltip/TooltipSettings.js", "modules/Settings/Settings.js", "modules/Services/multifile.js", "modules/Services/Services.js", "modules/Services/Servicesslide.js", "modules/ServiceContracts/ServiceContracts.js", "modules/SalesOrder/SalesOrder.js", "modules/Rss/Rss.js", "modules/Reports/Reports.js", "modules/RecycleBin/RecycleBin.js", "modules/Quotes/Quotes.js", "modules/PurchaseOrder/PurchaseOrder.js", "modules/ProjectTask/ProjectTask.js", "modules/ProjectMilestone/ProjectMilestone.js", "modules/Project/Project.js", "modules/Products/Productsslide.js", "modules/Products/Products.js", "modules/Products/multifile.js", "modules/PriceBooks/PriceBooks.js", "modules/Potentials/Potentials.js", "modules/Portal/Portal.js", "modules/Picklist/DependencyPicklist.js", "modules/PBXManager/PBXManager.js", "modules/MailManager/MailManager.js", "modules/Leads/Leads.js", "modules/Invoice/Invoice.js", "modules/Integration/Integration.js", "modules/Home/Homestuff.js", "modules/HelpDesk/HelpDesk.js", "modules/Faq/Faq.js", "modules/Emails/Emails.js", "modules/Emails/GmailBookmarklet.js", "modules/Emails/GmailBookmarkletTrigger.js", "modules/CustomerPortal/CustomerPortal.js", "modules/CronTasks/CronTasks.js", "modules/Contacts/Contacts.js", "modules/ConfigurationEditor/ConfigEditor.js", "modules/Documents/Documents.js", "modules/CustomView/CustomView.js", "modules/ModComments/ModComments.js", "modules/ModComments/ModCommentsCommon.js", "modules/ModTracker/ModTracker.js", "modules/ModTracker/ModTrackerCommon.js", "modules/com_vtiger_workflow/resources/functional.js", "modules/com_vtiger_workflow/resources/parallelexecuter.js", "modules/com_vtiger_workflow/resources/editworkflowscript.js", "modules/com_vtiger_workflow/resources/createtodotaskscript.js", "modules/com_vtiger_workflow/resources/fieldexpressionpopup.js", "modules/com_vtiger_workflow/resources/workflowlistscript.js", "modules/com_vtiger_workflow/resources/fieldvalidator.js", "modules/com_vtiger_workflow/resources/updatefieldstaskscript.js", "modules/com_vtiger_workflow/resources/jquery-1.2.6.js", "modules/com_vtiger_workflow/resources/json2.js", "modules/com_vtiger_workflow/resources/vtigerwebservices.js", "modules/com_vtiger_workflow/resources/jquery.timepicker.js", "modules/com_vtiger_workflow/resources/createentitytaskscript.js", "modules/com_vtiger_workflow/resources/edittaskscript.js", "modules/com_vtiger_workflow/resources/createeventtaskscript.js", "modules/com_vtiger_workflow/resources/emailtaskscript.js", "modules/FieldFormulas/editexpressionscript.js", "modules/FieldFormulas/jquery-1.2.6.js", "modules/FieldFormulas/json2.js", "modules/FieldFormulas/vtigerwebservices.js", "modules/FieldFormulas/functional.js"); for ($i = 0; $i <= count($unWanted); $i++) { if (file_exists($unWanted[$i])) { unlink($unWanted[$i]); } } $result = $adb->pquery("show columns from com_vtiger_workflows like ?", array('schtypeid')); if (!$adb->num_rows($result)) {
<?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. *********************************************************************************/ require_once 'include/utils/utils.php'; //5.2.1 to 5.3.0RC database changes $adb = $_SESSION['adodb_current_object']; $conn = $_SESSION['adodb_current_object']; $migrationlog->debug("\n\nDB Changes from 5.3.0RC to 5.3.0 -------- Starts \n\n"); ExecuteQuery("UPDATE vtiger_field SET quickcreate=0 WHERE fieldname='time_start' AND tabid=" . getTabid('Calendar')); ExecuteQuery("ALTER TABLE vtiger_links ADD COLUMN handler_path VARCHAR(128) DEFAULT null"); ExecuteQuery("ALTER TABLE vtiger_links ADD COLUMN handler_class VARCHAR(32) DEFAULT null"); ExecuteQuery("ALTER TABLE vtiger_links ADD COLUMN handler VARCHAR(32) DEFAULT null"); ExecuteQuery("UPDATE vtiger_organizationdetails SET logoname='vtiger-crm-logo.gif' WHERE logoname='vtiger-crm-logo.jpg'"); ExecuteQuery("UPDATE vtiger_organizationdetails SET organizationname='vtiger Systems Pvt Ltd' WHERE organizationname='vtiger'"); updateVtlibModule('MailManager', "packages/vtiger/mandatory/MailManager.zip"); updateVtlibModule('Mobile', "packages/vtiger/mandatory/Mobile.zip"); updateVtlibModule('ConfigEditor', "packages/vtiger/mandatory/ConfigEditor.zip"); updateVtlibModule('ServiceContracts', "packages/vtiger/mandatory/ServiceContracts.zip"); $migrationlog->debug("\n\nDB Changes from 5.3.0RC to 5.3.0 -------- Ends \n\n");
$currencyBlock->addField($currencyThousandSeparator); $currencyThousandSeparator->setPicklistValues(array(".", ",", "'", " ", "\$")); $currencySymbolPlacement = new Vtiger_Field(); $currencySymbolPlacement->name = 'currency_symbol_placement'; $currencySymbolPlacement->label = 'Symbol Placement'; $currencySymbolPlacement->table = 'vtiger_users'; $currencySymbolPlacement->column = 'currency_symbol_placement'; $currencySymbolPlacement->columntype = 'varchar(20)'; $currencySymbolPlacement->typeofdata = 'V~O'; $currencySymbolPlacement->uitype = 16; $currencySymbolPlacement->defaultvalue = ','; $currencySymbolPlacement->sequence = 5; $currencySymbolPlacement->helpinfo = "<b>Currency - Symbol Placement</b> <br/><br/>" . "Symbol Placement allows you to configure the position of the " . "currency symbol with respect to the currency value.<br/>" . "<b>Eg:</b> <br/>" . "\$1.0 => \$123,456,789.50 <br/>" . "1.0\$ => 123,456,789.50\$ <br/>"; $currencyBlock->addField($currencySymbolPlacement); $currencySymbolPlacement->setPicklistValues(array("\$1.0", "1.0\$")); // Update the block and the sequence for Currency field of Users module - Push it to Currency Configuration block ExecuteQuery("UPDATE vtiger_field SET block={$currencyBlock->id}, sequence=1 WHERE tablename='vtiger_users' AND fieldname='currency_id'"); ExecuteQuery("UPDATE vtiger_users SET currency_grouping_pattern='123,456,789',\n\t\t\t\t\t\t\t\t\t\tcurrency_decimal_separator='.',\n\t\t\t\t\t\t\t\t\t\tcurrency_grouping_separator=',',\n\t\t\t\t\t\t\t\t\t\tcurrency_symbol_placement='\$1.0'"); ExecuteQuery("UPDATE vtiger_field SET uitype='71' WHERE uitype=1 AND tablename='vtiger_campaign'\n\t\t\t\t\t\t\tAND fieldname IN ('expectedrevenue', 'actualcost', 'expectedroi', 'actualroi', 'budgetcost')"); ExecuteQuery("UPDATE vtiger_field SET uitype='72' WHERE uitype IN ('1','71')\n\t\t\t\t\tAND fieldname IN ('unit_price', 'hdnGrandTotal', 'hdnSubTotal', 'txtAdjustment', 'hdnDiscountAmount', 'hdnS_H_Amount')"); $sql = "INSERT INTO vtiger_ws_fieldtype(uitype,fieldtype) VALUES ('71', 'currency')"; ExecuteQuery($sql); $sql = "INSERT INTO vtiger_ws_fieldtype(uitype,fieldtype) VALUES ('72', 'currency')"; ExecuteQuery($sql); installVtlibModule('ConfigEditor', "packages/vtiger/mandatory/ConfigEditor.zip"); installVtlibModule('WSAPP', "packages/vtiger/mandatory/WSAPP.zip"); updateVtlibModule('Mobile', "packages/vtiger/mandatory/Mobile.zip"); updateVtlibModule('Services', 'packages/vtiger/mandatory/Services.zip'); updateVtlibModule('ServiceContracts', 'packages/vtiger/mandatory/ServiceContracts.zip'); updateVtlibModule('PBXManager', 'packages/vtiger/mandatory/PBXManager.zip'); $migrationlog->debug("\n\nDB Changes from 5.2.1 to 5.3.0RC -------- Ends \n\n");
updateVtlibModule('ModComments', "packages/vtiger/optional/ModComments.zip"); updateVtlibModule('Projects', "packages/vtiger/optional/Projects.zip"); updateVtlibModule('RecycleBin', 'packages/vtiger/optional/RecycleBin.zip'); updateVtlibModule('SMSNotifier', "packages/vtiger/optional/SMSNotifier.zip"); updateVtlibModule("Webforms", "packages/vtiger/optional/Webforms.zip"); installVtlibModule('Google', 'packages/vtiger/optional/Google.zip'); installVtlibModule('EmailTemplates', 'packages/vtiger/optional/EmailTemplates.zip'); // updated language packs. updateVtlibModule('PT Brasil', 'packages/vtiger/optional/BrazilianLanguagePack_bz_bz.zip'); updateVtlibModule('British English', 'packages/vtiger/optional/BritishLanguagePack_br_br.zip'); updateVtlibModule('Dutch', 'packages/vtiger/optional/Dutch.zip'); updateVtlibModule('Deutsch', 'packages/vtiger/optional/Deutsch.zip'); updateVtlibModule('French', 'packages/vtiger/optional/French.zip'); updateVtlibModule('Hungarian', 'packages/vtiger/optional/Hungarian.zip'); updateVtlibModule('Mexican Spanish', 'packages/vtiger/optional/MexicanSpanishLanguagePack_es_mx.zip'); updateVtlibModule('Spanish', 'packages/vtiger/optional/Spanish.zip'); installVtlibModule('Italian', 'packages/vtiger/optional/ItalianLanguagePack_it_it.zip'); installVtlibModule('RomanianLanguagePack_rm_rm', 'packages/vtiger/optional/RomanianLanguagePack_rm_rm.zip'); installVtlibModule('Turkce', 'packages/vtiger/optional/TurkishLanguagePack_tr_tr.zip'); installVtlibModule('Russian', 'packages/vtiger/optional/Russian.zip'); installVtlibModule('Polish', 'packages/vtiger/optional/PolishLanguagePack_pl_pl.zip'); installVtlibModule('Russian', 'packages/vtiger/optional/Russian.zip'); } if (!defined('INSTALLATION_MODE')) { Migration_Index_View::ExecuteQuery('ALTER TABLE com_vtiger_workflows ADD COLUMN filtersavedinnew int(1)', array()); } Migration_Index_View::ExecuteQuery('UPDATE com_vtiger_workflows SET filtersavedinnew = 5', array()); // Core workflow schema dependecy introduced in 6.1.0 $adb = PearDatabase::getInstance(); $result = $adb->pquery("show columns from com_vtiger_workflows like ?", array('schtypeid')); if (!$adb->num_rows($result)) {
<?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. *********************************************************************************/ require_once 'include/utils/utils.php'; //5.2.1 to 5.3.0RC database changes $adb = $_SESSION['adodb_current_object']; $conn = $_SESSION['adodb_current_object']; global $migrationlog; $migrationlog->debug("\n\nDB Changes from 5.4.0RC to 5.4.0 -------- Starts \n\n"); updateVtlibModule('MailManager', "packages/vtiger/mandatory/MailManager.zip"); $migrationlog->debug("\n\nDB Changes from 5.4.0RC to 5.4.0 -------- Ends \n\n");
/** * Function installs all the available modules */ public static function installModules() { require_once 'vtlib/Vtiger/Package.php'; require_once 'vtlib/Vtiger/Module.php'; require_once 'include/utils/utils.php'; $moduleFolders = array('packages/vtiger/mandatory', 'packages/vtiger/optional'); foreach ($moduleFolders as $moduleFolder) { if ($handle = opendir($moduleFolder)) { while (false !== ($file = readdir($handle))) { $packageNameParts = explode(".", $file); if ($packageNameParts[count($packageNameParts) - 1] != 'zip') { continue; } array_pop($packageNameParts); $packageName = implode("", $packageNameParts); if (!empty($packageName)) { $packagepath = "{$moduleFolder}/{$file}"; $package = new Vtiger_Package(); $module = $package->getModuleNameFromZip($packagepath); if ($module != null) { $moduleInstance = Vtiger_Module::getInstance($module); if ($moduleInstance) { updateVtlibModule($module, $packagepath); } else { installVtlibModule($module, $packagepath); } } } } closedir($handle); } } }