Exemple #1
0
                $assign =& datamanager_init('Pt_IssueAssign', $vbulletin, ERRTYPE_SILENT);
                $assign->set_info('project', $project);
                $assign->set('userid', $userid);
                $assign->set('issueid', $issue['issueid']);
                $assign->save();
            }
            foreach ($assign_remove as $userid) {
                $data = array('userid' => $userid, 'issueid' => $issue['issueid']);
                $assign =& datamanager_init('Pt_IssueAssign', $vbulletin, ERRTYPE_SILENT);
                $assign->set_existing($data);
                $assign->delete();
            }
            break;
    }
    $issuedata->save();
    $issue = verify_issue($issue['issueid']);
    $_POST['do'] = 'fetch';
}
// #######################################################################
if ($_POST['do'] == 'fetch') {
    $xml =& new vB_AJAX_XML_Builder($vbulletin, 'text/xml');
    $xml->add_group('ajax');
    ($hook = vBulletinHook::fetch_hook('projectajax_fetch_start')) ? eval($hook) : false;
    switch ($vbulletin->GPC['field']) {
        // #### SIMPLE SELECTS ####
        // ########### ISSUE STATUS ID ###########
        case 'issuestatusid':
            if (!$posting_perms['status_edit']) {
                $xml->add_tag('error', '');
            } else {
                // find all the statuses for this issue's type
Exemple #2
0
                default:
                    $lastpart = '';
            }
        }
    }
} else {
    $do = 'index';
}
// #######################################################################
if (!($vbulletin->userinfo['permissions']['ptpermissions'] & $vbulletin->bf_ugp_ptpermissions['canviewprojecttools'])) {
    exec_header_redirect($vbulletin->options['bburl'] . '/archive/index.php');
    exit;
}
if ($issueid) {
    $do = 'issue';
    $issue = verify_issue($issueid);
    $project = verify_project($issue['projectid']);
    $title = "{$issue['title']} [{$vbphrase['archive']}]" . ($p > 1 ? ' - ' . construct_phrase($vbphrase['page_x'], $p) : '') . " - {$title}";
    $metatags = "<meta name=\"keywords\" content=\"{$issue['title']}, {$project['title_clean']}, project tools, " . $vbulletin->options['keywords'] . "\" />\r\n\t\t<meta name=\"description\" content=\"[{$vbphrase['archive']}] {$issue['title']} " . ($p > 1 ? construct_phrase($vbphrase['page_x'], $p) . " " : "") . "\" />\r\n\t";
} else {
    if ($projectid) {
        $do = 'project';
        $project = verify_project($projectid);
        $perms_query = build_issue_permissions_query($vbulletin->userinfo);
        if (empty($perms_query["{$project['projectid']}"])) {
            exit;
        }
        $title = "{$project['title_clean']} [{$vbphrase['archive']}]" . ($p > 1 ? ' - ' . construct_phrase($vbphrase['page_x'], $p) : '') . " - {$title}";
        $metatags = "<meta name=\"keywords\" content=\"{$project['title_clean']}, project tools, " . $vbulletin->options['keywords'] . "\" />\r\n\t\t<meta name=\"description\" content=\"[{$vbphrase['archive']}] {$project['summary_clean']} " . ($p > 1 ? construct_phrase($vbphrase['page_x'], $p) . " " : "") . "\" />\r\n\t";
    } else {
        $do = 'index';
Exemple #3
0
}
require_once DIR . '/includes/functions_projecttools.php';
if (!($vbulletin->userinfo['permissions']['ptpermissions'] & $vbulletin->bf_ugp_ptpermissions['canviewprojecttools'])) {
    print_no_permission();
}
($hook = vBulletinHook::fetch_hook('projectattachment_start')) ? eval($hook) : false;
// ########################################################################
// ######################### START MAIN SCRIPT ############################
// ########################################################################
$vbulletin->input->clean_array_gpc('r', array('attachmentid' => TYPE_UINT, 'thumb' => TYPE_BOOL));
$idname = $vbphrase['attachment'];
$imagetype = !empty($vbulletin->GPC['thumb']) ? 'thumbnail' : 'filedata';
if (!($attachmentinfo = $db->query_first_slave("\r\n\tSELECT issueattach.filename, issueattach.issueid, issueattach.userid, issueattach.attachmentid,\r\n\t\t" . (!empty($vbulletin->GPC['thumb']) ? 'issueattach.thumbnail AS filedata, thumbnail_dateline AS dateline, thumbnail_filesize AS filesize,' : 'issueattach.dateline, SUBSTRING(filedata, 1, 2097152) AS filedata, filesize,') . "\r\n\t\tissueattach.visible, issueattach.extension\r\n\tFROM " . TABLE_PREFIX . "pt_issueattach AS issueattach\r\n\tWHERE issueattach.attachmentid = " . $vbulletin->GPC['attachmentid'] . "\r\n"))) {
    eval(standard_error(fetch_error('invalidid', $idname, $vbulletin->options['contactuslink'])));
}
$issue = verify_issue($attachmentinfo['issueid']);
$project = verify_project($issue['projectid']);
$issueperms = fetch_project_permissions($vbulletin->userinfo, $project['projectid'], $issue['issuetypeid']);
if (!($issueperms['attachpermissions'] & $vbulletin->pt_bitfields['attach']['canattachview'])) {
    print_no_permission();
}
if ($vbulletin->options['pt_attachfile']) {
    require_once DIR . '/includes/functions_file.php';
    if ($vbulletin->GPC['thumb']) {
        $attachpath = fetch_attachment_path($attachmentinfo['userid'], $attachmentinfo['attachmentid'], true, $vbulletin->options['pt_attachpath']);
    } else {
        $attachpath = fetch_attachment_path($attachmentinfo['userid'], $attachmentinfo['attachmentid'], false, $vbulletin->options['pt_attachpath']);
    }
    if ($permissions['adminpermissions'] & $vbulletin->bf_ugp_adminpermissions['cancontrolpanel']) {
        if (!($fp = fopen($attachpath, 'rb'))) {
            exit;
Exemple #4
0
    $addressed_next_selected = ($issue['isaddressed'] == 1 and $issue['addressedversionid'] == 0) ? ' selected="selected"' : '';
    // status
    $status_options = build_issuestatus_select($vbulletin->pt_issuetype["{$issuetypeid}"]['statuses'], $issue['issuestatusid']);
    // setup milestones
    $show['milestone'] = $new_issueperms['generalpermissions'] & $vbulletin->pt_bitfields['general']['canviewmilestone'];
    $show['milestone_edit'] = ($show['milestone'] and $new_posting_perms['milestone_edit']);
    $milestone_options = fetch_milestone_select($new_project['projectid'], $issue['milestoneid']);
    $navbits = array('project.php' . $vbulletin->session->vars['sessionurl_q'] => $vbphrase['projects'], "project.php?" . $vbulletin->session->vars['sessionurl'] . "projectid={$project['projectid']}" => $project['title_clean'], 'project.php?' . $vbulletin->session->vars['sessionurl'] . "issueid={$issue['issueid']}" => $issue['title'], '' => $vbphrase['edit_issue']);
    $navbits = construct_navbits($navbits);
    eval('$navbar = "' . fetch_template('navbar') . '";');
    eval('print_output("' . fetch_template('pt_move_issue_confirm') . '");');
}
// #######################################################################
if ($_REQUEST['do'] == 'moveissue') {
    $vbulletin->input->clean_array_gpc('r', array('issueid' => TYPE_UINT));
    $issue = verify_issue($vbulletin->GPC['issueid']);
    $project = verify_project($issue['projectid']);
    $issueperms = fetch_project_permissions($vbulletin->userinfo, $project['projectid'], $issue['issuetypeid']);
    $posting_perms = prepare_issue_posting_pemissions($issue, $issueperms);
    if (!($issueperms['generalpermissions'] & $vbulletin->pt_bitfields['general']['canmoveissue'])) {
        print_no_permission();
    }
    $project_type_select = '';
    $optionclass = '';
    foreach ($vbulletin->pt_projects as $projectid => $projectinfo) {
        $project_perms["{$projectid}"] = fetch_project_permissions($vbulletin->userinfo, $projectid);
        $optgroup_options = '';
        foreach (array_keys($projectinfo['types']) as $type) {
            // Check we can both view and post the target issue type
            if (!($project_perms["{$projectid}"]["{$type}"]['generalpermissions'] & $vbulletin->pt_bitfields['general']['canview']) or !($project_perms["{$projectid}"]["{$type}"]['postpermissions'] & $vbulletin->pt_bitfields['post']['canpostnew'])) {
                continue;