Esempio n. 1
0
 /**
  * @param $config
  * @throws Exception
  * @throws \Bitrix\Main\LoaderException
  */
 function __construct($config)
 {
     # load highloadblock module
     if (!Loader::includeModule('highloadblock')) {
         throw new \Exception("highloadblock module not exists");
     }
     # load iblock module
     if (!Loader::IncludeModule("iblock")) {
         throw new \Exception("iblock module not exists");
     }
     # set highloadblock code
     $this->_table_name = isset($config['table_name']) && !empty($config['table_name']) ? $config['table_name'] : null;
     $this->_table_code = isset($config['table_code']) && !empty($config['table_code']) ? $config['table_code'] : null;
     $this->_table_id = isset($config['table_id']) && !empty($config['table_id']) ? $config['table_id'] : null;
 }
Esempio n. 2
0
 protected function processActionCheckDataElementCreation()
 {
     if ($_POST["save"] != "Y" && $_POST["changePostFormTab"] != "lists" && !check_bitrix_sessid()) {
         $this->errorCollection->add(array(new Error(Loc::getMessage('LISTS_SEAC_CONNECTION_MODULE_IBLOCK'))));
     }
     if (!Loader::IncludeModule('bizproc')) {
         $this->errorCollection->add(array(new Error(Loc::getMessage('LISTS_SEAC_CONNECTION_MODULE_BIZPROC'))));
     }
     if (!Loader::includeModule('iblock')) {
         $this->errorCollection->add(array(new Error(Loc::getMessage('LISTS_SEAC_CONNECTION_MODULE_IBLOCK'))));
     }
     $this->iblockId = intval($this->request->getPost('IBLOCK_ID'));
     $this->iblockTypeId = COption::GetOptionString("lists", "livefeed_iblock_type_id");
     $this->checkPermissionElement();
     if ($this->errorCollection->hasErrors()) {
         $this->sendJsonErrorResponse();
     }
     $templateId = intval($_POST['TEMPLATE_ID']);
     $documentType = BizprocDocument::generateDocumentComplexType(COption::GetOptionString("lists", "livefeed_iblock_type_id"), $this->iblockId);
     if (!empty($templateId)) {
         if (CModule::IncludeModule('bizproc')) {
             if (!CBPWorkflowTemplateLoader::isConstantsTuned($templateId)) {
                 $this->errorCollection->add(array(new Error(Loc::getMessage('LISTS_IS_CONSTANTS_TUNED_NEW'))));
                 $this->sendJsonErrorResponse();
             }
         }
     } else {
         if (CModule::IncludeModule("bizproc")) {
             $templateObject = CBPWorkflowTemplateLoader::getTemplatesList(array('ID' => 'DESC'), array('DOCUMENT_TYPE' => $documentType, 'AUTO_EXECUTE' => CBPDocumentEventType::Create), false, false, array('ID'));
             $template = $templateObject->fetch();
             if (!empty($template)) {
                 if (!CBPWorkflowTemplateLoader::isConstantsTuned($template["ID"])) {
                     $this->errorCollection->add(array(new Error(Loc::getMessage('LISTS_IS_CONSTANTS_TUNED_NEW'))));
                     $this->sendJsonErrorResponse();
                 }
             } else {
                 $this->errorCollection->add(array(new Error(Loc::getMessage('LISTS_NOT_BIZPROC_TEMPLATE'))));
                 $this->sendJsonErrorResponse();
             }
         }
     }
     $list = new CList($this->iblockId);
     $fields = $list->getFields();
     $elementData = array("IBLOCK_ID" => $this->iblockId, "NAME" => $_POST["NAME"]);
     $props = array();
     foreach ($fields as $fieldId => $field) {
         if ($fieldId == "PREVIEW_PICTURE" || $fieldId == "DETAIL_PICTURE") {
             $elementData[$fieldId] = $_FILES[$fieldId];
             if (isset($_POST[$fieldId . "_del"]) && $_POST[$fieldId . "_del"] == "Y") {
                 $elementData[$fieldId]["del"] = "Y";
             }
         } elseif ($fieldId == "PREVIEW_TEXT" || $fieldId == "DETAIL_TEXT") {
             if (isset($field["SETTINGS"]) && is_array($field["SETTINGS"]) && $field["SETTINGS"]["USE_EDITOR"] == "Y") {
                 $elementData[$fieldId . "_TYPE"] = "html";
             } else {
                 $elementData[$fieldId . "_TYPE"] = "text";
             }
             $elementData[$fieldId] = $_POST[$fieldId];
         } elseif ($fieldId == 'ACTIVE_FROM' || $fieldId == 'ACTIVE_TO') {
             $elementData[$fieldId] = array_shift($_POST[$fieldId]);
         } elseif ($list->is_field($fieldId)) {
             $elementData[$fieldId] = $_POST[$fieldId];
         } elseif ($field["PROPERTY_TYPE"] == "F") {
             if (isset($_POST[$fieldId . "_del"])) {
                 $deleteArray = $_POST[$fieldId . "_del"];
             } else {
                 $deleteArray = array();
             }
             $props[$field["ID"]] = array();
             $files = $this->unEscape($_FILES);
             CFile::ConvertFilesToPost($files[$fieldId], $props[$field["ID"]]);
             foreach ($props[$field["ID"]] as $fileId => $file) {
                 if (isset($deleteArray[$fileId]) && (!is_array($deleteArray[$fileId]) && $deleteArray[$fileId] == "Y" || is_array($deleteArray[$fileId]) && $deleteArray[$fileId]["VALUE"] == "Y")) {
                     if (isset($props[$field["ID"]][$fileId]["VALUE"])) {
                         $props[$field["ID"]][$fileId]["VALUE"]["del"] = "Y";
                     } else {
                         $props[$field["ID"]][$fileId]["del"] = "Y";
                     }
                 }
             }
         } elseif ($field["PROPERTY_TYPE"] == "N") {
             if (is_array($_POST[$fieldId]) && !array_key_exists("VALUE", $_POST[$fieldId])) {
                 $props[$field["ID"]] = array();
                 foreach ($_POST[$fieldId] as $key => $value) {
                     if (is_array($value)) {
                         if (strlen($value["VALUE"])) {
                             $value = str_replace(" ", "", str_replace(",", ".", $value["VALUE"]));
                             if (!is_numeric($value)) {
                                 $this->errorCollection->add(array(new Error(Loc::getMessage('LISTS_IS_VALIDATE_FIELD_ERROR', array('#NAME#' => $field['NAME'])))));
                                 $this->sendJsonErrorResponse();
                             }
                             $props[$field["ID"]][$key] = doubleval($value);
                         }
                     } else {
                         if (strlen($value)) {
                             $value = str_replace(" ", "", str_replace(",", ".", $value));
                             if (!is_numeric($value)) {
                                 $this->errorCollection->add(array(new Error(Loc::getMessage('LISTS_IS_VALIDATE_FIELD_ERROR', array('#NAME#' => $field['NAME'])))));
                                 $this->sendJsonErrorResponse();
                             }
                             $props[$field["ID"]][$key] = doubleval($value);
                         }
                     }
                 }
             } else {
                 if (is_array($_POST[$fieldId])) {
                     if (strlen($_POST[$fieldId]["VALUE"])) {
                         $value = str_replace(" ", "", str_replace(",", ".", $_POST[$fieldId]["VALUE"]));
                         if (!is_numeric($value)) {
                             $this->errorCollection->add(array(new Error(Loc::getMessage('LISTS_IS_VALIDATE_FIELD_ERROR', array('#NAME#' => $field['NAME'])))));
                             $this->sendJsonErrorResponse();
                         }
                         $props[$field["ID"]] = doubleval($value);
                     }
                 } else {
                     if (strlen($_POST[$fieldId])) {
                         $value = str_replace(" ", "", str_replace(",", ".", $_POST[$fieldId]));
                         if (!is_numeric($value)) {
                             $this->errorCollection->add(array(new Error(Loc::getMessage('LISTS_IS_VALIDATE_FIELD_ERROR', array('#NAME#' => $field['NAME'])))));
                             $this->sendJsonErrorResponse();
                         }
                         $props[$field["ID"]] = doubleval($value);
                     }
                 }
             }
         } else {
             $props[$field["ID"]] = $_POST[$fieldId];
         }
     }
     $elementData["MODIFIED_BY"] = $this->getUser()->getID();
     unset($elementData["TIMESTAMP_X"]);
     if (!empty($props)) {
         $elementData["PROPERTY_VALUES"] = $props;
     }
     $documentStates = CBPDocument::GetDocumentStates($documentType, null);
     $userId = $this->getUser()->getId();
     $write = CBPDocument::CanUserOperateDocumentType(CBPCanUserOperateOperation::WriteDocument, $userId, $documentType, array('AllUserGroups' => array(), 'DocumentStates' => $documentStates));
     if (!$write) {
         $this->errorCollection->add(array(new Error(Loc::getMessage('LISTS_IS_ACCESS_DENIED_STATUS'))));
         $this->sendJsonErrorResponse();
     }
     $bizprocParametersValues = array();
     foreach ($documentStates as $documentState) {
         if (strlen($documentState["ID"]) <= 0) {
             $errors = array();
             $bizprocParametersValues[$documentState['TEMPLATE_ID']] = CBPDocument::StartWorkflowParametersValidate($documentState['TEMPLATE_ID'], $documentState['TEMPLATE_PARAMETERS'], $documentType, $errors);
             $stringError = '';
             foreach ($errors as $e) {
                 $stringError .= $e['message'] . '<br />';
             }
         }
     }
     if (!empty($stringError)) {
         $this->errorCollection->add(array(new Error($stringError)));
         $this->sendJsonErrorResponse();
     }
     $objectElement = new CIBlockElement();
     $idElement = $objectElement->Add($elementData, false, true, true);
     if ($idElement) {
         $bizProcWorkflowId = array();
         foreach ($documentStates as $documentState) {
             if (strlen($documentState["ID"]) <= 0) {
                 $errorsTmp = array();
                 $bizProcWorkflowId[$documentState['TEMPLATE_ID']] = CBPDocument::StartWorkflow($documentState['TEMPLATE_ID'], array('lists', 'BizprocDocument', $idElement), array_merge($bizprocParametersValues[$documentState['TEMPLATE_ID']], array('TargetUser' => 'user_' . intval($this->getUser()->getID()))), $errorsTmp);
             }
         }
         if (!empty($errorsTmp)) {
             $documentStates = null;
             CBPDocument::AddDocumentToHistory(array('lists', 'BizprocDocument', $idElement), $elementData['NAME'], $this->getUser()->getID());
         }
     } else {
         $this->errorCollection->add(array(new Error($objectElement->LAST_ERROR)));
         $this->sendJsonErrorResponse();
     }
     $this->sendJsonSuccessResponse(array());
 }
