Ejemplo n.º 1
1
 function executeComponent()
 {
     $arFilter = array('IBLOCK_ID' => $this->arParams['IBLOCK_ID'], 'ACTIVE' => 'Y');
     if (true || $this->StartResultCache()) {
         $CIBlockElement = new CIBlockElement();
         $CFile = new \CFile();
         $aElts = array();
         $eltsSelectFields = array_merge(array('ID', 'NAME', 'CODE', 'PREVIEW_PICTURE', 'DETAIL_PICTURE', 'DETAIL_PAGE_URL'), $this->getIBlockProperties($this->arParams['IBLOCK_ID']));
         $rsElts = $CIBlockElement->GetList(array('SORT' => 'asc', 'date_active_from' => 'DESC'), $arFilter, false, false, array('ID', 'NAME'));
         if (intval($rsElts->SelectedRowsCount())) {
             while ($arElt = $rsElts->Fetch()) {
                 $aElts[] = array('ID' => $arElt['ID'], 'NAME' => $arElt['NAME']);
             }
             $arElt = $CIBlockElement->GetList(array('SORT' => 'asc', 'ID' => 'DESC'), array_merge($arFilter, array('ID' => $aElts[0]['ID'])), false, false, $eltsSelectFields)->GetNext();
             if ($arElt['DETAIL_PICTURE']) {
                 $arElt['DETAIL_PICTURE'] = $CFile->GetPath($arElt['DETAIL_PICTURE']);
             } elseif ($arElt['PREVIEW_PICTURE']) {
                 $arElt['DETAIL_PICTURE'] = $CFile->GetPath($arElt['PREVIEW_PICTURE']);
             }
             $arPrice = CPrice::GetList(array(), array("PRODUCT_ID" => $arElt['ID']))->Fetch();
             $arElt['PRICE'] = $arPrice['PRICE'];
             $this->arResult['ITEMS'] = $aElts;
             $this->arResult['ITEM'] = $arElt;
             $this->IncludeComponentTemplate();
         }
     }
 }
Ejemplo n.º 2
1
 /**
  * Get dev_key from db
  */
 public function __construct()
 {
     \CModule::IncludeModule("iblock");
     $arrFilter = array("IBLOCK_ID" => SOCIAL_CONFIG_IB, "PROPERTY_PROVIDER" => "Youtube", "PROPERTY_SOCIAL_ID" => $userProfile["identifier"]);
     $arSelect = array("PROPERTY_SECRET");
     $rsRes = \CIBlockElement::GetList($arOrder, $arrFilter, false, false, $arSelect);
     if ($arItem = $rsRes->GetNext()) {
         self::$dev_key = $arItem["PROPERTY_SECRET_VALUE"];
     }
 }
 /**
  * Получает результат запроса для поиска списка элементов
  *
  * @param array $filter
  * @param array $orderBy
  * @param array $selectedFields
  * @param mixed $navStartParams
  *
  * @return \CIBlockResult
  */
 public function rawFindBy(array $filter = array(), array $orderBy = array('sort' => 'asc'), array $selectedFields = array('*', 'PROPERTY_*'), $navStartParams = null)
 {
     if (!isset($filter['IBLOCK_ID']) && $this->iBlockId) {
         $filter['IBLOCK_ID'] = $this->iBlockId;
     }
     return $this->iBEGateway->GetList($orderBy, $filter, false, is_null($navStartParams) ? false : $navStartParams, $selectedFields);
 }
 public function addVariants(&$field, $params)
 {
     if (!$params["LINK_IBLOCK_ID"]) {
         return;
     }
     $cacheDir = KFilter::$config['CACHE_DIR'] . self::$cacheSubdir;
     $obCache = new CPHPCache();
     if ($obCache->InitCache(KFilter::$config['CACHE_TIME'], md5($params["LINK_IBLOCK_ID"] . __METHOD__), $cacheDir)) {
         $field['VARIANTS'] = $obCache->GetVars();
     } elseif ($obCache->StartDataCache()) {
         CModule::IncludeModule('iblock');
         global $CACHE_MANAGER;
         $CACHE_MANAGER->StartTagCache($cacheDir);
         $CACHE_MANAGER->RegisterTag("iblock_id_" . $params["LINK_IBLOCK_ID"]);
         $CACHE_MANAGER->EndTagCache();
         $rsSect = CIBlockSection::GetList(array('sort' => 'asc', 'name' => 'asc'), array('IBLOCK_ID' => $params["LINK_IBLOCK_ID"], 'ACTIVE' => 'Y'), false, array('ID', 'NAME'));
         while ($arSect = $rsSect->GetNext()) {
             $field['VARIANTS'][] = array('ID' => $arSect['ID'], 'NAME' => $arSect['NAME']);
         }
         $obCache->EndDataCache($field['VARIANTS']);
     }
     foreach ($field['VARIANTS'] as &$section) {
         if ($_REQUEST[$field['NAME']] == $section['ID']) {
             $section['SELECTED'] = 'Y';
             $res = CIBlockElement::GetList(array(), array("IBLOCK_ID" => $params["LINK_IBLOCK_ID"], "SECTION_ID" => $section['ID']), false, false, array("ID", "IBLOCK_ID"));
             $arr = array();
             while ($el = $res->GetNext()) {
                 $arr[] = $el['ID'];
             }
             $this->filter['PROPERTY_' . $field['PROPERTY']] = $arr;
             break;
         }
     }
 }
