本文整理汇总了PHP中CCrmOwnerType::isDefined方法的典型用法代码示例。如果您正苦于以下问题:PHP CCrmOwnerType::isDefined方法的具体用法?PHP CCrmOwnerType::isDefined怎么用?PHP CCrmOwnerType::isDefined使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCrmOwnerType
的用法示例。
在下文中一共展示了CCrmOwnerType::isDefined方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getFileInfo
public static function getFileInfo($fileID, $checkPermissions = true, $options = null)
{
if (!Loader::includeModule('disk')) {
return null;
}
$fileID = (int) $fileID;
if ($fileID <= 0) {
return null;
}
/** @var File $file */
$file = File::loadById($fileID);
if (!$file) {
return null;
}
if (!is_array($options)) {
$options = array();
}
$ownerID = isset($options['OWNER_ID']) ? $options['OWNER_ID'] : 0;
$ownerTypeID = isset($options['OWNER_TYPE_ID']) ? $options['OWNER_TYPE_ID'] : \CCrmOwnerType::Undefined;
$canRead = true;
$viewUrl = '';
if ($ownerID > 0 && \CCrmOwnerType::isDefined($ownerTypeID)) {
$viewUrlParams = array('fileId' => $fileID, 'ownerTypeId' => $ownerTypeID, 'ownerId' => $ownerID);
if (isset($options['VIEW_PARAMS']) && is_array($options['VIEW_PARAMS'])) {
$viewUrlParams = array_merge($viewUrlParams, $options['VIEW_PARAMS']);
}
$viewUrl = \CHTTP::urlAddParams('/bitrix/tools/crm_show_file.php', $viewUrlParams);
if (isset($options['USE_ABSOLUTE_PATH']) && $options['USE_ABSOLUTE_PATH']) {
$viewUrl = \CCrmUrlUtil::ToAbsoluteUrl($viewUrl);
}
} elseif ($checkPermissions) {
$canRead = $file->canRead($file->getStorage()->getSecurityContext(\CCrmSecurityHelper::getCurrentUserID()));
if ($canRead) {
$viewUrl = Driver::getInstance()->getUrlManager()->getUrlForDownloadFile($file);
}
}
return array('ID' => $fileID, 'NAME' => $file->getName(), 'SIZE' => \CFile::FormatSize($file->getSize()), 'CAN_READ' => $canRead, 'VIEW_URL' => $viewUrl);
}