public static function EditAsArray(&$content_obj, $adding = false, $tab = 0, $showadmin = false)
 {
     if (!($tab_id = acTabManager::GetTabId($tab))) {
         return array();
     }
     $AC =& ac_utils::get_module('AdvancedContent');
     $ret = array();
     $tmp = array();
     if ($tab_id == 'main' || $tab_id == 'options' && check_permission(get_userid(), 'Manage All Content')) {
         $tmp = ac_utils::CleanArray($content_obj->DisplayAttributes($adding, $tab));
     } else {
         if ($tab_id == 'AdvancedContent') {
             $tmp = self::DisplayAdvancedOptions($content_obj, $adding);
         }
     }
     foreach ($tmp as $one) {
         $ret[] = $one;
     }
     $AC->smarty->assign_by_ref('content_obj', $content_obj);
     $AC->smarty->assign('tab', acTabManager::GetTab($tab_id));
     $AC->smarty->assign('locale', substr(get_preference(get_userid(), 'default_cms_language'), 0, 2));
     if ($tab == 0) {
         $html = $AC->GetHeaderHTML() . '<!-- start ac blocktypes head -->';
         $blockTypes =& acContentBlockManager::GetBlockTypes();
         foreach ($blockTypes as &$btype) {
             if ($btype['header_html_called']) {
                 continue;
             }
             $btype['header_html_called'] = true;
             $blocks = $btype['content_blocks'];
             $block_id = array_shift($blocks);
             $contentBlock =& $content_obj->GetContentBlock($block_id);
             if ($contentBlock->Type() == AC_INVALID_BLOCK_TYPE) {
                 continue;
             }
             $html .= $contentBlock->GetHeaderHTML();
         }
         echo $html . '<!-- end ac blocktypes head -->';
     }
     $ret[] = array('', $AC->ProcessTemplate('editcontent.tpl'));
     return $ret;
 }