You are here

function menu_icons_node_form_submit in Menu Icons 7.3

1 string reference to 'menu_icons_node_form_submit'
menu_icons_form_node_form_alter in ./menu_icons.module
Implements hook_form_FORMID_alter().

File

./menu_icons.module, line 352
Module to associate icons with menu items

Code

function menu_icons_node_form_submit($form, &$form_state) {

  // Check the destination folder, attempt to create it if it does't exist
  $directory_path = menu_icons_directory_path();
  file_prepare_directory($directory_path, FILE_CREATE_DIRECTORY);

  // Store the current icon path
  $path = $form_state['values']['menu']['icon']['icon_path'];

  // Define the validation settings
  $validate = array(
    'file_validate_is_image' => array(),
  );

  // Check for a new uploaded icon, and use that instead.
  if ($file = file_save_upload('menu', $validate)) {
    $parts = pathinfo($file->filename);
    $filename = $directory_path . '/menu_icon_temp_' . time() . '.' . $parts['extension'];
    file_unmanaged_copy($file->uri, $filename, FILE_EXISTS_REPLACE);

    // Flush image style generated images
    image_path_flush($filename);
    $path = $filename;
  }
  $options = array();
  $options['menu_icon'] = array(
    'enable' => $form_state['values']['use_icon_logo'],
    'path' => $path,
    'image_style' => $form_state['values']['menu']['icon']['image_style'],
  );

  // Use default image style if not explicitly set.
  if (empty($options['menu_icon']['image_style'])) {
    $options['menu_icon']['image_style'] = variable_get('menu_icons_image_style_default', 'menu_icon');
  }
  $form_state['values']['menu']['icon'] = $options['menu_icon'];
}