-
-
Save RimonEkjon/9bb7ca40fe51c3f0f84e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* | |
* @param unknown_type $form | |
* @param unknown_type $form_state | |
* @return multitype:string NULL | |
*/ | |
function multifiles_example_form($form, &$form_state) { | |
$form['#tree'] = TRUE; | |
$form['names_fieldset'] = array( | |
'#type' => 'fieldset', | |
'#title' => t('Multiple managed_file upload'), | |
'#prefix' => '<div id="names-fieldset-wrapper">', | |
'#suffix' => '</div>', | |
); | |
if (empty($form_state['num_names'])) { | |
$form_state['num_names'] = 1; | |
} | |
for ($i = 0; $i < $form_state['num_names']; $i++) { | |
$form['names_fieldset']['name'][$i] = array( | |
'#title' => t('Image '.$filecount), | |
'#type' => 'managed_file', | |
'#upload_location' => 'public://multifiles_example_images/', | |
'#default_value' =>$value, | |
'#upload_validators' => array( | |
'file_validate_extensions' => array('gif png jpg jpeg'), | |
'file_validate_size' => array(1000000), | |
), | |
); | |
} | |
$form['names_fieldset']['add_name'] = array( | |
'#type' => 'submit', | |
'#value' => t('Add one more'), | |
'#submit' => array('multifiles_example_add_more_add_one'), | |
'#ajax' => array( | |
'callback' => 'multifiles_example_add_more_callback', | |
'wrapper' => 'names-fieldset-wrapper', | |
), | |
); | |
if ($form_state['num_names'] > 1) { | |
$form['names_fieldset']['remove_name'] = array( | |
'#type' => 'submit', | |
'#value' => t('Remove one'), | |
'#submit' => array('multifiles_example_add_more_remove_one'), | |
'#ajax' => array( | |
'callback' => 'multifiles_example_add_more_callback', | |
'wrapper' => 'names-fieldset-wrapper', | |
), | |
); | |
} | |
$form['submit'] = array( | |
'#type' => 'submit', | |
'#value' => t('Submit'), | |
); | |
return $form; | |
} | |
function multifiles_example_add_more_callback($form, $form_state) { | |
return $form['names_fieldset']; | |
} | |
function multifiles_example_add_more_add_one($form, &$form_state) { | |
$form_state['num_names']++; | |
$form_state['rebuild'] = TRUE; | |
} | |
function multifiles_example_add_more_remove_one($form, &$form_state) { | |
if ($form_state['num_names'] > 1) { | |
$form_state['num_names']--; | |
} | |
$form_state['rebuild'] = TRUE; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment