1<?php
2// pc_pcconflicts.php -- HotCRP helper classes for paper list content
3// Copyright (c) 2006-2018 Eddie Kohler; see LICENSE.
4
5class PCConflicts_PaperColumn extends PaperColumn {
6    function __construct(Conf $conf, $cj) {
7        parent::__construct($conf, $cj);
8    }
9    function prepare(PaperList $pl, $visible) {
10        if (!$pl->user->privChair)
11            return false;
12        if ($visible)
13            $pl->qopts["allConflictType"] = 1;
14        return true;
15    }
16    function header(PaperList $pl, $is_text) {
17        return "PC conflicts";
18    }
19    function content(PaperList $pl, PaperInfo $row) {
20        $y = [];
21        $pcm = $row->conf->pc_members();
22        foreach ($row->conflicts() as $id => $type)
23            if (($pc = get($pcm, $id)))
24                $y[$pc->sort_position] = $pl->user->reviewer_html_for($pc);
25        ksort($y);
26        return join(", ", $y);
27    }
28    function text(PaperList $pl, PaperInfo $row) {
29        $y = [];
30        $pcm = $row->conf->pc_members();
31        foreach ($row->conflicts() as $id => $type)
32            if (($pc = get($pcm, $id)))
33                $y[$pc->sort_position] = $pl->user->name_text_for($pc);
34        ksort($y);
35        return join("; ", $y);
36    }
37}
38