Your IP : 172.69.7.234


Current Path : /var/www/element/data/www/greenpr.ru/bitrix3/admin/htmleditor2/
Upload File :
Current File : /var/www/element/data/www/greenpr.ru/bitrix3/admin/htmleditor2/template_edit_editor.js

var templatePreparseHeaders = function()
{
	var TA = document.getElementById('CONTENT');
	if (TA)
		GLOBAL_pMainObj['CONTENT'].pParser.GetHBF(TA.value, false);
}
jsUtils.addCustomEvent('EditorLoadFinish_CONTENT', templatePreparseHeaders)

window.fullEditMode = true;

var edit_hbf = [ //hbf - head, body, footer
	'BXButton', 
	{
		id : 'edit_hbf',
		iconkit : '_global_iconkit.gif',
		name : TE_MESS.FILEMAN_EDIT_HBF,
		handler : function ()
		{
			this.bNotFocus = true;
			this.pMainObj.OpenEditorDialog("edit_hbf", false, 700, {});
		}
	}
];

var insert_wa = [
	'BXButton', 
	{
		id : 'insert_wa',
		iconkit : '_global_iconkit.gif',
		name : TE_MESS.FILEMAN_INSERT_WA,
		handler : function () {this.pMainObj.insertHTML('<IMG src="/bitrix/images/fileman/htmledit2/work_area.gif"  __bxtagname="work_area"/>');}
	}
];

var preview_tmpl = [
	'BXButton', 
	{
		id : 'preview_tmpl',
		iconkit : '_global_iconkit.gif',
		name : TE_MESS.FILEMAN_PREVIEW_TEMPLATE,
		title : TE_MESS.FILEMAN_PREVIEW_TEMPLATE_TITLE,
		handler : function () {preview_template(__ID);}
	}
];

arToolbars['style'] = [
	BX_MESS.TBSStyle,
		[arButtons['FontStyle'], arButtons['HeadingList'], arButtons['FontName'], arButtons['FontSize'], arButtons['separator'],
			arButtons['Bold'], arButtons['Italic'], arButtons['Underline'], 'separator',
			arButtons['RemoveFormat']
		]
];

var edit_template = oBXEditorUtils.createToolbar("edit_template", TE_MESS.FILEMAN_TOOLBAR_TITLE, [edit_hbf, insert_wa, preview_tmpl]);
oBXEditorUtils.addToolbar(edit_template);

function ReplaceSiteTemplatePath(str)
{
	var replace = function(str, b1, b2, b3_src, b4)
	{
		if (str.indexOf('__bxtagname') != -1 || b3_src.indexOf('SITE_TEMPLATE_PATH') == -1)
			return str;
		
		b3_src = b3_src.replace(/<\?=\s*SITE_TEMPLATE_PATH;?\s*\?>/i, SITE_TEMPLATE_PATH);
		b3_src = b3_src.replace(/<\?\s*echo\s*SITE_TEMPLATE_PATH;?\s*\?>/i, SITE_TEMPLATE_PATH);
		
		b1 = b1.replace(/__bxsrc\s*=\s*("|')((?:(?:\s|\S)*?[^\\]{1}){1})\1/i, '__bxsrc="' + b3_src + '"');
		b4 = b4.replace(/__bxsrc\s*=\s*("|')((?:(?:\s|\S)*?[^\\]{1}){1})\1/i, '__bxsrc="' + b3_src + '"');
		return b1 + b2 + b3_src + b2 + b4;
	};
	str = str.replace(/(<img(?:\s|\S)*?\s*src\s*=\s*)("|')((?:(?:\s|\S)*?[^\\]{1}){1})\2((?:(?:\s|\S)*?[^\?]{1})??>)/ig, replace);
	return str;
}

function TemplateEditContentParser(str)
{
	str = str.replace(/#WORK_AREA#/ig, '<IMG src="/bitrix/images/fileman/htmledit2/work_area.gif" __bxtagname="work_area"/>');
	str = ReplaceSiteTemplatePath(str);
	return str;
}
oBXEditorUtils.addContentParser(TemplateEditContentParser);


function TemplateEditNodeUnParser(node, pMainObj)
{
	if (node.type != 'element' || node.text != 'img')
		return;
	
	var src = node.arAttributes.__bxsrc;
	var len = SITE_TEMPLATE_PATH.length;
	
	if (src.substr(0, len) != SITE_TEMPLATE_PATH)
		return;

	var new_src = '<?=SITE_TEMPLATE_PATH?>' + src.substr(len);
	delete node.arAttributes.__bxsrc;
	node.arAttributes.src = new_src;
	node.bDontUseSpecialchars = true;
}
oBXEditorUtils.addNodeUnParser(TemplateEditNodeUnParser);

function TemplateEditUnParser(node)
{
	if (node.arAttributes["__bxtagname"] == 'work_area')
		return '#WORK_AREA#';
	return false;
}
oBXEditorUtils.addUnParser(TemplateEditUnParser);