Several comma-separated tags will be considered as logical AND between them. You can also use semicolon for logical OR. AND has a priority over OR and you cannot use parentheses for logical grouping. Asterisk (*) within a tag will be regarded as a mask for "any string".
A hook is an entry point within a script where plugins can be executed to modify script's behavior. You can also treat it as an event which can be handled by third-party code. Cotonti literally includes PHP files registered as handlers for a specific hook. Imagine a script that has a hook in it:
PHP
1
2
3
4
5
6
7
8
$foo= 'The Lord of Foo';
$bar= 'hit the bar!';
// ...
// A HOOK is here
// ...
echo"$foo $bar";
Then consider there is a handler for that hook which can access any variables...
Most Cotonti scripts run in the global scope as it is historically built this way. Some variables are common enough to be seen in many places around the code. This article covers the most important globals.
Note: this guide comes handy for theme developers as well. You can use any of these global variables as global template tags as well. Just remember the CoTemplate syntax. E.g. $usr['profile']['user_avatar'] in a template becomes {PHP.usr.profile.user_avatar}.