Ejemplo n.º 5
0
function trackStartedTask($stopStartedTask = true)
{
    CModule::IncludeModule('iblock');
    $res = CIBlockElement::GetList(array(), array("IBLOCK_ID" => TASKS_IBLOCK_ID, 'ACTIVE' => 'Y', "PROPERTY_PROGRAMMER" => CUser::GetID(), "PROPERTY_STATUS" => STATUS_LIST_WORK), false, false, array('ID', 'NAME', 'PROPERTY_PROJECT', 'PROPERTY_STATUS_DATE'));
    if ($taskArr = $res->Fetch()) {
        if ($stopStartedTask) {
            CIBlockElement::SetPropertyValuesEx($taskArr['ID'], TASKS_IBLOCK_ID, array('STATUS' => STATUS_LIST_PAUSE));
        }
        $link = TASKS_LIST_URL . $taskArr["PROPERTY_PROJECT_VALUE"] . '/' . $taskArr['ID'] . '/';
        $date = new DateTime($taskArr["PROPERTY_STATUS_DATE_VALUE"]);
        $curdate = new DateTime();
        $diff = $date->diff($curdate);
        $h = $diff->format('%h');
        $i = $diff->format('%i');
        if ($h || $i) {
            $timingText = '';
            if ($h) {
                $timingText = "{$h} ч, ";
            }
            if ($i) {
                $timingText = $timingText . "{$i} мин. ";
            }
            $decTime = $h + $i / 60;
            $decTime = round($decTime, 2);
            $el = new CIBlockElement();
            if ($el->Add(array("DATE_ACTIVE_FROM" => ConvertTimeStamp(time(), "SHORT"), "MODIFIED_BY" => CUser::GetID(), "IBLOCK_SECTION_ID" => false, "IBLOCK_ID" => TRACKING_IBLOCK_ID, "NAME" => 'Без названия' . ' (' . $decTime . 'ч.)', "ACTIVE" => "Y", "PROPERTY_VALUES" => array("HOURS" => $decTime, "TASK" => $taskArr['ID'])))) {
                crmEntitiesHelper::recalcTaskTracking($taskArr['ID']);
                ToolTip::Add("+ {$timingText} в трекер задачи \"<a target=\"_blank\" href=\"{$link}\">{$taskArr['ID']} {$taskArr['NAME']}</a>\"");
            } else {
                ToolTip::AddError($el->LAST_ERROR);
            }
        }
    }
}
Ejemplo n.º 6
0
    /**
     * получение результатов
     */
    protected function getResult()
    {
        global $APPLICATION;
        $uri = $APPLICATION->GetCurUri();
        $page = $APPLICATION->GetCurPage();

        $filter = Array(
            'IBLOCK_TYPE'=> $this -> arParams['IBLOCK_TYPE'],
            'IBLOCK_ID' => $this -> arParams['IBLOCK_ID'],
            'PREVIEW_TEXT' => $_SERVER['REQUEST_URI'],
            //'PREVIEW_TEXT' => 'привет',
        );

        $select = array(
            'NAME',
            'ID',
            'PREVIEW_TEXT'
        );

        $db_list = CIBlockElement::GetList(Array(), $filter, false, false, $select);

        if($ar_result = $db_list -> Fetch())
        {
            $APPLICATION->SetTitle($ar_result['NAME']);
            return $ar_result['NAME'];
        }else{
            return false;
        }

    }
Ejemplo n.º 7
0
 function _getIBlockItemsCount($ib, $section = null, $object = false, $object_id = false)
 {
     $arFilter = array("IBLOCK_ID" => intval($ib), "INCLUDE_SUBSECTIONS" => "Y", "CHECK_PERMISSIONS" => "N", "ACTIVE" => "Y");
     if ($section !== null) {
         $arFilter["SECTION_ID"] = intval($section);
     }
     if ($object !== false) {
         if ($object == "user") {
             $arFilter["CREATED_BY"] = $object_id;
         } else {
             $arFilter["SOCNET_GROUP_ID"] = $object_id;
         }
         $arFilter["SECTION_ID"] = 0;
         $dbRes = CIBLockSection::GetList(array(), $arFilter, false);
         // find GROUP/USER SECTION_ID
         if ($dbRes && ($arRes = $dbRes->Fetch())) {
             $arFilter["SECTION_ID"] = $arRes["ID"];
         } else {
             return 0;
         }
     }
     $itemsCount = CIBlockElement::GetList(array(), $arFilter, array(), false);
     // decrement by trash size
     $arParams = array();
     if ($object !== false) {
         $arParams["ROOT_SECTION_ID"] = $arFilter["SECTION_ID"];
         $arParams["ATTRIBUTES"] = $object == "user" ? array('user_id' => $object_id) : array('group_id' => $object_id);
     }
     $ob = new CWebDavIblock($arFilter['IBLOCK_ID'], '', $arParams);
     $arFilter["SECTION_ID"] = array($ob->GetMetaID("TRASH", false), $ob->GetMetaID("DROPPED", false));
     unset($ob);
     $trashAndDroppedItemsCount = CIBlockElement::GetList(array(), $arFilter, array(), false);
     $itemsCount -= $trashAndDroppedItemsCount;
     return $itemsCount;
 }
