PHPFusion\QuantumFields::_delete_fields PHP Method

_delete_fields() private method

private _delete_fields ( )
    private function _delete_fields()
    {
        global $aidlink;
        if (isset($_GET['action']) && $_GET['action'] == 'field_delete' && isset($_GET['field_id']) && self::validate_field($_GET['field_id'])) {
            $result = dbquery("SELECT field.field_id, field.field_cat, field.field_order, field.field_name, u.field_cat_id, u.field_parent, root.field_cat_db\n\t\t\tFROM " . $this->field_db . " field\n\t\t\tLEFT JOIN " . $this->category_db . " u ON (field.field_cat=u.field_cat_id)\n\t\t\tLEFT JOIN " . $this->category_db . " root on (u.field_parent = root.field_cat_id)\n\t\t\tWHERE field_id='" . intval($_GET['field_id']) . "'\n\t\t\t");
            if (dbrows($result) > 0) {
                $data = dbarray($result);
                $target_database = $data['field_cat_db'] ? DB_PREFIX . $data['field_cat_db'] : DB_USERS;
                $field_list = fieldgenerator($target_database);
                if (in_array($data['field_name'], $field_list)) {
                    // drop database
                    if (!$this->debug && !empty($target_database)) {
                        $result = dbquery("ALTER TABLE " . $target_database . " DROP " . $data['field_name']);
                        // reorder the rest of the same cat minus 1
                        $result = dbquery("UPDATE " . $this->field_db . " SET field_order=field_order-1 WHERE field_order > '" . $data['field_order'] . "' AND field_cat='" . $data['field_cat'] . "'");
                        $result = dbquery("DELETE FROM " . $this->field_db . " WHERE field_id='" . $data['field_id'] . "'");
                    }
                } else {
                    // just delete the field
                    if (!$this->debug) {
                        $result = dbquery("DELETE FROM " . $this->field_db . " WHERE field_id='" . $data['field_id'] . "'");
                    } else {
                        print_p("DELETE " . $data['field_id'] . " FROM " . $this->field_db);
                    }
                }
                if (!$this->debug) {
                    addNotice('success', $this->locale['field_0201']);
                    redirect(FUSION_SELF . $aidlink);
                }
            } else {
                if (!$this->debug) {
                    addNotice('warning', $this->locale['field_0202']);
                    redirect(FUSION_SELF . $aidlink);
                } else {
                    print_p($this->locale['field_0202']);
                }
            }
        }
    }