private function _languageSelect($lang) { global $CONFIG; $sel = new Select(); $sel->SetCurrentValue($lang); $known = $sel->CreateGroup('Languages with translations'); $avail = $sel->CreateGroup('Available languages'); $counts = array(); foreach ($this->ds->ExecuteSql("SELECT lang,count(*) as cnt FROM wdf_translations GROUP BY lang") as $row) { $counts[$row['lang']] = intval($row['cnt']); } $total = max($counts); foreach (Localization::get_language_names() as $code => $name) { if (isset($counts[$code])) { $name = "{$name} ({$counts[$code]})"; if ($code == $CONFIG['localization']['default_language']) { $name .= " [default]"; } else { $name .= " [" . floor($counts[$code] / $total * 100) . "%]"; } } $sel->AddOption($code, $name, false, isset($counts[$code]) && $counts[$code] > 0 ? $known : $avail); } return $sel; }
private function CreateSelect($sel_name) { $Select = new Select($sel_name); foreach ($this->_scale as $val => $desc) { $selected = $val == $this->_value ? true : false; $Select->AddOption($val, $desc, $selected); } return $Select; }