Ejemplo n.º 8
0
function Delivery(&$arFields){
	CModule::IncludeModule("iblock");
		$arSelect = Array("ID","PROPERTY_iblock","PROPERTY_send","NAME");
		$arFilter = Array("IBLOCK_ID"=>38, "ACTIVE"=>"Y");
		$res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>50), $arSelect);
		while($ob = $res->GetNextElement())
		{
			$arFields1 = $ob->GetFields();
			$delivery[$arFields1["PROPERTY_IBLOCK_VALUE"]]=$arFields1;
			$id_ac[]=$arFields1["PROPERTY_IBLOCK_VALUE"];
		}
		if (in_array($arFields['IBLOCK_ID'],$id_ac))
		{
			$arSelect = Array("ID","PROPERTY_email","NAME");
			$arFilter = Array("IBLOCK_ID"=>34, "ACTIVE"=>"Y","PROPERTY_delivery"=>$arFields['IBLOCK_ID']);
			$res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>50000), $arSelect);
			while($ob = $res->GetNextElement())
			{
				$arFields1 = $ob->GetFields();
				$receivers[]=$arFields1;
			}
			
			foreach ($receivers as $receiver){
				$arEventFields = array(
					"ID"                  => $arFields["ID"],
					"EMAIL_TO"            => $receiver["PROPERTY_EMAIL_VALUE"],
					"TITLE"				  => $arFields["NAME"],
					);

				$ev_id[]=CEvent::Send('DELIVERY', 's1', $arEventFields,"N",$delivery[$arFields['IBLOCK_ID']]["PROPERTY_SEND_VALUE"]);

			}

		}
}
Ejemplo n.º 9
0
 /** Returns an array, containing information about the product block on its ID.
  * @param $elementId
  * @return array|string
  */
 public static function getProductInfo($elementId)
 {
     $elementId = intval($elementId);
     $result = "";
     if ($elementId <= 0) {
         return $result;
     }
     $dbProduct = CIBlockElement::GetList(array(), array("ID" => $elementId), false, false, array('ID', 'IBLOCK_ID', 'IBLOCK_SECTION_ID', 'DETAIL_PICTURE', 'PREVIEW_PICTURE', 'NAME', 'XML_ID'));
     while ($arProduct = $dbProduct->GetNext()) {
         $imgCode = "";
         if ($arProduct["IBLOCK_ID"] > 0) {
             $arProduct["EDIT_PAGE_URL"] = CIBlock::GetAdminElementEditLink($arProduct["IBLOCK_ID"], $elementId, array("find_section_section" => $arProduct["IBLOCK_SECTION_ID"]));
         }
         if ($arProduct["DETAIL_PICTURE"] > 0) {
             $imgCode = $arProduct["DETAIL_PICTURE"];
         } elseif ($arProduct["PREVIEW_PICTURE"] > 0) {
             $imgCode = $arProduct["PREVIEW_PICTURE"];
         }
         $arProduct["NAME"] = $arProduct["NAME"];
         $arProduct["DETAIL_PAGE_URL"] = htmlspecialcharsex($arProduct["DETAIL_PAGE_URL"]);
         if ($imgCode > 0) {
             $arFile = CFile::GetFileArray($imgCode);
             $arImgProduct = CFile::ResizeImageGet($arFile, array('width' => 80, 'height' => 80), BX_RESIZE_IMAGE_PROPORTIONAL, false, false);
             $arProduct["IMG_URL"] = $arImgProduct['src'];
         }
         return $arProduct;
     }
     return $result;
 }
Ejemplo n.º 10
0
 /**
  * Возвращаем данные столика
  * @param $arData
  * @return CDBResult|CIBlockResult|string
  */
 function getInfo($tableID, $arData = false, $GetNext = false)
 {
     $arFilterTable = array("IBLOCK_ID" => IB_TABLE_ID, "PROPERTY_CLUB" => $this->clubID, "ID" => intval($tableID));
     $arSelectTable = array("ID");
     $arOrderTable = array();
     $arOrder = is_array($arData["arSelect"]) ? array_merge($arData["arOrder"], $arOrderTable) : $arOrderTable;
     $arGroupBy = is_array($arData["arGroupBy"]) ? array_merge($arData["arGroupBy"], array()) : false;
     $arNavStartParams = is_array($arData["arGroupBy"]) ? array_merge($arData["arNavStartParams"], array()) : false;
     $arSelect = is_array($arData["arSelect"]) ? array_merge($arData["arSelect"], $arSelectTable) : $arSelectTable;
     $arFilter = is_array($arData["arFilter"]) ? array_merge($arData["arFilter"], $arFilterTable) : $arFilterTable;
     $res = CIBlockElement::GetList($arOrder, $arFilter, $arGroupBy, $arNavStartParams, $arSelect);
     if (!$res) {
         return Errors::run("404");
     }
     $ob = $GetNext ? $res->GetNext() : $res->Fetch();
     if (isset($ob["PREVIEW_PICTURE"])) {
         $arFile = CFile::GetFileArray($ob["PREVIEW_PICTURE"]);
         $ob["PREVIEW_PICTURE"] = $arFile["SRC"];
     }
     if (isset($ob["PROPERTY_PRICE_GROUP_VALUE"])) {
         $res = CIBlockElement::GetList(array(), array("ID" => intval($ob["PROPERTY_PRICE_GROUP_VALUE"]), "IBLOCK_ID" => IB_PRICE_GROUP), false, false, array("NAME", "ID", "PROPERTY_PRICE"));
         $ob["PROPERTY_PRICE_GROUP"] = $res->Fetch();
     }
     return $ob;
 }
