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; }
function CallOutput($info, $container_id) { global $GP_ARRANGE, $page, $langmessage, $gpOutStarted, $GP_MENU_LINKS, $GP_MENU_CLASS, $gp_current_container; $gp_current_container = $container_id; $gpOutStarted = true; 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'], ':')); $innerLinks = ''; $id = ''; $permission = gpOutput::ShowEditLink('Admin_Theme_Content'); //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 .= ' output_area'; $innerLinks .= '<div class="gplinks nodisplay">'; $innerLinks .= common::Link('Admin_Theme_Content', $param, 'cmd=drag&layout=' . urlencode($page->gpLayout) . '&dragging=' . urlencode($param) . '&to=%s', 'name="creq" class="dragdroplink nodisplay"'); //drag-drop link if (!$empty_container) { $innerLinks .= '<div class="output_area_label">'; $innerLinks .= ' ' . gpOutput::GpOutLabel($info['gpOutCmd']); $innerLinks .= '</div>'; } $innerLinks .= '<div class="output_area_link">'; if (!$empty_container) { $innerLinks .= ' ' . common::Link('Admin_Theme_Content', 'Remove', 'cmd=rm&layout=' . urlencode($page->gpLayout) . '¶m=' . $param, ' name="creq"'); } $innerLinks .= ' ' . common::Link('Admin_Theme_Content', 'Insert', 'cmd=insert&layout=' . urlencode($page->gpLayout) . '¶m=' . $param, ' name="gpabox"'); $innerLinks .= '</div>'; $innerLinks .= '</div>'; } //$arrange_links = gpOutput::ArrangeLinks($info); //editable links only .. other editable_areas are handled by their output functions if ($permission) { $menu_marker = false; if (isset($info['link'])) { $label = $langmessage[$info['link']]; $class .= ' editable_area'; $menu_marker = true; $edit_link = gpOutput::EditAreaLink($edit_index, 'Admin_Theme_Content', $langmessage['edit'], 'cmd=editlinks&layout=' . urlencode($page->gpLayout) . '&handle=' . $param, ' rel="links" name="gpabox" title="' . $label . '" '); echo '<span class="nodisplay" id="ExtraEditLnks' . $edit_index . '">'; echo $edit_link; //echo $arrange_links; echo common::Link('Admin_Menu', $langmessage['file_manager'], '', ' class="nodisplay"'); echo '</span>'; $id = '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, ' rel="links" name="gpabox" title="' . $langmessage['Links'] . '" '); echo '<span class="nodisplay" id="ExtraEditLnks' . $edit_index . '">'; echo $edit_link; //echo $arrange_links; echo common::Link('Admin_Menu', $langmessage['file_manager'], '', ' class="nodisplay"'); echo '</span>'; $id = 'id="ExtraEditArea' . $edit_index . '"'; $class .= ' editable_area'; $menu_marker = true; } //for menu arrangement, admin_menu_new.js if ($menu_marker) { echo '<div class="menu_marker nodisplay">'; echo '<input type="hidden" value="' . htmlspecialchars($info['gpOutCmd']) . '" />'; echo '<input type="hidden" value="' . htmlspecialchars($GP_MENU_LINKS) . '" />'; echo '<input type="hidden" value="' . htmlspecialchars($GP_MENU_CLASS) . '" />'; echo '</div>'; } } echo '<div class="' . $class . ' GPAREA" ' . $id . '>'; echo $innerLinks; gpOutput::ExecArea($info); echo '</div>'; $GP_ARRANGE = true; $gp_current_container = false; }