%PDF- %PDF-
| Direktori : /home/bitrix/www/bitrix/components/bitrix/forum.user.profile.edit/templates/.default/ |
| Current File : //home/bitrix/www/bitrix/components/bitrix/forum.user.profile.edit/templates/.default/interface.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
class CForumTabControl
{
var $name, $unique_name;
var $tabs;
var $selectedTab;
var $tabIndex = 0;
var $bButtons = false;
var $bCanExpand;
var $customTabber;
function CForumTabControl($name, $tabs, $bCanExpand=true)
{
//array(array("DIV"=>"", "TAB"=>"", "ICON"=>, "TITLE"=>"", "ONSELECT"=>"javascript"), ...)
$this->tabs = $tabs;
$this->name = $name;
$this->unique_name = $name."_".md5($GLOBALS["APPLICATION"]->GetCurPage());
$this->bCanExpand = $bCanExpand;
if(isset($_REQUEST[$this->name."_active_tab"]))
$this->selectedTab = $_REQUEST[$this->name."_active_tab"];
else
$this->selectedTab = $tabs[0]["DIV"];
}
function Begin()
{
echo '
<div class="forum-tabs">
<div class="forum-tabs-header">
<div class="forum-profile-edit">
<div class="forum-profile-edit-inner">
';
$nTabs = count($this->tabs);
$i = 0;
foreach($this->tabs as $tab)
{
$bSelected = ($tab["DIV"] == $this->selectedTab);
echo '
<div title="'.$tab["TITLE"].'" id="tab_cont_'.$tab["DIV"].'" class="forum-info-box tab-container'.($bSelected? "-selected":"").'" onClick="'.$this->name.'.SelectTab(\''.$tab["DIV"].'\');" onMouseOver="'.$this->name.'.HoverTab(\''.$tab["DIV"].'\', true);" onMouseOut="'.$this->name.'.HoverTab(\''.$tab["DIV"].'\', false);">
<div class="forum-info-box-inner tab'.($bSelected? "-selected":"").'" id="tab_'.$tab["DIV"].'">'.$tab["TAB"].'</div>
</div>
';
$i++;
}
echo '
</div>
</div>
</div>
<div class="forum-tabs-body">
<div class="forum-info-box forum-profile-edit">
<div class="forum-info-box-inner forum-profile-edit-inner">
';
}
function BeginNextTab()
{
//end previous tab
$this->EndTab();
if($this->tabIndex >= count($this->tabs))
return;
echo '
<div class="forum-profile-edit-tab" id="'.$this->tabs[$this->tabIndex]["DIV"].'"'.($this->tabs[$this->tabIndex]["DIV"] <> $this->selectedTab? ' style="display:none;"':'').'>
<table cellpadding="0" cellspacing="0" border="0" class="forum-table forum-tab" id="'.$this->tabs[$this->tabIndex]["DIV"].'_edit_table">
';
if(array_key_exists("CUSTOM", $this->tabs[$this->tabIndex]) && $this->tabs[$this->tabIndex]["CUSTOM"] == "Y")
{
$this->customTabber->ShowTab($this->tabs[$this->tabIndex]["DIV"]);
$this->tabIndex++;
$this->BeginNextTab();
}
else
{
$this->tabIndex++;
}
}
function EndTab()
{
if($this->tabIndex < 1 || $this->tabIndex > count($this->tabs) || $this->tabs[$this->tabIndex-1]["_closed"] === true)
return;
echo '
</table>
</div>
';
$this->tabs[$this->tabIndex-1]["_closed"] = true;
}
function End()
{
while ($this->tabIndex < count($this->tabs))
$this->BeginNextTab();
//end previous tab
$this->EndTab();
echo '
</div>
</div>
</div>
</div>
<input type="hidden" id="'.$this->name.'_active_tab" name="'.$this->name.'_active_tab" value="'.htmlspecialcharsbx($this->selectedTab).'">
<script>';
$s = "";
foreach($this->tabs as $tab)
{
$s .= ($s <> ""? ", ":"").
"{".
"'DIV': '".$tab["DIV"]."' ".
($tab["ONSELECT"] <> ""? ", 'ONSELECT': '".CUtil::JSEscape($tab["ONSELECT"])."'":"").
"}";
}
echo '
var '.$this->name.' = new TabControl("'.$this->name.'", "'.$this->unique_name.'", ['.$s.']);';
echo '
'.$this->name.'.InitEditTables();
jsUtils.addEvent(window, "unload", function(){'.$this->name.'.Destroy();});
</script>
';
}
}
?>