示例#1
0
 /**
  * {@inheritdoc}
  */
 public function updateUser(UserInterface $user)
 {
     $this->updatePassword($user);
     if ($user->getId() == null) {
         $this->createPrincipals($user);
         $ret = $this->manager->insertOne('public', 'users', $user->jsonSerialize());
         $user->setId($ret->id);
     } else {
         $where = Where::create('id = $*', [$user->getId()]);
         $dbUser = $this->manager->findWhere('public', 'users', $where)->get(0);
         $data = $user->jsonSerialize();
         foreach ($data as $name => $value) {
             $dbUser->{$name} = $value;
         }
         $this->manager->updateOne('public', 'users', $dbUser, array_keys($data));
     }
 }
示例#2
0
 /**
  * {@inheritdoc}
  */
 public function updateCalendarObject($calendarId, $objectUri, $calendarData)
 {
     $where = Where::create('calendarid = $*', [$calendarId])->andWhere('uri = $*', [$objectUri]);
     $calendarobjects = $this->manager->findWhere('public', 'calendarobject', $where);
     if ($calendarobjects->count() == 0) {
         return;
     }
     $object = $calendarobjects->get(0);
     $vCal = Reader::read($calendarData);
     $this->extractAppleGeo($vCal);
     if ($object->extracted_data['name'] != $vCal->VEVENT->SUMMARY) {
         $object->slug = $this->generateSlug($vCal->VEVENT->SUMMARY, 'calendarobject');
         $this->updateURL($vCal, $object->slug);
     }
     $calendarData = $vCal->serialize();
     $object->lastmodified = time();
     $object->calendardata = $calendarData;
     $object->etag = md5($calendarData);
     $object->extracted_data = Event::extractData($vCal);
     $object->size = strlen($calendarData);
     $this->manager->updateOne('public', 'calendarobject', $object, ['lastmodified', 'etag', 'calendardata', 'extracted_data', 'size', 'slug']);
     $this->addChange($calendarId, $objectUri, 2);
 }