Пример #1
0
  function EnableAccount()	{
    $this->logger->debug("Enable account");

    $obm_q = new DB_OBM;
    $query = "UPDATE Userobm set userobm_archive=0 
      WHERE #DAYDIFF(now(),userobm_account_dateexp)>=0 AND userobm_archive=1";
    $this->logger->core($query);
    $obm_q->xquery($query);
    $this->logger->info($obm_q->affected_rows()." account enabled");
  }
Пример #2
0
  /**
   * Doing a : oldArchivedContact.each {|contact_id| do_something }
   *
   * @param Object $obj
   * @param String $method_callback
   */
  function EachOldArchivedContact($obj, $method_callback) {
    $this->logger->debug("For each old archived contacts");

    $obm_q = new DB_OBM;
    $query = "SELECT contact_id FROM Contact
      WHERE contact_archive = '1'
        AND #MONTHDIFF(contact_timeupdate,now()) >= ". $this->expiration;
    $this->logger->core($query);
    $obm_q->xquery($query);
    
    while ($obm_q->next_record()) {
      $obj->$method_callback($obm_q->f('contact_id'));
    }
    
    $this->logger->info($obm_q->nf()." contacts deleted.");
  }
Пример #3
0
  public static function search($searchPattern=null) {
    if($searchPattern !== null) {
      $query = " AND AddressBook.id= #INT($searchPattern)";
    }
    $db = new DB_OBM;
    $addressBooks = array();
    $db->xquery('
      SELECT 
        AddressBook.id,
        AddressBook.owner,
        AddressBook.name,
        AddressBook.is_default,
        AddressBook.syncable,
        1 as entityright_access,
        1 as entityright_read,
        1 as entityright_write,
        1 as entityright_admin,
        SyncedAddressbook.user_id as synced
      FROM AddressBook 
      LEFT JOIN SyncedAddressbook ON SyncedAddressbook.addressbook_id = AddressBook.id AND SyncedAddressbook.user_id = '.$GLOBALS['obm']['uid'].'
      WHERE AddressBook.owner = '.$GLOBALS['obm']['uid'].' '.$query.' ORDER BY AddressBook.is_default DESC, AddressBook.name'); 
    while($db->next_record()) {
      $addressBooks[$db->f('id')] = new OBM_AddressBook($db->f('id'), $db->f('name'), $db->f('is_default'), $db->f('owner'), $db->f('syncable'), $db->f('synced'), $db->f('entityright_access'),
                                                        $db->f('entityright_read'), $db->f('entityright_write'),$db->f('entityright_admin'));
    }    
    $columns = array('addressbookentity_addressbook_id', 'entityright_access', 'entityright_read', 'entityright_write', 'entityright_admin');
    $db->xquery('
      SELECT 
        AddressBook.id,
        AddressBook.owner,
        AddressBook.name,
        AddressBook.is_default,
        AddressBook.syncable,
        Rights.entityright_access,
        Rights.entityright_read,
        Rights.entityright_write,
        Rights.entityright_admin,
        SyncedAddressbook.user_id as synced
      FROM AddressBook 
      INNER JOIN ('.OBM_Acl::getAclSubselect($columns, 'addressbook', null, $GLOBALS['obm']['uid']).') AS Rights ON AddressBook.id = Rights.addressbookentity_addressbook_id
      LEFT JOIN SyncedAddressbook ON SyncedAddressbook.addressbook_id = AddressBook.id AND SyncedAddressbook.user_id = '.$GLOBALS['obm']['uid'].'
      WHERE 1=1 '.$query.' AND AddressBook.domain_id = '.$GLOBALS['obm']['domain_id'].' ORDER BY AddressBook.name');
    while($db->next_record()) {
      if($addressBooks[$db->f('id')]) {
        if($db->f('entityright_access') == 1) $addressBooks[$db->f('id')]->access = 1;
        if($db->f('entityright_read') == 1) $addressBooks[$db->f('id')]->read = 1;
        if($db->f('entityright_write') == 1) $addressBooks[$db->f('id')]->write = 1;
        if($db->f('entityright_admin') == 1) $addressBooks[$db->f('id')]->admin = 1;
      } else {
        $addressBooks[$db->f('id')] = new OBM_AddressBook($db->f('id'), $db->f('name'), $db->f('is_default'), $db->f('owner'), $db->f('syncable'), $db->f('synced'), $db->f('entityright_access'),
                                                          $db->f('entityright_read'), $db->f('entityright_write'),$db->f('entityright_admin'));
      }
    }  

    return new OBM_AddressBookArray($addressBooks);
  }
Пример #4
0
 /**
  * deleteDeprecatedAlerts 
  * 
  * @param mixed $date 
  * @access public
  * @return void
  */
 function deleteDeprecatedAlerts($datetime) {
   $obm_q = new DB_OBM;
   $obm2_q = new DB_OBM;
   $db_type = $obm_q->type;
   $this->logger->debug("Deleting alerts older than $datetime");
   $date = clone $datetime;
   $date = $date->setHour(0)->setMinute(0)->setSecond(0);
   $query = "
     SELECT eventalert_user_id, eventalert_event_id FROM EventAlert
     LEFT JOIN Event ON event_id = eventalert_event_id 
     WHERE 
     event_id IS NULL 
     OR (#SUBSECONDS(event_date , eventalert_duration) <= '$datetime' AND event_repeatkind = 'none')
     OR (event_endrepeat < '$date' AND event_repeatkind != 'none')";
   $obm_q = new DB_OBM;
   $this->logger->core($query);
   $obm_q->xquery($query);
   while($obm_q->next_record()) {
     $query = "DELETE FROM EventAlert WHERE eventalert_event_id = ".$obm_q->f('eventalert_event_id')."
               AND eventalert_user_id = ".$obm_q->f('eventalert_user_id');
     $this->logger->core($query);
     $obm2_q->query($query);
   }
   $this->logger->info($obm_q->nf()." alerts deleted");
 }
Пример #5
0
 public static function getCountryIso3166($name) {
   $obm_q = new DB_OBM;
   $query = "SELECT country_iso3166 FROM Country WHERE country_name #LIKE '".$name."' LIMIT 1";
   $obm_q->xquery($query);
   $obm_q->next_record();
   return $obm_q->f('country_iso3166');
 }