本文整理汇总了PHP中CFile::getFileArray方法的典型用法代码示例。如果您正苦于以下问题:PHP CFile::getFileArray方法的具体用法?PHP CFile::getFileArray怎么用?PHP CFile::getFileArray使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFile
的用法示例。
在下文中一共展示了CFile::getFileArray方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: prepareUserData
function prepareUserData($user)
{
$user['DETAIL_URL'] = COption::getOptionString('intranet', 'search_user_url', '/user/#ID#/');
$user['DETAIL_URL'] = str_replace(array('#ID#', '#USER_ID#'), array($user['ID'], $user['ID']), $user['DETAIL_URL']);
$user['PHOTO_THUMB'] = '<img src="/bitrix/components/bitrix/main.user.link/templates/.default/images/nopic_30x30.gif" border="0" alt="" width="32" height="32">';
if (intval($user['PERSONAL_PHOTO']) > 0) {
$imageFile = CFile::getFileArray($user['PERSONAL_PHOTO']);
if ($imageFile !== false) {
$arFileTmp = CFile::resizeImageGet($imageFile, array('width' => 42, 'height' => 42), BX_RESIZE_IMAGE_EXACT, false);
$user['PHOTO_THUMB'] = CFile::showImage($arFileTmp['src'], 32, 32);
}
}
return $user;
}
示例2: getSrc
public static function getSrc($avatarId, $width = 21, $height = 21)
{
static $cache = array();
if (empty($avatarId)) {
return null;
}
$avatarId = (int) $avatarId;
$key = $avatarId . " {$width} {$height}";
if (!isset($cache[$key])) {
$src = false;
if ($avatarId > 0) {
/** @noinspection PhpDynamicAsStaticMethodCallInspection */
$imageFile = \CFile::getFileArray($avatarId);
if ($imageFile !== false) {
/** @noinspection PhpDynamicAsStaticMethodCallInspection */
$fileTmp = \CFile::resizeImageGet($imageFile, array("width" => $width, "height" => $height), BX_RESIZE_IMAGE_EXACT, false);
$src = $fileTmp["src"];
}
$cache[$key] = $src;
}
}
return $cache[$key];
}
示例3: GetDocument
/**
* @param string $documentId - document id.
* @return array - document fields array.
*/
public function GetDocument($documentId)
{
$documentId = intval($documentId);
if ($documentId <= 0) {
throw new CBPArgumentNullException("documentId");
}
$result = null;
$dbDocumentList = CIBlockElement::getList(array(), array("ID" => $documentId, "SHOW_NEW" => "Y", "SHOW_HISTORY" => "Y"));
if ($objDocument = $dbDocumentList->getNextElement(false, true)) {
$fields = $objDocument->getFields();
$properties = $objDocument->getProperties();
foreach ($fields as $fieldKey => $fieldValue) {
if (substr($fieldKey, 0, 1) == "~") {
continue;
}
$result[$fieldKey] = $fieldValue;
if (in_array($fieldKey, array("MODIFIED_BY", "CREATED_BY"))) {
$result[$fieldKey] = "user_" . $fieldValue;
$result[$fieldKey . "_PRINTABLE"] = $fields[$fieldKey == "MODIFIED_BY" ? "USER_NAME" : "CREATED_USER_NAME"];
} elseif (in_array($fieldKey, array("PREVIEW_TEXT", "DETAIL_TEXT"))) {
if ($fields[$fieldKey . "_TYPE"] == "html") {
$result[$fieldKey] = HTMLToTxt($fields["~" . $fieldKey]);
}
}
}
foreach ($properties as $propertyKey => $propertyValue) {
if (strlen($propertyValue["USER_TYPE"]) > 0) {
if ($propertyValue["USER_TYPE"] == "UserID" || $propertyValue["USER_TYPE"] == "employee" && COption::getOptionString("bizproc", "employee_compatible_mode", "N") != "Y") {
$propertyValueArray = $propertyValue["VALUE"];
$propertyKeyArray = isset($propertyValue["VALUE_ENUM_ID"]) ? $propertyValue["VALUE_ENUM_ID"] : $propertyValue["PROPERTY_VALUE_ID"];
if (!is_array($propertyValueArray)) {
$userQuery = CUser::getByID($propertyValueArray);
if ($userArray = $userQuery->getNext()) {
$result["PROPERTY_" . $propertyKey] = "user_" . intval($propertyValueArray);
$result["PROPERTY_" . $propertyKey . "_PRINTABLE"] = "(" . $userArray["LOGIN"] . ")" . (strlen($userArray["NAME"]) > 0 || strlen($userArray["LAST_NAME"]) > 0 ? " " : "") . $userArray["NAME"] . (strlen($userArray["NAME"]) > 0 && strlen($userArray["LAST_NAME"]) > 0 ? " " : "") . $userArray["LAST_NAME"];
}
} else {
for ($i = 0, $cnt = count($propertyValueArray); $i < $cnt; $i++) {
$userQuery = CUser::getByID($propertyValueArray[$i]);
if ($userArray = $userQuery->getNext()) {
$result["PROPERTY_" . $propertyKey][$propertyKeyArray[$i]] = "user_" . intval($propertyValueArray[$i]);
$result["PROPERTY_" . $propertyKey . "_PRINTABLE"][$propertyKeyArray[$i]] = "(" . $userArray["LOGIN"] . ")" . (strlen($userArray["NAME"]) > 0 || strlen($userArray["LAST_NAME"]) > 0 ? " " : "") . $userArray["NAME"] . (strlen($userArray["NAME"]) > 0 && strlen($userArray["LAST_NAME"]) > 0 ? " " : "") . $userArray["LAST_NAME"];
}
}
}
} else {
$result["PROPERTY_" . $propertyKey] = $propertyValue["VALUE"];
}
} elseif ($propertyValue["PROPERTY_TYPE"] == "L") {
$propertyValueArray = $propertyValue["VALUE"];
$propertyKeyArray = $propertyValue["VALUE_XML_ID"];
if (!is_array($propertyValueArray)) {
$propertyValueArray = array($propertyValueArray);
$propertyKeyArray = array($propertyKeyArray);
}
for ($i = 0, $cnt = count($propertyValueArray); $i < $cnt; $i++) {
$result["PROPERTY_" . $propertyKey][$propertyKeyArray[$i]] = $propertyValueArray[$i];
}
} elseif ($propertyValue["PROPERTY_TYPE"] == "F") {
$propertyValueArray = $propertyValue["VALUE"];
if (!is_array($propertyValueArray)) {
$propertyValueArray = array($propertyValueArray);
}
foreach ($propertyValueArray as $v) {
$userArray = CFile::getFileArray($v);
if ($userArray) {
$result["PROPERTY_" . $propertyKey][intval($v)] = $userArray["SRC"];
$result["PROPERTY_" . $propertyKey . "_printable"][intval($v)] = "[url=/bitrix/tools/bizproc_show_file.php?f=" . htmlspecialcharsbx($userArray["FILE_NAME"]) . "&i=" . $v . "&h=" . md5($userArray["SUBDIR"]) . "]" . htmlspecialcharsbx($userArray["ORIGINAL_NAME"]) . "[/url]";
}
}
} else {
$result["PROPERTY_" . $propertyKey] = $propertyValue["VALUE"];
}
}
$documentFields = static::getDocumentFields(static::getDocumentType($documentId));
foreach ($documentFields as $fieldKey => $field) {
if (!array_key_exists($fieldKey, $result)) {
$result[$fieldKey] = null;
}
}
}
return $result;
}
示例4: convertNewServiceToOld
public static function convertNewServiceToOld($service, $sid = false)
{
if (!isset($service["CONFIG"]["MAIN"]["SID"])) {
return false;
}
self::initHandlers();
$handlers = self::getRegisteredHandlers("SID");
if ($sid !== false) {
$service["SID"] = $sid;
} else {
$service["SID"] = $service["CONFIG"]["MAIN"]["SID"];
}
$service["TAX_RATE"] = $service["CONFIG"]["MAIN"]["MARGIN_VALUE"];
//todo: %, CURRENCY
$service["INSTALLED"] = 'Y';
$service["BASE_CURRENCY"] = $service["CURRENCY"];
$service["SETTINGS"] = $service["CONFIG"]["MAIN"]["OLD_SETTINGS"];
$service["HANDLER"] = $handlers[$service["SID"]]["HANDLER"];
if (intval($service["LOGOTIP"]) > 0) {
$service["LOGOTIP"] = \CFile::getFileArray($service["LOGOTIP"]);
}
$siteId = false;
if (isset($service["ID"]) && intval($service["ID"]) > 0) {
$restrictions = \Bitrix\Sale\Delivery\Services\Manager::getRestrictionsByDeliveryId($service["ID"]);
foreach ($restrictions as $restriction) {
if ($restriction["CLASS_NAME"] == '\\Bitrix\\Sale\\Delivery\\Restrictions\\BySite' && !empty($restriction["PARAMS"]["SITE_ID"])) {
if (is_array($restriction["PARAMS"]["SITE_ID"])) {
reset($restriction["PARAMS"]["SITE_ID"]);
$siteId = current($restriction["PARAMS"]["SITE_ID"]);
} else {
$siteId = $restriction["PARAMS"]["SITE_ID"];
}
break;
}
}
}
if (!$siteId) {
$siteId = Helper::getDefaultSiteId();
}
$service["CONFIG"] = self::createConfig($handlers[$service["SID"]], $service["SETTINGS"], $siteId);
$service["SETTINGS"] = unserialize($service["SETTINGS"]);
$service["PROFILES"] = array();
if (isset($service["ID"]) && intval($service["ID"]) > 0) {
foreach (Manager::getByParentId($service["ID"]) as $profile) {
$profileId = $profile["CONFIG"]["MAIN"]["PROFILE_ID"];
$profileParams = array("TITLE" => $profile["NAME"], "DESCRIPTION" => $profile["DESCRIPTION"], "TAX_RATE" => $service["CONFIG"]["MAIN"]["MARGIN_VALUE"], "ACTIVE" => $profile["ACTIVE"]);
$restrictions = Manager::getRestrictionsByDeliveryId($profile["ID"]);
foreach ($restrictions as $restriction) {
switch ($restriction["CLASS_NAME"]) {
case '\\Bitrix\\Sale\\Delivery\\Restrictions\\ByWeight':
$profileParams["RESTRICTIONS_WEIGHT"] = array($restriction["PARAMS"]["MIN_WEIGHT"], $restriction["PARAMS"]["MAX_WEIGHT"]);
break;
case '\\Bitrix\\Sale\\Delivery\\Restrictions\\ByPrice':
$profileParams["RESTRICTIONS_SUM"] = array($restriction["PARAMS"]["MIN_PRICE"], $restriction["PARAMS"]["MAX_PRICE"]);
break;
case '\\Bitrix\\Sale\\Delivery\\Restrictions\\ByDimensions':
$profileParams["RESTRICTIONS_DIMENSIONS"] = array($restriction["PARAMS"]["LENGTH"], $restriction["PARAMS"]["WIDTH"], $restriction["PARAMS"]["HEIGHT"]);
$profileParams["RESTRICTIONS_MAX_SIZE"] = $restriction["PARAMS"]["MAX_DIMENSION"];
$profileParams["RESTRICTIONS_DIMENSIONS_SUM"] = $restriction["PARAMS"]["MAX_DIMENSIONS_SUM"];
break;
default:
break;
}
}
$service["PROFILES"][$profileId] = $profileParams;
}
}
unset($service["CODE"]);
if (strlen($service["SID"]) > 0 && isset($handlers[$service["SID"]])) {
$result = array_merge($handlers[$service["SID"]], $service);
} else {
$result = $service;
}
return $result;
}
示例5: createAvatar
/**
* @param $fields
* @param $params
* @param $siteId
* @return string|null
*/
public static function createAvatar($fields, $params = array(), $siteId = SITE_ID)
{
if (!isset($params['AVATAR_SIZE'])) {
$params['AVATAR_SIZE'] = 30;
}
if (CModule::IncludeModule('socialnetwork')) {
return CSocNetLogTools::FormatEvent_CreateAvatar($fields, $params, '', $siteId);
}
static $cachedAvatars = array();
if (intval($fields['PERSONAL_PHOTO']) > 0) {
if (empty($cachedAvatars[$params['AVATAR_SIZE']][$fields['PERSONAL_PHOTO']])) {
$imageFile = CFile::getFileArray($fields['PERSONAL_PHOTO']);
if ($imageFile !== false) {
$file = CFile::resizeImageGet($imageFile, array("width" => $params['AVATAR_SIZE'], "height" => $params['AVATAR_SIZE']), BX_RESIZE_IMAGE_EXACT, false);
$avatarPath = $file['src'];
$cachedAvatars[$params['AVATAR_SIZE']][$fields['PERSONAL_PHOTO']] = $avatarPath;
}
}
}
return empty($cachedAvatars[$params['AVATAR_SIZE']][$fields['PERSONAL_PHOTO']]) ? null : $cachedAvatars[$params['AVATAR_SIZE']][$fields['PERSONAL_PHOTO']];
}
示例6: GetDocument
/**
* @param string $documentId - document id.
* @return array - document fields array.
*/
public function GetDocument($documentId)
{
$documentId = intval($documentId);
if ($documentId <= 0) {
throw new CBPArgumentNullException("documentId");
}
$result = null;
$dbDocumentList = CIBlockElement::getList(array(), array("ID" => $documentId, "SHOW_NEW" => "Y", "SHOW_HISTORY" => "Y"));
if ($objDocument = $dbDocumentList->getNextElement(false, true)) {
$fields = $objDocument->getFields();
$properties = $objDocument->getProperties();
foreach ($fields as $fieldKey => $fieldValue) {
if (substr($fieldKey, 0, 1) == "~") {
continue;
}
$result[$fieldKey] = $fieldValue;
if (in_array($fieldKey, array("MODIFIED_BY", "CREATED_BY"))) {
$result[$fieldKey] = "user_" . $fieldValue;
$result[$fieldKey . "_PRINTABLE"] = $fields[$fieldKey == "MODIFIED_BY" ? "USER_NAME" : "CREATED_USER_NAME"];
} elseif (in_array($fieldKey, array("PREVIEW_TEXT", "DETAIL_TEXT"))) {
if ($fields[$fieldKey . "_TYPE"] == "html") {
$result[$fieldKey] = HTMLToTxt($fields["~" . $fieldKey]);
}
}
}
foreach ($properties as $propertyKey => $propertyValue) {
if (strlen($propertyValue["USER_TYPE"]) > 0) {
if ($propertyValue["USER_TYPE"] == "UserID" || $propertyValue["USER_TYPE"] == "employee" && COption::getOptionString("bizproc", "employee_compatible_mode", "N") != "Y") {
if (!is_array($propertyValue["VALUE"])) {
$propertyValue["VALUE"] = array($propertyValue["VALUE"]);
}
$listUsers = implode(' | ', $propertyValue["VALUE"]);
$userQuery = CUser::getList($by = 'ID', $order = 'ASC', array('ID' => $listUsers), array('FIELDS' => array('ID', 'LOGIN', 'NAME', 'LAST_NAME')));
while ($user = $userQuery->fetch()) {
$result["PROPERTY_" . $propertyKey][$user['ID']] = "user_" . intval($user['ID']);
$result["PROPERTY_" . $propertyKey . "_PRINTABLE"][$user['ID']] = "(" . $user["LOGIN"] . ")" . (strlen($user["NAME"]) > 0 || strlen($user["LAST_NAME"]) > 0 ? " " : "") . $user["NAME"] . (strlen($user["NAME"]) > 0 && strlen($user["LAST_NAME"]) > 0 ? " " : "") . $user["LAST_NAME"];
}
} elseif ($propertyValue["USER_TYPE"] == "DiskFile") {
if (is_array($propertyValue["VALUE"])) {
if ($propertyValue["MULTIPLE"] == "Y") {
$propertyValue["VALUE"] = current($propertyValue["VALUE"]);
}
foreach ($propertyValue["VALUE"] as $attachedId) {
$userType = \CIBlockProperty::getUserType($propertyValue['USER_TYPE']);
$fileId = null;
if (array_key_exists('GetObjectId', $userType)) {
$fileId = call_user_func_array($userType['GetObjectId'], array($attachedId));
}
if (!$fileId) {
continue;
}
$printableUrl = '';
if (array_key_exists('GetUrlAttachedFileElement', $userType)) {
$printableUrl = call_user_func_array($userType['GetUrlAttachedFileElement'], array($documentId, $fileId));
}
$result["PROPERTY_" . $propertyKey][$attachedId] = $fileId;
$result["PROPERTY_" . $propertyKey . "_PRINTABLE"][$attachedId] = $printableUrl;
}
} else {
continue;
}
} else {
$result["PROPERTY_" . $propertyKey] = $propertyValue["VALUE"];
}
} elseif ($propertyValue["PROPERTY_TYPE"] == "L") {
$propertyValueArray = $propertyValue["VALUE"];
$propertyKeyArray = $propertyValue["VALUE_XML_ID"];
if (!is_array($propertyValueArray)) {
$propertyValueArray = array($propertyValueArray);
$propertyKeyArray = array($propertyKeyArray);
}
for ($i = 0, $cnt = count($propertyValueArray); $i < $cnt; $i++) {
$result["PROPERTY_" . $propertyKey][$propertyKeyArray[$i]] = $propertyValueArray[$i];
}
} elseif ($propertyValue["PROPERTY_TYPE"] == "F") {
$propertyValueArray = $propertyValue["VALUE"];
if (!is_array($propertyValueArray)) {
$propertyValueArray = array($propertyValueArray);
}
foreach ($propertyValueArray as $v) {
$userArray = CFile::getFileArray($v);
if ($userArray) {
$result["PROPERTY_" . $propertyKey][intval($v)] = $userArray["SRC"];
$result["PROPERTY_" . $propertyKey . "_printable"][intval($v)] = "[url=/bitrix/tools/bizproc_show_file.php?f=" . urlencode($userArray["FILE_NAME"]) . "&i=" . $v . "&h=" . md5($userArray["SUBDIR"]) . "]" . htmlspecialcharsbx($userArray["ORIGINAL_NAME"]) . "[/url]";
}
}
} else {
$result["PROPERTY_" . $propertyKey] = $propertyValue["VALUE"];
}
}
$documentFields = static::getDocumentFields(static::getDocumentType($documentId));
foreach ($documentFields as $fieldKey => $field) {
if (!array_key_exists($fieldKey, $result)) {
$result[$fieldKey] = null;
}
}
//.........这里部分代码省略.........
示例7: setMessageLiveFeed
public static function setMessageLiveFeed($users, $elementId, $workflowId, $flagCompleteProcess)
{
$elementId = intval($elementId);
$elementObject = CIBlockElement::getList(array(), array('ID' => $elementId), false, false, array('ID', 'CREATED_BY', 'IBLOCK_NAME', 'NAME', 'IBLOCK_ID', 'LANG_DIR'));
$element = $elementObject->fetch();
if (!CLists::getLiveFeed($element["IBLOCK_ID"])) {
return false;
}
$params = serialize(array("ELEMENT_NAME" => $element['NAME']));
$element['NAME'] = preg_replace_callback('#^[^\\[\\]]+?\\[(\\d+)\\]#i', function ($matches) {
$userId = $matches[1];
$db = CUser::GetByID($userId);
if ($ar = $db->GetNext()) {
$ix = randString(5);
return '<a class="feed-post-user-name" id="bp_' . $userId . '_' . $ix . '" href="/company/personal/user/' . $userId . '/"
bx-post-author-id="' . $userId . '">' . CUser::FormatName(CSite::GetNameFormat(false), $ar, false, false) . '</a>
<script type="text/javascript">if (BX.tooltip) BX.tooltip(\'' . $userId . '\', "bp_' . $userId . '_' . $ix . '", "");</script>';
}
return $matches[0];
}, $element['NAME']);
$path = rtrim($element['LANG_DIR'], '/');
$urlElement = $path . COption::GetOptionString('lists', 'livefeed_url') . '?livefeed=y&list_id=' . $element["IBLOCK_ID"] . '&element_id=' . $elementId;
$createdBy = $element['CREATED_BY'];
if (!Loader::includeModule('socialnetwork') || $createdBy <= 0) {
return false;
}
$sourceId = CBPStateService::getWorkflowIntegerId($workflowId);
$logId = 0;
$userObject = CUser::getByID($createdBy);
$siteId = array();
$siteObject = CSite::getList($by = "sort", $order = "desc", array("ACTIVE" => "Y"));
while ($site = $siteObject->fetch()) {
$siteId[] = $site['LID'];
}
if ($userObject->fetch()) {
global $DB;
$soFields = array('ENTITY_TYPE' => SONET_LISTS_NEW_POST_ENTITY, 'EVENT_ID' => 'lists_new_element', 'ENTITY_ID' => 1, '=LOG_UPDATE' => $DB->currentTimeFunction(), 'SOURCE_ID' => $sourceId, 'USER_ID' => $createdBy, 'MODULE_ID' => 'lists', 'TITLE_TEMPLATE' => $urlElement, 'TITLE' => $element['IBLOCK_NAME'], 'PARAMS' => $params, 'MESSAGE' => $workflowId, 'CALLBACK_FUNC' => false, 'SITE_ID' => $siteId, 'ENABLE_COMMENTS' => 'Y', 'RATING_TYPE_ID' => 'LISTS_NEW_ELEMENT', 'RATING_ENTITY_ID' => $sourceId, 'URL' => '#SITE_DIR#' . COption::GetOptionString('socialnetwork', 'user_page', false, SITE_ID) . 'log/');
$logObject = CSocNetLog::getList(array(), array('ENTITY_TYPE' => $soFields['ENTITY_TYPE'], 'ENTITY_ID' => $soFields['ENTITY_ID'], 'EVENT_ID' => $soFields['EVENT_ID'], 'SOURCE_ID' => $soFields['SOURCE_ID']));
$iblockPicture = CIBlock::getArrayByID($element['IBLOCK_ID'], 'PICTURE');
$imageFile = CFile::getFileArray($iblockPicture);
if ($imageFile !== false) {
$imageFile = CFile::ResizeImageGet($imageFile, array("width" => 36, "height" => 30), BX_RESIZE_IMAGE_PROPORTIONAL, false);
}
if (empty($imageFile['src'])) {
$imageFile['src'] = '/bitrix/images/lists/default.png';
}
$soFields['TEXT_MESSAGE'] = '
<span class="bp-title-desc">
<span class="bp-title-desc-icon">
<img src="' . $imageFile['src'] . '" width="36" height="30" border="0" />
</span>
' . $element['NAME'] . '
</span>
';
if ($log = $logObject->fetch()) {
if (intval($log['ID']) > 0) {
if (empty($users)) {
CSocNetLog::update($log['ID'], $soFields);
} else {
$activeUsers = CBPTaskService::getWorkflowParticipants($workflowId);
$rights = self::getRights($activeUsers, $log['ID'], $createdBy, 'post');
$usersRight = self::getUserIdForRight($rights);
self::setSocnetFollow($usersRight, $log['ID'], 'Y', true);
/* Recipients tasks bp */
CSocNetLog::update($log['ID'], $soFields);
/* Increment the counter for participants */
CSocNetLogRights::deleteByLogID($log['ID']);
$rightsCounter = self::getRights($users, $log['ID'], $createdBy, 'counter');
CSocNetLogRights::add($log['ID'], $rightsCounter, false, false);
CSocNetLog::counterIncrement($log['ID'], $soFields['EVENT_ID'], false, 'L', false);
/* Return previous state rights */
CSocNetLogRights::deleteByLogID($log['ID']);
CSocNetLogRights::add($log['ID'], $rights, false, false);
self::setSocnetFollow($users, $log['ID'], 'Y');
self::setSocnetFollow($users, $log['ID'], 'N');
}
/* Completion of the process for the author */
if ($flagCompleteProcess) {
$activeUsers = CBPTaskService::getWorkflowParticipants($workflowId);
$rights = self::getRights($activeUsers, $log['ID'], $createdBy, 'post');
$usersRight = self::getUserIdForRight($rights);
/* Increment the counter for author */
$users[] = $createdBy;
CSocNetLogRights::deleteByLogID($log['ID']);
$rightsCounter = self::getRights($users, $log['ID'], $createdBy, 'counter');
CSocNetLogRights::add($log['ID'], $rightsCounter, false, false);
CSocNetLog::counterIncrement($log['ID'], $soFields['EVENT_ID'], false, 'L', false);
/* Return previous state rights */
CSocNetLogRights::deleteByLogID($log['ID']);
CSocNetLogRights::add($log['ID'], $rights, false, false);
self::setSocnetFollow($users, $log['ID'], 'Y');
self::setSocnetFollow($usersRight, $log['ID'], 'N');
}
}
} else {
$activeUsers = CBPTaskService::getWorkflowParticipants($workflowId);
$soFields['=LOG_DATE'] = $DB->currentTimeFunction();
$logId = CSocNetLog::add($soFields, false);
if (intval($logId) > 0) {
$rights = self::getRights($activeUsers, $logId, $createdBy, 'post');
//.........这里部分代码省略.........
示例8: getSections
public static function getSections($filter, $sort = array(), $cnt = false, $select = array())
{
CModule::includeModule('iblock');
$sections = array();
$rsSections = CIBlockSection::getList($sort, $filter, $cnt, $select);
while ($section = $rsSections->GetNext()) {
if (!empty($section['PICTURE'])) {
$section['PICTURE'] = CFile::getFileArray($section['PICTURE']);
}
if (!empty($section['DETAIL_PICTURE'])) {
$section['DETAIL_PICTURE'] = CFile::getFileArray($section['DETAIL_PICTURE']);
}
$sections[$section['ID']] = $section;
}
return $sections;
}
示例9: getPropsParams
protected static function getPropsParams($iblockId)
{
$arRes = array();
$bUseHLIblock = \Bitrix\Main\Loader::includeModule('highloadblock');
$rsProps = \CIBlockProperty::getList(array('SORT' => 'ASC', 'ID' => 'ASC'), array('IBLOCK_ID' => $iblockId, 'ACTIVE' => 'Y'));
while ($arProp = $rsProps->fetch()) {
if ($arProp['PROPERTY_TYPE'] == 'L' || $arProp['PROPERTY_TYPE'] == 'E' || $arProp['PROPERTY_TYPE'] == 'S' && $arProp['USER_TYPE'] == 'directory') {
if ($arProp['XML_ID'] == 'CML2_LINK') {
continue;
}
$arValues = array();
if ($arProp['PROPERTY_TYPE'] == 'L') {
$arValues = array();
$rsPropEnums = \CIBlockProperty::getPropertyEnum($arProp['ID']);
while ($arEnum = $rsPropEnums->fetch()) {
$arValues[$arEnum['VALUE']] = array('ID' => $arEnum['ID'], 'NAME' => $arEnum['VALUE'], 'PICT' => false);
}
} elseif ($arProp['PROPERTY_TYPE'] == 'E') {
$rsPropEnums = \CIBlockElement::getList(array('SORT' => 'ASC'), array('IBLOCK_ID' => $arProp['LINK_IBLOCK_ID'], 'ACTIVE' => 'Y'), false, false, array('ID', 'NAME', 'PREVIEW_PICTURE'));
while ($arEnum = $rsPropEnums->Fetch()) {
$arEnum['PREVIEW_PICTURE'] = \CFile::getFileArray($arEnum['PREVIEW_PICTURE']);
if (!is_array($arEnum['PREVIEW_PICTURE'])) {
$arEnum['PREVIEW_PICTURE'] = false;
}
if ($arEnum['PREVIEW_PICTURE'] !== false) {
$productImg = \CFile::resizeImageGet($arEnum['PREVIEW_PICTURE'], array('width' => 80, 'height' => 80), BX_RESIZE_IMAGE_PROPORTIONAL, false, false);
$arEnum['PREVIEW_PICTURE']['SRC'] = $productImg['src'];
}
$arValues[$arEnum['NAME']] = array('ID' => $arEnum['ID'], 'NAME' => $arEnum['NAME'], 'SORT' => $arEnum['SORT'], 'PICT' => $arEnum['PREVIEW_PICTURE']);
}
} elseif ($arProp['PROPERTY_TYPE'] == 'S' && $arProp['USER_TYPE'] == 'directory') {
if ($bUseHLIblock) {
$hlblock = HL\HighloadBlockTable::getList(array("filter" => array("TABLE_NAME" => $arProp["USER_TYPE_SETTINGS"]["TABLE_NAME"])))->fetch();
if ($hlblock) {
$entity = HL\HighloadBlockTable::compileEntity($hlblock);
$entity_data_class = $entity->getDataClass();
$rsData = $entity_data_class::getList();
while ($arData = $rsData->fetch()) {
$arValues[$arData['UF_XML_ID']] = array('ID' => $arData['ID'], 'NAME' => $arData['UF_NAME'], 'SORT' => $arData['UF_SORT'], 'FILE' => $arData['UF_FILE'], 'PICT' => '', 'XML_ID' => $arData['UF_XML_ID']);
}
}
}
}
if (!empty($arValues) && is_array($arValues)) {
$arRes[$arProp['ID']] = array('ID' => $arProp['ID'], 'CODE' => $arProp['CODE'], 'NAME' => $arProp['NAME'], 'TYPE' => $arProp['PROPERTY_TYPE'], 'ORDER' => array_keys($arValues), 'VALUES' => $arValues, 'SORT' => $arProp['SORT']);
}
}
if ($arProp['PROPERTY_TYPE'] == "S" && is_array($arRes[$arProp['ID']]['VALUES'])) {
foreach ($arRes[$arProp['ID']]['VALUES'] as $id => $value) {
$arTmpFile = \CFile::getFileArray($value["FILE"]);
$tmpImg = \CFile::resizeImageGet($arTmpFile, array('width' => 20, 'height' => 20), BX_RESIZE_IMAGE_PROPORTIONAL, false, false);
$arRes[$arProp['ID']]['VALUES'][$id]['PICT'] = $tmpImg['src'];
}
}
}
return $arRes;
}
示例10: getUserPictureSrc
private function getUserPictureSrc($photoId, $width = 21, $height = 21)
{
static $cache = array();
$photoId = (int) $photoId;
$key = $photoId . " {$width} {$height}";
if (isset($cache[$key])) {
$src = $cache[$key];
} else {
$src = false;
if ($photoId > 0) {
$imageFile = \CFile::getFileArray($photoId);
if ($imageFile !== false) {
$fileTmp = \CFile::resizeImageGet($imageFile, array("width" => $width, "height" => $height), BX_RESIZE_IMAGE_EXACT, false);
$src = $fileTmp["src"];
}
$cache[$key] = $src;
}
}
return $src;
}
示例11: getIconSrc
public static function getIconSrc($serviceName, $iconId = null)
{
if ($iconId) {
$icon = \CFile::getFileArray($iconId);
return $icon['SRC'];
} else {
$icons = array('bitrix24' => '/bitrix/images/mail/mailservice-icon/' . Localization\Loc::getMessage('mail_mailservice_bitrix24_icon'), 'gmail' => '/bitrix/images/mail/mailservice-icon/post-gmail-icon.png', 'icloud' => '/bitrix/images/mail/mailservice-icon/post-icloud-icon.png', 'outlook.com' => '/bitrix/images/mail/mailservice-icon/post-outlook-icon.png', 'office365' => '/bitrix/images/mail/mailservice-icon/post-office360-icon.png', 'yahoo' => '/bitrix/images/mail/mailservice-icon/post-yahoo-icon.png', 'aol' => '/bitrix/images/mail/mailservice-icon/post-aol-icon.png', 'yandex' => '/bitrix/images/mail/mailservice-icon/post-yandex-icon.png', 'mail.ru' => '/bitrix/images/mail/mailservice-icon/post-mail-icon.png', 'ukr.net' => '/bitrix/images/mail/mailservice-icon/post-ukrnet-icon.png', 'exchange' => '/bitrix/images/mail/mailservice-icon/post-exchange-icon.png', 'other' => '/bitrix/images/mail/mailservice-icon/post-imap-icon.png');
if ($icons[$serviceName]) {
return $icons[$serviceName];
}
}
}
示例12: restoreFromVersion
/**
* Restores file from the version.
*
* The method is similar with (@see Bitrix\Disk\File::addVersion()).
*
* @param Version $version Version which need to restore.
* @param int $createdBy Id of user.
* @return bool
*/
public function restoreFromVersion(Version $version, $createdBy)
{
$this->errorCollection->clear();
if ($version->getObjectId() != $this->id) {
$this->errorCollection->add(array(new Error(Loc::getMessage('DISK_FILE_MODEL_ERROR_COULD_NOT_RESTORE_FROM_ANOTHER_OBJECT'), self::ERROR_COULD_NOT_RESTORE_FROM_OBJECT)));
return false;
}
/** @noinspection PhpDynamicAsStaticMethodCallInspection */
$forkFileId = \CFile::copyFile($version->getFileId(), true);
if (!$forkFileId) {
$this->errorCollection->add(array(new Error(Loc::getMessage('DISK_FILE_MODEL_ERROR_COULD_NOT_COPY_FILE'), self::ERROR_COULD_NOT_COPY_FILE)));
return false;
}
/** @noinspection PhpDynamicAsStaticMethodCallInspection */
if ($this->addVersion(\CFile::getFileArray($forkFileId), $createdBy, true) === null) {
return false;
}
return true;
}
示例13: executeManagePage
private function executeManagePage()
{
global $USER, $APPLICATION;
$APPLICATION->setTitle(GetMessage('INTR_MAIL_MANAGE_PAGE_TITLE'));
CJSCore::Init(array('admin_interface'));
if (!$USER->isAdmin() && !$USER->canDoOperation('bitrix24_config')) {
$APPLICATION->AuthForm(GetMessage('ACCESS_DENIED'));
return;
}
$this->arParams['SERVICES'] = array();
$services = CIntranetMailSetupHelper::getMailServices();
foreach ($services as $service) {
if ($service['type'] == 'controller') {
$crDomains = CControllerClient::ExecuteEvent('OnMailControllerGetDomains', array());
if (!empty($crDomains['result']) && is_array($crDomains['result'])) {
$service['domains'] = $crDomains['result'];
$service['users'] = array();
foreach ($service['domains'] as $domain) {
$service['users'][$domain] = array();
}
$crUsers = CControllerClient::ExecuteEvent('OnMailControllerGetUsers', array());
if (!empty($crUsers['result']) && is_array($crUsers['result'])) {
foreach ($crUsers['result'] as $email) {
list($login, $domain) = explode('@', $email, 2);
if (isset($service['users'][$domain])) {
$service['users'][$domain][] = $login;
}
}
$dbMailboxes = CMailbox::getList(array('TIMESTAMP_X' => 'ASC'), array('ACTIVE' => 'Y', '!USER_ID' => 0, 'SERVICE_ID' => $service['id']));
while ($mailbox = $dbMailboxes->fetch()) {
list($login, $domain) = explode('@', $mailbox['LOGIN'], 2);
if (!empty($service['users'][$domain]) && ($key = array_search($login, $service['users'][$domain])) !== false) {
array_splice($service['users'][$domain], $key, 1);
}
}
}
$this->arParams['SERVICES'][] = $service;
}
}
if (in_array($service['type'], array('domain', 'crdomain'))) {
$result = self::checkDomainStatus(array('type' => $service['type'], 'domain' => $service['server'], 'token' => $service['token']), $error);
if (!empty($result['stage']) && $result['stage'] == 'added') {
$service['domains'] = array($service['server']);
$service['users'] = array($service['server'] => array());
if ($service['type'] == 'domain') {
$users = CMailDomain2::getDomainUsers($service['token'], $service['server'], $error);
if (!empty($users) && is_array($users)) {
$service['users'][$service['server']] = $users;
}
} else {
if ($service['type'] == 'crdomain') {
$crUsers = CControllerClient::ExecuteEvent('OnMailControllerGetMemberUsers', array('DOMAIN' => $service['server']));
if (!empty($crUsers['result']) && is_array($crUsers['result'])) {
$service['users'][$service['server']] = $crUsers['result'];
}
}
}
$dbMailboxes = CMailbox::getList(array('TIMESTAMP_X' => 'ASC'), array('ACTIVE' => 'Y', '!USER_ID' => 0, 'SERVICE_ID' => $service['id']));
while ($mailbox = $dbMailboxes->fetch()) {
list($login, $domain) = explode('@', $mailbox['LOGIN'], 2);
if (!empty($service['users'][$domain]) && ($key = array_search($login, $service['users'][$domain])) !== false) {
array_splice($service['users'][$domain], $key, 1);
}
}
$this->arParams['SERVICES'][] = $service;
}
}
}
$this->arResult['GRID_ID'] = 'manage_domain_grid';
$gridOptions = new CGridOptions($this->arResult['GRID_ID']);
$arSort = $gridOptions->getSorting(array('sort' => array('ID' => 'ASC'), 'vars' => array('by' => 'by', 'order' => 'order')));
$arNav = $gridOptions->getNavParams(array('nPageSize' => 50));
$arSortArg = each($arSort['sort']);
$arFilter = array('ACTIVE' => 'Y', '!UF_DEPARTMENT' => false);
if (isset($_REQUEST['act']) && $_REQUEST['act'] == 'search' && !empty($_REQUEST['FILTER'])) {
$this->arResult['FILTER'] = $_REQUEST['FILTER'];
$userIds = array();
$dbMailboxes = CMailbox::getList(array('TIMESTAMP_X' => 'ASC'), array('LID' => SITE_ID, 'ACTIVE' => 'Y', '!USER_ID' => 0, 'LOGIN' => $_REQUEST['FILTER']));
while ($mailbox = $dbMailboxes->fetch()) {
if (in_array($mailbox['SERVER_TYPE'], array('imap', 'controller', 'domain'))) {
$userIds[] = $mailbox['USER_ID'];
}
}
$arFilter['ID'] = empty($userIds) ? 0 : join('|', $userIds);
}
$dbUsers = CUser::GetList($arSortArg['key'], $arSortArg['value'], $arFilter, array('FIELDS' => array('ID', 'LOGIN', 'NAME', 'SECOND_NAME', 'LAST_NAME', 'PERSONAL_PHOTO', 'WORK_POSITION')));
$dbUsers->navStart($arNav['nPageSize']);
$arRows = array();
while ($user = $dbUsers->fetch()) {
$user['DETAIL_URL'] = COption::getOptionString('intranet', 'search_user_url', '/user/#ID#/');
$user['DETAIL_URL'] = str_replace(array('#ID#', '#USER_ID#'), array($user['ID'], $user['ID']), $user['DETAIL_URL']);
$user['PHOTO_THUMB'] = '<img src="/bitrix/components/bitrix/main.user.link/templates/.default/images/nopic_30x30.gif" border="0" alt="" width="32" height="32">';
if (intval($user['PERSONAL_PHOTO']) > 0) {
$imageFile = CFile::getFileArray($user['PERSONAL_PHOTO']);
if ($imageFile !== false) {
$arFileTmp = CFile::resizeImageGet($imageFile, array('width' => 42, 'height' => 42), BX_RESIZE_IMAGE_EXACT, false);
$user['PHOTO_THUMB'] = CFile::showImage($arFileTmp['src'], 32, 32);
}
}
$anchor_id = RandString(8);
//.........这里部分代码省略.........
示例14: updateFile
/**
* @param $name
* @param $targetElementId
* @param TmpFile $tmpFile
* @param array $data
* @return array|bool
* @throws AccessDeniedException
*/
public function updateFile($name, $targetElementId, TmpFile $tmpFile, array $data = array())
{
/** @var File $file */
$file = File::loadById($targetElementId);
if (!$file) {
$this->errorCollection->add(array(new Error("Could not " . __METHOD__ . " by id {$targetElementId}", 11154)));
$tmpFile->delete();
return false;
}
if (!$file->canUpdate($this->storage->getCurrentUserSecurityContext())) {
$tmpFile->delete();
throw new AccessDeniedException();
}
/** @var array $fileArray */
if ($tmpFile->isCloud() && $tmpFile->getContentType()) {
/** @noinspection PhpDynamicAsStaticMethodCallInspection */
$fileId = \CFile::saveFile(array('name' => $tmpFile->getFilename(), 'tmp_name' => $tmpFile->getAbsolutePath(), 'type' => $tmpFile->getContentType()), Driver::INTERNAL_MODULE_ID, true, true);
/** @noinspection PhpDynamicAsStaticMethodCallInspection */
$fileArray = \CFile::getFileArray($fileId);
if (!$fileArray) {
$this->errorCollection->add(array(new Error("Could not " . __METHOD__ . " getFileArray", 1115541)));
$tmpFile->delete();
return false;
}
if (!empty($data['originalTimestamp'])) {
$fileArray['UPDATE_TIME'] = DateTime::createFromTimestamp($this->convertFromExternalVersion($data['originalTimestamp']));
}
if ($file->addVersion($fileArray, $this->getUser()->getId())) {
$tmpFile->delete();
$this->loadFormattedFolderTreeAndBreadcrumbs();
return $this->formatFileToResponse($file);
} else {
\CFile::delete($fileId);
}
} else {
$fileArray = \CFile::makeFileArray($tmpFile->getAbsolutePath());
if (!$fileArray) {
$this->errorCollection->add(array(new Error("Could not " . __METHOD__ . " MakeFileArray", 11155)));
$tmpFile->delete();
return false;
}
if (!empty($data['originalTimestamp'])) {
$fileArray['UPDATE_TIME'] = DateTime::createFromTimestamp($this->convertFromExternalVersion($data['originalTimestamp']));
}
if ($file->uploadVersion($fileArray, $this->getUser()->getId())) {
$tmpFile->delete();
$this->loadFormattedFolderTreeAndBreadcrumbs();
return $this->formatFileToResponse($file);
}
}
$this->errorCollection->add(array(new Error("Could not " . __METHOD__ . ", uploadVersion", 11156)));
$this->errorCollection->add($file->getErrors());
$tmpFile->delete();
return false;
}