Пример #1
0
/**
* Fetches actual milestone select options based on templates.
*
* @param	integer	Project ID to pull milestones from
* @param	integer	Selected milestone ID
* @param	array	Optional list of milestone IDs to omit
*
* @return	string	Outputtable HTML
*/
function fetch_milestone_select($projectid, $selected_milestone = 0, $skip_ids = array())
{
    global $vbulletin, $vbphrase, $stylevar, $show;
    $milestone_array = fetch_milestone_select_list($projectid, $skip_ids);
    $milestone_options = '';
    foreach ($milestone_array as $optgroup_label => $option_container) {
        if (!is_array($option_container)) {
            $optionvalue = $optgroup_label;
            $optiontitle = $option_container;
            $optionselected = $selected_milestone == $optionvalue ? ' selected="selected"' : '';
            eval('$milestone_options .= "' . fetch_template('option') . '";');
        } else {
            if (!empty($option_container)) {
                $optgroup_options = '';
                foreach ($option_container as $optionvalue => $optiontitle) {
                    $optionselected = $selected_milestone == $optionvalue ? ' selected="selected"' : '';
                    eval('$optgroup_options .= "' . fetch_template('option') . '";');
                }
                eval('$milestone_options .= "' . fetch_template('optgroup') . '";');
            }
        }
    }
    return $milestone_options;
}
Пример #2
0
                 $xml->add_tag('item', $versionname, array('itemid' => $versionid, 'selected' => $issue[$vbulletin->GPC['field']] == $versionid ? 'yes' : 'no'));
             }
             $xml->close_group();
         }
         $xml->close_group();
     }
     break;
     // ########### MILESTONE ###########
 // ########### MILESTONE ###########
 case 'milestoneid':
     if (!($issueperms['generalpermissions'] & $vbulletin->pt_bitfields['general']['canviewmilestone']) or !($issueperms['postpermissions'] & $vbulletin->pt_bitfields['post']['canchangemilestone'])) {
         $xml->add_tag('error', '');
     } else {
         $xml->add_group('items');
         require_once DIR . '/includes/functions_pt_posting.php';
         $milestones = fetch_milestone_select_list($project['projectid']);
         foreach ($milestones as $milestone_key => $milestone_container) {
             if (!is_array($milestone_container)) {
                 $xml->add_tag('item', $milestone_container, array('itemid' => $milestone_key, 'selected' => $issue['milestoneid'] == $milestone_key ? 'yes' : 'no'));
             } else {
                 if (!empty($milestone_container)) {
                     $xml->add_group('itemgroup', array('label' => $milestone_key));
                     foreach ($milestone_container as $milestoneid => $milestone_title) {
                         $xml->add_tag('item', $milestone_title, array('itemid' => $milestoneid, 'selected' => $issue['milestoneid'] == $milestoneid ? 'yes' : 'no'));
                     }
                     $xml->close_group();
                 }
             }
         }
         $xml->close_group();
     }
Пример #3
0
        $milestonedata->rebuild_milestone_counters();
        $milestonedata->save();
    }
    define('CP_REDIRECT', 'project.php?do=projectmilestone&projectid=' . $project['projectid']);
    print_stop_message('project_milestone_deleted');
}
// ########################################################################
if ($_REQUEST['do'] == 'projectmilestonedelete') {
    $vbulletin->input->clean_array_gpc('r', array('milestoneid' => TYPE_UINT));
    $milestone = $db->query_first("\r\n\t\tSELECT *\r\n\t\tFROM " . TABLE_PREFIX . "pt_milestone\r\n\t\tWHERE milestoneid = " . $vbulletin->GPC['milestoneid']);
    $project = fetch_project_info($milestone['projectid'], false);
    if (!$project) {
        print_stop_message('invalid_action_specified');
    }
    require_once DIR . '/includes/functions_pt_posting.php';
    $milestones = fetch_milestone_select_list($project['projectid'], array($milestone['milestoneid']));
    print_delete_confirmation('pt_milestone', $milestone['milestoneid'], 'project', 'projectmilestonekill', '', 0, $vbphrase['existing_affected_issues_updated_delete_select_milestone'] . '<select name="destmilestoneid">' . construct_select_options($milestones) . '</select>', 'title');
}
// ########################################################################
if ($_REQUEST['do'] == 'projectmilestone') {
    $vbulletin->input->clean_array_gpc('r', array('projectid' => TYPE_UINT));
    $project = fetch_project_info($vbulletin->GPC['projectid'], false);
    if (!$project) {
        print_stop_message('invalid_action_specified');
    }
    $milestones = array();
    $milestone_data = $db->query_read("\r\n\t\tSELECT *\r\n\t\tFROM " . TABLE_PREFIX . "pt_milestone\r\n\t\tWHERE projectid = {$project['projectid']}\r\n\t\tORDER BY completeddate, targetdate DESC\r\n\t");
    while ($milestone = $db->fetch_array($milestone_data)) {
        $milestones["{$milestone['milestoneid']}"] = $milestone;
    }
    $lastcompleted = null;