function __MPF_ImageResizeHandler(&$arCustomFile, $params = array(), $result = array()) { static $arParams = array(); if (!empty($params)) { $arParams = $params; } static $arResult = array(); if (!empty($result)) { $arResult = $result; } $fileIdForDelete = 0; $arFields = array(); foreach (array("MELODY_WELCOME", "MELODY_WAIT", "MELODY_HOLD", "MELODY_VOICEMAIL") as $controlID => $inputName) { if ($_REQUEST["controlID"] == "voximplant" . $controlID) { $fileIdForDelete = $arResult["ITEM"][$inputName]; $arFields = array($inputName => $arCustomFile["fileID"]); break; } } if (!empty($arFields)) { $arFile = CFile::GetFileArray($arCustomFile['fileID']); $arCustomFile["fileURL"] = CHTTP::URN2URI($arFile["SRC"]); Bitrix\Voximplant\ConfigTable::update($arParams["ID"], $arFields); CFile::Delete($fileIdForDelete); } }
public function getFriendsList($limit, &$next) { if (IsModuleInstalled('bitrix24') && defined('BX24_HOST_NAME')) { $redirect_uri = static::CONTROLLER_URL . "/redirect.php"; } else { $redirect_uri = \CHTTP::URN2URI("/bitrix/tools/oauth/google.php"); } $ob = $this->getEntityOAuth(); if ($ob->GetAccessToken($redirect_uri) !== false) { $res = $ob->getCurrentUserFriends($limit, $next); foreach ($res["items"] as $key => $contact) { $contact["uid"] = $contact["id"]; if (array_key_exists("name", $contact)) { $contact["first_name"] = $contact["name"]["givenName"]; $contact["last_name"] = $contact["name"]["familyName"]; } else { list($contact["first_name"], $contact["last_name"]) = explode(" ", $contact["displayName"], 2); } if (array_key_exists("image", $contact)) { $contact["picture"] = preg_replace("/\\?.*\$/", "", $contact["image"]["url"]); } $res["items"][$key] = $contact; } return $res["items"]; } return false; }
$arHandlers[$name]["CHARSBACK"] = true; } } } } } $arResult["HANDLERS_ALL"] = $arHandlers; if (!is_array($arParams["HANDLERS"])) { if (LANGUAGE_ID != 'ru') { unset($arHandlers["vk"]); unset($arHandlers["mailru"]); } $arParams["HANDLERS"] = array_keys($arHandlers); } $arResult["BOOKMARKS"] = array(); $arResult["PAGE_URL"] = CHTTP::URN2URI($arParams["PAGE_URL"]); $arResult["PAGE_TITLE"] = $arParams["PAGE_TITLE"]; foreach ($arResult["HANDLERS_ALL"] as $name => $arHandler) { if (in_array($name, $arParams["HANDLERS"])) { $PageTitle = $arResult["PAGE_TITLE"]; if (array_key_exists("CHARSBACK", $arHandler) && $arHandler["CHARSBACK"]) { $PageTitleBack = htmlspecialcharsback($PageTitle); } $arHandler["ICON"] = str_replace("#PAGE_URL#", $arResult["PAGE_URL"], $arHandler["ICON"]); $arHandler["ICON"] = str_replace("#PAGE_URL_ENCODED#", urlencode($arResult["PAGE_URL"]), $arHandler["ICON"]); if (array_key_exists("CHARSBACK", $arHandler) && $arHandler["CHARSBACK"]) { $arHandler["ICON"] = str_replace("#PAGE_TITLE#", CUtil::JSEscape($PageTitleBack), $arHandler["ICON"]); $arHandler["ICON"] = str_replace("#PAGE_TITLE_ENCODED#", urlencode($PageTitleBack), $arHandler["ICON"]); $arHandler["ICON"] = str_replace("#PAGE_TITLE_ORIG#", CUtil::addslashes($PageTitle), $arHandler["ICON"]); $utfTitle = $APPLICATION->ConvertCharset($PageTitleBack, LANG_CHARSET, "UTF-8"); $arHandler["ICON"] = str_replace("#PAGE_TITLE_UTF_ENCODED#", urlencode($utfTitle), $arHandler["ICON"]);
function DisplayExcel() { /** @global CMain $APPLICATION */ global $APPLICATION; echo ' <html> <head> <title>'.$APPLICATION->GetTitle().'</title> <meta http-equiv="Content-Type" content="text/html; charset='.LANG_CHARSET.'"> <style> td {mso-number-format:\@;} .number0 {mso-number-format:0;} .number2 {mso-number-format:Fixed;} </style> </head> <body>'; echo "<table border=\"1\">"; echo "<tr>"; foreach($this->aVisibleHeaders as $header) { echo '<td>'; echo $header["content"]; echo '</td>'; } echo "</tr>"; foreach($this->aRows as $row) { echo "<tr>"; foreach($this->aVisibleHeaders as $id=>$header_props) { $field = $row->aFields[$id]; if(!is_array($row->arRes[$id])) $val = trim($row->arRes[$id]); else $val = $row->arRes[$id]; switch($field["view"]["type"]) { case "checkbox": if($val=='Y') $val = htmlspecialcharsex(GetMessage("admin_lib_list_yes")); else $val = htmlspecialcharsex(GetMessage("admin_lib_list_no")); break; case "select": if($field["edit"]["values"][$val]) $val = htmlspecialcharsex($field["edit"]["values"][$val]); break; case "file": $arFile = CFile::GetFileArray($val); if(is_array($arFile)) $val = htmlspecialcharsex(CHTTP::URN2URI($arFile["SRC"])); else $val = ""; break; case "html": $val = $field["view"]['value']; break; default: $val = htmlspecialcharsex($val); break; } echo '<td'.($header_props['align']?' align="'.$header_props['align'].'"':'').($header_props['valign']?' valign="'.$header_props['valign'].'"':'').'>'; echo ($val<>""? $val:' ').'</td>'; } echo "</tr>"; } echo "</table>"; echo '</body></html>'; }
$FileType = "flv"; } else { $FileSize = ""; $FileType = "flv"; } if (!$arResult['FIRST_FLV_ITEM'] && $FileType == 'flv') $arResult['FIRST_FLV_ITEM'] = $PathToFile; if (!$arResult['FIRST_WMV_ITEM'] && $FileType == 'wmv') $arResult['FIRST_WMV_ITEM'] = $PathToFile; if (strpos($_SERVER['HTTP_HOST'], 'xn--') !== false) // It's cyrilyc site { $PathToFile = CHTTP::URN2URI($PathToFile); } $arResult["SECTIONS"][$SectionId]["ELEMENTS"][$arItem["ID"]] = array( "NAME" => $arItem["NAME"], "PREVIEW_TEXT" => $arItem["PREVIEW_TEXT"], "PREVIEW_PICTURE" => CFile::GetPath($arItem["PREVIEW_PICTURE"]), "DETAIL_PICTURE" => CFile::GetPath($arItem["DETAIL_PICTURE"]), "DURATION" => $Duration, "FILE_SIZE" => $FileSize, "FILE" => $PathToFile, "TYPE" => $FileType, "ID" => $arItem["ID"], "IBLOCK_SECTION_ID" => $arItem["IBLOCK_SECTION_ID"], );
$arResult["FILE"]["~SRC"] = $arResult["FILE"]["SRC"]; if (intVal($arResult["FILE"]["ID"]) > 0) { $arResult["FILE"]["SRC"] = "/bitrix/components/bitrix/forum.interface/show_file.php?fid=" . htmlspecialcharsbx($arResult["FILE"]["ID"]) . (!empty($arParams["ADDITIONAL_URL"]) ? "&" . $arParams["ADDITIONAL_URL"] : ""); } if ($arResult["FILE"]["USER_ID"] > 0) { $forumUser = CForumUser::GetByUSER_ID($arResult["FILE"]["USER_ID"]); $db_res = CUser::GetById($arResult["FILE"]["USER_ID"]); if ($db_res && ($arUser = $db_res->Fetch())) { $arResult["FILE"]["OWNER"] = $forumUser && $forumUser["SHOW_NAME"] != "Y" ? $arUser["LOGIN"] : CUser::FormatName($arParams["NAME_TEMPLATE"], $arUser, true, false); } } $arResult["RETURN_DATA"] = ""; $arResult["RETURN_DATA_ARRAY"] = array(); // *************************/Default params************************************************************* if (is_array($arResult["FILE"]) && !empty($arResult["FILE"]["SRC"])) { $arResult["FILE"]["FULL_SRC"] = CHTTP::URN2URI($arResult["FILE"]["SRC"], $arParams["SERVER_NAME"]); $ct = strToLower($arResult["FILE"]["CONTENT_TYPE"]); if ($arParams["SHOW_MODE"] == "LINK") { // do nothing } elseif ($arParams["MAX_FILE_SIZE"] >= $arResult["FILE"]["FILE_SIZE"] && substr($ct, 0, 6) == "image/") { $arResult["RETURN_DATA"] = $GLOBALS["APPLICATION"]->IncludeComponent("bitrix:forum.interface", "popup_image", array("URL" => $arParams["SHOW_MODE"] == "RSS" ? $arResult["FILE"]["FULL_SRC"] : $arResult["FILE"]["SRC"], "SIZE" => $arParams["SIZE"], "MAX_SIZE" => $arParams["MAX_SIZE"], "HTML_SIZE" => $arParams["HTML_SIZE"], "MODE" => $arParams["SHOW_MODE"] == "RSS" ? "RSS" : "SHOW2IMAGES", "IMG_WIDTH" => $arResult["FILE"]["WIDTH"], "IMG_HEIGHT" => $arResult["FILE"]["HEIGHT"], "IMG_NAME" => $arResult["FILE"]["ORIGINAL_NAME"], "IMG_SIZE" => $arResult["FILE"]["FILE_SIZE"], "CONVERT" => $arParams["CONVERT"], "FAMILY" => $arParams["FAMILY"], "RETURN" => "Y"), $this->__component->__parent !== null ? $this->__component->__parent : $this->__component, array("HIDE_ICONS" => "Y")); } $arResult["RETURN_DATA_ARRAY"]["DATA"] = $arResult["RETURN_DATA"]; $arData = array(); $size = intVal($arResult["FILE"]["FILE_SIZE"]) > 0 ? CFile::FormatSize(intval($arResult['FILE']['FILE_SIZE'])) : ''; $sTitle = !empty($arResult["FILE"]["ORIGINAL_NAME"]) ? $arResult["FILE"]["ORIGINAL_NAME"] : GetMessage("FRM_DOWNLOAD"); $file_ext = GetFileExtension($arResult["FILE"]["ORIGINAL_NAME"]); $arData["TITLE"] = "<a href=\"" . $arResult["FILE"]["SRC"] . "&action=download" . "\" class=\"forum-file forum-file-" . $file_ext . "\" " . (!empty($arResult["RETURN_DATA"]) ?: (substr($ct, 0, 6) == "image/" ? " data-bx-viewer=\"image\" data-bx-src=\"" . $arResult["FILE"]["SRC"] . "\" " . " data-bx-title=\"" . htmlspecialcharsbx($arResult["FILE"]["ORIGINAL_NAME"]) . "\" " . " data-bx-owner=\"" . htmlspecialcharsbx($arResult["FILE"]["OWNER"]) . "\" " . " data-bx-dateModify=\"" . htmlspecialcharsbx($arResult["FILE"]["TIMESTAMP_X"]) . "\" " . " data-bx-size=\"" . htmlspecialcharsbx($arResult["FILE"]["FILE_SIZE"]) . "\" " . " data-bx-download=\"" . $arResult["FILE"]["SRC"] . "&action=download\" " . " data-bx-width=\"" . htmlspecialcharsbx($arResult["FILE"]["WIDTH"]) . "\" " . " data-bx-height=\"" . htmlspecialcharsbx($arResult["FILE"]["HEIGHT"]) . "\" " : " data-bx-viewer=\"unknown\" data-bx-src=\"" . $arResult["FILE"]["SRC"] . "\" " . " data-bx-title=\"" . htmlspecialcharsbx($arResult["FILE"]["ORIGINAL_NAME"]) . "\" " . " data-bx-owner=\"" . htmlspecialcharsbx($arResult["FILE"]["OWNER"]) . "\" " . " data-bx-dateModify=\"" . htmlspecialcharsbx($arResult["FILE"]["TIMESTAMP_X"]) . "\" data-bx-tooBigSizeMsg=\"\" " . " data-bx-size=\"" . $size . "\" " . " data-bx-download=\"" . $arResult["FILE"]["SRC"] . "&action=download\" ")) . "title=\"" . str_replace("#FILE_NAME#", $arResult["FILE"]["ORIGINAL_NAME"], GetMessage("FRM_DOWNLOAD_TITLE")) . '" target="_blank">' . '<span>' . $arResult["FILE"]["ORIGINAL_NAME"] . '</span></a>'; if ($size != '') { $arData["SIZE"] = "<span class=\"forum-file-size\">(" . $size . ")</span>"; }
public static function getUFForPostForm($arParams) { $arFileData = array(); $arUF = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields($arParams["ENTITY_TYPE"], $arParams["ENTITY_ID"], LANGUAGE_ID); $ufCode = $arParams["UF_CODE"]; if (!empty($arUF[$ufCode]) && !empty($arUF[$ufCode]["VALUE"])) { if ($arParams["IS_DISK_OR_WEBDAV_INSTALLED"]) { if (\Bitrix\Main\Config\Option::get('disk', 'successfully_converted', false) && CModule::IncludeModule('disk')) { $userFieldManager = \Bitrix\Disk\Driver::getInstance()->getUserFieldManager(); $urlManager = \Bitrix\Disk\Driver::getInstance()->getUrlManager(); $userFieldManager->loadBatchAttachedObject($arUF[$ufCode]["VALUE"]); foreach ($arUF[$ufCode]["VALUE"] as $attachedId) { $attachedObject = $userFieldManager->getAttachedObjectById($attachedId); if ($attachedObject) { $file = $attachedObject->getObject(); $fileName = $file->getName(); $fileUrl = $urlManager->getUrlUfController('download', array('attachedId' => $attachedId)); $fileUrl = str_replace("/bitrix/tools/disk/uf.php", SITE_DIR . "mobile/ajax.php", $fileUrl); $fileUrl = $fileUrl . (strpos($fileUrl, "?") === false ? "?" : "&") . "mobile_action=disk_uf_view&filename=" . $fileName; if (\Bitrix\Disk\TypeFile::isImage($file) && ($realFile = $file->getFile())) { $previewImageUrl = $urlManager->getUrlUfController('show', array('attachedId' => $attachedId, 'width' => 144, 'height' => 144, 'exact' => 'Y', 'signature' => \Bitrix\Disk\Security\ParameterSigner::getImageSignature($attachedId, 144, 144))); } else { $previewImageUrl = false; } $icon = CMobileHelper::mobileDiskGetIconByFilename($fileName); $iconUrl = CComponentEngine::makePathFromTemplate('/bitrix/components/bitrix/mobile.disk.file.detail/images/' . $icon); $fileFata = array('type' => $file->getExtension(), 'ufCode' => $ufCode, 'id' => $attachedId, 'extension' => $file->getExtension(), 'name' => $fileName, 'url' => $fileUrl, 'iconUrl' => $iconUrl); if ($previewImageUrl) { $fileFata['previewImageUrl'] = CHTTP::URN2URI($previewImageUrl); } $arFileData[] = $fileFata; } } } else { $data = CWebDavIblock::getRootSectionDataForUser($GLOBALS["USER"]->GetID()); if (is_array($data)) { $ibe = new CIBlockElement(); $dbWDFile = $ibe->GetList(array(), array('ID' => $arUF[$ufCode]["VALUE"], 'IBLOCK_ID' => $data["IBLOCK_ID"]), false, false, array('ID', 'IBLOCK_ID', 'PROPERTY_FILE')); while ($arWDFile = $dbWDFile->Fetch()) { if ($arFile = CFile::GetFileArray($arWDFile["PROPERTY_FILE_VALUE"])) { if (CFile::IsImage($arFile["FILE_NAME"], $arFile["CONTENT_TYPE"])) { $imageResized = CFile::ResizeImageGet($arFile["ID"], array("width" => 144, "height" => 144), BX_RESIZE_IMAGE_EXACT, false, true); $previewImageUrl = $imageResized["src"]; } else { $previewImageUrl = false; } $fileExtension = GetFileExtension($arFile["FILE_NAME"]); $fileData = array('type' => $fileExtension, 'ufCode' => $ufCode, 'id' => $arWDFile["ID"], 'extension' => $fileExtension, 'name' => $arFile["FILE_NAME"], 'url' => $arFile["SRC"]); if ($previewImageUrl) { $fileData['previewImageUrl'] = CHTTP::URN2URI($previewImageUrl); } $arFileData[] = $fileData; } } } } } else { $dbRes = CFile::GetList(array(), array("@ID" => implode(",", $arUF[$ufCode]["VALUE"]))); while ($arFile = $dbRes->GetNext()) { if (CFile::IsImage($arFile["FILE_NAME"], $arFile["CONTENT_TYPE"])) { $imageResized = CFile::ResizeImageGet($arFile["ID"], array("width" => 144, "height" => 144), BX_RESIZE_IMAGE_EXACT, false, true); $previewImageUrl = $imageResized["src"]; } else { $previewImageUrl = false; } $fileExtension = GetFileExtension($arFile["FILE_NAME"]); $fileData = array('type' => $fileExtension, 'ufCode' => $ufCode, 'id' => $arFile["ID"], 'extension' => $fileExtension, 'name' => $arFile["FILE_NAME"], 'downloadUrl' => $arFile["SRC"]); if ($previewImageUrl) { $fileData['previewImageUrl'] = CHTTP::URN2URI($previewImageUrl); } $arFileData[] = $fileData; } } } return $arFileData; }
/** * @param string $hash * @param string $act * @return string */ public function getUrl($hash, $act = "view") { return \CHTTP::URN2URI($this->script . (strpos($this->script, "?") === false ? "?" : "&") . \CHTTP::PrepareData(array(self::INFO_NAME => array("CID" => $this->CID, "mode" => $act, "hash" => $hash)))); }
$arParams['MULTIPLE'] = $arParams['MULTIPLE'] == 'N' ? 'N' : 'Y'; if (!$arParams['INPUT_NAME']) { showError(GetMessage('MFI_ERR_NO_INPUT_NAME')); return false; } $arResult['CONTROL_UID'] = md5(randString(15)); $_SESSION["MFI_UPLOADED_FILES_".$arResult['CONTROL_UID']] = array(); $arResult['FILES'] = array(); if (is_array($arParams['INPUT_VALUE']) && strlen(implode(",", $arParams["INPUT_VALUE"])) > 0) { $dbRes = CFile::GetList(array(), array("@ID" => implode(",", $arParams["INPUT_VALUE"]))); while ($arFile = $dbRes->GetNext()) { $arFile['URL'] = CHTTP::URN2URI($APPLICATION->GetCurPageParam("mfi_mode=down&fileID=".$arFile['ID']."&cid=".$arResult['CONTROL_UID']."&".bitrix_sessid_get(), array("mfi_mode", "fileID", "cid"))); $arFile['FILE_SIZE_FORMATTED'] = CFile::FormatSize($arFile['FILE_SIZE']); $arResult['FILES'][$arFile['ID']] = $arFile; $_SESSION["MFI_UPLOADED_FILES_".$arResult['CONTROL_UID']][] = $arFile['ID']; } } CUtil::InitJSCore(array('ajax')); $this->IncludeComponentTemplate(); return $arParams['CONTROL_ID'];
die; } global $APPLICATION, $USER; $APPLICATION->SetAdditionalCSS('/bitrix/js/crm/css/crm.css'); $APPLICATION->SetAdditionalCSS("/bitrix/themes/.default/crm-entity-show.css"); if (SITE_TEMPLATE_ID === 'bitrix24') { $APPLICATION->SetAdditionalCSS("/bitrix/themes/.default/bitrix24/crm-entity-show.css"); } //CrmContact $obRes = CCrmContact::GetList(array('LAST_NAME' => 'ASC', 'NAME' => 'ASC'), array(), array('ID', 'FULL_NAME', 'COMPANY_TITLE', 'PHOTO'), 50); $arFiles = array(); $arContacts = array(); while ($arRes = $obRes->Fetch()) { if (!empty($arRes['PHOTO']) && !isset($arFiles[$arRes['PHOTO']])) { if ($arFile = CFile::GetFileArray($arRes['PHOTO'])) { $arFiles[$arRes['PHOTO']] = CHTTP::URN2URI($arFile["SRC"]); } } $arContacts[] = array('id' => $arRes['ID'], 'url' => CComponentEngine::MakePathFromTemplate(COption::GetOptionString('crm', 'path_to_contact_show'), array('contact_id' => $arRes['ID'])), 'title' => str_replace(array(';', ','), ' ', $arRes['FULL_NAME']), 'desc' => empty($arRes['COMPANY_TITLE']) ? '' : $arRes['COMPANY_TITLE'], 'image' => isset($arFiles[$arRes['PHOTO']]) ? $arFiles[$arRes['PHOTO']] : '', 'type' => 'contact', 'selected' => false); } $arResult['PREFIX'] = isset($arResult['PREFIX']) ? strval($arResult['PREFIX']) : 'activity_list'; $editorCfg = array('OWNER_TYPE' => $arResult['OWNER_TYPE'], 'OWNER_ID' => $arResult['OWNER_ID'], 'READ_ONLY' => $arResult['READ_ONLY'], 'ENABLE_UI' => true, 'ENABLE_TASK_ADD' => $arResult['ENABLE_TASK_ADD'], 'ENABLE_CALENDAR_EVENT_ADD' => $arResult['ENABLE_CALENDAR_EVENT_ADD'], 'ENABLE_EMAIL_ADD' => $arResult['ENABLE_EMAIL_ADD']); if (!function_exists('__CrmActivityListRenderItems')) { function __CrmActivityListRenderItems($items, $showMode, $showTop, &$editorCfg) { $editorItems = array(); $count = count($items); $now = time() + CTimeZone::GetOffset(); $toolbarID = ''; if ($editorCfg['ENABLE_TOOLBAR']) { $toolbarID = $editorCfg['EDITOR_ID'] . '_toolbar';
$VALUE_NAME = 'FIELDS[' . $f_ID . '][PROPERTY_' . $prop['ID'] . '][' . $prop['PROPERTY_VALUE_ID'] . '][VALUE]'; $DESCR_NAME = 'FIELDS[' . $f_ID . '][PROPERTY_' . $prop['ID'] . '][' . $prop['PROPERTY_VALUE_ID'] . '][DESCRIPTION]'; //View part if (array_key_exists("GetAdminListViewHTML", $arUserType)) { $arViewHTML[] = call_user_func_array($arUserType["GetAdminListViewHTML"], array($prop, array("VALUE" => $prop["~VALUE"], "DESCRIPTION" => $prop["~DESCRIPTION"]), array("VALUE" => $VALUE_NAME, "DESCRIPTION" => $DESCR_NAME, "MODE" => "iblock_element_admin", "FORM_NAME" => "form_" . $sTableID))); } elseif ($prop['PROPERTY_TYPE'] == 'N') { $arViewHTML[] = $bExcel && isset($_COOKIE[$dsc_cookie_name]) ? number_format($prop["VALUE"], 4, chr($_COOKIE[$dsc_cookie_name]), '') : $prop["VALUE"]; } elseif ($prop['PROPERTY_TYPE'] == 'S') { $arViewHTML[] = $prop["VALUE"]; } elseif ($prop['PROPERTY_TYPE'] == 'L') { $arViewHTML[] = $prop["VALUE_ENUM"]; } elseif ($prop['PROPERTY_TYPE'] == 'F') { if ($bExcel) { $arFile = CFile::GetFileArray($prop["VALUE"]); if (is_array($arFile)) { $arViewHTML[] = CHTTP::URN2URI($arFile["SRC"]); } else { $arViewHTML[] = ""; } } else { $arViewHTML[] = CFileInput::Show('NO_FIELDS[' . $prop['PROPERTY_VALUE_ID'] . ']', $prop["VALUE"], array("IMAGE" => "Y", "PATH" => "Y", "FILE_SIZE" => "Y", "DIMENSIONS" => "Y", "IMAGE_POPUP" => "Y", "MAX_SIZE" => $maxImageSize, "MIN_SIZE" => $minImageSize), array('upload' => false, 'medialib' => false, 'file_dialog' => false, 'cloud' => false, 'del' => false, 'description' => false)); } } elseif ($prop['PROPERTY_TYPE'] == 'G') { if (intval($prop["VALUE"]) > 0) { $rsSection = CIBlockSection::GetList(array(), array("ID" => $prop["VALUE"]), false, array('ID', 'NAME', 'IBLOCK_ID')); if ($arSection = $rsSection->GetNext()) { $arViewHTML[] = $arSection['NAME'] . ' [<a href="' . htmlspecialcharsbx(CIBlock::GetAdminSectionEditLink($arSection['IBLOCK_ID'], $arSection['ID'])) . '" title="' . GetMessage("IBEL_A_SEC_EDIT") . '">' . $arSection['ID'] . '</a>]'; } } } elseif ($prop['PROPERTY_TYPE'] == 'E') { if ($t = GetElementName($prop["VALUE"])) {
$arItem["description"] = str_replace($arNodesSearch, $arNodesReplace, $arResult["NODES"]["description"]); else $arItem["description"]=htmlspecialcharsbx(($arElement["PREVIEW_TEXT"] || $arParams["YANDEX"]) ? $arElement["PREVIEW_TEXT"] : $arElement["DETAIL_TEXT"]); if(strlen($arResult["NODES"]["enclosure"])>0) { $arItem["enclosure"] = array( "url" => str_replace($arNodesSearch, $arNodesReplace, $arResult["NODES"]["enclosure"]), "length" => str_replace($arNodesSearch, $arNodesReplace, $arResult["NODES"]["enclosure_length"]), "type" => str_replace($arNodesSearch, $arNodesReplace, $arResult["NODES"]["enclosure_type"]), ); } elseif(is_array($arElement["arr_PREVIEW_PICTURE"])) { $arItem["enclosure"] = array( "url" => CHTTP::URN2URI($arElement["arr_PREVIEW_PICTURE"]["SRC"], $arResult["SERVER_NAME"]), "length" => $arElement["arr_PREVIEW_PICTURE"]["FILE_SIZE"], "type" => $arElement["arr_PREVIEW_PICTURE"]["CONTENT_TYPE"], ); } else { $arItem["enclosure"]=false; } if(strlen($arResult["NODES"]["category"])>0) { $arItem["category"] = str_replace($arNodesSearch, $arNodesReplace, $arResult["NODES"]["category"]); } else {
public function gadgetAuthorize() { global $APPLICATION; $APPLICATION->RestartBuffer(); if (isset($_REQUEST["code"]) && $_REQUEST["code"] != '' && CSocServAuthManager::CheckUniqueKey()) { CUserOptions::SetOption('socialservices', 'bitrix24_task_planer_gadget_code', $_REQUEST["code"]); } $url = \CHTTP::URN2URI(BX_ROOT); $mode = 'opener'; $url = CUtil::JSEscape($url); $location = $mode == "opener" ? 'if(window.opener) window.opener.location = \'' . $url . '\'; window.close();' : ' window.location = \'' . $url . '\';'; $JSScript = ' <script type="text/javascript"> ' . $location . ' </script> '; echo $JSScript; die; }
public function getFriendsList($limit = 0, $offset = 0) { $li = new CLiveIDOAuthInterface(); if (IsModuleInstalled('bitrix24') && defined('BX24_HOST_NAME')) { $redirect_uri = self::CONTROLLER_URL . "/redirect.php"; } else { $redirect_uri = \CHTTP::URN2URI("/bitrix/tools/oauth/liveid.php"); } if ($li->GetAccessToken($redirect_uri) !== false) { $res = $li->GetCurrentUserFriends($limit, $offset); } if (is_array($res) && is_array($res['data'])) { foreach ($res['data'] as $key => $contact) { $res['data'][$key]['uid'] = $contact['id']; $res['data'][$key]['url'] = $this->getProfileUrl($contact['id']); } return $res['data']; } return false; }
?> " title="<?php echo GetMessage("P_SLIDE_SHOW_TITLE"); ?> "><span><?php echo GetMessage("P_SLIDE_SHOW"); ?> </span></a> </li> <?php } ?> <?php if (!empty($arResult["ELEMENT"]["REAL_PICTURE"]["SRC"])) { $url = CHTTP::URN2URI($arResult["ELEMENT"]["REAL_PICTURE"]["SRC"]); ?> <li class="photo-control photo-control-photo-original"> <a rel="nofollow" href="<?php echo $url; ?> " title="<?php echo GetMessage("P_ORIGINAL_TITLE"); ?> " onclick="ShowOriginal('<?php echo CUtil::JSEscape(htmlspecialcharsex($url)); ?> ', '<?php echo CUtil::JSEscape($arResult["ELEMENT"]["NAME"]); ?> '); return false;"><span><?php
function GetAttachmentCollection($listName, $listItemID) { $start = microtime(true); if (!($listName_original = CIntranetUtils::checkGUID($listName))) { return new CSoapFault('Data error', 'Wrong GUID - ' . $listName); } $listName = ToUpper(CIntranetUtils::makeGUID($listName_original)); $listItemID = intval($listItemID); $dbRes = CUser::GetByID($listItemID); //$dbRes = CUser::GetList(($by="id"), ($order="asc"), array("ID_EQUAL_EXACT"=>IntVal($listItemID))); //$dbRes = $GLOBALS['DB']->Query('SELECT PERSONAL_PHOTO FROM b_user WHERE id=\''.$listItemID.'\''); $obData = new CXMLCreator('Attachments'); if (($arUser = $dbRes->Fetch()) && $arUser['PERSONAL_PHOTO']) { $arImage = self::InitImage($arUser['PERSONAL_PHOTO'], 100, 100); $obData->addChild($obAttachment = new CXMLCreator('Attachment')); $obAttachment->setData(CHTTP::URN2URI($arImage['CACHE']['src'])); //$data = '<Attachments><Attachment>http://'.$_SERVER['SERVER_NAME'].$arImage['CACHE']['src'].'</Attachment></Attachments>'; } // else // { // $data = '<Attachments></Attachments>'; // } //return array('GetAttachmentCollectionResult' => $data); return array('GetAttachmentCollectionResult' => $obData); }
function UndoNewFile($Params, $type) { global $APPLICATION; $documentRoot = CSite::GetSiteDocRoot($Params['site']); $io = CBXVirtualIo::GetInstance(); // Delete file $f = $io->GetFile($Params['absPath']); $f->MarkWritable(); if (COption::GetOptionInt("main", "disk_space") > 0) { $file_size = $f->GetFileSize(); $quota = new CDiskQuota(); $quota->UpdateDiskQuota("file", $file_size, "delete"); } $sucess = $io->Delete($Params['absPath']); if (!$sucess) { return; } $APPLICATION->RemoveFileAccessPermission(array($Params['site'], $Params['path'])); if (CModule::IncludeModule("search")) { CSearch::DeleteIndex("main", $Params['site'] . "|" . $Params['path']); } // Find and clean file from menu if ($Params['menu']) { $arMenu = CFileman::GetMenuArray($documentRoot . $Params['menu']['menuFile']); if (!empty($arMenu["aMenuLinks"])) { $found = false; foreach ($arMenu["aMenuLinks"] as $menuIndex => $arItem) { if ($arItem[1] == $Params['menu']['menuPath'] && $arItem[0] == $Params['menu']['menuName']) { unset($arMenu["aMenuLinks"][$menuIndex]); $found = true; break; } } if ($found) { CFileMan::SaveMenu(array($Params['site'], $Params['menu']['menuFile']), $arMenu["aMenuLinks"], $arMenu["sMenuTemplate"]); } } } if (isset($Params['public']) && $Params['public'] == 'Y') { ?> <script type="text/javascript"> window.location = '<?php echo CUtil::JSEscape(CHTTP::URN2URI(GetDirPath($Params['path']))); ?> '; </script> <?php } $GLOBALS["CACHE_MANAGER"]->CleanDir("menu"); }
public static function InviteUser($arUser, $messageText, $SITE_ID) { global $USER; $bExtranet = !isset($arUser["UF_DEPARTMENT"]) || is_array($arUser["UF_DEPARTMENT"]) && intval($arUser["UF_DEPARTMENT"][0]) <= 0 || !is_array($arUser["UF_DEPARTMENT"]) && intval($arUser["UF_DEPARTMENT"]) <= 0; $SiteIdToSend = $bExtranet && CModule::IncludeModule("extranet") ? CExtranet::GetExtranetSiteID() : CSite::GetDefSite(); $rsSites = CSite::GetByID($SiteIdToSend); $arSite = $rsSites->Fetch(); $serverName = strlen($arSite["SERVER_NAME"]) > 0 ? $arSite["SERVER_NAME"] : (defined("SITE_SERVER_NAME") && strlen(SITE_SERVER_NAME) > 0 ? SITE_SERVER_NAME : COption::GetOptionString("main", "server_name", "")); $event = new CEvent(); if (IsModuleInstalled("bitrix24")) { $event->SendImmediate("BITRIX24_USER_INVITATION", $SITE_ID, array("EMAIL_FROM" => $USER->GetEmail(), "EMAIL_TO" => $arUser["EMAIL"], "LINK" => CHTTP::URN2URI("/bitrix/tools/intranet_invite_dialog.php?user_id=" . $arUser['ID'] . "&checkword=" . urlencode($arUser["CONFIRM_CODE"]), $serverName), "USER_TEXT" => $messageText)); } else { $event->SendImmediate("INTRANET_USER_INVITATION", $SITE_ID, array("EMAIL_TO" => $arUser["EMAIL"], "LINK" => CHTTP::URN2URI("/bitrix/tools/intranet_invite_dialog.php?user_id=" . $arUser['ID'] . "&checkword=" . urlencode($arUser["CONFIRM_CODE"]), $serverName), "USER_TEXT" => $messageText)); } }
function ExportFile($FILE_ID) { if ($this->work_dir) { $arFile = CFile::GetFileArray($FILE_ID); if ($arFile) { if (!$this->download_files && $arFile["HANDLER_ID"] > 0) { return array(GetMessage("IBLOCK_XML2_BX_ORIGINAL_NAME") => $arFile["ORIGINAL_NAME"], GetMessage("IBLOCK_XML2_DESCRIPTION") => $arFile["DESCRIPTION"], GetMessage("IBLOCK_XML2_BX_URL") => urldecode($arFile["SRC"]), GetMessage("IBLOCK_XML2_BX_FILE_SIZE") => $arFile["FILE_SIZE"], GetMessage("IBLOCK_XML2_BX_FILE_WIDTH") => $arFile["WIDTH"], GetMessage("IBLOCK_XML2_BX_FILE_HEIGHT") => $arFile["HEIGHT"], GetMessage("IBLOCK_XML2_BX_FILE_CONTENT_TYPE") => $arFile["CONTENT_TYPE"]); } else { $arTempFile = CFile::MakeFileArray($FILE_ID); if (isset($arTempFile["tmp_name"]) && $arTempFile["tmp_name"] != "") { $strFile = $arFile["SUBDIR"] . "/" . $arFile["FILE_NAME"]; $strNewFile = str_replace("//", "/", $this->work_dir . $this->file_dir . $strFile); CheckDirPath($strNewFile); if (@copy($arTempFile["tmp_name"], $strNewFile)) { return $this->file_dir . $strFile; } } } } } elseif ($this->export_as_url) { $arFile = CFile::GetFileArray($FILE_ID); if ($arFile) { return CHTTP::URN2URI($arFile["SRC"]); } } return ""; }
$photo['author_name'] = $GLOBALS["APPLICATION"]->ConvertCharset($photo['author_name'], 'Windows-1251', 'UTF-8'); $detailUrl = $GLOBALS["APPLICATION"]->ConvertCharset($detailUrl, 'Windows-1251', 'UTF-8'); $photo['src'] = $GLOBALS["APPLICATION"]->ConvertCharset($photo['src'], 'Windows-1251', 'UTF-8'); } ?> <track> <title><?php echo $title; ?> </title> <creator><?php echo $photo['author_name']; ?> </creator> <location><?php echo CHTTP::URN2URI($photo['src']); ?> </location> <info><?php echo $detailUrl; ?> </info> </track> <?php } } ?> </trackList> </playlist> <?php die;
function Set($arFields, $BANNER_ID, $CHECK_RIGHTS = "Y") { $err_mess = CAdvBanner_all::err_mess() . "<br>Function: Set<br>Line: "; global $DB, $USER; $BANNER_ID = intval($BANNER_ID); if (CAdvBanner::CheckFields($arFields, $BANNER_ID, $CHECK_RIGHTS)) { if ($CHECK_RIGHTS == "Y") { $USER_ID = intval($USER->GetID()); $isAdmin = CAdvContract::IsAdmin(); $isManager = CAdvContract::IsManager(); $CHECK_CONTRACT_RIGHTS = "Y"; if ($isManager) { $CHECK_CONTRACT_RIGHTS = "N"; } } else { $USER_ID = 0; $isAdmin = $isManager = true; $CHECK_CONTRACT_RIGHTS = "N"; } $arFields_i = array(); $arrKeys = array_keys($arFields); $arBanner = array(); if ($BANNER_ID > 0) { $rsBanner = CAdvBanner::GetByID($BANNER_ID, $CHECK_RIGHTS); $arBanner = $rsBanner->Fetch(); if (!in_array("CONTRACT_ID", $arrKeys)) { $CONTRACT_ID = intval($arBanner["CONTRACT_ID"]); } else { $CONTRACT_ID = intval($arFields["CONTRACT_ID"]); } } else { $CONTRACT_ID = intval($arFields["CONTRACT_ID"]); } $modify_status = "N"; if ($CONTRACT_ID > 0) { if ($BANNER_ID <= 0 && (!$isAdmin || !$isManager || in_array("STATUS_SID", $arrKeys))) { $modify_status = "Y"; } $rsContract = CAdvContract::GetByID($CONTRACT_ID, $CHECK_CONTRACT_RIGHTS); $arContract = $rsContract->Fetch(); if (($isAdmin || $isManager) && in_array("RESET_VISITOR_COUNT", $arrKeys) && $arFields["RESET_VISITOR_COUNT"]) { $arFields_i["VISITOR_COUNT"] = 0; // если баннер уже показывался то if (intval($arBanner["VISITOR_COUNT"]) > 0) { // уменьшим счетчик у контракта $value = intval($arContract["VISITOR_COUNT"]) - intval($arBanner["VISITOR_COUNT"]); $value = $value < 0 ? 0 : $value; CAdvContract::Set(array("VISITOR_COUNT" => $value), $arContract["ID"], $CHECK_CONTRACT_RIGHTS); } } if (($isAdmin || $isManager) && in_array("RESET_SHOW_COUNT", $arrKeys) && $arFields["RESET_SHOW_COUNT"]) { $arFields_i["SHOW_COUNT"] = 0; // если баннер уже показывался то if (intval($arBanner["SHOW_COUNT"]) > 0) { // уменьшим счетчик у контракта $value = intval($arContract["SHOW_COUNT"]) - intval($arBanner["SHOW_COUNT"]); $value = $value < 0 ? 0 : $value; CAdvContract::Set(array("SHOW_COUNT" => $value), $arContract["ID"], $CHECK_CONTRACT_RIGHTS); } } if (($isAdmin || $isManager) && in_array("FIX_CLICK", $arrKeys) && ($arFields["FIX_CLICK"] == "Y" || $arFields["FIX_CLICK"] == "N")) { $arFields_i["FIX_CLICK"] = "'" . $arFields["FIX_CLICK"] . "'"; } if (($isAdmin || $isManager) && in_array("FIX_SHOW", $arrKeys) && ($arFields["FIX_SHOW"] == "Y" || $arFields["FIX_SHOW"] == "N")) { $arFields_i["FIX_SHOW"] = "'" . $arFields["FIX_SHOW"] . "'"; } if (($isAdmin || $isManager) && in_array("FLYUNIFORM", $arrKeys) && ($arFields["FLYUNIFORM"] == "Y" || $arFields["FLYUNIFORM"] == "N")) { $arFields_i["FLYUNIFORM"] = "'" . $arFields["FLYUNIFORM"] . "'"; } if (($isAdmin || $isManager) && in_array("RESET_CLICK_COUNT", $arrKeys) && $arFields["RESET_CLICK_COUNT"]) { $arFields_i["CLICK_COUNT"] = 0; // если на баннер уже кликали то if (intval($arBanner["CLICK_COUNT"]) > 0) { // уменьшим счетчик у контракта $value = intval($arContract["CLICK_COUNT"]) - intval($arBanner["CLICK_COUNT"]); $value = $value < 0 ? 0 : $value; CAdvContract::Set(array("CLICK_COUNT" => $value), $arContract["ID"], $CHECK_CONTRACT_RIGHTS); } } if (($isAdmin || $isManager) && in_array("KEYWORDS", $arrKeys)) { $arFields_i["KEYWORDS"] = "'" . $DB->ForSql($arFields["KEYWORDS"], 2000) . "'"; } if (in_array("CONTRACT_ID", $arrKeys) && intval($arFields["CONTRACT_ID"]) > 0) { $arFields_i["CONTRACT_ID"] = intval($arFields["CONTRACT_ID"]); } if (in_array("TYPE_SID", $arrKeys) && strlen($arFields["TYPE_SID"]) > 0) { $arFields_i["TYPE_SID"] = "'" . $DB->ForSql($arFields["TYPE_SID"], 255) . "'"; if ("'" . $DB->ForSql($arBanner["TYPE_SID"], 255) . "'" != $arFields_i["TYPE_SID"]) { $modify_status = "Y"; } } if (in_array("NAME", $arrKeys)) { $arFields_i["NAME"] = "'" . $DB->ForSql($arFields["NAME"], 255) . "'"; } if (in_array("GROUP_SID", $arrKeys)) { $arFields_i["GROUP_SID"] = "'" . $DB->ForSql($arFields["GROUP_SID"], 255) . "'"; } if (in_array("ACTIVE", $arrKeys) && ($arFields["ACTIVE"] == "Y" || $arFields["ACTIVE"] == "N")) { $arFields_i["ACTIVE"] = "'" . $arFields["ACTIVE"] . "'"; } if (in_array("WEIGHT", $arrKeys)) { $arFields_i["WEIGHT"] = intval($arFields["WEIGHT"]); } if (in_array("MAX_VISITOR_COUNT", $arrKeys)) { if (strlen($arFields["MAX_VISITOR_COUNT"]) > 0) { $arFields_i["MAX_VISITOR_COUNT"] = intval($arFields["MAX_VISITOR_COUNT"]); } else { $arFields_i["MAX_VISITOR_COUNT"] = "null"; } } if (in_array("SHOWS_FOR_VISITOR", $arrKeys)) { if (strlen($arFields["SHOWS_FOR_VISITOR"]) > 0) { $arFields_i["SHOWS_FOR_VISITOR"] = intval($arFields["SHOWS_FOR_VISITOR"]); } else { $arFields_i["SHOWS_FOR_VISITOR"] = "null"; } } if (in_array("MAX_SHOW_COUNT", $arrKeys)) { if (strlen($arFields["MAX_SHOW_COUNT"]) > 0) { $arFields_i["MAX_SHOW_COUNT"] = intval($arFields["MAX_SHOW_COUNT"]); } else { $arFields_i["MAX_SHOW_COUNT"] = "null"; } } if (in_array("MAX_CLICK_COUNT", $arrKeys)) { if (strlen($arFields["MAX_CLICK_COUNT"]) > 0) { $arFields_i["MAX_CLICK_COUNT"] = intval($arFields["MAX_CLICK_COUNT"]); } else { $arFields_i["MAX_CLICK_COUNT"] = "null"; } } if (in_array("DATE_SHOW_FROM", $arrKeys)) { if (strlen($arFields["DATE_SHOW_FROM"]) > 0) { $arFields_i["DATE_SHOW_FROM"] = $DB->CharToDateFunction($arFields["DATE_SHOW_FROM"]); } else { $arFields_i["DATE_SHOW_FROM"] = "null"; } } if (in_array("DATE_SHOW_TO", $arrKeys)) { if (strlen($arFields["DATE_SHOW_TO"]) > 0) { $time = ""; if (defined("FORMAT_DATE") && strlen($arFields["DATE_SHOW_TO"]) <= strlen(FORMAT_DATE)) { $time = " 23:59:59"; } $arFields_i["DATE_SHOW_TO"] = $DB->CharToDateFunction($arFields["DATE_SHOW_TO"] . $time); } else { $arFields_i["DATE_SHOW_TO"] = "null"; } } if (in_array("DATE_SHOW_FIRST", $arrKeys)) { $arFields_i["DATE_SHOW_FIRST"] = "null"; } if (in_array("arrIMAGE_ID", $arrKeys) && is_array($arFields["arrIMAGE_ID"])) { $arIMAGE = $arFields["arrIMAGE_ID"]; $arIMAGE["MODULE_ID"] = "advertising"; if ($BANNER_ID > 0) { $z = $DB->Query("SELECT IMAGE_ID FROM b_adv_banner WHERE ID='{$BANNER_ID}'", false, $err_mess . __LINE__); $zr = $z->Fetch(); $arIMAGE["old_file"] = $zr["IMAGE_ID"]; } if (strlen($arIMAGE["name"]) > 0 || strlen($arIMAGE["del"]) > 0) { $subdir = COption::GetOptionString("advertising", "UPLOAD_SUBDIR"); $fid = CFile::SaveFile($arIMAGE, $subdir); if (intval($fid) > 0) { $arFields_i["IMAGE_ID"] = intval($fid); } else { $arFields_i["IMAGE_ID"] = "null"; } if (intval($arBanner["IMAGE_ID"]) != intval($arFields_i["IMAGE_ID"])) { $modify_status = "Y"; } } } if (in_array("IMAGE_ALT", $arrKeys)) { $arFields_i["IMAGE_ALT"] = "'" . $DB->ForSql($arFields["IMAGE_ALT"], 255) . "'"; if ("'" . $DB->ForSql($arBanner["IMAGE_ALT"], 255) . "'" != $arFields_i["IMAGE_ALT"]) { $modify_status = "Y"; } } if (in_array("URL", $arrKeys)) { $arFields_i["URL"] = "'" . $DB->ForSql($arFields["URL"], 2000) . "'"; if ("'" . $DB->ForSql($arBanner["URL"], 2000) . "'" != $arFields_i["URL"]) { $modify_status = "Y"; } } if (in_array("URL_TARGET", $arrKeys)) { $arFields_i["URL_TARGET"] = "'" . $DB->ForSql($arFields["URL_TARGET"], 255) . "'"; if ("'" . $DB->ForSql($arBanner["URL_TARGET"], 255) . "'" != $arFields_i["URL_TARGET"]) { $modify_status = "Y"; } } if (in_array("NO_URL_IN_FLASH", $arrKeys) && ($arFields["NO_URL_IN_FLASH"] == "Y" || $arFields["NO_URL_IN_FLASH"] == "N")) { $arFields_i["NO_URL_IN_FLASH"] = "'" . $arFields["NO_URL_IN_FLASH"] . "'"; if ($arBanner["NO_URL_IN_FLASH"] != $arFields_i["NO_URL_IN_FLASH"]) { $modify_status = "Y"; } } if (in_array("CODE", $arrKeys)) { $arFields_i["CODE"] = $arFields["CODE"]; if ($arBanner["CODE"] != $arFields_i["CODE"]) { $modify_status = "Y"; } } if (in_array("FLASH_JS", $arrKeys) && ($arFields["FLASH_JS"] == "Y" || $arFields["FLASH_JS"] == "N")) { $arFields_i["FLASH_JS"] = "'" . $arFields["FLASH_JS"] . "'"; if ("'" . $arBanner["FLASH_JS"] . "'" != $arFields_i["FLASH_JS"]) { $modify_status = "Y"; } } if (in_array("FLASH_VER", $arrKeys)) { $arFields_i["FLASH_VER"] = "'" . $DB->ForSQL($arFields["FLASH_VER"], 20) . "'"; if ("'" . $DB->ForSQL($arBanner["FLASH_VER"], 20) . "'" != $arFields_i["FLASH_VER"]) { $modify_status = "Y"; } } if (in_array("arrFlashIMAGE_ID", $arrKeys) && is_array($arFields["arrFlashIMAGE_ID"])) { $arrFlashIMAGE = $arFields["arrFlashIMAGE_ID"]; $arrFlashIMAGE["MODULE_ID"] = "advertising"; if ($BANNER_ID > 0) { $z = $DB->Query("SELECT FLASH_IMAGE FROM b_adv_banner WHERE ID='{$BANNER_ID}'", false, $err_mess . __LINE__); if ($zr = $z->Fetch()) { $arrFlashIMAGE["old_file"] = $zr["FLASH_IMAGE"]; } } if (strlen($arrFlashIMAGE["name"]) > 0 || strlen($arrFlashIMAGE["del"]) > 0) { $subdir = COption::GetOptionString("advertising", "UPLOAD_SUBDIR"); $fid = CFile::SaveFile($arrFlashIMAGE, $subdir); if (intval($fid) > 0) { $arFields_i["FLASH_IMAGE"] = intval($fid); } else { $arFields_i["FLASH_IMAGE"] = "null"; } if (intval($arBanner["FLASH_IMAGE"]) != intval($arFields_i["FLASH_IMAGE"])) { $modify_status = "Y"; } } } if (in_array("AD_TYPE", $arrKeys)) { $arFields_i["AD_TYPE"] = "'" . $DB->ForSql($arFields["AD_TYPE"], 20) . "'"; if ("'" . $DB->ForSql($arBanner["AD_TYPE"], 20) . "'" != $arFields_i["AD_TYPE"]) { $modify_status = "Y"; } } if (in_array("FLASH_TRANSPARENT", $arrKeys)) { $arFields_i["FLASH_TRANSPARENT"] = "'" . $DB->ForSql($arFields["FLASH_TRANSPARENT"], 11) . "'"; if ("'" . $DB->ForSql($arBanner["FLASH_TRANSPARENT"], 11) . "'" != $arFields_i["FLASH_TRANSPARENT"]) { $modify_status = "Y"; } } if (in_array("CODE_TYPE", $arrKeys)) { $arFields_i["CODE_TYPE"] = $arFields["CODE_TYPE"] == "text" ? "'text'" : "'html'"; $value = $arBanner["CODE_TYPE"] == "text" ? "'text'" : "'html'"; if ($value != $arFields_i["CODE_TYPE"]) { $modify_status = "Y"; } } if (in_array("STAT_EVENT_1", $arrKeys)) { $arFields_i["STAT_EVENT_1"] = "'" . $DB->ForSql($arFields["STAT_EVENT_1"], 255) . "'"; } if (in_array("STAT_EVENT_2", $arrKeys)) { $arFields_i["STAT_EVENT_2"] = "'" . $DB->ForSql($arFields["STAT_EVENT_2"], 255) . "'"; } if (in_array("STAT_EVENT_3", $arrKeys)) { $arFields_i["STAT_EVENT_3"] = "'" . $DB->ForSql($arFields["STAT_EVENT_3"], 255) . "'"; } if (in_array("FOR_NEW_GUEST", $arrKeys)) { if ($arFields["FOR_NEW_GUEST"] == "Y" || $arFields["FOR_NEW_GUEST"] == "N") { $arFields_i["FOR_NEW_GUEST"] = "'" . $arFields["FOR_NEW_GUEST"] . "'"; } elseif ($arFields["FOR_NEW_GUEST"] == "NOT_REF" || $arFields["FOR_NEW_GUEST"] == "ALL" || strlen($arFields["FOR_NEW_GUEST"]) <= 0) { $arFields_i["FOR_NEW_GUEST"] = "null"; } } if (in_array("COMMENTS", $arrKeys)) { $arFields_i["COMMENTS"] = "'" . $DB->ForSql($arFields["COMMENTS"], 2000) . "'"; } if (($isAdmin || $isManager) && in_array("STATUS_COMMENTS", $arrKeys)) { $arFields_i["STATUS_COMMENTS"] = "'" . $DB->ForSql($arFields["STATUS_COMMENTS"], 2000) . "'"; } $email_notify = "N"; if ($modify_status == "Y" || in_array("STATUS_SID", $arrKeys) && ($isAdmin || $isManager)) { $new_status = $isAdmin || $isManager ? $arFields["STATUS_SID"] : $arContract["DEFAULT_STATUS_SID"]; $arFields_i["STATUS_SID"] = "'" . $DB->ForSql($new_status, 255) . "'"; // если статус изменился то if ("'" . $DB->ForSql($arBanner["STATUS_SID"], 255) . "'" != $arFields_i["STATUS_SID"]) { $email_notify = "Y"; } } if (in_array("arrSITE", $arrKeys)) { $arFields_i["FIRST_SITE_ID"] = "''"; if (is_array($arFields["arrSITE"])) { $arrSITE = array_unique($arFields["arrSITE"]); reset($arrSITE); list(, $site_id) = each($arrSITE); $arFields_i["FIRST_SITE_ID"] = "'" . $DB->ForSql($site_id, 2) . "'"; } } if (in_array("SHOW_USER_GROUP", $arrKeys)) { if ($arFields["SHOW_USER_GROUP"] == "Y" && (in_array("arrUSERGROUP", $arrKeys) && count($arFields["arrUSERGROUP"]) > 0)) { $SHOW_USER_GROUP = "Y"; } else { $SHOW_USER_GROUP = "N"; } $arFields_i["SHOW_USER_GROUP"] = "'" . $DB->ForSql($SHOW_USER_GROUP, 1) . "'"; } if (in_array("STAT_TYPE", $arrKeys)) { if ($arFields["STAT_TYPE"] === "CITY") { $arFields_i["STAT_TYPE"] = "'CITY'"; } elseif ($arFields["STAT_TYPE"] === "REGION") { $arFields_i["STAT_TYPE"] = "'REGION'"; } else { $arFields_i["STAT_TYPE"] = "'COUNTRY'"; } } if (intval($BANNER_ID) > 0) { if (in_array("DATE_MODIFY", $arrKeys) && CheckDateTime($arFields["DATE_MODIFY"])) { $arFields_i["DATE_MODIFY"] = $DB->CharToDateFunction($arFields["DATE_MODIFY"]); } else { $arFields_i["DATE_MODIFY"] = $DB->GetNowFunction(); } if (in_array("MODIFIED_BY", $arrKeys)) { $arFields_i["MODIFIED_BY"] = intval($arFields["MODIFIED_BY"]); } else { $arFields_i["MODIFIED_BY"] = $USER_ID; } CAdvBanner::Update($arFields_i, $BANNER_ID); } else { if (in_array("DATE_CREATE", $arrKeys) && CheckDateTime($arFields["DATE_CREATE"])) { $arFields_i["DATE_CREATE"] = $DB->CharToDateFunction($arFields["DATE_CREATE"]); } else { $arFields_i["DATE_CREATE"] = $DB->GetNowFunction(); } if (in_array("CREATED_BY", $arrKeys)) { $arFields_i["CREATED_BY"] = intval($arFields["CREATED_BY"]); } else { $arFields_i["CREATED_BY"] = $USER_ID; } if (in_array("DATE_MODIFY", $arrKeys) && CheckDateTime($arFields["DATE_MODIFY"])) { $arFields_i["DATE_MODIFY"] = $DB->CharToDateFunction($arFields["DATE_MODIFY"]); } else { $arFields_i["DATE_MODIFY"] = $DB->GetNowFunction(); } if (in_array("MODIFIED_BY", $arrKeys)) { $arFields_i["MODIFIED_BY"] = intval($arFields["MODIFIED_BY"]); } else { $arFields_i["MODIFIED_BY"] = $USER_ID; } $BANNER_ID = CAdvBanner::Add($arFields_i); } $BANNER_ID = intval($BANNER_ID); if ($BANNER_ID > 0) { if (in_array("arrSITE", $arrKeys)) { CAdvBanner::DeleteSiteLink($BANNER_ID); if (is_array($arFields["arrSITE"])) { $arrSITE = array_unique($arFields["arrSITE"]); reset($arrSITE); foreach ($arrSITE as $sid) { if (strlen(trim($sid)) > 0) { $strSql = "INSERT INTO b_adv_banner_2_site (BANNER_ID, SITE_ID) VALUES ({$BANNER_ID}, '" . $DB->ForSql($sid, 2) . "')"; $DB->Query($strSql, false, $err_mess . __LINE__); } } } } if (in_array("arrSHOW_PAGE", $arrKeys)) { CAdvBanner::DeletePageLink($BANNER_ID, " and SHOW_ON_PAGE='Y'"); if (is_array($arFields["arrSHOW_PAGE"])) { $arrPage = array_unique($arFields["arrSHOW_PAGE"]); foreach ($arrPage as $page) { $page = trim($page); if (strlen($page) > 0) { $arFields_i = array("BANNER_ID" => $BANNER_ID, "PAGE" => "'" . $DB->ForSql($page, 255) . "'", "SHOW_ON_PAGE" => "'Y'"); $DB->Insert("b_adv_banner_2_page", $arFields_i, $err_mess . __LINE__); } } } } if (in_array("arrNOT_SHOW_PAGE", $arrKeys)) { CAdvBanner::DeletePageLink($BANNER_ID, " and SHOW_ON_PAGE='N'"); if (is_array($arFields["arrNOT_SHOW_PAGE"])) { $arrPage = array_unique($arFields["arrNOT_SHOW_PAGE"]); foreach ($arrPage as $page) { $page = trim($page); if (strlen($page) > 0) { $arFields_i = array("BANNER_ID" => $BANNER_ID, "PAGE" => "'" . $DB->ForSql($page, 255) . "'", "SHOW_ON_PAGE" => "'N'"); $DB->Insert("b_adv_banner_2_page", $arFields_i, $err_mess . __LINE__); } } } } if (in_array("arrCOUNTRY", $arrKeys)) { $iCounter = 0; CAdvBanner::DeleteCountryLink($BANNER_ID); if (is_array($arFields["arrCOUNTRY"])) { $arrCOUNTRY = array(); foreach ($arFields["arrCOUNTRY"] as $COUNTRY) { if (is_array($COUNTRY)) { $COUNTRY["COUNTRY_ID"] = trim($COUNTRY["COUNTRY_ID"]); if (strlen($COUNTRY["COUNTRY_ID"]) <= 0) { continue; } $key = $COUNTRY["COUNTRY_ID"] . "|" . $COUNTRY["REGION"] . "|" . $COUNTRY["CITY_ID"]; $strInsert = "'" . $DB->ForSQL($COUNTRY["COUNTRY_ID"], 2) . "', " . (strlen($COUNTRY["REGION"]) <= 0 ? "null" : "'" . $DB->ForSQL($COUNTRY["REGION"], 200) . "'") . ", " . (intval($COUNTRY["CITY_ID"]) <= 0 ? "null" : intval($COUNTRY["CITY_ID"])) . ""; } else { $COUNTRY = trim($COUNTRY); if (strlen($COUNTRY) <= 0) { continue; } $key = $COUNTRY . "||"; $strInsert = "'" . $DB->ForSQL($COUNTRY, 2) . "', null, null"; } $arrCOUNTRY[$key] = $strInsert; } foreach ($arrCOUNTRY as $strInsert) { $strSql = "INSERT INTO b_adv_banner_2_country (BANNER_ID, COUNTRY_ID, REGION, CITY_ID) VALUES ({$BANNER_ID}, " . $strInsert . ")"; $DB->Query($strSql, false, $err_mess . __LINE__); $iCounter++; } } $DB->Query("UPDATE b_adv_banner SET STAT_COUNT = " . $iCounter . " WHERE ID = " . $BANNER_ID); } if (in_array("arrSTAT_ADV", $arrKeys)) { CAdvBanner::DeleteStatAdvLink($BANNER_ID); if (is_array($arFields["arrSTAT_ADV"])) { $arrSTAT_ADV = array_unique($arFields["arrSTAT_ADV"]); foreach ($arrSTAT_ADV as $aid) { if (intval($aid) > 0) { $strSql = "INSERT INTO b_adv_banner_2_stat_adv (BANNER_ID, STAT_ADV_ID) VALUES ({$BANNER_ID}, '" . intval($aid) . "')"; $DB->Query($strSql, false, $err_mess . __LINE__); } } } } if (in_array("arrWEEKDAY", $arrKeys)) { CAdvBanner::DeleteWeekdayLink($BANNER_ID); if (is_array($arFields["arrWEEKDAY"])) { $arrWeekday = array_keys($arFields["arrWEEKDAY"]); $arrWeekday = array_unique($arrWeekday); if (is_array($arrWeekday) && count($arrWeekday) > 0) { foreach ($arrWeekday as $weekday) { if (is_array($arFields["arrWEEKDAY"][$weekday]) && count($arFields["arrWEEKDAY"][$weekday]) > 0) { $arrHour = $arFields["arrWEEKDAY"][$weekday]; array_walk($arrHour, create_function("&\$item", "\$item=intval(\$item);")); $arrHour = array_unique($arrHour); foreach ($arrHour as $hour) { if ($hour >= 0 && $hour <= 23) { $strSql = "INSERT INTO b_adv_banner_2_weekday (BANNER_ID, C_WEEKDAY, C_HOUR) VALUES ({$BANNER_ID}, '" . $DB->ForSql($weekday, 10) . "', {$hour})"; $DB->Query($strSql, false, $err_mess . __LINE__); } } } } } } } if (in_array("arrUSERGROUP", $arrKeys)) { CAdvBanner::DeleteGroupLink($BANNER_ID); if (is_array($arFields["arrUSERGROUP"])) { $arrGROUPS = array_unique($arFields["arrUSERGROUP"]); foreach ($arrGROUPS as $uid) { if (intval($uid) > 0) { $strSql = "INSERT INTO b_adv_banner_2_group (BANNER_ID, GROUP_ID) VALUES ({$BANNER_ID}, " . IntVal($uid) . ")"; $DB->Query($strSql, false, $err_mess . __LINE__); } } } } // если необходимо оповестить $SEND_EMAIL = $arFields["SEND_EMAIL"] == "N" ? "N" : "Y"; if ($email_notify == "Y" && (!$isAdmin || !$isManager || $SEND_EMAIL == "Y")) { // получаем данные по баннеру CTimeZone::Disable(); $rsBanner = CAdvBanner::GetByID($BANNER_ID, $CHECK_RIGHTS); CTimeZone::Enable(); if ($arBanner = $rsBanner->Fetch()) { $BCC = array(); $OWNER_EMAIL = array(); $ADD_EMAIL = array(); $STAT_EMAIL = array(); $EDIT_EMAIL = array(); $MANAGER_EMAIL = CAdvContract::GetManagerEmails(); $ADMIN_EMAIL = CAdvContract::GetAdminEmails(); $ADMIN_EMAIL = array_merge($MANAGER_EMAIL, $ADMIN_EMAIL); $ADMIN_EMAIL = array_unique($ADMIN_EMAIL); CAdvContract::GetOwnerEmails($CONTRACT_ID, $OWNER_EMAIL, $ADD_EMAIL, $STAT_EMAIL, $EDIT_EMAIL); $CREATED_BY = $MODIFIED_BY = 0; if (intval($arBanner["CREATED_BY"]) > 0) { $rsUser = CUser::GetByID($arBanner["CREATED_BY"]); if ($arUser = $rsUser->Fetch()) { $CREATED_BY = "[" . $arUser["ID"] . "] (" . $arUser["LOGIN"] . ") " . $arUser["NAME"] . " " . $arUser["LAST_NAME"]; } } if (intval($arBanner["MODIFIED_BY"]) == intval($arBanner["CREATED_BY"]) && intval($arBanner["CREATED_BY"]) > 0) { $MODIFIED_BY = $CREATED_BY; } elseif (intval($arBanner["MODIFIED_BY"]) > 0) { $rsUser = CUser::GetByID($arBanner["MODIFIED_BY"]); if ($arUser = $rsUser->Fetch()) { $MODIFIED_BY = "[" . $arUser["ID"] . "] (" . $arUser["LOGIN"] . ") " . $arUser["NAME"] . " " . $arUser["LAST_NAME"]; } } $arImage = CFile::GetFileArray($arBanner["IMAGE_ID"]); if ($arImage) { $IMAGE_LINK = CHTTP::URN2URI($arImage["SRC"]); } else { $IMAGE_LINK = ""; } $arImage = CFile::GetFileArray($arBanner["FLASH_IMAGE"]); if ($arImage) { $FLASHIMAGE_LINK = CHTTP::URN2URI($arImage["SRC"]); } else { $FLASHIMAGE_LINK = ""; } $EMAIL_TO = $OWNER_EMAIL; if (count($EMAIL_TO) <= 0) { $EMAIL_TO = $ADMIN_EMAIL; } else { $BCC = $ADMIN_EMAIL; } $arEventFields = array("ID" => $arBanner["ID"], "EMAIL_TO" => implode(",", $EMAIL_TO), "ADMIN_EMAIL" => implode(",", $ADMIN_EMAIL), "ADD_EMAIL" => implode(",", $ADD_EMAIL), "STAT_EMAIL" => implode(",", $STAT_EMAIL), "EDIT_EMAIL" => implode(",", $EDIT_EMAIL), "OWNER_EMAIL" => implode(",", $OWNER_EMAIL), "BCC" => implode(",", $BCC), "CONTRACT_ID" => $CONTRACT_ID, "CONTRACT_NAME" => $arContract["NAME"], "TYPE_SID" => $arBanner["TYPE_SID"], "TYPE_NAME" => $arBanner["TYPE_NAME"], "STATUS" => strlen($arBanner["STATUS_SID"]) > 0 ? GetMessage("AD_STATUS_" . $arBanner["STATUS_SID"]) : "", "STATUS_COMMENTS" => $arBanner["STATUS_COMMENTS"], "NAME" => $arBanner["NAME"], "GROUP_SID" => $arBanner["GROUP_SID"], "INDICATOR" => GetMessage("AD_" . strtoupper($arBanner["LAMP"]) . "_BANNER_STATUS"), "ACTIVE" => $arBanner["ACTIVE"], "MAX_SHOW_COUNT" => $arBanner["MAX_SHOW_COUNT"], "SHOW_COUNT" => $arBanner["SHOW_COUNT"], "MAX_CLICK_COUNT" => $arBanner["MAX_CLICK_COUNT"], "CLICK_COUNT" => $arBanner["CLICK_COUNT"], "DATE_LAST_SHOW" => $arBanner["DATE_LAST_SHOW"], "DATE_LAST_CLICK" => $arBanner["DATE_LAST_CLICK"], "DATE_SHOW_FROM" => $arBanner["DATE_SHOW_FROM"], "DATE_SHOW_TO" => $arBanner["DATE_SHOW_TO"], "IMAGE_LINK" => $IMAGE_LINK, "IMAGE_ALT" => $arBanner["IMAGE_ALT"], "URL" => $arBanner["URL"], "URL_TARGET" => $arBanner["URL_TARGET"], "NO_URL_IN_FLASH" => $arBanner["NO_URL_IN_FLASH"], "CODE" => $arBanner["CODE"], "CODE_TYPE" => $arBanner["CODE_TYPE"], "COMMENTS" => $arBanner["COMMENTS"], "DATE_CREATE" => $arBanner["DATE_CREATE"], "CREATED_BY" => $CREATED_BY, "DATE_MODIFY" => $arBanner["DATE_MODIFY"], "MODIFIED_BY" => $MODIFIED_BY, "AD_TYPE" => $arBanner["AD_TYPE"], "FLASH_TRANSPARENT" => $arBanner["FLASH_TRANSPARENT"], "FLASH_IMAGE_LINK" => $FLASHIMAGE_LINK, "FLASH_JS" => $arBanner["FLASH_JS"], "FLASH_VER" => $arBanner["FLASH_VER"]); $arrSITE = CAdvBanner::GetSiteArray($arBanner["ID"]); CEvent::Send("ADV_BANNER_STATUS_CHANGE", $arrSITE, $arEventFields); } } } } } return $BANNER_ID; }
function findCorrectFile($path, &$strWarn, $warning = false) { $arUrl = CHTTP::ParseURL($path); if ($arUrl && is_array($arUrl)) { if (isset($arUrl['host'], $arUrl['scheme'])) // abs path { if (strpos($arUrl['host'], 'xn--') !== false) // Cyrilyc url - punycoded { // Do nothing } else { $originalPath = $path; $path = $arUrl['scheme'].'://'.$arUrl['host']; $arErrors = array(); if(defined("FX_UTF")) $punicodedPath = CBXPunycode::ToUnicode($path, $arErrors); else $punicodedPath = CBXPunycode::ToASCII($path, $arErrors); if ($pathPunicoded == $path) return $originalPath; else $path = $punicodedPath; if (($arUrl['port'] && ($arUrl['scheme'] != 'http' || $arUrl['port'] != 80) && ($arUrl['scheme'] != 'https' || $arUrl['port'] != 443))) $path .= ':'.$arUrl['port']; $path .= $arUrl['path_query']; } } else // relative path { $DOC_ROOT = $_SERVER["DOCUMENT_ROOT"]; $path = Rel2Abs("/", $path); $path_ = $path; $io = CBXVirtualIo::GetInstance(); if (!$io->FileExists($DOC_ROOT.$path)) { if(CModule::IncludeModule('clouds')) { $path = CCloudStorage::FindFileURIByURN($path, "component:player"); if($path == "") { if ($warning) $strWarn .= $warning."<br />"; $path = $path_; } } else { if ($warning) $strWarn .= $warning."<br />"; $path = $path_; } } elseif (strpos($_SERVER['HTTP_HOST'], 'xn--') !== false) // It's cyrilyc site { $path = CHTTP::URN2URI($path); } } } return $path; }
function convert_attachment($fileID = "", $p = "", $type = "", $text = "") { if (is_array($fileID)) { $text = $fileID[0]; $p = $fileID[3]; $fileID = $fileID[2]; } $fileID = intval($fileID); $type = strtolower(empty($type) ? $this->type : $type); $type = in_array($type, array("html", "mail", "bbcode", "rss")) ? $type : "html"; $this->arFiles = is_array($this->arFiles) ? $this->arFiles : array($this->arFiles); if ($fileID <= 0 || !array_key_exists($fileID, $this->arFiles) && !in_array($fileID, $this->arFiles)) { return $text; } if (!array_key_exists($fileID, $this->arFiles) && in_array($fileID, $this->arFiles)) { // array(fileID10, fileID12, fileID14) unset($this->arFiles[array_search($fileID, $this->arFiles)]); $this->arFiles[$fileID] = $fileID; // array(fileID10 => fileID10, fileID12 => fileID12, fileID14 => fileID14) } if (!is_array($this->arFiles[$fileID])) { $this->arFiles[$fileID] = CFile::GetFileArray($fileID); } // array(fileID10 => array about file, ....) if (!is_array($this->arFiles[$fileID])) { // if file does not exist unset($this->arFiles[$fileID]); return $text; } if (!array_key_exists($fileID, $this->arFilesParsed) || empty($this->arFilesParsed[$fileID][$type])) { $arFile = $this->arFiles[$fileID]; if ($type == "html" || $type == "rss") { $width = 0; $height = 0; if (preg_match_all("/width\\=(?P<width>\\d+)|height\\=(?P<height>\\d+)/is" . BX_UTF_PCRE_MODIFIER, $p, $matches)) { $width = intval(!empty($matches["width"][0]) ? $matches["width"][0] : $matches["width"][1]); $height = intval(!empty($matches["height"][0]) ? $matches["height"][0] : $matches["height"][1]); } $arFile[$type] = $GLOBALS["APPLICATION"]->IncludeComponent("bitrix:forum.interface", "show_file", array("FILE" => $arFile, "SHOW_MODE" => $type == "html" ? "THUMB" : "RSS", "SIZE" => array("width" => $width, "height" => $height), "MAX_SIZE" => array("width" => $this->imageWidth, "height" => $this->imageHeight), "HTML_SIZE" => array("width" => $this->imageHtmlWidth, "height" => $this->imageHtmlHeight), "CONVERT" => "N", "NAME_TEMPLATE" => $this->userNameTemplate, "FAMILY" => "FORUM", "SINGLE" => "Y", "RETURN" => "Y"), $this->component, array("HIDE_ICONS" => "Y")); } else { $path = '/bitrix/components/bitrix/forum.interface/show_file.php?fid=' . $arFile["ID"]; $bIsImage = CFile::CheckImageFile(CFile::MakeFileArray($fileID)) === null; // $path = ($bIsImage && !empty($arFile["SRC"]) ? $arFile["SRC"] : !$bIsImage && !empty($arFile["URL"]) ? $arFile["URL"] : $path); $path = preg_replace("'(?<!:)/+'s", "/", substr($path, 0, 1) == "/" ? CHTTP::URN2URI($path, $this->serverName) : $path); switch ($type) { case "bbcode": $arFile["bbcode"] = $bIsImage ? '[IMG]' . $path . '[/IMG]' : '[URL=' . $path . ']' . $arFile["ORIGINAL_NAME"] . '[/URL]'; break; case "mail": $arFile["mail"] = $arFile["ORIGINAL_NAME"] . ($bIsImage ? " (IMAGE: " . $path . ")" : " (URL: " . $path . ")"); break; } } $this->arFilesParsed[$fileID] = $arFile; } $this->arFilesIDParsed[] = $fileID; return $this->arFilesParsed[$fileID][$type]; }
public function GetAttachmentCollection($listName, $listItemID) { $start = microtime(true); if (!($listName_original = self::checkGUID($listName))) { return new CSoapFault('Data error', 'Wrong GUID - ' . $listName); } $listName = ToUpper(self::makeGUID($listName_original)); $listItemID = intval($listItemID); $obData = new CXMLCreator('Attachments'); $dbRes = CCrmContact::GetListEx(array(), array('ID' => $listItemID), false, false, array('PHOTO')); if (($arContact = $dbRes->Fetch()) && $arContact['PHOTO']) { $arImage = self::InitImage($arContact['PHOTO'], 100, 100); $obData->addChild($obAttachment = new CXMLCreator('Attachment')); $obAttachment->setData(CHTTP::URN2URI($arImage['CACHE']['src'])); } return array('GetAttachmentCollectionResult' => $obData); }
if (strlen($arResult["NODES"]["link"]) > 0) { $arItem["link"] = str_replace($arNodesSearch, $arNodesReplace, $arResult["NODES"]["link"]); } elseif ($arProperties["DOC_LINK"]["VALUE"]) { $arItem["link"] = CHTTP::URN2URI($arProperties["DOC_LINK"]["VALUE"], $arResult["SERVER_NAME"]); } else { $arItem["link"] = CHTTP::URN2URI($arElement["DETAIL_PAGE_URL"], $arResult["SERVER_NAME"]); } if (strlen($arResult["NODES"]["description"]) > 0) { $arItem["description"] = str_replace($arNodesSearch, $arNodesReplace, $arResult["NODES"]["description"]); } else { $arItem["description"] = htmlspecialcharsbx($arElement["PREVIEW_TEXT"] || $arParams["YANDEX"] ? $arElement["PREVIEW_TEXT"] : $arElement["DETAIL_TEXT"]); } if (strlen($arResult["NODES"]["enclosure"]) > 0) { $arItem["enclosure"] = array("url" => str_replace($arNodesSearch, $arNodesReplace, $arResult["NODES"]["enclosure"]), "length" => str_replace($arNodesSearch, $arNodesReplace, $arResult["NODES"]["enclosure_length"]), "type" => str_replace($arNodesSearch, $arNodesReplace, $arResult["NODES"]["enclosure_type"])); } elseif (is_array($arElement["arr_PREVIEW_PICTURE"])) { $arItem["enclosure"] = array("url" => CHTTP::URN2URI($arElement["arr_PREVIEW_PICTURE"]["SRC"], $arResult["SERVER_NAME"]), "length" => $arElement["arr_PREVIEW_PICTURE"]["FILE_SIZE"], "type" => $arElement["arr_PREVIEW_PICTURE"]["CONTENT_TYPE"]); } else { $arItem["enclosure"] = false; } if (strlen($arResult["NODES"]["category"]) > 0) { $arItem["category"] = str_replace($arNodesSearch, $arNodesReplace, $arResult["NODES"]["category"]); } else { $arItem["category"] = ""; $rsNavChain = CIBlockSection::GetNavChain($arResult["ID"], $arElement["IBLOCK_SECTION_ID"]); while ($arNavChain = $rsNavChain->Fetch()) { $arItem["category"] .= htmlspecialcharsbx($arNavChain["NAME"]) . "/"; } } if ($arParams["YANDEX"]) { $arItem["full-text"] = htmlspecialcharsbx(htmlspecialcharsback($arElement["DETAIL_TEXT"])); }
/** * Sends product subscription letter * * @param integer $ID - code product * @param string $MODULE - module product * @return bool */ function ProductSubscribe($ID, $MODULE) { $ID = (int) $ID; $MODULE = trim($MODULE); if ($ID <= 0 || $MODULE == '') { return false; } $arSubscribeProd = array(); $subscribeProd = COption::GetOptionString("sale", "subscribe_prod", ""); if ($subscribeProd != '') { $arSubscribeProd = unserialize($subscribeProd); } $rsItemsBasket = CSaleBasket::GetList(array("USER_ID" => "DESC", "LID" => "ASC"), array("PRODUCT_ID" => $ID, "SUBSCRIBE" => "Y", "CAN_BUY" => "N", "ORDER_ID" => "NULL", ">USER_ID" => "0", "MODULE" => $MODULE), false, false, array('ID', 'FUSER_ID', 'USER_ID', 'MODULE', 'PRODUCT_ID', 'CURRENCY', 'DATE_INSERT', 'QUANTITY', 'LID', 'DELAY', 'CALLBACK_FUNC', 'SUBSCRIBE', 'PRODUCT_PROVIDER_CLASS')); while ($arItemsBasket = $rsItemsBasket->Fetch()) { $LID = $arItemsBasket["LID"]; if (isset($arSubscribeProd[$LID]) && $arSubscribeProd[$LID]["use"] == "Y") { $sendEmailList = array(); $USER_ID = $arItemsBasket['USER_ID']; $arMailProp = array(); $arPayerProp = array(); // select person type $dbPersonType = CSalePersonType::GetList(array("SORT" => "ASC"), array("LID" => $LID), false, false, array('ID')); while ($arPersonType = $dbPersonType->Fetch()) { // select ID props is mail $dbProperties = CSaleOrderProps::GetList(array(), array("PERSON_TYPE_ID" => $arPersonType["ID"], "IS_EMAIL" => "Y", "ACTIVE" => "Y"), false, false, array('ID', 'PERSON_TYPE_ID')); while ($arProperties = $dbProperties->Fetch()) { $arMailProp[$arProperties["PERSON_TYPE_ID"]] = $arProperties["ID"]; } // select ID props is name $arPayerProp = array(); $dbProperties = CSaleOrderProps::GetList(array(), array("PERSON_TYPE_ID" => $arPersonType["ID"], "IS_PAYER" => "Y", "ACTIVE" => "Y"), false, false, array('ID', 'PERSON_TYPE_ID')); while ($arProperties = $dbProperties->Fetch()) { $arPayerProp[$arProperties["PERSON_TYPE_ID"]] = $arProperties["ID"]; } } //end while // load user profiles $arUserProfiles = CSaleOrderUserProps::DoLoadProfiles($USER_ID); $rsUser = CUser::GetByID($USER_ID); $arUser = $rsUser->Fetch(); $userName = $arUser["LAST_NAME"]; if ($userName != '') { $userName .= " "; } $userName .= $arUser["NAME"]; // select of user name to be sent $arUserSendName = array(); if (!empty($arUserProfiles) && !empty($arPayerProp)) { foreach ($arPayerProp as $personType => $namePropID) { if (isset($arUserProfiles[$personType])) { foreach ($arUserProfiles[$personType] as $profiles) { if (isset($profiles["VALUES"][$namePropID]) && $profiles["VALUES"][$namePropID] != '') { $arUserSendName[$personType] = trim($profiles["VALUES"][$namePropID]); break; } } } } } else { $arUserSendName[] = $userName; } // select of e-mail to be sent $arUserSendMail = array(); if (!empty($arUserProfiles) && !empty($arMailProp)) { foreach ($arMailProp as $personType => $mailPropID) { if (isset($arUserProfiles[$personType])) { foreach ($arUserProfiles[$personType] as $profiles) { if (isset($profiles["VALUES"][$mailPropID]) && $profiles["VALUES"][$mailPropID] != '') { $arUserSendMail[$personType] = trim($profiles["VALUES"][$mailPropID]); break; } } } else { $arUserSendMail[$personType] = $arUser["EMAIL"]; } } } else { $arUserSendMail[] = $arUser["EMAIL"]; } /** @var $productProvider IBXSaleProductProvider */ if ($productProvider = CSaleBasket::GetProductProvider($arItemsBasket)) { $arCallback = $productProvider::GetProductData(array("PRODUCT_ID" => $ID, "QUANTITY" => 1, "RENEWAL" => "N", "USER_ID" => $USER_ID, "SITE_ID" => $LID, "BASKET_ID" => $arItemsBasket["ID"])); } elseif (isset($arItemsBasket["CALLBACK_FUNC"]) && !empty($arItemsBasket["CALLBACK_FUNC"])) { $arCallback = CSaleBasket::ExecuteCallbackFunction(trim($arItemsBasket["CALLBACK_FUNC"]), $MODULE, $ID, 1, "N", $USER_ID, $LID); } if (!empty($arCallback)) { $arCallback["QUANTITY"] = 1; $arCallback["DELAY"] = "N"; $arCallback["SUBSCRIBE"] = "N"; CSaleBasket::Update($arItemsBasket["ID"], $arCallback); } //send mail if (!empty($arUserSendMail) && !empty($arCallback)) { $eventName = "SALE_SUBSCRIBE_PRODUCT"; $event = new CEvent(); foreach ($arUserSendMail as $personType => $mail) { $checkMail = strtolower($mail); if (isset($sendEmailList[$checkMail])) { continue; } $sendName = $userName; if (isset($arUserSendName[$personType]) && $arUserSendName[$personType] != '') { $sendName = $arUserSendName[$personType]; } $arFields = array("EMAIL" => $mail, "USER_NAME" => $sendName, "NAME" => $arCallback["NAME"], "PAGE_URL" => CHTTP::URN2URI($arCallback["DETAIL_PAGE_URL"]), "SALE_EMAIL" => COption::GetOptionString("sale", "order_email", "order@" . $_SERVER["SERVER_NAME"])); $event->Send($eventName, $LID, $arFields, "N"); $sendEmailList[$checkMail] = true; } } } // end if bSend } // end while $arItemsBasket return true; }
} $arResult['PERMS']['ADD'] = !$CCrmPerms->HavePerm('CONTACT', BX_CRM_PERM_NONE, 'ADD'); $arResult['PERMS']['WRITE'] = !$CCrmPerms->HavePerm('CONTACT', BX_CRM_PERM_NONE, 'WRITE'); $arResult['PERMS']['DELETE'] = !$CCrmPerms->HavePerm('CONTACT', BX_CRM_PERM_NONE, 'DELETE'); $bDeal = !$CCrmPerms->HavePerm('DEAL', BX_CRM_PERM_NONE, 'WRITE'); $arResult['PERM_DEAL'] = $bDeal; $bQuote = !$CCrmContact->cPerms->HavePerm('QUOTE', BX_CRM_PERM_NONE, 'ADD'); $arResult['PERM_QUOTE'] = $bQuote; $bInvoice = !$CCrmPerms->HavePerm('INVOICE', BX_CRM_PERM_NONE, 'ADD'); $arResult['PERM_INVOICE'] = $bInvoice; $now = time() + CTimeZone::GetOffset(); foreach ($arResult['CONTACT'] as &$arContact) { if (!empty($arContact['PHOTO'])) { if ($isInExportMode) { if ($arFile = CFile::GetFileArray($arContact['PHOTO'])) { $arContact['PHOTO'] = CHTTP::URN2URI($arFile["SRC"]); } } else { $arFileTmp = CFile::ResizeImageGet($arContact['PHOTO'], array('width' => 50, 'height' => 50), BX_RESIZE_IMAGE_PROPORTIONAL, false); $arContact['PHOTO'] = CFile::ShowImage($arFileTmp['src'], 50, 50, 'border=0'); } } $arContact['PATH_TO_COMPANY_SHOW'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_COMPANY_SHOW'], array('company_id' => $arContact['COMPANY_ID'])); if ($bDeal) { $arContact['PATH_TO_DEAL_EDIT'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_DEAL_EDIT'], array('deal_id' => 0)), array('contact_id' => $arContact['ID'], 'company_id' => $arContact['COMPANY_ID'])); } $arContact['PATH_TO_CONTACT_SHOW'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CONTACT_SHOW'], array('contact_id' => $arContact['ID'])); $arContact['PATH_TO_CONTACT_EDIT'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CONTACT_EDIT'], array('contact_id' => $arContact['ID'])); $arContact['PATH_TO_CONTACT_COPY'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CONTACT_EDIT'], array('contact_id' => $arContact['ID'])), array('copy' => 1)); $arContact['PATH_TO_CONTACT_DELETE'] = CHTTP::urlAddParams($bInternal ? $APPLICATION->GetCurPage() : $arParams['PATH_TO_CONTACT_LIST'], array('action_' . $arResult['GRID_ID'] => 'delete', 'ID' => $arContact['ID'], 'sessid' => $arResult['SESSION_ID'])); $arContact['PATH_TO_USER_PROFILE'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_USER_PROFILE'], array('user_id' => $arContact['ASSIGNED_BY']));
$found = true; break; } } if ($found) CFileMan::SaveMenu(Array($Params['site'], $Params['menu']['menuFile']), $arMenu["aMenuLinks"], $arMenu["sMenuTemplate"]); } } if (isset($Params['public']) && $Params['public'] == 'Y') { ?> <script type="text/javascript"> window.location = '<?php echo CUtil::JSEscape(CHTTP::URN2URI(GetDirPath($Params['path']))); ?> '; </script> <? } $GLOBALS["CACHE_MANAGER"]->CleanDir("menu"); } function UndoEditFile($Params, $type) { global $APPLICATION; // Restore file if (strlen($Params['absPath']) > 0)
function NewMediaObject($params) { global $USER, $DB; $blogId = IntVal(CBlogMetaWeblog::DecodeParams($params[0]["#"]["value"][0]["#"])); $user = CBlogMetaWeblog::DecodeParams($params[1]["#"]["value"][0]["#"]); $password = CBlogMetaWeblog::DecodeParams($params[2]["#"]["value"][0]["#"]); $arImage = $params[3]["#"]["value"][0]["#"]["struct"][0]["#"]["member"]; foreach ($arImage as $val) { $arImageInfo[$val["#"]["name"][0]["#"]] = CBlogMetaWeblog::DecodeParams($val["#"]["value"][0]["#"]); } if (CBlogMetaWeblog::Authorize($user, $password)) { $result = ''; $userId = $USER->GetID(); if (IntVal($blogId) > 0) { $dbBlog = CBlog::GetList(array(), array("GROUP_SITE_ID" => SITE_ID, "ACTIVE" => "Y", "ID" => $blogId), false, false, array("ID", "URL", "NAME")); if ($arBlog = $dbBlog->GetNext()) { $filename = trim(str_replace("\\", "/", trim($arImageInfo["name"])), "/"); $DIR_NAME = CTempFile::GetDirectoryName(12); $FILE_NAME = rel2abs($DIR_NAME, "/" . $filename); if (strlen($FILE_NAME) > 1 && $FILE_NAME === "/" . $filename) { $ABS_FILE_NAME = $DIR_NAME . $FILE_NAME; } else { $ABS_FILE_NAME = ""; } CheckDirPath($DIR_NAME); if (strlen($ABS_FILE_NAME) > 0 && ($fp = fopen($ABS_FILE_NAME, "ab"))) { $result = fwrite($fp, $arImageInfo["bits"]); if ($result !== (function_exists("mb_strlen") ? mb_strlen($arImageInfo["bits"], 'latin1') : strlen($arImageInfo["bits"]))) { return '<fault> <value> <struct> <member> <name>faultCode</name> <value><int>3</int></value> </member> <member> <name>faultString</name> <value><string>Error on saving media object</string></value> </member> </struct> </value> </fault>'; } fclose($fp); } else { return '<fault> <value> <struct> <member> <name>faultCode</name> <value><int>3</int></value> </member> <member> <name>faultString</name> <value><string>Error on saving media object</string></value> </member> </struct> </value> </fault>'; } $arFields = array("BLOG_ID" => $arBlog["ID"], "USER_ID" => $userId, "=TIMESTAMP_X" => $DB->GetNowFunction(), "FILE_ID" => array("name" => $arImageInfo["name"], "tmp_name" => $ABS_FILE_NAME, "MODULE_ID" => "blog", "type" => $arImageInfo["type"])); $imageId = CBlogImage::Add($arFields); $arImg = CBlogImage::GetByID($imageId); $arFile = CFile::GetFileArray($arImg["FILE_ID"]); $path = $arFile["SRC"]; $dbSite = CSite::GetByID(SITE_ID); $arSite = $dbSite->Fetch(); $serverName = htmlspecialcharsEx($arSite["SERVER_NAME"]); if (strlen($serverName) <= 0) { if (defined("SITE_SERVER_NAME") && strlen(SITE_SERVER_NAME) > 0) { $serverName = SITE_SERVER_NAME; } else { $serverName = COption::GetOptionString("main", "server_name", "www.bitrixsoft.com"); } } if (strlen($path) > 0) { return '<params> <param> <value> <struct> <member> <name>url</name> <value> <string>' . CHTTP::URN2URI($path, $serverName) . '</string> </value> </member> </struct> </value> </param> </params>'; } } } return '<fault> <value> <struct> <member> <name>faultCode</name> <value><int>3</int></value> </member> <member> <name>faultString</name> <value><string>Error on saving media object</string></value> </member> </struct> </value> </fault>'; } else { return '<fault> <value> <struct> <member> <name>faultCode</name> <value><int>3</int></value> </member> <member> <name>faultString</name> <value><string>' . $arAuthResult["MESSAGE"] . '</string></value> </member> </struct> </value> </fault>'; } }
public function sendMessage($uid, $message) { $vk = $this->getEntityOAuth(); if (IsModuleInstalled('bitrix24') && defined('BX24_HOST_NAME')) { $redirect_uri = self::CONTROLLER_URL . "/redirect.php"; } else { $redirect_uri = \CHTTP::URN2URI($GLOBALS['APPLICATION']->GetCurPage()) . '?auth_service_id=' . self::ID; } if ($vk->GetAccessToken($redirect_uri) !== false) { $res = $vk->sendMessage($uid, $message); } return $res; }