Esempio n. 1
0
 public function process(Vtiger_Request $request)
 {
     $adb = PearDatabase::getInstance();
     //$params = $request->getAll();
     $value = $request->get('value');
     $cron = array('name' => 'SWVTTool GoogleCalSync', 'handler_file' => 'modules/SwVtTools/cron/gcal_sync.service.php', 'frequency' => '600', 'module' => 'SwVtTools', 'desc' => 'Check every 10 minutes if Calendar needs to be synced');
     if ($value == 'false') {
         Vtiger_Cron::deregister($cron['name']);
     } else {
         $sql = 'SELECT * FROM vtiger_cron_task WHERE name = ?';
         $result = $adb->pquery($sql, array($cron['name']));
         if ($adb->num_rows($result) > 0) {
             $sql = 'UPDATE vtiger_cron_task SET status = 1, handler_file = "' . $cron['handler_file'] . '" WHERE id = ' . $adb->query_result($result, 0, 'id');
             $adb->query($sql);
         } else {
             Vtiger_Cron::register($cron['name'], $cron['handler_file'], $cron['frequency'], $cron['module'], 1, Vtiger_Cron::nextSequence(), $cron['desc']);
         }
     }
 }
 function undoChange()
 {
     if ($this->isBlocked()) {
         return true;
     }
     if ($this->hasError()) {
         $this->sendError();
     }
     if ($this->isSystemUpdate()) {
         $this->sendMsg('Changeset ' . get_class($this) . ' is a system update, it cannot be undone!');
     } else {
         if ($this->isApplied()) {
             Vtiger_Cron::deregister('UpdateExchangeRate');
             $this->sendMsg('Changeset ' . get_class($this) . ' undone!');
             $this->markUndone();
             // this should not be done if changeset is Continuous
         } else {
             $this->sendMsg('Changeset ' . get_class($this) . ' not applied!');
         }
     }
     $this->finishExecution();
 }
