From 6597975404e82f5d5d4234afd70d4002db222824 Mon Sep 17 00:00:00 2001 From: patdenice Date: Sat, 23 Apr 2011 08:51:53 +0000 Subject: Create a function to save upload form settings. git-svn-id: http://piwigo.org/svn/trunk@10589 68402e56-0260-453c-a942-63ccdbb3a9ee --- admin/include/functions_upload.inc.php | 82 ++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) (limited to 'admin/include') diff --git a/admin/include/functions_upload.inc.php b/admin/include/functions_upload.inc.php index aa25e5219..4fe8ce76b 100644 --- a/admin/include/functions_upload.inc.php +++ b/admin/include/functions_upload.inc.php @@ -178,6 +178,88 @@ function prepare_upload_configuration() } } +function save_upload_form_config($data, &$errors=array()) +{ + if (!is_array($data) or empty($data)) + { + return false; + } + + $upload_form_config = get_upload_form_config(); + $updates = array(); + + foreach ($data as $field => $value) + { + if (!isset($upload_form_config[$field])) + { + continue; + } + if (is_bool($upload_form_config[$field]['default'])) + { + if (isset($value)) + { + $value = true; + } + else + { + $value = false; + } + + $updates[] = array( + 'param' => 'upload_form_'.$field, + 'value' => boolean_to_string($value) + ); + } + elseif ($upload_form_config[$field]['can_be_null'] and empty($value)) + { + $updates[] = array( + 'param' => 'upload_form_'.$field, + 'value' => 'false' + ); + } + else + { + $min = $upload_form_config[$field]['min']; + $max = $upload_form_config[$field]['max']; + $pattern = $upload_form_config[$field]['pattern']; + + if (preg_match($pattern, $value) and $value >= $min and $value <= $max) + { + $updates[] = array( + 'param' => 'upload_form_'.$field, + 'value' => $value + ); + } + else + { + array_push( + $errors, + sprintf( + $upload_form_config[$field]['error_message'], + $min, + $max + ) + ); + } + } + } + + if (count($errors) == 0) + { + mass_updates( + CONFIG_TABLE, + array( + 'primary' => array('param'), + 'update' => array('value') + ), + $updates + ); + return true; + } + + return false; +} + function add_uploaded_file($source_filepath, $original_filename=null, $categories=null, $level=null, $image_id=null) { // Here is the plan -- cgit v1.2.3