}
     exit("");
 }
 // delete owner clean url
 if ($action == "delete" && !empty($clean_url_delete_data)) {
     $language = !empty($current_language) ? $current_language : $config['default_customer_language'];
     foreach ($clean_url_delete_data as $clean_url_data => $_v) {
         list($attribute_id, $item_id) = explode("_", $clean_url_data);
         db_query("\n                DELETE FROM {$tables['attributes_values']}\n                WHERE item_id = '{$item_id}' AND attribute_id = '{$attribute_id}' AND code = '{$language}'\n                    AND (item_type = 'O' OR item_type = 'OS')\n            ");
     }
     $top_message = array('content' => cw_get_langvar_by_name('txt_redirect_rule_deleted'), 'type' => 'I');
 }
 // add owner clean url
 if ($action == "add" && !empty($clean_urls_add_data)) {
     if (!empty($clean_urls_add_data['dinamic_url']) && trim($clean_urls_add_data['dinamic_url']) != 'search' && !empty($clean_urls_add_data['static_url'])) {
         $dinamic_url = cw_clean_url_adjust($clean_urls_add_data['dinamic_url']);
         $static_url = trim($clean_urls_add_data['static_url'], '\\ /');
         $language = !empty($current_language) ? $current_language : $config['default_customer_language'];
         $attribute_id = cw_query_first_cell("\n                SELECT attribute_id FROM {$tables['attributes']} WHERE field='clean_url' AND item_type = 'O'\n            ");
         $item_id = cw_query_first_cell("\n                SELECT MAX(item_id) FROM {$tables['attributes_values']} WHERE attribute_id='{$attribute_id}' AND item_type = 'O'\n            ") + 1;
         $params = array('item_id' => $item_id, 'item_type' => "O", 'attribute_id' => $attribute_id, 'code' => $language);
         $params['value'] = cw_clean_url_check_and_generate($dinamic_url, $params, $language);
         cw_array2insert('attributes_values', $params);
         $params['item_type'] = "OS";
         $params['value'] = $static_url;
         cw_array2insert('attributes_values', $params);
         $top_message = array('content' => cw_get_langvar_by_name('txt_new_redirect_rule_added'), 'type' => 'I');
     } else {
         $top_message = array('content' => cw_get_langvar_by_name('txt_error_new_redirect_rule_added'), 'type' => 'W');
     }
 }
