<?php /** * Main plugin file */ require_once(dirname(__FILE__) . "/lib/functions.php"); require_once(dirname(__FILE__) . "/lib/hooks.php"); require_once(dirname(__FILE__) . "/vendor/autoload.php"); // register default Elgg events elgg_register_event_handler("init", "system", "html_email_handler_init"); elgg_register_event_handler("pagesetup", "system", "html_email_handler_pagesetup"); /** * Gets called during system initialization * * @return void */ function html_email_handler_init() { // register page_handler for nice URL's elgg_register_page_handler("html_email_handler", "html_email_handler_page_handler"); // plugin hooks elgg_register_plugin_hook_handler("cron", "daily", "html_email_handler_daily_cron_hook"); // Handler that takes care of sending emails as HTML elgg_register_plugin_hook_handler("email", "system", "html_email_handler_email_hook"); } /** * Gets called during the pagesetup fase of the system * * @return void */ function html_email_handler_pagesetup() { // add a menu item to the Theming preview elgg_register_menu_item("theme_sandbox", array( "name" => "html_email_handler", "text" => elgg_echo("html_email_handler:theme_preview:menu"), "href" => "html_email_handler/test", "target" => "_blank" )); } /** * The page handler for html_email_handler * * @param array $page the page elements * * @return bool */ function html_email_handler_page_handler($page) { $result = false; switch ($page[0]) { case "test": $result = true; include(dirname(__FILE__) . "/pages/test.php"); break; } return $result; }