function fn_giftreg_add_fields($fields) { if (empty($fields)) { return false; } foreach ($fields as $v) { if (empty($v['description'])) { continue; } // Insert main data $_data = fn_check_table_fields($v, 'giftreg_fields'); $field_id = db_query("INSERT INTO ?:giftreg_fields ?e", $_data); // Insert descriptions $_data = array('object_id' => $field_id, 'object_type' => 'F', 'description' => $v['description']); foreach (Registry::get('languages') as $_data['lang_code'] => $_v) { db_query("INSERT INTO ?:giftreg_descriptions ?e", $_data); } if (substr_count('SR', $v['field_type']) && is_array($v['variants'])) { fn_giftreg_add_field_variants($v['variants'], $field_id); } } }
if (@is_array($_REQUEST['fields_data'])) { foreach ($_REQUEST['fields_data'] as $field_id => $data) { $_data = fn_check_table_fields($data, 'giftreg_fields'); db_query("UPDATE ?:giftreg_fields SET ?u WHERE field_id = ?i", $_data, $field_id); $_data = array('object_id' => $field_id, 'object_type' => 'F', 'description' => $data['description'], 'lang_code' => DESCR_SL); db_query("REPLACE INTO ?:giftreg_descriptions ?e", $_data); if (@is_array($data['variants'])) { foreach ($data['variants'] as $variant_id => $vdata) { $_data = fn_check_table_fields($vdata, 'giftreg_field_variants'); db_query("UPDATE ?:giftreg_field_variants SET ?u WHERE variant_id = ?i", $_data, $variant_id); $_data = array('object_id' => $variant_id, 'object_type' => 'V', 'description' => $vdata['description'], 'lang_code' => DESCR_SL); db_query("REPLACE INTO ?:giftreg_descriptions ?e", $_data); } } if (substr_count('SR', $data['field_type']) && is_array($data['add_variants'])) { fn_giftreg_add_field_variants($data['add_variants'], $field_id); } else { fn_giftreg_delete_field_variants($field_id); } } } $suffix = ".field_editor"; } // Delete fields and/or variants if ($mode == 'delete') { if (!empty($_REQUEST['field_ids'])) { foreach ($_REQUEST['field_ids'] as $field_id) { fn_delete_events_field($field_id); } } if (!empty($_REQUEST['var_ids'])) {