diff options
Diffstat (limited to 'admin/include')
-rw-r--r-- | admin/include/functions.php | 38 | ||||
-rw-r--r-- | admin/include/functions_metadata.php | 24 |
2 files changed, 44 insertions, 18 deletions
diff --git a/admin/include/functions.php b/admin/include/functions.php index 5811da226..b787d8a21 100644 --- a/admin/include/functions.php +++ b/admin/include/functions.php @@ -582,23 +582,23 @@ function date_convert_back( $date ) } } -// get_keywords returns an array with relevant keywords found in the string -// given in argument. Keywords must be separated by comma in this string. -// keywords must : -// - be longer or equal to 3 characters -// - not contain ', " or blank characters -// - unique in the string ("test,test" -> "test") -function get_keywords( $keywords_string ) +/** + * returns an array with relevant keywords found in the given string. + * + * Keywords must be separated by comma or space characters. + * + * @param string keywords_string + * @return array + */ +function get_keywords($keywords_string) { - $keywords = array(); - - $candidates = explode( ',', $keywords_string ); - foreach ( $candidates as $candidate ) { - if ( strlen($candidate) >= 3 and !preg_match( '/(\'|"|\s)/', $candidate ) ) - array_push( $keywords, $candidate ); - } - - return array_unique( $keywords ); + return + array_unique( + preg_split( + '/[\s,]+/', + $keywords_string + ) + ); } /** @@ -742,14 +742,15 @@ function mass_updates($tablename, $dbfields, $datas) $query = ' UPDATE '.$tablename.' SET '; + $is_first = true; foreach ($dbfields['update'] as $num => $key) { - if ($num >= 1) + if (!$is_first) { $query.= ",\n "; } $query.= $key.' = '; - if (isset($data[$key])) + if (isset($data[$key]) and $data[$key] != '') { $query.= '\''.$data[$key].'\''; } @@ -757,6 +758,7 @@ UPDATE '.$tablename.' { $query.= 'NULL'; } + $is_first = false; } $query.= ' WHERE '; diff --git a/admin/include/functions_metadata.php b/admin/include/functions_metadata.php index ad45aca12..23b04833c 100644 --- a/admin/include/functions_metadata.php +++ b/admin/include/functions_metadata.php @@ -204,4 +204,28 @@ SELECT id, path return $files; } + +// used_metadata string is displayed to inform admin which metadata will be +// used from files for synchronization +function get_used_metadata_list() +{ + global $conf; + + $used_metadata = array('filesize', 'width', 'height'); + + if ($conf['use_exif']) + { + array_push($used_metadata, 'date_creation'); + } + + if ($conf['use_iptc']) + { + foreach (array_keys($conf['use_iptc_mapping']) as $key) + { + array_push($used_metadata, $key); + } + } + + return array_unique($used_metadata); +} ?>
\ No newline at end of file |