function cw_clean_url_attributes_create_attribute($params, $return)
{
    global $tables, $current_language, $config;
    $attribute_id = empty($params['attribute_id']) ? $return : $params['attribute_id'];
    //editable attribute
    $language = $params['language'];
    $data = $params['data'];
    // cw_attributes.*, default_value
    /*type = "text", "textarea", "integer", "decimal", "selectbox", "multiple_selectbox", "date", "yes_no", "hidden"*/
    if ($data['item_type'] != 'P' || empty($attribute_id) || empty($data['type'])) {
        return $return;
    }
    cw_load('attributes');
    $language = !empty($language) ? $language : (!empty($current_language) ? $current_language : $config['default_customer_language']);
    $main_attribute_id = cw_clean_url_get_uniting_attribute_id();
    $attribute_values_attribute_id = cw_clean_url_get_attribute_values_attribute_id();
    // Save clean url for attribute field
    $clean_url_field = !empty($data['clean_url_field']) ? $data['clean_url_field'] : $data['name'];
    $clean_url_field = trim($clean_url_field);
    if (!$clean_url_field) {
        $result = cw_func_call("cw_attributes_get_attribute", array('attribute_id' => $attribute_id, 'language' => $language));
        $clean_url_field = cw_clean_url_adjust($result['name']);
    } else {
        $clean_url_field = cw_clean_url_adjust($clean_url_field);
    }
    cw_clean_url_check_url_and_save_value($clean_url_field, $attribute_id, clean_urls_attributes_item_type, $main_attribute_id, $language);
    // Save clean urls for attribute values
    if (in_array($data['type'], array('selectbox', 'multiple_selectbox', 'integer', 'decimal'))) {
        $key_names = array('integer' => 'default_values_select', 'decimal' => 'default_values_select', 'selectbox' => 'default_values_select', 'multiple_selectbox' => 'default_values_multiselect');
        $key_name = $key_names[$data['type']];
        if (!empty($data[$key_name]) && is_array($data[$key_name])) {
            $attribute_values = cw_query("SELECT attribute_value_id FROM {$tables['attributes_default']}\n            \tWHERE attribute_id = '{$attribute_id}' ORDER BY attribute_value_id");
            // unshift array for equal with $data arrays
            array_unshift($attribute_values, '');
            // change array for equal with $data arrays
            $fixed_attribute_values = array();
            // get existing ids
            $exist_ids = array_filter($data[$key_name . '_id']);
            if (!empty($exist_ids)) {
                $fixed_attribute_values = $attribute_values;
                if (!empty($data[$key_name][0])) {
                    // get element for new value with 0 key in array
                    $zero_key = max(array_keys($exist_ids)) + 1;
                    // set element with $zero_key on 0 position
                    if (isset($fixed_attribute_values[$zero_key])) {
                        $fixed_attribute_values[0] = $fixed_attribute_values[$zero_key];
                        array_splice($fixed_attribute_values, $zero_key, 1);
                    }
                }
            } else {
                $position = 1;
                foreach ($data[$key_name] as $_k => $_v) {
                    if ($_k == 0 && !empty($data[$key_name][$_k])) {
                        // change array for equal with $data arrays
                        // get existing ids
                        $exist_ids = array_filter($data[$key_name . '_id']);
                        // get element for new value with 0 key in array
                        $zero_key = max(array_keys($exist_ids)) + 1;
                        // set element with $zero_key on 0 position
                        if (isset($attribute_values[$zero_key])) {
                            $fixed_attribute_values[$_k] = $attribute_values[$zero_key];
                            array_splice($attribute_values, $zero_key, 1);
                        }
                    } else {
                        $fixed_attribute_values[$_k] = $attribute_values[$position];
                        $position++;
                    }
                }
            }
            foreach ($data[$key_name] as $k => $v) {
                if (!empty($v) && $data[$key_name . '_active'][$k]) {
                    $attribute_value_id = !empty($data[$key_name . '_id'][$k]) ? $data[$key_name . '_id'][$k] : $fixed_attribute_values[$k]['attribute_value_id'];
                    if (!empty($attribute_value_id)) {
                        $clean_url_value = !empty($data[$key_name . '_cleanurl'][$k]) ? $data[$key_name . '_cleanurl'][$k] : $clean_url_field . "-" . $v;
                        cw_clean_url_check_url_and_save_value($clean_url_value, $attribute_value_id, clean_urls_attributes_values_item_type, $attribute_values_attribute_id, $language);
                    }
                }
            }
        }
    } elseif ($data['type'] == 'text' || $data['type'] == 'textarea') {
        if (!empty($data['default_value'])) {
            $clean_url_value = !empty($data['clean_url_value_field']) ? $data['clean_url_value_field'] : $clean_url_field . "-" . $data['default_value'];
            // attribute id for default value
            $attribute_value_id = $data['attribute_value_id'];
            if (empty($attribute_value_id)) {
                $attribute_value_id = cw_query_first_cell("SELECT attribute_value_id FROM {$tables['attributes_default']}\n                    WHERE attribute_id = '{$attribute_id}'");
            }
            if (!empty($clean_url_value) && !empty($attribute_value_id) && $data['active']) {
                cw_clean_url_check_url_and_save_value($clean_url_value, $attribute_value_id, clean_urls_attributes_values_item_type, $attribute_values_attribute_id, $language);
            }
        }
    }
    return $return;
}