Esempio n. 3
0
<?php

/**
 * @global \CMain $APPLICATION
 */
\Bitrix\Main\Localization\Loc::loadMessages(__FILE__);
if (!\Bitrix\Main\Loader::IncludeModule("iblock")) {
    $APPLICATION->ThrowException(GetMessage('RR_ERROR_IBLOCK_NOT_INSTALLED'));
    return false;
}
/** PSR-0 autoloader */
spl_autoload_register(function ($className) {
    $className = ltrim($className, '\\');
    if (!($className = preg_replace('/^RetailRocket\\\\/', '', $className))) {
        return false;
    }
    $fileName = '';
    if ($lastNsPos = strrpos($className, '\\')) {
        $namespace = substr($className, 0, $lastNsPos);
        $className = substr($className, $lastNsPos + 1);
        $fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
    }
    $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
    $fileName = __DIR__ . '/lib/' . $fileName;
    if (is_readable($fileName)) {
        require_once $fileName;
        return true;
    }
    return false;
});
Esempio n. 4
0
<?php

/**
 * Набор функций для работы с инфоблоками
 * @link https://bitbucket.org/notagency/notagency.base
 * @author Dmitry Savchenkov <*****@*****.**>
 * @copyright Copyright © 2016 NotAgency
 */
namespace Notagency\Base;

