Example #1
0
function __get_import_profiles($strItemID)
{
    global $USER;
    global $adminMenu;
    if (!isset($USER) || !($USER instanceof CUser && 'CUser' == get_class($USER))) {
        return array();
    }
    if (empty($strItemID)) {
        return array();
    }
    $boolRead = $USER->CanDoOperation('catalog_read');
    $boolImportEdit = $USER->CanDoOperation('catalog_import_edit');
    $boolImportExec = $USER->CanDoOperation('catalog_import_exec');
    $arProfileList = array();
    if (($boolRead || $boolImportEdit || $boolImportExec) && method_exists($adminMenu, "IsSectionActive")) {
        if ($adminMenu->IsSectionActive($strItemID)) {
            $rsProfiles = CCatalogImport::GetList(array("NAME" => "ASC", "ID" => "ASC"), array("IN_MENU" => "Y"));
            while ($arProfile = $rsProfiles->Fetch()) {
                $strName = strlen($arProfile["NAME"]) > 0 ? $arProfile["NAME"] : $arProfile["FILE_NAME"];
                if ('Y' == $arProfile['DEFAULT_PROFILE']) {
                    $arProfileList[] = array("text" => htmlspecialcharsbx($strName), "url" => "cat_exec_imp.php?lang=" . LANGUAGE_ID . "&ACT_FILE=" . $arProfile["FILE_NAME"] . "&ACTION=IMPORT&PROFILE_ID=" . $arProfile["ID"] . "&" . bitrix_sessid_get(), "title" => GetMessage("CAM_IMPORT_DESCR_IMPORT") . " "" . htmlspecialcharsbx($strName) . """, "readonly" => !$boolImportExec);
                } else {
                    $arProfileList[] = array("text" => htmlspecialcharsbx($strName), "url" => "cat_import_setup.php?lang=" . LANGUAGE_ID . "&ACT_FILE=" . $arProfile["FILE_NAME"] . "&ACTION=IMPORT_EDIT&PROFILE_ID=" . $arProfile["ID"] . "&" . bitrix_sessid_get(), "title" => GetMessage("CAM_IMPORT_DESCR_EDIT") . " "" . htmlspecialcharsbx($strName) . """, "readonly" => !$boolImportEdit);
                }
            }
        }
    }
    return $arProfileList;
}
Example #2
0
 public static function Update($ID, $arFields)
 {
     global $DB;
     $ID = (int) $ID;
     if ($ID <= 0) {
         return false;
     }
     if (!CCatalogImport::CheckFields("UPDATE", $arFields)) {
         return false;
     }
     $strUpdate = $DB->PrepareUpdate("b_catalog_export", $arFields);
     if (!empty($strUpdate)) {
         $strSql = "update b_catalog_export set " . $strUpdate . " where ID = " . $ID . " and IS_EXPORT = 'N'";
         $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
     }
     return $ID;
 }