function createSmartFilterSeoXML()
{
    if (CModule::IncludeModule("iblock")) {
        $resElDB = CIBlockElement::GetList(array("SORT" => "ASC"), array('IBLOCK_ID' => SEO_IBLOCK), false, false, array('PROPERTY_TARGET_ON', 'PROPERTY_INDEX', 'PROPERTY_FOLLOW', 'IBLOCK_ID', 'ID', 'NAME'));
        $protocol = CMain::IsHTTPS() ? "https" : "http";
        $host = $_SERVER['HTTP_HOST'];
        if ($_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443 && $_SERVER['SERVER_PORT'] > 0 && strpos($_SERVER['HTTP_HOST'], ":") === false) {
            $host .= ":" . $_SERVER['SERVER_PORT'];
        }
        $curDate = date("Y-m-d\\TH:i:s P");
        $strBeginSmartFilter = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
        $index = 0;
        while ($res = $resElDB->fetch()) {
            $exp = explode('*', $res['PROPERTY_TARGET_ON_VALUE']['TEXT']);
            $urlFilter = trim($exp[0]);
            //clean url of smart filter
            if ($index == 0) {
                $strBeginSmartFilter .= "\t<url>\n\t\t";
                $index++;
            } else {
                $strBeginSmartFilter .= "<url>\n\t\t";
            }
            $strBeginSmartFilter .= "<loc>" . $protocol . "://" . $host . $urlFilter . "</loc>\n\t\t";
            $strBeginSmartFilter .= "<lastmod>" . $curDate . "</lastmod>\n\t";
            $strBeginSmartFilter .= "</url>";
        }
        $strBeginSmartFilter .= "</urlset\n>";
        $smartXmlFileName = 'sitemap_iblock_' . SEO_IBLOCK . '.xml';
        $el = fopen($_SERVER['DOCUMENT_ROOT'] . '/' . $smartXmlFileName, "w");
        fwrite($el, $strBeginSmartFilter);
        fclose($el);
        return "createSmartFilterSeoXML();";
    }
}
Ejemplo n.º 12
0
function OnProductCatalogHandler($ID, $arFields)
{
    Bitrix\Main\Loader::includeModule('iblock');
    Bitrix\Main\Loader::includeModule('catalog');
    define('IBLOCK_ID_PRODUCTS', 2);
    define('IBLOCK_ID_OFFERS', 3);
    $query = new \Bitrix\Main\Entity\Query(Bitrix\Iblock\ElementTable::getEntity());
    $query->setSelect(array("ID", "IBLOCK_ID"))->setFilter(array("ID" => $ID))->setOrder(array("ID" => "ASC"));
    $resElement = $query->exec()->fetch();
    if ($resElement['IBLOCK_ID'] == IBLOCK_ID_PRODUCTS) {
        CIBlockElement::SetPropertyValuesEx($ID, $resElement['IBLOCK_ID'], array("AVAILABLE_QUANTITY_CATALOG" => $arFields['QUANTITY']));
    } elseif ($resElement['IBLOCK_ID'] == IBLOCK_ID_OFFERS) {
        //1
        $rsElementOffer = CIBlockElement::GetList(array(), array("ID" => $ID), false, false, array("ID", "IBLOCK_ID", 'NAME', "PROPERTY_CML2_LINK"))->fetch();
        $resElemOfferProduct = (int) $rsElementOffer['PROPERTY_CML2_LINK_VALUE'];
        //2
        $resOffersCML2 = CIBlockElement::GetList(array(), array("PROPERTY_CML2_LINK" => $resElemOfferProduct, 'IBLOCK_ID' => IBLOCK_ID_OFFERS), false, false, array("ID", "IBLOCK_ID", 'NAME'));
        //3
        $arrOffersIDs = array();
        while ($res = $resOffersCML2->fetch()) {
            $arrOffersIDs[] = $res['ID'];
        }
        //4
        $availQuant = array();
        foreach ($arrOffersIDs as $k => $v) {
            $ar_res_cat = CCatalogProduct::GetList(array("ID" => "DESC"), array("ID" => (int) $v), false, false, array("ID", "QUANTITY", 'ELEMENT_IBLOCK_ID', 'ELEMENT_NAME'))->fetch();
            $availQuant[] = $ar_res_cat['QUANTITY'];
        }
        //5
        $minAvailQuant = (int) min($availQuant);
        //6
        $resUpdateSCU = CIBlockElement::SetPropertyValuesEx($resElemOfferProduct, IBLOCK_ID_PRODUCTS, array("AVAILABLE_QUANTITY_CATALOG" => $minAvailQuant));
    }
}
Ejemplo n.º 13
0
 public static function getUserByProviderAndId($providerName, $userProfile)
 {
     CModule::IncludeModule("iblock");
     $userID = false;
     //Проверим привязан ли к какому нибудь пользователю
     $arrFilter = array("IBLOCK_ID" => USER_SOCIAL_IB, "ACTIVE" => "Y", "PROPERTY_SOCIAL_PROVIDER" => $providerName, "PROPERTY_SOCIAL_ID" => $userProfile["identifier"]);
     $arSelect = array("PROPERTY_USER_ID");
     $rsRes = \CIBlockElement::GetList($arOrder, $arrFilter, false, false, $arSelect);
     if ($arItem = $rsRes->GetNext()) {
         $userID = intval($arItem["PROPERTY_USER_ID_VALUE"]);
     }
     $email = "";
     if (!empty($userProfile["email"])) {
         $email = $userProfile["email"];
     } else {
         if (!empty($userProfile["emailVerified"])) {
             $email = $userProfile["emailVerified"];
         }
     }
     //Проверяем есть ли пользователь с таким мэйлом
     if (!$userID && !empty($email)) {
         $dbUsers = CUser::GetList($by = "EMAIL", $order = "desc", array("=EMAIL" => $email));
         while ($arUser = $dbUsers->Fetch()) {
             $userID = $arUser["ID"];
             self::connectToUser($userID, $providerName, $userProfile);
             self::updateUser($userID, $userProfile);
         }
     }
     return $userID;
 }
