/** * Example usage: * Utils_AttachmentCommon::persistent_mass_delete('CRM/Contact'); // deletes all entries located in CRM/Contact*** group */ public static function persistent_mass_delete($group,$group_starts_with=true,array $selective=null) { $ids = self::get_where($group,$group_starts_with); if(isset($selective) && !empty($selective)) $ids = array_intersect($ids,$selective); foreach($ids as $id) { $mids = DB::GetCol('SELECT id FROM utils_attachment_file WHERE attach_id=%d',array($id)); $file_base = self::Instance()->get_data_dir().$id.'/'; foreach($mids as $mid) { @unlink($file_base.$mid); DB::Execute('DELETE FROM utils_attachment_download WHERE attach_file_id=%d',array($mid)); } DB::Execute('DELETE FROM utils_attachment_file WHERE attach_id=%d',array($id)); DB::Execute('DELETE FROM utils_attachment_local WHERE attachment=%d',array($id)); Utils_RecordBrowserCommon::delete_record('utils_attachment',$id,true); } }
public static function crm_event_delete($id) { if (!Utils_RecordBrowserCommon::get_access('task', 'delete', self::get_task($id))) { return false; } Utils_RecordBrowserCommon::delete_record('task', $id); return true; }
public static function mobile_rb_delete($tab, $id) { if (!isset($_GET['del_ok'])) { print '<a ' . (IPHONE ? 'class="button green" ' : '') . ' href="mobile.php?' . http_build_query($_GET) . '&del_ok=0">' . __('Cancel deletion') . '</a>'; print '<a ' . (IPHONE ? 'class="button red" ' : '') . ' href="mobile.php?' . http_build_query($_GET) . '&del_ok=1">' . __('Delete') . '</a>'; } else { if ($_GET['del_ok']) { Utils_RecordBrowserCommon::delete_record($tab, $id); } return 2; return false; } return true; }
public static function crm_event_delete($id) { $id = explode('_', $id); $id = reset($id); if (!Utils_RecordBrowserCommon::get_access('crm_meeting', 'delete', self::get_meeting($id))) { return false; } Utils_RecordBrowserCommon::delete_record('crm_meeting', $id); $r = Utils_RecordBrowserCommon::get_record('crm_meeting', $id); if ($r['recurrence_type'] > 0) { print 'Epesi.updateIndicatorText("Updating calendar");Epesi.request("");'; } return true; }
public function delete_record($id, $pop_main = true) { Utils_RecordBrowserCommon::delete_record($this->tab, $id); if ($pop_main) { return $this->back(); } }
public function delete_record($id, $permanent = false) { return Utils_RecordBrowserCommon::delete_record($this->tab, $id, $permanent); }
Utils_RecordBrowserCommon::new_record('rc_related', array('recordset' => $r['recordset'])); unset($old[$i]); $old_checkpoint->set('old', $old); } $old_checkpoint->done(); } Patch::set_message('Processing related'); $related_checkpoint = Patch::checkpoint('related'); if (!$related_checkpoint->is_done()) { while (1) { $related = $related_checkpoint->get('related', array()); if (empty($related)) { $related = Utils_RecordBrowserCommon::get_records('rc_mails_assoc', array(), array(), array(), 10); if (empty($related)) { break; } } foreach ($related as $i => $r) { $related_checkpoint->require_time(5); $mail = Utils_RecordBrowserCommon::get_record('rc_mails', $r['mail']); $mail['related'][] = $r['recordset'] . '/' . $r['record_id']; Utils_RecordBrowserCommon::update_record('rc_mails', $r['mail'], array('related' => $mail['related'])); Utils_RecordBrowserCommon::delete_record('rc_mails_assoc', $r['id']); unset($related[$i]); $related_checkpoint->set('related', $related); } } $related_checkpoint->done(); } Utils_RecordBrowserCommon::uninstall_recordset('rc_mails_assoc'); Utils_RecordBrowserCommon::delete_addon('rc_mails', CRM_Roundcube::module_name(), 'assoc_addon');