Example #3
0
 public static function PreGenerateImport($profile_id)
 {
     global $DB;
     $profile_id = (int) $profile_id;
     if ($profile_id <= 0) {
         return false;
     }
     $ar_profile = CCatalogImport::GetByID($profile_id);
     if (!$ar_profile || 'Y' == $ar_profile['NEED_EDIT']) {
         return false;
     }
     $strFile = CATALOG_PATH2IMPORTS . $ar_profile["FILE_NAME"] . "_run.php";
     if (!file_exists($_SERVER["DOCUMENT_ROOT"] . $strFile)) {
         $strFile = CATALOG_PATH2IMPORTS_DEF . $ar_profile["FILE_NAME"] . "_run.php";
         if (!file_exists($_SERVER["DOCUMENT_ROOT"] . $strFile)) {
             CCatalogDiscountSave::Enable();
             return false;
         }
     }
     $bFirstLoadStep = true;
     if (!defined("CATALOG_LOAD_NO_STEP")) {
         define("CATALOG_LOAD_NO_STEP", true);
     }
     $strImportErrorMessage = "";
     $strImportOKMessage = "";
     $bAllDataLoaded = true;
     $arSetupVars = array();
     $intSetupVarsCount = 0;
     if ('Y' != $ar_profile["DEFAULT_PROFILE"]) {
         parse_str($ar_profile["SETUP_VARS"], $arSetupVars);
         if (!empty($arSetupVars) && is_array($arSetupVars)) {
             $intSetupVarsCount = extract($arSetupVars, EXTR_SKIP);
         }
     }
     global $arCatalogAvailProdFields;
     $arCatalogAvailProdFields = CCatalogCSVSettings::getSettingsFields(CCatalogCSVSettings::FIELDS_ELEMENT);
     global $arCatalogAvailPriceFields;
     $arCatalogAvailPriceFields = CCatalogCSVSettings::getSettingsFields(CCatalogCSVSettings::FIELDS_CATALOG);
     global $arCatalogAvailValueFields;
     $arCatalogAvailValueFields = CCatalogCSVSettings::getSettingsFields(CCatalogCSVSettings::FIELDS_PRICE);
     global $arCatalogAvailQuantityFields;
     $arCatalogAvailQuantityFields = CCatalogCSVSettings::getSettingsFields(CCatalogCSVSettings::FIELDS_PRICE_EXT);
     global $arCatalogAvailGroupFields;
     $arCatalogAvailGroupFields = CCatalogCSVSettings::getSettingsFields(CCatalogCSVSettings::FIELDS_SECTION);
     global $defCatalogAvailProdFields;
     $defCatalogAvailProdFields = CCatalogCSVSettings::getDefaultSettings(CCatalogCSVSettings::FIELDS_ELEMENT);
     global $defCatalogAvailPriceFields;
     $defCatalogAvailPriceFields = CCatalogCSVSettings::getDefaultSettings(CCatalogCSVSettings::FIELDS_CATALOG);
     global $defCatalogAvailValueFields;
     $defCatalogAvailValueFields = CCatalogCSVSettings::getDefaultSettings(CCatalogCSVSettings::FIELDS_PRICE);
     global $defCatalogAvailQuantityFields;
     $defCatalogAvailQuantityFields = CCatalogCSVSettings::getDefaultSettings(CCatalogCSVSettings::FIELDS_PRICE_EXT);
     global $defCatalogAvailGroupFields;
     $defCatalogAvailGroupFields = CCatalogCSVSettings::getDefaultSettings(CCatalogCSVSettings::FIELDS_SECTION);
     global $defCatalogAvailCurrencies;
     $defCatalogAvailCurrencies = CCatalogCSVSettings::getDefaultSettings(CCatalogCSVSettings::FIELDS_CURRENCY);
     CCatalogDiscountSave::Disable();
     include $_SERVER["DOCUMENT_ROOT"] . $strFile;
     CCatalogDiscountSave::Enable();
     CCatalogImport::Update($profile_id, array("=LAST_USE" => $DB->GetNowFunction()));
     return "CCatalogImport::PreGenerateImport(" . $profile_id . ");";
 }