Ejemplo n.º 14
0
 /**
  * TASK performs with ACTION = INSERT
  *
  * @param int $limit
  * @return string
  */
 public static function taskInsertElement($limit = 500)
 {
     if (($limit = (int) $limit) < 0) {
         return;
     }
     $iblockElement = new \CIBlockElement();
     $connection = \Bitrix\Main\Application::getConnection();
     $sqlHelper = $connection->getSqlHelper();
     // We get a task with the `ACTION` of `INSERT`
     $sql = "\n            SELECT t1.ID as TASK_ID, t1.PARAMS, t1.FILTER_USER_ID, t3.*\n            FROM b_citfact_filter_subscribe_stack as t1\n            LEFT JOIN b_citfact_filter_subscribe_user as t2 ON t2.ID = t1.FILTER_USER_ID\n            LEFT JOIN b_citfact_filter_subscribe as t3 ON t3.ID = t2.FILTER_USER\n            WHERE t1.ACTION = 'INSERT' AND t3.ACTIVE = 'N'\n            LIMIT 1\n        ";
     $task = (array) $connection->query($sql)->fetch();
     if (!empty($task)) {
         $filter['IBLOCK_ID'] = $task['IBLOCK_ID'];
         if ($task['SECTION_ID'] > 0) {
             $filter['SECTION_ID'] = $task['SECTION_ID'];
         }
         $filter = array_merge($filter, unserialize($task['FILTER']));
         $elementResult = $iblockElement->GetList(array('ID' => 'ASC'), $filter, false, array('nTopCount' => $limit), array('ID'));
         while ($element = $elementResult->fetch()) {
             Model\SubscribeNotifyTable::add(array('FILTER_USER_ID' => $task['FILTER_USER_ID'], 'ELEMENT_ID' => $element['ID']));
         }
         Model\SubscribeStackTable::delete(array('ID' => $task['TASK_ID']));
     }
     return "Citfact\\FilterSubscribe\\Agent::taskInsertElement({$limit})";
 }
