public function transformTags($aOldTags, $aNewTags, $bSaveOldTags = false, $sOperation = false) { $aElements = $this->getMaterialsByTags($aOldTags); $mResult = array('iTotalElements' => count($aElements), 'iProcessedElements' => 0, 'aErrorElementID' => array()); if (!empty($aElements)) { $oElement = new CIBlockElement(); foreach ($aElements as $aElement) { $aTags = explode(',', $aElement['TAGS']); $aNewTags = array_map('trim', array_unique(array_merge($aTags, $aNewTags))); if (!$bSaveOldTags) { foreach ($aNewTags as $iKey => &$sTag) { $sTag = trim($sTag); if (in_array($sTag, $aOldTags)) { unset($aNewTags[$iKey]); } } } //var_dump($aElement['TAGS'],implode( ', ', $aNewTags ) ); $bResult = $oElement->Update($aElement['ID'], array('TAGS' => implode(', ', $aNewTags))); if ($bResult) { $mResult['iProcessedElements']++; } else { $mResult['aErrorElementID'][] = array('ID' => $aElement['ID'], 'IBLOCK_ID' => $aElement['IBLOCK_ID'], 'FORMATTED_LINK' => $this->getElementLink($aElement)); } } } return $mResult; }
function WF_Restore($ID) { $obElement = new CIBlockElement(); $rsElement = $obElement->GetByID($ID); if ($arElement = $rsElement->Fetch()) { if (strlen($arElement["WF_PARENT_ELEMENT_ID"]) > 0) { $arElement["PROPERTY_VALUES"] = array(); $rsProperties = $obElement->GetProperty($arElement["IBLOCK_ID"], $arElement["WF_PARENT_ELEMENT_ID"], "sort", "asc", array("PROPERTY_TYPE" => "F")); while ($arProperty = $rsProperties->Fetch()) { if (!array_key_exists($arProperty["ID"], $arElement["PROPERTY_VALUES"])) { $arElement["PROPERTY_VALUES"][$arProperty["ID"]] = array(); } $arElement["PROPERTY_VALUES"][$arProperty["ID"]][$arProperty["PROPERTY_VALUE_ID"]] = array("del" => "Y"); } $n = 1; $rsProperties = $obElement->GetProperty($arElement["IBLOCK_ID"], $arElement["ID"]); while ($arProperty = $rsProperties->Fetch()) { if (!array_key_exists($arProperty["ID"], $arElement["PROPERTY_VALUES"])) { $arElement["PROPERTY_VALUES"][$arProperty["ID"]] = array(); } if ($arProperty["PROPERTY_TYPE"] == "F") { $arElement["PROPERTY_VALUES"][$arProperty["ID"]]["n" . $n] = array("VALUE" => $arProperty["VALUE"], "DESCRIPTION" => $arProperty["DESCRIPTION"]); $n++; } else { $arElement["PROPERTY_VALUES"][$arProperty["ID"]][$arProperty["PROPERTY_VALUE_ID"]] = array("VALUE" => $arProperty["VALUE"], "DESCRIPTION" => $arProperty["DESCRIPTION"]); } } return $obElement->Update($arElement["WF_PARENT_ELEMENT_ID"], $arElement, true); } } return false; }
/** * Обновляет элемент * * @param int $id * @param array $fields * @param array $properties * * @return bool */ public function update($id, array $fields, array $properties = array()) { if ($this->iBEGateway->Update($id, $fields)) { if (!empty($properties)) { $item = $this->find($id, array('ID', 'IBLOCK_ID'), false); \CIBlockElement::SetPropertyValuesEx($id, $item['IBLOCK_ID'], $properties); } return true; } return false; }
/** * [deactivatedProducts description] * @param array $arProducts * @return bool */ protected function deactivatedProducts($arProducts){ if (!CModule::IncludeModule("iblock")): return false; endif; $el = new CIBlockElement; $arLoadProductArray = Array("ACTIVE" => "N"); foreach ($arProducts as $key => $prod) : if(!$el->Update($prod["ID"], $arLoadProductArray)): return false; endif; endforeach; return true; }
/** * Выключает прошедшие акции * User: Tabota Oleg (sForge.ru) * Date: 18.11.12 16:20 * File name: no_active_stock.php */ function no_active_stock() { require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php"; CModule::IncludeModule("iblock"); $sort = array("SORT" => "ASC"); $filter = array("ACTIVE" => "Y", "IBLOCK_ID" => IB_SUB_STOCK_ID, "<DATE_ACTIVE_TO" => date("d.m.Y")); $select = array("ID", "IBLOCK_ID"); $ob = CIBlockElement::GetList($sort, $filter, FALSE, FALSE, $select); while ($row = $ob->Fetch()) { $el = new CIBlockElement(); $el->Update(intval($row['ID']), array("ACTIVE" => "N")); } return "no_active_stock();"; }
/** * Renames inner links, and categories on wiki pages * alternatively you must do that manualy, after page, or catgory was renamed. * @param int $iBlockId (mandatory)- id of iblock witch contain page, or category. * @param str $oldName (mandatory)- old page or category name. * @param str $newName (mandatory)- new page or category name. * @param int $iBlockSectId (optional) - id of iBlock section witch contain page, or category. * if wiki used with socnet groups, this param must be setted, otherwise all pages of all soc. groups * will be changed. * @return int the amount of changed pages. */ public function RenameLinkOnPages($iBlockId, $oldName, $newName, $iBlockSectId = false) { if (!$iBlockId || !$oldName || !$newName) { return false; } $arFilter["IBLOCK_ID"] = $iBlockId; $arFilter["CHECK_PERMISSIONS"] = "N"; if ($iBlockSectId) { $arFilter["SECTION_ID"] = $iBlockSectId; $arFilter["INCLUDE_SUBSECTIONS"] = "Y"; } $count = 0; $sCatName = ''; $isCategory = CWikiUtils::IsCategoryPage($oldName, $sCatName); $catSearch = "[[" . GetMessage('CATEGORY_NAME') . ":" . $sCatName . "]]"; $arPatterns = array(array("search" => "[[" . $oldName . "|" . $oldName . "]]", "pattern" => "/\\[\\[(" . preg_quote($oldName) . ")\\|(" . preg_quote($oldName) . ")\\]\\]/isU" . BX_UTF_PCRE_MODIFIER, "replacement" => "[[" . $newName . "|" . $newName . "]]"), array("search" => "[[" . $oldName . "|", "pattern" => "/\\[\\[(" . preg_quote($oldName) . ")\\|(.*)\\]\\]/isU" . BX_UTF_PCRE_MODIFIER, "replacement" => "[[" . $newName . "|\$2]]"), array("search" => "[[" . $oldName . "]]", "pattern" => "/\\[\\[" . preg_quote($oldName) . "\\]\\]/isU" . BX_UTF_PCRE_MODIFIER, "replacement" => "[[" . $newName . "]]")); $dbRes = CIBlockElement::GetList(array(), $arFilter, false, false, array("ID", "NAME", "DETAIL_TEXT")); while ($arElement = $dbRes->GetNext()) { $bChanged = false; $newText = $arElement["~DETAIL_TEXT"]; foreach ($arPatterns as $arPattern) { if (strpos($newText, $arPattern["search"]) !== false) { $newText = preg_replace($arPattern["pattern"], $arPattern["replacement"], $newText); $bChanged = true; } } if ($isCategory) { if (strpos($newText, $catSearch) !== false) { $newText = $this->RenameCategoryOnPage($newText, $sCatName, $newName); $bChanged = true; } } if ($bChanged) { $this->CleanCache($arElement["ID"], $arElement["NAME"], $iBlockId); $this->cIB_E->Update($arElement["ID"], array("DETAIL_TEXT" => $newText), false, true); self::MarkPageAsUpdated($iBlockId, $iBlockSectId, $arElement["NAME"]); $count++; } } return $count; }
function EditAbsence($arFields) { global $iblockID; if (CModule::IncludeModule('iblock')) { $PROP = array(); $db_absence = CIBlockProperty::GetList(array(), array("CODE" => "ABSENCE_TYPE", "IBLOCK_ID" => $iblockID)); if ($ar_absence = $db_absence->Fetch()) { $PROP[$ar_absence['ID']] = array($arFields["ABSENCE_TYPE"]); } $db_user = CIBlockProperty::GetList(array(), array("CODE" => "USER", "IBLOCK_ID" => $iblockID)); if ($ar_user = $db_user->Fetch()) { $PROP[$ar_user['ID']] = array($arFields["USER_ID"]); } $arNewFields = array("NAME" => $arFields["NAME"], "PROPERTY_VALUES" => $PROP, "ACTIVE_FROM" => $arFields["ACTIVE_FROM"], "ACTIVE_TO" => $arFields["ACTIVE_TO"], "IBLOCK_ID" => $iblockID); $element = new CIBlockElement(); $ID = $element->Update(intval($arFields["absence_element_id"]), $arNewFields); } if (!$ID) { $arErrors = preg_split("/<br>/", $element->LAST_ERROR); return $arErrors; } else { return $ID; } }
function seaseon() { $tek_date = date("d.m"); //формат текущей даты 01.01 $tek_day = date("d"); $tek_month = date("m"); //Активируем либо дезактивируем элементы по их сезонности CModule::IncludeModule("iblock"); $arSelect = Array("ID", "IBLOCK_ID", "NAME", "DATE_ACTIVE_FROM","CODE","*"); $arFilter = Array("IBLOCK_ID"=>2); $res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect); while($ob = $res->GetNextElement()){ $arProps = $ob->GetProperties(); $arFields = $ob->GetFields(); if(isset($arProps['season']['VALUE_XML_ID'])) { $a = 0; foreach($arProps['season']['VALUE_XML_ID'] as $season) { $season = explode("-",$season); $sean_start = $season[0]; //$sean_start_day = explode(".",$sean_start)[0]; //$sean_start_month = explode(".",$sean_start)[1]; $sean_finish = $season[1]; //$sean_finish_day = explode(".",$sean_finish)[0]; //$sean_finish_month = explode(".",$sean_finish)[1]; if(($tek_day >= $sean_start_day && $tek_day <= $sean_finish_day) && ($tek_month >= $sean_start_month && $tek_month <= $sean_finish_month)) { //echo $season; $el = new CIBlockElement; $arLoadProductArray = Array( "MODIFIED_BY" => $USER->GetID(), // элемент изменен текущим пользователем "ACTIVE" => "Y" // активен ); $PRODUCT_ID = $arFields['ID']; // изменяем элемент с кодом (ID) 2 $result = $el->Update($PRODUCT_ID, $arLoadProductArray); $a = 1; } else { $el = new CIBlockElement; $arLoadProductArray = Array( "MODIFIED_BY" => $USER->GetID(), // элемент изменен текущим пользователем "ACTIVE" => "N" // активен ); $PRODUCT_ID = $arFields['ID']; // изменяем элемент с кодом (ID) 2 $result = $el->Update($PRODUCT_ID, $arLoadProductArray); } if($a == 1) break; } } } }
if ($_REQUEST['action'] == 'upload') { // Сохраним файл $arrFile = $_FILES[$strNameField]; $arrFile['MODULE_ID'] = 'iblock'; if (isset($arrAdvert[$arrField[$strNameField]])) { $arrFile['old_file'] = $arrAdvert[$arrField[$strNameField]]; $arrFile['del'] = ${$arrField[$strNameField].'_del'}; }//\\ if $res = CFile::CheckImageFile($arrFile, 20971520, 4000, 4000); if (strlen($res)) { $arrResult['error'] = $res; $arrResult['result'] = 'fail'; } else { $el = new CIBlockElement; $res = $el->Update($intAdvertID, array($arrField[$strNameField] => $arrFile)); if(!$res) { $arrResult['error'] = $el->LAST_ERROR; $arrResult['result'] = 'fail'; } else { $objE = CIBlockElement::GetList(array(), array('IBLOCK_ID' => $intBlockID, 'ID' => $intAdvertID, 'SECTION_ID' => $intRootSection, 'INCLUDE_SUBSECTIONS' => 'Y', 'ACTIVE' => 'Y')); if ($arrAdvert = $objE->GetNext()) { $arrPhoto = CFile::ResizeImageGet($arrAdvert[$arrField[$strNameField]], array('width' => 100, 'height' => 100), BX_RESIZE_IMAGE_EXACT, true); $arrResult['src'] = $arrPhoto['src']; } }//\\ if }//\\ if }//\\ if } elseif(isset($arrFieldProp[$strNameField])) { if ($_REQUEST['action'] == 'upload') { // Сохраним файл
continue; } if ($bBizproc) call_user_func(array(ENTITY, "UnlockDocument"), $ID, ""); else CIBlockElement::WF_UnLock($ID); } break; case 'clear_counter': if ($TYPE=="E") { if(CIBlockElementRights::UserHasRightTo($IBLOCK_ID, $ID, "element_edit")) { $obE = new CIBlockElement(); $arFields = array('SHOW_COUNTER' => false, 'SHOW_COUNTER_START' => false); if(!$obE->Update($ID, $arFields, false, false)) $lAdmin->AddGroupError(GetMessage("IBLIST_A_SAVE_ERROR", array("#ID#" => $ID, "#ERROR_MESSAGE#" => $obE->LAST_ERROR)), $TYPE.$ID); } else { $lAdmin->AddGroupError(GetMessage("IBLIST_A_UPDERR_ACCESS", array("#ID#" => $ID)), $TYPE.$ID); } } break; } } if(isset($return_url) && strlen($return_url)>0) LocalRedirect($return_url); }
/** * @param int $elementID * @param int $target * @param string $description * @return bool * @throws RequestError */ public function saveToIBElement($elementID, $target = self::F_IB_IMG_DETAIL, $description = '') { if (true !== $this->_bRequestSuccess && true !== $this->_bDownloadSuccess) { return false; } if ($this->_ID === null) { $this->_ID = static::generateID(); } if (!CheckDirPath(OBX_DOC_ROOT . static::DOWNLOAD_FOLDER . '/' . $this->_ID)) { throw new RequestError('', RequestError::E_PERM_DENIED); } $downloadFileRelPath = $this->getDownloadFilePath(false); if ($this->_bDownloadSuccess) { $arFile = \CFile::MakeFileArray($downloadFileRelPath); } elseif ($this->_bRequestSuccess) { $this->saveToFile($downloadFileRelPath); $this->_saveFileName = null; $this->_saveRelPath = null; $this->_savePath = null; $arFile = \CFile::MakeFileArray($downloadFileRelPath); } $arFile['name'] = $this->_originalName . '.' . $this->_originalExt; if (is_string($description) && !empty($description)) { $arFile['description'] = $description; } $el = new \CIBlockElement(); $arFields = array(); if ($target === self::F_IB_IMG_PREVIEW) { $arFields['PREVIEW_PICTURE'] = $arFile; } elseif ($target === self::F_IB_IMG_DETAIL) { $arFields['DETAIL_PICTURE'] = $arFile; } elseif ($target === self::F_IB_IMG_BOTH) { $arFields['PREVIEW_PICTURE'] = $arFile; $arFields['DETAIL_PICTURE'] = $arFile; } return $el->Update($elementID, $arFields); }
$arError[] = array("id" => "delete", "text" => "Element was droped with error."); } } else { $result = array("url" => $arResult["~SECTION_LINK"]); $arResult["URL"] = $arResult["~SECTION_LINK"]; } } else { $arFields = array("MODIFIED_BY" => $USER->GetID(), "IBLOCK_SECTION" => $_REQUEST["TO_SECTION_ID"], "TAGS" => $_REQUEST["TAGS"], "NAME" => $_REQUEST["TITLE"], "PREVIEW_TEXT" => $_REQUEST["DESCRIPTION"], "DETAIL_TEXT" => $_REQUEST["DESCRIPTION"], "DATE_CREATE" => $_REQUEST["DATE_CREATE"], "DETAIL_TEXT_TYPE" => "text", "PREVIEW_TEXT_TYPE" => "text"); if ($arParams["BEHAVIOUR"] == "USER") { $_REQUEST["ACTIVE"] = $_REQUEST["ACTIVE"] == "Y" ? "Y" : "N"; if ($arParams["ABS_PERMISSION"] >= "U" && $arResult["ELEMENT"]["ACTIVE"] != $_REQUEST["ACTIVE"]) { $arFields["ACTIVE"] = $_REQUEST["ACTIVE"]; } } $bs = new CIBlockElement(); $ID = $bs->Update($arParams["ELEMENT_ID"], $arFields); if ($ID <= 0) { $arError[] = array("id" => "update", "text" => $bs->LAST_ERROR); } else { $_REQUEST["PUBLIC_ELEMENT"] = $_REQUEST["PUBLIC_ELEMENT"] == "Y" ? "Y" : "N"; $_REQUEST["APPROVE_ELEMENT"] = $_REQUEST["APPROVE_ELEMENT"] == "Y" ? "Y" : "N"; if ($arParams["BEHAVIOUR"] == "USER") { if (is_set($arResult["ELEMENT"]["PROPERTIES"], "PUBLIC_ELEMENT") && $arResult["ELEMENT"]["PROPERTIES"]["PUBLIC_ELEMENT"]["VALUE"] != $_REQUEST["PUBLIC_ELEMENT"]) { CIBlockElement::SetPropertyValues($arParams["ELEMENT_ID"], $arParams["IBLOCK_ID"], $_REQUEST["PUBLIC_ELEMENT"], "PUBLIC_ELEMENT"); if ($arParams["ABS_PERMISSION"] < "U" && $_REQUEST["PUBLIC_ELEMENT"] == "Y") { CIBlockElement::SetPropertyValues($arParams["ELEMENT_ID"], $arParams["IBLOCK_ID"], 'X', "APPROVE_ELEMENT"); } } if ($arParams["ABS_PERMISSION"] >= "U" && is_set($arResult["ELEMENT"]["PROPERTIES"], "APPROVE_ELEMENT") && $arResult["ELEMENT"]["PROPERTIES"]["APPROVE_ELEMENT"]["VALUE"] != $_REQUEST["APPROVE_ELEMENT"]) { CIBlockElement::SetPropertyValues($arParams["ELEMENT_ID"], $arParams["IBLOCK_ID"], $_REQUEST["APPROVE_ELEMENT"], "APPROVE_ELEMENT"); }
/** * @param $id ID заказа * @param $val статус оплаты Y или N * функция после подтверждения оплаты * изменяет статус объявления на VIP */ function OnPayads($id,$val) { // Если оплата Y if($val == 'Y') { //SendEmailPartnerByOrder($id, "SALE_ORDER_PAIDPARTNER"); $dbBasketItems = CSaleBasket::GetList( array("PRICE" => "DESC"), array( "ORDER_ID" => $id ), false, false, array("ID", "NAME") ); while ($arBasketItems = $dbBasketItems->Fetch()) { $dbProp = CSaleBasket::GetPropsList(array("SORT" => "ASC", "ID" => "ASC"), array("BASKET_ID" => $arBasketItems["ID"])); if($arProp = $dbProp -> GetNext()) { $dbProp = CSaleBasket::GetPropsList(array("SORT" => "ASC", "ID" => "ASC"), array("BASKET_ID" => $arBasketItems["ID"])); if($arProp = $dbProp -> GetNext()) { if($arProp['CODE']=='TEST_VIP'){ $status_true=true; $ELEMENT_ID = intval($arProp['VALUE']); $PROPERTY_CODE = "VIPORDERCHECK"; $PROPERTY_VALUE = "Y"; if (CModule::IncludeModule("iblock")) CIBlockElement::SetPropertyValuesEx($ELEMENT_ID, false, array($PROPERTY_CODE => $PROPERTY_VALUE)); } if($arProp['CODE']=='TEST_ADSUP'){ $status_true=true; $ELEMENT_ID = intval($arProp['VALUE']); $PROPERTY_CODE = "ADSUP"; $PROPERTY_VALUE = "Y"; if (CModule::IncludeModule("iblock")){ //CIBlockElement::SetPropertyValuesEx($ELEMENT_ID, false, array($PROPERTY_CODE => $PROPERTY_VALUE)); $el = new CIBlockElement; $el->Update($ELEMENT_ID, Array('TIMESTAMP_X' => true,"ACTIVE_FROM"=>date("d.m.Y H:i:s"))); } } } } } if($status_true){ CSaleOrder::StatusOrder($id, "Y"); }else{ CSaleOrder::StatusOrder($id, "P"); } } }
{ $arFields["WF_STATUS_ID"] = $_POST["WF_STATUS_ID"]; } } if($bBizproc) { $BP_HISTORY_NAME = $arFields["NAME"]; if($ID <= 0) $arFields["BP_PUBLISHED"] = "N"; } if($ID > 0) { $bCreateRecord = false; $res = $bs->Update($ID, $arFields, $WF=="Y", true, true); } else { $bCreateRecord = true; $ID = $bs->Add($arFields, $bWorkflow, true, true); $res = ($ID > 0); $PARENT_ID = $ID; if ($res) { if ($arShowTabs['sku']) { $arFilter = array('IBLOCK_ID' => $arMainCatalog['IBLOCK_ID'],'=PROPERTY_'.$arMainCatalog['SKU_PROPERTY_ID'] => '-'.$str_TMP_ID); $rsOffersItems = CIBlockElement::GetList( array(),
public static function UpdateUFRights($files, $rights, $ufEntity = array()) { static $arTasks = null; if (!is_array($rights) || sizeof($rights) <= 0) { return false; } if ($files === null || $files === false) { return false; } if (!is_array($files)) { $files = array($files); } if (sizeof($files) <= 0) { return false; } if (!CModule::IncludeModule('iblock') || !CModule::IncludeModule('webdav')) { return false; } $arFiles = array(); foreach ($files as $id) { $id = intval($id); if (intval($id) > 0) { $arFiles[] = $id; } } if (sizeof($arFiles) <= 0) { return false; } if ($arTasks == null) { $arTasks = CWebDavIblock::GetTasks(); } $arCodes = array(); foreach ($rights as $value) { if (substr($value, 0, 2) === 'SG') { $arCodes[] = $value . '_K'; } $arCodes[] = $value; } $arCodes = array_unique($arCodes); $i = 0; $arViewRights = $arEditRights = array(); $curUserID = 'U' . $GLOBALS['USER']->GetID(); foreach ($arCodes as $right) { if ($curUserID == $right) { // do not override owner's rights continue; } $key = 'n' . $i++; $arViewRights[$key] = array('GROUP_CODE' => $right, 'TASK_ID' => $arTasks['R']); } $ibe = new CIBlockElement(); $dbWDFile = $ibe->GetList(array(), array('ID' => $arFiles, 'SHOW_NEW' => 'Y'), false, false, array('ID', 'NAME', 'SECTION_ID', 'IBLOCK_ID', 'WF_NEW')); $iblockIds = array(); if ($dbWDFile) { while ($arWDFile = $dbWDFile->Fetch()) { $id = $arWDFile['ID']; if ($arWDFile['WF_NEW'] == 'Y') { $ibe->Update($id, array('BP_PUBLISHED' => 'Y')); } if (CIBlock::GetArrayByID($arWDFile['IBLOCK_ID'], "RIGHTS_MODE") === "E") { $ibRights = CWebDavIblock::_get_ib_rights_object('ELEMENT', $id, $arWDFile['IBLOCK_ID']); $ibRights->SetRights(CWebDavTools::appendRights($ibRights, $arViewRights, $arTasks)); if (empty($iblockIds[$arWDFile['IBLOCK_ID']])) { $iblockIds[$arWDFile['IBLOCK_ID']] = $arWDFile['IBLOCK_ID']; } } } global $CACHE_MANAGER; foreach ($iblockIds as $iblockId) { $CACHE_MANAGER->ClearByTag('iblock_id_' . $iblockId); } unset($iblockId); } }
function __InTaskTaskComplete($taskCompleteId, $iblockId, $taskType, $ownerId, $arTaskStatus, $arParams) { $errorMessage = ""; $taskCompleteId = IntVal($taskCompleteId); if ($taskCompleteId <= 0) { return ""; } $arTask = __InTaskGetTask($taskCompleteId, $iblockId, $taskType, $ownerId); if (!$arTask) { $errorMessage .= GetMessage("INTL_TASK_NOT_FOUND") . "."; } if (StrLen($errorMessage) <= 0) { if ($arTask["PROPS"]["TASKASSIGNEDTO"]["VALUE"] != $GLOBALS["USER"]->GetID()) { $errorMessage .= GetMessage("INTL_CAN_NOT_FINISH") . "."; } } if (StrLen($arResult["ErrorMessage"]) <= 0) { $obIB = new CIBlockElement(); $obIB->SetPropertyValueCode($taskCompleteId, $arTask["PROPS"]["TASKSTATUS"]["ID"], $arTaskStatus["COMPLETED"]["ID"]); $obIB->SetPropertyValueCode($taskCompleteId, $arTask["PROPS"]["TASKCOMPLETE"]["ID"], array(100)); $obIB->SetPropertyValueCode($taskCompleteId, $arTask["PROPS"]["TASKFINISH"]["ID"], array(Date($GLOBALS["DB"]->DateFormatToPHP(FORMAT_DATETIME)))); // added by sigurd CIntranetUtils::UpdateOWSVersion($iblockId, $taskCompleteId); $obIB->Update($taskCompleteId, array('TIMESTAMP_X' => Date($GLOBALS["DB"]->DateFormatToPHP(FORMAT_DATETIME)))); $arMessageFields = array("=DATE_CREATE" => $GLOBALS["DB"]->CurrentTimeFunction(), "MESSAGE_TYPE" => SONET_MESSAGE_SYSTEM, "FROM_USER_ID" => $GLOBALS["USER"]->GetID(), "TO_USER_ID" => $arTask["FIELDS"]["CREATED_BY"]); if ($arMessageFields["FROM_USER_ID"] != $arMessageFields["TO_USER_ID"]) { $path2view = ($GLOBALS["APPLICATION"]->IsHTTPS() ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_TASKS_TASK"], array("owner_id" => $arTask["PROPS"]["TASKASSIGNEDTO"]["VALUE"], "task_id" => $taskCompleteId, "action" => "view")); $arMessageFields["MESSAGE"] = str_replace(array("#URL_VIEW#", "#NAME#"), array($path2view, $arTask["FIELDS"]["NAME"]), GetMessage("INTL_FINISH_MESSAGE")); CSocNetMessages::Add($arMessageFields); } } return $errorMessage; }
function _updateRights($files, $rights, $ufEntity = array()) { static $arIBlock = array(); static $op_X = 'element_rights_edit'; static $arTasks = null; if (!is_array($rights) || sizeof($rights) <= 0) { return false; } if ($files === null || $files === false) { return false; } if (!is_array($files)) { $files = array($files); } if (sizeof($files) <= 0) { return false; } if (!CModule::IncludeModule('iblock')) { return false; } $arFiles = array(); foreach ($files as $id) { $id = intval($id); if (intval($id) > 0) { $arFiles[] = $id; } } if (sizeof($arFiles) <= 0) { return false; } $arFiles = array_unique($arFiles); if ($arTasks == null) { $arTasks = CWebDavIblock::GetTasks(); } $i = 0; $arViewRights = $arEditRights = array(); $curUserID = 'U' . $GLOBALS['USER']->GetID(); foreach ($rights as $right) { if ($curUserID == $right) { // do not override owner's rights continue; } $key = 'n' . $i++; $arViewRights[$key] = array('GROUP_CODE' => $right, 'TASK_ID' => $arTasks['R']); $arEditRights[$key] = array('GROUP_CODE' => $right, 'TASK_ID' => $arTasks['W']); } $ibe = new CIBlockElement(); $dbWDFile = $ibe->GetList(array(), array('ID' => $arFiles, 'SHOW_NEW' => 'Y'), false, false, array('ID', 'NAME', 'SECTION_ID', 'IBLOCK_ID', 'WF_NEW')); $iblockIds = array(); if ($dbWDFile) { if (!empty($ufEntity['ENTITY_VALUE_ID'])) { //hack you CIBlockWebdavSocnet::storeFileIdsByComment($ufEntity['ENTITY_VALUE_ID'], $arFiles); } while ($arWDFile = $dbWDFile->Fetch()) { $id = $arWDFile['ID']; if ($arWDFile['WF_NEW'] == 'Y') { $ibe->Update($id, array('BP_PUBLISHED' => 'Y')); } if (CIBlock::GetArrayByID($arWDFile['IBLOCK_ID'], "RIGHTS_MODE") === "E") { $dropped = false; $ibRights = CWebDavIblock::_get_ib_rights_object('ELEMENT', $id, $arWDFile['IBLOCK_ID']); // change rights on comment files if they are 'attached to the post' $dropped = static::_isDropped($arWDFile['IBLOCK_ID'], $arWDFile['IBLOCK_SECTION_ID']); $canEditFiles = static::isAllowEditAttachedFiles($ufEntity); if ($dropped || $ibRights->UserHasRightTo($arWDFile['IBLOCK_ID'], $id, 'element_edit')) { $ibRights->SetRights(static::appendRights($ibRights, $canEditFiles ? $arEditRights : $arViewRights, $arTasks)); } else { $ibRights->SetRights(static::appendRights($ibRights, $arViewRights, $arTasks)); } if (empty($iblockIds[$arWDFile['IBLOCK_ID']])) { $iblockIds[$arWDFile['IBLOCK_ID']] = $arWDFile['IBLOCK_ID']; } } } global $CACHE_MANAGER; foreach ($iblockIds as $iblockId) { $CACHE_MANAGER->ClearByTag('iblock_id_' . $iblockId); } unset($iblockId); } }
protected function _Sync($arService, $row, &$arQueue) { $IBLOCK_ID = $arService['IBLOCK_ID']; if (!is_array($arQueue)) { $arQueue = array(); } $arFields = array('IBLOCK_ID' => $IBLOCK_ID, 'XML_ID' => $row['UniqueId']); $arProperties = array(); foreach ($arService['FIELDS'] as $fld) { $arValue = self::_SyncGetValueByType(array('FIELD' => $fld, 'VALUE' => $row[$fld['SP_FIELD']], 'ROW' => $row, 'SP_LIST_ID' => $arService['SP_LIST_ID']), $arQueue); if (null !== $arValue['VALUE']) { if ($arValue['PROPERTY']) { $arProperties[$arValue['PROPERTY']] = $arValue['VALUE']; } else { $arFields[$arValue['FIELD']] = $arValue['VALUE']; } } } $ib = new CIBlockElement(); $dbRes = CIBlockElement::GetList(array('id' => 'asc'), array('IBLOCK_ID' => $IBLOCK_ID, 'XML_ID' => $arFields['XML_ID'], "CHECK_PERMISSIONS" => "N"), false, false, array('ID')); CIntranetSharepoint::$bUpdateInProgress = true; $bVersionConflict = false; if ($arRes = $dbRes->Fetch()) { $bNew = false; if (false && $arService['PRIORITY'] == 'B') { if ($version = CIntranetSharepointLog::ItemUpdated($IBLOCK_ID, $arRes['ID'])) { if ($row['owshiddenversion'] > $version) { $bVersionConflict = true; // we won't allow changes from SP until pushing our changes onto it. $ID = false; } } } $arProperties['OWSHIDDENVERSION'] = intval($row['owshiddenversion']); if (!$bVersionConflict) { $ib->Update($ID = $arRes['ID'], $arFields); CIntranetSharepointLog::ItemUpdatedClear($IBLOCK_ID, $ID); } } else { $bNew = true; $ID = $ib->Add($arFields); } CIntranetSharepoint::$bUpdateInProgress = false; if (!$ID) { if (!$bVersionConflict) { $GLOBALS['APPLICATION']->ThrowException($ib->LAST_ERROR); } } else { if (count($arProperties) > 0) { CIBlockElement::SetPropertyValuesEx($ID, $IBLOCK_ID, $arProperties, $bNew ? array('NewElement' => true) : array()); } } return $ID; }
$el = new CIBlockElement(); $PROP = array(); $PROP["PHONE"] = trim(strip_tags($_POST['CLUB']['PHONE'])); $PROP["ADDRESS"] = trim(strip_tags($_POST['CLUB']['ADDRESS'])); $PROP["METRO"] = trim(strip_tags($_POST['CLUB']['METRO'])); $PROP["SITE"] = trim(strip_tags($_POST['CLUB']['SITE'])); $PROP["PRICE_COCKTAIL"] = trim($_POST['CLUB']['PRICE_COCKTAIL']); $PROP["TIME_WORKING"] = trim($_POST['CLUB']['TIME_WORKING']); // "PROPERTY_TYPE_FACILITY"=>trim($_POST['CLUB']['TYPE_FACILITY']), // "PROPERTY_MUSIC"=>trim($_POST['CLUB']['MUSIC']), // "PROPERTY_FACE_CONTROL"=>trim($_POST['CLUB']['FACE_CONTROL']), // "PROPERTY_DRESS_CODE"=>trim($_POST['CLUB']['DRESS_CODE']), // "PROPERTY_EMAIL_MANAGER"=>trim($_POST['CLUB']['EMAIL_MANAGER']), // "PROPERTY_AVERAGE_TICKET"=>trim($_POST['CLUB']['AVERAGE_TICKET']), $arLoadProductArray = array("MODIFIED_BY" => $USER->GetID(), "NAME" => trim(strip_tags($_POST['CLUB']['NAME'])), "DETAIL_TEXT" => trim($_POST['CLUB']['DETAIL_TEXT']), "PROPERTY_VALUES" => $PROP); $res = $el->Update($clubID, $arLoadProductArray); } } $arField = $Club->getInfo(array("arSelect" => array("ID", "PROPERTY_PLAN", "NAME", "PREVIEW_PICTURE", "DETAIL_TEXT", "PROPERTY_PHONE", "PROPERTY_ADDRESS", "PROPERTY_METRO", "PROPERTY_SITE", "PROPERTY_PRICE_COCKTAIL", "PROPERTY_TYPE_FACILITY", "PROPERTY_MUSIC", "PROPERTY_FACE_CONTROL", "PROPERTY_DRESS_CODE", "PROPERTY_TIME_WORKING", "PROPERTY_EMAIL_MANAGER", "PROPERTY_AVERAGE_TICKET"), "arFilter" => array()), true); $arFile = CFile::GetFileArray($arField["PREVIEW_PICTURE"]); $arField["PREVIEW_PICTURE"] = $arFile["SRC"]; $obTableList = $Club->getResTableList(array("arSelect" => array("ID", "NAME", "ACTIVE", "PROPERTY_PRICE_GROUP", "PREVIEW_PICTURE", "PROPERTY_COUNT", "PROPERTY_PRICE_GROUP"), "arFilter" => array("ACTIVE" => "Y"))); $arTableList = array(); while ($ob = $obTableList->Fetch()) { $arFile = CFile::GetFileArray($ob["PREVIEW_PICTURE"]); $ob["PREVIEW_PICTURE"] = empty($arFile["SRC"]) ? "/img/160x120.gif" : $arFile["SRC"]; $arTableList[] = $ob; } $PriceGroupList = $Club->getPriceGroupList(array("arSelect" => array("ID", "ACTIVE", "PROPERTY_PRICE", "PREVIEW_CLUB"))); while ($ob = $PriceGroupList->Fetch()) { $arGroupPrice[$ob["ID"]] = $ob["PROPERTY_PRICE_VALUE"];
} $templates = array_merge(\CBPWorkflowTemplateLoader::SearchTemplatesByDocumentType($documentType, CBPDocumentEventType::Create), \CBPWorkflowTemplateLoader::SearchTemplatesByDocumentType($documentType, CBPDocumentEventType::Edit)); $error = false; foreach ($templates as $template) { if (!CBPWorkflowTemplateLoader::isConstantsTuned($template["ID"]) && !$error) { $error = true; $strError .= GetMessage('CC_BLEE_IS_CONSTANTS_TUNED') . "<br />"; $arResult["isConstantsTuned"] = true; } } } } if (!$strError) { $obElement = new CIBlockElement(); if ($arResult["ELEMENT_ID"]) { $res = $obElement->Update($arResult["ELEMENT_ID"], $arElement, false, true, true); if (!$res) { $strError = $obElement->LAST_ERROR; } } else { $res = $obElement->Add($arElement, false, true, true); if ($res) { $arResult["ELEMENT_ID"] = $res; } else { $strError = $obElement->LAST_ERROR; } } } if ($bBizproc) { if (!$strError) { /* Find the new or modified field. */
function DeactivateElement($action, $start_time, $interval) { $counter = array("DEL" => 0, "DEA" => 0, "NON" => 0); if (array_key_exists("bUpdateOnly", $this->next_step) && $this->next_step["bUpdateOnly"]) { return $counter; } if ($action != "D" && $action != "A") { return $counter; } $bDelete = $action == "D"; //This will protect us from deactivating when next_step is lost $IBLOCK_ID = intval($this->next_step["IBLOCK_ID"]); if ($IBLOCK_ID < 1) { return $counter; } $arFilter = array(">ID" => $this->next_step["LAST_ID"], "IBLOCK_ID" => $IBLOCK_ID); if (!$bDelete) { $arFilter["ACTIVE"] = "Y"; } $obElement = new CIBlockElement(); $rsElement = $obElement->GetList(array("ID" => "asc"), $arFilter, false, false, array("ID", "ACTIVE")); while ($arElement = $rsElement->Fetch()) { $rs = $this->_xml_file->GetList(array(), array("PARENT_ID+0" => 0, "LEFT_MARGIN" => $arElement["ID"]), array("ID")); $ar = $rs->Fetch(); if (!$ar) { if ($bDelete) { $obElement->Delete($arElement["ID"]); $counter["DEL"]++; } else { $obElement->Update($arElement["ID"], array("ACTIVE" => "N")); $counter["DEA"]++; } } else { $counter["NON"]++; } $this->next_step["LAST_ID"] = $arElement["ID"]; if ($interval > 0 && time() - $start_time > $interval) { break; } } return $counter; }
$bFieldProps[$prop_id] = true; } $dbPropV = CIBlockElement::GetProperty($arParams["IBLOCK_ID"], $arParams["ID"], "sort", "asc", array("ACTIVE" => "Y")); while ($arPropV = $dbPropV->Fetch()) { if (!array_key_exists($arPropV["ID"], $bFieldProps) && $arPropV["PROPERTY_TYPE"] != "F") { if ($arPropV["MULTIPLE"] == "Y") { if (!array_key_exists($arPropV["ID"], $arUpdateValues["PROPERTY_VALUES"])) { $arUpdateValues["PROPERTY_VALUES"][$arPropV["ID"]] = array(); } $arUpdateValues["PROPERTY_VALUES"][$arPropV["ID"]][$arPropV["PROPERTY_VALUE_ID"]] = array("VALUE" => $arPropV["VALUE"], "DESCRIPTION" => $arPropV["DESCRIPTION"]); } else { $arUpdateValues["PROPERTY_VALUES"][$arPropV["ID"]] = array("VALUE" => $arPropV["VALUE"], "DESCRIPTION" => $arPropV["DESCRIPTION"]); } } } if (!($res = $oElement->Update($arParams["ID"], $arUpdateValues, $bWorkflowIncluded, true, $arParams["RESIZE_IMAGES"]))) { $arResult["ERRORS"][] = $oElement->LAST_ERROR; } } else { $arUpdateValues["IBLOCK_ID"] = $arParams["IBLOCK_ID"]; // set activity start date for new element to current date. Change it, if ya want ;-) if (strlen($arUpdateValues["DATE_ACTIVE_FROM"]) <= 0) { $arUpdateValues["DATE_ACTIVE_FROM"] = ConvertTimeStamp(false, "FULL"); } $sAction = "ADD"; if (!($arParams["ID"] = $oElement->Add($arUpdateValues, $bWorkflowIncluded, true, $arParams["RESIZE_IMAGES"]))) { $arResult["ERRORS"][] = $oElement->LAST_ERROR; } else { if ($arParams["SEND_EMAIL"] == "Y") { if (!empty($arUpdateValues["IBLOCK_SECTION"]["0"])) { $SECTION_ID = $arUpdateValues["IBLOCK_SECTION"]["0"];
public function UpdateDocument($documentId, $arFields) { $documentId = intval($documentId); if ($documentId <= 0) { throw new CBPArgumentNullException("documentId"); } CIBlockElement::WF_CleanUpHistoryCopies($documentId, 0); $arFieldsPropertyValues = array(); $dbResult = CIBlockElement::GetList(array(), array("ID" => $documentId, "SHOW_NEW" => "Y"), false, false, array("ID", "IBLOCK_ID")); $arResult = $dbResult->Fetch(); if (!$arResult) { throw new Exception("Element is not found"); } $arDocumentFields = self::GetDocumentFields("type_" . $arResult["IBLOCK_ID"]); $arKeys = array_keys($arFields); foreach ($arKeys as $key) { if (!array_key_exists($key, $arDocumentFields)) { continue; } if ($arDocumentFields[$key]["Multiple"] && is_string($arFields[$key])) { $arFieldsTmp = explode(",", $arFields[$key]); $arFields[$key] = array(); foreach ($arFieldsTmp as $value) { $arFields[$key][] = trim($value); } } $arFields[$key] = is_array($arFields[$key]) && !CBPHelper::IsAssociativeArray($arFields[$key]) ? $arFields[$key] : array($arFields[$key]); if ($arDocumentFields[$key]["Type"] == "S:UserID") { $ar = array(); foreach ($arFields[$key] as $v1) { if (substr($v1, 0, strlen("user_")) == "user_") { $ar[] = substr($v1, strlen("user_")); } else { $a1 = self::GetUsersFromUserGroup($v1, $documentId); foreach ($a1 as $a11) { $ar[] = $a11; } } } $arFields[$key] = $ar; } elseif ($arDocumentFields[$key]["Type"] == "L") { $realKey = substr($key, 0, strlen("PROPERTY_")) == "PROPERTY_" ? substr($key, strlen("PROPERTY_")) : $key; $arV = array(); $db = CIBlockProperty::GetPropertyEnum($realKey, false, array("IBLOCK_ID" => $arResult["IBLOCK_ID"])); while ($ar = $db->GetNext()) { $arV[$ar["XML_ID"]] = $ar["ID"]; } foreach ($arFields[$key] as &$value) { if (array_key_exists($value, $arV)) { $value = $arV[$value]; } } } elseif ($arDocumentFields[$key]["Type"] == "F") { foreach ($arFields[$key] as &$value) { $value = CFile::MakeFileArray($value); } } elseif ($arDocumentFields[$key]["Type"] == "S:HTML") { foreach ($arFields[$key] as &$value) { $value = array("VALUE" => $value); } } if (!$arDocumentFields[$key]["Multiple"] && is_array($arFields[$key])) { if (count($arFields[$key]) > 0) { $a = array_values($arFields[$key]); $arFields[$key] = $a[0]; } else { $arFields[$key] = null; } } if (substr($key, 0, strlen("PROPERTY_")) == "PROPERTY_") { $realKey = substr($key, strlen("PROPERTY_")); $arFieldsPropertyValues[$realKey] = is_array($arFields[$key]) && !CBPHelper::IsAssociativeArray($arFields[$key]) ? $arFields[$key] : array($arFields[$key]); unset($arFields[$key]); } } $iblockElement = new CIBlockElement(); if (count($arFieldsPropertyValues) > 0) { $iblockElement->SetPropertyValuesEx($documentId, $arResult["IBLOCK_ID"], $arFieldsPropertyValues); } if (count($arFields) > 0) { $res = $iblockElement->Update($documentId, $arFields, false, true, true); if (!$res) { throw new Exception($iblockElement->LAST_ERROR); } } }
$arFields = array("ACTIVE" => $_REQUEST['action'] == "activate" ? "Y" : "N"); if (!$ob->Update($subID, $arFields, true)) { $lAdmin->AddGroupError(GetMessage("IBEL_A_UPDERR") . $ob->LAST_ERROR, $subID); } } else { $lAdmin->AddGroupError(GetMessage("IBEL_A_UPDERR3") . " (ID:" . $subID . ")", $subID); } break; case "wf_status": if ($boolSubWorkFlow) { $new_status = intval($_REQUEST["wf_status_id"]); if ($new_status > 0) { if (CIBlockElement::WF_GetStatusPermission($new_status) > 0 || CIBlockElementRights::UserHasRightTo($intSubIBlockID, $subID, "element_edit_any_wf_status")) { if ($arRes["WF_STATUS_ID"] != $new_status) { $obE = new CIBlockElement(); $res = $obE->Update($subID, array("WF_STATUS_ID" => $new_status, "MODIFIED_BY" => $USER->GetID()), true); if (!$res) { $lAdmin->AddGroupError(GetMessage("IBEL_A_SAVE_ERROR", array("#ID#" => $subID, "#ERROR_TEXT#" => $obE->LAST_ERROR)), $subID); } } } else { $lAdmin->AddGroupError(GetMessage("IBEL_A_UPDERR3") . " (ID:" . $subID . ")", $subID); } } } break; case "lock": if ($bWorkFlow && !CIBlockElementRights::UserHasRightTo($intSubIBlockID, $subID, "element_edit")) { $lAdmin->AddGroupError(GetMessage("IBEL_A_UPDERR3") . " (ID:" . $subID . ")", $subID); } CIBlockElement::WF_Lock($subID);
/** * ћетод восстанавливает указанный документ из массива. ћассив создаетс¤ методом RecoverDocumentFromHistory. * * @param string $documentId - код документа. * @param array $arDocument - массив. */ public function RecoverDocumentFromHistory($documentId, $arDocument) { $documentId = intval($documentId); if ($documentId <= 0) { throw new CBPArgumentNullException("documentId"); } $arFields = $arDocument["FIELDS"]; if (strlen($arFields["PREVIEW_PICTURE"]) > 0) { $arFields["PREVIEW_PICTURE"] = CFile::MakeFileArray($arFields["PREVIEW_PICTURE"]); } if (strlen($arFields["DETAIL_PICTURE"]) > 0) { $arFields["DETAIL_PICTURE"] = CFile::MakeFileArray($arFields["DETAIL_PICTURE"]); } $arFields["PROPERTY_VALUES"] = array(); $dbProperties = CIBlockProperty::GetList(array("sort" => "asc", "name" => "asc"), array("IBLOCK_ID" => $arFields["IBLOCK_ID"])); while ($arProperty = $dbProperties->Fetch()) { if (strlen(trim($arProperty["CODE"])) > 0) { $key = $arProperty["CODE"]; } else { $key = $arProperty["ID"]; } if (!array_key_exists($key, $arDocument["PROPERTIES"])) { continue; } $documentValue = $arDocument["PROPERTIES"][$key]["VALUE"]; if (strlen($arProperty["USER_TYPE"]) <= 0 && $arProperty["PROPERTY_TYPE"] == "F") { $arFields["PROPERTY_VALUES"][$key] = array(); //Mark files to be deleted $rsFiles = CIBlockElement::GetProperty($arFields["IBLOCK_ID"], $documentId, array("ID" => $arProperty["ID"], "EMPTY" => "N")); while ($arFile = $rsFiles->Fetch()) { if ($arFile["PROPERTY_VALUE_ID"] > 0) { $arFields["PROPERTY_VALUES"][$key][$arFile["PROPERTY_VALUE_ID"]] = array("VALUE" => array("del" => "Y"), "DESCRIPTION" => ""); } } //Restore from history $io = CBXVirtualIo::GetInstance(); if (is_array($documentValue)) { $n = 0; foreach ($documentValue as $i => $v) { if (strlen($v) > 0) { $arFields["PROPERTY_VALUES"][$key]["n" . $n++] = array("VALUE" => CFile::MakeFileArray($io->GetPhysicalName($v)), "DESCRIPTION" => $arDocument["PROPERTIES"][$key]["DESCRIPTION"][$i]); } } } else { if (strlen($documentValue) > 0) { $arFields["PROPERTY_VALUES"][$key]["n0"] = array("VALUE" => CFile::MakeFileArray($io->GetPhysicalName($documentValue)), "DESCRIPTION" => $arDocument["PROPERTIES"][$key]["DESCRIPTION"]); } } } else { if (is_array($documentValue)) { $n = 0; foreach ($documentValue as $i => $v) { if (strlen($v) > 0) { $arFields["PROPERTY_VALUES"][$key]["n" . $n++] = array("VALUE" => $v, "DESCRIPTION" => $arDocument["PROPERTIES"][$key]["DESCRIPTION"][$i]); } } } else { if (strlen($documentValue) > 0) { $arFields["PROPERTY_VALUES"][$key]["n0"] = array("VALUE" => $documentValue, "DESCRIPTION" => $arDocument["PROPERTIES"][$key]["DESCRIPTION"]); } } } } $iblockElement = new CIBlockElement(); $res = $iblockElement->Update($documentId, $arFields); if (intVal($arFields["WF_STATUS_ID"]) > 1 && intVal($arFields["WF_PARENT_ELEMENT_ID"]) <= 0) { self::UnpublishDocument($documentId); } if (!$res) { throw new Exception($iblockElement->LAST_ERROR); } return true; }
if (empty($arPost["ADDRESS"])) { $result['errors']['USER[PASSPORT][ADDRESS]'] = "Заполните поле."; } if (count($result['errors']) == 0) { $arrFilter = array("IBLOCK_ID" => PASSPORT_IB, "ACTIVE" => "Y", "PROPERTY_USER_ID" => $USER->GetID()); $arSelect = array("ID"); $rsRes = CIBlockElement::GetList($arOrder, $arrFilter, false, false, $arSelect); $arPassport = $rsRes->GetNext(); $el = new CIBlockElement(); $PROP = array(); $PROP["USER_ID"] = $USER->GetID(); $PROP["SERIA_NUMBER"] = $arPost["SERIA"] . " " . $arPost["NUMBER"]; $PROP["WHEN_ISSUED"] = $arPost["WHEN_ISSUED"]; $PROP["CODE_DIVISION"] = $arPost["CODE_DIVISION"]; $arLoadProductArray = array("IBLOCK_SECTION_ID" => false, "IBLOCK_ID" => PASSPORT_IB, "PROPERTY_VALUES" => $PROP, "NAME" => "Паспорт №" . $USER->GetID(), "ACTIVE" => "Y", "PREVIEW_TEXT" => $arPost["WHO_ISSUED"], "DETAIL_TEXT" => $arPost["ADDRESS"]); if (isset($arPassport["ID"])) { $el->Update($arPassport["ID"], $arLoadProductArray); } else { $el->Add($arLoadProductArray); } $result['status'] = true; $result['message'] = "<font style='color:green'>Данные успешно изменены.</font>"; } } if ($action == "avatar-upload") { require 'UploadHandler.php'; $upload_handler = new UploadHandler(); } } exit(json_encode($result)); require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_after.php";
$arLoadProductArray["PREVIEW_PICTURE"]["old_file"] = $arr["PREVIEW_PICTURE"]; } if (isset($arLoadProductArray["DETAIL_PICTURE"]) && intval($arr["DETAIL_PICTURE"]) > 0) { $arLoadProductArray["DETAIL_PICTURE"]["old_file"] = $arr["DETAIL_PICTURE"]; } if ($bThereIsGroups) { $LAST_GROUP_CODE_tmp = $LAST_GROUP_CODE > 0 ? $LAST_GROUP_CODE : false; if (!isset($arProductGroups[$PRODUCT_ID])) { $arProductGroups[$PRODUCT_ID] = array(); } if (!in_array($LAST_GROUP_CODE_tmp, $arProductGroups[$PRODUCT_ID])) { $arProductGroups[$PRODUCT_ID][] = $LAST_GROUP_CODE_tmp; } $arLoadProductArray["IBLOCK_SECTION"] = $arProductGroups[$PRODUCT_ID]; } $res = $el->Update($PRODUCT_ID, $arLoadProductArray, $bWorkflow, true, 'Y' === $IMAGE_RESIZE); } else { if ($bThereIsGroups) { $arLoadProductArray["IBLOCK_SECTION"] = $LAST_GROUP_CODE > 0 ? $LAST_GROUP_CODE : false; } if ($arLoadProductArray["ACTIVE"] != "N") { $arLoadProductArray["ACTIVE"] = "Y"; } $PRODUCT_ID = $el->Add($arLoadProductArray, $bWorkflow, true, 'Y' === $IMAGE_RESIZE); if ($bThereIsGroups) { if (!isset($arProductGroups[$PRODUCT_ID])) { $arProductGroups[$PRODUCT_ID] = array(); } $arProductGroups[$PRODUCT_ID][] = $LAST_GROUP_CODE > 0 ? $LAST_GROUP_CODE : false; } $res = $PRODUCT_ID > 0;
$office[0] = trim(str_replace("\n", ' ', str_replace("\t", ' ', $office[0]))); $itemname = trim(str_replace("\n", '', str_replace("\t", '', $itemname))); $office[1] = trim(str_replace("\t", ' ', strip_tags($office[1], '<br>'))); $office[2] = ''; $office[3] = ''; $office[4] = ''; $arValues = array('IBLOCK_ID' => $iBlockTypeID, 'NAME' => $office[0], 'PREVIEW_TEXT' => $office[1], 'PREVIEW_TEXT_TYPE' => 'html', 'SORT' => $subject * 10, 'PROPERTY_VALUES' => array('SUBJECT_ID' => $subject, 'GIBDD_NAME' => $itemname)); if ($subject) { $arFilter = array('PROPERTY_SUBJECT_ID' => $subject, 'IBLOCK_ID' => $iBlockTypeID); } else { $arFilter = array('NAME' => $office[0], 'IBLOCK_ID' => $iBlockTypeID); } $res = $cibe->GetList(array(), $arFilter); $ar = $res->Fetch(); if ($ar['ID']) { $cibe->Update($ar['ID'], $arValues); } else { $cibe->Add($arValues); echo $cibe->LAST_ERROR; } } } echo $set[1] . ' - ok<br>'; } /* //echo htmlspecialchars(print_r($raw_html, 1)); echo '<pre>'; print_r($raw_html);
$arFields["PREVIEW_PICTURE"] = CFile::MakeFileArray($arImg['tmp_name']); } // Detail if ($arRes["DETAIL_PICTURE"] > 0) { $arImg = CFile::MakeFileArray($arRes["DETAIL_PICTURE"]); CFile::ImageRotate($arImg['tmp_name'], $angle); $arFields["DETAIL_PICTURE"] = CFile::MakeFileArray($arImg['tmp_name']); } // Real if ($arRes["PROPERTY_REAL_PICTURE_VALUE"] > 0) { $arImg = CFile::MakeFileArray($arRes["PROPERTY_REAL_PICTURE_VALUE"]); CFile::ImageRotate($arImg['tmp_name'], $angle); CIBlockElement::SetPropertyValues($arParams["ELEMENT_ID"], $arParams["IBLOCK_ID"], array("REAL_PICTURE" => CFile::MakeFileArray($arImg['tmp_name'])), "REAL_PICTURE"); } $bs = new CIBlockElement(); if ($res = $bs->Update($arParams["ELEMENT_ID"], $arFields)) { $db_res = CIBlockElement::GetList(array(), $arFilter, false, false, $arSelect); if ($arRes1 = $db_res->Fetch()) { $w = 0; $h = 0; $src = ''; $thumb_src = ''; if ($arRes1["PREVIEW_PICTURE"] > 0) { $file = CFile::GetFileArray($arRes1["PREVIEW_PICTURE"]); $thumb_src = $file['SRC']; } if ($arRes1["PROPERTY_REAL_PICTURE_VALUE"] > 0) { $file = CFile::GetFileArray($arRes1["PROPERTY_REAL_PICTURE_VALUE"]); } elseif ($arRes1["DETAIL_PICTURE"] > 0) { $file = CFile::GetFileArray($arRes1["DETAIL_PICTURE"]); }
if ($_REQUEST["ACTION"] == "approve") { CIBlockElement::SetPropertyValues($item, $arParams["IBLOCK_ID"], "Y", "APPROVE_ELEMENT"); CIBlockElement::SetPropertyValues($item, $arParams["IBLOCK_ID"], "Y", "PUBLIC_ELEMENT"); } else { CIBlockElement::SetPropertyValues($item, $arParams["IBLOCK_ID"], "N", "APPROVE_ELEMENT"); } if ($res["ACTIVE"] != "Y") { $_REQUEST["ACTION"] = "active"; } PClearComponentCacheEx($arParams["IBLOCK_ID"]); } if ($_REQUEST["ACTION"] == "active" || $_REQUEST["ACTION"] == "drop") { if ($_REQUEST["ACTION"] == "active") { $arFields = array("ACTIVE" => "Y"); $be = new CIBlockElement(); $be->Update($item, $arFields); } else { CIBlockElement::Delete($item); } // section if (is_set($arSections, $res["IBLOCK_SECTION_ID"])) { $res = $arSections[$res["IBLOCK_SECTION_ID"]]; } PClearComponentCacheEx($arParams["IBLOCK_ID"], array(0, $res["ID"], $res["IBLOCK_SECTION_ID"])); } } LocalRedirect($_REQUEST["from_detail_list"]); } } $arParams["SHOW_BEST_ELEMENT"] = $arParams["SHOW_BEST_ELEMENT"] == "N" ? "N" : "Y"; $arResult["MENU_VARIABLES"] = array();