$programProducts)
{
$productCounts[$programID]['normal'] = 0;
foreach($programProducts as $product)
{
$productCounts[$programID]['normal'] ++;
$productNames[] = $product->name;
}
}
$productsPinYin = common::convert2Pinyin($productNames);
$normalProductsHtml = $config->systemMode == 'ALM' ? '
' : '';
$allProductlink = $module == 'ticket' ? helper::createLink('ticket', 'browse', 'browseType=byProduct¶m=all') : helper::createLink('feedback', 'admin', 'browseType=byProduct¶m=all');
if($this->config->vision == 'lite' and $module != 'ticket') $allProductlink = helper::createLink('feedback', 'browse', 'browseType=byProduct¶m=all');
$selected = $productID == 'all' ? 'selected' : '';
$normalProductsHtml .= '- ' . html::a($allProductlink, $lang->product->allProduct, '', "class='$selected clickable' title='{$lang->product->allProduct}'") . '
';
foreach($products as $programID => $programProducts)
{
/* Add the program name before project. */
if($programID and $config->systemMode == 'ALM')
{
$programName = zget($programs, $programID);
if($productCounts[$programID]['normal']) $normalProductsHtml .= '';
}
foreach($programProducts as $index => $product)
{
$selected = $product->id == $productID ? 'selected' : '';
$productName = ($config->systemMode == 'ALM' and $product->line) ? zget($lines, $product->line, '') . ' / ' . $product->name : $product->name;
$linkHtml = $this->product->setParamsForLink($module, $link, $projectID, $product->id);
$locateTab = ($module == 'testtask' and $method == 'browseUnits' and $app->tab == 'project') ? '' : "data-app='$app->tab'";
$normalProductsHtml .= '- ' . html::a($linkHtml, $productName, '', "class='$selected clickable' title='{$productName}' data-key='" . zget($productsPinYin, $product->name, '') . "' data-app='$app->tab'") . '
';
/* If the programID is greater than 0, the product is the last one in the program, print the closed label. */
if($programID and !isset($programProducts[$index + 1]))
{
if($productCounts[$programID]['normal']) $normalProductsHtml .= '
';
}
}
}
$normalProductsHtml .= '
';
?>