# Template Helper Functions

Helper-Funktionen sind dazu gedacht, die Templates zu vereinfachen und Fehler abzufangen.

## rrd::def

string rrd::def ( $vname, $rrdfile, $ds, [ $cf='AVERAGE' ] )

    $def = rrd::def('var1', $RRDFILE[0], $DS[0], 'MAX');

http://oss.oetiker.ch/rrdtool/doc/rrdgraph_data.en.html

## rrd::cdef

string rrd::cdef ( $vname, $rpn, )

    $def = rrd::cdef('var1_bits', 'var1,8,*' );

http://oss.oetiker.ch/rrdtool/doc/rrdgraph_data.en.html

## rrd::vdef

string rrd::vdef ( $vname, $rpn, )

    $def = rrd::vdef('var1_avg', 'var1,AVERAGE' );

http://oss.oetiker.ch/rrdtool/doc/rrdgraph_data.en.html

## rrd::line[1-3]

string rrd::line[1-3] ( $vname, $color, [ $text ], [ $stack ] )

    $def .= rrd::line1('var1', #ff00ff );

Eine einfache Linie, ein Pixel breit, ohne Label-Text

    $def .= rrd::line3('var1', '#ff00ff', 'Load' );

Eine Linie, drei Pixel breit, und dem Label “Load”

http://oss.oetiker.ch/rrdtool/doc/rrdgraph_graph.en.html

## rrd::area

string rrd::area ( $vname, $color, [ $text ], [ $stack ] )

    $def .= rrd::area('var1', '#ff00ff', 'Load' );

Eine Fläche mit dem Label “Load”

http://oss.oetiker.ch/rrdtool/doc/rrdgraph_graph.en.html

## rrd::gprint

string rrd::gprint ( $vname, $cf, [ $text ] )

    $def .= rrd::gprint('var1', 'MAX', '%4.2lf %s Max' );

    $def .= rrd::gprint('var1', array('MIN', 'MAX', 'AVERAGE'), '%4.2lf %s' );

Ist $cf ein Array, so wird automatisch eine Legende formatiert ausgegeben.

http://oss.oetiker.ch/rrdtool/doc/rrdgraph_graph.en.html

## rrd::color

string rrd::color ( $num [, $num ])

Liefert eine Farbe aus der HTML-Farbtabelle. Als zweites (optionales) Argument kann man einen Alpha-Wert angeben, der die Transparenz der Farbe festlegt.

Beginnend mit PNP 0.6.18 akzeptiert die Funktion ein drittes Argument, das auf Farbschemadefinitionen in `config.php` verweist (oder in `config_local.php`, die bei Updates nicht überschrieben wird). Dort finden Sie das Array $scheme[], z.B.

    $scheme['Reds'] = array (...)

Im Template definieren Sie

    $schema = $this->config->scheme['Reds']
    ...
    rrd:color ($key, '', $schema);

Aus diese Weise wählen Sie den Wert von $scheme['Reds'][$key]. Falls $key nicht innerhalb des Arrays liegt oder der Name nicht korrekt ist (case-sensitiv), dann wird die Standardpalette verwendet.

## rrd::gradient

string rrd::gradient ( $vname, [$start_color], [$end_color], [$label], [$steps], [$lower] )

Erzeugt einen Farbverlauf von $start_color nach $end_color

    $def .= rrd::gradient('var1', '#ff0000', '#ffff00' );

Beispiel

## rrd::cut

string rrd::cut ( $text, $length )

    $label = rrd::cut($LABEL[0], 18);

Schneidet einen Text auf eine gegebene Länge $length ab oder füllt wenn nötig auf $length auf. Diese Funktion ist hilfreich, wenn die Legende ausgerichtet werden soll, aber die Länge des Labels nicht bekannt ist.

## rrd::ticker

string rrd::ticker ( $vname, $warning, $critical, [$fraction], [$opacity], [$color_OK], [$color_WARN], [$color_CRIT] )

Erzeugt einen farbigen Balken am oberen Rand des Graphen, der je nach OK, WARNING & CRITICAL unterschiedliche Farben annimmt

    $def .= rrd::ticker( "var1", $WARN[0], $CRIT[0] );

Beispiel

## rrd::alerter

string rrd::alerter ( $vname, $label, $warning, $critical, [$opacity], [$unit], [$color_OK], [$color_WARN], [$color_CRIT], [$line_col] )

Erzeugt Areas, die entsprechend der Werte OK, WARNING & CRITICAL unterschiedliche Farben annehmen

    $def .= rrd::alerter( "var1", $LABEL[0], $WARN[0], $CRIT[0], "FF", $UNIT[0] );

Beispiel

## rrd::alerter_gr

string rrd::alerter_gr ( $vname, $label, $warning, $critical, [$opacity], [$unit], [$color_OK], [$color_WARN], [$color_CRIT], [$line_col], [$start_color] )

Erzeugt Gradienten, die entsprechend der Werte OK, WARNING & CRITICAL unterschiedliche Farben annehmen

    $def .= rrd::alerter_gr( "var1", $LABEL[0], $WARN[0], $CRIT[0], "FF", $UNIT[0] );

Beispiel