Example #1
0
 function import_update($modulenode)
 {
     $dirName = 'cache/updates';
     $result = false;
     $adb = PearDatabase::getInstance();
     if (file_exists($dirName . '/init.php')) {
         require_once $dirName . '/init.php';
         $adb->query('SET FOREIGN_KEY_CHECKS = 0;');
         $Instance = new YetiForceUpdate($modulenode);
         $Instance->package = $this;
         $result = $Instance->preupdate();
         if ($result != false) {
             $Instance->update();
             if ($Instance->filesToDelete) {
                 foreach ($Instance->filesToDelete as $path) {
                     Vtiger_Functions::recurseDelete($path);
                 }
             }
             Vtiger_Functions::recurseCopy($dirName . '/files', '', true);
             $result = $Instance->postupdate();
         }
         $adb->query('SET FOREIGN_KEY_CHECKS = 1;');
     }
     $currentUser = Users_Record_Model::getCurrentUserModel();
     $adb->query("INSERT INTO `yetiforce_updates` (`user`, `name`, `from_version`, `to_version`, `result`) VALUES ('" . $currentUser->get('user_name') . "', '" . $modulenode->label . "', '" . $modulenode->from_version . "', '" . $modulenode->to_version . "','" . $result . "');", true);
     if ($result) {
         $adb->query("UPDATE vtiger_version SET `current_version` = '" . $modulenode->to_version . "';");
     }
     Vtiger_Functions::recurseDelete($dirName . '/files');
     Vtiger_Functions::recurseDelete($dirName . '/init.php');
     Vtiger_Functions::recurseDelete('cache/templates_c');
 }