Ejemplo n.º 15
0
 function getData()
 {
     $data = array();
     $svg = new SimpleXMLElement(file_get_contents($this->xml));
     foreach ($svg->deals->deal as $var) {
         $id = $var->id;
         $url = preg_replace("#http://#i", "", $var->vendor_website_url);
         $url = preg_replace("#^([^/]+)/.*#i", "\\1", $url);
         $url = str_replace("www.", "", $url);
         $arSelect = array("ID", "NAME");
         if ($this->filterSite($url)) {
             $arFilter = array("IBLOCK_ID" => IB_CLUB_ID, "PROPERTY_SITE" => "%" . $url . "%");
             if ($res = CIBlockElement::GetList(array("SORT" => "DESC"), $arFilter, FALSE, FALSE, $arSelect)->Fetch()) {
                 if (!($resStock = CIBlockElement::GetList(array("SORT" => "DESC"), array("CODE" => $id, "TAGS" => $this->tags), FALSE, FALSE, $arSelect)->Fetch())) {
                     $PROP = array();
                     $PROP["URL"] = $var->deal_url;
                     // �������� � ����� 12 ����������� �������� "�����"
                     $PROP["CLUB_ID"] = $res["ID"];
                     // �������� � ����� 3 ����������� �������� 38
                     $PROP["PRICE"] = intval($var->value);
                     // �������� � ����� 3 ����������� �������� 38
                     $PROP["DISCOUNT"] = intval($var->discount_percent);
                     // �������� � ����� 3 ����������� �������� 38
                     $PROP["DISCOUNTPRICE"] = intval($var->discount_amount);
                     // �������� � ����� 3 ����������� �������� 38
                     $PROP["PRICECOUPON"] = intval($var->price);
                     // �������� � ����� 3 ����������� �������� 38
                     $arLoadProductArray = array("IBLOCK_ID" => IB_SUB_STOCK_ID, "PROPERTY_VALUES" => $PROP, "NAME" => $var->title, "ACTIVE_FROM" => date("d.m.Y H:m:s", intval($var->start_timestamp)), "ACTIVE_TO" => date("d.m.Y H:m:s", intval($var->end_timestamp)), "CODE" => $id, "TAGS" => $this->tags, "ACTIVE" => "Y", "PREVIEW_TEXT" => strip_tags($var->conditions), "DETAIL_PICTURE" => CFile::MakeFileArray($var->large_image_url));
                     $data[] = $arLoadProductArray;
                 }
             }
         }
     }
     return count($data) ? $data : false;
 }
Ejemplo n.º 16
0
 /**
  * Воззвращаем список новостей клуба
  * @return mixed
  */
 function getList($filter = array())
 {
     $filter['IBLOCK_ID'] = IB_SUB_NEWS_ID;
     $filter['PROPERTY_CLUB_ID'] = $this->clubID;
     $ob = CIBlockElement::GetList(array("ACTIVE_FROM" => "DESC"), $filter, false, FALSE, array("ID", "NAME", "ACTIVE_FROM", "DETAIL_TEXT", "PREVIEW_PICTURE"));
     return $ob;
 }
Ejemplo n.º 17
0
 public static function GetElementID($element_id, $element_code, $section_id, $section_code, $arFilter)
 {
     $element_id = (int) $element_id;
     $element_code = (string) $element_code;
     if ($element_id > 0) {
         return $element_id;
     } elseif ($element_code != '') {
         if (!is_array($arFilter)) {
             $arFilter = array();
         }
         $arFilter['=CODE'] = $element_code;
         $section_id = (int) $section_id;
         $section_code = (string) $section_code;
         if ($section_id > 0) {
             $arFilter['SECTION_ID'] = $section_id;
         } elseif ($section_code != '') {
             $arFilter["SECTION_CODE"] = $section_code;
         }
         $rsElement = CIBlockElement::GetList(array(), $arFilter, false, false, array("ID"));
         if ($arElement = $rsElement->Fetch()) {
             return (int) $arElement["ID"];
         }
     }
     return 0;
 }
Ejemplo n.º 18
0
 public function GetProductInfo($intOfferID, $intIBlockID = 0)
 {
     $intOfferID = intval($intOfferID);
     if (0 >= $intOfferID) {
         return false;
     }
     $intIBlockID = intval($intIBlockID);
     if (0 >= $intIBlockID) {
         $rsItems = CIBlockElement::GetList(array(), array("ID" => $intOfferID, "SHOW_HISTORY" => "Y"), false, false, array('ID', 'IBLOCK_ID'));
         if ($arItem = $rsItems->Fetch()) {
             $intIBlockID = intval($arItem['IBLOCK_ID']);
         }
     }
     if (0 >= $intIBlockID) {
         return false;
     }
     $arSkuInfo = CCatalogSKU::GetInfoByOfferIBlock($intIBlockID);
     if (empty($arSkuInfo) || empty($arSkuInfo['SKU_PROPERTY_ID'])) {
         return false;
     }
     $rsItems = CIBlockElement::GetProperty($intIBlockID, $intOfferID, array(), array('ID' => $arSkuInfo['SKU_PROPERTY_ID']));
     if ($arItem = $rsItems->Fetch()) {
         $arItem['VALUE'] = intval($arItem['VALUE']);
         if (0 < $arItem['VALUE']) {
             return array('ID' => $arItem['VALUE'], 'IBLOCK_ID' => $arSkuInfo['PRODUCT_IBLOCK_ID']);
         }
     }
     return false;
 }
Ejemplo n.º 19
0
 function getItem()
 {
     $arSelect = array();
     $arFilter = array("IBLOCK_ID" => (int) $GLOBALS['AQW_BRANDS']['IBLOCK_ID'], "ID" => $this->getItemID(), "GLOBAL_ACTIVE" => "Y");
     $res = CIBlockElement::GetList(array("DATE_CREATE" => "DESC"), $arFilter, false, array("nPageSize" => $this->limit), $arSelect);
     return $res->GetNext();
 }