Example #4
0
				"TITLE" => GetMessage("CES_TO_AGENT_DESCR"),
				"ACTION" => "ShowAgentForm('".$APPLICATION->GetCurPage()."?lang=".LANGUAGE_ID."&amp;ACT_FILE=".$strReportFile."&amp;".bitrix_sessid_get()."&amp;ACTION=AGENT&amp;PROFILE_ID=0');",
			);
			$arActions[] = array(
				"DISABLED" => $bWindowsHosting,
				"TEXT" => GetMessage("CES_TO_CRON"),
				"TITLE" => GetMessage("CES_TO_CRON_DESCR"),
				"ACTION" => ($bWindowsHosting ? '' : "ShowCronForm('".$APPLICATION->GetCurPage()."?lang=".LANGUAGE_ID."&amp;ACT_FILE=".$strReportFile."&amp;".bitrix_sessid_get()."&amp;ACTION=CRON&amp;PROFILE_ID=0', true);"),
			);
		}

		$row->AddActions($arActions);
	}

	$rsProfiles = CCatalogImport::GetList(
		array("LAST_USE" => "DESC", "NAME" => "ASC"),
		array("FILE_NAME" => $strReportFile, '!DEFAULT_PROFILE' => 'Y')
	);

	while ($arProfile = $rsProfiles->Fetch())
	{
		$arProfile['USED'] = $arProfile['LAST_USE_FORMAT'];
		$boolNeedEdit = (isset($arProfile['NEED_EDIT']) && 'Y' == $arProfile['NEED_EDIT']);

		$row = &$lAdmin->AddRow($arProfile['ID'], $arProfile);

		$row->AddViewField('ID', $arProfile['ID']);
		$row->AddViewField("NAME", htmlspecialcharsbx($arReportParams["TITLE"]));
		$row->AddViewField("FILE", $strReportFile);

		$strProfileLink = '';
		if ($bCanExec)
Example #5
0
$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];
$profile_id = $argv[1];
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php";
if (!defined("CATALOG_LOAD_NO_STEP")) {
    define("CATALOG_LOAD_NO_STEP", true);
}
if (CModule::IncludeModule("catalog")) {
    $profile_id = IntVal($profile_id);
    if ($profile_id <= 0) {
        die;
    }
    $ar_profile = CCatalogImport::GetByID($profile_id);
    if (!$ar_profile) {
        die;
    }
    if ($ar_profile["DEFAULT_PROFILE"] != "Y") {
        parse_str($ar_profile["SETUP_VARS"]);
    }
    $strFile = CATALOG_PATH2IMPORTS . $ar_profile["FILE_NAME"] . "_run.php";
    if (!file_exists($_SERVER["DOCUMENT_ROOT"] . $strFile)) {
        $strFile = CATALOG_PATH2IMPORTS_DEF . $ar_profile["FILE_NAME"] . "_run.php";
        if (!file_exists($_SERVER["DOCUMENT_ROOT"] . $strFile)) {
            die;
        }
    }
    $bFirstLoadStep = True;
    CCatalogDiscountSave::Disable();
    @(include $_SERVER["DOCUMENT_ROOT"] . $strFile);
    CCatalogDiscountSave::Enable();
    CCatalogImport::Update($profile_id, array("=LAST_USE" => $DB->GetNowFunction()));
}
 function Update($ID, $arFields)
 {
     global $DB;
     global $USER;
     $ID = intval($ID);
     $boolNoUpdate = false;
     $arFields1 = array();
     foreach ($arFields as $key => $value) {
         if (substr($key, 0, 1) == "=") {
             if ('=LAST_USE' == $key) {
                 if ($value == $DB->GetNowFunction()) {
                     $arFields1['LAST_USE'] = $DB->GetNowFunction();
                     $boolNoUpdate = true;
                 }
             }
             unset($arFields[$key]);
         }
     }
     if (array_key_exists('CREATED_BY', $arFields)) {
         unset($arFields['CREATED_BY']);
     }
     if (array_key_exists('DATE_CREATE', $arFields)) {
         unset($arFields['DATE_CREATE']);
     }
     if (array_key_exists('TIMESTAMP_X', $arFields)) {
         unset($arFields['TIMESTAMP_X']);
     }
     if (!$boolNoUpdate) {
         if (isset($USER) && $USER instanceof CUser && 'CUser' == get_class($USER)) {
             if (!array_key_exists('MODIFIED_BY', $arFields) || intval($arFields["MODIFIED_BY"]) <= 0) {
                 $arFields["MODIFIED_BY"] = intval($USER->GetID());
             }
         }
         $arFields1['TIMESTAMP_X'] = $DB->GetNowFunction();
     } else {
         if (array_key_exists('MODIFIED_BY', $arFields)) {
             unset($arFields['MODIFIED_BY']);
         }
     }
     $arFields["IS_EXPORT"] = "N";
     if (!CCatalogImport::CheckFields("UPDATE", $arFields)) {
         return false;
     }
     $strUpdate = $DB->PrepareUpdate("b_catalog_export", $arFields);
     foreach ($arFields1 as $key => $value) {
         if (strlen($strUpdate) > 0) {
             $strUpdate .= ", ";
         }
         $strUpdate .= $key . "=" . $value . " ";
     }
     $strSql = "UPDATE b_catalog_export SET " . $strUpdate . " WHERE ID = " . $ID . " AND IS_EXPORT = 'N'";
     $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
     return $ID;
 }
Example #7
0
	function OnBuildSaleImportMenu($strItemID)
	{
		global $adminMenu;

		if (empty($strItemID))
			return array();

		$arProfileList = array();

		if ((self::$catalogRead || self::$catalogImportEdit || self::$catalogImportExec) && method_exists($adminMenu, "IsSectionActive"))
		{
			if ($adminMenu->IsSectionActive($strItemID))
			{
				$rsProfiles = CCatalogImport::GetList(array("NAME"=>"ASC", "ID"=>"ASC"), array("IN_MENU"=>"Y"));
				while ($arProfile = $rsProfiles->Fetch())
				{
					$arProfile["NAME"] = (string)$arProfile["NAME"];
					$strName = ($arProfile["NAME"] != '' ? $arProfile["NAME"] : $arProfile["FILE_NAME"]);
					if ($arProfile['DEFAULT_PROFILE'] == 'Y')
					{
						$arProfileList[] = array(
							"text" => htmlspecialcharsbx($strName),
							"url" => "cat_exec_imp.php?lang=".LANGUAGE_ID."&ACT_FILE=".$arProfile["FILE_NAME"]."&ACTION=IMPORT&PROFILE_ID=".$arProfile["ID"]."&".bitrix_sessid_get(),
							"title" => Loc::getMessage("CAM_IMPORT_DESCR_IMPORT")." &quot;".htmlspecialcharsbx($strName)."&quot;",
							"readonly" => !self::$catalogImportExec,
						);
					}
					else
					{
						$arProfileList[] = array(
							"text" => htmlspecialcharsbx($strName),
							"url" => "cat_import_setup.php?lang=".LANGUAGE_ID."&ACT_FILE=".$arProfile["FILE_NAME"]."&ACTION=IMPORT_EDIT&PROFILE_ID=".$arProfile["ID"]."&".bitrix_sessid_get(),
							"title" => Loc::getMessage("CAM_IMPORT_DESCR_EDIT")." &quot;".htmlspecialcharsbx($strName)."&quot;",
							"readonly" => !self::$catalogImportEdit,
						);
					}
				}
			}
		}

		return $arProfileList;
	}
