ZNC (http://znc.in) is an advanced IRC bouncer that is left connected so an IRC client can disconnect/reconnect without losing the chat session.
These are my notes on templating for ZNC.
You may find them also in the offical ZNC Wiki: http://wiki.znc.in/index.php?title=ZNC_Templating.
I (jakoch) made them while creating the “znc-ation” skin for ZNC.
I’ve committed the skin as a replacement for the old and worn skins of ZNC, but unfortunately
my request was denied by Alexey Sokolov (DarkGandalf).
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 /znc/src/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 | GetSession()->IsAdmin() | Is true, when the user is administrator. |
LoggedIn | IsLoggedIn() | Is true, when the user is logged in. |