* * GPL v3 (siehe COPYING). */ /** * \file htdocs/custom/mahnung/lib/mahnung_ui.lib.php * \ingroup mahnung * \brief Gemeinsame Anzeige-Bausteine des Moduls. * * Hier liegt die EINE Darstellung einer Mahnstufe. Vorher gab es sie * dreimal — auf der Mahnungskarte, in der Vorschlagsliste und im Widget * — jeweils mit eigener Farbskala. Dadurch stand die Stufe an zwei * Stellen doppelt da (farbiger Badge UND derselbe Text daneben), und die * Farben wären beim nächsten Eingriff auseinandergelaufen. */ /** * Zahnrad-Link in die Modul-Einstellungen — für den Kopf einer Modulseite. * * Gedacht für den Parameter $morehtmlright von load_fiche_titre(), damit das Icon * rechts neben dem Seitentitel steht (Dolibarr-Konvention). * * Sichtbar nur mit dem Recht mahnung.setup oder für Administratoren. Wer die * Einstellungen ohnehin nicht öffnen darf, bekommt kein Icon zu sehen, das ihn in * eine "Zugriff verweigert"-Meldung laufen lässt. * * @return string HTML ('' = kein Recht) */ function mahnungSetupLink() { global $langs, $user; if (!$user->hasRight('mahnung', 'setup') && empty($user->admin)) { return ''; } return '' .img_picto($langs->trans('MahnungSetupOeffnen'), 'setup', 'class="pictofixedwidth"') .''; } /** * Farbe einer Mahnstufe. * * Maßgeblich ist das Flag ist_erinnerung der Stufe, NICHT die Stufennummer: eine * kostenlose Zahlungserinnerung ist keine Eskalationsstufe und bleibt deshalb * neutral grau. Stufennummern oberhalb der Standardskala sind frei konfigurierte * Eskalationen und werden dunkelrot — sonst sähen sie harmloser aus als Stufe 3. * * @param int $stufe Stufennummer * @param bool $istErinnerung true = kostenlose Zahlungserinnerung * @return string CSS-Farbwert */ function mahnungStufeFarbe($stufe, $istErinnerung) { if ($istErinnerung) { return '#7a7a7a'; } // Eintrag für 0 ist nötig, weil die Stufennummer 0 auch eine echte // (kostenpflichtige) Mahnstufe sein kann — die kostenlose Erinnerung hängt am // Flag, nicht an der Nummer, und ist oben schon abgehandelt. Gedecktes // Blaugrau = mildeste Eskalation; bewusst nicht heller als Stufe 1, sonst // leidet der Kontrast zur weißen Badge-Schrift. $colors = array(0 => '#5b7fa6', 1 => '#4a90d9', 2 => '#e68a00', 3 => '#cc3333'); if (isset($colors[(int) $stufe])) { return $colors[(int) $stufe]; } return ((int) $stufe > 3) ? '#a32020' : '#666'; } /** * Badge einer Mahnstufe — Nummer und Bezeichnung in EINEM Element. * * Bewusst keine zweite Textausgabe daneben: die Bezeichnung der Stufe ist frei * konfigurierbar und heißt in der Praxis "Zahlungserinnerung", "1. Mahnung" usw. * Ein zusätzliches Typ-Etikett würde damit nur dasselbe Wort wiederholen. Welcher * Art die Stufe ist, transportieren Farbe und Tooltip. * * @param int $stufe Stufennummer * @param string $label Bezeichnung der Stufe ('' = nur Nummer) * @param bool $istErinnerung true = kostenlose Zahlungserinnerung * @param string $tooltip Zusatztext für das title-Attribut ('' = Standard) * @return string HTML */ function mahnungStufeBadge($stufe, $label, $istErinnerung, $tooltip = '') { global $langs; $stufe = (int) $stufe; $label = trim((string) $label); if ($tooltip === '') { $tooltip = $istErinnerung ? $langs->transnoentities('MahnungErinnerungKostenfrei') : $langs->transnoentities('MahnungVorschlagBadgeMahnungHelp'); } $text = (string) $stufe; if ($label !== '') { $text .= ' — '.$label; } $out = ''.dol_escape_htmltag($text).''; return $out; }