/** * @param ObjectInterface $user * @param \Rocker\Object\User\UserFactory $factory * @param array $userFiles * @param \Rocker\Utils\FileStorage\StorageInterface $storage */ protected static function deleteAllFiles(ObjectInterface $user, UserFactory $factory, $userFiles, $storage) { foreach ($userFiles as $f) { if (!empty($f['versions'])) { $storage->removeVersions($f['name'], $f['versions']); } $storage->removeFile($f['name']); } $user->meta()->delete('files'); $factory->update($user); }
/** * Add meta data from request to object and check that no meta * entry is too large and that we're not exceeding the maximum * allowed number of meta entries per object * * @param ObjectInterface $obj * @return array|null */ protected function addMetaFromRequestToObject($obj) { foreach ($_REQUEST['meta'] as $name => $val) { if ($val == 'null') { $obj->meta()->delete($name); } elseif ($val == 'true' || $val == 'false') { $obj->meta()->set($name, $val == 'true'); } else { if (strlen($val) > $this->conf['meta_max_size']) { return array(413, array('error' => 'Meta entry "' . $name . '" exceeded allowed max size of ' . $this->conf['meta_max_size'] . ' bytes')); } $obj->meta()->set($name, $val); } } // Check that we don't exceed the maximum number of meta entries allowed if ($this->conf['meta_limit'] < $obj->meta()->count()) { return array(403, array('error' => 'This object has exceeded the maximum number of meta entries allowed')); } return null; }