/** * @param string $name * @param array $data * @param string $selected * @param bool $showNotUse * @param array $attributes * @return string "<select>....</select>" * @throws ArgumentTypeException */ public static function makeSelectHtml($name, array $data, $selected = "", $showNotUse = true, $attributes = array()) { if (!is_array($data)) { throw new ArgumentTypeException("data", "array"); } if (!is_array($attributes)) { throw new ArgumentTypeException("attributies", "array"); } $result = '<select name="' . htmlspecialcharsbx($name) . '"'; foreach ($attributes as $attrName => $attrValue) { $result .= " " . $attrName . "=\"" . htmlspecialcharsbx($attrValue) . "\""; } $result .= '>'; if ($showNotUse) { $result .= '<option value="">' . GetMessage("SALE_ORDEREDIT_NOT_USE") . '</option>'; } foreach ($data as $value => $title) { $result .= '<option value="' . htmlspecialcharsbx($value) . '"' . ($selected == $value ? " selected" : "") . '>' . htmlspecialcharsbx(TruncateText($title, 40)) . '</option>'; } $result .= '</select>'; return $result; }
$lAdmin->AddHeaders($Headers); while ($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_SID, $arRes, "adv_type_edit.php?SID=" . $f_SID, GetMessage("ADV_EDIT_TITLE")); $row->AddViewField("SID", "<a href='adv_type_edit.php?lang=" . LANGUAGE_ID . "&SID=" . $f_SID . "' title='" . GetMessage("ADV_EDIT_TITLE") . "'>" . $f_SID . "</a>"); $arr = explode(" ", $f_DATE_MODIFY); $row->AddViewField("DATE_MODIFY", $arr[0] . "<br>" . $arr[1]); if ($isAdmin || $isDemo) { $row->AddCheckField("ACTIVE"); $row->AddInputField("SORT"); $row->AddInputField("NAME"); } else { $row->AddCheckField("ACTIVE", false); $row->AddViewField("SORT", $f_SORT); $row->AddViewField("NAME", $f_NAME); } $row->AddViewField("DESCRIPTION", TruncateText($f_DESCRIPTION, 180)); $row->AddViewField("BANNER_COUNT", '<a href="/bitrix/admin/adv_banner_list.php?find_type_sid[]=' . $f_SID . '&set_filter=Y" title="' . GetMessage("ADV_BANNER_LIST") . '">' . $f_BANNER_COUNT . '</a>'); $arActions = array(); if ($isAdmin || $isDemo) { $arActions[] = array("ICON" => "edit", "TEXT" => GetMessage("AD_TYPE_EDIT"), "ACTION" => $lAdmin->ActionRedirect("adv_type_edit.php?SID=" . $f_SID)); } $arActions[] = array("ICON" => "view", "TEXT" => GetMessage("AD_TYPE_VIEW"), "ACTION" => $lAdmin->ActionRedirect("adv_type_edit.php?SID=" . $f_SID . "&action=view"), "TITLE" => GetMessage("AD_TYPE_VIEW_SETTINGS")); $arActions[] = array("ICON" => "adv_graph", "TEXT" => GetMessage("AD_TYPE_STATISTICS_VIEW"), "ACTION" => $lAdmin->ActionRedirect("adv_banner_graph.php?find_type_sid=" . $f_SID . "&find_what_show[]=ctr&find_banner_summa=Y&set_filter=Y&lang=" . LANGUAGE_ID), "TITLE" => GetMessage("AD_TYPE_STATISTICS_VIEW_TITLE")); if ($isAdmin || $isDemo) { $arActions[] = array("SEPARATOR" => true); $arActions[] = array("ICON" => "delete", "TEXT" => GetMessage("AD_DELETE_TYPE"), "ACTION" => "if(confirm('" . GetMessage('AD_DELETE_TYPE_CONFIRM') . "')) " . $lAdmin->ActionDoGroup($f_SID, "delete")); } $row->AddActions($arActions); } // "подвал" списка $lAdmin->AddFooter(array(array("title" => GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value" => $rsData->SelectedRowsCount()), array("counter" => true, "title" => GetMessage("MAIN_ADMIN_LIST_CHECKED"), "value" => "0")));
} $text = preg_replace("#\\[img\\](.+?)\\[/img\\]#is", "", $arPost["~DETAIL_TEXT"]); $text = preg_replace("#\\[url(.+?)\\](.*?)\\[/url\\]#is", "\\2", $text); $text = preg_replace("#\\[video(.+?)\\](.+?)\\[/video\\]#is", "", $text); $text = preg_replace("#^(.+?)<cut[\\s]*(/>|>).*?\$#is", "\\1", $text); $text = preg_replace("#^(.+?)\\[cut[\\s]*(/\\]|\\]).*?\$#is", "\\1", $text); $text = preg_replace("#(\\[|<)(/?)(b|u|i|list|code|quote|url|img|color|font|/*)(.*?)(\\]|>)#is", "", $text); $text = TruncateText($text, $arParams["MESSAGE_LENGTH"]); $text1 = $text; $title = $p->convert($text1, true, false, array("HTML" => "N", "ANCHOR" => "N", "BIU" => "N", "IMG" => "N", "QUOTE" => "N", "CODE" => "N", "FONT" => "N", "LIST" => "N", "SMILES" => "N", "NL2BR" => "N")); $text = $p->convert($text, true, false, array("HTML" => "N", "ANCHOR" => "N", "BIU" => "N", "IMG" => "N", "QUOTE" => "N", "CODE" => "N", "FONT" => "N", "LIST" => "N", "SMILES" => "Y", "NL2BR" => "N")); $text = CBlogTools::DeleteDoubleBR($text); $arTmp["TEXT_FORMATED"] = $text; $arTmp["DATE_PUBLISH_FORMATED"] = FormatDate($arParams["DATE_TIME_FORMAT"], MakeTimeStamp($arTmp["DATE_PUBLISH"], CSite::GetDateFormat("FULL"))); if ($arTmp["MICRO"] == "Y") { $arTmp["TITLE"] = TruncateText(str_replace(array("<br />", "<br>", "'", """, "<", ">"), "", $title), 60); $arTmp["~TITLE"] = htmlspecialcharsback($arTmp["TITLE"]); } $itemCnt++; $arResult[] = $arTmp; $ids[] = $arTmp["ID"]; } $arResult["IDS"] = $ids; } if ($arParams["CACHE_TIME"] > 0) { $cache->EndDataCache(array("templateCachedData" => $this->GetTemplateCachedData(), "arResult" => $arResult)); } } if ($arParams["SHOW_RATING"] == "Y" && !empty($arResult["IDS"])) { $arResult[0]['RATING'] = CRatings::GetRatingVoteResult('BLOG_POST', $arResult["IDS"]); }
function GetRequirementPayload($ref) { $object = CallAPI($ref); $requirement = null; $type = null; if ($object->HierarchicalRequirement) { $requirement = $object->HierarchicalRequirement; $type = "User Story"; } elseif ($object->Task) { $requirement = $object->Task; $type = "Task"; } else { $class = get_class($object); global $slackCommand; $userlink = BuildUserLink($slackCommand->UserName); print_r("Sorry {$userlink}, I can't handle a {$class} yet. I'll let @tdm know about it."); die; } $projecturi = $requirement->Project->_ref; $title = $requirement->_refObjectName; $ProjectFull = CallAPI($projecturi); $projectid = $ProjectFull->Project->ObjectID; $storyid = $requirement->ObjectID; $description = $requirement->Description; $owner = $requirement->Owner->_refObjectName; $projectName = $requirement->Project->_refObjectName; $itemid = $requirement->FormattedID; $created = $requirement->_CreatedAt; $estimate = $requirement->PlanEstimate; $hasparent = $requirement->HasParent; $childcount = $requirement->DirectChildrenCount; $state = $requirement->ScheduleState; $blocked = $requirement->Blocked; $blockedreason = $requirement->BlockedReason; $ready = $requirement->Ready; $attachmentcount = $requirement->Attachments->Count; $firstattachment = null; if ($attachmentcount > 0) { $linktxt = GetRallyAttachmentLink($requirement->Attachments->_ref); $firstattachment = MakeField("attachment", $linktxt, false); } $parent = null; if ($hasparent) { $parent = $requirement->Parent->_refObjectName; } $clean_description = html_entity_decode(strip_tags($description), ENT_HTML401 | ENT_COMPAT, 'UTF-8'); $short_description = TruncateText($clean_description, 300); $storyuri = "https://rally1.rallydev.com/#/{$projectid}d/detail/userstory/{$storyid}"; $enctitle = urlencode($title); $linktext = "<{$storyuri}|{$enctitle}>"; $dovegray = "#CEC7B8"; $fields = array(MakeField("link", $linktext, false), MakeField("parent", $parent, false), MakeField("id", $itemid, true), MakeField("owner", $owner, true), MakeField("project", $projectName, true), MakeField("created", $created, true), MakeField("estimate", $estimate, true), MakeField("state", $state, true)); if ($childcount > 0) { array_push($fields, MakeField("children", $childcount, true)); } if ($blocked) { array_push($fields, MakeField("blocked", $blockedreason, true)); } array_push($fields, MakeField("description", $short_description, false)); if ($firstattachment != null) { array_push($fields, $firstattachment); } global $slackCommand; $userlink = BuildUserLink($slackCommand->UserName); $user_message = "Ok {$userlink}, here's the {$type} you requested."; $obj = new stdClass(); $obj->text = ""; $obj->attachments = MakeAttachment($user_message, "", $dovegray, $fields, $storyuri); // print_r(json_encode($obj));die; return $obj; }
} else { //FOR SEO $url_params = parse_url($_SERVER["REQUEST_URI"]); if (substr($url_params["path"], -1) != "/") { $url = $url_params["path"] . "/"; if (!empty($url_params["query"])) { $url .= "?" . $url_params["query"]; } LocalRedirect($url, false, "301 Moved permanently"); } } //SEO $APPLICATION->SetTitle($arResult["UF_TITLE"]); $APPLICATION->SetPageProperty("title", trim($arResult["UF_TITLE"] . " " . $arResult["UF_SUB_TITLE"])); $APPLICATION->SetPageProperty("keywords", implode(", ", $arResult["KEYWORDS"])); $APPLICATION->SetPageProperty("description", TruncateText($arResult["UF_DESC"], 256)); $APPLICATION->SetDirProperty('og_image', $arResult["PICTURE"]["SRC"]); $APPLICATION->SetDirProperty('og_type', 'album'); //get status schedule $arResult["STATUS"] = \Hawkart\Megatv\CScheduleTemplate::status(array("ID" => $arResult["ID"], "UF_CHANNEL_ID" => $arResult["UF_CHANNEL_ID"], "DATE_START" => $arResult["DATE_START"], "DATE_END" => $arResult["DATE_END"])); foreach (array("UF_DIRECTOR", "UF_PRESENTER", "UF_ACTOR") as $type) { $_arResult[$type] = array(); $arPeoples = explode(",", $arResult[$type]); foreach ($arPeoples as $actor) { $actor = trim($actor); if (!empty($actor)) { $link = \Hawkart\Megatv\PeopleTable::getKinopoiskLinkByName($actor); $link = str_replace("//name", "/name", $link); if (empty($link)) { $link = "#"; }
die; } } $rights = "N"; if (CSocNetUser::IsCurrentUserModuleAdmin() || $APPLICATION->GetGroupRight("blog") >= "W") { $rights = "ALL"; } else { if (IsModuleInstalled("intranet") && $USER->IsAuthorized()) { $rights = "OWN"; } else { if (!IsModuleInstalled("intranet")) { $rights = $arResult["Perm"] < BLOG_PERMS_FULL ? "OWNLAST" : "ALL"; } } } $arResult["OUTPUT_LIST"] = $APPLICATION->IncludeComponent("bitrix:main.post.list", "", array("RECORDS" => $arResult["RECORDS"], "RESULT" => !!$arResult["ajax_comment"] ? $arResult["ajax_comment"] : $_GET["commentId"], "NAV_STRING" => $arResult["NAV_STRING"], "NAV_RESULT" => $arResult["NAV_RESULT"], "PREORDER" => "N", "RIGHTS" => array("MODERATE" => $arResult["Perm"] >= BLOG_PERMS_MODERATE ? "Y" : "N", "EDIT" => $rights, "DELETE" => $rights), "VISIBLE_RECORDS_COUNT" => $arResult["newCount"], "TEMPLATE_ID" => 'BLOG_COMMENT_BG_', "ENTITY_XML_ID" => $arParams["ENTITY_XML_ID"], "ERROR_MESSAGE" => !!$arResult["ERROR_MESSAGE"] ? $arResult["ERROR_MESSAGE"] : $arResult["COMMENT_ERROR"], "OK_MESSAGE" => $arResult["MESSAGE"], "SHOW_POST_FORM" => $arResult["CanUserComment"] ? "Y" : "N", "SHOW_MINIMIZED" => "Y", "FORM_ID" => $arParams["FORM_ID"], "PUSH&PULL" => array("ACTION" => !empty($_POST["post"]) && $_POST["act"] != "edit" ? "REPLY" : "DOES NOT MATTER", "ID" => $arResult["ajax_comment"]), "IMAGE_SIZE" => $arParams["IMAGE_SIZE"], "mfi" => $arParams["mfi"], "NOTIFY_TAG" => $arParams["bFromList"] ? "BLOG|COMMENT" : "", "NOTIFY_TEXT" => $arParams["bFromList"] ? TruncateText(str_replace(array("\r\n", "\n"), " ", $arParams["POST_DATA"]["~TITLE"]), 100) : "", "PATH_TO_USER" => $arParams["PATH_TO_USER"], "AVATAR_SIZE" => $arParams["AVATAR_SIZE_COMMENT"], "NAME_TEMPLATE" => $arParams["NAME_TEMPLATE"], "SHOW_LOGIN" => $arParams['SHOW_LOGIN'], "LAZYLOAD" => $arParams["LAZYLOAD"]), $this->__component); if ($_REQUEST["AJAX_POST"] == "Y" && $arParams["ENTITY_XML_ID"] == $_REQUEST["ENTITY_XML_ID"]) { $GLOBALS["APPLICATION"]->RestartBuffer(); echo CUtil::PhpToJSObject($arResult["OUTPUT_LIST"]["JSON"]); die; } else { ?> <div class="feed-comments-block" id="blg-comment-<?php echo $arParams["ID"]; ?> "<?php if (empty($arResult["CommentsResult"])) { ?> style="display:none;"<?php } ?>
public static function makePaymentSelectHtmlBody($data, $selected = '') { $result = ''; foreach ($data as $item) { $result .= '<option value="' . htmlspecialcharsbx($item['ID']) . '"' . ($selected == $item['ID'] ? " selected" : "") . '>' . htmlspecialcharsbx(TruncateText($item['NAME'], 40)) . '</option>'; } return $result; }
{ $arAvailFields[$intCount]['SEP'] = GetMessage('CAT_ADM_CSV_IMP_SEP_PRICES'); $boolSep = false; } $intCount++; } } if (isset($arOneCatalogAvailValueFields)) unset($arOneCatalogAvailValueFields); } } for ($i = 0, $intCountDataFileFields = count($arDataFileFields); $i < $intCountDataFileFields; $i++) { ?><tr> <td width="40%"><b><? echo GetMessage("CATI_FIELD"); ?> <? echo $i+1; ?></b> (<? echo htmlspecialcharsbx(TruncateText($arDataFileFields[$i], 15)); ?>):</td> <td width="60%"> <select name="field_<? echo $i; ?>"> <option value="" style="font-weight: bold; text-align: center;"> --- </option> <? foreach ($arAvailFields as &$arOneAvailField) { if (!empty($arOneAvailField['SEP'])) { ?><option value="" style="font-weight: bold; text-align: center;">--- <? echo htmlspecialcharsex($arOneAvailField['SEP']); ?> ---</option><? } if (!empty($arOneAvailField['SUB_SEP'])) { ?><option value="" style="font-style: italic; text-align: center;">--- <? echo htmlspecialcharsex($arOneAvailField['SUB_SEP']); ?> ---</option><? } $strStyle = '';
if ($arParams["CACHE_TIME"] > 0 && $cache->InitCache($arParams["CACHE_TIME"], $cache_id, $cache_path)) { $Vars = $cache->GetVars(); foreach ($Vars["arResult"] as $k => $v) { $arResult[$k] = $v; } CBitrixComponentTemplate::ApplyCachedData($Vars["templateCachedData"]); $cache->Output(); } else { if ($arParams["CACHE_TIME"] > 0) { $cache->StartDataCache($arParams["CACHE_TIME"], $cache_id, $cache_path); } $arResult["TrackBack"] = array(); $dbTrack = CBlogTrackback::GetList(array("POST_DATE" => "DESC"), array("BLOG_ID" => $arPost["BLOG_ID"], "POST_ID" => $arPost["ID"])); while ($arTrack = $dbTrack->GetNext()) { if ($arParams["TB_LENGTH"]) { $arTrack["PREVIEW_TEXT"] = TruncateText($arTrack["PREVIEW_TEXT"], $arParams["TB_LENGTH"]); } $arTrack["urlToDelete"] = $APPLICATION->GetCurPageParam("delete_trackback_id=" . $arTrack["ID"], array("sessid", "delete_trackback_id")); $arTrack["POST_DATE_FORMATED"] = FormatDate($arParams["DATE_TIME_FORMAT"], MakeTimeStamp($arTrack["POST_DATE"], CSite::GetDateFormat("FULL"))); $arResult["TrackBack"][] = $arTrack; } $serverName = ""; $dbSite = CSite::GetList($b = "sort", $o = "asc", array("LID" => SITE_ID)); if ($arSite = $dbSite->Fetch()) { $serverName = $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", "");
$arPictInfo = CFile::GetFileArray($pictNo); if (is_array($arPictInfo)) { if(substr($arPictInfo["SRC"], 0, 1) == "/") $strFile = "http://".$arAcc['SERVER_NAME'].CHTTP::urnEncode($arPictInfo["SRC"], 'utf-8'); else $strFile = $arPictInfo["SRC"]; $strTmpOff.="<picture>".$strFile."</picture>\n"; } } $strTmpOff.= "<name>".yandex_text2xml($arAcc["~NAME"], true)."</name>\n"; $strTmpOff.= "<description>". yandex_text2xml(TruncateText( ($arAcc["PREVIEW_TEXT_TYPE"]=="html"? strip_tags(preg_replace_callback("'&[^;]*;'", "yandex_replace_special", $arAcc["~PREVIEW_TEXT"])) : preg_replace_callback("'&[^;]*;'", "yandex_replace_special", $arAcc["~PREVIEW_TEXT"])), 255), true). "</description>\n"; $strTmpOff.= "</offer>\n"; if (100 <= $cnt) { $cnt = 0; CCatalogDiscount::ClearDiscountCache(array( 'PRODUCT' => true, 'SECTIONS' => true, 'PROPERTIES' => true )); } } } }
public static function ProcessLogEventEditPOST($arPOST, $entityTypeID, $entityID, &$arResult) { $arEntityData = array(); $errors = array(); $enableTitle = isset($arPOST['ENABLE_POST_TITLE']) && strtoupper($arPOST['ENABLE_POST_TITLE']) === 'Y'; $title = $enableTitle && isset($arPOST['POST_TITLE']) ? $arPOST['POST_TITLE'] : ''; $message = isset($arPOST['MESSAGE']) ? htmlspecialcharsback($arPOST['MESSAGE']) : ''; $arResult['EVENT']['MESSAGE'] = $message; $arResult['EVENT']['TITLE'] = $title; $arResult['ENABLE_TITLE'] = $enableTitle; $attachedFiles = array(); $webDavFileFieldName = $arResult['WEB_DAV_FILE_FIELD_NAME']; if ($webDavFileFieldName !== '' && isset($GLOBALS[$webDavFileFieldName]) && is_array($GLOBALS[$webDavFileFieldName])) { foreach ($GLOBALS[$webDavFileFieldName] as $fileID) { if ($fileID === '') { continue; } //fileID: "888|165|16" $attachedFiles[] = $fileID; } if (!empty($attachedFiles) && is_array($arResult['WEB_DAV_FILE_FIELD'])) { $arResult['WEB_DAV_FILE_FIELD']['VALUE'] = $attachedFiles; } } $allowToAll = COption::GetOptionString('socialnetwork', 'allow_livefeed_toall', 'Y') === 'Y'; if ($allowToAll) { $arToAllRights = unserialize(COption::GetOptionString("socialnetwork", "livefeed_toall_rights", 'a:1:{i:0;s:2:"AU";}')); if (!$arToAllRights) { $arToAllRights = array('AU'); } $arUserGroupCode = array_merge(array('AU'), CAccess::GetUserCodesArray($arResult['USER_ID'])); if (count(array_intersect($arToAllRights, $arUserGroupCode)) <= 0) { $allowToAll = false; } } $arSocnetRights = array(); if (!empty($arPOST['SPERM'])) { foreach ($arPOST['SPERM'] as $v => $k) { if (strlen($v) > 0 && is_array($k) && !empty($k)) { foreach ($k as $vv) { if (strlen($vv) > 0) { $arSocnetRights[] = $vv; } } } } } if (in_array('UA', $arSocnetRights) && !$allowToAll) { foreach ($arSocnetRights as $key => $value) { if ($value == 'UA') { unset($arSocnetRights[$key]); break; } } } foreach ($arSocnetRights as $key => $value) { if ($value == 'UA') { $arSocnetRights[] = 'AU'; unset($arSocnetRights[$key]); break; } } $arSocnetRights = array_unique($arSocnetRights); $allFeedEtityTypes = CCrmLiveFeedEntity::GetAll(); $userPerms = CCrmPerms::GetCurrentUserPermissions(); foreach ($arSocnetRights as $key => $value) { $groupCodeData = array(); if (CCrmLiveFeed::TryParseGroupCode($value, $groupCodeData) && in_array($groupCodeData['ENTITY_TYPE'], $allFeedEtityTypes, true)) { $groupCodeEntityType = $groupCodeData['ENTITY_TYPE']; $groupCodeEntityID = $groupCodeData['ENTITY_ID']; if (!CCrmLiveFeed::CheckCreatePermission($groupCodeEntityType, $groupCodeEntityID, $userPerms)) { $canonicalEntityTypeID = CCrmLiveFeedEntity::ResolveEntityTypeID($groupCodeEntityType); $errors[] = GetMessage('CRM_SL_EVENT_EDIT_PERMISSION_DENIED', array('#TITLE#' => CCrmOwnerType::GetCaption($canonicalEntityTypeID, $groupCodeEntityID, false))); } else { $arEntityData[] = array('ENTITY_TYPE' => $groupCodeEntityType, 'ENTITY_ID' => $groupCodeEntityID); } } } if (!(CCrmOwnerType::IsDefined($entityTypeID) && $entityID > 0) && !empty($arEntityData)) { $entityData = $arEntityData[0]; $entityTypeID = CCrmLiveFeedEntity::ResolveEntityTypeID($entityData['ENTITY_TYPE']); $entityID = $entityData['ENTITY_ID']; } if (!empty($arEntityData)) { $arResult['ENTITY_DATA'] = $arEntityData; } if (!(CCrmOwnerType::IsDefined($entityTypeID) && $entityID > 0)) { $errors[] = GetMessage('CRM_SL_EVENT_EDIT_ENTITY_NOT_DEFINED'); } if ($message === '') { $errors[] = GetMessage('CRM_SL_EVENT_EDIT_EMPTY_MESSAGE'); } if (empty($errors)) { $fields = array('ENTITY_TYPE_ID' => $entityTypeID, 'ENTITY_ID' => $entityID, 'USER_ID' => $arResult['USER_ID'], 'TITLE' => $title, 'MESSAGE' => $message, 'RIGHTS' => $arSocnetRights); $parents = array(); CCrmOwnerType::TryGetOwnerInfos($entityTypeID, $entityID, $parents, array('ENABLE_MAPPING' => true)); foreach ($arEntityData as $entityData) { $curEntityTypeID = CCrmLiveFeedEntity::ResolveEntityTypeID($entityData['ENTITY_TYPE']); $curEntityID = $entityData['ENTITY_ID']; $entityKey = "{$curEntityTypeID}_{$curEntityID}"; if (!isset($parents[$entityKey]) && !($curEntityTypeID === $entityTypeID && $curEntityID === $entityID)) { $parents[$entityKey] = array('ENTITY_TYPE_ID' => $curEntityTypeID, 'ENTITY_ID' => $curEntityID); } } if (!empty($parents)) { $fields['PARENTS'] = array_values($parents); } if (!empty($attachedFiles)) { $fields['WEB_DAV_FILES'] = array($webDavFileFieldName => $attachedFiles); } $messageID = CCrmLiveFeed::CreateLogMessage($fields); if (!(is_int($messageID) && $messageID > 0)) { $errors[] = isset($fields['ERROR']) ? $fields['ERROR'] : 'UNKNOWN ERROR'; } else { preg_match_all("/\\[user\\s*=\\s*([^\\]]*)\\](.+?)\\[\\/user\\]/is" . BX_UTF_PCRE_MODIFIER, $message, $arMention); if (!empty($arMention) && !empty($arMention[1]) && CModule::IncludeModule("im")) { $arMention = $arMention[1]; $arMention = array_unique($arMention); $arMessageFields = array("MESSAGE_TYPE" => IM_MESSAGE_SYSTEM, "TO_USER_ID" => "", "FROM_USER_ID" => $arResult['USER_ID'], "NOTIFY_TYPE" => IM_NOTIFY_FROM, "NOTIFY_MODULE" => "crm", "NOTIFY_EVENT" => "mention"); $genderSuffix = ""; $dbUser = CUser::GetByID($arResult['USER_ID']); if ($arUser = $dbUser->Fetch()) { switch ($arUser["PERSONAL_GENDER"]) { case "M": $genderSuffix = "_M"; break; case "F": $genderSuffix = "_F"; break; default: $genderSuffix = ""; } } $strIMMessageTitle = str_replace(array("\r\n", "\n"), " ", strlen($title) > 0 ? $title : $message); if (CModule::IncludeModule("blog")) { $strIMMessageTitle = trim(blogTextParser::killAllTags($strIMMessageTitle)); } $strIMMessageTitle = TruncateText($strIMMessageTitle, 100); $strIMMessageTitleOut = TruncateText($strIMMessageTitle, 255); $strLogEntryURL = COption::GetOptionString("socialnetwork", "log_entry_page", SITE_DIR . "company/personal/log/#log_id#/", SITE_ID); $strLogEntryURL = CComponentEngine::MakePathFromTemplate($strLogEntryURL, array("log_id" => $messageID)); $strLogEntryCrmURL = CComponentEngine::MakePathFromTemplate(SITE_DIR . "crm/stream/?log_id=#log_id#", array("log_id" => $messageID)); $serverName = (CMain::IsHTTPS() ? "https" : "http") . "://" . (defined("SITE_SERVER_NAME") && strlen(SITE_SERVER_NAME) > 0 ? SITE_SERVER_NAME : COption::GetOptionString("main", "server_name", "")); foreach ($arMention as $val) { $val = IntVal($val); if ($val > 0 && $val != $arResult['USER_ID']) { $bHasAccess = false; if (in_array('U' . $val, $arSocnetRights)) { $url = $strLogEntryURL; $bHasAccess = true; } if (!$bHasAccess) { $arAccessCodes = array(); $dbAccess = CAccess::GetUserCodes($val); while ($arAccess = $dbAccess->Fetch()) { $arAccessCodes[] = $arAccess["ACCESS_CODE"]; } $arTmp = array_intersect($arAccess, $arSocnetRights); if (!empty($arTmp)) { $url = $strLogEntryURL; $bHasAccess = true; } } if (!$bHasAccess) { $userPermissions = CCrmPerms::GetUserPermissions($val); foreach ($arEntityData as $arEntity) { if (CCrmAuthorizationHelper::CheckReadPermission(CCrmOwnerType::ResolveName(CCrmLiveFeedEntity::ResolveEntityTypeID($arEntity['ENTITY_TYPE'])), $arEntity['ENTITY_ID'], $userPermissions)) { $url = $strLogEntryCrmURL; $bHasAccess = true; break; } } } if ($bHasAccess) { $arMessageFields["TO_USER_ID"] = $val; $arMessageFields["NOTIFY_TAG"] = "CRM|MESSAGE_MENTION|" . $messageID; $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("CRM_SL_EVENT_IM_MENTION_POST" . $genderSuffix, array("#title#" => "<a href=\"" . $url . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($strIMMessageTitle) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("CRM_SL_EVENT_IM_MENTION_POST" . $genderSuffix, array("#title#" => htmlspecialcharsbx($strIMMessageTitleOut))) . " (" . $serverName . $url . ")"; CIMNotify::Add($arMessageFields); } } } } return $messageID; } } return $errors; }
public static function GetTemplateList($STATUS_ID) { $err_mess = (CAllForm::err_mess())."<br>Function: GetTemplateList<br>Line: "; global $DB, $strError; $STATUS_ID = intval($STATUS_ID); if ($STATUS_ID > 0) { $arrSITE = array(); $strSql = " SELECT F.MAIL_EVENT_TYPE, FS.SITE_ID FROM b_form_status F INNER JOIN b_form_2_site FS ON (FS.FORM_ID = F.FORM_ID) WHERE F.ID='".$STATUS_ID."' "; //echo '<pre>',$strSql,'</pre>'; $z = $DB->Query($strSql,false,$err_mess.__LINE__); while ($zr = $z->Fetch()) { $MAIL_EVENT_TYPE = $zr["MAIL_EVENT_TYPE"]; $arrSITE[] = $zr["SITE_ID"]; } if (strlen($MAIL_EVENT_TYPE) <= 0) return false; $arReferenceId = array(); $arReference = array(); $arFilter = Array( "ACTIVE" => "Y", "SITE_ID" => $arrSITE, "EVENT_NAME" => $MAIL_EVENT_TYPE ); $e = CEventMessage::GetList($by="id", $order="asc", $arFilter); while ($er=$e->Fetch()) { if (!in_array($er["ID"], $arReferenceId)) { $arReferenceId[] = $er["ID"]; $arReference[] = "(".$er["LID"].") ".TruncateText($er["SUBJECT"],50); } } $arr = array("reference"=>$arReference,"reference_id"=>$arReferenceId); return $arr; } return false; }
<!-- <div class="item-photo"> <a href="#"><img src="img/placeholder.jpeg"></a> </div> --> <div class="item-text"> <h3 class="item-title"><a href="i_viewitem.php?item_id=<?php echo $item['item_id']; ?> "><?php echo $item['item_title']; ?> </a></h3> <?php $description = $item['item_description']; $description = TruncateText($description, 100); ?> <p class="item-description"><?php echo $description; ?> </p> <span class="pill-text"> <a href="i_school.php?school_id=<?php echo $user_info['school_id']; ?> &category=<?php echo $item['cat_name']; ?> "> <?php echo $item['cat_name'];
// navigation setup $lAdmin->NavText($rsData->GetNavPrint(GetMessage("SEARCH_PHL_PHRASES"))); $aContext = array(); $lAdmin->AddAdminContextMenu($aContext); $arHeaders = array(array("id" => "ID", "content" => GetMessage("SEARCH_PHL_ID"), "sort" => "ID", "default" => true, "align" => "right"), array("id" => "SITE_ID", "content" => GetMessage("SEARCH_PHL_SITE_ID"), "default" => true), array("id" => "PHRASE", "content" => GetMessage("SEARCH_PHL_PHRASE"), "sort" => "PHRASE", "default" => true), array("id" => "TAGS", "content" => GetMessage("SEARCH_PHL_TAGS"), "sort" => "TAGS", "default" => true), array("id" => "TIMESTAMP_X", "content" => GetMessage("SEARCH_PHL_TIMESTAMP_X"), "sort" => "TIMESTAMP_X", "default" => true), array("id" => "URL_TO", "content" => GetMessage("SEARCH_PHL_URL_TO"), "sort" => "URL_TO", "default" => true), array("id" => "RESULT_COUNT", "content" => GetMessage("SEARCH_PHL_RESULT_COUNT"), "sort" => "RESULT_COUNT", "default" => true, "align" => "right"), array("id" => "PAGES", "content" => GetMessage("SEARCH_PHL_PAGES"), "title" => GetMessage("SEARCH_PHL_PAGES_ALT"), "sort" => "PAGES", "default" => true, "align" => "right")); if (IsModuleInstalled('statistic')) { $arHeaders[] = array("id" => "STAT_SESS_ID", "content" => GetMessage("SEARCH_PHL_STAT_SESS_ID"), "sort" => "STAT_SESS_ID", "default" => true, "align" => "right"); } $lAdmin->AddHeaders($arHeaders); $i = 0; while ($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arRes); if ($_REQUEST["mode"] != "excel") { $row->AddViewField("TIMESTAMP_X", str_replace(" ", " ", $f_TIMESTAMP_X)); } $row->AddViewField("URL_TO", ($f_URL_TO_SITE_ID ? "[" . $f_URL_TO_SITE_ID . "] " : "") . "<a " . ($f_URL_TO_404 == "Y" ? 'style="color:red"' : '') . " title=\"" . GetMessage("SEARCH_PHL_LINK_OPEN") . "\" href=\"{$f_URL_TO}\">" . TruncateText(InsertSpaces($f_URL_TO, 50, "<wbr>"), 100) . "</a> "); $row->AddViewField("STAT_SESS_ID", "<a title=\"" . GetMessage("SEARCH_PHL_SESSION") . "\" href=\"session_list.php?lang=" . LANGUAGE_ID . "&find_id={$f_STAT_SESS_ID}&find_id_exact_match=Y&set_filter=Y\">{$f_STAT_SESS_ID}</a> "); } $lAdmin->AddFooter(array(array("title" => GetMessage("MAIN_ADMIN_LIST_SELECTED"), "value" => $rsData->SelectedRowsCount()))); $lAdmin->CheckListMode(); /*************************************************************************** HTML form ****************************************************************************/ $APPLICATION->SetTitle(GetMessage("SEARCH_PHL_TITLE")); require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; ?> <form name="form1" method="GET" action="<?php echo $APPLICATION->GetCurPage(); ?> ">
} if (strlen($_POST["comment_body"]) <= 0) { $strErrorMessage .= GetMessage("TFC_NO_BODY") . ". "; } $sTransStarted = False; if (strlen($strErrorMessage) <= 0) { $strDescription = $_POST["comment_body"] . "\n"; if (strlen($_POST["comment_phone"]) > 0) { $strDescription .= "\n" . GetMessage("COMM_PHONE") . " " . $_POST["comment_phone"]; } if (strlen($_POST["comment_email"]) > 0) { $strDescription .= "\n" . GetMessage("COMM_EMAIL") . " " . $_POST["comment_email"]; } $DB->StartTransaction(); $sTransStarted = True; $arFields = array("TITLE" => TruncateText($strDescription, 40), "FORUM_ID" => $INQUERY_FORUM_ID, "USER_START_NAME" => $_POST["comment_author"], "LAST_POSTER_NAME" => $_POST["comment_author"]); $TID1 = CForumTopic::Add($arFields); if (IntVal($TID1) <= 0) { $strErrorMessage .= GetMessage("ADDMESS_ERROR_ADD_TOPIC") . ". \n"; } } if (strlen($strErrorMessage) <= 0) { $AUTHOR_IP = ForumGetRealIP(); $AUTHOR_IP_tmp = $AUTHOR_IP; $AUTHOR_REAL_IP = $_SERVER['REMOTE_ADDR']; $AUTHOR_IP = @gethostbyaddr($AUTHOR_IP); if ($AUTHOR_IP_tmp == $AUTHOR_REAL_IP) { $AUTHOR_REAL_IP = $AUTHOR_IP; } else { $AUTHOR_REAL_IP = @gethostbyaddr($AUTHOR_REAL_IP); }
public static function OnSendMentionGetEntityFields_Forum($arCommentFields) { if ($arCommentFields["EVENT_ID"] != "forum") { return false; } $dbLog = CSocNetLog::GetList(array(), array("ID" => $arCommentFields["LOG_ID"], "EVENT_ID" => "forum"), false, false, array("ID", "TITLE")); if ($arLog = $dbLog->Fetch()) { $genderSuffix = ""; $dbUsers = CUser::GetList($by = "ID", $order = "desc", array("ID" => $arCommentFields["USER_ID"]), array("PERSONAL_GENDER", "LOGIN", "NAME", "LAST_NAME", "SECOND_NAME")); if ($arUser = $dbUsers->Fetch()) { $genderSuffix = $arUser["PERSONAL_GENDER"]; } $strPathToLogEntry = str_replace("#log_id#", $arLog["ID"], COption::GetOptionString("socialnetwork", "log_entry_page", "/company/personal/log/#log_id#/", SITE_ID)); $strPathToLogEntryComment = $strPathToLogEntry . (strpos($strPathToLogEntry, "?") !== false ? "&" : "?") . "commentID=" . $arCommentFields["ID"]; $title = str_replace(array("\r\n", "\n"), " ", $arLog["TITLE"]); $title = TruncateText($title, 100); $title_out = TruncateText($title, 255); $arReturn = array("URL" => $strPathToLogEntryComment, "NOTIFY_TAG" => "FORUM|COMMENT_MENTION|" . $arCommentFields["ID"], "NOTIFY_MESSAGE" => GetMessage("SONET_GLC_FORUM_MENTION" . (strlen($genderSuffix) > 0 ? "_" . $genderSuffix : ""), array("#title#" => "<a href=\"#url#\" class=\"bx-notifier-item-action\">" . $title . "</a>")), "NOTIFY_MESSAGE_OUT" => GetMessage("SONET_GLC_FORUM_MENTION" . (strlen($genderSuffix) > 0 ? "_" . $genderSuffix : ""), array("#title#" => $title_out)) . " (" . "#server_name##url#)"); return $arReturn; } else { return false; } }
public static function NotifyIm($arParams) { if (!CModule::IncludeModule("im")) { return; } $arUsers = array(); $arUserIDSent = array(); if (!empty($arParams["TO_USER_ID"])) { foreach ($arParams["TO_USER_ID"] as $val) { $val = IntVal($val); if ($val > 0 && $val != $arParams["FROM_USER_ID"]) { $arUsers[] = $val; } } } if (!empty($arParams["TO_SOCNET_RIGHTS"])) { foreach ($arParams["TO_SOCNET_RIGHTS"] as $v) { if (substr($v, 0, 1) == "U") { $u = IntVal(substr($v, 1)); if ($u > 0 && !in_array($u, $arUsers) && (!array_key_exists("U", $arParams["TO_SOCNET_RIGHTS_OLD"]) || empty($arParams["TO_SOCNET_RIGHTS_OLD"]["U"][$u])) && $u != $arParams["FROM_USER_ID"]) { $arUsers[] = $u; } } } } $arMessageFields = array("MESSAGE_TYPE" => IM_MESSAGE_SYSTEM, "TO_USER_ID" => "", "FROM_USER_ID" => $arParams["FROM_USER_ID"], "NOTIFY_TYPE" => IM_NOTIFY_FROM, "NOTIFY_MODULE" => "blog"); $aditGM = ""; if (IntVal($arParams["FROM_USER_ID"]) > 0) { $dbUser = CUser::GetByID($arParams["FROM_USER_ID"]); if ($arUser = $dbUser->Fetch()) { if ($arUser["PERSONAL_GENDER"] == "F") { $aditGM = "_FEMALE"; } } } if (CModule::IncludeModule("socialnetwork")) { $rsLog = CSocNetLog::GetList(array(), array("EVENT_ID" => array("blog_post", "blog_post_important", "blog_post_micro"), "SOURCE_ID" => $arParams["ID"]), false, false, array("ID")); if ($arLog = $rsLog->Fetch()) { $arMessageFields["LOG_ID"] = $arLog["ID"]; } } $arParams["TITLE"] = str_replace(array("\r\n", "\n"), " ", $arParams["TITLE"]); $arParams["TITLE"] = TruncateText($arParams["TITLE"], 100); $arParams["TITLE_OUT"] = TruncateText($arParams["TITLE"], 255); $serverName = (CMain::IsHTTPS() ? "https" : "http") . "://" . (defined("SITE_SERVER_NAME") && strlen(SITE_SERVER_NAME) > 0 ? SITE_SERVER_NAME : COption::GetOptionString("main", "server_name", "")); if (IsModuleInstalled("extranet")) { $user_path = COption::GetOptionString("socialnetwork", "user_page", false, SITE_ID); if (strpos($arParams["URL"], $user_path) === 0) { $arParams["URL"] = str_replace($user_path, "#USER_PATH#", $arParams["URL"]); } } if ($arParams["TYPE"] == "POST") { $arMessageFields["NOTIFY_EVENT"] = "post"; $arMessageFields["NOTIFY_TAG"] = "BLOG|POST|" . $arParams["ID"]; $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("BLG_GP_IM_1" . $aditGM, array("#title#" => "<a href=\"" . $arParams["URL"] . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("BLG_GP_IM_1" . $aditGM, array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " " . $serverName . $arParams["URL"] . ""; } elseif ($arParams["TYPE"] == "COMMENT") { $arMessageFields["NOTIFY_EVENT"] = "comment"; $arMessageFields["NOTIFY_TAG"] = "BLOG|COMMENT|" . $arParams["ID"]; $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("BLG_GP_IM_4" . $aditGM, array("#title#" => "<a href=\"" . $arParams["URL"] . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("BLG_GP_IM_4" . $aditGM, array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " " . $serverName . $arParams["URL"] . "\n\n" . $arParams["BODY"]; $arMessageFields["NOTIFY_MESSAGE_AUTHOR"] = GetMessage("BLG_GP_IM_5" . $aditGM, array("#title#" => "<a href=\"" . $arParams["URL"] . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_AUTHOR_OUT"] = GetMessage("BLG_GP_IM_5" . $aditGM, array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " " . $serverName . $arParams["URL"] . "\n\n" . $arParams["BODY"]; } elseif ($arParams["TYPE"] == "SHARE") { $arMessageFields["NOTIFY_EVENT"] = "share"; $arMessageFields["NOTIFY_TAG"] = "BLOG|SHARE|" . $arParams["ID"]; $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("BLG_GP_IM_8" . $aditGM, array("#title#" => "<a href=\"" . $arParams["URL"] . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("BLG_GP_IM_8" . $aditGM, array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " " . $serverName . $arParams["URL"] . ""; } elseif ($arParams["TYPE"] == "SHARE2USERS") { $arMessageFields["NOTIFY_EVENT"] = "share2users"; $arMessageFields["NOTIFY_TAG"] = "BLOG|SHARE2USERS|" . $arParams["ID"]; $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("BLG_GP_IM_9" . $aditGM, array("#title#" => "<a href=\"" . $arParams["URL"] . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("BLG_GP_IM_9" . $aditGM, array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " " . $serverName . $arParams["URL"] . ""; } foreach ($arUsers as $v) { if (!empty($arParams["EXCLUDE_USERS"]) && IntVal($arParams["EXCLUDE_USERS"][$v]) > 0) { continue; } if (IsModuleInstalled("extranet")) { $arTmp = CSocNetLogTools::ProcessPath(array("URL" => $arParams["URL"]), $v); $url = $arTmp["URLS"]["URL"]; if (strpos($url, "http://") === 0 || strpos($url, "https://") === 0) { $serverName = ""; } else { $serverName = $arTmp["SERVER_NAME"]; } if ($arParams["TYPE"] == "POST") { $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("BLG_GP_IM_1" . $aditGM, array("#title#" => "<a href=\"" . $url . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("BLG_GP_IM_1" . $aditGM, array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " (" . $serverName . $url . ")"; } elseif ($arParams["TYPE"] == "COMMENT") { $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("BLG_GP_IM_4" . $aditGM, array("#title#" => "<a href=\"" . $url . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("BLG_GP_IM_4" . $aditGM, array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " " . $serverName . $url . "\n\n" . $arParams["BODY"]; $arMessageFields["NOTIFY_MESSAGE_AUTHOR"] = GetMessage("BLG_GP_IM_5" . $aditGM, array("#title#" => "<a href=\"" . $url . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_AUTHOR_OUT"] = GetMessage("BLG_GP_IM_5" . $aditGM, array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " " . $serverName . $url . "\n\n" . $arParams["BODY"]; } elseif ($arParams["TYPE"] == "SHARE") { $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("BLG_GP_IM_8" . $aditGM, array("#title#" => "<a href=\"" . $url . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("BLG_GP_IM_8" . $aditGM, array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " " . $serverName . $url . ""; } elseif ($arParams["TYPE"] == "SHARE2USERS") { $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("BLG_GP_IM_9" . $aditGM, array("#title#" => "<a href=\"" . $url . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("BLG_GP_IM_9" . $aditGM, array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " " . $serverName . $url . ""; } } $arMessageFieldsTmp = $arMessageFields; if ($arParams["TYPE"] == "COMMENT") { if ($arParams["AUTHOR_ID"] == $v) { $arMessageFieldsTmp["NOTIFY_MESSAGE"] = $arMessageFields["NOTIFY_MESSAGE_AUTHOR"]; $arMessageFieldsTmp["NOTIFY_MESSAGE_OUT"] = $arMessageFields["NOTIFY_MESSAGE_AUTHOR_OUT"]; } } $arMessageFieldsTmp["TO_USER_ID"] = $v; $ID = CIMNotify::Add($arMessageFieldsTmp); $arUserIDSent[] = $v; } if (!empty($arParams["MENTION_ID"])) { if (!is_array($arParams["MENTION_ID_OLD"])) { $arParams["MENTION_ID_OLD"] = array(); } foreach ($arParams["MENTION_ID"] as $val) { $val = IntVal($val); if (IntVal($val) > 0 && !in_array($val, $arUsers) && !in_array($val, $arParams["MENTION_ID_OLD"]) && $val != $arParams["FROM_USER_ID"]) { if (CBlogPost::GetSocNetPostPerms($arParams["ID"], false, $val) >= BLOG_PERMS_READ) { $arMessageFields["TO_USER_ID"] = $val; $arMessageFields["NOTIFY_EVENT"] = "mention"; if (IsModuleInstalled("extranet")) { $arTmp = CSocNetLogTools::ProcessPath(array("URL" => $arParams["URL"]), $val); $url = $arTmp["URLS"]["URL"]; if (strpos($url, "http://") === 0 || strpos($url, "https://") === 0) { $serverName = ""; } else { $serverName = $arTmp["SERVER_NAME"]; } if ($arParams["TYPE"] == "POST") { $arMessageFields["NOTIFY_TAG"] = "BLOG|POST_MENTION|" . $arParams["ID"]; $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("BLG_GP_IM_6" . $aditGM, array("#title#" => "<a href=\"" . $url . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("BLG_GP_IM_6" . $aditGM, array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " " . $serverName . $url . ""; } elseif ($arParams["TYPE"] == "COMMENT") { $arMessageFields["NOTIFY_TAG"] = "BLOG|COMMENT_MENTION|" . $arParams["ID"]; $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("BLG_GP_IM_7" . $aditGM, array("#title#" => "<a href=\"" . $url . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("BLG_GP_IM_7" . $aditGM, array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " " . $serverName . $url . ""; } } else { if ($arParams["TYPE"] == "POST") { $arMessageFields["NOTIFY_TAG"] = "BLOG|POST_MENTION|" . $arParams["ID"]; $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("BLG_GP_IM_6" . $aditGM, array("#title#" => "<a href=\"" . $arParams["URL"] . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("BLG_GP_IM_6" . $aditGM, array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " " . $serverName . $arParams["URL"] . ""; } elseif ($arParams["TYPE"] == "COMMENT") { $arMessageFields["NOTIFY_TAG"] = "BLOG|COMMENT_MENTION|" . $arParams["ID"]; $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("BLG_GP_IM_7" . $aditGM, array("#title#" => "<a href=\"" . $arParams["URL"] . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("BLG_GP_IM_7" . $aditGM, array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " " . $serverName . $arParams["URL"] . ""; } } $ID = CIMNotify::Add($arMessageFields); $arUserIDSent[] = $val; if (intval($ID) > 0 && intval($arMessageFields["LOG_ID"]) > 0) { foreach (GetModuleEvents("blog", "OnBlogPostMentionNotifyIm", true) as $arEvent) { ExecuteModuleEventEx($arEvent, array($ID, $arMessageFields)); } } } } } } if ($arParams["TYPE"] == "POST" && !empty($arParams["TO_SOCNET_RIGHTS"])) { $arGroupsId = array(); foreach ($arParams["TO_SOCNET_RIGHTS"] as $perm_tmp) { if (preg_match('/^SG(\\d+)_' . SONET_ROLES_USER . '$/', $perm_tmp, $matches) || preg_match('/^SG(\\d+)$/', $perm_tmp, $matches)) { $group_id_tmp = $matches[1]; if ($group_id_tmp > 0 && (!array_key_exists("SG", $arParams["TO_SOCNET_RIGHTS_OLD"]) || empty($arParams["TO_SOCNET_RIGHTS_OLD"]["SG"][$group_id_tmp]))) { $arGroupsId[] = $group_id_tmp; } } } if (!empty($arGroupsId)) { $title_tmp = str_replace(array("\r\n", "\n"), " ", $arParams["TITLE"]); $title = TruncateText($title_tmp, 100); $title_out = TruncateText($title_tmp, 255); $arNotifyParams = array("LOG_ID" => $arMessageFields["LOG_ID"], "GROUP_ID" => $arGroupsId, "NOTIFY_MESSAGE" => "", "FROM_USER_ID" => $arParams["FROM_USER_ID"], "URL" => $arParams["URL"], "MESSAGE" => GetMessage("SONET_IM_NEW_POST", array("#title#" => "<a href=\"#URL#\" class=\"bx-notifier-item-action\">" . $title . "</a>")), "MESSAGE_OUT" => GetMessage("SONET_IM_NEW_POST", array("#title#" => $title_out)) . " #URL#", "EXCLUDE_USERS" => array_merge(array($arParams["FROM_USER_ID"]), array($arUserIDSent))); CSocNetSubscription::NotifyGroup($arNotifyParams); } } }
?> </span></div></a> <?php } ?> </td> <td> <h2><a href="<?php echo $URL; ?> "><?php echo $NAME; ?> </a></h2> <p class="post-info"><?php echo TruncateText($arItem["DETAIL_TEXT"], 80); ?> </p> </td> </tr> <tr> <td colspan="2"> <p class="tags"> <strong><?php echo LANG('AUTHOR'); ?> </strong> <?php echo User::GetSign($arItem["CREATED_BY"]); ?> , <strong><?php
$oSort = new CAdminSorting($sTableID, "ID", "asc"); $lAdmin = new CAdminList($sTableID, $oSort); $aMenu = array(); $VOTE_ID = intval($_REQUEST["VOTE_ID"]); $z = CVote::GetByID($VOTE_ID); if (!($arVote = $z->Fetch())) { require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; echo "<a href='vote_list.php?lang=" . LANGUAGE_ID . "' class='navchain'>" . GetMessage("VOTE_VOTE_LIST") . "</a>"; echo ShowError(GetMessage("VOTE_NOT_FOUND")); require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php"; die; } $t = CVoteChannel::GetByID($arVote["CHANNEL_ID"]); $arChannel = $t->Fetch(); $adminChain->AddItem(array("TEXT" => htmlspecialcharsbx($arChannel["TITLE"]), "LINK" => "vote_channel_edit.php?ID={$arChannel['ID']}&lang=" . LANGUAGE_ID)); $adminChain->AddItem(array("TEXT" => strlen($arVote["TITLE"]) > 0 ? htmlspecialcharsbx($arVote["TITLE"]) : TruncateText($arVote["DESCRIPTION_TYPE"] == "html" ? strip_tags($arVote["DESCRIPTION"]) : htmlspecialcharsbx($arVote["DESCRIPTION"]), 200), "LINK" => "vote_edit.php?ID={$arVote['ID']}&lang=" . LANGUAGE_ID)); $arFilterFields = array("find_id", "find_id_exact_match", "find_active", "find_diagram", "find_required", "find_question", "find_question_exact_match"); $lAdmin->InitFilter($arFilterFields); /******************************************************************** Actions ********************************************************************/ InitBVar($find_id_exact_match); InitBVar($find_question_exact_match); $arFilter = array("ID" => $find_id, "ID_EXACT_MATCH" => $find_id_exact_match, "ACTIVE" => $find_active, "DIAGRAM" => $find_diagram, "REQUIRED" => $find_required, "QUESTION" => $find_question, "QUESTION_EXACT_MATCH" => $find_question_exact_match); if (!($VOTE_RIGHT >= "W" && check_bitrix_sessid())) { // } else { if ($lAdmin->EditAction()) { if (!function_exists("__makeFileArray")) { function __makeFileArray($data, $del = false) {
$arTmp["TEXT_FORMATED"] = $text; $arTmp["DATE_PUBLISH_FORMATED"] = FormatDate($arParams["DATE_TIME_FORMAT"], MakeTimeStamp($arTmp["DATE_PUBLISH"], CSite::GetDateFormat("FULL"))); if ($arTmp["MICRO"] == "Y") { $text1 = TruncateText($text1, $arParams["MESSAGE_LENGTH"]); $text1 = $p->convert($text1, true, false, array("HTML" => "N", "ANCHOR" => "N", "BIU" => "N", "IMG" => "N", "QUOTE" => "N", "CODE" => "N", "FONT" => "N", "LIST" => "N", "SMILES" => "Y", "NL2BR" => "N")); $text1 = CBlogTools::DeleteDoubleBR($text1); $arTmp["TITLE"] = str_replace(array("<br />", "<br>"), "", $text1); $arTmp["TITLE"] = trim(blogTextParser::killAllTags($arTmp["TITLE"])); $arTmp["~TITLE"] = htmlspecialcharsback($arTmp["TITLE"]); if (strlen($arTmp["TITLE"]) <= 0) { $arTmp["TITLE"] = $arPost["TITLE"]; $arTmp["~TITLE"] = $arPost["~TITLE"]; } } } else { $arTmp["TITLE"] = TruncateText($arTmp["TITLE"], $arParams["MESSAGE_LENGTH"]); } if ($arParams["USE_SOCNET"] == "Y") { $arTmp["urlToBlog"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG"], array("user_id" => $arPost["AUTHOR_ID"])); $arTmp["urlToPost"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_POST"], array("post_id" => CBlogPost::GetPostID($arPost["ID"], $arPost["CODE"], $arParams["ALLOW_POST_CODE"]), "user_id" => $arPost["AUTHOR_ID"])); } else { if ($arTmp["AUTHOR_ID"] == $arTmp["BLOG_OWNER_ID"]) { $arTmp["urlToBlog"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG"], array("blog" => $arPost["BLOG_URL"])); } else { $arOwnerBlog = CBlog::GetByOwnerID($arTmp["AUTHOR_ID"], $arParams["GROUP_ID"]); if (!empty($arOwnerBlog)) { $arTmp["urlToBlog"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG"], array("blog" => $arOwnerBlog["URL"])); } else { $arTmp["urlToBlog"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG"], array("blog" => $arPost["BLOG_URL"])); } }
function GetDropDownFilter($ID, $PARAMETER_NAME, $FID, $field = "class=\"inputselect\"") { $err_mess = CAllForm::err_mess() . "<br>Function: GetDropDownFilter<br>Line: "; global $DB, $MESS, $strError; if ($PARAMETER_NAME == "ANSWER_VALUE") { $str = ", VALUE as REFERENCE"; } else { $str = ", MESSAGE as REFERENCE"; } $ID = intval($ID); $strSql = "\n\t\t\tSELECT\n\t\t\t\tID as REFERENCE_ID\n\t\t\t\t{$str}\n\t\t\tFROM\n\t\t\t\tb_form_answer\n\t\t\tWHERE\n\t\t\t\tFIELD_ID = {$ID}\n\t\t\tORDER BY\n\t\t\t\tC_SORT\n\t\t\t"; $z = $DB->Query($strSql, false, $err_mess . __LINE__); $ref = array(); $ref_id = array(); while ($zr = $z->Fetch()) { if (strlen(trim($zr["REFERENCE"])) > 0) { $ref[] = TruncateText($zr["REFERENCE"], 70); $ref_id[] = $zr["REFERENCE_ID"]; } } $arr = array("reference_id" => $ref_id, "reference" => $ref); $var = "find_" . $FID; global ${$var}; return SelectBoxFromArray($var, $arr, ${$var}, GetMessage("FORM_ALL"), $field); }
$nn++; $eTime = ""; $arTime = array(); if ($arParams["SHOW_TIME"]) { $arTime = ParseDateTime($dayNews["DATE_ACTIVE_FROM"], CLang::GetDateFormat("FULL")); if (IntVal($arTime["HH"]) > 0 || $arTime["MI"] > 0) { $eTime = $arTime["HH"] . ":" . $arTime["MI"] . " "; } } if ($dayNews["PREVIEW_TEXT_TYPE"] == "text" && strlen($dayNews["PREVIEW_TEXT"]) > 0) { $sTitle = TruncateText($dayNews["PREVIEW_TEXT"], 100); } else { $sTitle = $dayNews["NAME"]; } if ($arParams["TITLE_LEN"] > 0) { $title = TruncateText($dayNews["NAME"], $arParams["TITLE_LEN"]); } else { $title = $dayNews["NAME"]; } $arDay["events"][] = array("time" => $eTime, "url" => $dayNews["DETAIL_PAGE_URL"], "title" => $title, "preview" => $sTitle, $arParams["DATE_FIELD"] => $dayNews[$arParams["DATE_FIELD"]]); if ($arParams["NEWS_COUNT"] > 0 && $arParams["NEWS_COUNT"] <= $nn) { break; } } } $arWeek[] = $arDay; } if ($bBreak) { break; } $arResult["MONTH"][] = $arWeek;
foreach ($arNewRights as $v) { if (substr($v, 0, 2) == "SG") { $group_id_tmp = substr($v, 2); if (IntVal($group_id_tmp) > 0) { CSocNetGroup::SetLastActivity(IntVal($group_id_tmp)); } } } \Bitrix\Main\FinderDestTable::merge(array("CONTEXT" => "blog_post", "CODE" => \Bitrix\Main\FinderDestTable::convertRights($arNewRights))); } } die; } /* end share */ if (!$arResult["bFromList"]) { $strTitle = $arPost["MICRO"] != "Y" ? $arPost["TITLE"] : TruncateText(blogTextParser::killAllTags($arPost["DETAIL_TEXT"]), 100); if (IsModuleInstalled("intranet")) { $APPLICATION->SetPageProperty("title", $strTitle); } else { $APPLICATION->SetTitle($strTitle); } } if ($arParams["SET_NAV_CHAIN"] == "Y") { $APPLICATION->AddChainItem($arBlog["NAME"], CComponentEngine::MakePathFromTemplate(htmlspecialcharsback($arParams["PATH_TO_BLOG"]), array("blog" => $arBlog["URL"], "user_id" => $arPost["AUTHOR_ID"], "group_id" => $arParams["SOCNET_GROUP_ID"]))); } $cache = new CPHPCache(); $arCacheID = array(); $arKeys = array("MOBILE", "USE_CUT", "PATH_TO_SMILE", "ATTACHED_IMAGE_MAX_WIDTH_SMALL", "ATTACHED_IMAGE_MAX_HEIGHT_SMALL", "ATTACHED_IMAGE_MAX_WIDTH_FULL", "ATTACHED_IMAGE_MAX_HEIGHT_FULL", "POST_PROPERTY", "PATH_TO_USER", "PATH_TO_POST", "PATH_TO_GROUP", "PATH_TO_SEARCH_TAG", "IMAGE_MAX_WIDTH", "IMAGE_MAX_HEIGHT", "DATE_TIME_FORMAT", "DATE_TIME_FORMAT_S", "ALLOW_POST_CODE", "AVATAR_SIZE_COMMENT", "NAME_TEMPLATE", "SHOW_LOGIN"); foreach ($arKeys as $param_key) { $arCacheID[$param_key] = array_key_exists($param_key, $arParams) ? $arParams[$param_key] : false; }
} $text = preg_replace("#\\[img\\](.+?)\\[/img\\]#ie", "", $arPost["~DETAIL_TEXT"]); $text = preg_replace("#\\[url(.+?)\\](.*?)\\[/url\\]#is", "\\2", $text); $text = preg_replace("#\\[video(.+?)\\](.+?)\\[/video\\]#ie", "", $text); $text = preg_replace("#^(.+?)<cut[\\s]*(/>|>).*?\$#is", "\\1", $text); $text = preg_replace("#^(.+?)\\[cut[\\s]*(/\\]|\\]).*?\$#is", "\\1", $text); $text = preg_replace("#(\\[|<)(/?)(b|u|i|list|code|quote|url|img|color|font|/*)(.*?)(\\]|>)#is", "", $text); $text = TruncateText($text, $arParams["MESSAGE_LENGTH"]); $text1 = $text; $title = $p->convert($text1, true, false, array("HTML" => "N", "ANCHOR" => "N", "BIU" => "N", "IMG" => "N", "QUOTE" => "N", "CODE" => "N", "FONT" => "N", "LIST" => "N", "SMILES" => "N", "NL2BR" => "N")); $text = $p->convert($text, true, false, array("HTML" => "N", "ANCHOR" => "N", "BIU" => "N", "IMG" => "N", "QUOTE" => "N", "CODE" => "N", "FONT" => "N", "LIST" => "N", "SMILES" => "Y", "NL2BR" => "N")); $text = CBlogTools::DeleteDoubleBR($text); $arTmp["TEXT_FORMATED"] = $text; $arTmp["DATE_PUBLISH_FORMATED"] = FormatDate($arParams["DATE_TIME_FORMAT"], MakeTimeStamp($arTmp["DATE_PUBLISH"], CSite::GetDateFormat("FULL"))); if ($arTmp["MICRO"] == "Y") { $arTmp["TITLE"] = TruncateText(str_replace(array("<br />", "<br>"), "", $title), 60); $arTmp["~TITLE"] = htmlspecialcharsback($arTmp["TITLE"]); } $itemCnt++; $arResult[] = $arTmp; $ids[] = $arTmp["ID"]; } $arResult["IDS"] = $ids; } if ($arParams["CACHE_TIME"] > 0) { $cache->EndDataCache(array("templateCachedData" => $this->GetTemplateCachedData(), "arResult" => $arResult)); } } if ($arParams["SHOW_RATING"] == "Y" && !empty($arResult["IDS"])) { $arResult[0]['RATING'] = CRatings::GetRatingVoteResult('BLOG_POST', $arResult["IDS"]); }
function NotifyIm($arParams) { if (!CModule::IncludeModule("im")) { return; } $arUsers = array(); if (!empty($arParams["TO_USER_ID"])) { foreach ($arParams["TO_USER_ID"] as $val) { $val = IntVal($val); if ($val > 0 && $val != $arParams["FROM_USER_ID"]) { $arUsers[] = $val; } } } if (!empty($arParams["TO_SOCNET_RIGHTS"])) { foreach ($arParams["TO_SOCNET_RIGHTS"] as $v) { if (substr($v, 0, 1) == "U") { $u = IntVal(substr($v, 1)); if ($u > 0 && !in_array($u, $arUsers) && empty($arParams["TO_SOCNET_RIGHTS_OLD"][$u]) && $u != $arParams["FROM_USER_ID"]) { $arUsers[] = $u; } } } } $arMessageFields = array("MESSAGE_TYPE" => IM_MESSAGE_SYSTEM, "TO_USER_ID" => "", "FROM_USER_ID" => $arParams["FROM_USER_ID"], "NOTIFY_TYPE" => IM_NOTIFY_FROM, "NOTIFY_MODULE" => "blog"); if (CModule::IncludeModule("socialnetwork")) { $rsLog = CSocNetLog::GetList(array(), array("EVENT_ID" => array("blog_post", "blog_post_micro"), "SOURCE_ID" => $arParams["ID"]), false, false, array("ID")); if ($arLog = $rsLog->Fetch()) { $arMessageFields["LOG_ID"] = $arLog["ID"]; } } $arParams["TITLE"] = str_replace(array("\r\n", "\n"), " ", $arParams["TITLE"]); $arParams["TITLE"] = TruncateText($arParams["TITLE"], 100); $arParams["TITLE_OUT"] = TruncateText($arParams["TITLE"], 255); $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", ""); } } $serverName = (CMain::IsHTTPS() ? "https" : "http") . "://" . $serverName; if ($arParams["TYPE"] == "POST") { $arMessageFields["NOTIFY_EVENT"] = "post"; $arMessageFields["NOTIFY_TAG"] = "BLOG|POST|" . $arParams["ID"]; $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("BLG_GP_IM_1", array("#title#" => "<a href=\"" . $arParams["URL"] . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("BLG_GP_IM_1", array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " (" . $serverName . $arParams["URL"] . ")"; } elseif ($arParams["TYPE"] == "COMMENT") { $arMessageFields["NOTIFY_EVENT"] = "comment"; $arMessageFields["NOTIFY_TAG"] = "BLOG|COMMENT|" . $arParams["ID"]; $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("BLG_GP_IM_4", array("#title#" => "<a href=\"" . $arParams["URL"] . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("BLG_GP_IM_4", array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " (" . $serverName . $arParams["URL"] . ")"; $arMessageFields["NOTIFY_MESSAGE_AUTHOR"] = GetMessage("BLG_GP_IM_5", array("#title#" => "<a href=\"" . $arParams["URL"] . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_AUTHOR_OUT"] = GetMessage("BLG_GP_IM_5", array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " (" . $serverName . $arParams["URL"] . ")"; } foreach ($arUsers as $v) { if (!empty($arParams["EXCLUDE_USERS"]) && IntVal($arParams["EXCLUDE_USERS"][$v]) > 0) { continue; } $arMessageFieldsTmp = $arMessageFields; if ($arParams["TYPE"] == "COMMENT") { if ($arParams["AUTHOR_ID"] == $v) { $arMessageFieldsTmp["NOTIFY_MESSAGE"] = $arMessageFields["NOTIFY_MESSAGE_AUTHOR"]; $arMessageFieldsTmp["NOTIFY_MESSAGE_OUT"] = $arMessageFields["NOTIFY_MESSAGE_AUTHOR_OUT"]; } } $arMessageFieldsTmp["TO_USER_ID"] = $v; $ID = CIMNotify::Add($arMessageFieldsTmp); } if (!empty($arParams["MENTION_ID"])) { if (!is_array($arParams["MENTION_ID_OLD"])) { $arParams["MENTION_ID_OLD"] = array(); } foreach ($arParams["MENTION_ID"] as $val) { $val = IntVal($val); if (IntVal($val) > 0 && !in_array($val, $arUsers) && !in_array($val, $arParams["MENTION_ID_OLD"]) && $val != $arParams["FROM_USER_ID"]) { if (CBlogPost::GetSocNetPostPerms($arParams["ID"], false, $val) >= BLOG_PERMS_READ) { $arMessageFields["TO_USER_ID"] = $val; $arMessageFields["NOTIFY_EVENT"] = "mention"; if ($arParams["TYPE"] == "POST") { $arMessageFields["NOTIFY_TAG"] = "BLOG|POST_MENTION|" . $arParams["ID"]; $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("BLG_GP_IM_6", array("#title#" => "<a href=\"" . $arParams["URL"] . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("BLG_GP_IM_6", array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " (" . $arParams["URL"] . ")"; } elseif ($arParams["TYPE"] == "COMMENT") { $arMessageFields["NOTIFY_TAG"] = "BLOG|COMMENT_MENTION|" . $arParams["ID"]; $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("BLG_GP_IM_7", array("#title#" => "<a href=\"" . $arParams["URL"] . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>")); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("BLG_GP_IM_7", array("#title#" => htmlspecialcharsbx($arParams["TITLE_OUT"]))) . " (" . $arParams["URL"] . ")"; } $ID = CIMNotify::Add($arMessageFields); if (intval($ID) > 0 && intval($arMessageFields["LOG_ID"]) > 0) { $db_events = GetModuleEvents("blog", "OnBlogPostMentionNotifyIm"); while ($arEvent = $db_events->Fetch()) { ExecuteModuleEventEx($arEvent, array($ID, $arMessageFields)); } } } } } } }
if ($icon) { ?> with-icon<?php } ?> "<?php if ($icon) { ?> style="background-image: url('<?php echo $icon; ?> ');"<?php } ?> ><?php echo TruncateText($arResult['TASK']['NAME'], 100); ?> <div class="priorb prior<?php echo $arResult['TASK']['PROPS']['PRIORITY']['VALUE']; ?> " title="Приоритет: <?php echo $arResult['TASK']['PROPS']['PRIORITY']['VALUE']; ?> "><?php echo $arResult['TASK']['PROPS']['PRIORITY']['VALUE']; ?> </div> </h2> <input data-edittask="Y" name="NAME_NEW" type="text" class="form-control editable_hidden" value="<?php echo $arResult['TASK']['NAME']; ?>
* @var CUser $USER */ $rights = "N"; if (\CSocNetUser::IsCurrentUserModuleAdmin() || $APPLICATION->GetGroupRight("blog") >= "W") { $rights = "ALL"; } else { if (IsModuleInstalled("intranet") && $USER->IsAuthorized()) { $rights = "OWN"; } else { if (!IsModuleInstalled("intranet")) { $rights = $arResult["Perm"] < BLOG_PERMS_FULL ? "OWNLAST" : "ALL"; } } } $eventHandlerID = AddEventHandler('main', 'system.field.view.file', array('CBlogTools', 'blogUFfileShow')); $arResult["OUTPUT_LIST"] = $APPLICATION->IncludeComponent("bitrix:main.post.list", "", array("TEMPLATE_ID" => 'BLOG_COMMENT_BG_', "RATING_TYPE_ID" => $arParams["SHOW_RATING"] == "Y" ? "BLOG_COMMENT" : "", "ENTITY_XML_ID" => $arParams["ENTITY_XML_ID"], "RECORDS" => $arResult["RECORDS"], "NAV_STRING" => $arResult["NAV_STRING"], "NAV_RESULT" => $arResult["NAV_RESULT"], "PREORDER" => "N", "RIGHTS" => array("MODERATE" => $arResult["Perm"] >= BLOG_PERMS_MODERATE ? "Y" : "N", "EDIT" => $rights, "DELETE" => $rights), "VISIBLE_RECORDS_COUNT" => $arResult["newCount"], "ERROR_MESSAGE" => $arResult["ERROR_MESSAGE"] ?: $arResult["COMMENT_ERROR"], "OK_MESSAGE" => $arResult["MESSAGE"], "RESULT" => $arResult["ajax_comment"] ?: $_GET["commentId"], "PUSH&PULL" => $arResult["PUSH&PULL"], "VIEW_URL" => str_replace("#comment_id#", "#ID#", $arResult["urlMobileToComment"]), "EDIT_URL" => str_replace("#comment_id#", "#ID#", $arResult["urlMobileToComment"]), "MODERATE_URL" => str_replace(array("hide_comment_id=", "#comment_id#"), array("#action#_comment_id=", "#ID#"), $arResult["urlMobileToHide"]), "DELETE_URL" => str_replace("#comment_id#", "#ID#", $arResult["urlMobileToDelete"]), "AUTHOR_URL" => "/mobile/users/?user_id=#user_id#", "AVATAR_SIZE" => $arParams["AVATAR_SIZE_COMMENT"], "NAME_TEMPLATE" => $arParams["NAME_TEMPLATE"], "SHOW_LOGIN" => $arParams['SHOW_LOGIN'], "DATE_TIME_FORMAT" => $arParams["DATE_TIME_FORMAT"], "LAZYLOAD" => $arParams["LAZYLOAD"], "NOTIFY_TAG" => $arParams["bFromList"] ? "BLOG|COMMENT" : "", "NOTIFY_TEXT" => $arParams["bFromList"] ? TruncateText(str_replace(array("\r\n", "\n"), " ", $arParams["POST_DATA"]["~TITLE"]), 100) : "", "SHOW_MINIMIZED" => "Y", "SHOW_POST_FORM" => $arResult["CanUserComment"] ? "Y" : "N", "IMAGE_SIZE" => $arParams["IMAGE_SIZE"], "mfi" => $arParams["mfi"], "FORM" => array("ID" => $this->__component->__name, "URL" => $APPLICATION->GetCurPageParam("", array("sessid", "comment_post_id", "act", "post", "comment", "decode", "ACTION", "ENTITY_TYPE_ID", "ENTITY_ID", "empty_get_form", "empty_get_comments")))), $this->__component); if ($eventHandlerID > 0) { RemoveEventHandler('main', 'system.field.view.file', $eventHandlerID); } if ($arResult["CanUserComment"] == "Y") { ob_start(); include_once __DIR__ . "/script.php"; $arResult["OUTPUT_LIST"]["HTML"] .= ob_get_clean(); } if ($_REQUEST["empty_get_comments"] == "Y") { $APPLICATION->RestartBuffer(); while (ob_get_clean()) { } echo CUtil::PhpToJSObject(array("TEXT" => $arResult["OUTPUT_LIST"]["HTML"], "POST_NUM_COMMENTS" => intval($arResult["Post"]["NUM_COMMENTS"]))); die; }
static function AddComment_Wiki($arFields) { if (!CModule::IncludeModule('iblock')) { return false; } if (!CModule::IncludeModule('socialnetwork')) { return false; } $ufFileID = array(); $ufDocID = array(); $dbResult = CSocNetLog::GetList(array('ID' => 'DESC'), array('TMP_ID' => $arFields['LOG_ID']), false, false, array('ID', 'SOURCE_ID', 'PARAMS', 'URL')); $bFound = false; if ($arLog = $dbResult->Fetch()) { if (strlen($arLog['PARAMS']) > 0) { $arFieldsParams = explode('&', $arLog['PARAMS']); if (is_array($arFieldsParams) && count($arFieldsParams) > 0) { foreach ($arFieldsParams as $tmp) { list($key, $value) = explode('=', $tmp); if ($key == 'forum_id') { $FORUM_ID = intval($value); break; } } } } if ($FORUM_ID > 0 && intval($arLog['SOURCE_ID']) > 0) { $bFound = true; } } if ($bFound) { $arElement = false; $arFilter = array('ID' => $arLog['SOURCE_ID']); $arSelectedFields = array('IBLOCK_ID', 'ID', 'NAME', 'TAGS', 'CODE', 'IBLOCK_SECTION_ID', 'DETAIL_PAGE_URL', 'CREATED_BY', 'PREVIEW_PICTURE', 'PREVIEW_TEXT', 'PROPERTY_FORUM_TOPIC_ID', 'PROPERTY_FORUM_MESSAGE_CNT'); $db_res = CIBlockElement::GetList(array(), $arFilter, false, false, $arSelectedFields); if ($db_res && ($res = $db_res->GetNext())) { $arElement = $res; } if ($arElement) { // check iblock properties CSocNetLogTools::AddComment_Review_CheckIBlock($arElement); $dbMessage = CForumMessage::GetList(array(), array('PARAM2' => $arElement['ID'])); if (!($arMessage = $dbMessage->Fetch())) { // Add Topic and Root Message $TOPIC_ID = CSocNetLogTools::AddComment_Review_CreateRoot($arElement, $FORUM_ID, false); $bNewTopic = true; } else { $TOPIC_ID = $arMessage['TOPIC_ID']; } if (intval($TOPIC_ID) > 0) { // Add comment $messageID = false; $arFieldsMessage = array('POST_MESSAGE' => $arFields['TEXT_MESSAGE'], 'USE_SMILES' => 'Y', 'PARAM2' => $arElement['ID'], 'APPROVED' => 'Y'); $GLOBALS["USER_FIELD_MANAGER"]->EditFormAddFields("SONET_COMMENT", $arTmp); if (is_array($arTmp)) { if (array_key_exists("UF_SONET_COM_DOC", $arTmp)) { $GLOBALS["UF_FORUM_MESSAGE_DOC"] = $arTmp["UF_SONET_COM_DOC"]; } elseif (array_key_exists("UF_SONET_COM_FILE", $arTmp)) { $arFieldsMessage["FILES"] = array(); foreach ($arTmp["UF_SONET_COM_FILE"] as $file_id) { $arFieldsMessage["FILES"][] = array("FILE_ID" => $file_id); } } } $messageID = ForumAddMessage('REPLY', $FORUM_ID, $TOPIC_ID, 0, $arFieldsMessage, $sError, $sNote); if (!$messageID) { $strError = GetMessage('SONET_ADD_COMMENT_SOURCE_ERROR'); } else { $dbAddedMessageFiles = CForumFiles::GetList(array("ID" => "ASC"), array("MESSAGE_ID" => $messageID)); while ($arAddedMessageFiles = $dbAddedMessageFiles->Fetch()) { $ufFileID[] = $arAddedMessageFiles["FILE_ID"]; } $ufDocID = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFieldValue("FORUM_MESSAGE", "UF_FORUM_MESSAGE_DOC", $messageID, LANGUAGE_ID); CSocNetLogTools::AddComment_Review_UpdateElement($arElement, $TOPIC_ID, $bNewTopic); $userID = $GLOBALS["USER"]->GetID(); if (CModule::IncludeModule("im") && intval($arElement["CREATED_BY"]) > 0 && $arElement["CREATED_BY"] != $userID) { $rsUnFollower = CSocNetLogFollow::GetList(array("USER_ID" => $arElement["CREATED_BY"], "CODE" => "L" . $arLog["ID"], "TYPE" => "N"), array("USER_ID")); $arUnFollower = $rsUnFollower->Fetch(); if (!$arUnFollower) { $arMessageFields = array("MESSAGE_TYPE" => IM_MESSAGE_SYSTEM, "TO_USER_ID" => $arElement["CREATED_BY"], "FROM_USER_ID" => $userID, "LOG_ID" => $arLog["ID"], "NOTIFY_TYPE" => IM_NOTIFY_FROM, "NOTIFY_MODULE" => "wiki", "NOTIFY_EVENT" => "comment"); $arParams["TITLE"] = str_replace(array("\r\n", "\n"), " ", $arElement["NAME"]); $arParams["TITLE"] = TruncateText($arParams["TITLE"], 100); $arParams["TITLE_OUT"] = TruncateText($arParams["TITLE"], 255); $arTmp = CSocNetLogTools::ProcessPath(array("ELEMENT_URL" => $arLog["URL"]), $arElement["CREATED_BY"]); $serverName = $arTmp["SERVER_NAME"]; $url = $arTmp["URLS"]["ELEMENT_URL"]; $arMessageFields["NOTIFY_TAG"] = "WIKI|COMMENT|" . $arElement['ID']; $arMessageFields["NOTIFY_MESSAGE"] = GetMessage("WIKI_SONET_FROM_LOG_IM_COMMENT", array("#title#" => strlen($url) > 0 ? "<a href=\"" . $url . "\" class=\"bx-notifier-item-action\">" . htmlspecialcharsbx($arParams["TITLE"]) . "</a>" : htmlspecialcharsbx($arParams["TITLE"]))); $arMessageFields["NOTIFY_MESSAGE_OUT"] = GetMessage("WIKI_SONET_FROM_LOG_IM_COMMENT", array("#title#" => htmlspecialcharsbx($arParams["TITLE"]))) . (strlen($url) > 0 ? " (" . $serverName . $url . ")" : "") . "#BR##BR#" . $arFields["TEXT_MESSAGE"]; CIMNotify::Add($arMessageFields); } } } } else { $strError = GetMessage('SONET_ADD_COMMENT_SOURCE_ERROR'); } } else { $strError = GetMessage('SONET_ADD_COMMENT_SOURCE_ERROR'); } } else { $strError = GetMessage('SONET_ADD_COMMENT_SOURCE_ERROR'); } return array('SOURCE_ID' => $messageID, 'RATING_TYPE_ID' => 'FORUM_POST', 'RATING_ENTITY_ID' => $messageID, 'ERROR' => $strError, 'NOTES' => '', "UF" => array("FILE" => $ufFileID, "DOC" => $ufDocID)); }
if (CWikiSocnet::IsSocNet()) { $postUrl = str_replace(array('#group_id#', '#wiki_name#'), array(intval($arParams['SOCNET_GROUP_ID']), urlencode($newName)), $arParams['~PATH_TO_POST']); $dbLog = CSocNetLog::GetList(array('ID' => 'DESC'), array('SOURCE_ID' => $arParams['ELEMENT_ID'])); if ($arLog = $dbLog->Fetch()) { $arSoFields = array('=LOG_DATE' => $GLOBALS['DB']->CurrentTimeFunction(), '=LOG_UPDATE' => $GLOBALS['DB']->CurrentTimeFunction(), 'USER_ID' => $GLOBALS['USER']->GetID(), 'TITLE' => $newName, 'TEXT_MESSAGE' => "\n" . GetMessage('WIKI_MODIFY_COMMENT') . ": " . GetMessage('WIKI_PAGE_RENAMED', array("%OLD_NAME%" => $arParams['ELEMENT_NAME'], "%NEW_NAME%" => $newName)) . "\n", 'URL' => $postUrl); //die(print_r($arSoFields,true)); $logID = CSocNetLog::Update($arLog['ID'], $arSoFields); if (intval($logID) > 0) { CSocNetLogRights::SetForSonet($arLog['ID'], SONET_SUBSCRIBE_ENTITY_GROUP, intval($arParams['SOCNET_GROUP_ID']), "wiki", "view"); CSocNetLog::CounterIncrement($logID); $notify_title_tmp = str_replace(array("\r\n", "\n"), " ", $arLog["TITLE"]); $notify_title_old = TruncateText($notify_title_tmp, 100); $notify_title_old_out = TruncateText($notify_title_tmp, 255); $notify_title_tmp = str_replace(array("\r\n", "\n"), " ", $newName); $notify_title_new = TruncateText($notify_title_tmp, 100); $notify_title_new_out = TruncateText($notify_title_tmp, 255); $arNotifyParams = array("LOG_ID" => $logID, "GROUP_ID" => intval($arParams['SOCNET_GROUP_ID']), "NOTIFY_MESSAGE" => "", "FROM_USER_ID" => $arSoFields["USER_ID"], "URL" => $arSoFields["URL"], "MESSAGE" => GetMessage("WIKI_SONET_IM_RENAME", array("#title_old#" => $notify_title_old, "#title_new#" => "<a href=\"#URL#\" class=\"bx-notifier-item-action\">" . $notify_title_new . "</a>")), "MESSAGE_OUT" => GetMessage("WIKI_SONET_IM_RENAME", array("#title_old#" => $notify_title_old_out, "#title_new#" => $notify_title_new_out)) . " (#URL#)", "EXCLUDE_USERS" => array($arSoFields["USER_ID"])); CSocNetSubscription::NotifyGroup($arNotifyParams); } } } $arParams['ELEMENT_NAME'] = $newName; break; } if (empty($arResult['ERROR_MESSAGE'])) { if (!isset($_POST['apply'])) { LocalRedirect(CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST'], array('wiki_name' => urlencode($arParams['ELEMENT_NAME']), 'group_id' => CWikiSocnet::$iSocNetId)), array('wiki_page_cache_clear' => 'Y'))); } else { LocalRedirect(CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST_EDIT'], array('wiki_name' => urlencode($arParams['ELEMENT_NAME']), 'group_id' => CWikiSocnet::$iSocNetId)), $arParams['IN_COMPLEX'] == 'Y' && $arParams['SEF_MODE'] == 'N' ? array($arParams['OPER_VAR'] => $arResult['WIKI_oper']) : array())); } } else {
if ($itemCnt == 0) { $arTmp["FIRST"] = "Y"; } $text = preg_replace(array("#\\[img\\](.+?)\\[/img\\]#ie", "/\\[document id=\\d+([^\\]]*)\\]/is"), "", $arPost["~DETAIL_TEXT"]); $text = preg_replace("#\\[url(.+?)\\](.*?)\\[/url\\]#is", "\\2", $text); $text = preg_replace("#\\[video(.+?)\\](.+?)\\[/video\\]#ie", "", $text); $text = preg_replace("#^(.+?)<cut[\\s]*(/>|>).*?\$#is", "\\1", $text); $text = preg_replace("#^(.+?)\\[cut[\\s]*(/\\]|\\]).*?\$#is", "\\1", $text); $text = preg_replace("#(\\[|<)(/?)(b|u|i|list|code|quote|url|img|color|font|right|left|center|justify|/*)(.*?)(\\]|>)#is", "", $text); $text1 = $text = TruncateText($text, $arParams["MESSAGE_LENGTH"]); $text = $p->convert($text, true, false, array("HTML" => "N", "ANCHOR" => "N", "BIU" => "N", "IMG" => "N", "QUOTE" => "N", "CODE" => "N", "FONT" => "N", "LIST" => "N", "SMILES" => "Y", "NL2BR" => "N")); $text = CBlogTools::DeleteDoubleBR($text); $arTmp["TEXT_FORMATED"] = $text; $arTmp["DATE_PUBLISH_FORMATED"] = FormatDate($arParams["DATE_TIME_FORMAT"], MakeTimeStamp($arTmp["DATE_PUBLISH"], CSite::GetDateFormat("FULL"))); if ($arTmp["MICRO"] == "Y") { $text1 = TruncateText($text1, 60); $text1 = $p->convert($text1, true, false, array("HTML" => "N", "ANCHOR" => "N", "BIU" => "N", "IMG" => "N", "QUOTE" => "N", "CODE" => "N", "FONT" => "N", "LIST" => "N", "SMILES" => "Y", "NL2BR" => "N")); $text1 = CBlogTools::DeleteDoubleBR($text1); $arTmp["TITLE"] = str_replace(array("<br />", "<br>"), "", $text1); $arTmp["~TITLE"] = htmlspecialcharsback($arTmp["TITLE"]); if (strlen($arTmp["TITLE"]) <= 0) { $arTmp["TITLE"] = $arPost["TITLE"]; $arTmp["~TITLE"] = $arPost["~TITLE"]; } } $user = CUser::GetByID($arPost["AUTHOR_ID"]); $arTmp["arUser"] = $user->Fetch(); $itemCnt++; $arResult[] = $arTmp; $ids[] = $arTmp["ID"]; }