function getProductInfo($arData)
{
    $result = "";
    if (!is_array($arData) || count($arData) <= 0) {
        return $result;
    }
    $dbProduct = CIBlockElement::GetList(array(), array("ID" => $arData["ELEMENT_ID"]), false, false, array('ID', 'IBLOCK_ID', 'IBLOCK_SECTION_ID', 'DETAIL_PICTURE', 'PREVIEW_PICTURE', 'IBLOCK_TYPE_ID', 'NAME'));
    while ($arProduct = $dbProduct->GetNext()) {
        $imgCode = "";
        if ($arProduct["IBLOCK_ID"] > 0) {
            $arProduct["EDIT_PAGE_URL"] = "/bitrix/admin/iblock_element_edit.php?ID=" . $arProduct["ID"] . "&type=" . $arProduct["IBLOCK_TYPE_ID"] . "&lang=" . LANG . "&IBLOCK_ID=" . $arProduct["IBLOCK_ID"] . "&find_section_section=" . intval($arProduct["IBLOCK_SECTION_ID"]);
        }
        if ($arProduct["DETAIL_PICTURE"] > 0) {
            $imgCode = $arProduct["DETAIL_PICTURE"];
        } elseif ($arProduct["PREVIEW_PICTURE"] > 0) {
            $imgCode = $arProduct["PREVIEW_PICTURE"];
        }
        $arProduct["NAME"] = htmlspecialcharsex($arProduct["NAME"]);
        $arProduct["DETAIL_PAGE_URL"] = htmlspecialcharsex($arProduct["DETAIL_PAGE_URL"]);
        $arProduct["CURRENCY"] = htmlspecialcharsex($arProduct["CURRENCY"]);
        if ($imgCode > 0) {
            $arFile = CFile::GetFileArray($imgCode);
            $arImgProduct = CFile::ResizeImageGet($arFile, array('width' => 80, 'height' => 80), BX_RESIZE_IMAGE_PROPORTIONAL, false, false);
            $arProduct["IMG_URL"] = $arImgProduct['src'];
        }
        return $arProduct;
    }
}
Ejemplo n.º 21
0
function checkExist($user, $email)
{
    CModule::IncludeModule("iblock");
    $arSelect = array("ID");
    $arFilter = array("IBLOCK_ID" => IBLOCK_ID, array("LOGIC" => "OR", array("PROPERTY_USER" => $user), array("PROPERTY_EMAIL" => $email)));
    $res = CIBlockElement::GetList(array(), $arFilter, false, false, $arSelect);
    return $res->Fetch();
}
Ejemplo n.º 22
0
/**
 * Created by JetBrains PhpStorm.
 * User: oleg
 * Date: 01.10.12
 * Time: 21:06
 * To change this template use File | Settings | File Templates.
 */
function agent_kingcoupon_pars()
{
    require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php";
    CModule::IncludeModule("iblock");
    CModule::IncludeModule("mytb");
    $content = file_get_contents("http://kingcoupon.ru/offer/category/Food/");
    preg_match_all("#kingcoupon\\.ru/offer/([0-9]+)/#is", $content, $arr);
    $xml = file_get_contents("http://kingcoupon.ru/offer/export/?refId=100132540459877345");
    $svg = new SimpleXMLElement($xml);
    $clubListID = array();
    foreach ($arr[1] as $var) {
        $clubListID[$var] = $var;
    }
    foreach ($svg->offers->offer as $var) {
        $R = array();
        if (in_array($var->id, $arr[1])) {
            $R['clubName'] = (string) $var->supplier->name;
            foreach ((array) $var->supplier->addresses as $address) {
                if (is_array($address)) {
                    foreach ((array) $address as $var1) {
                        $R['clubAdress'][] = (string) $var1->name;
                    }
                } else {
                    $R['clubAdress'][] = $address->name;
                }
            }
            foreach ((array) $var->supplier->tel as $tel) {
                $R['clubPhone'][] = $tel;
            }
            $id = $var->id;
            $url = preg_replace("#http://#i", "", $var->supplier->url);
            $url = preg_replace("#^([^/]+)/.*#i", "\\1", $url);
            $url = str_replace("www.", "", $url);
            $R['url'] = $url;
            $arSelect = array("ID", "NAME");
            $arFilter = array("IBLOCK_ID" => IB_CLUB_ID, "PROPERTY_SITE" => "%" . $url . "%");
            $res = CIBlockElement::GetList(array("SORT" => "DESC"), $arFilter, FALSE, FALSE, $arSelect);
            if (!$res->Fetch()) {
                $PROP = array();
                //                $PROP["PHONE"]   = $R['clubPhone'];
                //                $PROP["ADDRESS"] = $R['clubAdress'];
                $PROP["SITE"] = $R['url'];
                $PROP["LIST"] = array(54);
                $el = new CIBlockElement();
                $arLoadProductArray = array("IBLOCK_ID" => IB_CLUB_ID, "PROPERTY_VALUES" => $PROP, "NAME" => $R['clubName'], "TAGS" => "kingcoupon", "ACTIVE" => "Y", "SORT" => "0");
                if ($PRODUCT_ID = $el->Add($arLoadProductArray)) {
                    foreach ($R['clubAdress'] as $addressItem) {
                        MyTbCore::Add(array("CLUB_ID" => $PRODUCT_ID, "SITY_ID" => 1, "ADDRESS" => $addressItem, "PHONE" => serialize($R['clubPhone'])), "address");
                        printAr($addressItem);
                    }
                } else {
                    echo "Error: " . $el->LAST_ERROR;
                }
            }
        }
    }
    return "agent_kingcoupon_pars();";
}
Ejemplo n.º 23
0
function my_OnAfterIBlockElementAdd(&$arFields)
{
    $elem = CIBlockElement::GetList(array(), array("IBLOCK_ID" => 12, "ID" => $arFields["ID"]), false, false, array("NAME", "PROPERTY_email", "PROPERTY_phone", "PROPERTY_message"));
    while ($elem_info = $elem->Fetch()) {
        $mailFields = array("EMAIL_TO" => "*****@*****.**", "AUTHOR" => $elem_info["NAME"], "AUTHOR_EMAIL" => $elem_info["PROPERTY_EMAIL_VALUE"], "AUTHOR_PHONE" => $elem_info["PROPERTY_PHONE_VALUE"], "TEXT" => $elem_info["PROPERTY_MESSAGE_VALUE"]);
    }
    CEvent::Send("FEEDBACK_FORM", "s1", $mailFields, "N");
    //получим сообщение
}
Ejemplo n.º 24
0
 function getPhotos()
 {
     $arSelect = array("ID", "PROPERTY_PHOTOS", "PREVIEW_PICTURE", "DETAIL_PICTURE");
     $arFilter = array("IBLOCK_ID" => (int) $GLOBALS['AQW_STORE']['IBLOCK_ID'], "ID" => (int) $this->itemID);
     $res = CIBlockElement::GetList(false, $arFilter, false, false, $arSelect);
     if ($arFields = $res->Fetch()) {
         return $arFields;
     }
 }
