\documentclass{article}
\usepackage{ulem}
\usepackage{graphicx}
\usepackage{hyperref}
\pagestyle{headings}
\begin{document}
\part{A short-hand reference of common Horde idioms to get things done.}
Mostly useful to those who have recurring intermissions in their horde development.

\section{Classic UI: Reference an image from Theme}
Horde::img('image.png', 'Alt Text');<br />
// The Image will be searched in the themes folders, precedence: current app, selected theme - current app, default theme - horde, current theme - horde, default theme

\section{Locations}
\subsection{App Icon Url}
\$GLOBALS['registry']->get('icon', \$app);

\subsection{App Web Root Url}
\$GLOBALS['registry']->get('webroot', \$app);

\subsection{App's Javascript Url}
\$GLOBALS['registry']->applications[\$app]['jsuri'];

Note: This is most likely not what you want. Use the template \& js loading mechanism instead

\part{Servicing <a href="https://wiki.horde.org/JavaScript">JavaScript</a>}
\section{Load a file from app or horde base}
\$page\_output->addScriptFile('jquery-ui/jquery-1.9.0.min.js', \$app);

\section{Forward backend variable data to js}
\$page\_output->addInlineJsVars(\$data);<br />
This is useful for dynamic initialisation of Single Page Applications. Solves chicken - egg: Provide dynamic data the js needs to know but cannot (yet) get via ajax. Think of tokens or API Urls.

\section{Default <a href="https://wiki.horde.org/JavaScript">JavaScript</a> Helpers}
Date.<a href="https://wiki.horde.org/CultureInfo">CultureInfo</a> - various locale settings from the backend.


\noindent\rule{\textwidth}{1pt}
Back to the <a href="https://wiki.horde.org/Project">Project List</a>

\end{document}
