function applyChange() { if ($this->hasError()) { $this->sendError(); } if ($this->isApplied()) { $this->sendMsg('Changeset ' . get_class($this) . ' already applied!'); } else { $delfile = array('cron/class.phpmailer.php', 'cron/class.smtp.php', 'cron/language/phpmailer.lang-en.php', 'cron/sendreminder.sh', 'modules/Calendar/SendReminder.bat', 'SendReminder.php', 'install/SelectOptionalModules.php', 'install/buildModules.php', 'modules/Emails/language/phpmailer.lang-de_de.php', 'modules/Emails/language/phpmailer.lang-en_gb.php', 'modules/Emails/language/phpmailer.lang-en_us.php', 'modules/Emails/language/phpmailer.lang-es_es.php', 'modules/Emails/language/phpmailer.lang-es_mx.php', 'modules/Emails/language/phpmailer.lang-fr_fr.php', 'modules/Emails/language/phpmailer.lang-hu_hu.php', 'modules/Emails/language/phpmailer.lang-nl_nl.php', 'modules/Emails/language/phpmailer.lang-pt_br.php', 'modules/Emails/language/phpmailer.lang-zh_cn.php', 'include/js/hu_hu.lang.js.bak', 'include/language/nl_nl.lang.php.bak', 'modules/Home/language/nl_nl.lang.php.bak', 'modules/Mobile/api/ws/models/alerts/Projects.php~', 'modules/Mobile/api/ws/models/alerts/ProjectTasksOfMine.php~', 'modules/imports/Excel/empty', 'upgrade2coreBOS.php', 'installupdater.php', 'vtlib/ModuleDir/5.0.4/CallRelatedList.php', 'vtlib/ModuleDir/5.0.4/CustomView.php', 'vtlib/ModuleDir/5.0.4/Delete.php', 'vtlib/ModuleDir/5.0.4/DetailViewAjax.php', 'vtlib/ModuleDir/5.0.4/DetailView.php', 'vtlib/ModuleDir/5.0.4/EditView.php', 'vtlib/ModuleDir/5.0.4/ExportRecords.php', 'vtlib/ModuleDir/5.0.4/Import.php', 'vtlib/ModuleDir/5.0.4/index.php', 'vtlib/ModuleDir/5.0.4/language/en_us.lang.php', 'vtlib/ModuleDir/5.0.4/ListView.php', 'vtlib/ModuleDir/5.0.4/ModuleFileAjax.php', 'vtlib/ModuleDir/5.0.4/ModuleFile.js', 'vtlib/ModuleDir/5.0.4/ModuleFile.php', 'vtlib/ModuleDir/5.0.4/Popup.php', 'vtlib/ModuleDir/5.0.4/QuickCreate.php', 'vtlib/ModuleDir/5.0.4/Save.php', 'vtlib/ModuleDir/5.0.4/TagCloud.php', 'vtlib/ModuleDir/5.0.4/updateRelations.php'); foreach ($delfile as $dimg) { @unlink($dimg); $this->sendMsg("image {$dimg} deleted"); } @rmdir('modules/imports/Excel'); @rmdir('modules/imports'); @rmdir('vtlib/ModuleDir/5.0.4'); $this->sendMsg("modules/imports/Excel and vtlib/ModuleDir/5.0.4 deleted"); // I intentionally leave packages/Vtiger Vtiger_Version::updateVersionDatabase('5.5.0'); Vtiger_Version::updateVersionFile('5.5.0'); $this->sendMsg('Updated to VERSION 5.5.0 !!! <b>WELCOME!</b>'); $this->sendMsg('Changeset ' . get_class($this) . ' applied!'); $this->markApplied(); } $this->finishExecution(); }
static function updateVersionFile($version) { $vfile = file_get_contents('vtigerversion.php'); $search = '$vtiger_current_version = \'' . Vtiger_Version::current() . "';"; $replace = '$vtiger_current_version = \'' . $version . "';"; $vfile = str_replace($search, $replace, $vfile); file_put_contents('vtigerversion.php', $vfile); }
/** * Function to check whether it is compatible with vtiger or not * @return <boolean> true/false */ public function isVtigerCompatible() { vimport('~~/vtlib/Vtiger/Version.php'); $vtigerVersion = $this->get('vtigerVersion'); $vtigerMaxVersion = $this->get('vtigerMaxVersion'); if (Vtiger_Version::check($vtigerVersion, '>=') && $vtigerMaxVersion && Vtiger_Version::check($vtigerMaxVersion, '<') || Vtiger_Version::check($vtigerVersion, '=')) { return true; } return false; }
/** * Initialize table required for the module * @param String Base table name (default modulename in lowercase) * @param String Base table column (default modulenameid in lowercase) * * Creates basetable, customtable, grouptable <br> * customtable name is basetable + 'cf'<br> * grouptable name is basetable + 'grouprel'<br> */ function initTables($basetable = false, $basetableid = false) { $this->basetable = $basetable; $this->basetableid = $basetableid; // Initialize tablename and index column names $lcasemodname = strtolower($this->name); if (!$this->basetable) { $this->basetable = "vtiger_{$lcasemodname}"; } if (!$this->basetableid) { $this->basetableid = $lcasemodname . "id"; } if (!$this->customtable) { $this->customtable = $this->basetable . "cf"; } if (!$this->grouptable) { $this->grouptable = $this->basetable . "grouprel"; } Vtiger_Utils::CreateTable($this->basetable, "({$this->basetableid} INT)", true); Vtiger_Utils::CreateTable($this->customtable, "({$this->basetableid} INT PRIMARY KEY)", true); if (Vtiger_Version::check('5.0.4', '<=')) { Vtiger_Utils::CreateTable($this->grouptable, "({$this->basetableid} INT PRIMARY KEY, groupname varchar(100))", true); } }
/** * * @param String $packagepath - path to the package file. * @return Array */ static function getOptionalModuleDetails($package, $optionalModulesInfo) { global $optionalModuleStrings; $moduleUpdateVersion = $package->getVersion(); $moduleForVtigerVersion = $package->getDependentVtigerVersion(); $moduleMaxVtigerVersion = $package->getDependentMaxVtigerVersion(); if ($package->isLanguageType()) { $type = 'language'; } else { $type = 'module'; } $moduleDetails = null; $moduleName = $package->getModuleName(); if ($moduleName != null) { $moduleDetails = array(); $moduleDetails['description'] = $optionalModuleStrings[$moduleName . '_description']; if (Vtiger_Version::check($moduleForVtigerVersion, '>=') && Vtiger_Version::check($moduleMaxVtigerVersion, '<')) { $moduleDetails['selected'] = true; $moduleDetails['enabled'] = true; } else { $moduleDetails['selected'] = false; $moduleDetails['enabled'] = false; } $migrationAction = 'install'; if (!$package->isLanguageType()) { $moduleInstance = null; if (Vtiger_Utils::checkTable('vtiger_tab')) { $moduleInstance = Vtiger_Module::getInstance($moduleName); } if ($moduleInstance) { $migrationAction = 'update'; if (version_compare($moduleUpdateVersion, $moduleInstance->version, '>=')) { $moduleDetails['enabled'] = false; } } } else { if (Vtiger_Utils::CheckTable(Vtiger_Language::TABLENAME)) { $languageList = array_keys(Vtiger_Language::getAll()); $prefix = $package->getPrefix(); if (in_array($prefix, $languageList)) { $migrationAction = 'update'; } } } $optionalModulesInfo[$migrationAction][$type][$moduleName] = $moduleDetails; } return $optionalModulesInfo; }
function getFromEmailAddress() { global $adb, $current_user; $fromEmail = false; if (Vtiger_Version::check('5.2.0', '>=')) { $smtpFromResult = $adb->pquery('SELECT from_email_field FROM vtiger_systems WHERE server_type=?', array('email')); if ($adb->num_rows($smtpFromResult)) { $fromEmail = decode_html($adb->query_result($smtpFromResult, 0, 'from_email_field')); } } if (empty($fromEmail)) { $fromEmail = $current_user->column_fields['email1']; } return $fromEmail; }
public function getFromEmailAddress() { $db = PearDatabase::getInstance(); $currentUserModel = Users_Record_Model::getCurrentUserModel(); $fromEmail = false; if (Vtiger_Version::check('5.2.0', '>=')) { $smtpFromResult = $db->pquery('SELECT from_email_field FROM vtiger_systems WHERE server_type=?', array('email')); if ($db->num_rows($smtpFromResult)) { $fromEmail = decode_html($db->query_result($smtpFromResult, 0, 'from_email_field')); } } if (empty($fromEmail)) { $fromEmail = $currentUserModel->get('email1'); } return $fromEmail; }