Ejemplo n.º 1
0
 $vbulletin->input->clean_array_gpc('r', array('issueid' => TYPE_UINT, 'filter' => TYPE_NOHTML, 'pagenumber' => TYPE_UINT));
 $issue = verify_issue($vbulletin->GPC['issueid'], true, array('avatar', 'vote', 'milestone'));
 $project = verify_project($issue['projectid']);
 $issueperms = fetch_project_permissions($vbulletin->userinfo, $project['projectid'], $issue['issuetypeid']);
 $posting_perms = prepare_issue_posting_pemissions($issue, $issueperms);
 ($hook = vBulletinHook::fetch_hook('project_issue_start')) ? eval($hook) : false;
 $show['issue_closed'] = $issue['state'] == 'closed';
 $show['reply_issue'] = $posting_perms['can_reply'];
 $show['quick_reply'] = ($vbulletin->userinfo['userid'] and $posting_perms['can_reply']);
 if (!$vbulletin->pt_issuestatus["{$issue['issuestatusid']}"]['canpetitionfrom']) {
     $show['status_petition'] = false;
 } else {
     $show['status_petition'] = ($show['quick_reply'] and $issueperms['postpermissions'] & $vbulletin->pt_bitfields['post']['canpetition']);
 }
 $show['attachments'] = ($vbulletin->userinfo['userid'] and $issueperms['attachpermissions'] & $vbulletin->pt_bitfields['attach']['canattachview']);
 $show['attachment_upload'] = ($show['attachments'] and $issueperms['attachpermissions'] & $vbulletin->pt_bitfields['attach']['canattach'] and !is_issue_closed($issue, $issueperms));
 $show['edit_issue'] = $posting_perms['issue_edit'];
 if ($issue['state'] == 'closed') {
     // if the issue is closed, no one can vote at all
     $show['vote_option'] = false;
 } else {
     if ($vbulletin->userinfo['userid'] and $vbulletin->userinfo['userid'] == $issue['submituserid'] and !$vbulletin->options['pt_allowstartervote']) {
         // issue starters can't vote
         $show['vote_option'] = false;
     } else {
         $show['vote_option'] = $issueperms['generalpermissions'] & $vbulletin->pt_bitfields['general']['canvote'];
     }
 }
 $show['private_edit'] = $issueperms['postpermissions'] & $vbulletin->pt_bitfields['post']['cancreateprivate'];
 // for quick reply
 $show['status_edit'] = $posting_perms['status_edit'];
Ejemplo n.º 2
0
/**
* Determines if the note can be edited based on the issue and permissions.
*
* @param	array	Array of issue info
* @param	array	Array of note info
* @param	array	Array of issue permissions
*
* @return	boolean
*/
function can_edit_issue_note($issue, $issuenote, $issueperms)
{
    global $vbulletin;
    if (is_issue_closed($issue, $issueperms)) {
        return false;
    }
    return $vbulletin->userinfo['userid'] and $issueperms['postpermissions'] & $vbulletin->pt_bitfields['post']['caneditnote'] and ($issueperms['postpermissions'] & $vbulletin->pt_bitfields['post']['caneditnoteothers'] or $issuenote['userid'] == $vbulletin->userinfo['userid']);
}
Ejemplo n.º 3
0
    $vbphrase['addressed_version_issuetype'] = $vbphrase["addressed_version_{$issue['issuetypeid']}"];
    // editor
    require_once DIR . '/includes/functions_editor.php';
    $editorid = construct_edit_toolbar(htmlspecialchars_uni($issue['pagetext']), false, 'pt', $vbulletin->options['pt_allowsmilies'], true, false);
    $private_checked = $issue['visible'] == 'private' ? ' checked="checked"' : '';
    ($hook = vBulletinHook::fetch_hook('projectpost_addissue_complete')) ? eval($hook) : false;
    eval('print_output("' . fetch_template('pt_postissue') . '");');
}
// #######################################################################
if ($_POST['do'] == 'uploadattachment') {
    $vbulletin->input->clean_array_gpc('p', array('issueid' => TYPE_UINT));
    $vbulletin->input->clean_gpc('f', 'attachment', TYPE_FILE);
    $issue = verify_issue($vbulletin->GPC['issueid']);
    $project = verify_project($issue['projectid']);
    $issueperms = fetch_project_permissions($vbulletin->userinfo, $project['projectid'], $issue['issuetypeid']);
    if (!($issueperms['attachpermissions'] & $vbulletin->pt_bitfields['attach']['canattach']) or is_issue_closed($issue, $issueperms)) {
        print_no_permission();
    }
    ($hook = vBulletinHook::fetch_hook('projectpost_attachment_upload')) ? eval($hook) : false;
    if ($vbulletin->GPC['attachment']) {
        require_once DIR . '/includes/class_upload_pt.php';
        require_once DIR . '/includes/class_image.php';
        require_once DIR . '/includes/class_dm.php';
        require_once DIR . '/includes/class_dm_attachment_pt.php';
        $attachdata =& vB_DataManager_Attachment_Pt::fetch_library($vbulletin, ERRTYPE_STANDARD);
        $upload =& new vB_Upload_Attachment_Pt($vbulletin);
        $image =& vB_Image::fetch_library($vbulletin);
        $upload->data =& $attachdata;
        $upload->image =& $image;
        $upload->issueinfo = $issue;
        $attachment = array('name' => &$vbulletin->GPC['attachment']['name'], 'tmp_name' => &$vbulletin->GPC['attachment']['tmp_name'], 'error' => &$vbulletin->GPC['attachment']['error'], 'size' => &$vbulletin->GPC['attachment']['size']);