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/cvetdv.ru/bitrix/modules/goodde.yandexturboapi/admin/ |
Upload File : |
<? use Bitrix\Main\Loader, Bitrix\Main\Localization\Loc, \Goodde\Export\TurboProfileTable; require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/goodde.yandexturboapi/admin/tools.php"); $moduleId = 'goodde.yandexturboapi'; Loc::loadMessages(__FILE__); if(CModule::IncludeModuleEx($moduleId) == 3) { require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); CAdminMessage::showMessage(array( "MESSAGE" => Loc::getMessage("GOODDE_TYRBO_API_ERROR_MODULE_DEMO_EXPIRED"), "TYPE" => "ERROR", )); return; } elseif(!Loader::IncludeModule($moduleId)) { require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); CAdminMessage::showMessage(array( "MESSAGE" => Loc::getMessage("GOODDE_TYRBO_API_ERROR_MODULE"), "TYPE" => "ERROR", )); return; } $POST_RIGHT = $APPLICATION->GetGroupRight("goodde.yandexturboapi"); if ($POST_RIGHT == "D") $APPLICATION->AuthForm(Loc::getMessage("ACCESS_DENIED")); $sTableId = "goodde_yandex_turbo_profile"; $oSort = new CAdminSorting($sTableId, "ID", "asc"); $lAdmin = new CAdminUiList($sTableId, $oSort); $arFilter = array(); $isRedirect = false; $PROFILE_ID = intval($_REQUEST['PROFILE_ID'] ? $_REQUEST['PROFILE_ID'] : $_REQUEST['ID']); if($USER->CanDoOperation('edit_php') && check_bitrix_sessid()) { if($PROFILE_ID > 0) { $arProfile = TurboProfileTable::getRow(array( 'select' => array('ID', 'IN_AGENT'), 'filter' => array('=ID' => $PROFILE_ID), 'limit' => 1, )); if($arProfile) { $PROFILE_ID = (int)$arProfile['ID']; } else { $PROFILE_ID = 0; } } if($PROFILE_ID > 0) { if($_REQUEST['action'] === 'agent') { $agentPeriod = \Goodde\YandexTurbo\Turbo::checkTypeCount($_REQUEST['agent_period']); if($agentPeriod<=0) $agentPeriod = 24; if($arProfile['IN_AGENT'] == 'Y') CAgent::RemoveAgent("\Goodde\Export\ProfileTools::preGenerateExport(".$PROFILE_ID.");", $moduleId); else CAgent::AddAgent("\Goodde\Export\ProfileTools::preGenerateExport(".$PROFILE_ID.");", $moduleId, "N", $agentPeriod*60*60, "", "Y"); TurboProfileTable::update($PROFILE_ID, array( 'IN_AGENT' => ($arProfile['IN_AGENT'] == 'Y' ? 'N' : 'Y') )); $isRedirect = true;; } elseif($_REQUEST['action_button_goodde_yandex_turbo_profile'] === 'delete' || $_REQUEST['action'] === 'delete') { $DB->StartTransaction(); $result = TurboProfileTable::delete($PROFILE_ID); if(!$result->isSuccess()) { $DB->Rollback(); $lAdmin->AddGroupError(Loc::getMessage("GOODDE_TYRBO_API_DELETE_ERROR"), $PROFILE_ID); } $DB->Commit(); } } if($isRedirect) { $redirectUrl = "/bitrix/admin/goodde_profile_list.php?lang=".urlencode(LANGUAGE_ID)."&success_export=Y"; LocalRedirect($redirectUrl); } } $colHeaders = array(); $arSelectFields = array( 'ID', 'NAME', 'ACTIVE', 'SORT', 'TIMESTAMP_X', 'MODIFIED_BY', 'DATE_CREATE', 'CREATED_BY', 'LID', 'LAST_START', 'LAST_END', 'TOTAL_ITEMS', 'TOTAL_ELEMENTS', 'TOTAL_OFFERS', 'TOTAL_SECTIONS', 'TOTAL_RUN_TIME', 'TOTAL_MEMORY', 'IN_AGENT' ); $query = \Goodde\Export\TurboProfileTable::query(); $query->setSelect($arSelectFields); $query->addOrder($by, $order); $dbResultList = new CAdminUiResult($query->exec(), $sTableId); $dbResultList->NavStart(); $lAdmin->SetNavigationParams($dbResultList, array("BASE_LINK" => "/bitrix/admin/goodde_profile_list.php")); $columns = \Goodde\Export\TurboProfileTable::getEntity()->getFields(); foreach($columns as $code => $column) { if(in_array($column->getName(), $arSelectFields)) { $colHeaders[] = array( "id" => $column->getName(), "content" => $column->getTitle(), "default" => true, ); } } $lAdmin->AddHeaders($colHeaders); $arUserList = array(); $strNameFormat = CSite::GetNameFormat(true); while($arProfile = $dbResultList->NavNext(false)) { $el_edit_url = \Goodde\YandexTurbo\CGooddeYandexTurboTools::GetAdminElementEditLink($arProfile["ID"], 'goodde_profile_edit.php?ID='); $row = &$lAdmin->AddRow($arProfile['ID'], $arProfile, $el_edit_url); $row->AddViewField('ID', '<a href="'.$el_edit_url.'" title="ID">'.htmlspecialcharsbx($arProfile['ID']).'</a>'); $row->AddViewField("NAME", '<a href="'.$el_edit_url.'" title="ID">'.htmlspecialcharsbx($arProfile['NAME']).'</a>'); $row->AddCheckField("ACTIVE", false); $row->AddCheckField("IN_AGENT", false); $strCreatedBy = ''; $strModifiedBy = ''; $arProfile['CREATED_BY'] = (int)$arProfile['CREATED_BY']; if (0 < $arProfile['CREATED_BY']) { if (!isset($arUserList[$arProfile['CREATED_BY']])) { $byUser = 'ID'; $byOrder = 'ASC'; $rsUsers = CUser::GetList( $byUser, $byOrder, array('ID_EQUAL_EXACT' => $arProfile['CREATED_BY']), array('FIELDS' => array('ID', 'LOGIN', 'NAME', 'LAST_NAME', 'SECOND_NAME', 'EMAIL')) ); if ($arOneUser = $rsUsers->Fetch()) { $arOneUser['ID'] = (int)$arOneUser['ID']; if ($publicMode) { $arUserList[$arOneUser['ID']] = CUser::FormatName($strNameFormat, $arOneUser); } else { $arUserList[$arOneUser['ID']] = '<a href="/bitrix/admin/user_edit.php?lang='.LANGUAGE_ID.'&ID='.$arProfile['MODIFIED_BY'].'">'.CUser::FormatName($strNameFormat, $arOneUser).'</a>'; } } } if (isset($arUserList[$arProfile['CREATED_BY']])) $strCreatedBy = $arUserList[$arProfile['CREATED_BY']]; } $arProfile['MODIFIED_BY'] = (int)$arProfile['MODIFIED_BY']; if (0 < $arProfile['MODIFIED_BY']) { if (!isset($arUserList[$arProfile['MODIFIED_BY']])) { $byUser = 'ID'; $byOrder = 'ASC'; $rsUsers = CUser::GetList( $byUser, $byOrder, array('ID_EQUAL_EXACT' => $arProfile['MODIFIED_BY']), array('FIELDS' => array('ID', 'LOGIN', 'NAME', 'LAST_NAME', 'SECOND_NAME', 'EMAIL')) ); if ($arOneUser = $rsUsers->Fetch()) { $arOneUser['ID'] = (int)$arOneUser['ID']; if ($publicMode) { $arUserList[$arOneUser['ID']] = CUser::FormatName($strNameFormat, $arOneUser); } else { $arUserList[$arOneUser['ID']] = '<a href="/bitrix/admin/user_edit.php?lang='.LANGUAGE_ID.'&ID='.$arProfile['MODIFIED_BY'].'">'.CUser::FormatName($strNameFormat, $arOneUser).'</a>'; } } } if (isset($arUserList[$arProfile['MODIFIED_BY']])) $strModifiedBy = $arUserList[$arProfile['MODIFIED_BY']]; } $row->AddViewField("CREATED_BY", $strCreatedBy); $row->AddCalendarField("DATE_CREATE", false); $row->AddViewField("MODIFIED_BY", $strModifiedBy); $row->AddCalendarField("TIMESTAMP_X", false); $arActions = Array(); $arActions[] = array( "TEXT" => Loc::getMessage("GOODDE_TYRBO_API_EDIT"), "ACTION" => $lAdmin->ActionRedirect($el_edit_url), "DEFAULT" => true ); $arActions[] = array( "TEXT" => GetMessage("GOODDE_TYRBO_API_COPY_PROFILE"), "TITLE" => GetMessage("GOODDE_TYRBO_API_COPY_PROFILE"), "ACTION" => $lAdmin->ActionRedirect($el_edit_url."&action=copy&".bitrix_sessid_get()), ); if ('Y' == $arProfile['IN_AGENT']) { $arActions[] = array( "TEXT" => Loc::getMessage("GOODDE_TYRBO_API_AGENT_DEL"), "TITLE" => Loc::getMessage("GOODDE_TYRBO_API_AGENT_DESCR_DEL"), "ACTION" => $lAdmin->ActionRedirect("/bitrix/admin/goodde_profile_list.php?lang=".LANGUAGE_ID."&".bitrix_sessid_get()."&action=agent&PROFILE_ID=".$arProfile['ID']), ); } else { $arActions[] = array( "TEXT" => Loc::getMessage("GOODDE_TYRBO_API_AGENT"), "TITLE" => Loc::getMessage("GOODDE_TYRBO_API_AGENT_DESCR"), "ACTION" => "ShowAgentForm('".$APPLICATION->GetCurPage()."?lang=".LANGUAGE_ID."&".bitrix_sessid_get()."&action=agent&PROFILE_ID=".$arProfile['ID']."');", ); } if($POST_RIGHT >= "W") $arActions[] = array("ICON" => "delete", "TEXT" => Loc::getMessage("GOODDE_TYRBO_API_DELETE"), "ACTION" => "if(confirm('" . GetMessageJS("GOODDE_TYRBO_API_DEL_CONF") . "')) " . $lAdmin->ActionDoGroup($arProfile["ID"], "delete")); $row->AddActions($arActions); } $arContext = array(); $arContext[] = array( "ICON" => "btn_new", "TEXT" => Loc::getMessage("GOODDE_TYRBO_API_ADD"), "TITLE" => Loc::getMessage("GOODDE_TYRBO_API_ADD"), "LINK" => \Goodde\YandexTurbo\CGooddeYandexTurboTools::GetAdminElementEditLink(0, 'goodde_profile_edit.php?ID='), ); $lAdmin->AddAdminContextMenu($arContext, false); $lAdmin->CheckListMode(); $APPLICATION->SetTitle(GetMessage("GOODDE_TYRBO_API_ADMIN_TITLE")); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); if($_GET["success_export"] == "Y") { CAdminMessage::ShowNote(Loc::getMessage("GOODDE_TYRBO_API_SUCCESS")); } ?> <div id="form_shadow" style="display:none;" class="float-form-shadow"> </div> <div id="agent_form" style="display:none;" class="float-form"> <form name="agentform" id="agentform" action="" method="post"> <table class="edit-table"> <tbody> <tr> <td style="white-space: nowrap; font-size: 12px;"><? echo Loc::getMessage("GOODDE_TYRBO_API_RUN_INTERVAL"); ?></td> <td><input type="text" name="agent_period" value="" size="10"></td> </tr> </tbody> <tfoot> <tr> <td colspan="2" style="text-align: center;"> <input type="submit" value="<? echo Loc::getMessage("GOODDE_TYRBO_API_SET"); ?>"> <input type="button" value="<? echo Loc::getMessage("GOODDE_TYRBO_API_CLOSE"); ?>" onclick="HideAgentForm();"> </td> </tr> </tfoot> </table> </form> </div> <? $lAdmin->DisplayList(); echo BeginNote(); echo Loc::getMessage("GOODDE_TYRBO_API_EXPORT_SETUP_CAT")?> /bitrix/php_interface/include/yandex_turbo/<br><br> <?=Loc::getMessage("GOODDE_TYRBO_API_NOTES1");?><br><br> <?if ($bWindowsHosting):?> <b><?=Loc::getMessage("GOODDE_TYRBO_API_NOTES2");?></b> <?else:?> <?=Loc::getMessage("GOODDE_TYRBO_API_NOTES3");?> <b><?echo $_SERVER["DOCUMENT_ROOT"];?>/bitrix/crontab/crontab.cfg</b> <?=Loc::getMessage("GOODDE_TYRBO_API_NOTES4");?><br> <?=Loc::getMessage("GOODDE_TYRBO_API_NOTES5");?><br> <b>crontab <?echo $_SERVER["DOCUMENT_ROOT"];?>/bitrix/crontab/crontab.cfg</b><br> <?=Loc::getMessage("GOODDE_TYRBO_API_NOTES6");?><br> <b>crontab -l</b><br> <?=Loc::getMessage("GOODDE_TYRBO_API_NOTES7");?><br> <b>crontab -r</b><br><br> <? $arRetval = array(); @exec("crontab -l", $arRetval); if (is_array($arRetval) && !empty($arRetval)) { echo Loc::getMessage("GOODDE_TYRBO_API_NOTES8");?><br> <textarea name="crontasks" cols="70" rows="5" readonly> <? echo htmlspecialcharsbx(implode("\n", $arRetval))."\n"; ?> </textarea><br> <? } echo Loc::getMessage("GOODDE_TYRBO_API_NOTES10");?><br><br> <?=Loc::getMessage("GOODDE_TYRBO_API_NOTES11_EXT", array('#FILE#' => '/bitrix/php_interface/include/yandex_turbo/cron_frame_xml.php'));?><br> <?=Loc::getMessage("GOODDE_TYRBO_API_NOTES12_EXT");?><br> <?=Loc::getMessage('GOODDE_TYRBO_API_NOTES13_EXT', array('#FOLDER#' => '/bitrix/modules/'.$moduleId.'/load/')); endif; echo EndNote(); ?> <script type="text/javascript"> function ShowDiv(div, shadow) { var obDiv = BX(div); var obShadow = BX(shadow); if (!!obDiv && !!obShadow) { var obCoord = BX.GetWindowSize(); BX.style(obDiv, 'display', 'block'); BX.style(obShadow, 'display', 'block'); var l = parseInt(obCoord.scrollLeft + obCoord.innerWidth/2 - obDiv.offsetWidth/2); var t = parseInt(obCoord.scrollTop + obCoord.innerHeight/2 - obDiv.offsetHeight/2); BX.adjust(obDiv, {style: {left: l + "px", top: t + "px"}}); BX.adjust(obShadow, {style: {left: (l+4) + "px", top: (t+4) + "px", width: obDiv.offsetWidth + 'px', height: obDiv.offsetHeight + 'px'}}); } } function HideDiv(div, shadow) { var obDiv = BX(div); var obShadow = BX(shadow); if (!!obDiv && !!obShadow) { BX.style(obDiv, 'display', 'none'); BX.style(obShadow, 'display', 'none'); } } function SetForm(form, strAction) { var obForm = BX(form); if (!!obForm) { obForm.action = strAction; var obTbl = BX.findChild(obForm, {tag: 'table', className: 'edit-table'}, false, false); if (!!obTbl) { var n = obTbl.tBodies[0].rows.length; for (var i=0; i<n; i++) { if (obTbl.tBodies[0].rows[i].cells.length > 1) { BX.addClass(obTbl.rows[i].cells[0], 'adm-detail-content-cell-l'); BX.addClass(obTbl.rows[i].cells[1], 'adm-detail-content-cell-r'); } } } BX.adminFormTools.modifyFormElements(obTbl); return true; } return false; } function ShowAgentForm(strAction) { if (SetForm('agentform', strAction)) { ShowDiv('agent_form', 'form_shadow'); } } function HideAgentForm() { HideDiv('agent_form', 'form_shadow'); } </script> <? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");