\documentclass{article}
\usepackage{ulem}
\pagestyle{headings}
\begin{document}
\tableofcontents

\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');\newline
// 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 JavaScript\footnote{http://example.com/index.php?page=JavaScript}}
\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);\newline
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 JavaScript\footnote{http://example.com/index.php?page=JavaScript} Helpers}
Date.CultureInfo\footnote{http://example.com/index.php?page=CultureInfo} - various locale settings from the backend.


\noindent\rule{\textwidth}{1pt}
Back to the Project List\footnote{http://example.com/index.php?page=Project}

\end{document}