Ejemplo n.º 25
0
function clear_section($iblock_id, $section_id)
{
    $items_raw = CIBlockElement::GetList(array("SORT" => "ASC"), array("SECTION_ID" => $section_id));
    while ($el = $items_raw->GetNext()) {
        $id = $el["ID"];
        //test_dump($el);
        //echo $id . "<br>";
        CIBlockElement::Delete($id);
    }
}
Ejemplo n.º 26
0
 function getProperties()
 {
     $arSelect = array("ID", "PROPERTY_VENDOR.NAME", "PROPERTY_MATERIAL.NAME");
     $arFilter = array("IBLOCK_ID" => (int) $GLOBALS['AQW_STORE']['IBLOCK_ID'], "ID" => (int) $this->itemID);
     $res = CIBlockElement::GetList(false, $arFilter, false, false, $arSelect);
     if ($arFields = $res->GetNext()) {
         return $arFields;
     }
     return false;
 }
Ejemplo n.º 27
0
 function _getIBlockItemsCount($ib, $section)
 {
     $res = CIBlockElement::GetList(array(), array("IBLOCK_ID" => intval($ib), "SECTION_ID" => intval($section), "INCLUDE_SUBSECTIONS" => "Y", "ACTIVE" => "Y"));
     if ($res) {
         $res->NavStart();
         return $res->NavRecordCount;
     } else {
         return 0;
     }
 }
Ejemplo n.º 28
0
 public static function getPropertyFieldHtml($property, $value, $strHTMLControlName)
 {
     $request = Application::getInstance()->getContext()->getRequest();
     if (empty($value['VALUE']) && $request->get('I18N_RELATED_ID')) {
         $rsRelatedElement = \CIBlockElement::GetList([], ['IBLOCK_ID' => $property['IBLOCK_ID'], 'ID' => $request->get('I18N_RELATED_ID')], false, false, ['ID', 'IBLOCK_ID', 'PROPERTY_' . $property['CODE']]);
         if ($relatedElement = $rsRelatedElement->Fetch()) {
             $value['VALUE'] = $relatedElement['PROPERTY_' . $property['CODE'] . '_VALUE'];
         }
     }
     return $value['VALUE'] . '<input type="hidden" name="' . $strHTMLControlName['VALUE'] . '" value="' . $value['VALUE'] . '">';
 }
Ejemplo n.º 29
0
 function getItems()
 {
     $arItems = array();
     $arSelect = array();
     $arFilter = array("IBLOCK_ID" => (int) $GLOBALS['AQW_BRANDS']['IBLOCK_ID'], "GLOBAL_ACTIVE" => "Y");
     $this->navResult = $res = CIBlockElement::GetList(array("NAME" => "ASC"), $arFilter, false, array("nPageSize" => $this->limit), $arSelect);
     while ($arFields = $res->GetNext()) {
         $arItems[] = $arFields;
     }
     return $arItems;
 }
Ejemplo n.º 30
0
 public function getProductID($place_id)
 {
     $product_id = 0;
     $arSelect = array("IBLOCK_ID", "ID", "NAME", "PROPERTY_PRODUCT");
     $arFilter = array("IBLOCK_ID" => $this->index_iblock_id, "ID" => $place_id, "ACTIVE" => "Y");
     $res = CIBlockElement::GetList(array(), $arFilter, false, false, $arSelect);
     if ($ob = $res->GetNextElement()) {
         $arFields = $ob->GetFields();
         $product_id = $arFields['PROPERTY_PRODUCT_VALUE'];
     }
     return $product_id;
 }