Example #8
0
	/**
	 * <p>Метод выполняет профиль <i>profile_id</i> на агенте.</p>
	 *
	 *
	 *
	 *
	 * @param int $profile_id  Код выполняемого профиля.
	 *
	 *
	 *
	 * @return mixed <p>В случае успешного выполнения профиля импорта метод возвращает
	 * строку для следующего вызова агента. В противном случае метод
	 * вернет <i>false</i>.</p><br><br>
	 *
	 * @static
	 * @link http://dev.1c-bitrix.ru/api_help/catalog/classes/ccatalogimport/pregenerateimport.php
	 * @author Bitrix
	 */
	public static function PreGenerateImport($profile_id)
	{
		global $DB;

		$profile_id = intval($profile_id);
		if ($profile_id <= 0)
			return false;

		$ar_profile = CCatalogImport::GetByID($profile_id);
		if ((!$ar_profile) || ('Y' == $ar_profile['NEED_EDIT']))
			return false;

		$strFile = CATALOG_PATH2IMPORTS.$ar_profile["FILE_NAME"]."_run.php";
		if (!file_exists($_SERVER["DOCUMENT_ROOT"].$strFile))
		{
			$strFile = CATALOG_PATH2IMPORTS_DEF.$ar_profile["FILE_NAME"]."_run.php";
			if (!file_exists($_SERVER["DOCUMENT_ROOT"].$strFile))
			{
				CCatalogDiscountSave::Enable();
				return false;
			}
		}

		$bFirstLoadStep = true;

		if (!defined("CATALOG_LOAD_NO_STEP"))
			// define("CATALOG_LOAD_NO_STEP", true);

		$strImportErrorMessage = "";
		$strImportOKMessage = "";

		$bAllDataLoaded = true;

		$arSetupVars = array();
		$intSetupVarsCount = 0;
		if ('Y' != $ar_profile["DEFAULT_PROFILE"])
		{
			parse_str($ar_profile["SETUP_VARS"], $arSetupVars);
			if (!empty($arSetupVars) && is_array($arSetupVars))
			{
				$intSetupVarsCount = extract($arSetupVars, EXTR_SKIP);
			}
		}

		CCatalogDiscountSave::Disable();
		include($_SERVER["DOCUMENT_ROOT"].$strFile);
		CCatalogDiscountSave::Enable();

		CCatalogImport::Update($profile_id, array(
			"=LAST_USE" => $DB->GetNowFunction()
			)
		);

		return "CCatalogImport::PreGenerateImport(".$profile_id.");";
	}
 function PreGenerateImport($profile_id)
 {
     global $DB;
     $profile_id = IntVal($profile_id);
     if ($profile_id <= 0) {
         return false;
     }
     $ar_profile = CCatalogImport::GetByID($profile_id);
     if (!$ar_profile || 'Y' == $ar_profile['NEED_EDIT']) {
         return false;
     }
     if ($ar_profile["DEFAULT_PROFILE"] != "Y") {
         parse_str($ar_profile["SETUP_VARS"]);
     }
     $bFirstLoadStep = True;
     if (!defined("CATALOG_LOAD_NO_STEP")) {
         define("CATALOG_LOAD_NO_STEP", true);
     }
     CCatalogDiscountSave::Disable();
     $strFile = CATALOG_PATH2IMPORTS . $ar_profile["FILE_NAME"] . "_run.php";
     if (!file_exists($_SERVER["DOCUMENT_ROOT"] . $strFile)) {
         $strFile = CATALOG_PATH2IMPORTS_DEF . $ar_profile["FILE_NAME"] . "_run.php";
         if (!file_exists($_SERVER["DOCUMENT_ROOT"] . $strFile)) {
             CCatalogDiscountSave::Enable();
             return false;
         }
     }
     $strImportErrorMessage = "";
     $strImportOKMessage = "";
     $bAllDataLoaded = True;
     @(include $_SERVER["DOCUMENT_ROOT"] . $strFile);
     CCatalogDiscountSave::Enable();
     CCatalogImport::Update($profile_id, array("=LAST_USE" => $DB->GetNowFunction()));
     return "CCatalogImport::PreGenerateImport(" . $profile_id . ");";
 }