$programProjects)
{
$projectCounts[$programID]['myProject'] = 0;
$projectCounts[$programID]['others'] = 0;
foreach($programProjects as $project)
{
if($project->status != 'done' and $project->status != 'closed' and $project->PM == $this->app->user->account) $projectCounts[$programID]['myProject']++;
if($project->status != 'done' and $project->status != 'closed' and !($project->PM == $this->app->user->account)) $projectCounts[$programID]['others']++;
if($project->status == 'done' or $project->status == 'closed') $dones++;
$projectNames[] = $project->name;
}
}
$projectsPinYin = common::convert2Pinyin($projectNames);
foreach($projects as $programID => $programProjects)
{
/* Add the program name before project. */
if($programID)
{
if($projectCounts[$programID]['myProject']) $myProjectsHtml .= '
' . zget($programs, $programID) . ' ' . $lang->program->common . ' ';
if($projectCounts[$programID]['others']) $normalProjectsHtml .= '' . zget($programs, $programID) . ' ' . $lang->program->common . ' ';
}
else
{
$myProjectsHtml .= '';
$normalProjectsHtml .= '';
}
foreach($programProjects as $index => $project)
{
$selected = $project->id == $projectID ? 'selected' : '';
$link = helper::createLink('project', 'index', "projectID=%s", '', '', $project->id);
$projectName = $project->name;
/* If this version is maxVersion, add the execution icon before execution name. */
if(isset($this->config->maxVersion)) $projectName = $project->model == 'scrum' ? ' ' . $project->name : ' ' . $project->name;
if($project->status != 'done' and $project->status != 'closed' and $project->PM == $this->app->user->account)
{
$myProjectsHtml .= '' . html::a(sprintf($link, $project->id), $projectName, '', "class='text-muted $selected' title='{$project->name}' data-key='" . zget($projectsPinYin, $project->name, '') . "'") . ' ';
if($selected == 'selected') $tabActive = 'myProject';
$iCharges++;
}
else if($project->status != 'done' and $project->status != 'closed' and !($project->PM == $this->app->user->account))
{
$normalProjectsHtml .= '' . html::a(sprintf($link, $project->id), $projectName, '', "class='$selected' title='{$project->name}' data-key='" . zget($projectsPinYin, $project->name, '') . "'") . ' ';
if($selected == 'selected') $tabActive = 'other';
$others++;
}
else if($project->status == 'done' or $project->status == 'closed') $closedProjectsHtml .= html::a(sprintf($link, $project->id), $project->name, '', "class='$selected' title='{$project->name}' data-key='" . zget($projectsPinYin, $project->name, '') . "'");
/* If program id greater than 0, and the project is the last one in the program, print the closed label. */
if(!isset($programProjects[$index + 1]))
{
if($projectCounts[$programID]['myProject']) $myProjectsHtml .= ' ';
if($projectCounts[$programID]['others']) $normalProjectsHtml .= ' ';
}
}
if($projectCounts[$programID]['myProject']) $myProjectsHtml .= ' ';
if($projectCounts[$programID]['others']) $normalProjectsHtml .= '';
}
?>
project->myProject, '', "data-toggle='tab' class='not-list-item not-clear-menu'");?>
project->other, '', "data-toggle='tab' class='not-list-item not-clear-menu'")?>