コード例 #1
0
                        // Create field factory
                        $art_field_fact = new ArtifactFieldFactory($at);
                        if ($art_field_fact->isError()) {
                            exit_error($Language->getText('global', 'error'), $art_field_fact->getErrorMessage());
                        }
                        // Let's create the project database if it does not exist
                        // Drop the existing table and create a fresh one
                        db_project_create($dbname);
                        db_project_query($dbname, 'DROP TABLE IF EXISTS ' . $tbl_name);
                        $sql_create = "CREATE TABLE {$tbl_name} (" . 'artifact_id INTEGER, field_name VARCHAR(255), ' . 'old_value TEXT, new_value TEXT, mod_by VARCHAR(255), email TEXT, date DATETIME, ' . 'type VARCHAR(255), ' . 'label VARCHAR(255) ' . ')';
                        $res = db_project_query($dbname, $sql_create);
                        // extract data from the bug table and insert them into
                        // the project database table
                        if ($res) {
                            $result = extract_history($atid);
                            while ($arr = db_fetch_array($result)) {
                                prepare_artifact_history_record($at, $art_field_fact, $arr);
                                insert_record_in_table($dbname, $tbl_name, $col_list, $arr);
                            }
                        } else {
                            $feedback .= $Language->getText('project_export_artifact_deps_export', 'create_proj_err', array($tbl_name, db_project_error()));
                        }
                    }
                    // for
                }
            } else {
                $feedback .= $Language->getText('project_export_artifact_deps_export', 'security_violation', $dbname);
            }
        }
    }
}
コード例 #2
0
                                }
                            }
                        } else {
                            $feedback .= $Language->getText('project_export_artifact_deps_export', 'create_proj_err', array($tbl_name, db_project_error()));
                        }
                        // MV add
                        // Export table structure
                        // Create table
                        $tbl_struct_name = "artifact_struct_" . $at_arr[$j]->getItemName();
                        $tbl_struct_name = str_replace(' ', '_', $tbl_struct_name);
                        $fieldsList = $art_field_fact->getAllUsedFields();
                        db_project_query($dbname, 'DROP TABLE IF EXISTS ' . $tbl_struct_name);
                        $struct_table_create = 'CREATE TABLE ' . $tbl_struct_name . '(' . ' field_name VARCHAR(255), ' . ' field_label VARCHAR(255)' . ')';
                        db_project_query($dbname, $struct_table_create);
                        // Populate table
                        $struct_col_list = array('field_name', 'field_label');
                        foreach ($fieldsList as $art_field) {
                            $struct_arr['field_name'] = $art_field->getName();
                            $struct_arr['field_label'] = $art_field->getLabel();
                            insert_record_in_table($dbname, $tbl_struct_name, $struct_col_list, $struct_arr);
                        }
                    }
                    // for
                }
                // if
            } else {
                $feedback .= $Language->getText('project_export_artifact_deps_export', 'security_violation', $dbname);
            }
        }
    }
}