Index

aBoard

MMO\git\classes · 1 symbol · generated 5 Oct 2026

class

aBoard

aBoard.php:16

Something on GitHub seen as the data of mmo.client's <mmo-kanban>: {statuses, labels, categories, tickets}.

abstract class MMO\git\classes\aBoard
Namespace
MMO\git\classes
A board is read with [`load`](https://mcp.mmoframework.fr/documentation/mmo.git/php/classes/aBoard.md#aboard-load), and written with [`save`](https://mcp.mmoframework.fr/documentation/mmo.git/php/classes/aBoard.md#aboard-save), which is given the data as `load()` gave it and the board's data now: it changes on GitHub only what differs between the two, and answers the id GitHub gave each ticket the board made (a new ticket carries the board's own id until then).
$data = $board->load(); $ids = $board->save($data, $changed)['ids'];

Index

COLORSthe colours mmo-kanban names, as GitHub's label colours: a colour read from GitHub is named when it is one
ColorHex($color) static
ColorName($color) static
discussion($ticketId) abstract
getState()
getTitle() abstract
getUrl() abstract
keepsColor($kind)
load() abstract
meta($ticket, $type)
remap($ticket, $ids, $categories)Give the board's ids of new tickets and categories the ones GitHub gave them.
remapCondition($node, $ids)
save($before, $after) abstract
setState($state)

Constants1

COLORS

the colours mmo-kanban names, as GitHub's label colours: a colour read from GitHub is named when it is one

const COLORS = […9 items]

Methods13

ColorHex($color)

staticaBoard.php:53
static function ColorHex(?string $color): ?string
$colornull | string
returnsnull | stringrrggbb, what GitHub takes, for a name of COLORS or a #rrggbb; null for anything else

discussion($ticketId)

abstractaBoard.php:82
abstract function discussion(string $ticketId): ?MMO\git\helpers\IssueDiscussion
$ticketIdstring
returnsnull | IssueDiscussionthe ticket's discussion, null when it has none (a draft)

getState()

aBoard.php:88
function getState(): array
returnsarraywhat load learnt of GitHub besides the board's data, and saving needs (a project's ids): with the data, it is what a cache keeps, and gives back with setState rather than load again

getTitle()

abstractaBoard.php:59
abstract function getTitle(): ?string
returnsnull | stringwhat the board is called on GitHub (null until it is read, when it has to be)

getUrl()

abstractaBoard.php:62
abstract function getUrl(): string
returnsstringthe board's page on GitHub

keepsColor($kind)

aBoard.php:35
function keepsColor(string $kind): bool
$kindstringstatus, label or category
returnsboolwhether GitHub keeps the colour of that kind for this board, so save writes it there: what GitHub does not keep (an icon, the colour of a category) is for the application to keep

load()

abstractaBoard.php:68
abstract function load(): array
returnsarrayarray, labels: array, categories: array, tickets: array}
throwswhen GitHub refuses (no access, rate limit...)

meta($ticket, $type)

aBoard.php:130
protected function meta(array $ticket, string $type): array
$ticketarray
$typestringthe type of its status: backlog, active or done
returnsarraywhat the ticket holds that GitHub has no field for, empty values left out

remap($ticket, $ids, $categories)

aBoard.php:103

Give the board's ids of new tickets and categories the ones GitHub gave them.

protected function remap(array $ticket, array $ids, array $categories = []): array
$ticketarray
$idsarray
$categories = []array
returnsarraythe ticket

save($before, $after)

abstractaBoard.php:76
abstract function save(array $before, array $after): array
$beforearraythe board's data as load gave it
$afterarraythe board's data now
returnsarrayarray<string, string>} the id each new ticket got, by the id the board gave it
throwswhen GitHub refuses a change: the ones made before it are made