/**
  * @param mixed $object
  * @param IMetaData $metaData
  * @param String $params
  * @throws EyeException
  * @throws EyeErrorException
  */
 public function storeMeta($object, IMetaData $metaData = null, $params)
 {
     if (!$object instanceof EyeUserFile) {
         throw new EyeInvalidArgumentException('$object must be an EyeUserFile.');
     }
     $meta = $this->retrieveMeta($object, $params);
     SecurityManager::getInstance()->checkPermission($metaData, new MetaDataPermission('write', $meta, $object));
     $urlParts = $object->getURLComponents();
     if ($urlParts['path'] == '/') {
         $filepath = $this->getUserMetaFilesPath($urlParts['principalname']) . '/' . USERS_FILES_DIR . USERS_METAFILES_EXTENSION;
     } else {
         $filepath = $this->getUserMetaFilesPath($urlParts['principalname']) . '/' . USERS_FILES_DIR . $urlParts['path'] . USERS_METAFILES_EXTENSION;
     }
     $dir = dirname($filepath);
     if (!is_dir($dir)) {
         if (!mkdir($dir, 0777, true)) {
             throw new EyeIOException('Unable to create necessary directories for meta file ' . $filepath . '.');
         }
     }
     $provider = new SimpleXMLMetaProvider((string) $params, array(SimpleXMLMetaProvider::PARAM_FILEPATH => $filepath));
     $provider->storeMeta(null, $metaData);
 }
 /**
  * @param mixed $object
  * @param IMetaData $metaData
  * @param String $params
  * @throws EyeException
  * @throws EyeErrorException
  */
 public function storeMeta($object, IMetaData $metaData = null, $params)
 {
     if (!$object instanceof SecurityManager) {
         throw new EyeInvalidArgumentException('$object must be an SecurityManager');
     }
     $meta = $this->retrieveMeta($object, $params);
     SecurityManager::getInstance()->checkPermission($meta, new MetaDataPermission('write', $metaData, $object));
     $filepath = SYSTEM_META_CONFIGURATION_PATH . 'system.xml';
     $provider = new SimpleXMLMetaProvider((string) $params, array(SimpleXMLMetaProvider::PARAM_FILEPATH => $filepath, SimpleXMLMetaProvider::PARAM_FORMATOUTPUT => true));
     $meta = $provider->storeMeta(null, $metaData);
 }
 /**
  * @param mixed $object
  * @param IMetaData $metaData
  * @param String $params
  * @throws EyeException
  * @throws EyeErrorException
  */
 public function storeMeta($object, IMetaData $metaData = null, $params)
 {
     if (!$object instanceof EyeosUser) {
         throw new EyeInvalidArgumentException('$object must be an EyeosUser.');
     }
     $meta = $this->retrieveMeta($object, $params);
     SecurityManager::getInstance()->checkPermission($meta, new MetaDataPermission('write', $metaData, $object));
     $filepath = $this->getUserSettingsPath($object);
     $dir = dirname($filepath);
     if (!is_dir($dir)) {
         if (!mkdir($dir, 0777, true)) {
             throw new EyeIOException('Unable to create necessary directories for meta file ' . $filepath . '.');
         }
     }
     $provider = new SimpleXMLMetaProvider((string) $params, array(SimpleXMLMetaProvider::PARAM_FILEPATH => $filepath, SimpleXMLMetaProvider::PARAM_FORMATOUTPUT => true));
     $provider->storeMeta(null, $metaData);
 }
 /**
  * @param mixed $object
  * @param IMetaData $metaData
  * @param String $params
  * @throws EyeException
  * @throws EyeErrorException
  */
 public function storeMeta($object, IMetaData $metaData = null, $params)
 {
     if (!$object instanceof EyeosApplicationDescriptor) {
         throw new EyeInvalidArgumentException('$object must be an EyeosApplicationDescriptor.');
     }
     //{
     //	TODO: Permission checks here
     //}
     $filepath = $object->getPath() . '/info.xml';
     $provider = new SimpleXMLMetaProvider((string) $params, array(SimpleXMLMetaProvider::PARAM_FILEPATH => $filepath, SimpleXMLMetaProvider::PARAM_FORMATOUTPUT => true));
     $meta = $provider->storeMeta(null, $metaData);
 }