コード例 #1
0
 /**
  * @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);
 }
コード例 #2
0
 /**
  * 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;
 }