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();
 }
Exemple #2
0
 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;
 }
Exemple #4
0
 /**
  * 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);
     }
 }
Exemple #5
0
 /**
  *
  * @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;
 }
Exemple #6
0
 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;
 }
Exemple #7
0
 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;
 }