Exemplo n.º 1
0
 /**
  * Move To Trash
  * Hide special pages
  *
  */
 public function MoveToTrash()
 {
     global $gp_titles, $gp_index, $langmessage, $gp_menu, $config, $dataDir;
     $this->CacheSettings();
     $_POST += array('index' => '');
     $indexes = explode(',', $_POST['index']);
     $trash_data = array();
     foreach ($indexes as $index) {
         $title = \gp\tool::IndexToTitle($index);
         // Create file in trash
         if ($title) {
             if (!\gp\admin\Content\Trash::MoveToTrash_File($title, $index, $trash_data)) {
                 msg($langmessage['OOPS'] . ' (Not Moved)');
                 $this->RestoreSettings();
                 return false;
             }
         }
         // Remove from menu
         if (isset($gp_menu[$index])) {
             if (count($gp_menu) == 1) {
                 continue;
             }
             if (!$this->RmFromMenu($index, false)) {
                 msg($langmessage['OOPS']);
                 $this->RestoreSettings();
                 return false;
             }
         }
         unset($gp_titles[$index]);
         unset($gp_index[$title]);
     }
     \gp\admin\Menu\Tools::ResetHomepage();
     if (!\gp\admin\Tools::SaveAllConfig()) {
         $this->RestoreSettings();
         return false;
     }
     $link = \gp\tool::GetUrl('Admin/Trash');
     msg(sprintf($langmessage['MOVED_TO_TRASH'], $link));
     \gp\tool\Plugins::Action('MenuPageTrashed', array($indexes));
     return true;
 }
Exemplo n.º 2
0
 /**
  * Display current layout, list of available layouts and list of titles affected by the layout setting for $title
  *
  */
 public function SelectLayout($url, $query_string)
 {
     global $gp_titles, $gpLayouts, $langmessage, $config, $gp_index;
     $index = $_REQUEST['index'];
     $title = \gp\tool::IndexToTitle($index);
     if (!$title) {
         echo $langmessage['OOPS'];
         return;
     }
     $this->title = $title;
     $Inherit_Info = \gp\admin\Menu\Tools::Inheritance_Info();
     $curr_layout = \gp\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 \gp\tool::Link($url, $span . $parent_info['label'], $query_string . 'cmd=restorelayout&index=' . urlencode($index), array('data-cmd' => 'postlink', 'title' => $langmessage['restore']), 'restore');
         echo '</p>';
     }
     echo '<table class="bordered full_width">';
     echo '<tr><th>';
     echo $langmessage['available_layouts'];
     echo '</th><th>';
     echo $langmessage['theme'];
     echo '</th></tr>';
     if (count($gpLayouts) < 2) {
         echo '<tr><td colspan="2">';
         echo $langmessage['Empty'];
         echo '</td></tr>';
         echo '</table>';
         echo \gp\tool::Link('Admin_Theme_Content', $langmessage['new_layout']);
         echo '</div>';
         return;
     }
     foreach ($gpLayouts as $layout => $info) {
         if ($layout == $curr_layout) {
             continue;
         }
         echo '<tr><td>';
         echo '<span class="layout_color_id" style="background-color:' . $info['color'] . ';" title="' . $info['color'] . '">';
         echo '</span> ';
         if ($layout != $curr_layout) {
             echo \gp\tool::Link($url, $info['label'], $query_string . 'cmd=uselayout&index=' . urlencode($index) . '&layout=' . urlencode($layout), array('data-cmd' => 'postlink'), 'use_' . $layout);
         }
         echo '</td><td>';
         echo $info['theme'];
         echo '</td></tr>';
     }
     echo '</table>';
     //show affected pages
     $affected = self::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 = \gp\tool::GetLabelIndex($index, false);
     echo \gp\tool::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 \gp\tool::Link('Admin_Theme_Content', $langmessage['layouts']);
     echo '</p>';
     echo '</div>';
 }
Exemplo n.º 3
0
 protected function MenuInsert_Child($titles, $parent)
 {
     if (!isset($this->curr_menu_array[$parent]) || !isset($this->curr_menu_array[$parent]['level'])) {
         return false;
     }
     $parent_level = $this->curr_menu_array[$parent]['level'];
     //level adjustment
     $old_level = \gp\admin\Menu\Tools::GetRootLevel($titles);
     $level_adjustment = $parent_level - $old_level + 1;
     $titles = $this->AdjustMovedLevel($titles, $level_adjustment);
     //rebuild menu
     //	insert $titles after parent
     $new_menu = array();
     foreach ($this->curr_menu_array as $menu_title => $menu_info) {
         $new_menu[$menu_title] = $menu_info;
         if ($menu_title == $parent) {
             foreach ($titles as $titles_title => $titles_info) {
                 $new_menu[$titles_title] = $titles_info;
             }
         }
     }
     $this->curr_menu_array = $new_menu;
     return true;
 }
Exemplo n.º 4
0
 /**
  * Remove an alternate menu from the configuration and delete the data file
  *
  */
 public function MenuRemove()
 {
     global $langmessage, $config, $dataDir;
     $menu_id =& $_POST['id'];
     if (!\gp\admin\Menu\Tools::IsAltMenu($menu_id)) {
         msg($langmessage['OOPS']);
         return;
     }
     $menu_file = $dataDir . '/data/_menus/' . $menu_id . '.php';
     unset($config['menus'][$menu_id]);
     unset($this->avail_menus[$menu_id]);
     \gp\admin\Tools::SaveConfig(true, true);
     //delete menu file
     $menu_file = $dataDir . '/data/_menus/' . $menu_id . '.php';
     if (\gp\tool\Files::Exists($menu_file)) {
         unlink($menu_file);
     }
 }