| 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 |
|
|
| 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; |
| 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 |
} |
} |
| 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>'; |
| 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>'; |
| 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( |
| 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 |
); |
); |