To create new wiki account, please join us on #znc at Libera.Chat and ask admins to create a wiki account for you. You can say thanks to spambots for this inconvenience.

ZNC Templating

From ZNC
Jump to navigation Jump to search

ZNC Templating

These are my notes on templating for ZNC. I (jakoch) made them while creating the "znc-ation" skin. I had to figure the stuff out by reading the C source or asking around. Its a work in progress and others should/may contribute and enhance the pieces of information provided here. I hope it saves you some time, when doing templates for ZNC.

All template commands are placed in shorttags: <? ... ?>.

How to print a variable on template side?

<? VAR variablename ?>

Comparisons and Expressions

There are the following comparisons and expressions available:

IF AND (&&)

<? IF varA && varB ?> BOOLEAN AND <? ENDIF ?>

IF OR (||)

<? IF varA || varB ?> BOOLEAN OR <? ENDIF ?>

IF NOT (!)

Example usage on form input fields: <? IF !variablename ?> disabled="disabled" <? ENDIF ?>

More Expressions

!=

==

>=

<=

>

<

Template Commands

INC - Includes a file <? INC myfile.tmp ?>

SETOPTION

ADDROW

SET

JOIN

ESC - Escape

<? VAR VARIABLE ESC=ASCII ?>

SETBLOCK ENDSETBLOCK

EXPAND

LT - <?

GT - ?>

BREAK

CONTINUE

EXIT

DEBUG

LOOP ENDLOOP

REVERSE

SORT ASC DESC

REM - Comment inside Templates ENDREM

IF ELSE ENDIF

LOOP

Documentation of variables assigned to the template

Set by webmodules.cpp - CWebSock::SetVars()
Variable name Getter for the data Description
SessionUser GetUser() Prints username
SessionIP GetRemoteIP() Prints users IP .
Tag CZNC::GetTag() Prints ZNC Version and Website Link.
Version CZNC::GetVersion() Prints ZNC Version Number.
SkinName GetSkinName() Prints name of the active theme.
CSRF_Check GetCSRFCheck() Prints a md5 hash of the user session id. You won't really need this... Just use <? INC _csrf_check.tmpl ?> inside <form>s which use POST
IsAdmin
LoggedIn Is true, when the user is logged in false otherwise.