You are here

function imagepicker_multitask_groups_form_submit in Image Picker 7

Same name and namespace in other branches
  1. 6.2 imagepicker.functions.inc \imagepicker_multitask_groups_form_submit()

Submit form

1 string reference to 'imagepicker_multitask_groups_form_submit'
imagepicker_multitask_groups_form in ./imagepicker.functions.inc

File

./imagepicker.functions.inc, line 773
@author Bob Hutchinson http://drupal.org/user/52366 @copyright GNU GPL

Code

function imagepicker_multitask_groups_form_submit($form, &$form_state) {
  $simg_ids = $form_state['values']['simg_ids'];
  $img_ids = explode('-', $simg_ids);
  $returnpath = $form_state['values']['returnpath'];
  $action = $form_state['values']['action'];

  // list of selected groups
  $grouplist = array_filter($form_state['values']['grouplist']);
  $gids = '';
  foreach ($grouplist as $gid) {
    $gids[] = $gid;
  }
  if (is_array($gids) && count($img_ids)) {
    foreach ($img_ids as $img_id) {
      foreach ($gids as $gid) {
        $query = db_select('imagepicker_group_images', 'i');
        $query
          ->addExpression('COUNT(i.gid)', 'ct');
        $query
          ->condition('i.gid', $gid);
        $query
          ->condition('i.img_id', $img_id);
        $row = $query
          ->execute()
          ->fetchObject();
        $found = FALSE;
        if ($row->ct > 0) {
          $found = TRUE;
        }
        if ($action == 'add') {
          if (!$found) {

            // add $img_id to $gid
            $object = new stdClass();
            $object->gid = $gid;
            $object->img_id = $img_id;
            imagepicker_insert_group_image($object);
          }
        }
        else {
          if ($found) {

            // remove $img_id from $gid
            imagepicker_delete_group_image($img_id);
          }
        }
      }
    }
    drupal_set_message(t('%c', array(
      '%c' => format_plural(count($img_ids), '1 image', '@count images'),
    )) . ' ' . ($action == 'add' ? t('added') : t('removed')));
  }
  $rpath = imagepicker_multitask_returnpath($returnpath);
  drupal_goto($rpath);
}