Esempio n. 3
0
 function update_CronTasks($modulenode)
 {
     if (empty($modulenode->crons) || empty($modulenode->crons->cron)) {
         return;
     }
     $cronTasks = Vtiger_Cron::listAllInstancesByModule($modulenode->name);
     foreach ($modulenode->crons->cron as $importCronTask) {
         foreach ($cronTasks as $cronTask) {
             if ($cronTask->getName() == $importCronTask->name && $importCronTask->handler == $cronTask->getHandlerFile()) {
                 Vtiger_Cron::deregister($importCronTask->name);
             }
         }
         if (empty($importCronTask->status)) {
             $cronTask->status = Vtiger_Cron::$STATUS_DISABLED;
         } else {
             $cronTask->status = Vtiger_Cron::$STATUS_ENABLED;
         }
         if (empty($importCronTask->sequence)) {
             $importCronTask->sequence = Vtiger_Cron::nextSequence();
         }
         Vtiger_Cron::register("{$importCronTask->name}", "{$importCronTask->handler}", "{$importCronTask->frequency}", "{$modulenode->name}", "{$importCronTask->status}", "{$importCronTask->sequence}", "{$importCronTask->description}");
     }
 }
    }
}
$dropflds = array('com_vtiger_workflows.schtypeid', 'com_vtiger_workflows.schtime', 'com_vtiger_workflows.schdayofmonth', 'com_vtiger_workflows.schdayofweek', 'com_vtiger_workflows.schannualdates', 'com_vtiger_workflows.nexttrigger_time', 'vtiger_mailmanager_mailattachments.cid', 'vtiger_mailscanner_rules.assigned_to', 'vtiger_mailscanner_rules.cc', 'vtiger_mailscanner_rules.bcc', 'vtiger_recurringevents.recurringenddate', 'vtiger_mailscanner.time_zone', 'vtiger_portal.createdtime', 'vtiger_mail_accounts.sent_folder', 'vtiger_organizationdetails.vatid', 'vtiger_tab.trial');
foreach ($dropflds as $fqfn) {
    list($table, $field) = explode('.', $fqfn);
    ExecuteQuery("ALTER TABLE {$table} DROP {$field}");
}
$droptable = array('vtiger_feedback', 'vtiger_shareduserinfo', 'vtiger_schedulereports', 'vtiger_calendar_default_activitytypes', 'vtiger_calendar_user_activitytypes', 'vtiger_reporttype');
foreach ($droptable as $table) {
    ExecuteQuery("DROP TABLE {$table}");
}
//Schema changes for vtiger_troubletickets hours & days column
ExecuteQuery('ALTER TABLE vtiger_troubletickets MODIFY hours varchar(200)', array());
ExecuteQuery('ALTER TABLE vtiger_troubletickets MODIFY days varchar(200)', array());
ExecuteQuery('UPDATE vtiger_field set typeofdata=? WHERE fieldname IN(?,?) AND tablename = ?', array('I~O', 'hours', 'days', 'vtiger_troubletickets'));
Vtiger_Cron::deregister('ScheduleReports');
//Updating actions for PriceBooks related list in Products and Services
$productsTabId = getTabId('Products');
ExecuteQuery('UPDATE vtiger_relatedlists SET actions=? WHERE label=? and tabid=?', array('ADD', 'PriceBooks', $productsTabId));
$eventsManager = new VTEventsManager($adb);
$eventsManager->unregisterHandler('Vtiger_RecordLabelUpdater_Handler');
//Start: Customer - Feature #17656 Allow users to add/remove date format with the date fields in workflow send mail task.
$fieldResult = $adb->pquery('SELECT fieldname, name, typeofdata FROM vtiger_field
  INNER JOIN vtiger_tab ON vtiger_tab.tabid = vtiger_field.tabid WHERE typeofdata LIKE ?', array('D%'));
$dateFieldsList = $dateTimeFieldsList = array();
while ($rowData = $adb->fetch_array($fieldResult)) {
    $moduleName = $rowData['name'];
    $fieldName = $rowData['fieldname'];
    $pos = stripos($rowData['typeofdata'], 'DT');
    if ($pos !== false) {
        $dateTimeFieldsList[$moduleName][$fieldName] = $fieldName;
Esempio n. 5
0
 function update_CronTasks($modulenode)
 {
     if (empty($modulenode->crons) || empty($modulenode->crons->cron)) {
         return;
     }
     $cronTasks = Vtiger_Cron::listAllInstancesByModule($modulenode->name);
     foreach ($modulenode->crons->cron as $importCronTask) {
         foreach ($cronTasks as $cronTask) {
             if ($cronTask->getName() == $importCronTask->name && $importCronTask->handler == $cronTask->getHandlerFile()) {
                 Vtiger_Cron::deregister($importCronTask->name);
             }
         }
         if (empty($importCronTask->status)) {
             $cronTask->status = Vtiger_Cron::$STATUS_DISABLED;
         } else {
             $cronTask->status = Vtiger_Cron::$STATUS_ENABLED;
         }
         if (empty($importCronTask->sequence)) {
             $importCronTask->sequence = Vtiger_Cron::nextSequence();
         }
         // SalesPlatform.ru begin added support laststart/lastend
         Vtiger_Cron::register("{$importCronTask->name}", "{$importCronTask->handler}", "{$importCronTask->frequency}", "{$modulenode->name}", "{$importCronTask->status}", "{$importCronTask->sequence}", "{$cronTask->description}", "{$importCronTask->laststart}", "{$importCronTask->lastend}");
         //Vtiger_Cron::register("$importCronTask->name","$importCronTask->handler", "$importCronTask->frequency", "$modulenode->name","$importCronTask->status","$importCronTask->sequence","$cronTask->description");
         // SalesPlatform.ru end
     }
 }
Esempio n. 6
0
 public function cron()
 {
     global $log, $adb;
     $log->debug("Entering VT620_to_YT::cron() method ...");
     $removeCrons = array();
     $removeCrons[] = 'MailScanner';
     $addCrons = array();
     $addCrons[] = array('Backup', 'cron/backup.service', '43200', '', '', '0', 'BackUp', '11', NULL);
     $addCrons[] = array('CardDav', 'modules/API/cron/CardDav.php', 300, NULL, NULL, 1, 'Contacts', 12, NULL);
     $addCrons[] = array('CalDav', 'modules/API/cron/CalDav.php', 300, NULL, NULL, 1, 'Calendar', 13, NULL);
     foreach ($removeCrons as $cron) {
         Vtiger_Cron::deregister($cron);
     }
     foreach ($addCrons as $cron) {
         Vtiger_Cron::register($cron[0], $cron[1], $cron[2], $cron[6], $cron[5], 0, $cron[8]);
     }
     $adb->pquery('UPDATE `vtiger_cron_task` SET `status` = ? WHERE `name` = ?;', [1, 'Scheduled Import']);
     $log->debug("Exiting VT620_to_YT::cron() method ...");
 }