Пример #1
0
 function update_caldav_data($old_data, $dav_id)
 {
     $vResource = new vComponent($old_data);
     //$expanded = expand_event_instances($vResource, $expand_range_start, $expand_range_end);
     $event = $vResource->GetComponents("VEVENT")[0];
     $attendeeName = "ATTENDEE";
     $vResource->ClearProperties($attendeeName);
     $davIdArray = array(':dav_id' => $dav_id);
     $attendeeQry = new AwlQuery("SELECT params, attendee FROM calendar_attendee WHERE dav_id = :dav_id", $davIdArray);
     $attendeeQry->Execute();
     while ($arow = $attendeeQry->Fetch()) {
         $attendeeParameters = $arow->params;
         $attendeeValue = $arow->attendee;
         // separe value
         $event->AddProperty($attendeeName, $attendeeValue, $attendeeParameters);
     }
     $rendered = $vResource->Render();
     $sql = 'UPDATE caldav_data SET caldav_data=:dav_data, dav_etag=:etag WHERE dav_id=:dav_id';
     $davIdArray[':etag'] = md5($rendered);
     $davIdArray[':dav_data'] = $rendered;
     $query = new AwlQuery($sql, $davIdArray);
     $query->Execute();
 }
Пример #2
0
/**
 * remove attendees by dav_id and (or) by dav_id and not attendee in list
 * @param $dav_id
 * @param null $not_remove_attendees_sql_text - '*****@*****.**','*****@*****.**', ...
 * @return bool - remove success
 */
function remove_attendees($dav_id, $not_remove_attendees_sql_text = null)
{
    $sql = 'DELETE FROM calendar_attendee WHERE dav_id=' . $dav_id;
    if ($not_remove_attendees_sql_text != null) {
        $sql .= ' AND attendee NOT IN (' . $not_remove_attendees_sql_text . ')';
    }
    $qry = new AwlQuery($sql);
    $result = $qry->Execute();
    return $result;
}
Пример #3
0
 /**
  * @return bool - return true when the principal have been created
  */
 public function createIfNotExists()
 {
     if ($this->Exists()) {
         return false;
     }
     if (!isset($this->username) || strlen($this->username) < 1) {
         $this->username = $this->email;
     }
     if (!isset($this->password) || strlen($this->password) < 1) {
         $this->password = $this->email;
     }
     $params = array(':username' => $this->username, ':password' => $this->password, ':email' => $this->email);
     $sql = 'insert into dav_principal (username, password, email, type_id, user_active) values (:username,:password,:email, 1, FALSE)';
     $qry = new AwlQuery($sql, $params);
     $result = $qry->Execute();
     if ($result === true) {
         $this->exists = $result;
     }
     return $result;
 }