handle = function() { DB::query("insert into lists (title, is_hidden) values ('未命名题单', 1)"); }; $new_list_form->submit_button_config['align'] = 'right'; $new_list_form->submit_button_config['class_str'] = 'btn btn-primary'; $new_list_form->submit_button_config['text'] = UOJLocale::get('problems::add new list'); $new_list_form->submit_button_config['smart_confirm'] = ''; $new_list_form->runAtServer(); } function echoList($list) { global $myUser; echo ''; if ($list['problem_count'] == $list['accepted'] && $list['problem_count'] > 0) { echo ''; } else { echo ''; } echo '#', $list['list_id'], ''; echo ''; if ($list['is_hidden']) { echo ' [隐藏] '; } echo '', $list['title'], ''; foreach (queryProblemListTags($list['list_id']) as $tag) { echo '', '', HTML::escape($tag), '', ''; } echo ''; echo "{$list['accepted']}"; echo "{$list['problem_count']}"; echo ''; } ?> printHTML(); } $problem_list_caption = UOJLocale::get('problems::problem list'); $ac_caption = UOJLocale::get('problems::ac'); $total_caption = UOJLocale::get('problems::total'); $header = << ID {$problem_list_caption} {$ac_caption} {$total_caption} EOD; $cond = array(); $search_tag = null; if (isset($_GET['tag'])) { $search_tag = $_GET['tag']; } if ($search_tag) { $cond[] = "'" . DB::escape($search_tag) . "' in (select tag from lists_tags where lists_tags.list_id = a.id)"; } if (!isSuperUser($myUser)) { $cond[] = "is_hidden = 0"; } if ($cond) { $cond = join($cond, ' and '); } else { $cond = '1'; } $from = "lists a left join lists_problems b on a.id = b.list_id left join best_ac_submissions c on (b.problem_id = c.problem_id and c.submitter = '{$myUser['username']}')"; echoLongTable( array('a.id as list_id', 'a.title as title', 'a.is_hidden as is_hidden', 'count(b.problem_id) as problem_count', 'count(c.submitter) as accepted'), $from, $cond, 'group by a.id order by a.id desc', $header, 'echoList', array('page_len' => 40, 'table_classes' => array('table', 'table-bordered', 'table-hover', 'table-striped'), 'print_after_table' => function() { global $myUser; }, 'head_pagination' => true, 'pagination_table' => 'lists' ) ); ?>