if ($source && $source->read && $source->write && $destination && $destination->write) { OBM_Contact::move($contact, $destination); $subTemplate['card'] = new OBM_Template('card'); } else { header('HTTP', true, 403); //FIXME : Not compatible with the HTML/Ajax implemetation OBM_Error::getInstance()->addError('rights', __('Permission denied')); echo OBM_Error::getInstance()->toJson(); exit(); } } elseif ($action == 'deleteContact') { /////////////////////////////////////////////////////////////////////////////// $addressbooks = OBM_AddressBook::search(); $params['contact_id'] = $params['id']; $contact = OBM_Contact::get($params['id']); $current['addressbook'] = $addressbook->id; $addressbook = $addressbooks[$contact->addressbook_id]; if ($addressbook && $addressbook->write && check_can_delete_contact($params['id'])) { if($contact->archive) { OBM_Contact::delete($contact); update_last_visit('contact',$params['id'],'delete'); } else { $contact->archive = 1; OBM_Contact::store($contact); } // Update "archive" addressbook $contacts = $addressbooks->searchContacts($params['searchpattern']); $subTemplate['contacts'] = new OBM_Template('contacts'); $subTemplate['contacts']->set('fields', get_display_pref($GLOBALS['obm']['uid'], 'contact')); } else {
public static function removeFromArchive($contact) { if (!$contact->id) return false; $now = date('Y-m-d H:i:s'); $uid = $GLOBALS['obm']['uid']; $sql_id = sql_parse_id($contact->id, true); $multidomain = sql_multidomain('contact'); $archive = 0; $query = "UPDATE Contact SET contact_timeupdate='{$now}', contact_userupdate='{$uid}', contact_archive=$archive WHERE contact_id $sql_id $multidomain"; $obm_q = new DB_OBM; $obm_q->query($query); $contact = OBM_Contact::get($contact->id); OBM_AddressBook::timestamp($contact->addressbook_id); // Indexing Contact self::solrStore($contact); OBM_IndexingService::commit('contact'); return $contact; }