示例#1
0
function export_wiki_pg_logs($project, $span, $who, $sf)
{
    $eol = "\n";
    $sql_wiki_pg = wiki_logs_extract($project, $span, $who);
    $col_list_wiki_pg = array('time', 'user', 'email', 'title', 'local_time');
    $wiki_pg_title = array('time' => $GLOBALS['Language']->getText('project_stats_source_code_access_utils', 'wiki_access'), 'user' => '', 'email' => '', 'title' => '', 'local_time' => '');
    $lbl_list_wiki_pg = array('time' => $GLOBALS['Language']->getText('project_export_access_logs_export', 'time'), 'user' => $GLOBALS['Language']->getText('project_export_access_logs_export', 'user'), 'email' => $GLOBALS['Language']->getText('project_export_access_logs_export', 'email'), 'title' => $GLOBALS['Language']->getText('project_export_access_logs_export', 'page'), 'local_time' => $GLOBALS['Language']->getText('project_export_access_logs_export', 'local_time'));
    $result_wiki_pg = db_query($sql_wiki_pg);
    $rows_wiki_pg = db_numrows($result_wiki_pg);
    if (!$sf) {
        if ($result_wiki_pg && $rows_wiki_pg > 0) {
            // Build csv for wiki pages access logs
            echo build_csv_header($col_list_wiki_pg, $wiki_pg_title) . $eol;
            echo build_csv_header($col_list_wiki_pg, $lbl_list_wiki_pg) . $eol;
            while ($arr_wiki_pg = db_fetch_array($result_wiki_pg)) {
                prepare_access_logs_record($project->getGroupId(), $arr_wiki_pg);
                echo build_csv_record($col_list_wiki_pg, $arr_wiki_pg) . $eol;
            }
            echo build_csv_header($col_list_wiki_pg, array()) . $eol;
        }
    } else {
        //to be used in 'Show Format' link
        if ($result_wiki_pg && $rows_wiki_pg > 0) {
            $dsc_list = array('time' => $GLOBALS['Language']->getText('project_export_access_logs_export', 'date_desc'), 'user' => $GLOBALS['Language']->getText('project_export_access_logs_export', 'user_desc'), 'email' => $GLOBALS['Language']->getText('project_export_access_logs_export', 'email_desc'), 'title' => $GLOBALS['Language']->getText('project_export_access_logs_export', 'page_desc'), 'local_time' => $GLOBALS['Language']->getText('project_export_access_logs_export', 'local_time_desc'));
            $record = pick_a_record_at_random($result_wiki_pg, $rows_wiki_pg, $col_list_wiki_pg);
            prepare_access_logs_record($project->getGroupId(), $record);
            display_exported_fields($col_list_wiki_pg, $lbl_list_wiki_pg, $dsc_list, $record);
        }
    }
}
示例#2
0
            header('Content-Disposition: filename=' . $name);
            header('Content-Type: text/csv');
            echo build_csv_header($col_list, $lbl_list) . $eol;
            $ugs = ugroup_db_get_existing_ugroups($group_id, array($GLOBALS['UGROUP_PROJECT_MEMBERS'], $GLOBALS['UGROUP_PROJECT_ADMIN']));
            while ($ugrp = db_fetch_array($ugs)) {
                if ($ugrp['ugroup_id'] <= 100) {
                    $sqlUsers = ugroup_db_get_dynamic_members($ugrp['ugroup_id'], false, $group_id);
                } else {
                    $sqlUsers = ugroup_db_get_members($ugrp['ugroup_id']);
                }
                $users = db_query($sqlUsers);
                while ($user = db_fetch_array($users)) {
                    $r = array('group' => util_translate_name_ugroup($ugrp['name']), 'username' => $user['user_name'], 'realname' => $um->getUserById($user['user_id'])->getRealname());
                    echo build_csv_record($col_list, $r) . $eol;
                }
            }
            break;
        case 'user_groups_format':
            echo '<h3>' . $Language->getText('project_export_user_groups', 'exp_format') . '</h3>';
            echo '<p>' . $Language->getText('project_export_user_groups', 'exp_format_msg') . '</p>';
            // Pick-up a random project member
            $sqlUsers = ugroup_db_get_dynamic_members($GLOBALS['UGROUP_PROJECT_MEMBERS'], false, $group_id);
            $users = db_query($sqlUsers);
            $uRow = db_fetch_array($users);
            $user = $um->getUserById($uRow['user_id']);
            $dsc_list = array('group' => $GLOBALS['Language']->getText('project_export_user_groups', 'user_group_desc'), 'username' => $GLOBALS['Language']->getText('project_export_user_groups', 'user_username_desc', array($GLOBALS['sys_name'])), 'realname' => $GLOBALS['Language']->getText('project_export_user_groups', 'user_realname_desc'));
            $record = array('group' => util_translate_name_ugroup('project_members'), 'username' => $user->getName(), 'realname' => $user->getRealName());
            display_exported_fields($col_list, $lbl_list, $dsc_list, $record);
            break;
    }
}
 /**
  * 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());
 }