\Bitrix\Main\Loader::IncludeModule('iblock');
class IblockTools
{
    private static $iblockId = [];
    private static $iblockPropertyEnumId = [];
    /**
     * Получить ID инфоблока по коду
     *
     * @param string $code
     * @return int|bool
     */
    public static function getIblockId($code)
    {
        if (!empty(self::$iblockId[$code])) {
            return self::$iblockId[$code];
        }
        if ($iblock = \CIBlock::GetList([], ['CODE' => $code])->fetch()) {
            self::$iblockId[$code] = $iblock['ID'];
            return $iblock['ID'];
        }
        return false;
Esempio n. 5
0
        return htmlspecialcharsbx($_REQUEST[$param]);
    }
}
/*Очищаем переменные сессии, чтобы сортировка восстанавливалась с учетом $table_id */
/** @global CMain $APPLICATION */
global $APPLICATION;
$uniq = md5($APPLICATION->GetCurPage());
if (isset($_SESSION["SESS_SORT_BY"][$uniq])) {
    unset($_SESSION["SESS_SORT_BY"][$uniq]);
}
if (isset($_SESSION["SESS_SORT_ORDER"][$uniq])) {
    unset($_SESSION["SESS_SORT_ORDER"][$uniq]);
}
$module = getRequestParams('module');
$view = getRequestParams('view');
if (!$module or !$view or !Loader::IncludeModule($module)) {
    include $_SERVER['DOCUMENT_ROOT'] . BX_ROOT . '/admin/404.php';
}
list($helper, $interface) = AdminBaseHelper::getGlobalInterfaceSettings($module, $view);
if (!$helper or !$interface) {
    include $_SERVER['DOCUMENT_ROOT'] . BX_ROOT . '/admin/404.php';
}
$isPopup = isset($_REQUEST['popup']) and $_REQUEST['popup'] == 'Y';
$fields = isset($interface['FIELDS']) ? $interface['FIELDS'] : array();
$tabs = isset($interface['TABS']) ? $interface['TABS'] : array();
$helperType = false;
if (is_subclass_of($helper, 'DigitalWand\\AdminHelper\\Helper\\AdminEditHelper')) {
    $helperType = 'edit';
    /** @var AdminEditHelper $adminHelper */
    $adminHelper = new $helper($fields, $tabs);
} else {
Esempio n. 6
0
<?php

use Bitrix\Lists\Internals\Error\Error;
use Bitrix\Main\Localization\Loc;
use Bitrix\Main\Loader;
use Bitrix\Lists\Internals\Controller;
require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php';
if (!Loader::IncludeModule('lists') || !\Bitrix\Main\Application::getInstance()->getContext()->getRequest()->getQuery('action')) {
    return;
}
Loc::loadMessages(__FILE__);
class ListsAjaxController extends Controller
{
    /** @var  int */
    protected $iblockId;
    /** @var  string */
    protected $iblockTypeId;
    protected $listPerm;
    protected function listOfActions()
    {
        return array('setLiveFeed' => array('method' => array('POST')), 'createDefaultProcesses' => array('method' => array('POST')));
    }
    protected function processActionSetLiveFeed()
    {
        $this->checkRequiredPostParams(array('iblockId', 'checked'));
        $this->iblockTypeId = COption::GetOptionString("lists", "livefeed_iblock_type_id");
        $this->checkPermission();
        if ($this->errorCollection->hasErrors()) {
            $this->sendJsonErrorResponse();
        }
        $this->iblockId = intval($this->request->getPost('iblockId'));
Esempio n. 7
0
<?php

require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_before.php';
use Bitrix\Conversion\RateManager;
use Bitrix\Conversion\AttributeManager;
use Bitrix\Conversion\AttributeGroupManager;
use Bitrix\Conversion\ReportContext;
use Bitrix\Main\Loader;
use Bitrix\Main\SiteTable;
use Bitrix\Main\Type\Date;
use Bitrix\Main\Localization\Loc;
Loc::loadMessages(__FILE__);
Loader::IncludeModule('conversion');
if ($APPLICATION->GetGroupRight('conversion') < 'W') {
    $APPLICATION->AuthForm(Loc::getMessage('ACCESS_DENIED'));
}
$userOptions = CUserOptions::GetOption('conversion', 'filter', array());
// PERIOD
$from = ($d = $_GET['from'] ?: $userOptions['from']) && Date::isCorrect($d) ? new Date($d) : Date::createFromPhp(new DateTime('first day of last month'));
$to = ($d = $_GET['to'] ?: $userOptions['to']) && Date::isCorrect($d) ? new Date($d) : Date::createFromPhp(new DateTime('last day of this month'));
// RATES
if (!($rateTypes = RateManager::getTypes())) {
    die('No rates available!');
}
$rateName = $_GET['rate'] ?: $userOptions['rate'];
if (!($rateType = $rateTypes[$rateName])) {
    list($rateName, $rateType) = each($rateTypes);
}
// SITES
$sites = array();
$result = SiteTable::getList(array('select' => array('LID', 'NAME'), 'order' => array('DEF' => 'DESC', 'SORT' => 'ASC')));
Esempio n. 8
0
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
\Bitrix\Main\Loader::IncludeModule("bq.options");
use Bq\Options;
global $arWatermark, $arWatermark2;
if (in_array("project", $arResult["PROPERTIES"]["PTYPE"]["VALUE_XML_ID"])) {
    $arResult["PROPERTIES"]["PTYPE"]["VALUE_XML_ID"] = false;
    $arResult["PROPERTIES"]["PTYPE"]["VALUE"] = false;
}
$arPlan = false;
foreach ($arResult["PROPERTIES"]["PLAN"]["VALUE"] as $k => $plan) {
    $arPlan[$k]["NAME"] = $arResult["PROPERTIES"]["PLAN"]["DESCRIPTION"][$k];
    if ($arPlan[$k]["NAME"] == "") {
        $arPlan[$k]["NAME"] = "План #" . ($k + 1);
    }
    $arPlan[$k]["ID"] = $plan;
    $arPlan[$k]["FILE"] = CFile::GetFileArray($plan);
    $resize = CFile::ResizeImageGet($plan, array("width" => 400, "height" => 350), BX_RESIZE_IMAGE_PROPORTIONAL, false, array($arWatermark, $arWatermark2));
    $arPlan[$k]["SRC"] = $resize["src"];
    $resize = CFile::ResizeImageGet($plan, array("width" => 800, "height" => 800), BX_RESIZE_IMAGE_PROPORTIONAL, false, array($arWatermark, $arWatermark2));
    $arPlan[$k]["FULL_PLAN"] = $resize["src"];
}
$arExplication = false;
$planFields = array('fc' => 'PLAN_TSOKOL', 'f1' => 'PLAN_1F', 'f2' => 'PLAN_2F', 'f3' => 'PLAN_3F', 'f4' => 'PLAN_4F', 'fm' => 'PLAN_MANS');
foreach ($planFields as $planField) {
    if (!$arResult["PROPERTIES"][$planField]["VALUE"]) {
        continue;
    }
Esempio n. 9
0
*			"IBLOCK_ID" 			- инфоблок
* 			"DETAIL_PAGE_URL" 		- страница детального просмотра товара
*			"PRICE" 				- базовая цена
*			"PRICE_WITH_DISCOUNT" 	- цена с учетом скидки
*			"PRODUCT_ID" 			- ИД товара
*			"ARTNUMBER" 			- артикул
*			"IMAGE" 				- путь к изображению
*			"REVIEW_COUNT" 			- количество коментариев к товару
*		]
*	]
*/
use Bitrix\Main;
use Bitrix\Iblock;
use Bitrix\Catalog;
if ($this->StartResultCache()) {
    if (!Main\Loader::IncludeModule("iblock") || !Main\Loader::includeModule('catalog') || !Main\Loader::includeModule('sale') || !Main\Loader::includeModule('blog')) {
        $this->AbortResultCache();
        return;
    }
    $arFilterV["SITE_ID"] = SITE_ID;
    $arFilterV["FUSER_ID"] = CSaleBasket::GetBasketUserID();
    $viewedIterator = \Bitrix\Catalog\CatalogViewedProductTable::getList(array('order' => array("DATE_VISIT" => "DESC"), 'filter' => $arFilterV, 'select' => array("ELEMENT_ID", "PRODUCT_ID"), 'limit' => $arParams["PAGE_ELEMENT_COUNT"]));
    while ($arItems = $viewedIterator->fetch()) {
        $arResult[$arItems["ELEMENT_ID"]] = $arItems["PRODUCT_ID"];
    }
    unset($arItems, $viewedIterator);
    if (!empty($arResult)) {
        $arIblockId = array();
        $strImageStorePath = COption::GetOptionString("main", "upload_dir", "upload");
        $arSelect = array("ID", "NAME", "IBLOCK_SECTION_ID", "IBLOCK_TYPE_ID", "IBLOCK_ID", "DETAIL_PAGE_URL", "CATALOG_GROUP_RETAIL", "PREVIEW_PICTURE", "DETAIL_PICTURE");
        $elementIterator = CIBlockElement::GetList(array(), array("ID" => array_keys($arResult), "IBLOCK_TYPE_ID" => $arParams["IBLOCK_TYPE_ID"]), false, array(), $arSelect);
Esempio n. 10
0
 /**
  * @throws \Bitrix\Main\LoaderException
  */
 public function autoload()
 {
     \Bitrix\Main\Loader::IncludeModule('shantilab.bxecho');
 }
Esempio n. 11
0
<?php

/*
 * This file is part of the Studio Fact package.
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
//define('IBLOCK_CATALOG', 2);
use Bitrix\Main\Loader;
Loader::includeModule('iblock');
Loader::IncludeModule('highloadblock');
Loader::registerAutoLoadClasses('citfact.tools', array('Citfact\\Tools' => 'lib/tools.php'));
class CitfactToolsEventsHandler
{
    public function OnBuildGlobalMenuHandler(&$aGlobalMenu, &$aModuleMenu)
    {
        /** @global CMain $APPLICATION */
        global $APPLICATION;
        $APPLICATION->SetAdditionalCSS('/bitrix/themes/.default/citfact_tools.css');
        $aGlobalMenu['global_menu_citfact'] = array('menu_id' => 'citfact', 'page_icon' => 'citfact_title_icon', 'index_icon' => 'citfact_page_icon', 'text' => 'Студия «Факт»', 'title' => 'Студия «Факт»', 'sort' => '70', 'items_id' => 'global_menu_citfact', 'help_section' => 'citfact', 'items' => array());
        //echo "<pre style=\"display:none;\">"; print_r($aGlobalMenu); echo "</pre>";
        //echo "<pre style=\"display:none;\">"; print_r($aModuleMenu); echo "</pre>";
    }
}
Esempio n. 12
0
<?php

/**
 * @global \CMain $APPLICATION
 * @global \CUser $USER
 * @var string $mid
 */
if (($moduleRight = $APPLICATION->GetGroupRight(\RetailRocket\Config::MODULE_ID)) < 'R') {
    return;
}
\Bitrix\Main\Localization\Loc::loadMessages($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/options.php');
\Bitrix\Main\Localization\Loc::loadMessages(__FILE__);
\Bitrix\Main\Loader::IncludeModule("retailrocket");
$aTabs = array(array('DIV' => 'edit1', 'TAB' => GetMessage('MAIN_TAB_SET'), 'ICON' => 'ib_settings', 'TITLE' => GetMessage('MAIN_TAB_TITLE_SET')), array('DIV' => 'edit2', 'TAB' => GetMessage('MAIN_TAB_RIGHTS'), 'ICON' => 'ib_settings', 'TITLE' => GetMessage('MAIN_TAB_TITLE_RIGHTS')));
$tabControl = new CAdminTabControl('tabControl', $aTabs);
if ($_POST && check_bitrix_sessid()) {
    if (isset($_POST['option_partner_id'])) {
        \RetailRocket\Config::setPartnerId($_POST['option_partner_id']);
    }
}
$tabControl->Begin();
?>
<form method='post' action='<?php 
echo $APPLICATION->GetCurPage();
?>
?mid=<?php 
echo $mid;
?>
&amp;lang=<?php 
echo LANGUAGE_ID;
?>
Esempio n. 13
0
<?php

define('NO_AGENT_CHECK', true);
define('STOP_STATISTICS', true);
include_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php";
\Bitrix\Main\Loader::IncludeModule("iblock");
\Bitrix\Main\Loader::IncludeModule("sale");
\Bitrix\Main\Loader::IncludeModule("catalog");
$ID = (int) $_REQUEST["id"];
$arBasketItems = array();
$dbBasketItems = CSaleBasket::GetList(array("NAME" => "ASC", "ID" => "ASC"), array("FUSER_ID" => CSaleBasket::GetBasketUserID(), "LID" => SITE_ID, "ORDER_ID" => "NULL", "ID" => $ID), false, false, array("ID", "CALLBACK_FUNC", "MODULE", "PRODUCT_ID", "QUANTITY", "DELAY", "CAN_BUY", "PRICE", "WEIGHT"));
while ($arItems = $dbBasketItems->Fetch()) {
    #var_dump($arItems);
}
//
Esempio n. 14
0
<?php

require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_before.php';
\Bitrix\Main\Loader::IncludeModule('conversion');
use Bitrix\Conversion\RateManager;
use Bitrix\Conversion\AttributeManager;
use Bitrix\Conversion\ReportContext;
use Bitrix\Main\Type\Date;
use Bitrix\Main\Localization\Loc;
Loc::loadMessages(__FILE__);
// PERIOD
$from = ($d = $_GET['from']) && Date::isCorrect($d) ? new Date($d) : Date::createFromPhp(new DateTime('first day of last month'));
$to = ($d = $_GET['to']) && Date::isCorrect($d) ? new Date($d) : Date::createFromPhp(new DateTime('last day of this month'));
// RATES
if (!($rateTypes = RateManager::getTypes())) {
    die('No rates!');
}
$rateName = $_GET['rate'];
if (!($rateType = $rateTypes[$rateName])) {
    list($rateName, $rateType) = each($rateTypes);
}
// ATTRIBUTES
if (!($attributeTypes = AttributeManager::getTypes())) {
    die('No attributes!');
}
$splitByAttribute = ($s = $_GET['split']) && $attributeTypes[$s] ? $s : null;
// FILTER
$filter = array('lang' => LANGUAGE_ID, 'from' => $from, 'to' => $to, 'rate' => $rateName, 'split' => &$splitByAttribute);
call_user_func(function () use($from, $to, &$attributeTypes, &$filter, &$splitByAttribute) {
    foreach ($attributeTypes as $name => &$type) {
        $values =& $type['VALUES'];
Esempio n. 15
0
<?php

require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php";
global $USER;
use Bitrix\Main, Bitrix\Main\Loader, Bitrix\Main\Config\Option, Bitrix\Sale, Bitrix\Sale\Order, Bitrix\Sale\DiscountCouponsManager;
if (!Loader::IncludeModule('sale')) {
    die;
}
function getPropertyByCode($propertyCollection, $code)
{
    foreach ($propertyCollection as $property) {
        if ($property->getField('CODE') == $code) {
            return $property;
        }
    }
}
$siteId = \Bitrix\Main\Context::getCurrent()->getSite();
$fio = 'Пупкин Василий';
$phone = '9511111111';
$email = '*****@*****.**';
$currencyCode = Option::get('sale', 'default_currency', 'RUB');
DiscountCouponsManager::init();
$order = Order::create($siteId, \CSaleUser::GetAnonymousUserID());
$order->setPersonTypeId(1);
$basket = Sale\Basket::loadItemsForFUser(\CSaleBasket::GetBasketUserID(), $siteId)->getOrderableItems();
/* Действия над товарами
$basketItems = $basket->getBasketItems();
foreach ($basketItems as $basketItem) {
    
}
*/