コード例 #1
0
ファイル: export.php プロジェクト: pombredanne/tuleap
    echo build_csv_header($col_list, $lbl_list) . $eol;
    if ($multiple_queries) {
        $multiarr = array();
        for ($i = 0; $i < $rows; $i++) {
            foreach ($all_results as $result) {
                $multiarr = array_merge($multiarr, db_fetch_array($result));
            }
            prepare_artifact_record($ath, $fields, $atid, $multiarr, 'csv');
            $curArtifact = new Artifact($ath, $multiarr['artifact_id']);
            if ($curArtifact->userCanView(user_getid())) {
                echo build_csv_record($col_list, $multiarr) . $eol;
            }
        }
    } else {
        while ($arr = db_fetch_array($result)) {
            prepare_artifact_record($ath, $fields, $atid, $arr, 'csv');
            $curArtifact = new Artifact($ath, $arr['artifact_id']);
            if ($curArtifact->userCanView(user_getid())) {
                echo build_csv_record($col_list, $arr) . $eol;
            }
        }
    }
} else {
    $params['group'] = $group_id;
    $params['toptab'] = 'tracker';
    $params['pagename'] = 'trackers';
    $params['title'] = $Language->getText('tracker_index', 'trackers_for');
    $params['sectionvals'] = array($group->getPublicName());
    $params['help'] = 'tracker-v3.html';
    $params['pv'] = $request->exist('pv') ? $request->get('pv') : '';
    site_project_header($params);
コード例 #2
0
         }
         if (count($all_results)) {
             $rows = db_numrows($all_results[0]);
             for ($i = 0; $i < $rows; ++$i) {
                 $arr = array();
                 foreach ($all_results as $result) {
                     $arr = array_merge($arr, db_fetch_array($result));
                 }
                 prepare_artifact_record($at, $fields, $atid, $arr, 'database');
                 insert_record_in_table($dbname, $tbl_name, $col_list, $arr);
             }
         }
     } else {
         $result = db_query($sql);
         while ($arr = db_fetch_array($result)) {
             prepare_artifact_record($at, $fields, $atid, $arr, 'database');
             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()));
 }
 // 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);
コード例 #3
0
 /**
  * Display screen showing the allowed input format of the CSV files
  *
  *
  */
 function displayShowFormat()
 {
     global $Language;
     // project_export_utils is using $at instead of $ath
     $at = $this->ath;
     $this->ath->header(array('title' => $Language->getText('tracker_import', 'art_import') . ' ' . $this->ath->getID() . ' - ' . $this->ath->getName(), 'pagename' => 'tracker', 'atid' => $this->ath->getID(), 'sectionvals' => array($this->group->getPublicName()), 'help' => 'tracker-v3.html#tracker-artifact-import'));
     echo '<div id="tracker_toolbar_clear"></div>' . PHP_EOL;
     $sql = $this->ath->buildExportQuery($fields, $col_list, $this->lbl_list, $this->dsc_list, $select, $from, $where, $multiple_queries, $all_queries);
     //we need only one single record
     $sql .= " LIMIT 1";
     //get all mandatory fields
     $mand_list = $this->mandatoryFields();
     // Add the 2 fields that we build ourselves for user convenience
     // - All follow-up comments
     // - Dependencies
     $col_list[] = 'follow_ups';
     $col_list[] = 'is_dependent_on';
     $col_list[] = 'add_cc';
     $col_list[] = 'cc_comment';
     $eol = "\n";
     $result = db_query($sql);
     $rows = db_numrows($result);
     echo '<h3>' . $Language->getText('tracker_import', 'format_hdr'), '</h3>';
     echo '<p>' . $Language->getText('tracker_import', 'format_msg'), '<p>';
     if ($rows > 0) {
         $record = pick_a_record_at_random($result, $rows, $col_list);
     } else {
         $record = $this->ath->buildDefaultRecord();
     }
     prepare_artifact_record($at, $fields, $this->ath->getId(), $record, 'csv');
     $hp = Codendi_HTMLPurifier::instance();
     foreach ($record as $k => $v) {
         //We should know the type of each field because some are sanitized, others htmlspecialcharized...
         $record[$k] = $hp->purify($v, CODENDI_PURIFIER_CONVERT_HTML);
     }
     display_exported_fields($col_list, $this->lbl_list, $this->dsc_list, $record, $mand_list);
     echo '<br><br><h4>' . $Language->getText('tracker_import', 'sample_cvs_file') . '</h4>';
     echo build_csv_header($col_list, $this->lbl_list);
     echo '<br>';
     echo build_csv_record($col_list, $record);
     $this->ath->footer(array());
 }