예제 #1
0
 /**
  * Display current layout, list of available layouts and list of titles affected by the layout setting for $title
  *
  */
 function SelectLayout($url, $query_string)
 {
     global $gp_titles, $gpLayouts, $langmessage, $config, $gp_index;
     $index = $_REQUEST['index'];
     $title = common::IndexToTitle($index);
     if (!$title) {
         echo $langmessage['OOPS'];
         return;
     }
     $this->title = $title;
     $Inherit_Info = admin_menu_tools::Inheritance_Info();
     $curr_layout = admin_menu_tools::CurrentLayout($index);
     $curr_info = $gpLayouts[$curr_layout];
     echo '<div class="inline_box">';
     echo '<h3>';
     echo $langmessage['current_layout'] . ': &nbsp; ';
     echo '<span class="layout_color_id" style="background-color:' . $curr_info['color'] . ';" title="' . $curr_info['color'] . '"></span> &nbsp; ';
     echo str_replace('_', ' ', $curr_info['label']);
     echo '</h3>';
     if (!empty($gp_titles[$index]['gpLayout'])) {
         echo '<p>';
         if (isset($Inherit_Info[$index]['parent_layout'])) {
             $parent_layout = $Inherit_Info[$index]['parent_layout'];
         } else {
             $parent_layout = $config['gpLayout'];
         }
         $parent_info = $gpLayouts[$parent_layout];
         echo $langmessage['restore'] . ': ';
         $span = '<span class="layout_color_id" style="background-color:' . $parent_info['color'] . ';" title="' . $parent_info['color'] . '"></span> ';
         echo common::Link($url, $span . $parent_info['label'], $query_string . 'cmd=restorelayout&index=' . urlencode($index), ' title="' . $langmessage['restore'] . '" name="postlink" ', 'restore');
         echo '</p>';
     }
     echo '<table class="bordered full_width">';
     echo '<tr>';
     echo '<th>';
     echo $langmessage['available_layouts'];
     echo '</th>';
     echo '<th>';
     echo $langmessage['theme'];
     echo '</th>';
     echo '</tr>';
     if (count($gpLayouts) < 2) {
         echo '<tr><td colspan="2">';
         echo $langmessage['Empty'];
         echo '</td></tr>';
         echo '</table>';
         echo common::Link('Admin_Theme_Content', $langmessage['new_layout']);
         echo '</div>';
         return;
     }
     foreach ($gpLayouts as $layout => $info) {
         if ($layout == $curr_layout) {
             continue;
         }
         echo '<tr>';
         echo '<td>';
         echo '<span class="layout_color_id" style="background-color:' . $info['color'] . ';" title="' . $info['color'] . '">';
         echo '</span> ';
         if ($layout != $curr_layout) {
             echo common::Link($url, $info['label'], $query_string . 'cmd=uselayout&index=' . urlencode($index) . '&layout=' . urlencode($layout), 'name="postlink"', 'use_' . $layout);
         }
         echo '</td>';
         echo '<td>';
         echo $info['theme'];
         echo '</td>';
         echo '</tr>';
     }
     echo '</table>';
     //show affected pages
     $affected = page_layout::GetAffectedFiles($index);
     echo '<br/>';
     echo '<table class="bordered full_width">';
     echo '<tr><th>' . $langmessage['affected_files'] . '</th></tr></table>';
     echo '<p class="sm">' . $langmessage['about_layout_change'] . '</p>';
     echo '<p class="admin_note" style="width:35em">';
     $label = common::GetLabelIndex($index, false);
     echo common::LabelSpecialChars($label);
     $i = 0;
     foreach ($affected as $affected_label) {
         $i++;
         echo ', ' . $affected_label;
     }
     echo '</p>';
     echo '<p>';
     echo ' <input type="submit" value="' . $langmessage['cancel'] . '" class="admin_box_close gpcancel" /> ';
     echo '</p>';
     echo '<p class="admin_note">';
     echo '<b>' . $langmessage['see_also'] . '</b> ';
     echo common::Link('Admin_Theme_Content', $langmessage['layouts']);
     echo '</p>';
     echo '</div>';
 }