예제 #1
0
 private static function _set_block_group($content_obj, &$contentBlock)
 {
     if ($contentBlock->GetProperty('block_group') == '') {
         return;
     }
     $AC =& ac_utils::get_module('AdvancedContent');
     $page_tab_id = $contentBlock->GetProperty('page_tab');
     $block_tab_id = $contentBlock->GetProperty('block_tab');
     $group_name = $contentBlock->GetProperty('block_group');
     $group_id = ($block_tab_id ? $block_tab_id : $page_tab_id) . '_' . ac_utils::CleanStrId($group_name);
     $tab_array = $block_tab_id ? self::$_tabs[$page_tab_id]['block_tabs'][$block_tab_id]['block_groups'] : self::$_tabs[$page_tab_id]['block_groups'];
     if (!isset($tab_array[$group_id])) {
         $collapsible = $contentBlock->GetProperty('collapsible');
         $group_display = $collapsible ? ac_admin_ops::GetVisibility('group', $group_id, $content_obj->Id(), $content_obj->TemplateId(), !$AC->GetPreference('collapse_group_default', 1)) : true;
         $pref_url = $collapsible ? str_replace('&', '&', $AC->CreateLink('m1_', 'savePrefs', '', $AC->lang('toggle_group'), array('item_type' => 'group', 'disable_theme' => true, 'edit_content' => true, 'content_id' => $content_obj->Id(), 'template_id' => $content_obj->TemplateId(), 'item_id' => $group_id, 'item_display' => !$group_display), '', true)) : '#';
         $tab_array[$group_id] = array('group_id' => $group_id, 'group_name' => $group_name, 'collapsible' => $collapsible, 'display' => $group_display, 'pref_url' => $pref_url);
     }
     $block_id = $contentBlock->GetProperty('id');
     $tab_array[$group_id]['content_blocks'][$block_id] = $block_id;
     if ($block_tab_id) {
         self::$_tabs[$page_tab_id]['block_tabs'][$block_tab_id]['block_groups'] = $tab_array;
         unset(self::$_tabs[$page_tab_id]['block_tabs'][$block_tab_id]['content_blocks'][$block_id]);
     } else {
         self::$_tabs[$page_tab_id]['block_groups'] = $tab_array;
     }
     unset(self::$_tabs[$page_tab_id]['content_blocks'][$block_id]);
 }