/** * Add a menu item in the long text inputs (like embed and tinymce) * * @param string $hook name of the hook * @param string $type type of the hook * @param array $returnvalue Default menu items * @param array $params params for the hook * * @return array Menu items */ public static function longtextRegister($hook, $type, $returnvalue, $params) { $id = elgg_extract('id', $params); if (strpos($id, 'newsletter-edit-content-') !== 0) { return; } if (!newsletter_embed_available()) { return; } $guid = str_replace('newsletter-edit-content-', '', $id); $returnvalue[] = \ElggMenuItem::factory(['name' => 'newsletter-embed-content', 'href' => "newsletter/embed/{$guid}", 'text' => elgg_echo('newsletter:menu:longtext:embed_content'), 'link_class' => 'elgg-longtext-control elgg-lightbox', 'priority' => 5]); elgg_load_js('lightbox'); elgg_load_css('lightbox'); elgg_require_js('newsletter/embed'); return $returnvalue; }
/** * Add a menu item in the long text inputs (like embed and tinymce) * * @param string $hook name of the hook * @param string $type type of the hook * @param array $returnvalue Default menu items * @param array $params params for the hook * * @return array Menu items */ function newsletter_register_longtext_menu_handler($hook, $type, $returnvalue, $params) { $result = $returnvalue; $id = elgg_extract("id", $params); if (strpos($id, "newsletter-edit-content-") === 0) { if (newsletter_embed_available()) { $guid = str_replace("newsletter-edit-content-", "", $id); $result[] = ElggMenuItem::factory(array("name" => "newsletter-embed-content", "href" => "newsletter/embed/" . $guid, "text" => elgg_echo("newsletter:menu:longtext:embed_content"), "link_class" => "elgg-longtext-control elgg-lightbox", "priority" => 5)); elgg_load_js("lightbox"); elgg_load_css("lightbox"); elgg_require_js("newsletter/embed"); } } return $result; }
<?php $guid = (int) get_input("guid"); elgg_entity_gatekeeper($guid, "object", Newsletter::SUBTYPE); if (!newsletter_embed_available()) { forward(); } $entity = get_entity($guid); echo elgg_view("newsletter/embed", array("entity" => $entity));