public static function formatAttach($linkParam)
 {
     $attach = null;
     if ($linkParam['TYPE'] == UrlPreview\UrlMetadataTable::TYPE_STATIC) {
         if (intval($linkParam['IMAGE_ID']) > 0) {
             $image = CFile::ResizeImageGet($linkParam['IMAGE_ID'], array('width' => 450, 'height' => 120), BX_RESIZE_IMAGE_PROPORTIONAL, false, false, true);
             $linkParam['IMAGE_ID'] = empty($image['src']) ? '' : $image['src'];
         } else {
             if (strlen($linkParam['IMAGE']) > 0) {
                 $linkParam['IMAGE_ID'] = $linkParam['IMAGE'];
             } else {
                 $linkParam['IMAGE_ID'] = '';
             }
         }
         $attach = new CIMMessageParamAttach($linkParam['ID'], CIMMessageParamAttach::CHAT);
         $attach->AddLink(array("NAME" => $linkParam['TITLE'], "DESC" => $linkParam['DESCRIPTION'], "LINK" => $linkParam['URL'], "PREVIEW" => $linkParam['IMAGE_ID']));
     } else {
         if (false && $linkParam['TYPE'] == UrlPreview\UrlMetadataTable::TYPE_DYNAMIC) {
             $attach = new CIMMessageParamAttach($linkParam['ID'], CIMMessageParamAttach::CHAT);
             $attach->AddHtml($linkParam['HTML']);
         }
     }
     return $attach;
 }
Beispiel #2
0
 protected static function notifyJoinFinish($userId)
 {
     if (count(static::$notifyStack) > 0 && Main\Loader::includeModule('im')) {
         $attach = new \CIMMessageParamAttach(null, \CIMMessageParamAttach::NORMAL);
         $count = 0;
         foreach (static::$notifyStack as $contactInfo) {
             if (++$count > static::NOTIFY_CONTACT_COUNT) {
                 $attach->AddHtml('<a href="' . str_replace("#USER_ID#", $userId, Option::get("intranet", "path_user", "/company/persona/user/#USER_ID#/")) . '">' . Loc::getMessage("SS_JOIN_NOTIFY_MORE", array("#NUM#" => count(static::$notifyStack) - $count + 1)) . '</a>');
                 break;
             } else {
                 $attachParams = array("NAME" => \CUser::FormatName(\CSite::GetNameFormat(), array("NAME" => $contactInfo["CONTACT_NAME"], "LAST_NAME" => $contactInfo["CONTACT_LAST_NAME"]), false, false));
                 if ($contactInfo["CONTACT_PHOTO"]) {
                     $attachParams["AVATAR"] = $contactInfo["CONTACT_PHOTO"];
                 }
                 $attachParams["NETWORK_ID"] = static::getConnectId($contactInfo["CONNECT"][0]);
                 $attach->AddUser($attachParams);
             }
         }
         $messageFields = array("TO_USER_ID" => $userId, "FROM_USER_ID" => 0, "NOTIFY_TYPE" => IM_NOTIFY_SYSTEM, "NOTIFY_MODULE" => "socialservices", "NOTIFY_EVENT" => "multiple_contacts", "NOTIFY_MESSAGE" => Loc::getMessage("SS_JOIN_NOTIFY_MULTIPLE"), "NOTIFY_MESSAGE_OUT" => IM_MAIL_SKIP, "ATTACH" => array($attach));
         \CIMNotify::Add($messageFields);
         static::$notifyStack = array();
     }
 }