%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/components/bitrix/main.interface.form/templates/.default/ |
Current File : //home/bitrix/www/bitrix/components/bitrix/main.interface.form/templates/.default/template.php |
<? /** * Bitrix Framework * @package bitrix * @subpackage main * @copyright 2001-2013 Bitrix */ /** * Bitrix vars * * @var array $arParams * @var array $arResult * @var CBitrixComponentTemplate $this * @global CMain $APPLICATION * @global CUser $USER */ if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die(); //color schemes if($arParams["USE_THEMES"]) $arThemes = CGridOptions::GetThemes($this->GetFolder()); else $arThemes = array(); ?> <div class="bx-interface-form"> <script type="text/javascript"> var bxForm_<?=$arParams["FORM_ID"]?> = null; </script> <?if($arParams["SHOW_FORM_TAG"]):?> <form name="form_<?=$arParams["FORM_ID"]?>" id="form_<?=$arParams["FORM_ID"]?>" action="<?=POST_FORM_ACTION_URI?>" method="POST" enctype="multipart/form-data"> <?=bitrix_sessid_post();?> <input type="hidden" id="<?=$arParams["FORM_ID"]?>_active_tab" name="<?=$arParams["FORM_ID"]?>_active_tab" value="<?=htmlspecialcharsbx($arResult["SELECTED_TAB"])?>"> <?endif?> <table cellspacing="0" class="bx-edit-tabs" width="100%"> <tr> <td class="bx-tab-indent"><div class="empty"></div></td> <? $nTabs = count($arResult["TABS"]); foreach($arResult["TABS"] as $tab): $bSelected = ($tab["id"] == $arResult["SELECTED_TAB"]); $callback = ''; if(strlen($tab['onselect_callback'])) { $callback = trim($tab['onselect_callback']); if(!preg_match('#^[a-z0-9-_\.]+$#i', $callback)) $callback = ''; } ?> <td title="<?=htmlspecialcharsbx($tab["title"])?>" id="tab_cont_<?=$tab["id"]?>" class="bx-tab-container<?=($bSelected? "-selected":"")?>" onclick="<?if(strlen($callback)):?><?=$callback?>('<?=$tab["id"]?>');<?endif?>bxForm_<?=$arParams["FORM_ID"]?>.SelectTab('<?=$tab["id"]?>');" onmouseover="if(window.bxForm_<?=$arParams["FORM_ID"]?>){bxForm_<?=$arParams["FORM_ID"]?>.HoverTab('<?=$tab["id"]?>', true);}" onmouseout="if(window.bxForm_<?=$arParams["FORM_ID"]?>){bxForm_<?=$arParams["FORM_ID"]?>.HoverTab('<?=$tab["id"]?>', false);}"> <table cellspacing="0"> <tr> <td class="bx-tab-left<?=($bSelected? "-selected":"")?>" id="tab_left_<?=$tab["id"]?>"><div class="empty"></div></td> <td class="bx-tab<?=($bSelected? "-selected":"")?>" id="tab_<?=$tab["id"]?>"><?=htmlspecialcharsbx($tab["name"])?></td> <td class="bx-tab-right<?=($bSelected? "-selected":"")?>" id="tab_right_<?=$tab["id"]?>"><div class="empty"></div></td> </tr> </table> </td> <? endforeach; ?> <td width="100%"<?if($USER->IsAuthorized() && $arParams["SHOW_SETTINGS"] == true):?> ondblclick="bxForm_<?=$arParams["FORM_ID"]?>.ShowSettings()"<?endif?> style="white-space:nowrap; text-align:right"> <?if(count($arResult["TABS"]) > 1 && $arParams["CAN_EXPAND_TABS"] == true):?> <a href="javascript:void(0)" onclick="bxForm_<?=$arParams["FORM_ID"]?>.ToggleTabs();" title="<?echo GetMessage("interface_form_show_all")?>" id="bxForm_<?=$arParams["FORM_ID"]?>_expand_link" class="bx-context-button bx-down"><span></span></a> <?endif?> <?if($arParams["SHOW_SETTINGS"] || !empty($arThemes)):?> <a href="javascript:void(0)" onclick="bxForm_<?=$arParams["FORM_ID"]?>.menu.ShowMenu(this, bxForm_<?=$arParams["FORM_ID"]?>.settingsMenu);" title="<?echo GetMessage("interface_form_settings")?>" class="bx-context-button bx-form-menu"><span></span></a> <?endif;?> </td> </tr> </table> <table cellspacing="0" class="bx-edit-tab"> <tr> <td> <? $bWasRequired = false; foreach($arResult["TABS"] as $tab): ?> <div id="inner_tab_<?=$tab["id"]?>" class="bx-edit-tab-inner"<?if($tab["id"] <> $arResult["SELECTED_TAB"]) echo ' style="display:none;"'?>> <div style="height: 100%;"> <?if($tab["title"] <> ''):?> <div class="bx-edit-tab-title"> <table cellpadding="0" cellspacing="0" border="0" class="bx-edit-tab-title"> <tr> <? if($tab["icon"] <> ""): ?> <td class="bx-icon"><div class="<?=htmlspecialcharsbx($tab["icon"])?>"></div></td> <? endif ?> <td class="bx-form-title"><?=htmlspecialcharsbx($tab["title"])?></td> </tr> </table> </div> <?endif;?> <div class="bx-edit-table"> <table cellpadding="0" cellspacing="0" border="0" class="bx-edit-table <?=(isset($tab["class"]) ? $tab['class'] : '')?>" id="<?=$tab["id"]?>_edit_table"> <? $i = 0; $cnt = count($tab["fields"]); $prevType = ''; foreach($tab["fields"] as $field): $style = ''; if(isset($field["show"])) { if($field["show"] == "N") { $style = "display:none;"; } } $i++; if(!is_array($field)) continue; $className = array(); if($i == 1) $className[] = 'bx-top'; if($i == $cnt) $className[] = 'bx-bottom'; if($prevType == 'section') $className[] = 'bx-after-heading'; if(strlen($field['class'])) $className[] = $field['class']; ?> <tr<?if(!empty($className)):?> class="<?=implode(' ', $className)?>"<?endif?><?if(!empty($style)):?> style="<?= $style ?>"<?endif?>> <? if($field["type"] == 'section'): ?> <td colspan="2" class="bx-heading"><?=htmlspecialcharsbx($field["name"])?></td> <? else: $val = (isset($field["value"])? $field["value"] : $arParams["~DATA"][$field["id"]]); $valEncoded = ''; if(!is_array($val)) $valEncoded = htmlspecialcharsbx(htmlspecialcharsback($val)); //default attributes if(!is_array($field["params"])) $field["params"] = array(); if($field["type"] == '' || $field["type"] == 'text') { if($field["params"]["size"] == '') $field["params"]["size"] = "30"; } elseif($field["type"] == 'textarea') { if($field["params"]["cols"] == '') $field["params"]["cols"] = "40"; if($field["params"]["rows"] == '') $field["params"]["rows"] = "3"; } elseif($field["type"] == 'date') { if($field["params"]["size"] == '') $field["params"]["size"] = "10"; } $params = ''; if(is_array($field["params"]) && $field["type"] <> 'file') { foreach($field["params"] as $p=>$v) $params .= ' '.$p.'="'.$v.'"'; } if($field["colspan"] <> true): if($field["required"]) $bWasRequired = true; ?> <td class="bx-field-name<?if($field["type"] <> 'label') echo' bx-padding'?>"<?if($field["title"] <> '') echo ' title="'.htmlspecialcharsEx($field["title"]).'"'?>><?=($field["required"]? '<span class="required">*</span>':'')?><?if(strlen($field["name"])):?><?=htmlspecialcharsEx($field["name"])?>:<?endif?></td> <? endif ?> <td class="bx-field-value"<?=($field["colspan"]? ' colspan="2"':'')?>> <? switch($field["type"]): case 'label': case 'custom': echo $val; break; case 'checkbox': ?> <input type="hidden" name="<?=$field["id"]?>" value="N"> <input type="checkbox" name="<?=$field["id"]?>" value="Y"<?=($val == "Y"? ' checked':'')?><?=$params?>> <? break; case 'textarea': ?> <textarea name="<?=$field["id"]?>"<?=$params?>><?=$valEncoded?></textarea> <? break; case 'list': case 'select': ?> <select name="<?=$field["id"]?>"<?=$params?>> <? if(is_array($field["items"])): if(!is_array($val)) $val = array($val); foreach($field["items"] as $k=>$v): ?> <option value="<?=htmlspecialcharsbx($k)?>"<?=(in_array($k, $val)? ' selected':'')?>><?=htmlspecialcharsbx($v)?></option> <? endforeach; ?> </select> <? endif; break; case 'file': $arDefParams = array("iMaxW"=>150, "iMaxH"=>150, "sParams"=>"border=0", "strImageUrl"=>"", "bPopup"=>true, "sPopupTitle"=>false, "size"=>20); foreach($arDefParams as $k=>$v) if(!array_key_exists($k, $field["params"])) $field["params"][$k] = $v; echo CFile::InputFile($field["id"], $field["params"]["size"], $val); if($val <> '') echo '<br>'.CFile::ShowImage($val, $field["params"]["iMaxW"], $field["params"]["iMaxH"], $field["params"]["sParams"], $field["params"]["strImageUrl"], $field["params"]["bPopup"], $field["params"]["sPopupTitle"]); break; case 'date': case 'date_short': ?> <?$APPLICATION->IncludeComponent( "bitrix:main.calendar", "", array( "SHOW_INPUT"=>"Y", "INPUT_NAME"=>$field["id"], "INPUT_VALUE"=>$val, "INPUT_ADDITIONAL_ATTR"=>$params, "SHOW_TIME" => $field["type"] === 'date'? 'Y' : 'N', ), $component, array("HIDE_ICONS"=>true) );?> <? break; default: ?> <input type="text" name="<?=$field["id"]?>" value="<?=$valEncoded?>"<?=$params?>> <? break; endswitch; ?> </td> <?endif?> </tr> <? $prevType = $field["type"]; endforeach; ?> </table> </div> </div> </div> <? endforeach; ?> </td> </tr> </table> <? if(isset($arParams["BUTTONS"])): ?> <div class="bx-buttons"> <?if($arParams["~BUTTONS"]["standard_buttons"] !== false):?> <?if($arParams["BUTTONS"]["back_url"] <> ''):?> <input type="submit" name="save" value="<?echo GetMessage("interface_form_save")?>" title="<?echo GetMessage("interface_form_save_title")?>" /> <?endif?> <input type="submit" name="apply" value="<?echo GetMessage("interface_form_apply")?>" title="<?echo GetMessage("interface_form_apply_title")?>" /> <?if($arParams["BUTTONS"]["back_url"] <> ''):?> <input type="button" value="<?echo GetMessage("interface_form_cancel")?>" name="cancel" onclick="window.location='<?=htmlspecialcharsbx(CUtil::addslashes($arParams["~BUTTONS"]["back_url"]))?>'" title="<?echo GetMessage("interface_form_cancel_title")?>" /> <?endif?> <?endif?> <?=$arParams["~BUTTONS"]["custom_html"]?> </div> <?endif?> <?if($arParams["SHOW_FORM_TAG"]):?> </form> <?endif?> <?if($USER->IsAuthorized() && $arParams["SHOW_SETTINGS"] == true):?> <div style="display:none"> <div id="form_settings_<?=$arParams["FORM_ID"]?>"> <table width="100%"> <tr class="section"> <td><?echo GetMessage("interface_form_tabs")?></td> </tr> <tr> <td align="center"> <table> <tr> <td style="background-image:none" nowrap> <select style="min-width:150px;" name="tabs" size="10" ondblclick="this.form.tab_edit_btn.onclick()" onchange="bxForm_<?=$arParams["FORM_ID"]?>.OnSettingsChangeTab()"> </select> </td> <td style="background-image:none"> <div style="margin-bottom:5px"><input type="button" name="tab_up_btn" value="<?echo GetMessage("intarface_form_up")?>" title="<?echo GetMessage("intarface_form_up_title")?>" style="width:80px;" onclick="bxForm_<?=$arParams["FORM_ID"]?>.TabMoveUp()"></div> <div style="margin-bottom:5px"><input type="button" name="tab_down_btn" value="<?echo GetMessage("intarface_form_up_down")?>" title="<?echo GetMessage("intarface_form_down_title")?>" style="width:80px;" onclick="bxForm_<?=$arParams["FORM_ID"]?>.TabMoveDown()"></div> <div style="margin-bottom:5px"><input type="button" name="tab_add_btn" value="<?echo GetMessage("intarface_form_add")?>" title="<?echo GetMessage("intarface_form_add_title")?>" style="width:80px;" onclick="bxForm_<?=$arParams["FORM_ID"]?>.TabAdd()"></div> <div style="margin-bottom:5px"><input type="button" name="tab_edit_btn" value="<?echo GetMessage("intarface_form_edit")?>" title="<?echo GetMessage("intarface_form_edit_title")?>" style="width:80px;" onclick="bxForm_<?=$arParams["FORM_ID"]?>.TabEdit()"></div> <div style="margin-bottom:5px"><input type="button" name="tab_del_btn" value="<?echo GetMessage("intarface_form_del")?>" title="<?echo GetMessage("intarface_form_del_title")?>" style="width:80px;" onclick="bxForm_<?=$arParams["FORM_ID"]?>.TabDelete()"></div> </td> </tr> </table> </td> </tr> <tr class="section"> <td><?echo GetMessage("intarface_form_fields")?></td> </tr> <tr> <td align="center"> <table> <tr> <td style="background-image:none" nowrap> <div style="margin-bottom:5px"><?echo GetMessage("intarface_form_fields_available")?></div> <select style="min-width:150px;" name="all_fields" multiple size="12" ondblclick="this.form.add_btn.onclick()" onchange="bxForm_<?=$arParams["FORM_ID"]?>.ProcessButtons()"> </select> </td> <td style="background-image:none"> <div style="margin-bottom:5px"><input type="button" name="add_btn" value=">" title="<?echo GetMessage("intarface_form_add_field")?>" style="width:30px;" disabled onclick="bxForm_<?=$arParams["FORM_ID"]?>.FieldsAdd()"></div> <div style="margin-bottom:5px"><input type="button" name="del_btn" value="<" title="<?echo GetMessage("intarface_form_del_field")?>" style="width:30px;" disabled onclick="bxForm_<?=$arParams["FORM_ID"]?>.FieldsDelete()"></div> </td> <td style="background-image:none" nowrap> <div style="margin-bottom:5px"><?echo GetMessage("intarface_form_fields_on_tab")?></div> <select style="min-width:150px;" name="fields" multiple size="12" ondblclick="this.form.del_btn.onclick()" onchange="bxForm_<?=$arParams["FORM_ID"]?>.ProcessButtons()"> </select> </td> <td style="background-image:none"> <div style="margin-bottom:5px"><input type="button" name="up_btn" value="<?echo GetMessage("intarface_form_up")?>" title="<?echo GetMessage("intarface_form_up_title")?>" style="width:80px;" disabled onclick="bxForm_<?=$arParams["FORM_ID"]?>.FieldsMoveUp()"></div> <div style="margin-bottom:5px"><input type="button" name="down_btn" value="<?echo GetMessage("intarface_form_up_down")?>" title="<?echo GetMessage("intarface_form_down_title")?>" style="width:80px;" disabled onclick="bxForm_<?=$arParams["FORM_ID"]?>.FieldsMoveDown()"></div> <div style="margin-bottom:5px"><input type="button" name="field_add_btn" value="<?echo GetMessage("intarface_form_add")?>" title="<?echo GetMessage("intarface_form_add_sect")?>" style="width:80px;" onclick="bxForm_<?=$arParams["FORM_ID"]?>.FieldAdd()"></div> <div style="margin-bottom:5px"><input type="button" name="field_edit_btn" value="<?echo GetMessage("intarface_form_edit")?>" title="<?echo GetMessage("intarface_form_edit_field")?>" style="width:80px;" onclick="bxForm_<?=$arParams["FORM_ID"]?>.FieldEdit()"></div> </td> </tr> </table> </td> </tr> <?if($arResult["IS_ADMIN"]):?> <tr class="section"> <td><?echo GetMessage("interface_form_common")?></td> </tr> <tr> <td><input type="checkbox" name="set_default_settings" id="set_default_settings_<?=$arParams["FORM_ID"]?>" onclick="BX('delete_users_settings_<?=$arParams["FORM_ID"]?>').disabled = !this.checked;"><label for="set_default_settings_<?=$arParams["FORM_ID"]?>"><?echo GetMessage("interface_form_common_set")?></label></td> </tr> <tr> <td><input type="checkbox" name="delete_users_settings" id="delete_users_settings_<?=$arParams["FORM_ID"]?>" disabled><label for="delete_users_settings_<?=$arParams["FORM_ID"]?>"><?echo GetMessage("interface_form_common_del")?></label></td> </tr> <?endif;?> </table> </div> </div> <? endif //$GLOBALS['USER']->IsAuthorized() ?> <? $variables = array( "mess"=>array( "collapseTabs"=>GetMessage("interface_form_close_all"), "expandTabs"=>GetMessage("interface_form_show_all"), "settingsTitle"=>GetMessage("intarface_form_settings"), "settingsSave"=>GetMessage("interface_form_save"), "tabSettingsTitle"=>GetMessage("intarface_form_tab"), "tabSettingsSave"=>"OK", "tabSettingsName"=>GetMessage("intarface_form_tab_name"), "tabSettingsCaption"=>GetMessage("intarface_form_tab_title"), "fieldSettingsTitle"=>GetMessage("intarface_form_field"), "fieldSettingsName"=>GetMessage("intarface_form_field_name"), "sectSettingsTitle"=>GetMessage("intarface_form_sect"), "sectSettingsName"=>GetMessage("intarface_form_sect_name"), ), "ajax"=>array( "AJAX_ID"=>$arParams["AJAX_ID"], "AJAX_OPTION_SHADOW"=>($arParams["AJAX_OPTION_SHADOW"] == "Y"), ), "settingWndSize"=>CUtil::GetPopupSize("InterfaceFormSettingWnd"), "tabSettingWndSize"=>CUtil::GetPopupSize("InterfaceFormTabSettingWnd", array('width'=>400, 'height'=>200)), "fieldSettingWndSize"=>CUtil::GetPopupSize("InterfaceFormFieldSettingWnd", array('width'=>400, 'height'=>150)), "component_path"=>$component->GetRelativePath(), "template_path"=>$this->GetFolder(), "sessid"=>bitrix_sessid(), "current_url"=>$APPLICATION->GetCurPageParam("", array("bxajaxid", "AJAX_CALL")), "GRID_ID"=>$arParams["THEME_GRID_ID"], ); ?> <script type="text/javascript"> var formSettingsDialog<?=$arParams["FORM_ID"]?>; bxForm_<?=$arParams["FORM_ID"]?> = new BxInterfaceForm('<?=$arParams["FORM_ID"]?>', <?=CUtil::PhpToJsObject(array_keys($arResult["TABS"]))?>); bxForm_<?=$arParams["FORM_ID"]?>.vars = <?=CUtil::PhpToJsObject($variables)?>; <?if($arParams["SHOW_SETTINGS"] == true):?> bxForm_<?=$arParams["FORM_ID"]?>.oTabsMeta = <?=CUtil::PhpToJsObject($arResult["TABS_META"])?>; bxForm_<?=$arParams["FORM_ID"]?>.oFields = <?=CUtil::PhpToJsObject($arResult["AVAILABLE_FIELDS"])?>; <?endif?> <? $settingsMenu = array(); if($arParams["SHOW_SETTINGS"]) { $settingsMenu[] = array( 'TEXT' => GetMessage("intarface_form_mnu_settings"), 'TITLE' => GetMessage("intarface_form_mnu_settings_title"), 'ONCLICK' => 'bxForm_'.$arParams["FORM_ID"].'.ShowSettings()', 'DEFAULT' => true, 'DISABLED' => ($USER->IsAuthorized()? false:true), 'ICONCLASS' => 'form-settings' ); if(!empty($arResult["OPTIONS"]["tabs"])) { if($arResult["OPTIONS"]["settings_disabled"] == "Y") { $settingsMenu[] = array( 'TEXT' => GetMessage("intarface_form_mnu_on"), 'TITLE' => GetMessage("intarface_form_mnu_on_title"), 'ONCLICK' => 'bxForm_'.$arParams["FORM_ID"].'.EnableSettings(true)', 'DISABLED' => ($USER->IsAuthorized()? false:true), 'ICONCLASS' => 'form-settings-on' ); } else { $settingsMenu[] = array( 'TEXT' => GetMessage("intarface_form_mnu_off"), 'TITLE' => GetMessage("intarface_form_mnu_off_title"), 'ONCLICK' => 'bxForm_'.$arParams["FORM_ID"].'.EnableSettings(false)', 'DISABLED' => ($USER->IsAuthorized()? false:true), 'ICONCLASS' => 'form-settings-off' ); } } } if(!empty($arThemes)) { $themeItems = array(); foreach($arThemes as $theme) { $themeItems[] = array( 'TEXT' => $theme["name"].($theme["theme"] == $arResult["GLOBAL_OPTIONS"]["theme"]? ' '.GetMessage("interface_form_default"):''), 'ONCLICK' => 'bxForm_'.$arParams["FORM_ID"].'.SetTheme(this, \''.$theme["theme"].'\')', 'ICONCLASS' => ($theme["theme"] == $arResult["OPTIONS"]["theme"] || $theme["theme"] == "grey" && $arResult["OPTIONS"]["theme"] == ''? 'checked' : '') ); } $settingsMenu[] = array( 'TEXT' => GetMessage("interface_form_colors"), 'TITLE' => GetMessage("interface_form_colors_title"), 'CLASS' => 'bx-grid-themes-menu-item', 'MENU' => $themeItems, 'DISABLED' => ($USER->IsAuthorized()? false:true), 'ICONCLASS' => 'form-themes' ); } ?> bxForm_<?=$arParams["FORM_ID"]?>.settingsMenu = <?=CUtil::PhpToJsObject($settingsMenu)?>; <?if($arResult["OPTIONS"]["expand_tabs"] == "Y"):?> BX.ready(function(){bxForm_<?=$arParams["FORM_ID"]?>.ToggleTabs(true);}); <?endif?> </script> </div> <?if($bWasRequired):?> <div class="bx-form-notes"><span class="required">*</span><?echo GetMessage("interface_form_required")?></div> <?endif?>