on, 'off' -> off, 'default'/absent -> follow the LIVE global default. * * The stored values are the non-falsy strings 'on'/'off' (not '1'/'0'): Kanboard's * MetadataModel::get() uses `?:`, and PHP treats the string "0" as falsy, so a stored "0" would * come back as the 'default' fallback and "Always off" would never be honored. */ class OrganonProjectHelper extends Base { const EMPHASIZE_KEY = 'organon_tweaks_emphasize_duedate'; const EMPHASIZE_DEFAULT_KEY = 'organon_tweaks_emphasize_duedate_default'; /** * Should the current board emphasize the due date? Board pages only (project_id in the route). * * @return bool */ public function isEmphasizeDueDate() { $project_id = $this->request->getIntegerParam('project_id'); if ($project_id <= 0) { return false; } $value = $this->projectMetadataModel->get($project_id, self::EMPHASIZE_KEY, 'default'); if ($value === 'on') { return true; } if ($value === 'off') { return false; } // 'default' (or absent) -> follow the live global default. return (int) $this->configModel->get(self::EMPHASIZE_DEFAULT_KEY, 0) === 1; } }