function update_originals_meta($album, $asset, $qtinfo_filepath) { $qtinfo_assoc = metadata2assoc_array($qtinfo_filepath); //dig media name according to qtinfo filename $qtinfofile = basename($qtinfo_filepath); list($quality, $type, $qtinfo) = explode("_", $qtinfofile); // first part is high/low $media = 'original_' . $type; $media_meta = ezmam_media_metadata_get($album, $asset, $media); $media_meta['duration'] = $qtinfo_assoc['duration']; $media_meta['height'] = $qtinfo_assoc['height']; $media_meta['width'] = $qtinfo_assoc['width']; if (isset($qtinfo_assoc['videoCodec'])) { $media_meta['videocodec'] = $qtinfo_assoc['videoCodec']; } if (isset($qtinfo_assoc['audioCodec'])) { $media_meta['audiocodec'] = $qtinfo_assoc['audioCodec']; } //update originals meta print "update media metadata {$album} {$asset} {$media}\n"; ezmam_media_metadata_set($album, $asset, $media, $media_meta); }
/** * * @param string $album_name * @param string $asset_name * @param string $media_name * @param assoc_array $metadata * @param path $media_file_path * @param bool $copy=false wheter * @return false|error_string * @desc creates an asset container in the given album */ function ezmam_media_new($album_name, $asset_name, $media_name, $metadata, $media_file_path, $copy = false) { $repository_path = ezmam_repository_path(); if ($repository_path === false) { return false; } //create directory $media_path = $repository_path . "/" . $album_name . "/" . $asset_name . "/" . $media_name; if (!ezmam_album_exists($album_name)) { ezmam_last_error('ezmam_media_new album non existant'); return false; } if (!ezmam_asset_exists($album_name, $asset_name)) { ezmam_last_error('ezmam_media_new album non existant'); return false; } if (ezmam_media_exists($album_name, $asset_name, $media_name)) { ezmam_last_error('ezmam_media_new media already exists'); return false; } $res = mkdir($media_path); if (!$res) { ezmam_last_error('could not create $media_path'); return false; } //create the metadata $res = ezmam_media_metadata_set($album_name, $asset_name, $media_name, $metadata); if (!$res) { ezmam_last_error("ezmam_media_new() error writing metadata for {$album_name}/{$asset_name}/{$media_name}"); return false; } $filename = basename($media_file_path); if ($copy) { if (is_dir($media_file_path)) { //media can be a directory (e.g in case of a chapter list+images) $lines = exec("cp -r {$media_file_path} {$media_path}/{$filename}", $output, $return_code); if ($return_code) { ezmam_last_error("ezmam_media_new() error {$return_code} copying media directory {$media_file_path} for {$album_name}/{$asset_name}/{$media_name}"); return false; } else { $res = true; } //returncode==0 so recursive copy went well } else { $res = copy($media_file_path, $media_path . "/" . $filename); if (!$res) { ezmam_last_error("ezmam_media_new() error copying media file/dir {$media_file_path} for {$album_name}/{$asset_name}/{$media_name}"); return false; } } } else { $res = rename($media_file_path, $media_path . "/" . $filename); if (!$res) { ezmam_last_error("ezmam_media_new() error moving media file {$media_file_path} for {$album_name}/{$asset_name}/{$media_name}"); return false; } } //endif $copy // Logging log_append('media_new', 'Media: ' . $media_name . ', Asset: ' . $asset_name . ', Album: ' . $album_name . ', File_path: ' . $media_file_path); return $res; }