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(); }
/** * 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; }
/** * @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; }