Пример #1
0
  public static function count($core, $pattern) {
    global $obm;

    $solr = OBM_IndexingService::connect($core);
    if ($solr) {
      try {
        if ($pattern != "") {
          $pattern = "$pattern domain:$obm[domain_id]"; 
        } else {
          $pattern = "domain:$obm[domain_id]";
        }
        $pattern = preg_replace("/(?<=[a-zA-Z])-(?=[a-zA-Z])/"," + ", $pattern);
        $pattern = preg_replace("/(\w*)\*/e", "strtolower('$1').'*'", $pattern);
        $response = $solr->search($pattern);
        return $response->response->numFound;
      } catch(Exception $e) {
      }

      return 0;
    }      
  }
Пример #2
0
  } else {
    $display['msg'] = display_warn_msg($l_invalid_data . ' : ' . $err['msg']);
    $display['detail'] = dis_company_form($action, $params);
  }

} elseif ($action == 'update') {
///////////////////////////////////////////////////////////////////////////////
  if (check_user_defined_rules() && check_company_data_form($params['company_id'], $params)) {
    $retour = run_query_company_update($params['company_id'], $params);
    if ($retour) {
      $addressbooks = OBM_AddressBook::search();
      $contacts = $addressbooks->searchContacts("companyId:$params[company_id]");
      foreach($contacts as $contact) {
        OBM_Contact::solrStore($contact);
      }
      OBM_IndexingService::commit('contact');
      $display['msg'] .= display_ok_msg("$l_company : $l_update_ok");
    } else {
      $display['msg'] .= display_err_msg("$l_company : $l_update_error");
    }
    $display['detail'] = dis_company_consult($params);
  } else {
    $display['msg'] .= display_warn_msg($l_invalid_data . ' : ' . $err['msg']);
    $display['detail'] = dis_company_form($action, $params);
  }

} elseif ($action == 'check_delete') {
///////////////////////////////////////////////////////////////////////////////
  if (check_can_delete_company($params['company_id'])) {
    $display['msg'] .= display_info_msg($ok_msg, false);
    $display['detail'] = dis_can_delete_company($params['company_id']);
Пример #3
0
 public function reset() {
   if ($this->name!='public_contacts' && $this->admin) {
     $db = new DB_OBM;
     // Delete contacts
     $query = "DELETE FROM Contact WHERE contact_addressbook_id='$this->id'";
     $db->query($query);
     // Delete solr
     OBM_IndexingService::deleteByQuery('contact', "addressbookId:$this->id");
   }
 }
Пример #4
0
  }
  $display['title'] = dis_portlet_navbar($params, $current_view);
  display_page($display);
  exit();

///////////////////////////////////////////////////////////////////////////////
} elseif ($action == 'draw') {
  echo dis_calendar_draw($current_view, $params['ndays']);
  // Store current_view in session
  $_SESSION['cal_current_view'] = serialize($current_view);
  exit();

} elseif ($action == 'async_indexing') {
///////////////////////////////////////////////////////////////////////////////
  if ($params['remove']) {
    OBM_IndexingService::delete('event', $params['id']);
  } else {
    run_query_calendar_solr_store($params['id']);
  }
  exit();

} elseif ($action == 'share_calendar') {
///////////////////////////////////////////////////////////////////////////////
  if(OBM_Acl::areAllowed($obm['uid'], 'calendar',array($params['entity_id']), 'admin' )) {
    run_query_calendar_update_token($params);
    $display['msg'] .= display_ok_msg("$l_shares : $l_update_ok");
  } else {
    $display['msg'] .= display_warn_msg($l_share_err_auth);
  }
  $display['detail'] = dis_calendar_right_dis_admin($params['entity_id']);
  
Пример #5
0
  /**
   * Delete a contact
   *
   * @param Integer $c_id contact_id
   * @return Boolean
   */
  function DeleteContact($c_id)  {
    global $cdg_sql, $c_use_connectors;
    
    $sql_id = sql_parse_id($c_id, true);
    $this->logger->debug("Delete contact $c_id");
    
    $obm_q = new DB_OBM;
    
    $query = "SELECT contact_company_id, contact_birthday_id, contact_usercreate, contact_addressbook_id FROM Contact
      WHERE contact_id $sql_id";
    $this->logger->core($query);
    $obm_q->query($query);
    $obm_q->next_record();
    $comp_id = $obm_q->f('contact_company_id');
    $birthday_id = $obm_q->f('contact_birthday_id');
    $uid = $obm_q->f('contact_usercreate');
    $ad = $obm_q->f('contact_addressbook_id');
    
    // Hook : Pre
    if (function_exists('hook_pre_run_query_contact_delete')) {
      if (! hook_pre_run_query_contact_delete($c_id)) {
        return false;
      }
    }
    
    run_query_global_delete_document_links($c_id, 'contact');    
    $ret = of_userdata_query_delete('contact', $c_id);
    
    
    // BEGIN birthday support
    
    $query = "DELETE FROM Event WHERE event_id = '$birthday_id'";
    $this->logger->core($query);
    $obm_q->query($query);
    
    // END birthday support
    
    
    of_entity_delete('contact', $c_id); 
    $query = "DELETE FROM Contact WHERE contact_id $sql_id";
    $this->logger->core($query);
    $obm_q->query($query);
    
    // If connectors in use
    
    if ($c_use_connectors) {
      $query = "INSERT INTO
        DeletedContact (deletedcontact_contact_id, deletedcontact_addressbook_id, deletedcontact_timestamp, deletedcontact_origin)
        VALUES ($c_id, $ad, NOW(), '$GLOBALS[c_origin_cron]')";
      $this->logger->core($query);
      $obm_q->query($query);
    }
    
    // After contact deletion to get correct number
    run_query_global_company_contact_number_update($comp_id);

    // Delete index
    OBM_IndexingService::delete('contact', $c_id);  
  }
Пример #6
0
  public static function delete($contact) {
    global $obm, $cdg_sql, $c_use_connectors;
    if (!$contact->id) return false;
    //else
    $obm_q = new DB_OBM;
    $multidomain = sql_multidomain('contact');
    $sql_id = sql_parse_id($contact->id);
    $comp_id = sql_parse_id($contact->company_id);
  
    run_query_global_delete_document_links($contact->id, 'contact');    
    $ret = of_userdata_query_delete('contact', $contact->id);
  
    //FIXME: do it better
    // BEGIN birthday and anniversary support
    run_query_contact_birthday_update('birthday', null, null, $contact->birthday_event, null, null, null);
    run_query_contact_birthday_update('anniversary', null, null, $contact->anniversary_event, null, null, null);
    // END birthday and anniversary support

    of_entity_delete('contact', $contact->id);
     
    $query = "DELETE FROM Contact WHERE contact_id = $sql_id $multidomain";
    display_debug_msg($query, $cdg_sql, 'OBM_Contact::delete(1)');
    $retour = $obm_q->query($query);
    OBM_AddressBook::timestamp($contact->addressbook_id);
    // If connectors in use
    if ($c_use_connectors) {
      $uid = sql_parse_id($obm['uid']);
      $query = "INSERT INTO DeletedContact (
          deletedcontact_contact_id,
          deletedcontact_addressbook_id,
          deletedcontact_timestamp,
          deletedcontact_origin)
          VALUES (
            $contact->id, 
            $contact->addressbook_id,
            NOW(),
            '$GLOBALS[c_origin_web]' 
          )
          ";
      display_debug_msg($query, $cdg_sql, 'OBM_Contact::delete(2)');
      $retour = $obm_q->query($query);
    }
  
    // After contact deletion to get correct number
    run_query_global_company_contact_number_update($comp_id);

    // Delete index
    OBM_IndexingService::delete('contact', $contact->id);  

    return $retour;
  }