Beispiel #1
0
 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&param=' . $param, array('data-cmd' => 'creq'));
         }
         echo ' ' . common::Link('Admin_Theme_Content/' . $page->gpLayout, $langmessage['insert'], 'cmd=insert&param=' . $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;
 }