feature #379 multiple format, step 1: add formats

* new table piwigo_image_format (each photo can have 0 to many formats)
* only compatible with synchronization for now. Formats must be in sub-directory pwg_format
* formats are visible on edition page only for now
This commit is contained in:
plegall
2015-12-03 16:04:02 +01:00
parent 27389102d1
commit 8e098d502a
10 changed files with 191 additions and 0 deletions
+31
View File
@@ -100,14 +100,19 @@ function get_elements($path)
{
$representative_ext = $this->get_representative_ext($path, $filename_wo_ext);
}
$formats = $this->get_formats($path, $filename_wo_ext);
$fs[ $path.'/'.$node ] = array(
'representative_ext' => $representative_ext,
'formats' => $formats,
);
}
}
else if (is_dir($path.'/'.$node)
and $node != 'pwg_high'
and $node != 'pwg_representative'
and $node != 'pwg_format'
and $node != 'thumbnail' )
{
$subdirs[] = $node;
@@ -182,6 +187,32 @@ function get_representative_ext($path, $filename_wo_ext)
return null;
}
function get_formats($path, $filename_wo_ext)
{
global $conf;
$formats = array();
$base_test = $path.'/pwg_format/'.$filename_wo_ext.'.';
foreach ($conf['format_ext'] as $ext)
{
$test = $base_test.$ext;
if (is_file($test))
{
// $formats[] = array(
// 'ext' => $ext,
// 'filesize' => floor(filesize($file) / 1024),
// );
// we return a "/" splitted string instead of an array with 2 keys, to reduce memory usage
$formats[] = $ext.'/'.floor(filesize($test) / 1024);
}
}
return $formats;
}
}
?>