public static function duplicate_notification($notification_id, $form_id) { if (!$form_id) { return false; } $form = !is_array($form_id) ? RGFormsModel::get_form_meta($form_id) : $form_id; $new_notification = $form['notifications'][$notification_id]; $name = rgar($new_notification, "name"); $new_id = uniqid(); $count = 2; $new_name = $name . " - Copy 1"; while (!self::is_unique_name($new_name, $form['notifications'])) { $new_name = $name . " - Copy {$count}"; $count++; } $new_notification["name"] = $new_name; $new_notification["id"] = $new_id; $form['notifications'][$new_id] = $new_notification; // clear Form cache so next retrieval of form meta will return duplicated notification RGFormsModel::flush_current_forms(); return RGFormsModel::save_form_notifications($form['id'], $form['notifications']); }
public static function duplicate_notification($notification_id, $form_id) { if (!$form_id) { return false; } $form = !is_array($form_id) ? RGFormsModel::get_form_meta($form_id) : $form_id; $new_notification = $form['notifications'][$notification_id]; $name = rgar($new_notification, 'name'); $new_id = uniqid(); $count = 2; $new_name = $name . ' - Copy 1'; while (!self::is_unique_name($new_name, $form['notifications'])) { $new_name = $name . " - Copy {$count}"; $count++; } $new_notification['name'] = $new_name; $new_notification['id'] = $new_id; unset($new_notification['isDefault']); if ($new_notification['toType'] == 'hidden') { $new_notification['toType'] = 'email'; } $form['notifications'][$new_id] = $new_notification; // clear Form cache so next retrieval of form meta will return duplicated notification RGFormsModel::flush_current_forms(); return RGFormsModel::save_form_notifications($form['id'], $form['notifications']); }
/** * Delete a form confirmation by ID. * * @param mixed $confirmation_id * @param mixed $form_id Can pass a form ID or a form object * * @return mixed The result of the database operation */ public static function delete_confirmation($confirmation_id, $form_id) { if (!$form_id) { return false; } $form = !is_array($form_id) ? RGFormsModel::get_form_meta($form_id) : $form_id; do_action('gform_pre_confirmation_deleted', $form['confirmations'][$confirmation_id], $form); unset($form['confirmations'][$confirmation_id]); // clear form cache so next retrieval of form meta will reflect deleted notification RGFormsModel::flush_current_forms(); return RGFormsModel::save_form_confirmations($form['id'], $form['confirmations']); }
/** * Delete a form confirmation by ID. * * @param mixed $confirmation_id * @param mixed $form_id Can pass a form ID or a form object * * @return mixed The result of the database operation */ public static function delete_confirmation($confirmation_id, $form_id) { if (!$form_id) { return false; } $form = !is_array($form_id) ? RGFormsModel::get_form_meta($form_id) : $form_id; /** * Fires right before the confirmation that a form is deleted * * @param int $form['confirmations'][ $confirmation_id ] The delete confirmation object ID * @para array $form The Form object to filter through */ do_action('gform_pre_confirmation_deleted', $form['confirmations'][$confirmation_id], $form); unset($form['confirmations'][$confirmation_id]); // clear form cache so next retrieval of form meta will reflect deleted notification RGFormsModel::flush_current_forms(); return RGFormsModel::save_form_confirmations($form['id'], $form['confirmations']); }