/[drupal]/contributions/modules/controlpanel/controlpanel.module
ViewVC logotype

Diff of /contributions/modules/controlpanel/controlpanel.module

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.30, Fri Feb 27 16:58:47 2009 UTC revision 1.31, Fri Feb 27 19:49:00 2009 UTC
# Line 79  function controlpanel_build_controlpanel Line 79  function controlpanel_build_controlpanel
79    $content = '';    $content = '';
80    
81    if ($menu_key == NULL) {    if ($menu_key == NULL) {
82      $menu_key = variable_get('controlpanel_menu_source' . $block, 1);      $menu_key = variable_get('controlpanel_menu_source' . $block, 'navigation:0');
83    }    }
84    
85    list($menu_name, $mlid) = explode(':', $menu_key);    list($menu_name, $mlid) = explode(':', $menu_key);
86    $menu = menu_tree_all_data($menu_name);    $menu = menu_tree_all_data($menu_name);
   $panel_menu = _controlpanel_get_menu($menu, $mlid);  
87    
88    if (variable_get('controlpanel_build_children' . $block, 0) != 0) {    $panel_menu = _controlpanel_get_menu($menu, $mlid, $menu_name);
89    
90      if (variable_get('controlpanel_build_children' . $block, 1) != 0) {
91          $css_class = variable_get('controlpanel_child_collapsable' . $block, 1) ? 'control-panel-fieldset collapsible' : 'control-panel-fieldset';          $css_class = variable_get('controlpanel_child_collapsable' . $block, 1) ? 'control-panel-fieldset collapsible' : 'control-panel-fieldset';
92      $content .= '<fieldset class="'.$css_class.'">';      $content .= '<fieldset class="'.$css_class.'">';
93      $content .= '<legend>' .  $panel_menu['link']['title'] . '</legend>';      $content .= '<legend>' .  $panel_menu['link']['title'] . '</legend>';
94    }    }
95    $content .= theme('controlpanel_panel_view', $panel_menu, $block);    $content .= theme('controlpanel_panel_view', $panel_menu, $block);
96    
97    if (variable_get('controlpanel_build_children' . $block, 0) && (variable_get('controlpanel_child_levels' . $block, 2) > 1) && (is_array($panel_menu['below']))) {    if (variable_get('controlpanel_build_children' . $block, 1) && (variable_get('controlpanel_child_levels' . $block, 2) > 1) && (is_array($panel_menu['below'])) && (count($panel_menu['below']) > 0)) {
98      $content = theme('controlpanel_child_panel_view', $panel_menu['below'], 0, $content, $block);      $content = theme('controlpanel_child_panel_view', $panel_menu['below'], 0, $content, $block);
99    }    }
100    if (variable_get('controlpanel_build_children' . $block, 0) != 0) {    if (variable_get('controlpanel_build_children' . $block, 1) != 0) {
101      $content .= '</fieldset>';      $content .= '</fieldset>';
102    }    }
103    
# Line 107  function controlpanel_build_controlpanel Line 108  function controlpanel_build_controlpanel
108    }    }
109  }  }
110    
111  function _controlpanel_get_menu($parent_menu, $mlid) {  function _controlpanel_get_menu($parent_menu, $mlid, $menu_name = null) {
112      if ($mlid == 0) {
113        return array('link' => array('title'     => $menu_name,
114                                     'mlid'      => 0,
115                                     'href' => null),
116                     'below' => $parent_menu);
117      }
118    foreach ($parent_menu as $key => $value) {    foreach ($parent_menu as $key => $value) {
119      if ($value['link']['mlid'] == $mlid) return $value;      if ($value['link']['mlid'] == $mlid) return $value;
120      if (is_array($value['below'])) {      if (is_array($value['below'])) {
121        $below = _controlpanel_get_menu($value['below'], $mlid);        $below = _controlpanel_get_menu($value['below'], $mlid);
122        if (is_array($below)) return $below;        if (is_array($below) && (count($panel_menu['below']) > 0)) return $below;
123      }      }
124    }    }
125    return null;    return null;
# Line 148  function theme_controlpanel_panel_view($ Line 155  function theme_controlpanel_panel_view($
155      foreach ($menu['below'] as $menu_item) {      foreach ($menu['below'] as $menu_item) {
156        if ($menu_item['link']['hidden'] == 0) {        if ($menu_item['link']['hidden'] == 0) {
157          $content .= '<div class="control-panel-item control-panel-icon-size-' . variable_get('controlpanel_icon_size' . $block, '48x48') . '">';          $content .= '<div class="control-panel-item control-panel-icon-size-' . variable_get('controlpanel_icon_size' . $block, '48x48') . '">';
158          $content .= '<a href="' . url($menu_item['link']['link_path']) . '">';          $content .= '<a href="' . url($menu_item['link']['href']) . '">';
159          $working_path = drupal_get_path_alias($menu_item['link']['link_path']);          $working_path = drupal_get_path_alias($menu_item['link']['href']);
160          if (is_numeric(substr($working_path, strrpos($working_path, "/") + 1))) {          if (is_numeric(substr($working_path, strrpos($working_path, "/") + 1))) {
161            $working_path = substr($working_path, 0, strrpos($working_path, "/"));            $working_path = substr($working_path, 0, strrpos($working_path, "/"));
162          }          }
# Line 160  function theme_controlpanel_panel_view($ Line 167  function theme_controlpanel_panel_view($
167            $src = $image_directory . '/control_panel_default.png';            $src = $image_directory . '/control_panel_default.png';
168          }          }
169          $content .= '<span style="display:block;">';          $content .= '<span style="display:block;">';
170          $content .= '<img src="' . base_path() . $src . '" alt="'. $menu_item['link']['title'] .'" title="'. $menu_item['link']['description'] .'" />';          $content .= '<img src="' . base_path() . $src . '" alt="'. $menu_item['link']['title'] .'" title="'. strip_tags($menu_item['link']['description']) .'" />';
171          $content .= '<br />' . $menu_item['link']['title'];          $content .= '<br />' . $menu_item['link']['title'];
172          $content .= '</span>';          $content .= '</span>';
173          $content .= '</a>';          $content .= '</a>';
# Line 177  function theme_controlpanel_panel_view($ Line 184  function theme_controlpanel_panel_view($
184  function theme_controlpanel_child_panel_view($menu, $depth, $content, $block = NULL){  function theme_controlpanel_child_panel_view($menu, $depth, $content, $block = NULL){
185    if ($depth < variable_get('controlpanel_child_levels' . $block, 2)-1) {    if ($depth < variable_get('controlpanel_child_levels' . $block, 2)-1) {
186      foreach ($menu as $menu_item) {      foreach ($menu as $menu_item) {
187        if (is_array($menu_item['below'])) {        if (is_array($menu_item['below']) && (count($menu_item['below']) > 0)) {
188                  $css_class = variable_get('controlpanel_child_collapsable', 1) ? 'control-panel-fieldset collapsible collapsed' : 'control-panel-fieldset';                  $css_class = variable_get('controlpanel_child_collapsable', 1) ? 'control-panel-fieldset collapsible collapsed' : 'control-panel-fieldset';
189          $content .= '<fieldset class="'.$css_class.'">';          $content .= '<fieldset class="'.$css_class.'">';
190          $content .= '<legend>' . $menu_item['link']['title'] . '</legend>';          $content .= '<legend>' . $menu_item['link']['title'] . '</legend>';
# Line 233  function _controlpanel_settings_form($bl Line 240  function _controlpanel_settings_form($bl
240    $form['general']['controlpanel_menu_source' . $block] = array(    $form['general']['controlpanel_menu_source' . $block] = array(
241      '#type' => 'select',      '#type' => 'select',
242      '#title' => t('Source menu item'),      '#title' => t('Source menu item'),
243      '#default_value' =>  variable_get('controlpanel_menu_source' . $block, 1),      '#default_value' =>  variable_get('controlpanel_menu_source' . $block, 'navigation:0'),
244      '#options' => $options);      '#options' => $options);
245    
246    $form['general']['controlpanel_icon_size' . $block] = array(    $form['general']['controlpanel_icon_size' . $block] = array(
# Line 251  function _controlpanel_settings_form($bl Line 258  function _controlpanel_settings_form($bl
258    $form['child_panels']['controlpanel_build_children' . $block] = array(    $form['child_panels']['controlpanel_build_children' . $block] = array(
259      '#type' => 'checkbox',      '#type' => 'checkbox',
260      '#title' => t('Build Child Menu Panels'),      '#title' => t('Build Child Menu Panels'),
261      '#default_value' => variable_get('controlpanel_build_children' . $block, 0),      '#default_value' => variable_get('controlpanel_build_children' . $block, 1),
262      '#tree' => FALSE,      '#tree' => FALSE,
263      '#description' => t('Check this box to recursively build child panels.')      '#description' => t('Check this box to recursively build child panels.')
264    );    );

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.31

  ViewVC Help
Powered by ViewVC 1.1.2