/**
	 * 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);
        }
	}
Exemple #2
0
 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;
 }
Exemple #4
0
 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;
 }
Exemple #5
0
 public function delete_record($id, $pop_main = true) {
     Utils_RecordBrowserCommon::delete_record($this->tab, $id);
     if ($pop_main) {
         return $this->back();
     }
 }
Exemple #6
0
 public function delete_record($id, $permanent = false)
 {
     return Utils_RecordBrowserCommon::delete_record($this->tab, $id, $permanent);
 }
Exemple #7
0
        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');