static function CallOutput($info, $container_id) { global $GP_ARRANGE, $page, $langmessage, $GP_MENU_LINKS, $GP_MENU_CLASS, $GP_MENU_CLASSES, $gp_current_container; $gp_current_container = $container_id; self::$out_started = true; self::$edit_area_id = ''; if (isset($info['disabled'])) { return; } //gpOutCmd identifies the output function used, there can only be one if (!isset($info['gpOutCmd'])) { trigger_error('gpOutCmd not set for $info in CallOutput()'); return; } $param = $container_id . '|' . $info['gpOutCmd']; $class = 'gpArea_' . str_replace(array(':', ','), array('_', ''), trim($info['gpOutCmd'], ':')); $permission = gpOutput::ShowEditLink('Admin_Theme_Content'); ob_start(); //for theme content arrangement if ($GP_ARRANGE && $permission && isset($GLOBALS['GP_ARRANGE_CONTENT'])) { $empty_container = empty($info['gpOutCmd']); //empty containers can't be removed and don't have labels $class .= ' gp_output_area'; echo '<div class="gp_inner_links nodisplay">'; echo common::Link('Admin_Theme_Content/' . $page->gpLayout, $param, 'cmd=drag_area&dragging=' . urlencode($param) . '&to=%s', array('data-cmd' => 'creq', 'class' => 'dragdroplink nodisplay')); //drag-drop link if (!$empty_container) { echo '<div class="output_area_label">'; echo ' ' . gpOutput::GpOutLabel($info['gpOutCmd']); echo '</div>'; } echo '<div class="output_area_link">'; if (!$empty_container) { echo ' ' . common::Link('Admin_Theme_Content/' . $page->gpLayout, $langmessage['remove'], 'cmd=rm_area¶m=' . $param, array('data-cmd' => 'creq')); } echo ' ' . common::Link('Admin_Theme_Content/' . $page->gpLayout, $langmessage['insert'], 'cmd=insert¶m=' . $param, array('data-cmd' => 'gpabox')); echo '</div></div>'; } //editable links only .. other editable_areas are handled by their output functions if ($permission) { if (isset($info['link'])) { $label = $langmessage[$info['link']]; $edit_link = gpOutput::EditAreaLink($edit_index, 'Admin_Theme_Content', $langmessage['edit'], 'cmd=editlinks&layout=' . urlencode($page->gpLayout) . '&handle=' . $param, ' data-cmd="gpabox" title="' . $label . '" '); echo '<span class="nodisplay" id="ExtraEditLnks' . $edit_index . '">'; echo $edit_link; echo common::Link('Admin_Menu', $langmessage['file_manager'], '', ' class="nodisplay"'); echo '</span>'; self::$edit_area_id = 'ExtraEditArea' . $edit_index; } elseif (isset($info['key']) && $info['key'] == 'CustomMenu') { $edit_link = gpOutput::EditAreaLink($edit_index, 'Admin_Theme_Content', $langmessage['edit'], 'cmd=editcustom&layout=' . urlencode($page->gpLayout) . '&handle=' . $param, ' data-cmd="gpabox" title="' . $langmessage['Links'] . '" '); echo '<span class="nodisplay" id="ExtraEditLnks' . $edit_index . '">'; echo $edit_link; echo common::Link('Admin_Menu', $langmessage['file_manager'], '', ' class="nodisplay"'); echo '</span>'; self::$edit_area_id = 'ExtraEditArea' . $edit_index; } } gpOutput::$editlinks .= ob_get_clean(); echo '<div class="' . $class . ' GPAREA">'; gpOutput::ExecArea($info); echo '</div>'; $GP_ARRANGE = true; $gp_current_container = false; }