?> BX.submit(BX('<?php echo $arParams["FORM_ID"]; ?> ')); <?php } ?> } </script> <?php } ?> <div id="edit-post-text"><?php $LHE = new CLightHTMLEditor(); $res = array_merge(array('id' => $arParams["LHE"]["id"], 'height' => $arParams["TEXT"]["HEIGHT"], 'inputId' => $arParams["TEXT"]["ID"], 'inputName' => $arParams["TEXT"]["NAME"], 'content' => htmlspecialcharsBack($arParams["TEXT"]["VALUE"]), 'bUseFileDialogs' => false, 'bUseMedialib' => false, 'toolbarConfig' => $arParams["PARSER"], 'jsObjName' => $arParams["LHE"]["jsObjName"], 'arSmiles' => $arParams["SMILES"]["VALUE"], 'smileCountInToolbar' => $arParams['SMILES_COUNT'], 'bSaveOnBlur' => true, 'BBCode' => true, 'bConvertContentFromBBCodes' => false, 'bQuoteFromSelection' => true, 'bSetDefaultCodeView' => false, 'bBBParseImageSize' => true, 'bResizable' => true, 'bAutoResize' => true, 'autoResizeOffset' => 40, 'controlButtonsHeight' => '34', 'autoResizeSaveSize' => false), $arParams["LHE"]); if ($arParams["LHE"]['ctrlEnterHandler'] === true || !empty($arParams["LHE"]['ctrlEnterHandler'])) { $res['ctrlEnterHandler'] = "__ctrlEnterHandler" . $arParams["FORM_ID"]; } $LHE->Show($res); $res = array(); foreach ($tmp = array("UploadImage" => "postimage", "UploadFile" => "postfile", "InputVideo" => "postvideo", "MentionUser" => "postuser") as $key => $val) { if (in_array($key, $arParams["PARSER"])) { $res[] = $val; } } ?> </div> <script type="text/javascript"> window['<?php echo $arParams["LHE"]["id"];
} } } $UserIP = CBlogUser::GetUserIP(); $arComFields = array("POST_ID" => $arParams["ID"], "BLOG_ID" => $arPost["BLOG_ID"], "POST_TEXT" => (count($arNewRightsName) > 1 ? GetMessage("B_B_SHARE") : GetMessage("B_B_SHARE_1")) . implode(", ", $arNewRightsName), "DATE_CREATE" => ConvertTimeStamp(time() + $arResult["TZ_OFFSET"], "FULL"), "AUTHOR_IP" => $UserIP[0], "AUTHOR_IP1" => $UserIP[1], "PARENT_ID" => false, "AUTHOR_ID" => $user_id, "SHARE_DEST" => implode(",", $arNewRights)); if ($comId = CBlogComment::Add($arComFields)) { BXClearCache(true, "/blog/comment/" . intval($arParams["ID"] / 100) . "/" . $arParams["ID"] . "/"); if (is_callable("CBlogComment::AddLiveComment")) { CBlogComment::addLiveComment($comId, "", array()); } if ($arPost["AUTHOR_ID"] != $user_id) { $arFieldsIM = array("TYPE" => "SHARE", "TITLE" => htmlspecialcharsback($arPost["TITLE"]), "URL" => CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arParams["PATH_TO_POST"]), array("post_id" => $arParams["ID"], "user_id" => $arPost["AUTHOR_ID"])), "ID" => $arParams["ID"], "FROM_USER_ID" => $user_id, "TO_USER_ID" => array($arPost["AUTHOR_ID"])); CBlogPost::NotifyIm($arFieldsIM); } if (!empty($arUsers2Notify)) { $arFieldsIM = array("TYPE" => "SHARE2USERS", "TITLE" => htmlspecialcharsback($arPost["TITLE"]), "URL" => CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arParams["PATH_TO_POST"]), array("post_id" => $arParams["ID"], "user_id" => $arPost["AUTHOR_ID"])), "ID" => $arParams["ID"], "FROM_USER_ID" => $user_id, "TO_USER_ID" => $arUsers2Notify); CBlogPost::NotifyIm($arFieldsIM); } } /* update socnet log rights*/ $dbRes = CSocNetLog::GetList(array("ID" => "DESC"), array("EVENT_ID" => array("blog_post", "blog_post_important"), "SOURCE_ID" => $arPost["ID"]), false, false, array("ID", "ENTITY_TYPE", "ENTITY_ID")); if ($arRes = $dbRes->Fetch()) { $arLogSites = array(); $rsLogSite = CSocNetLog::GetSite($arRes["ID"]); while ($arLogSite = $rsLogSite->Fetch()) { $arLogSites[] = $arLogSite["LID"]; } $arLogSitesNew = array_merge($arLogSitesNew, $arLogSites); $socnetPerms = CBlogPost::GetSocNetPermsCode($arPost["ID"]); if (!in_array("U" . $arPost["AUTHOR_ID"], $socnetPerms)) { $socnetPerms[] = "U" . $arPost["AUTHOR_ID"];
$copy = ""; ?> <? if ($arResult["RESULT"] == "Y"):?> <?if($arParams["QR_MINI"]>0):?> <div style="height: <?php echo $arParams["QR_MINI"]; ?> "><img alt="" src="<?php echo $arResult["QRCODE"]; ?> " id="QrImgMin" onClick="openQr()" width="<?php echo $arParams["QR_MINI"]; ?> "><?if(strlen($arParams["QR_TEXT"])>0):?><a href="#" class="alx_qr_text" onclick="openQr(); return false;"><?php echo htmlspecialcharsBack($arParams["QR_TEXT"]); ?> </a><?endif;?></div> <div id="alx-qr"><img alt="" id="QrImgBig" src="<?php echo $arResult["QRCODE_COPY"]; ?> " onclick="closeQr()"></div> <?else:?> <img src="<?php echo $arResult["QRCODE"]; ?> " /> <?endif;?> <?else:?> <?php echo GetMessage("ALTASIB_QRCODE_EMPTY_VAL");
//END -> Notifications //start custom, use UF binding ::@Idea if ($arResult["IDEA_MODERATOR"] && $_REQUEST["BIND_OFFICIAL_ANSWER"] == "Y") { // Bind offical answer CIdeaManagment::getInstance()->IdeaComment($commentID)->Bind(); } if ($arResult["IDEA_MODERATOR"] && $_REQUEST["BIND_IDEA_STATUS"] != "") { CIdeaManagment::getInstance()->Idea($arPost["ID"])->SetStatus($_REQUEST["BIND_IDEA_STATUS"]); BXClearCache(True, '/' . SITE_ID . '/idea/statistic_list/'); } /*end*/ BXClearCache(True, "/" . SITE_ID . "/idea/" . $arBlog["ID"] . "/comment/" . $arOldComment["POST_ID"] . "/"); BXClearCache(True, "/" . SITE_ID . "/idea/" . $arBlog["ID"] . "/post/" . $arOldComment["POST_ID"] . "/"); BXClearCache(True, "/" . SITE_ID . "/idea/" . $arBlog["ID"] . "/first_page/"); BXClearCache(True, "/" . SITE_ID . "/idea/" . $arBlog["ID"] . "/pages/"); $commentUrl = CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arParams["PATH_TO_POST"]), array("blog" => $arBlog["URL"], "post_id" => CBlogPost::GetPostID($arPost["ID"], $arPost["CODE"], $arParams["ALLOW_POST_CODE"]), "user_id" => $arBlog["OWNER_ID"], "group_id" => $arParams["SOCNET_GROUP_ID"])); if (strpos($commentUrl, "?") !== false) { $commentUrl .= "&"; } else { $commentUrl .= "?"; } if ($_REQUEST["redirect_type"] == 'list') { //bx redirect for idea list LocalRedirect($APPLICATION->GetCurPageParam()); } elseif (strlen($arFields["PUBLISH_STATUS"]) > 0 && $arFields["PUBLISH_STATUS"] != BLOG_PUBLISH_STATUS_PUBLISH) { $commentAddedUrl = $commentUrl . $arParams["COMMENT_ID_VAR"] . "=" . $commentID . "&hidden_add_comment_id=" . $commentID; LocalRedirect($commentAddedUrl); } else { $commentUrl .= $arParams["COMMENT_ID_VAR"] . "=" . $commentID . "#" . $commentID; LocalRedirect($commentUrl); }
<input id="POST_TITLE" name="POST_TITLE" class="feed-add-post-inp feed-add-post-inp-active" <?php ?> type="text" value="<?php echo $arResult["PostToShow"]["TITLE"]; ?> " placeholder="<?php echo GetMessage("BLOG_TITLE"); ?> " /> <div class="feed-add-close-icon" onclick="showPanelTitle_<?php echo $arParams["FORM_ID"]; ?> (false);"></div> </div> <?php $APPLICATION->IncludeComponent("bitrix:main.post.form", "", $formParams = array("FORM_ID" => "blogPostForm", "SHOW_MORE" => "Y", "PARSER" => array("Bold", "Italic", "Underline", "Strike", "ForeColor", "FontList", "FontSizeList", "RemoveFormat", "Quote", "Code", $arParams["USE_CUT"] == "Y" ? "InsertCut" : "", "CreateLink", "Image", "Table", "Justify", "InsertOrderedList", "InsertUnorderedList", "SmileList", "Source", "UploadImage", $arResult["allowVideo"] == "Y" ? "InputVideo" : "", "MentionUser"), "BUTTONS" => array("UploadImage", "UploadFile", "CreateLink", $arResult["allowVideo"] == "Y" ? "InputVideo" : "", "Quote", "MentionUser", "InputTag"), "ADDITIONAL" => array("<span title=\"" . GetMessage("BLOG_TITLE") . "\" " . "onclick=\"showPanelTitle_" . $arParams["FORM_ID"] . "(this);\" " . "class=\"feed-add-post-form-title-btn" . ($bShowTitle ? " feed-add-post-form-btn-active" : "") . "\" " . "id=\"lhe_button_title_" . $arParams["FORM_ID"] . "\" " . "></span>"), "TEXT" => array("NAME" => "POST_MESSAGE", "VALUE" => htmlspecialcharsBack($arResult["PostToShow"]["~DETAIL_TEXT"]), "HEIGHT" => "120px"), "PROPERTIES" => array(array_key_exists("UF_BLOG_POST_FILE", $arResult["POST_PROPERTIES"]["DATA"]) ? array_merge(is_array($arResult["POST_PROPERTIES"]["DATA"]["UF_BLOG_POST_FILE"]) ? $arResult["POST_PROPERTIES"]["DATA"]["UF_BLOG_POST_FILE"] : array(), $bVarsFromForm ? array("VALUE" => $_POST["UF_BLOG_POST_FILE"]) : array()) : array_merge(is_array($arResult["POST_PROPERTIES"]["DATA"]["UF_BLOG_POST_DOC"]) ? $arResult["POST_PROPERTIES"]["DATA"]["UF_BLOG_POST_DOC"] : array(), $bVarsFromForm ? array("VALUE" => $_POST["UF_BLOG_POST_DOC"]) : array(), array("POSTFIX" => "file"))), "UPLOAD_FILE_PARAMS" => array('width' => $arParams["IMAGE_MAX_WIDTH"], 'height' => $arParams["IMAGE_MAX_HEIGHT"]), "DESTINATION" => array("VALUE" => $arResult["PostToShow"]["FEED_DESTINATION"], "SHOW" => "Y"), "TAGS" => array("ID" => "TAGS", "NAME" => "TAGS", "VALUE" => explode(",", trim($arResult["PostToShow"]["CategoryText"])), "USE_SEARCH" => "Y", "FILTER" => "blog"), "SMILES" => array("VALUE" => $arSmiles), "NAME_TEMPLATE" => $arParams["NAME_TEMPLATE"], "AT_THE_END_HTML" => $htmlAfterTextarea, "LHE" => array("id" => $id, "documentCSS" => "body {color:#434343;}", "ctrlEnterHandler" => "submitBlogPostForm", "jsObjName" => $jsObjName, "fontFamily" => "'Helvetica Neue', Helvetica, Arial, sans-serif", "fontSize" => "14px", "bInitByJS" => !$bVarsFromForm && $arParams["TOP_TABS_VISIBLE"] == "Y")), false, array("HIDE_ICONS" => "Y")); ?> </div><?php ?> </div><?php //feed-add-post-form-wrap ?> <div id="feed-add-post-content-message-add-ins"><?php if ($bVote) { ?> <div id="feed-add-post-content-vote" style="display: none;"><?php if (IsModuleInstalled("vote")) { $APPLICATION->IncludeComponent("bitrix:system.field.edit", "vote", array("bVarsFromForm" => $bVarsFromForm, "arUserField" => $arResult["POST_PROPERTIES"]["DATA"]["UF_BLOG_POST_VOTE"]), null, array("HIDE_ICONS" => "Y")); } ?> </div><?php
} if ($eventHandlerID !== false && ( intval($eventHandlerID) > 0 )) RemoveEventHandler('main', 'system.field.view.file', $eventHandlerID); } if($comment["CAN_EDIT"] == "Y") { ?> <script> top.text<?php echo $comment["ID"]; ?> = text<?php echo $comment["ID"]; ?> = '<?php echo CUtil::JSEscape(htmlspecialcharsBack($comment["POST_TEXT"])); ?> '; top.title<?php echo $comment["ID"]; ?> = title<?php echo $comment["ID"]; ?> = '<?php echo CUtil::JSEscape($comment["TITLE"]); ?> '; top.arComFiles<?php echo $comment["ID"]; ?>
function KHAYR_MAIN_COMMENT_ShowTree($arItem, $arParams, $arResult) { ?> <div class="stock"> <div class="userText"> <?if ($arItem["AUTHOR"]["AVATAR"]) {?> <div class="img left"> <img src="<?php echo $arItem["AUTHOR"]["AVATAR"]["SRC"]; ?> " alt="<?php echo $arItem["AUTHOR"][$arParams["ASNAME"]]; ?> " /> <div class="userInfo"> <?php echo $arItem["AUTHOR"][$arParams["ASNAME"]]; ?> <br /> <?php echo $arItem["PUBLISH_DATE"]; ?> </div> </div> <?}?> <div class="left" style="width: 535px;"> <div class="text-comment"> <?php echo $arItem["PUBLISH_TEXT"]; ?> <? $additional = unserialize(htmlspecialcharsBack($arItem["PROPERTIES"]["ADDITIONAL"]["VALUE"])); if (is_array($additional) && !empty($additional)) { ?><br /><? $str = array(); foreach ($additional as $addit => $val) { if (!empty($addit) && !empty($val)) $str[] = $addit.": ".$val; } echo implode(" ", $str); } ?> </div> <div class='action'> <? $answer = ((($arParams["NON_AUTHORIZED_USER_CAN_COMMENT"] == "Y") || $GLOBALS["USER"]->isAuthorized()) && ($arItem["PROPERTIES"]["DEPTH"]["VALUE"] < $arParams["MAX_DEPTH"])); $edit = ((($arParams["CAN_MODIFY"] == "Y") && ($arItem["PROPERTIES"]["USER"]["VALUE"] == $GLOBALS["USER"]->GetID()) && $GLOBALS["USER"]->isAuthorized()) || $GLOBALS["USER"]->isAdmin()); $rating = ($arParams["ALLOW_RATING"] == "Y"); ?> <?if ($answer) {?> <a href="javascript:void();" onclick='KHAYR_MAIN_COMMENT_add(this, <?php echo $arItem["ID"]; ?> ); return false;' title='<?php echo GetMessage("KHAYR_MAIN_COMMENT_COMMENT"); ?> '><?php echo GetMessage("KHAYR_MAIN_COMMENT_COMMENT"); ?> </a> <?}?> <?if ($edit) {?> <?if ($answer) {?> | <?}?> <a href="javascript:void();" onclick='KHAYR_MAIN_COMMENT_edit(this, <?php echo $arItem["ID"]; ?> ); return false;' title="<?php echo GetMessage("KHAYR_MAIN_COMMENT_EDIT"); ?> "><?php echo GetMessage("KHAYR_MAIN_COMMENT_EDIT"); ?> </a> <?}?> <?if ((($arItem["PROPERTIES"]["USER"]["VALUE"] == $GLOBALS["USER"]->GetID()) && $GLOBALS["USER"]->isAuthorized()) || ($GLOBALS["USER"]->isAdmin())) {?> <a href='javascript:void(0)' class='close' onclick='KHAYR_MAIN_COMMENT_delete(this, <?php echo $arItem["ID"]; ?> , "<?php echo GetMessage("KHAYR_MAIN_COMMENT_DEL_MESS"); ?> "); return false;' title='<?php echo GetMessage("KHAYR_MAIN_COMMENT_DELETE"); ?> '>”далить</a> <?}?> <?if ($rating) {?> <?if ($answer || $edit) {?> | <?}?> <? $arRatingParams = Array( "ENTITY_TYPE_ID" => "IBLOCK_ELEMENT", "ENTITY_ID" => $arItem["ID"], "OWNER_ID" => $arItem["PROPERTIES"]["USER"]["VALUE"], "PATH_TO_USER_PROFILE" => "" ); if (!isset($arItem['RATING'])) $arItem['RATING'] = Array( "USER_HAS_VOTED" => 'N', "TOTAL_VOTES" => 0, "TOTAL_POSITIVE_VOTES" => 0, "TOTAL_NEGATIVE_VOTES" => 0, "TOTAL_VALUE" => 0 ); $arRatingParams = array_merge($arRatingParams, $arItem['RATING']); $GLOBALS["APPLICATION"]->IncludeComponent( "bitrix:rating.vote", "standart", $arRatingParams, $component, Array("HIDE_ICONS" => "Y") ); ?> <?}?> <?if ($edit) {?> <div class="form comment form_for" id='edit_form_<?php echo $arItem["ID"]; ?> '<?php echo $arResult["POST"]["COM_ID"] == $arItem["ID"] ? " style='display: block;'" : ""; ?> > <form action="<?php echo $GLOBALS["APPLICATION"]->GetCurPage(); ?> " method='POST' onsubmit='return KHAYR_MAIN_COMMENT_validate(this);'> <p style='color: green; display: none;' class='suc'></p> <p style='color: red; display: none;' class='err'></p> <textarea name="MESSAGE" rows="10" placeholder='<?php echo GetMessage("KHAYR_MAIN_COMMENT_MESSAGE"); ?> '><?php echo $arItem["~PREVIEW_TEXT"]; ?> </textarea> <input type='hidden' name='ACTION' value='update' /> <input type='hidden' name='COM_ID' value='<?php echo $arItem["ID"]; ?> ' /> <input type="submit" class="button" value="<?php echo GetMessage("KHAYR_MAIN_COMMENT_SAVE"); ?> " /> <a href="javascript:void(0)" onclick='KHAYR_MAIN_COMMENT_back(); return false;' class="cancel" style='margin-top: -25px; text-decoration: none;'><?php echo GetMessage("KHAYR_MAIN_COMMENT_BACK_BUTTON"); ?> </a> </form> </div> <?}?> <?if ($answer) {?> <div class="form comment form_for" id='add_form_<?php echo $arItem["ID"]; ?> '<?php echo $arResult["POST"]["PARENT"] == $arItem["ID"] ? " style='display: block;'" : ""; ?> > <form action="<?php echo $GLOBALS["APPLICATION"]->GetCurPage(); ?> " method='POST' onsubmit='return KHAYR_MAIN_COMMENT_validate(this);'> <p style='color: green; display: none;' class='suc'></p> <p style='color: red; display: none;' class='err'></p> <input type="text" name='NONUSER' value='<?php echo $arResult["USER"][$arParams["ASNAME"]] ? $arResult["USER"][$arParams["ASNAME"]] : $arResult["POST"]["NONUSER"]; ?> ' placeholder="<?php echo GetMessage("KHAYR_MAIN_COMMENT_FNAME"); ?> " class="w-45" /> <input type="file" name='AVATAR' value='' placeholder="<?php echo GetMessage("KHAYR_MAIN_COMMENT_AVATAR"); ?> " class="w-45" /> <?if ($arParams["REQUIRE_EMAIL"] == "Y") {?> <input type="text" name='EMAIL' value='<?php echo $arResult["USER"]["EMAIL"] ? $arResult["USER"]["EMAIL"] : $arResult["POST"]["EMAIL"]; ?> ' placeholder="<?php echo GetMessage("KHAYR_MAIN_COMMENT_EMAIL"); ?> " class="w-45" /> <?}?> <?foreach ($arParams["ADDITIONAL"] as $additional) {?> <?if (!empty($additional)) {?> <input type="text" name='<?php echo urlencode($additional); ?> ' value='<?php echo $arResult["POST"][$additional]; ?> ' placeholder="<?php echo $additional; ?> " class="w-45" /> <?}?> <?}?> <div class="clear pt10"></div> <textarea name="MESSAGE" rows="10" placeholder='<?php echo GetMessage("KHAYR_MAIN_COMMENT_MESSAGE"); ?> '></textarea> <input type='hidden' name='PARENT' value='<?php echo $arItem["ID"]; ?> ' /> <input type='hidden' name='ACTION' value='add' /> <input type='hidden' name='DEPTH' value='<?php echo $arItem["PROPERTIES"]["DEPTH"]["VALUE"] + 1; ?> ' /> <?if (($arParams["USE_CAPTCHA"] == "Y") && !$GLOBALS["USER"]->isAuthorized()):?> <div> <div><?php echo GetMessage("KHAYR_MAIN_COMMENT_CAP_1"); ?> </div> <input type="hidden" name="captcha_sid" value="<?php echo $arResult["capCode"]; ?> " /> <img src="/bitrix/tools/captcha.php?captcha_sid=<?php echo $arResult["capCode"]; ?> " width="180" height="40" alt="CAPTCHA" /> <div><?php echo GetMessage("KHAYR_MAIN_COMMENT_CAP_2"); ?> </div> <input type="text" name="captcha_word" size="30" maxlength="50" value="" /> <input type='hidden' name='clear_cache' value='Y' /> </div> <?endif;?> <input type="submit" class="button" value="<?php echo GetMessage("KHAYR_MAIN_COMMENT_ADD"); ?> " /> <a href="javascript:void(0)" onclick='KHAYR_MAIN_COMMENT_back(); return false;' class="cancel" style='margin-top: -25px; text-decoration: none;'><?php echo GetMessage("KHAYR_MAIN_COMMENT_BACK_BUTTON"); ?> </a> </form> </div> <?}?> </div> </div> </div> <?if (!empty($arItem["CHILDS"])) {?> <?foreach ($arItem["CHILDS"] as $item) {?> <?php echo KHAYR_MAIN_COMMENT_ShowTree($item, $arParams, $arResult); ?> <?}?> <?}?> </div> <?//echo "<pre>";print_r($arParams);/*print_r($arResult);*/echo "</pre>";/*die();*/?> <? }
/** * WARNING! This method is transitional and can be changed without * any notifications! Don't use it. * * @deprecated */ public static function __deprecated_Add($commentText, $forumTopicId, $forumId, $nameTemplate, $arTask, $permissions, $commentId, $givenUserId, $imageWidth, $imageHeight, $arSmiles, $arForum, $messagesPerPage, $arUserGroupArray, $backPage, $strMsgAddComment, $strMsgEditComment, $strMsgNewTask, $componentName, &$outForumTopicId, &$arErrorCodes, &$outStrUrl, $arFieldsAdditional) { global $DB; if (is_array($arTask)) { if (!array_key_exists('~TITLE', $arTask)) { $arTmpTask = $arTask; foreach ($arTmpTask as $key => $value) { if (substr($key, 0, 1) !== '~') { $arTask['~' . $key] = $arTmpTask[$key]; } } } } $MID = 0; $TID = 0; if ($forumTopicId > 0 && CForumTopic::GetByID($forumTopicId) === false) { $forumTopicId = false; } if ($forumTopicId <= 0) { $arUserStart = array("ID" => intVal($arTask["CREATED_BY"]), "NAME" => $GLOBALS["FORUM_STATUS_NAME"]["guest"]); if ($arUserStart["ID"] > 0) { $res = array(); $db_res = CForumUser::GetListEx(array(), array("USER_ID" => $arTask["CREATED_BY"])); if ($db_res && ($res = $db_res->Fetch())) { $res["FORUM_USER_ID"] = intVal($res["ID"]); $res["ID"] = $res["USER_ID"]; } else { $db_res = CUser::GetByID($arTask["CREATED_BY"]); if ($db_res && ($res = $db_res->Fetch())) { $res["SHOW_NAME"] = COption::GetOptionString("forum", "USER_SHOW_NAME", "Y"); $res["USER_PROFILE"] = "N"; } } if (!empty($res)) { $arUserStart = $res; $sName = $res["SHOW_NAME"] == "Y" ? trim(CUser::FormatName($nameTemplate, $res)) : ""; $arUserStart["NAME"] = empty($sName) ? trim($res["LOGIN"]) : $sName; } } $arUserStart["NAME"] = empty($arUserStart["NAME"]) ? $GLOBALS["FORUM_STATUS_NAME"]["guest"] : $arUserStart["NAME"]; $DB->StartTransaction(); $arFields = array("TITLE" => $arTask["~TITLE"], "FORUM_ID" => $forumId, "USER_START_ID" => $arUserStart["ID"], "USER_START_NAME" => $arUserStart["NAME"], "LAST_POSTER_NAME" => $arUserStart["NAME"], "APPROVED" => "Y", "PERMISSION_EXTERNAL" => $permissions, "PERMISSION" => $permissions, "NAME_TEMPLATE" => $nameTemplate, 'XML_ID' => 'TASK_' . $arTask['ID']); $TID = CForumTopic::Add($arFields); if (intVal($TID) <= 0) { $arErrorCodes[] = array('code' => 'topic is not created'); } else { $arFields = array("FORUM_TOPIC_ID" => $TID); $task = new CTasks(); $task->Update($arTask["ID"], $arFields); } if (!empty($arErrorCodes)) { $DB->Rollback(); return false; } else { $DB->Commit(); } } $arFieldsG = array("POST_MESSAGE" => $commentText, "AUTHOR_NAME" => '', "AUTHOR_EMAIL" => $GLOBALS['USER']->GetEmail(), "USE_SMILES" => NULL, "PARAM2" => $arTask['ID'], "TITLE" => $arTask["~TITLE"], "PERMISSION_EXTERNAL" => $permissions, "PERMISSION" => $permissions); // UF_* forwarding if (is_array($arFieldsAdditional)) { foreach ($arFieldsAdditional as $field => $value) { if (strlen($field) && substr($field, 0, 3) == 'UF_') { $arFieldsG[$field] = $value; $GLOBALS[$field] = $value; // strange behaviour required for ForumMessageAdd() to handle UF_* properly } } } if (!empty($_FILES["REVIEW_ATTACH_IMG"])) { $arFieldsG["ATTACH_IMG"] = $_FILES["REVIEW_ATTACH_IMG"]; } else { $arFiles = array(); if (!empty($_REQUEST["FILES"])) { foreach ($_REQUEST["FILES"] as $key) { $arFiles[$key] = array("FILE_ID" => $key); if (!in_array($key, $_REQUEST["FILES_TO_UPLOAD"])) { $arFiles[$key]["del"] = "Y"; } } } if (!empty($_FILES)) { $res = array(); foreach ($_FILES as $key => $val) { if (substr($key, 0, strLen("FILE_NEW")) == "FILE_NEW" && !empty($val["name"])) { $arFiles[] = $_FILES[$key]; } } } if (!empty($arFiles)) { $arFieldsG["FILES"] = $arFiles; } } $TOPIC_ID = $forumTopicId > 0 ? $forumTopicId : $TID; $MESSAGE_ID = 0; $MESSAGE_TYPE = $TOPIC_ID > 0 ? "REPLY" : "NEW"; if (COption::GetOptionString("tasks", "task_comment_allow_edit") && ($MESSAGE_ID = intval($commentId))) { $MESSAGE_TYPE = "EDIT"; } $strErrorMessage = ''; $strOKMessage = ''; $MID = ForumAddMessage($MESSAGE_TYPE, $forumId, $TOPIC_ID, $MESSAGE_ID, $arFieldsG, $strErrorMessage, $strOKMessage, false, $_POST["captcha_word"], 0, $_POST["captcha_code"], $nameTemplate); if ($MID <= 0 || !empty($strErrorMessage)) { $arErrorCodes[] = array('code' => 'message is not added 2', 'title' => empty($strErrorMessage) ? NULL : $strErrorMessage); } else { $arMessage = CForumMessage::GetByID($MID); if ($forumTopicId <= 0) { $forumTopicId = $TID = intVal($arMessage["TOPIC_ID"]); } $outForumTopicId = intVal($forumTopicId); if ($componentName !== null) { ForumClearComponentCache($componentName); } // NOTIFICATION $arTask["ACCOMPLICES"] = $arTask["AUDITORS"] = array(); $rsMembers = CTaskMembers::GetList(array(), array("TASK_ID" => $arTask["ID"])); while ($arMember = $rsMembers->Fetch()) { if ($arMember["TYPE"] == "A") { $arTask["ACCOMPLICES"][] = $arMember["USER_ID"]; } elseif ($arMember["TYPE"] == "U") { $arTask["AUDITORS"][] = $arMember["USER_ID"]; } } $arEmailUserIDs = array($arTask["RESPONSIBLE_ID"], $arTask["CREATED_BY"]); $arEmailUserIDs = array_unique(array_merge($arEmailUserIDs, $arTask["ACCOMPLICES"], $arTask["AUDITORS"])); $currentUserPos = array_search($givenUserId, $arEmailUserIDs); if ($currentUserPos !== false) { unset($arEmailUserIDs[$currentUserPos]); } $parser = new CTextParser(); $parser->imageWidth = $imageWidth; $parser->imageHeight = $imageHeight; $parser->smiles = $arSmiles; $parser->allow = array("HTML" => $arForum["ALLOW_HTML"], "ANCHOR" => $arForum["ALLOW_ANCHOR"], "BIU" => $arForum["ALLOW_BIU"], "IMG" => "N", "VIDEO" => "N", "LIST" => $arForum["ALLOW_LIST"], "QUOTE" => $arForum["ALLOW_QUOTE"], "CODE" => $arForum["ALLOW_CODE"], "FONT" => $arForum["ALLOW_FONT"], "SMILES" => "N", "UPLOAD" => $arForum["ALLOW_UPLOAD"], "NL2BR" => $arForum["ALLOW_NL2BR"], "TABLE" => "Y"); $arAllow = NULL; $MESSAGE = HTMLToTxt($parser->convertText($commentText, $arAllow)); // remove [ url] for socialnetwork log $MESSAGE = preg_replace("/(\\s\\[\\s(http:\\/\\/|https:\\/\\/|ftp:\\/\\/))(.*?)(\\s\\])/is", "", $MESSAGE); $parser->allow = array("HTML" => 'Y', "ANCHOR" => 'Y', "BIU" => 'Y', "IMG" => "Y", "VIDEO" => "Y", "LIST" => 'N', "QUOTE" => 'Y', "CODE" => 'Y', "FONT" => 'Y', "SMILES" => "N", "UPLOAD" => 'N', "NL2BR" => 'N', "TABLE" => "Y"); $message_notify = $parser->convertText($commentText); $arRecipientsIDs = CTaskNotifications::GetRecipientsIDs($arTask); // Instant Messages if (IsModuleInstalled("im") && CModule::IncludeModule("im") && sizeof($arRecipientsIDs)) { $pageNumber = CForumMessage::GetMessagePage($MID, $messagesPerPage, $arUserGroupArray); // There are different links for extranet users $isExtranetEnabled = false; if (CModule::IncludeModule("extranet")) { $isExtranetEnabled = true; } if ($isExtranetEnabled) { $arSites = array(); $dbSite = CSite::GetList($by = "sort", $order = "desc", array("ACTIVE" => "Y")); while ($arSite = $dbSite->Fetch()) { if (strlen(trim($arSite["DIR"])) > 0) { $arSites[$arSite['ID']]['DIR'] = $arSite['DIR']; } else { $arSites[$arSite['ID']]['DIR'] = '/'; } if (strlen(trim($arSite["SERVER_NAME"])) > 0) { $arSites[$arSite['ID']]['SERVER_NAME'] = $arSite["SERVER_NAME"]; } else { $arSites[$arSite['ID']]['SERVER_NAME'] = COption::GetOptionString("main", "server_name", $_SERVER["HTTP_HOST"]); } $arSites[$arSite['ID']]['urlPrefix'] = $arSites[$arSite['ID']]['SERVER_NAME'] . $arSites[$arSite['ID']]['DIR']; // remove last '/' if (strlen($arSites[$arSite['ID']]['urlPrefix']) > 0 && substr($arSites[$arSite['ID']]['urlPrefix'], -1) === '/') { $arSites[$arSite['ID']]['urlPrefix'] = substr($arSites[$arSite['ID']]['urlPrefix'], 0, -1); } } $extranet_site_id = CExtranet::GetExtranetSiteID(); $intranet_site_id = CSite::GetDefSite(); $arIntranetUsers = CExtranet::GetIntranetUsers(); } else { if ($arTask["GROUP_ID"]) { $pathTemplateWoExtranet = str_replace("#group_id#", $arTask["GROUP_ID"], COption::GetOptionString("tasks", "paths_task_group_entry", "/workgroups/group/#group_id#/tasks/task/view/#task_id#/", $arFields["SITE_ID"])); } else { $pathTemplateWoExtranet = COption::GetOptionString("tasks", "paths_task_user_entry", "/company/personal/user/#user_id#/tasks/task/view/#task_id#/", $arFields["SITE_ID"]); } } foreach ($arRecipientsIDs as $userID) { $urlPrefixForUser = tasksServerName(); if ($isExtranetEnabled) { if (!in_array($userID, $arIntranetUsers) && $extranet_site_id) { $userSiteId = $extranet_site_id; } else { $userSiteId = $intranet_site_id; } if (isset($arSites[$userSiteId]['SERVER_NAME'])) { $urlPrefixForUser = tasksServerName($arSites[$userSiteId]['SERVER_NAME']); } if ($arTask["GROUP_ID"]) { $pathTemplate = str_replace('#group_id#', $arTask['GROUP_ID'], CTasksTools::GetOptionPathTaskGroupEntry($userSiteId, '')); } else { $pathTemplate = CTasksTools::GetOptionPathTaskUserEntry($userSiteId, ''); } } else { $pathTemplate = $pathTemplateWoExtranet; } $NOTIFY_MESSAGE_TITLE_TEMPLATE = ''; $messageUrl = ''; if (strlen($pathTemplate) > 0) { $groupId = 0; if (isset($arTask['GROUP_ID'])) { $groupId = (int) $arTask['GROUP_ID']; } $messageUrl = $urlPrefixForUser . CComponentEngine::MakePathFromTemplate($pathTemplate, array("user_id" => $userID, "task_id" => $arTask["ID"], "action" => "view", "USER_ID" => $userID, "TASK_ID" => $arTask["ID"], "ACTION" => "view", 'GROUP_ID' => $groupId, 'group_id' => $groupId)); if ($pageNumber > 1) { $messageUrl .= (strpos($messageUrl, "?") === false ? "?" : "&") . "MID=" . $MID; } $NOTIFY_MESSAGE_TITLE_TEMPLATE = '[URL=' . $messageUrl . "#message" . $MID . ']' . $arTask["~TITLE"] . '[/URL]'; } else { $NOTIFY_MESSAGE_TITLE_TEMPLATE = $arTask["~TITLE"]; } $MESSAGE_SITE = trim(htmlspecialcharsbx(strip_tags(str_replace(array("\r\n", "\n", "\r"), ' ', htmlspecialcharsback($message_notify))))); $MESSAGE_EMAIL = $MESSAGE_SITE; // full message to email if (strlen($MESSAGE_SITE) >= 100) { $dot = '...'; $MESSAGE_SITE = substr($MESSAGE_SITE, 0, 99); if (($lastLinkPosition = strrpos($MESSAGE_SITE, 'http://')) !== false || ($lastLinkPosition = strrpos($MESSAGE_SITE, 'https://')) !== false || ($lastLinkPosition = strrpos($MESSAGE_SITE, 'ftp://')) !== false || ($lastLinkPosition = strrpos($MESSAGE_SITE, 'ftps://')) !== false) { if (strpos($MESSAGE_SITE, ' ', $lastLinkPosition) === false) { $MESSAGE_SITE = substr($MESSAGE_SITE, 0, $lastLinkPosition); } } $MESSAGE_SITE .= $dot; } $arMessageFields = array("TO_USER_ID" => $userID, "FROM_USER_ID" => $givenUserId, "NOTIFY_TYPE" => IM_NOTIFY_FROM, "NOTIFY_MODULE" => "tasks", "NOTIFY_EVENT" => "comment", "NOTIFY_MESSAGE" => str_replace(array("#TASK_TITLE#", "#TASK_COMMENT_TEXT#"), array($NOTIFY_MESSAGE_TITLE_TEMPLATE, '[COLOR=#000000]' . $MESSAGE_SITE . '[/COLOR]'), $MESSAGE_TYPE != "EDIT" ? $strMsgAddComment : $strMsgEditComment), "NOTIFY_MESSAGE_OUT" => str_replace(array("#TASK_TITLE#", "#TASK_COMMENT_TEXT#"), array($arTask["~TITLE"], $MESSAGE_EMAIL . ' #BR# ' . $messageUrl . "#message" . $MID . ' '), $MESSAGE_TYPE != "EDIT" ? $strMsgAddComment : $strMsgEditComment)); CIMNotify::Add($arMessageFields); } } $strURL = !empty($backPage) ? $backPage : $GLOBALS['APPLICATION']->GetCurPageParam("", array("IFRAME", "MID", "SEF_APPLICATION_CUR_PAGE_URL", BX_AJAX_PARAM_ID, "result")); $strURL = ForumAddPageParams($strURL, array("MID" => $MID, "result" => $arForum["MODERATION"] != "Y" || CForumNew::CanUserModerateForum($forumId, $arUserGroupArray) ? "reply" : "not_approved"), false, false); $outStrUrl = $strURL; // sonet log if (CModule::IncludeModule("socialnetwork")) { $dbRes = CSocNetLog::GetList(array("ID" => "DESC"), array("EVENT_ID" => "tasks", "SOURCE_ID" => $arTask["ID"]), false, false, array("ID", "ENTITY_TYPE", "ENTITY_ID", "TMP_ID")); if ($arRes = $dbRes->Fetch()) { $log_id = $arRes["TMP_ID"]; $entity_type = $arRes["ENTITY_TYPE"]; $entity_id = $arRes["ENTITY_ID"]; } else { $entity_type = $arTask["GROUP_ID"] ? SONET_ENTITY_GROUP : SONET_ENTITY_USER; $entity_id = $arTask["GROUP_ID"] ? $arTask["GROUP_ID"] : $arTask["CREATED_BY"]; $rsUser = CUser::GetByID($arTask["CREATED_BY"]); if ($arUser = $rsUser->Fetch()) { $arSoFields = array("ENTITY_TYPE" => $entity_type, "ENTITY_ID" => $entity_id, "EVENT_ID" => "tasks", "LOG_DATE" => $arTask["CREATED_DATE"], "TITLE_TEMPLATE" => "#TITLE#", "TITLE" => htmlspecialcharsBack($arTask["~TITLE"]), "MESSAGE" => "", "TEXT_MESSAGE" => $strMsgNewTask, "MODULE_ID" => "tasks", "CALLBACK_FUNC" => false, "SOURCE_ID" => $arTask["ID"], "ENABLE_COMMENTS" => "Y", "USER_ID" => $arTask["CREATED_BY"], "URL" => CTaskNotifications::GetNotificationPath($arUser, $arTask["ID"]), "PARAMS" => serialize(array("TYPE" => "create"))); $log_id = CSocNetLog::Add($arSoFields, false); if (intval($log_id) > 0) { CSocNetLog::Update($log_id, array("TMP_ID" => $log_id)); $arRights = CTaskNotifications::__UserIDs2Rights(CTaskNotifications::GetRecipientsIDs($arTask, false)); if ($arTask["GROUP_ID"]) { $arRights[] = "S" . SONET_ENTITY_GROUP . $arTask["GROUP_ID"]; } CSocNetLogRights::Add($log_id, $arRights); } } } if (intval($log_id) > 0) { $sText = COption::GetOptionString("forum", "FILTER", "Y") == "Y" ? $arMessage["POST_MESSAGE_FILTER"] : $arMessage["POST_MESSAGE"]; CSocNetLog::Update($log_id, array('PARAMS' => serialize(array('TYPE' => 'comment')))); $arFieldsForSocnet = array("ENTITY_TYPE" => $entity_type, "ENTITY_ID" => $entity_id, "EVENT_ID" => "tasks_comment", "MESSAGE" => $sText, "TEXT_MESSAGE" => $parser->convert4mail($sText), "URL" => str_replace("?IFRAME=Y", "", str_replace("&IFRAME=Y", "", str_replace("IFRAME=Y&", "", $strURL))), "MODULE_ID" => "tasks", "SOURCE_ID" => $MID, "LOG_ID" => $log_id, "RATING_TYPE_ID" => "FORUM_POST", "RATING_ENTITY_ID" => $MID); if ($MESSAGE_TYPE == "EDIT") { $dbRes = CSocNetLogComments::GetList(array("ID" => "DESC"), array("EVENT_ID" => array("tasks_comment"), "SOURCE_ID" => $MID), false, false, array("ID")); while ($arRes = $dbRes->Fetch()) { CSocNetLogComments::Update($arRes["ID"], $arFieldsForSocnet); } } else { $arFieldsForSocnet['USER_ID'] = $givenUserId; $arFieldsForSocnet['=LOG_DATE'] = $GLOBALS['DB']->CurrentTimeFunction(); $ufFileID = array(); $dbAddedMessageFiles = CForumFiles::GetList(array("ID" => "ASC"), array("MESSAGE_ID" => $MID)); while ($arAddedMessageFiles = $dbAddedMessageFiles->Fetch()) { $ufFileID[] = $arAddedMessageFiles["FILE_ID"]; } if (count($ufFileID) > 0) { $arFieldsForSocnet["UF_SONET_COM_FILE"] = $ufFileID; } $ufDocID = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFieldValue("FORUM_MESSAGE", "UF_FORUM_MESSAGE_DOC", $MID, LANGUAGE_ID); if ($ufDocID) { $arFieldsForSocnet["UF_SONET_COM_DOC"] = $ufDocID; } $ufDocVer = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFieldValue("FORUM_MESSAGE", "UF_FORUM_MESSAGE_VER", $MID, LANGUAGE_ID); if ($ufDocVer) { $arFieldsForSocnet["UF_SONET_COM_VER"] = $ufDocVer; } $comment_id = CSocNetLogComments::Add($arFieldsForSocnet, false, false); CSocNetLog::CounterIncrement($comment_id, false, false, "LC"); } } } $occurAsUserId = CTasksTools::getOccurAsUserId(); if (!$occurAsUserId) { $occurAsUserId = $arMessage["AUTHOR_ID"] ? $arMessage["AUTHOR_ID"] : 1; } // Tasks log $arLogFields = array("TASK_ID" => $arTask["ID"], "USER_ID" => $occurAsUserId, "CREATED_DATE" => $arMessage["EDIT_DATE"] ? ConvertTimeStamp(MakeTimeStamp($arMessage["EDIT_DATE"], CSite::GetDateFormat()), "FULL") : $arMessage["POST_DATE"], "FIELD" => "COMMENT", "TO_VALUE" => $MID); $log = new CTaskLog(); $log->Add($arLogFields); } return $MID; // Message id }
$qrVal = $APPLICATION->ConvertCharset($_POST["QR_VALUE"], "windows-1251", "UTF-8"); } } else { $md = md5($qrVal.$arParams["QR_SIZE_VAL"].$arParams["QR_ERROR_CORECT"].$arParams["QR_SQUARE"]); } if ($_GET["clear_cache"] == "Y" && $arParams["QR_DEL_CHACHE"]) { unlink($_SERVER["DOCUMENT_ROOT"].'/upload/altasib/qrcode/'.$md.'.png'); unlink($_SERVER["DOCUMENT_ROOT"].'/upload/altasib/qrcode/'.$md.'_copy.png'); global $APPLICATION; $this->ClearResultCache(); LocalRedirect($APPLICATION->GetCurPage()); } CheckDirPath($_SERVER["DOCUMENT_ROOT"]."/upload/altasib/qrcode/", true); if (!file_exists($_SERVER["DOCUMENT_ROOT"].'/upload/altasib/qrcode/'.$md.'.png')) { $qrVal = htmlspecialcharsBack(trim($qrVal)); if (strlen($qrVal) > 0) { QRcode::png($qrVal, $_SERVER["DOCUMENT_ROOT"].'/upload/altasib/qrcode/'.$md.'.png', $arParams["QR_ERROR_CORECT"], $arParams["QR_SIZE_VAL"], $arParams["QR_SQUARE"], false, $arParams["QR_COLOR"], $arParams["QR_COLORBG"]); if ($arParams["QR_COPY"] == "Y") QRcode::png($qrVal, $_SERVER["DOCUMENT_ROOT"].'/upload/altasib/qrcode/'.$md.'_copy.png', $arParams["QR_ERROR_CORECT"], $arParams["QR_SIZE_VAL"], $arParams["QR_SQUARE"], false, array("R" => 0, "G" => 0, "B" => 0), array("R" => 255, "G" => 255, "B" => 255)); $arResult["RESULT"] = "Y"; } else { $arResult["RESULT"] = "N"; } } if (file_exists($_SERVER["DOCUMENT_ROOT"].'/upload/altasib/qrcode/'.$md.'.png')) $arResult["RESULT"] = "Y"; else $arResult["RESULT"] = "N";
$tax['PATH_TO_TAX_SHOW_RATES'] = CHTTP::urlAddParams($tax['PATH_TO_TAX_EDIT'], array("FORM_ID" => $arResult['EDIT_FORM_ID'], $arResult['EDIT_FORM_ID'] . "_active_tab" => 'tab_rateslist')); $tax['PATH_TO_TAX_DELETE'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_TAX_LIST'], array('tax_id' => $k)), array('action_' . $arResult['GRID_ID'] => 'delete', 'ID' => $k, 'sessid' => bitrix_sessid())); $rateNum = 0; $dbRes = CSaleTaxRate::GetList(array(), array("TAX_ID" => $tax['ID'])); while ($dbRes->Fetch()) { $rateNum++; } if ($rateNum > 0) { $rateNumShow = "<a href=\"" . $tax['PATH_TO_TAX_SHOW_RATES'] . "\">" . $rateNum . "</a>"; } else { $rateNumShow = "0"; } $tax['STAV'] = $rateNumShow; $tax['~NAME'] = htmlspecialcharsBack($tax['NAME']); $tax['~LID'] = htmlspecialcharsBack($tax['LID']); $tax['~CODE'] = htmlspecialcharsBack($tax['CODE']); $taxies[] = $tax; } if (is_array($sort) && count($sort) > 0) { // Process only first expression reset($sort); $by = key($sort); $order = $sort[$by] == 'asc' ? SORT_ASC : SORT_DESC; if (in_array($by, array('ID', 'NAME', 'CODE', 'TIMESTAMP_X'), true)) { sortByColumn($taxies, array($by => $order)); } } $arResult['TAXIES'] = array(); $rowCount = $arResult['ROWS_COUNT'] = count($taxies); for ($i = 0; $i < $rowCount; $i++) { $tax = $taxies[$i];
case "F": case "M": $actorMaleSuffix = '_' . $arUser['PERSONAL_GENDER']; break; } } $actorUserName = CUser::FormatName($nameTemplate, $arUser); } } $eventTitleTemplate = GetMessage('C_CRM_LFA_TASKS_TITLE' . $eventTitlePhraseSuffix . $actorMaleSuffix); $eventTitle = str_replace(array('#USER_NAME#', '#TITLE#'), array($actorUserName, $taskHtmlTitle), $eventTitleTemplate); ob_start(); $GLOBALS['APPLICATION']->IncludeComponent("bitrix:tasks.task.livefeed", isset($arParams["PARAMS"]) && isset($arParams["PARAMS"]["MOBILE"]) && $arParams["PARAMS"]["MOBILE"] == "Y" ? 'mobile' : '', array("MOBILE" => isset($arParams["PARAMS"]) && isset($arParams["PARAMS"]["MOBILE"]) && $arParams["PARAMS"]["MOBILE"] == "Y" ? "Y" : "N", "TASK" => $arTask, "MESSAGE" => $eventTitle, "MESSAGE_24_1" => $eventTitle, "MESSAGE_24_2" => "", "CHANGES_24" => "", "NAME_TEMPLATE" => $arParams["PARAMS"]["NAME_TEMPLATE"], "PATH_TO_USER" => $arParams["PARAMS"]["PATH_TO_USER"], 'TYPE' => $arActivity["COMPLETED"] == "N" ? "create" : "status", 'task_tmp' => $taskHtmlTitle, 'taskHtmlTitle' => $taskHtmlTitle), null, array("HIDE_ICONS" => "Y")); $html_message = ob_get_contents(); ob_end_clean(); echo htmlspecialcharsBack($html_message); } } return; } else { switch ($arParams["~ACTIVITY"]["TYPE_ID"]) { case CCrmActivityType::Call: case CCrmActivityType::Meeting: case CCrmActivityType::Email: $arParams["~ACTIVITY"]["START_END_TIME"] = $arParams["~ACTIVITY"]["START_TIME"]; break; } try { $oFormat = new CCrmLiveFeedComponent(array("FIELDS" => $arParams["~FIELDS"], "PARAMS" => $arParams["~PARAMS"], "ACTIVITY" => $arParams["~ACTIVITY"])); } catch (Exception $e) { return false;
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } if (!CModule::IncludeModule("fileman")) { return; } /** * @var array $arResult * @var array $arParams */ $Editor = new CHTMLEditor(); $res = array_merge(array('height' => 200, 'minBodyWidth' => 350, 'normalBodyWidth' => 555, 'bAllowPhp' => false, 'limitPhpAccess' => false, 'showTaskbars' => false, 'showNodeNavi' => false, 'askBeforeUnloadPage' => true, 'bbCode' => true, 'siteId' => SITE_ID, 'autoResize' => true, 'autoResizeOffset' => 40, 'saveOnBlur' => true, 'controlsMap' => array(array('id' => 'Bold', 'compact' => true, 'sort' => 80), array('id' => 'Italic', 'compact' => true, 'sort' => 90), array('id' => 'Underline', 'compact' => true, 'sort' => 100), array('id' => 'Strikeout', 'compact' => true, 'sort' => 110), array('id' => 'RemoveFormat', 'compact' => true, 'sort' => 120), array('id' => 'Color', 'compact' => true, 'sort' => 130), array('id' => 'FontSelector', 'compact' => false, 'sort' => 135), array('id' => 'FontSize', 'compact' => false, 'sort' => 140), array('separator' => true, 'compact' => false, 'sort' => 145), array('id' => 'OrderedList', 'compact' => true, 'sort' => 150), array('id' => 'UnorderedList', 'compact' => true, 'sort' => 160), array('id' => 'AlignList', 'compact' => false, 'sort' => 190), array('separator' => true, 'compact' => false, 'sort' => 200), array('id' => 'InsertLink', 'compact' => true, 'sort' => 210, 'wrap' => 'bx-b-link-' . $arParams["FORM_ID"]), array('id' => 'InsertImage', 'compact' => false, 'sort' => 220), array('id' => 'InsertVideo', 'compact' => true, 'sort' => 230, 'wrap' => 'bx-b-video-' . $arParams["FORM_ID"]), array('id' => 'InsertTable', 'compact' => false, 'sort' => 250), array('id' => 'Code', 'compact' => true, 'sort' => 260), array('id' => 'Quote', 'compact' => true, 'sort' => 270, 'wrap' => 'bx-b-quote-' . $arParams["FORM_ID"]), array('id' => 'Smile', 'compact' => false, 'sort' => 280), array('separator' => true, 'compact' => false, 'sort' => 290), array('id' => 'Fullscreen', 'compact' => false, 'sort' => 310), array('id' => 'BbCode', 'compact' => true, 'sort' => 340), array('id' => 'More', 'compact' => true, 'sort' => 400))), is_array($arParams["LHE"]) ? $arParams["LHE"] : array(), array('name' => $arParams["TEXT"]["NAME"], 'id' => $arParams["LHE"]["id"], 'width' => '100%', 'arSmilesSet' => $arResult["SMILES"]["SETS"], 'arSmiles' => $arResult["SMILES"]["VALUE"], 'content' => htmlspecialcharsBack($arParams["TEXT"]["VALUE"]), 'iframeCss' => 'body{font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 13px;}' . '.bx-spoiler {border:1px solid #C0C0C0;background-color:#fff4ca;padding: 4px 4px 4px 24px;color:#373737;border-radius:2px;min-height:1em;margin: 0;}' . (is_array($arParams["LHE"]) && isset($arParams["LHE"]["iframeCss"]) ? $arParams["LHE"]["iframeCss"] : ""))); if ((string) $arParams["TEXT"]["INPUT_NAME"] != '') { $res['inputName'] = $arParams["TEXT"]["INPUT_NAME"]; } $Editor->Show($res);
$serverName = ""; $dbSite = CSite::GetByID(SITE_ID); $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", "www.bitrixsoft.com"); } if (strLen($serverName) <= 0) { $serverName = $_SERVER["HTTP_HOST"]; } } $serverName = "http://" . $serverName; $arResult["PATH_TO_POST"] = CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arParams["PATH_TO_POST"]), array("blog" => $arBlog["URL"], "post_id" => "#post_id#", "user_id" => $arBlog["OWNER_ID"], "group_id" => $arParams["SOCNET_GROUP_ID"])); $arResult["PATH_TO_POST1"] = $serverName . substr($arResult["PATH_TO_POST"], 0, strpos($arResult["PATH_TO_POST"], "#post_id#")); $arResult["PATH_TO_POST2"] = substr($arResult["PATH_TO_POST"], strpos($arResult["PATH_TO_POST"], "#post_id#") + strlen("#post_id#")); } CJSCore::Init(array('socnetlogdest')); // socialnetwork $arResult["PostToShow"]["FEED_DESTINATION"]['LAST']['SONETGROUPS'] = CSocNetLogDestination::GetLastSocnetGroup(); $cacheTtl = defined("BX_COMP_MANAGED_CACHE") ? 3153600 : 3600 * 4; $cacheId = 'blog_post_form_dest_' . $user_id; $cacheDir = '/blog/form/dest/' . $user_id; $obCache = new CPHPCache(); if ($obCache->InitCache($cacheTtl, $cacheId, $cacheDir)) { $arResult["PostToShow"]["FEED_DESTINATION"]['SONETGROUPS'] = $obCache->GetVars(); } else { $obCache->StartDataCache(); $arResult["PostToShow"]["FEED_DESTINATION"]['SONETGROUPS'] = CSocNetLogDestination::GetSocnetGroup(array('features' => array("blog", array("premoderate_post", "moderate_post", "write_post", "full_post"))));
/** * Use component main.post.list to work with LiveFeed * @param int $commentId Comment ID which needs to send. * @param array $arParams Array of settings (DATE_TIME_FORMAT, SHOW_RATING, PATH_TO_USER, AVATAR_SIZE, NAME_TEMPLATE, SHOW_LOGIN) * @return string */ public static function addLiveComment($commentId = 0, $arParams = array()) { $res = ""; if ($commentId > 0 && CModule::IncludeModule("pull") && \CPullOptions::GetNginxStatus() && ($comment = CBlogComment::GetByID($commentId)) && ($arPost = CBlogPost::GetByID($comment["POST_ID"]))) { global $DB, $APPLICATION; $arParams["DATE_TIME_FORMAT"] = isset($arParams["DATE_TIME_FORMAT"]) ? $arParams["DATE_TIME_FORMAT"] : $DB->DateFormatToPHP(CSite::GetDateFormat("FULL")); $arParams["SHOW_RATING"] = $arParams["SHOW_RATING"] == "N" ? "N" : "Y"; $arParams["PATH_TO_USER"] = isset($arParams["PATH_TO_USER"]) ? $arParams["PATH_TO_USER"] : ''; $arParams["AVATAR_SIZE_COMMENT"] = $arParams["AVATAR_SIZE_COMMENT"] > 0 ? $arParams["AVATAR_SIZE_COMMENT"] : ($arParams["AVATAR_SIZE"] > $arParams["AVATAR_SIZE"] ? $arParams["AVATAR_SIZE"] : 58); $arParams["NAME_TEMPLATE"] = isset($arParams["NAME_TEMPLATE"]) ? $arParams["NAME_TEMPLATE"] : CSite::GetNameFormat(); $arParams["SHOW_LOGIN"] = $arParams["SHOW_LOGIN"] == "N" ? "N" : "Y"; $comment["DateFormated"] = FormatDateFromDB($comment["DATE_CREATE"], $arParams["DATE_TIME_FORMAT"], true); $timestamp = MakeTimeStamp($comment["DATE_CREATE"]); if (strcasecmp(LANGUAGE_ID, 'EN') !== 0 && strcasecmp(LANGUAGE_ID, 'DE') !== 0) { $comment["DateFormated"] = ToLower($comment["DateFormated"]); } $comment["UF"] = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("BLOG_COMMENT", $commentId, LANGUAGE_ID); $arAuthor = CBlogUser::GetUserInfo($comment["AUTHOR_ID"], $arParams["PATH_TO_USER"], array("AVATAR_SIZE_COMMENT" => $arParams["AVATAR_SIZE_COMMENT"])); if (intval($arAuthor["PERSONAL_PHOTO"]) > 0) { $image_resize = CFile::ResizeImageGet($arAuthor["PERSONAL_PHOTO"], array("width" => $arParams["AVATAR_SIZE_COMMENT"], "height" => $arParams["AVATAR_SIZE_COMMENT"]), BX_RESIZE_IMAGE_EXACT); $arAuthor["PERSONAL_PHOTO_RESIZED"] = array("src" => $image_resize["src"]); } $p = new blogTextParser(false, ''); $ufCode = "UF_BLOG_COMMENT_FILE"; if (is_array($comment["UF"][$ufCode])) { $p->arUserfields = array($ufCode => array_merge($comment["UF"][$ufCode], array("TAG" => "DOCUMENT ID"))); } $arAllow = array("HTML" => "N", "ANCHOR" => "Y", "BIU" => "Y", "IMG" => "Y", "QUOTE" => "Y", "CODE" => "Y", "FONT" => "Y", "LIST" => "Y", "SMILES" => "Y", "NL2BR" => "N", "VIDEO" => "Y", "SHORT_ANCHOR" => "Y"); $arParserParams = array("imageWidth" => 800, "imageHeight" => 800); $comment["TextFormated"] = $p->convert($comment["POST_TEXT"], false, array(), $arAllow, $arParserParams); $p->bMobile = true; $comment["TextFormatedMobile"] = $p->convert($comment["POST_TEXT"], false, array(), $arAllow, $arParserParams); $comment["TextFormatedJS"] = CUtil::JSEscape(htmlspecialcharsBack($comment["POST_TEXT"])); $comment["TITLE"] = CUtil::JSEscape(htmlspecialcharsBack($comment["TITLE"])); $eventHandlerID = AddEventHandler("main", "system.field.view.file", array("CSocNetLogTools", "logUFfileShow")); $res = $APPLICATION->IncludeComponent("bitrix:main.post.list", "", array("TEMPLATE_ID" => 'BLOG_COMMENT_BG_', "RATING_TYPE_ID" => $arParams["SHOW_RATING"] == "Y" ? "BLOG_COMMENT" : "", "ENTITY_XML_ID" => "BLOG_" . $arPost["ID"], "RECORDS" => array($commentId => array("ID" => $comment["ID"], "NEW" => $arParams["FOLLOW"] != "N" && $comment["NEW"] == "Y" ? "Y" : "N", "APPROVED" => $comment["PUBLISH_STATUS"] == BLOG_PUBLISH_STATUS_PUBLISH ? "Y" : "N", "POST_TIMESTAMP" => $timestamp, "POST_TIME" => $comment["DATE_CREATE_TIME"], "POST_DATE" => $comment["DateFormated"], "AUTHOR" => array("ID" => $arAuthor["ID"], "NAME" => $arAuthor["~NAME"], "LAST_NAME" => $arAuthor["~LAST_NAME"], "SECOND_NAME" => $arAuthor["~SECOND_NAME"], "AVATAR" => $arAuthor["PERSONAL_PHOTO_resized"]["src"]), "FILES" => false, "UF" => $comment["UF"], "~POST_MESSAGE_TEXT" => $comment["POST_TEXT"], "WEB" => array("POST_TIME" => $comment["DATE_CREATE_TIME"], "POST_DATE" => $comment["DateFormated"], "CLASSNAME" => "", "POST_MESSAGE_TEXT" => $comment["TextFormated"], "AFTER" => <<<HTML <script>top.text{$commentId} = text{$commentId} = '{$comment["TextFormatedJS"]}';top.title{$commentId} = title{$commentId} = '{$comment["TITLE"]}';top.arComFiles{$commentId} = [];</script> HTML ), "MOBILE" => array("POST_TIME" => $comment["DATE_CREATE_TIME"], "POST_DATE" => $comment["DateFormated"], "CLASSNAME" => "", "POST_MESSAGE_TEXT" => $comment["TextFormatedMobile"]))), "NAV_STRING" => "", "NAV_RESULT" => "", "PREORDER" => "N", "RIGHTS" => array("MODERATE" => "N", "EDIT" => "N", "DELETE" => "N"), "VISIBLE_RECORDS_COUNT" => 1, "ERROR_MESSAGE" => "", "OK_MESSAGE" => "", "RESULT" => $commentId, "PUSH&PULL" => array("ACTION" => "REPLY", "ID" => $commentId), "MODE" => "PULL_MESSAGE", "VIEW_URL" => "", "EDIT_URL" => "", "MODERATE_URL" => "", "DELETE_URL" => "", "AUTHOR_URL" => "", "AVATAR_SIZE" => $arParams["AVATAR_SIZE_COMMENT"], "NAME_TEMPLATE" => $arParams["NAME_TEMPLATE"], "SHOW_LOGIN" => $arParams["SHOW_LOGIN"], "DATE_TIME_FORMAT" => "", "LAZYLOAD" => "", "NOTIFY_TAG" => "", "NOTIFY_TEXT" => "", "SHOW_MINIMIZED" => "Y", "SHOW_POST_FORM" => "", "IMAGE_SIZE" => "", "mfi" => ""), array(), null); if ($eventHandlerID !== false && intval($eventHandlerID) > 0) { RemoveEventHandler('main', 'system.field.view.file', $eventHandlerID); } } return $res; }
echo ShowError('Cannot include fileman module'); ?> <?php } else { ?> <?php // check if we use BBCODE $bbCode = $arData['DESCRIPTION_IN_BBCODE'] === 'Y'; if ($bbCode) { $rawDescription = $arData['META:DESCRIPTION_FOR_BBCODE']; } else { $rawDescription = $arData['DESCRIPTION']; } $Editor = new CHTMLEditor(); $res = array_merge(array('minBodyWidth' => 350, 'minBodyHeight' => 200, 'normalBodyWidth' => 555, 'bAllowPhp' => false, 'limitPhpAccess' => false, 'showTaskbars' => false, 'showNodeNavi' => false, 'askBeforeUnloadPage' => true, 'bbCode' => $bbCode, 'siteId' => SITE_ID, 'autoResize' => true, 'autoResizeOffset' => 40, 'saveOnBlur' => true, 'setFocusAfterShow' => false, 'controlsMap' => array(array('id' => 'Bold', 'compact' => true, 'sort' => 80), array('id' => 'Italic', 'compact' => true, 'sort' => 90), array('id' => 'Underline', 'compact' => true, 'sort' => 100), array('id' => 'Strikeout', 'compact' => true, 'sort' => 110), array('id' => 'RemoveFormat', 'compact' => true, 'sort' => 120), array('id' => 'Color', 'compact' => true, 'sort' => 130), array('id' => 'FontSelector', 'compact' => false, 'sort' => 135), array('id' => 'FontSize', 'compact' => false, 'sort' => 140), array('separator' => true, 'compact' => false, 'sort' => 145), array('id' => 'OrderedList', 'compact' => true, 'sort' => 150), array('id' => 'UnorderedList', 'compact' => true, 'sort' => 160), array('id' => 'AlignList', 'compact' => false, 'sort' => 190), array('separator' => true, 'compact' => false, 'sort' => 200), array('id' => 'InsertLink', 'compact' => true, 'sort' => 210), array('id' => 'InsertImage', 'compact' => false, 'sort' => 220), array('id' => 'InsertVideo', 'compact' => true, 'sort' => 230), array('id' => 'InsertTable', 'compact' => false, 'sort' => 250), array('id' => 'Code', 'compact' => true, 'sort' => 260), array('id' => 'Quote', 'compact' => true, 'sort' => 270), array('separator' => true, 'compact' => false, 'sort' => 290), array('id' => 'Fullscreen', 'compact' => false, 'sort' => 310), array('id' => 'BbCode', 'compact' => true, 'sort' => 340), array('id' => 'More', 'compact' => true, 'sort' => 400))), array('name' => 'DESCRIPTION', 'id' => $taskDescriptionEditorId, 'width' => '100%', 'arSmiles' => array(), 'content' => htmlspecialcharsBack($rawDescription), 'iframeCss' => 'body{font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 13px;}' . '.bx-spoiler {border:1px solid #C0C0C0;background-color:#fff4ca;padding: 4px 4px 4px 24px;color:#373737;border-radius:2px;min-height:1em;margin: 0;}')); $Editor->Show($res); ?> <?php } ?> </div> </div> </div> <div class="webform-row task-description-row"> <?php $APPLICATION->IncludeComponent("bitrix:tasks.task.detail.parts", ".default", array('MODE' => 'CREATE TASK FORM', 'BLOCKS' => array("checklist"), 'IS_IFRAME' => $arResult['IS_IFRAME'], 'GROUP_ID' => $arParams['GROUP_ID'], 'PATH_TO_TASKS_TASK' => $arParams['PATH_TO_TASKS_TASK'], 'PATH_TO_USER_PROFILE' => $arParams['PATH_TO_USER_PROFILE'], 'NAME_TEMPLATE' => $arParams['NAME_TEMPLATE'], 'ALLOWED_ACTIONS' => array('ACTION_CHECKLIST_ADD_ITEMS' => true), 'TASK_ID' => $arResult['DATA']['ID'], 'CHECKLIST_ITEMS' => $arResult['DATA']['CHECKLIST_ITEMS']), null, array('HIDE_ICONS' => 'Y')); ?>
function tasksGetLastSelected($arManagers, $bSubordinateOnly = false, $nameTemplate = "") { static $arLastUsers; global $USER; if (!isset($arLastUsers)) { $arSubDeps = CTasks::GetSubordinateDeps(); if (!class_exists('CUserOptions')) { include_once $_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/classes/" . $GLOBALS['DBType'] . "/favorites.php"; } $arLastSelected = CUserOptions::GetOption("tasks", "user_search", array()); if (is_array($arLastSelected) && strlen($arLastSelected['last_selected']) > 0) { $arLastSelected = array_unique(explode(',', $arLastSelected['last_selected'])); } else { $arLastSelected = false; } if (is_array($arLastSelected)) { $currentUser = array_search($USER->GetID(), $arLastSelected); if ($currentUser !== false) { unset($arLastSelected[$currentUser]); } array_unshift($arLastSelected, $USER->GetID()); } else { $arLastSelected[] = $USER->GetID(); } $arFilter = array('ACTIVE' => 'Y'); if ($bSubordinateOnly) { $arFilter["UF_DEPARTMENT"] = $arSubDeps; } else { $arFilter['!UF_DEPARTMENT'] = false; } $arFilter['ID'] = is_array($arLastSelected) ? implode('|', array_slice($arLastSelected, 0, 10)) : '-1'; $dbRes = CUser::GetList($by = 'last_name', $order = 'asc', $arFilter, array('SELECT' => array('UF_DEPARTMENT'))); $arLastUsers = array(); while ($arRes = $dbRes->GetNext()) { $arPhoto = array('IMG' => ''); if (!$arRes['PERSONAL_PHOTO']) { switch ($arRes['PERSONAL_GENDER']) { case "M": $suffix = "male"; break; case "F": $suffix = "female"; break; default: $suffix = "unknown"; } $arRes['PERSONAL_PHOTO'] = COption::GetOptionInt("socialnetwork", "default_user_picture_" . $suffix, false, isset($arParams['SITE_ID']) ? $arParams['SITE_ID'] : SITE_ID); } if ($arRes['PERSONAL_PHOTO'] > 0) { $arPhoto = CIntranetUtils::InitImage($arRes['PERSONAL_PHOTO'], 30, 0, BX_RESIZE_IMAGE_EXACT); } $arLastUsers[$arRes['ID']] = array('ID' => $arRes['ID'], 'NAME' => CUser::FormatName(empty($nameTemplate) ? CSite::GetNameFormat() : $nameTemplate, $arRes, true, false), 'LOGIN' => $arRes['LOGIN'], 'EMAIL' => $arRes['EMAIL'], 'WORK_POSITION' => htmlspecialcharsBack($arRes['WORK_POSITION'] ? $arRes['WORK_POSITION'] : $arRes['PERSONAL_PROFESSION']), 'PHOTO' => isset($arPhoto['CACHE']['src']) ? $arPhoto['CACHE']['src'] : "", 'HEAD' => false, 'SUBORDINATE' => is_array($arSubDeps) && is_array($arRes['UF_DEPARTMENT']) && array_intersect($arRes['UF_DEPARTMENT'], $arSubDeps) ? 'Y' : 'N', 'SUPERORDINATE' => in_array($arRes["ID"], $arManagers) ? 'Y' : 'N'); } } return $arLastUsers; }
function AddLiveComment($commentId = 0, $path = "", $arParams = array()) { if (IntVal($commentId) <= 0) { return; } if (CModule::IncludeModule("pull") && CPullOptions::GetNginxStatus() && ($arComment = CBlogComment::GetByID($commentId)) && ($arPost = CBlogPost::GetByID($arComment["POST_ID"]))) { if (strlen($path) <= 0 && strlen($arComment["PATH"]) > 0) { $path = CComponentEngine::MakePathFromTemplate($arComment["PATH"], array("post_id" => $arComment["POST_ID"], "comment_id" => $commentId)); } if (strlen($path) <= 0) { $path = CComponentEngine::MakePathFromTemplate($arPost["PATH"], array("post_id" => $arComment["POST_ID"], "comment_id" => $commentId)) . "?commentId=" . $commentId; } $arFormatParams = array("PATH_TO_USER" => isset($arParams["PATH_TO_USER"]) ? $arParams["PATH_TO_USER"] : '', "PATH_TO_POST" => $path, "NAME_TEMPLATE" => isset($arParams["NAME_TEMPLATE"]) ? $arParams["NAME_TEMPLATE"] : CSite::GetNameFormat(), "SHOW_LOGIN" => isset($arParams["SHOW_LOGIN"]) ? $arParams["SHOW_LOGIN"] : true, "AVATAR_SIZE_COMMENT" => isset($arParams["AVATAR_SIZE_COMMENT"]) ? $arParams["AVATAR_SIZE_COMMENT"] : 58, "PATH_TO_SMILE" => isset($arParams["PATH_TO_SMILE"]) ? $arParams["PATH_TO_SMILE"] : '', "DATE_TIME_FORMAT" => isset($arParams["DATE_TIME_FORMAT"]) ? $arParams["DATE_TIME_FORMAT"] : '', "SHOW_RATING" => isset($arParams["SHOW_RATING"]) ? $arParams["SHOW_RATING"] : '', "RATING_TYPE" => "like"); $arComment["DateFormated"] = FormatDateFromDB($arComment["DATE_CREATE"], $arFormatParams["DATE_TIME_FORMAT"], true); if (strcasecmp(LANGUAGE_ID, 'EN') !== 0 && strcasecmp(LANGUAGE_ID, 'DE') !== 0) { $arComment["DateFormated"] = ToLower($arComment["DateFormated"]); } $arComment["UF"] = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("BLOG_COMMENT", $commentId, LANGUAGE_ID); $arAuthor = CBlogUser::GetUserInfo($arComment["AUTHOR_ID"], $arFormatParams["PATH_TO_USER"], array("AVATAR_SIZE_COMMENT" => $arFormatParams["AVATAR_SIZE_COMMENT"])); if (IsModuleInstalled('extranet') && CModule::IncludeModule('socialnetwork')) { CSocNetTools::InitGlobalExtranetArrays(); } $arTmpUser = array("NAME" => $arAuthor["~NAME"], "LAST_NAME" => $arAuthor["~LAST_NAME"], "SECOND_NAME" => $arAuthor["~SECOND_NAME"], "LOGIN" => $arAuthor["~LOGIN"], "NAME_LIST_FORMATTED" => ""); $arAuthor["NAME_FORMATED"] = CUser::FormatName($arFormatParams["NAME_TEMPLATE"], $arTmpUser, $arFormatParams["SHOW_LOGIN"] != "N"); if (intval($arAuthor["PERSONAL_PHOTO"]) > 0) { $image_resize = CFile::ResizeImageGet($arAuthor["PERSONAL_PHOTO"], array("width" => $arFormatParams["AVATAR_SIZE_COMMENT"], "height" => $arFormatParams["AVATAR_SIZE_COMMENT"]), BX_RESIZE_IMAGE_EXACT); $arAuthor["PERSONAL_PHOTO_RESIZED"] = array("src" => $image_resize["src"]); } $p = new blogTextParser(false, ''); $ufCode = "UF_BLOG_COMMENT_FILE"; if (is_array($arComment["UF"][$ufCode])) { $p->arUserfields = array($ufCode => array_merge($arComment["UF"][$ufCode], array("TAG" => "DOCUMENT ID"))); } $arAllow = array("HTML" => "N", "ANCHOR" => "Y", "BIU" => "Y", "IMG" => "Y", "QUOTE" => "Y", "CODE" => "Y", "FONT" => "Y", "LIST" => "Y", "SMILES" => "Y", "NL2BR" => "N", "VIDEO" => "Y", "SHORT_ANCHOR" => "Y"); $arParserParams = array("imageWidth" => 800, "imageHeight" => 800); $arComment["TextFormated"] = $p->convert($arComment["POST_TEXT"], false, array(), $arAllow, $arParserParams); $p->bMobile = true; $arComment["TextFormatedMobile"] = $p->convert($arComment["POST_TEXT"], false, array(), $arAllow, $arParserParams); if ($perm >= BLOG_PERMS_MODERATE) { if ($arComment["PUBLISH_STATUS"] == BLOG_PUBLISH_STATUS_PUBLISH) { $arComment["CAN_HIDE"] = "Y"; } else { $arComment["CAN_SHOW"] = "Y"; } } else { $arComment["CAN_SHOW"] = $arComment["CAN_HIDE"] = "N"; } $urlToPost = CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arFormatParams["PATH_TO_POST"]), array("post_id" => "#source_post_id#", "user_id" => $arPost["AUTHOR_ID"])); $urlToPost .= strpos($urlToPost, "?") !== false ? "&" : "?"; $arUrl = array("LINK" => $urlToPost, "SHOW" => $urlToPost . "show_comment_id=#comment_id#&comment_post_id=#post_id#&" . bitrix_sessid_get(), "HIDE" => $urlToPost . "hide_comment_id=#comment_id#&comment_post_id=#post_id#&" . bitrix_sessid_get(), "DELETE" => $urlToPost . "delete_comment_id=#comment_id#&comment_post_id=#post_id#&" . bitrix_sessid_get(), "USER" => htmlspecialcharsback($arFormatParams["PATH_TO_USER"])); CRatingsComponentsMain::GetShowRating($arFormatParams); if ($arFormatParams["SHOW_RATING"] == "Y") { $arRating = CRatings::GetRatingVoteResult('BLOG_COMMENT', array($arComment["ID"])); } $arCommentParams = array("ID" => $commentId, "ENTITY_XML_ID" => "BLOG_" . $arPost["ID"], "FULL_ID" => array("BLOG_" . $arPost["ID"], $commentId), "ACTION" => "REPLY", "APPROVED" => "Y", "PANELS" => array("EDIT" => "N", "MODERATE" => "N", "DELETE" => "N"), "NEW" => "Y", "AUTHOR" => array("ID" => $GLOBALS["USER"]->GetID(), "NAME" => $arAuthor["NAME_FORMATED"], "URL" => $arAuthor["url"], "E-MAIL" => $arComment["AuthorEmail"], "AVATAR" => $arAuthor["PERSONAL_PHOTO_resized"]["src"], "IS_EXTRANET" => is_array($GLOBALS["arExtranetUserID"]) && in_array($GLOBALS["USER"]->GetID(), $GLOBALS["arExtranetUserID"])), "POST_TIMESTAMP" => $arComment["DATE_CREATE_TS"], "POST_TIME" => $arComment["DATE_CREATE_TIME"], "POST_DATE" => $arComment["DateFormated"], "POST_MESSAGE_TEXT" => $arComment["TextFormated"], "POST_MESSAGE_TEXT_MOBILE" => $arComment["TextFormatedMobile"], "URL" => array("LINK" => str_replace(array("##comment_id#", "#comment_id#"), array("", $commentId), $arUrl["LINK"]), "EDIT" => "__blogEditComment('" . $commentId . "', '" . $arPost["ID"] . "');", "MODERATE" => str_replace(array("#source_post_id#", "#post_id#", "#comment_id#", "&" . bitrix_sessid_get()), array($arPost["ID"], $arPost["ID"], $commentId, ""), $arComment["CAN_SHOW"] == "Y" ? $arUrl["SHOW"] : ($arComment["CAN_HIDE"] == "Y" ? $arUrl["HIDE"] : "")), "DELETE" => str_replace(array("#source_post_id#", "#post_id#", "#comment_id#", "&" . bitrix_sessid_get()), array($arPost["ID"], $arPost["ID"], $commentId, ""), $arUrl["DELETE"])), "AFTER" => "", "BEFORE_ACTIONS_MOBILE" => "", "AFTER_MOBILE" => ""); if ($arFormatParams["SHOW_RATING"] == "Y") { $arRatingData = array("ENTITY_TYPE_ID" => "BLOG_COMMENT", "ENTITY_ID" => $commentId, "OWNER_ID" => $arComment["AUTHOR_ID"], "USER_VOTE" => $arRating[$commentId]["USER_VOTE"], "USER_HAS_VOTED" => $arRating[$commentId]["USER_HAS_VOTED"], "TOTAL_VOTES" => $arRating[$commentId]["TOTAL_VOTES"], "TOTAL_POSITIVE_VOTES" => $arRating[$commentId]["TOTAL_POSITIVE_VOTES"], "TOTAL_NEGATIVE_VOTES" => $arRating[$commentId]["TOTAL_NEGATIVE_VOTES"], "TOTAL_VALUE" => $arRating[$commentId]["TOTAL_VALUE"], "PATH_TO_USER_PROFILE" => $arUrl["USER"]); ob_start(); $GLOBALS["APPLICATION"]->IncludeComponent("bitrix:rating.vote", $arFormatParams["RATING_TYPE"], $arRatingData, false, array("HIDE_ICONS" => "Y")); $arCommentParams["BEFORE_ACTIONS"] = ob_get_clean(); ob_start(); $GLOBALS["APPLICATION"]->IncludeComponent("bitrix:rating.vote", "mobile_comment_" . $arFormatParams["RATING_TYPE"], $arRatingData, false, array("HIDE_ICONS" => "Y")); $arCommentParams["BEFORE_ACTIONS_MOBILE"] = ob_get_clean(); } $arUFResult = self::BuildUFFields($arComment["UF"]); $arCommentParams["AFTER"] .= $arUFResult["AFTER"]; $arCommentParams["AFTER_MOBILE"] .= $arUFResult["AFTER_MOBILE"]; if ($arComment["CAN_EDIT"] == "Y") { ob_start(); ?> <script> top.text<?php echo $commentId; ?> = text<?php echo $commentId; ?> = '<?php echo CUtil::JSEscape(htmlspecialcharsBack($arComment["POST_TEXT"])); ?> '; top.title<?php echo $commentId; ?> = title<?php echo $commentId; ?> = '<?php echo isset($arComment["TITLE"]) ? CUtil::JSEscape($arComment["TITLE"]) : ''; ?> '; top.arComFiles<?php echo $commentId; ?> = [];<?php ?> </script><?php $arCommentParams["AFTER"] .= ob_get_clean(); } CPullWatch::AddToStack('UNICOMMENTSBLOG_' . $arPost["ID"], array('module_id' => 'unicomments', 'command' => 'comment', 'params' => $arCommentParams)); } }
unset($arResult["IDS"][$k1]); } } } } if ($arResult["newCount"] < 3) { $arResult["newCount"] = 3; } $arResult["~newCount"] = $arResult["newCount"]; if (IntVal($commentUrlID) > 0) { $arResult["newCount"] = count($arResult["CommentsResult"]); } if ($arParams["SHOW_RATING"] == "Y" && !empty($arResult["IDS"])) { $arResult['RATING'] = CRatings::GetRatingVoteResult('BLOG_COMMENT', $arResult["IDS"]); } } $arResult["urlToPost"] = CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arParams["PATH_TO_POST"]), array("post_id" => "#source_post_id#", "user_id" => $arPost["AUTHOR_ID"])); $arResult["urlToPost"] .= strpos($arResult["urlToPost"], "?") === false ? "?" : "&"; $arResult["urlToDelete"] = $arResult["urlToPost"] . "delete_comment_id=#comment_id#&comment_post_id=#post_id#&" . bitrix_sessid_get(); $arResult["urlToHide"] = $arResult["urlToPost"] . "hide_comment_id=#comment_id#&comment_post_id=#post_id#&" . bitrix_sessid_get(); $arResult["urlToShow"] = $arResult["urlToPost"] . "show_comment_id=#comment_id#&comment_post_id=#post_id#&" . bitrix_sessid_get(); $arResult["urlToAnswer"] = $arResult["urlToPost"] . "answer_user_id=#user_id#&answer_post_id=#post_id#&" . bitrix_sessid_get(); $arResult["urlToMore"] = $arResult["urlToPost"] . "last_comment_id=#comment_id#&comment_post_id=#post_id#&IFRAME=Y"; $arResult["urlToNew"] = $arResult["urlToPost"] . "new_comment_id=#comment_id#&comment_post_id=#post_id#&IFRAME=Y&show_new_ans=Y"; $this->prepareUrls($arResult); include_once $_SERVER["DOCUMENT_ROOT"] . $componentPath . "/component_adit.php"; } $arResult["Post"] = $arPost; $this->IncludeComponentTemplate(); return array("CanUserComment" => $arResult["CanUserComment"], "newCountWOMark" => $arResult["newCountWOMark"]); }
public static function PostIntoBuzzAsBlog($userTwit, $arSiteId = array(), $userLogin = '') { global $DB; if (!CModule::IncludeModule("blog")) { return; } $arParams = array(); if (IsModuleInstalled('bitrix24') && defined('BX24_HOST_NAME') && $userLogin != '') { if ($arUserTwit = unserialize(base64_decode($userTwit))) { $userTwit = $arUserTwit; } if ($arSiteIdCheck = unserialize(base64_decode($arSiteId))) { $arSiteId = $arSiteIdCheck; } $dbUser = CUser::GetByLogin($userLogin); if ($arUser = $dbUser->Fetch()) { $arParams["USER_ID"] = $arUser["ID"]; } } else { $arParams["USER_ID"] = $userTwit['kp_user_id']; } if (isset($arSiteId[$userTwit['kp_user_id']])) { $siteId = $arSiteId[$userTwit['kp_user_id']]; } if (strlen($siteId) <= 0) { $siteId = SITE_ID; } if (isset($userTwit['text'])) { $arParams["GROUP_ID"] = COption::GetOptionString("socialnetwork", "userbloggroup_id", false, $siteId); $arParams["PATH_TO_BLOG"] = COption::GetOptionString("socialnetwork", "userblogpost_page", false, $siteId); $arParams["PATH_TO_SMILE"] = COption::GetOptionString("socialnetwork", "smile_page", false, $siteId); $arParams["NAME_TEMPLATE"] = COption::GetOptionString("main", "TOOLTIP_NAME_TEMPLATE", false, $siteId); $arParams["SHOW_LOGIN"] = '******'; $arParams["PATH_TO_POST"] = $arParams["PATH_TO_BLOG"]; $arFilterblg = array("ACTIVE" => "Y", "USE_SOCNET" => "Y", "GROUP_ID" => $arParams["GROUP_ID"], "GROUP_SITE_ID" => $siteId, "OWNER_ID" => $arParams["USER_ID"]); $groupId = is_array($arParams["GROUP_ID"]) ? IntVal($arParams["GROUP_ID"][0]) : IntVal($arParams["GROUP_ID"]); if (isset($GLOBALS["BLOG_POST"]["BLOG_P_" . $groupId . "_" . $arParams["USER_ID"]]) && !empty($GLOBALS["BLOG_POST"]["BLOG_P_" . $groupId . "_" . $arParams["USER_ID"]])) { $arBlog = $GLOBALS["BLOG_POST"]["BLOG_P_" . $groupId . "_" . $arParams["USER_ID"]]; } else { $dbBl = CBlog::GetList(array(), $arFilterblg); $arBlog = $dbBl->Fetch(); if (!$arBlog && IsModuleInstalled("intranet")) { $arBlog = CBlog::GetByOwnerID($arParams["USER_ID"]); } $GLOBALS["BLOG_POST"]["BLOG_P_" . $groupId . "_" . $arParams["USER_ID"]] = $arBlog; } $arResult["Blog"] = $arBlog; if (empty($arBlog)) { if (!empty($arParams["GROUP_ID"])) { $arFields = array("=DATE_UPDATE" => $DB->CurrentTimeFunction(), "GROUP_ID" => is_array($arParams["GROUP_ID"]) ? IntVal($arParams["GROUP_ID"][0]) : IntVal($arParams["GROUP_ID"]), "ACTIVE" => "Y", "ENABLE_COMMENTS" => "Y", "ENABLE_IMG_VERIF" => "Y", "EMAIL_NOTIFY" => "Y", "ENABLE_RSS" => "Y", "ALLOW_HTML" => "N", "ENABLE_TRACKBACK" => "N", "SEARCH_INDEX" => "Y", "USE_SOCNET" => "Y", "=DATE_CREATE" => $DB->CurrentTimeFunction(), "PERMS_POST" => array(1 => "I", 2 => "I"), "PERMS_COMMENT" => array(1 => "P", 2 => "P")); $bRights = false; $rsUser = CUser::GetByID($arParams["USER_ID"]); $arUser = $rsUser->Fetch(); if (strlen($arUser["NAME"] . "" . $arUser["LAST_NAME"]) <= 0) { $arFields["NAME"] = GetMessage("BLG_NAME") . " " . $arUser["LOGIN"]; } else { $arFields["NAME"] = GetMessage("BLG_NAME") . " " . $arUser["NAME"] . " " . $arUser["LAST_NAME"]; } $arFields["URL"] = str_replace(" ", "_", $arUser["LOGIN"]) . "-blog-" . SITE_ID; $arFields["OWNER_ID"] = $arParams["USER_ID"]; $urlCheck = preg_replace("/[^a-zA-Z0-9_-]/is", "", $arFields["URL"]); if ($urlCheck != $arFields["URL"]) { $arFields["URL"] = "u" . $arParams["USER_ID"] . "-blog-" . SITE_ID; } if (CBlog::GetByUrl($arFields["URL"])) { $uind = 0; do { $uind++; $arFields["URL"] = $arFields["URL"] . $uind; } while (CBlog::GetByUrl($arFields["URL"])); } $featureOperationPerms = CSocNetFeaturesPerms::GetOperationPerm(SONET_ENTITY_USER, $arFields["OWNER_ID"], "blog", "view_post"); if ($featureOperationPerms == SONET_RELATIONS_TYPE_ALL) { $bRights = true; } $arFields["PATH"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG"], array("blog" => $arFields["URL"], "user_id" => $arFields["OWNER_ID"], "group_id" => $arFields["SOCNET_GROUP_ID"])); $blogID = CBlog::Add($arFields); if ($bRights) { CBlog::AddSocnetRead($blogID); } $arBlog = CBlog::GetByID($blogID, $arParams["GROUP_ID"]); } } // $DATE_PUBLISH = ""; // if(strlen($_POST["DATE_PUBLISH_DEF"]) > 0) // $DATE_PUBLISH = $_POST["DATE_PUBLISH_DEF"]; // elseif (strlen($_POST["DATE_PUBLISH"])<=0) $DATE_PUBLISH = ConvertTimeStamp(time() + CTimeZone::GetOffset(), "FULL"); // else // $DATE_PUBLISH = $_POST["DATE_PUBLISH"]; $arFields = array("DETAIL_TEXT" => $userTwit['text'], "DETAIL_TEXT_TYPE" => "text", "DATE_PUBLISH" => $DATE_PUBLISH, "PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_PUBLISH, "PATH" => CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arParams["PATH_TO_POST"]), array("post_id" => "#post_id#", "user_id" => $arBlog["OWNER_ID"])), "URL" => $arBlog["URL"], "SOURCE_TYPE" => "twitter"); $arFields["PERMS_POST"] = array(); $arFields["PERMS_COMMENT"] = array(); $arFields["MICRO"] = "N"; if (strlen($arFields["TITLE"]) <= 0) { $arFields["MICRO"] = "Y"; $arFields["TITLE"] = trim(blogTextParser::killAllTags($arFields["DETAIL_TEXT"])); if (strlen($arFields["TITLE"]) <= 0) { $arFields["TITLE"] = GetMessage("BLOG_EMPTY_TITLE_PLACEHOLDER"); } } $arFields["SOCNET_RIGHTS"] = array(); if (!empty($userTwit['user_perms'])) { $bOne = true; foreach ($userTwit['user_perms'] as $v => $k) { if (strlen($v) > 0 && is_array($k) && !empty($k)) { foreach ($k as $vv) { if (strlen($vv) > 0) { $arFields["SOCNET_RIGHTS"][] = $vv; if ($v != "SG") { $bOne = false; } } } } } if ($bOne && !empty($userTwit['user_perms']["SG"])) { $bOnesg = false; $bFirst = true; $oGrId = 0; foreach ($userTwit['user_perms']["SG"] as $v) { if (strlen($v) > 0) { if ($bFirst) { $bOnesg = true; $bFirst = false; $v = str_replace("SG", "", $v); $oGrId = IntVal($v); } else { $bOnesg = false; } } } if ($bOnesg) { if (!CSocNetFeaturesPerms::CanPerformOperation($arParams["USER_ID"], SONET_ENTITY_GROUP, $oGrId, "blog", "write_post") && !CSocNetFeaturesPerms::CanPerformOperation($arParams["USER_ID"], SONET_ENTITY_GROUP, $oGrId, "blog", "moderate_post") && !CSocNetFeaturesPerms::CanPerformOperation($arParams["USER_ID"], SONET_ENTITY_GROUP, $oGrId, "blog", "full_post")) { $arFields["PUBLISH_STATUS"] = BLOG_PUBLISH_STATUS_READY; } } } } $bError = false; /* if (CModule::IncludeModule('extranet') && !CExtranet::IsIntranetUser()) { if(empty($arFields["SOCNET_RIGHTS"]) || in_array("UA", $arFields["SOCNET_RIGHTS"])) { $bError = true; $arResult["ERROR_MESSAGE"] = GetMessage("BLOG_BPE_EXTRANET_ERROR"); } }*/ if (!$bError) { preg_match_all("/\\[user\\s*=\\s*([^\\]]*)\\](.+?)\\[\\/user\\]/ies" . BX_UTF_PCRE_MODIFIER, $userTwit['text'], $arMention); $arFields["=DATE_CREATE"] = $DB->GetNowFunction(); $arFields["AUTHOR_ID"] = $arParams["USER_ID"]; $arFields["BLOG_ID"] = $arBlog["ID"]; $newID = CBlogPost::Add($arFields); $socnetRightsOld = array("U" => array()); $bAdd = true; $bNeedMail = false; if ($newID) { $arFields["ID"] = $newID; $arParamsNotify = array("bSoNet" => true, "UserID" => $arParams["USER_ID"], "allowVideo" => $arResult["allowVideo"], "PATH_TO_SMILE" => $arParams["PATH_TO_SMILE"], "PATH_TO_POST" => $arParams["PATH_TO_POST"], "SOCNET_GROUP_ID" => $arParams["GROUP_ID"], "user_id" => $arParams["USER_ID"], "NAME_TEMPLATE" => $arParams["NAME_TEMPLATE"], "SHOW_LOGIN" => $arParams["SHOW_LOGIN"]); CBlogPost::Notify($arFields, $arBlog, $arParamsNotify); } } if ($newID > 0 && strlen($arResult["ERROR_MESSAGE"]) <= 0 && $arFields["PUBLISH_STATUS"] == BLOG_PUBLISH_STATUS_PUBLISH) { BXClearCache(true, "/" . SITE_ID . "/blog/last_messages_list/"); $arFieldsIM = array("TYPE" => "POST", "TITLE" => $arFields["TITLE"], "URL" => CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arParams["PATH_TO_POST"]), array("post_id" => $newID, "user_id" => $arBlog["OWNER_ID"])), "ID" => $newID, "FROM_USER_ID" => $arParams["USER_ID"], "TO_USER_ID" => array(), "TO_SOCNET_RIGHTS" => $arFields["SOCNET_RIGHTS"], "TO_SOCNET_RIGHTS_OLD" => $socnetRightsOld["U"]); if (!empty($arMentionOld)) { $arFieldsIM["MENTION_ID_OLD"] = $arMentionOld[1]; } if (!empty($arMention)) { $arFieldsIM["MENTION_ID"] = $arMention[1]; } CBlogPost::NotifyIm($arFieldsIM); $arParams["ID"] = $newID; if (!empty($_POST["SPERM"]["SG"])) { foreach ($_POST["SPERM"]["SG"] as $v) { $group_id_tmp = substr($v, 2); if (IntVal($group_id_tmp) > 0) { CSocNetGroup::SetLastActivity(IntVal($group_id_tmp)); } } } } } }
$linkClass = "set-item-link-name"; } $fieldValue .= "<div ".$hidden. " ".$setItemClass.">"; if ($arItem['RECOMMENDATION']) { $fieldValue .= '<div class="bx-adm-bigdata-icon-medium-inner"></div>'; } $fieldValue .= "[".$arItem["PRODUCT_ID"]."] "; if(strpos($arItem["DETAIL_PAGE_URL"], "http") === false) $url = "http://".$serverName[$arOrder["LID"]].htmlspecialcharsBack($arItem["DETAIL_PAGE_URL"]); else $url = htmlspecialcharsBack($arItem["DETAIL_PAGE_URL"]); if (strlen($arItem["DETAIL_PAGE_URL"]) > 0) $fieldValue .= "<a href=\"".$url."\" class=\"".$linkClass."\">"; $fieldValue .= $arItem["NAME"]; if (strlen($arItem["DETAIL_PAGE_URL"]) > 0) $fieldValue .= "</a>"; $fieldValue .= " <nobr>(".$arItem["QUANTITY"]." ".$measure.")</nobr>"; if ($bShowBasketProps) { $dbProp = CSaleBasket::GetPropsList(Array("SORT" => "ASC", "ID" => "ASC"), Array("BASKET_ID" => $arItem["ID"], "!CODE" => array("CATALOG.XML_ID", "PRODUCT.XML_ID"))); while($arProp = $dbProp -> GetNext()) { if (strlen($arProp["VALUE"]) > 0)
<?endif;?> } </script> <? } ?> <div id="edit-post-text"><? $LHE = new CLightHTMLEditor; $res = array_merge( array( 'id' => $arParams["LHE"]["id"], // 'width' => '800', // default 100% 'height' => $arParams["TEXT"]["HEIGHT"], 'inputId' => $arParams["TEXT"]["ID"], 'inputName' => $arParams["TEXT"]["NAME"], 'content' => htmlspecialcharsBack($arParams["TEXT"]["VALUE"]), 'bUseFileDialogs' => false, 'bUseMedialib' => false, 'toolbarConfig' => $arParams["PARSER"], 'jsObjName' => $arParams["LHE"]["jsObjName"], 'arSmiles' => $arParams["SMILES"]["VALUE"], 'smileCountInToolbar' => $arParams['SMILES_COUNT'], 'bSaveOnBlur' => true, 'BBCode' => true, 'bConvertContentFromBBCodes' => false, 'bQuoteFromSelection' => true, // Make quote from any text in the page 'bSetDefaultCodeView' => false, // Set first view to CODE or to WYSIWYG 'bBBParseImageSize' => true, // [IMG ID=XXX WEIGHT=5 HEIGHT=6], [IMGWEIGHT=5 HEIGHT=6]/image.gif[/IMG] 'bResizable' => true, 'bAutoResize' => true, 'autoResizeOffset' => 40,
} } else { $arResult["ERROR_MESSAGE"][] = GetMessage("BLOG_BLOG_BLOG_NO_BLOG"); CHTTP::SetStatus("404 Not Found"); } } else { $arResult["ERROR_MESSAGE"][] = GetMessage("BLOG_BLOG_BLOG_NO_BLOG"); CHTTP::SetStatus("404 Not Found"); } if ($arParams["SHOW_RATING"] == "Y" && !empty($arResult["IDS"])) { $arResult['RATING'] = CRatings::GetRatingVoteResult('BLOG_POST', $arResult["IDS"]); } if ($arParams["SET_TITLE"] == "Y") { $title = $arResult["BLOG"]["NAME"]; if ($arParams["SET_NAV_CHAIN"] == "Y") { $APPLICATION->AddChainItem($arResult["BLOG"]["NAME"], CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arParams["PATH_TO_BLOG"]), array("blog" => $arResult["BLOG"]["URL"]))); } if (isset($arResult["filter"][">=DATE_PUBLISH"])) { $title .= " - " . GetMessage("BLOG_BLOG_BLOG_MES_FOR"); if ($arParams["YEAR"] && $arParams["MONTH"] && $arParams["DAY"]) { $title .= ConvertTimeStamp(mktime(0, 0, 0, $arParams["MONTH"], $arParams["DAY"], $arParams["YEAR"])); } elseif ($arParams["YEAR"] && $arParams["MONTH"]) { $title .= GetMessage("BLOG_BLOG_BLOG_M_" . $arParams["MONTH"]) . " " . $arParams["YEAR"] . " " . GetMessage("BLOG_BLOG_BLOG_MES_YEAR"); } elseif ($arParams["YEAR"]) { $title .= $arParams["YEAR"] . " " . GetMessage("BLOG_BLOG_BLOG_MES_YEAR_ONE"); } } if (isset($arResult["filter"]["CATEGORY_ID_F"])) { $title .= " - " . GetMessage("BLOG_BLOG_BLOG_MES_CAT") . ' "'; $title .= $arResult["title"]["category"]["NAME"] . '"'; }
public static function SendPullComment($type, $arFields) { if (!CModule::IncludeModule("pull")) { return; } if ($type == "blog") { $arCommentParams = array("ID" => $arFields["COMMENT_ID"], "ENTITY_XML_ID" => "BLOG_" . $arFields["POST_ID"], "FULL_ID" => array("BLOG_" . $arFields["POST_ID"], $arFields["COMMENT_ID"]), "ACTION" => "REPLY", "APPROVED" => "Y", "PANELS" => array("EDIT" => "N", "MODERATE" => "N", "DELETE" => "N"), "NEW" => "Y", "AUTHOR" => array("ID" => $GLOBALS["USER"]->GetID(), "NAME" => $arFields["arAuthor"]["NAME_FORMATED"], "URL" => $arFields["arAuthor"]["url"], "E-MAIL" => $arFields["arComment"]["AuthorEmail"], "AVATAR" => $arFields["arAuthor"]["PERSONAL_PHOTO_resized"]["src"], "IS_EXTRANET" => is_array($GLOBALS["arExtranetUserID"]) && in_array($GLOBALS["USER"]->GetID(), $GLOBALS["arExtranetUserID"])), "POST_TIMESTAMP" => $arFields["arComment"]["DATE_CREATE_TS"], "POST_TIME" => $arFields["arComment"]["DATE_CREATE_TIME"], "POST_DATE" => $arFields["arComment"]["DateFormated"], "POST_MESSAGE_TEXT" => $arFields["arComment"]["TextFormated"], "POST_MESSAGE_TEXT_MOBILE" => $arFields["arComment"]["TextFormatedMobile"], "URL" => array("LINK" => str_replace(array("##comment_id#", "#comment_id#"), array("", $arFields["COMMENT_ID"]), $arFields["arUrl"]["LINK"]), "EDIT" => "__blogEditComment('" . $arFields["COMMENT_ID"] . "', '" . $arFields["POST_ID"] . "');", "MODERATE" => str_replace(array("#source_post_id#", "#post_id#", "#comment_id#", "&" . bitrix_sessid_get()), array($arFields["POST_ID"], $arFields["POST_ID"], $arFields["COMMENT_ID"], ""), $arFields["arComment"]["CAN_SHOW"] == "Y" ? $arFields["arUrl"]["SHOW"] : ($arFields["arComment"]["CAN_HIDE"] == "Y" ? $arFields["arUrl"]["HIDE"] : "")), "DELETE" => str_replace(array("#source_post_id#", "#post_id#", "#comment_id#", "&" . bitrix_sessid_get()), array($arFields["POST_ID"], $arFields["POST_ID"], $arFields["COMMENT_ID"], ""), $arFields["arUrl"]["DELETE"])), "AFTER" => "", "BEFORE_ACTIONS_MOBILE" => "", "AFTER_MOBILE" => ""); if ($arFields["SHOW_RATING"] == "Y") { ob_start(); $GLOBALS["APPLICATION"]->IncludeComponent("bitrix:rating.vote", $arFields["RATING_TYPE"], array("ENTITY_TYPE_ID" => "BLOG_COMMENT", "ENTITY_ID" => $arFields["arComment"]["ID"], "OWNER_ID" => $arFields["arComment"]["AUTHOR_ID"], "USER_VOTE" => $arFields["arRating"][$arFields["arComment"]["ID"]]["USER_VOTE"], "USER_HAS_VOTED" => $arFields["arRating"][$arFields["arComment"]["ID"]]["USER_HAS_VOTED"], "TOTAL_VOTES" => $arFields["arRating"][$arFields["arComment"]["ID"]]["TOTAL_VOTES"], "TOTAL_POSITIVE_VOTES" => $arFields["arRating"][$arFields["arComment"]["ID"]]["TOTAL_POSITIVE_VOTES"], "TOTAL_NEGATIVE_VOTES" => $arFields["arRating"][$arFields["arComment"]["ID"]]["TOTAL_NEGATIVE_VOTES"], "TOTAL_VALUE" => $arFields["arRating"][$arFields["arComment"]["ID"]]["TOTAL_VALUE"], "PATH_TO_USER_PROFILE" => $arFields["arUrl"]["USER"]), false, array("HIDE_ICONS" => "Y")); $arCommentParams["BEFORE_ACTIONS"] = ob_get_clean(); ob_start(); $GLOBALS["APPLICATION"]->IncludeComponent("bitrix:rating.vote", "mobile_comment_" . $arFields["RATING_TYPE"], array("ENTITY_TYPE_ID" => "BLOG_COMMENT", "ENTITY_ID" => $arFields["arComment"]["ID"], "OWNER_ID" => $arFields["arComment"]["AUTHOR_ID"], "USER_VOTE" => $arFields["arRating"][$arFields["arComment"]["ID"]]["USER_VOTE"], "USER_HAS_VOTED" => $arFields["arRating"][$arFields["arComment"]["ID"]]["USER_HAS_VOTED"], "TOTAL_VOTES" => $arFields["arRating"][$arFields["arComment"]["ID"]]["TOTAL_VOTES"], "TOTAL_POSITIVE_VOTES" => $arFields["arRating"][$arFields["arComment"]["ID"]]["TOTAL_POSITIVE_VOTES"], "TOTAL_NEGATIVE_VOTES" => $arFields["arRating"][$arFields["arComment"]["ID"]]["TOTAL_NEGATIVE_VOTES"], "TOTAL_VALUE" => $arFields["arRating"][$arFields["arComment"]["ID"]]["TOTAL_VALUE"], "PATH_TO_USER_PROFILE" => $arFields["arUrl"]["USER"]), false, array("HIDE_ICONS" => "Y")); $arCommentParams["BEFORE_ACTIONS_MOBILE"] = ob_get_clean(); } $arComment["UF"] = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("BLOG_COMMENT", $arFields["arComment"]["ID"], LANGUAGE_ID); $arUFResult = self::BuildUFFields($arComment["UF"]); $arCommentParams["AFTER"] .= $arUFResult["AFTER"]; $arCommentParams["AFTER_MOBILE"] .= $arUFResult["AFTER_MOBILE"]; if ($arFields["arComment"]["CAN_EDIT"] == "Y") { ob_start(); ?> <script> top.text<?php echo $arFields["arComment"]["ID"]; ?> = text<?php echo $arFields["arComment"]["ID"]; ?> = '<?php echo CUtil::JSEscape(htmlspecialcharsBack($arFields["arComment"]["POST_TEXT"])); ?> '; top.title<?php echo $arFields["arComment"]["ID"]; ?> = title<?php echo $arFields["arComment"]["ID"]; ?> = '<?php echo isset($arFields["arComment"]["TITLE"]) ? CUtil::JSEscape($arFields["arComment"]["TITLE"]) : ''; ?> '; top.arComFiles<?php echo $arFields["arComment"]["ID"]; ?> = [];<?php ?> </script><?php $arCommentParams["AFTER"] .= ob_get_clean(); } CPullWatch::AddToStack('UNICOMMENTSBLOG_' . $arFields["POST_ID"], array('module_id' => 'unicomments', 'command' => 'comment', 'params' => $arCommentParams)); } }
?> <img src="/wharetobuy/maps/metro.gif" style="border:0px; margin:0px 5px 0px 0px; padding:0px;" /> <span style="font-size:12px;"><?php echo $arElement["DISPLAY_PROPERTIES"]["SALON_METRO"]["VALUE"]; ?> </span> <?php } ?> <?php if ($arElement["DISPLAY_PROPERTIES"]["SALON_ROUTE"]["VALUE"] != "") { ?> <div style="width: 500px; font-size:11px;"> <?php echo htmlspecialcharsBack($arElement["DISPLAY_PROPERTIES"]["SALON_ROUTE"]["VALUE"]); ?> </div> <?php } ?> <?php if ($arElement["DISPLAY_PROPERTIES"]["SALON_SHEMA"]["VALUE"] != "") { $shema = CFile::GetPath($arElement["DISPLAY_PROPERTIES"]["SALON_SHEMA"]["VALUE"]); if ($_REQUEST["print"] == "Y") { echo CFile::ShowImage($arElement["DISPLAY_PROPERTIES"]["SALON_SHEMA"]["VALUE"], 400, 600, "border=0"); } else { ?> <br /> <a href="#" onClick="window.open('/wharetobuy/moscow/shema.php?shema=<?php
$dbUser = CUser::GetByID($user_id); $arUser = $dbUser->GetNext(); $AuthorName = CBlogUser::GetUserName($BlogUser["ALIAS"], $arUser["NAME"], $arUser["LAST_NAME"], $arUser["LOGIN"]); $dbUser = CUser::GetByID($arResult["BLOG"]["OWNER_ID"]); $arUserBlog = $dbUser->GetNext(); 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", ""); } if (strlen($serverName) <= 0) { $serverName = $_SERVER["SERVER_NAME"]; } } $arMailFields = array("BLOG_ID" => $arBlog["ID"], "BLOG_NAME" => $arBlog["NAME"], "BLOG_URL" => $arBlog["URL"], "BLOG_ADR" => "http://" . $serverName . CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arParams["PATH_TO_BLOG"]), array("blog" => $arBlog["URL"])), "USER_ID" => $user_id, "USER" => $AuthorName, "USER_URL" => "http://" . $serverName . CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arParams["PATH_TO_USER"]), array("user_id" => $user_id)), "EMAIL_FROM" => COption::GetOptionString("main", "email_from", "*****@*****.**")); $arF1 = $arF2 = $arMailFields; $arF1["EMAIL_TO"] = $arUser["EMAIL"]; $arF2["EMAIL_TO"] = $arUserBlog["EMAIL"]; CEvent::Send("BLOG_YOU_TO_BLOG", SITE_ID, $arF1); CEvent::Send("BLOG_USER_TO_YOUR_BLOG", SITE_ID, $arF2); } else { $arResult["ERROR_MESSAGE"] = GetMessage("B_B_MES_REQUEST_ERROR") . "<br />"; } } } else { $arResult["ERROR_MESSAGE"] .= GetMessage("B_B_MES_REQUEST_AUTH") . "<br />"; } } if ($_GET["delete"] == "Y") { if (check_bitrix_sessid() && CBlogPost::CanUserDeletePost(IntVal($arParams["ID"]), $USER->IsAuthorized() ? $arResult["USER_ID"] : 0)) {
} if ($last_comment_ts > 0 && $arCommentTmp["LOG_DATE_TS"] >= $last_comment_ts || $last_comment_ts <= 0 && $arCommentTmp["EVENT"]["ID"] >= $last_comment_id) { unset($arResult["arComments"][$key]); } else { $arCommentID[] = $arCommentTmp["EVENT"]["RATING_ENTITY_ID"]; } } $arRatingComments = array(); if (!empty($arCommentID) && strlen($rating_entity_type) > 0) { $arRatingComments = CRatings::GetRatingVoteResult($rating_entity_type, $arCommentID); } foreach ($arResult["arComments"] as $key => $arCommentTmp) { if (array_key_exists("EVENT_FORMATTED", $arCommentTmp) && array_key_exists("MESSAGE", $arCommentTmp["EVENT_FORMATTED"]) && strlen($arCommentTmp["EVENT_FORMATTED"]["MESSAGE"]) > 0) { $arResult["arComments"][$key]["EVENT_FORMATTED"]["MESSAGE"] = htmlspecialcharsBack($arCommentTmp["EVENT_FORMATTED"]["MESSAGE"]); } elseif (array_key_exists("EVENT", $arCommentTmp) && array_key_exists("MESSAGE", $arCommentTmp["EVENT"]) && strlen($arCommentTmp["EVENT"]["MESSAGE"]) > 0) { $arResult["arComments"][$key]["EVENT"]["MESSAGE"] = htmlspecialcharsBack($arCommentTmp["EVENT"]["MESSAGE"]); } if (array_key_exists($arCommentTmp["EVENT"]["RATING_ENTITY_ID"], $arRatingComments)) { $arResult["arComments"][$key]["EVENT"]["RATING_USER_VOTE_VALUE"] = $arRatingComments[$arCommentTmp["EVENT"]["RATING_ENTITY_ID"]]["USER_VOTE"]; $arResult["arComments"][$key]["EVENT"]["RATING_USER_HAS_VOTED"] = $arRatingComments[$arCommentTmp["EVENT"]["RATING_ENTITY_ID"]]["USER_HAS_VOTED"] == "Y" ? "Y" : "N"; $arResult["arComments"][$key]["EVENT"]["RATING_TOTAL_POSITIVE_VOTES"] = intval($arRatingComments[$arCommentTmp["EVENT"]["RATING_ENTITY_ID"]]["TOTAL_POSITIVE_VOTES"]); $arResult["arComments"][$key]["EVENT"]["RATING_TOTAL_NEGATIVE_VOTES"] = intval($arRatingComments[$arCommentTmp["EVENT"]["RATING_ENTITY_ID"]]["TOTAL_NEGATIVE_VOTES"]); $arResult["arComments"][$key]["EVENT"]["RATING_TOTAL_VALUE"] = $arRatingComments[$arCommentTmp["EVENT"]["RATING_ENTITY_ID"]]["TOTAL_VALUE"]; $arResult["arComments"][$key]["EVENT"]["RATING_TOTAL_VOTES"] = intval($arRatingComments[$arCommentTmp["EVENT"]["RATING_ENTITY_ID"]]["TOTAL_VOTES"]); } else { $arResult["arComments"][$key]["EVENT"]["RATING_USER_VOTE_VALUE"] = 0; $arResult["arComments"][$key]["EVENT"]["RATING_USER_HAS_VOTED"] = "N"; $arResult["arComments"][$key]["EVENT"]["RATING_TOTAL_POSITIVE_VOTES"] = 0; $arResult["arComments"][$key]["EVENT"]["RATING_TOTAL_NEGATIVE_VOTES"] = 0; $arResult["arComments"][$key]["EVENT"]["RATING_TOTAL_VALUE"] = 0; $arResult["arComments"][$key]["EVENT"]["RATING_TOTAL_VOTES"] = 0;
function Notify($arPost, $arBlog, $arParams) { global $DB; if (empty($arBlog)) { $arBlog = CBlog::GetByID($arPost["BLOG_ID"]); } if ($arParams["bSoNet"] || $arBlog["EMAIL_NOTIFY"] == "Y" && $arParams["user_id"] != $arBlog["OWNER_ID"]) { $BlogUser = CBlogUser::GetByID($arParams["user_id"], BLOG_BY_USER_ID); $BlogUser = CBlogTools::htmlspecialcharsExArray($BlogUser); $res = CUser::GetByID($arBlog["OWNER_ID"]); $arOwner = $res->GetNext(); $dbUser = CUser::GetByID($arParams["user_id"]); $arUser = $dbUser->Fetch(); $AuthorName = CBlogUser::GetUserNameEx($arUser, $BlogUser, $arParams); $parserBlog = new blogTextParser(false, $arParams["PATH_TO_SMILE"]); $text4mail = $arPost["DETAIL_TEXT"]; if ($arPost["DETAIL_TEXT_TYPE"] == "html") { $text4mail = HTMLToTxt($text4mail); } $arImages = array(); $res = CBlogImage::GetList(array("ID" => "ASC"), array("POST_ID" => $arPost["ID"], "BLOG_ID" => $arBlog["ID"], "IS_COMMENT" => "N")); while ($arImage = $res->Fetch()) { $arImages[$arImage['ID']] = $arImage['FILE_ID']; } $text4mail = $parserBlog->convert4mail($text4mail, $arImages); $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", ""); } } } if (!$arParams["bSoNet"] && $arBlog["EMAIL_NOTIFY"] == "Y" && $arParams["user_id"] != $arBlog["OWNER_ID"] && IntVal($arBlog["OWNER_ID"]) > 0) { CEvent::Send("NEW_BLOG_MESSAGE", SITE_ID, array("BLOG_ID" => $arBlog["ID"], "BLOG_NAME" => htmlspecialcharsBack($arBlog["NAME"]), "BLOG_URL" => $arBlog["URL"], "MESSAGE_TITLE" => $arPost["TITLE"], "MESSAGE_TEXT" => $text4mail, "MESSAGE_DATE" => GetTime(MakeTimeStamp($arPost["DATE_PUBLISH"]) - CTimeZone::GetOffset(), "FULL"), "MESSAGE_PATH" => "http://" . $serverName . CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arParams["PATH_TO_POST"]), array("blog" => $arBlog["URL"], "post_id" => $arPost["ID"], "user_id" => $arBlog["OWNER_ID"], "group_id" => $arParams["SOCNET_GROUP_ID"])), "AUTHOR" => $AuthorName, "EMAIL_FROM" => COption::GetOptionString("main", "email_from", "*****@*****.**"), "EMAIL_TO" => $arOwner["EMAIL"])); } if ($arParams["bSoNet"] && $arPost["ID"] && CModule::IncludeModule("socialnetwork")) { if ($arPost["DETAIL_TEXT_TYPE"] == "html" && $arParams["allowHTML"] == "Y" && $arBlog["ALLOW_HTML"] == "Y") { $arAllow = array("HTML" => "Y", "ANCHOR" => "Y", "IMG" => "Y", "SMILES" => "N", "NL2BR" => "N", "VIDEO" => "Y", "QUOTE" => "Y", "CODE" => "Y"); if ($arParams["allowVideo"] != "Y") { $arAllow["VIDEO"] = "N"; } $text4message = $parserBlog->convert($arPost["DETAIL_TEXT"], false, $arImages, $arAllow); } else { $arAllow = array("HTML" => "N", "ANCHOR" => "N", "BIU" => "N", "IMG" => "N", "QUOTE" => "N", "CODE" => "N", "FONT" => "N", "TABLE" => "N", "LIST" => "N", "SMILES" => "N", "NL2BR" => "N", "VIDEO" => "N"); $text4message = $parserBlog->convert($arPost["DETAIL_TEXT"], false, $arImages, $arAllow, array("isSonetLog" => true)); } $arSoFields = array("EVENT_ID" => "blog_post", "=LOG_DATE" => strlen($arPost["DATE_PUBLISH"]) > 0 ? MakeTimeStamp($arPost["DATE_PUBLISH"], CSite::GetDateFormat("FULL", $SITE_ID)) > time() + CTimeZone::GetOffset() ? $DB->CharToDateFunction($arPost["DATE_PUBLISH"], "FULL", SITE_ID) : $DB->CurrentTimeFunction() : $DB->CurrentTimeFunction(), "TITLE_TEMPLATE" => "#USER_NAME# " . GetMessage("BLG_SONET_TITLE"), "TITLE" => $arPost["TITLE"], "MESSAGE" => $text4message, "TEXT_MESSAGE" => $text4mail, "MODULE_ID" => "blog", "CALLBACK_FUNC" => false, "SOURCE_ID" => $arPost["ID"], "ENABLE_COMMENTS" => array_key_exists("ENABLE_COMMENTS", $arPost) && $arPost["ENABLE_COMMENTS"] == "N" ? "N" : "Y"); $arSoFields["RATING_TYPE_ID"] = "BLOG_POST"; $arSoFields["RATING_ENTITY_ID"] = intval($arPost["ID"]); if ($arParams["bGroupMode"]) { $arSoFields["ENTITY_TYPE"] = SONET_ENTITY_GROUP; $arSoFields["ENTITY_ID"] = $arParams["SOCNET_GROUP_ID"]; $arSoFields["URL"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_POST"], array("blog" => $arBlog["URL"], "user_id" => $arBlog["OWNER_ID"], "group_id" => $arParams["SOCNET_GROUP_ID"], "post_id" => $arPost["ID"])); } else { $arSoFields["ENTITY_TYPE"] = SONET_ENTITY_USER; $arSoFields["ENTITY_ID"] = $arBlog["OWNER_ID"]; $arSoFields["URL"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_POST"], array("blog" => $arBlog["URL"], "user_id" => $arBlog["OWNER_ID"], "group_id" => $arParams["SOCNET_GROUP_ID"], "post_id" => $arPost["ID"])); } if (intval($arParams["user_id"]) > 0) { $arSoFields["USER_ID"] = $arParams["user_id"]; } $logID = CSocNetLog::Add($arSoFields, false); if (intval($logID) > 0) { $socnetPerms = CBlogPost::GetSocNetPermsCode($arPost["ID"]); if (!in_array("U" . $arPost["AUTHOR_ID"], $socnetPerms)) { $socnetPerms[] = "U" . $arPost["AUTHOR_ID"]; } $socnetPerms[] = "SA"; // socnet admin CSocNetLog::Update($logID, array("TMP_ID" => $logID)); if (CModule::IncludeModule("extranet")) { $arSiteID = CExtranet::GetSitesByLogDestinations($socnetPerms); CSocNetLog::Update($logID, array("SITE_ID" => $arSiteID)); } CSocNetLogRights::DeleteByLogID($logID); CSocNetLogRights::Add($logID, $socnetPerms); CSocNetLog::SendEvent($logID, "SONET_NEW_EVENT", $logID); return $logID; } } }
/** * WARNING! This method is transitional and can be changed without * any notifications! Don't use it. * * @deprecated */ public static function __deprecated_Add($commentText, $forumTopicId, $forumId, $nameTemplate, $arTask, $permissions, $commentId, $givenUserId, $imageWidth, $imageHeight, $arSmiles, $arForum, $messagesPerPage, $arUserGroupArray, $backPage, $strMsgAddComment, $strMsgEditComment, $strMsgNewTask, $componentName, &$outForumTopicId, &$arErrorCodes, &$outStrUrl, $arFieldsAdditional = array()) { global $DB; if (is_array($arTask)) { if (!array_key_exists('~TITLE', $arTask)) { $arTmpTask = $arTask; foreach ($arTmpTask as $key => $value) { if (substr($key, 0, 1) !== '~') { $arTask['~' . $key] = $arTmpTask[$key]; } } } } $MID = 0; $TID = 0; if ($forumTopicId > 0 && CForumTopic::GetByID($forumTopicId) === false) { $forumTopicId = false; } if ($forumTopicId <= 0) { $arUserStart = array("ID" => intVal($arTask["CREATED_BY"]), "NAME" => $GLOBALS["FORUM_STATUS_NAME"]["guest"]); if ($arUserStart["ID"] > 0) { $res = array(); $db_res = CForumUser::GetListEx(array(), array("USER_ID" => $arTask["CREATED_BY"])); if ($db_res && ($res = $db_res->Fetch())) { $res["FORUM_USER_ID"] = intVal($res["ID"]); $res["ID"] = $res["USER_ID"]; } else { $db_res = CUser::GetByID($arTask["CREATED_BY"]); if ($db_res && ($res = $db_res->Fetch())) { $res["SHOW_NAME"] = COption::GetOptionString("forum", "USER_SHOW_NAME", "Y"); $res["USER_PROFILE"] = "N"; } } if (!empty($res)) { $arUserStart = $res; $sName = $res["SHOW_NAME"] == "Y" ? trim(CUser::FormatName($nameTemplate, $res)) : ""; $arUserStart["NAME"] = empty($sName) ? trim($res["LOGIN"]) : $sName; } } $arUserStart["NAME"] = empty($arUserStart["NAME"]) ? $GLOBALS["FORUM_STATUS_NAME"]["guest"] : $arUserStart["NAME"]; $DB->StartTransaction(); $arFields = array("TITLE" => $arTask["~TITLE"], "FORUM_ID" => $forumId, "USER_START_ID" => $arUserStart["ID"], "USER_START_NAME" => $arUserStart["NAME"], "LAST_POSTER_NAME" => $arUserStart["NAME"], "APPROVED" => "Y", "PERMISSION_EXTERNAL" => $permissions, "PERMISSION" => $permissions, "NAME_TEMPLATE" => $nameTemplate, 'XML_ID' => 'TASK_' . $arTask['ID']); $TID = CForumTopic::Add($arFields); if (intVal($TID) <= 0) { $arErrorCodes[] = array('code' => 'topic is not created'); } else { $arFields = array("FORUM_TOPIC_ID" => $TID); $task = new CTasks(); $task->Update($arTask["ID"], $arFields); } if (!empty($arErrorCodes)) { $DB->Rollback(); return false; } else { $DB->Commit(); } } $arFieldsG = array("POST_MESSAGE" => $commentText, "AUTHOR_NAME" => '', "AUTHOR_EMAIL" => $GLOBALS['USER']->GetEmail(), "USE_SMILES" => NULL, "PARAM2" => $arTask['ID'], "TITLE" => $arTask["~TITLE"], "PERMISSION_EXTERNAL" => $permissions, "PERMISSION" => $permissions); // UF_* forwarding if (is_array($arFieldsAdditional)) { foreach ($arFieldsAdditional as $field => $value) { if (strlen($field) && substr($field, 0, 3) == 'UF_') { $arFieldsG[$field] = $value; $GLOBALS[$field] = $value; // strange behaviour required for ForumMessageAdd() to handle UF_* properly } } } if (!empty($_FILES["REVIEW_ATTACH_IMG"])) { $arFieldsG["ATTACH_IMG"] = $_FILES["REVIEW_ATTACH_IMG"]; } else { $arFiles = array(); if (!empty($_REQUEST["FILES"])) { foreach ($_REQUEST["FILES"] as $key) { $arFiles[$key] = array("FILE_ID" => $key); if (!in_array($key, $_REQUEST["FILES_TO_UPLOAD"])) { $arFiles[$key]["del"] = "Y"; } } } if (!empty($_FILES)) { $res = array(); foreach ($_FILES as $key => $val) { if (substr($key, 0, strLen("FILE_NEW")) == "FILE_NEW" && !empty($val["name"])) { $arFiles[] = $_FILES[$key]; } } } if (!empty($arFiles)) { $arFieldsG["FILES"] = $arFiles; } } $TOPIC_ID = $forumTopicId > 0 ? $forumTopicId : $TID; $MESSAGE_ID = 0; $MESSAGE_TYPE = $TOPIC_ID > 0 ? "REPLY" : "NEW"; if (COption::GetOptionString("tasks", "task_comment_allow_edit") && ($MESSAGE_ID = intval($commentId))) { $MESSAGE_TYPE = "EDIT"; } $strErrorMessage = ''; $strOKMessage = ''; $MID = ForumAddMessage($MESSAGE_TYPE, $forumId, $TOPIC_ID, $MESSAGE_ID, $arFieldsG, $strErrorMessage, $strOKMessage, false, $_POST["captcha_word"], 0, $_POST["captcha_code"], $nameTemplate); if ($MID <= 0 || !empty($strErrorMessage)) { $arErrorCodes[] = array('code' => 'message is not added 2', 'title' => empty($strErrorMessage) ? NULL : $strErrorMessage); } else { $arMessage = CForumMessage::GetByID($MID); if ($forumTopicId <= 0) { $forumTopicId = $TID = intVal($arMessage["TOPIC_ID"]); } $outForumTopicId = intVal($forumTopicId); if ($componentName !== null) { ForumClearComponentCache($componentName); } // NOTIFICATION $arTask["ACCOMPLICES"] = $arTask["AUDITORS"] = array(); $rsMembers = CTaskMembers::GetList(array(), array("TASK_ID" => $arTask["ID"])); while ($arMember = $rsMembers->Fetch()) { if ($arMember["TYPE"] == "A") { $arTask["ACCOMPLICES"][] = $arMember["USER_ID"]; } elseif ($arMember["TYPE"] == "U") { $arTask["AUDITORS"][] = $arMember["USER_ID"]; } } $arEmailUserIDs = array($arTask["RESPONSIBLE_ID"], $arTask["CREATED_BY"]); $arEmailUserIDs = array_unique(array_merge($arEmailUserIDs, $arTask["ACCOMPLICES"], $arTask["AUDITORS"])); $currentUserPos = array_search($givenUserId, $arEmailUserIDs); if ($currentUserPos !== false) { unset($arEmailUserIDs[$currentUserPos]); } $parser = new CTextParser(); $parser->imageWidth = $imageWidth; $parser->imageHeight = $imageHeight; $parser->smiles = $arSmiles; $parser->allow = array("HTML" => $arForum["ALLOW_HTML"], "ANCHOR" => $arForum["ALLOW_ANCHOR"], "BIU" => $arForum["ALLOW_BIU"], "IMG" => "N", "VIDEO" => "N", "LIST" => $arForum["ALLOW_LIST"], "QUOTE" => $arForum["ALLOW_QUOTE"], "CODE" => $arForum["ALLOW_CODE"], "FONT" => $arForum["ALLOW_FONT"], "SMILES" => "N", "UPLOAD" => $arForum["ALLOW_UPLOAD"], "NL2BR" => $arForum["ALLOW_NL2BR"], "TABLE" => "Y"); $arAllow = NULL; $MESSAGE = HTMLToTxt($parser->convertText($commentText, $arAllow)); // remove [ url] for socialnetwork log $MESSAGE = preg_replace("/(\\s\\[\\s(http:\\/\\/|https:\\/\\/|ftp:\\/\\/))(.*?)(\\s\\])/is", "", $MESSAGE); $parser->allow = array("HTML" => 'Y', "ANCHOR" => 'Y', "BIU" => 'Y', "IMG" => "Y", "VIDEO" => "Y", "LIST" => 'N', "QUOTE" => 'Y', "CODE" => 'Y', "FONT" => 'Y', "SMILES" => "N", "UPLOAD" => 'N', "NL2BR" => 'N', "TABLE" => "Y"); $message_notify = $parser->convertText($commentText); $arRecipientsIDs = CTaskNotifications::GetRecipientsIDs($arTask); // Instant Messages if (IsModuleInstalled("im") && CModule::IncludeModule("im") && sizeof($arRecipientsIDs)) { // this entire class is deprecated. disable edit message, add only here if ($MESSAGE_TYPE != 'EDIT') { CTaskComments::sendAddMessage(array('ID' => $MID, 'POST_MESSAGE' => $message_notify), $arTask, $givenUserId, $arRecipientsIDs, array()); } } $strURL = !empty($backPage) ? $backPage : $GLOBALS['APPLICATION']->GetCurPageParam("", array("IFRAME", "MID", "SEF_APPLICATION_CUR_PAGE_URL", BX_AJAX_PARAM_ID, "result")); $strURL = ForumAddPageParams($strURL, array("MID" => $MID, "result" => $arForum["MODERATION"] != "Y" || CForumNew::CanUserModerateForum($forumId, $arUserGroupArray) ? "reply" : "not_approved"), false, false); $outStrUrl = $strURL; // sonet log if (CModule::IncludeModule("socialnetwork")) { $dbRes = CSocNetLog::GetList(array("ID" => "DESC"), array("EVENT_ID" => "tasks", "SOURCE_ID" => $arTask["ID"]), false, false, array("ID", "ENTITY_TYPE", "ENTITY_ID", "TMP_ID")); if ($arRes = $dbRes->Fetch()) { $log_id = $arRes["TMP_ID"]; $entity_type = $arRes["ENTITY_TYPE"]; $entity_id = $arRes["ENTITY_ID"]; } else { $entity_type = $arTask["GROUP_ID"] ? SONET_ENTITY_GROUP : SONET_ENTITY_USER; $entity_id = $arTask["GROUP_ID"] ? $arTask["GROUP_ID"] : $arTask["CREATED_BY"]; $rsUser = CUser::GetByID($arTask["CREATED_BY"]); if ($arUser = $rsUser->Fetch()) { $arSoFields = array("ENTITY_TYPE" => $entity_type, "ENTITY_ID" => $entity_id, "EVENT_ID" => "tasks", "LOG_DATE" => $arTask["CREATED_DATE"], "TITLE_TEMPLATE" => "#TITLE#", "TITLE" => htmlspecialcharsBack($arTask["~TITLE"]), "MESSAGE" => "", "TEXT_MESSAGE" => $strMsgNewTask, "MODULE_ID" => "tasks", "CALLBACK_FUNC" => false, "SOURCE_ID" => $arTask["ID"], "ENABLE_COMMENTS" => "Y", "USER_ID" => $arTask["CREATED_BY"], "URL" => CTaskNotifications::GetNotificationPath($arUser, $arTask["ID"]), "PARAMS" => serialize(array("TYPE" => "create"))); $log_id = CSocNetLog::Add($arSoFields, false); if (intval($log_id) > 0) { CSocNetLog::Update($log_id, array("TMP_ID" => $log_id)); $arRights = CTaskNotifications::__UserIDs2Rights(CTaskNotifications::GetRecipientsIDs($arTask, false)); if ($arTask["GROUP_ID"]) { $arRights[] = "S" . SONET_ENTITY_GROUP . $arTask["GROUP_ID"]; } CSocNetLogRights::Add($log_id, $arRights); } } } if (intval($log_id) > 0) { $sText = COption::GetOptionString("forum", "FILTER", "Y") == "Y" ? $arMessage["POST_MESSAGE_FILTER"] : $arMessage["POST_MESSAGE"]; CSocNetLog::Update($log_id, array('PARAMS' => serialize(array('TYPE' => 'comment')))); $arFieldsForSocnet = array("ENTITY_TYPE" => $entity_type, "ENTITY_ID" => $entity_id, "EVENT_ID" => "tasks_comment", "MESSAGE" => $sText, "TEXT_MESSAGE" => $parser->convert4mail($sText), "URL" => str_replace("?IFRAME=Y", "", str_replace("&IFRAME=Y", "", str_replace("IFRAME=Y&", "", $strURL))), "MODULE_ID" => "tasks", "SOURCE_ID" => $MID, "LOG_ID" => $log_id, "RATING_TYPE_ID" => "FORUM_POST", "RATING_ENTITY_ID" => $MID); if ($MESSAGE_TYPE == "EDIT") { $dbRes = CSocNetLogComments::GetList(array("ID" => "DESC"), array("EVENT_ID" => array("tasks_comment"), "SOURCE_ID" => $MID), false, false, array("ID")); while ($arRes = $dbRes->Fetch()) { CSocNetLogComments::Update($arRes["ID"], $arFieldsForSocnet); } } else { $arFieldsForSocnet['USER_ID'] = $givenUserId; $arFieldsForSocnet['=LOG_DATE'] = $GLOBALS['DB']->CurrentTimeFunction(); $ufFileID = array(); $dbAddedMessageFiles = CForumFiles::GetList(array("ID" => "ASC"), array("MESSAGE_ID" => $MID)); while ($arAddedMessageFiles = $dbAddedMessageFiles->Fetch()) { $ufFileID[] = $arAddedMessageFiles["FILE_ID"]; } if (count($ufFileID) > 0) { $arFieldsForSocnet["UF_SONET_COM_FILE"] = $ufFileID; } $ufDocID = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFieldValue("FORUM_MESSAGE", "UF_FORUM_MESSAGE_DOC", $MID, LANGUAGE_ID); if ($ufDocID) { $arFieldsForSocnet["UF_SONET_COM_DOC"] = $ufDocID; } $ufDocVer = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFieldValue("FORUM_MESSAGE", "UF_FORUM_MESSAGE_VER", $MID, LANGUAGE_ID); if ($ufDocVer) { $arFieldsForSocnet["UF_SONET_COM_VER"] = $ufDocVer; } if (isset($arFieldsAdditional["ANCILLARY"]) && $arFieldsAdditional["ANCILLARY"]) { CSocNetLogComments::Add($arFieldsForSocnet, false, false, false); } else { $comment_id = CSocNetLogComments::Add($arFieldsForSocnet, false, false); CSocNetLog::CounterIncrement($comment_id, false, false, "LC"); } } } } $occurAsUserId = CTasksTools::getOccurAsUserId(); if (!$occurAsUserId) { $occurAsUserId = $arMessage["AUTHOR_ID"] ? $arMessage["AUTHOR_ID"] : 1; } // Tasks log $arLogFields = array("TASK_ID" => $arTask["ID"], "USER_ID" => $occurAsUserId, "CREATED_DATE" => $arMessage["EDIT_DATE"] ? ConvertTimeStamp(MakeTimeStamp($arMessage["EDIT_DATE"], CSite::GetDateFormat()), "FULL") : $arMessage["POST_DATE"], "FIELD" => "COMMENT", "TO_VALUE" => $MID); $log = new CTaskLog(); $log->Add($arLogFields); } return $MID; // Message id }
public function GetFieldInputControl($documentType, $fieldType, $fieldName, $fieldValue, $allowSelection = false, $publicMode = false) { $iblockId = intval(substr($documentType, strlen("iblock_"))); if ($iblockId <= 0) { throw new CBPArgumentOutOfRangeException("documentType", $documentType); } static $documentFieldTypes = array(); if (!array_key_exists($documentType, $documentFieldTypes)) { $documentFieldTypes[$documentType] = self::getDocumentFieldTypes($documentType); } $fieldType["BaseType"] = "string"; $fieldType["Complex"] = false; if (array_key_exists($fieldType["Type"], $documentFieldTypes[$documentType])) { $fieldType["BaseType"] = $documentFieldTypes[$documentType][$fieldType["Type"]]["BaseType"]; $fieldType["Complex"] = $documentFieldTypes[$documentType][$fieldType["Type"]]["Complex"]; } if (!is_array($fieldValue) || is_array($fieldValue) && CBPHelper::isAssociativeArray($fieldValue)) { $fieldValue = array($fieldValue); } $customMethodName = ""; $customMethodNameMulty = ""; if (strpos($fieldType["Type"], ":") !== false) { $ar = CIBlockProperty::getUserType(substr($fieldType["Type"], 2)); if (array_key_exists("GetPublicEditHTML", $ar)) { $customMethodName = $ar["GetPublicEditHTML"]; } if (array_key_exists("GetPublicEditHTMLMulty", $ar)) { $customMethodNameMulty = $ar["GetPublicEditHTMLMulty"]; } } ob_start(); if ($fieldType["Type"] == "select") { $fieldValueTmp = $fieldValue; ?> <select id="id_<?php echo htmlspecialcharsbx($fieldName["Field"]); ?> " name="<?php echo htmlspecialcharsbx($fieldName["Field"]) . ($fieldType["Multiple"] ? "[]" : ""); ?> "<?php echo $fieldType["Multiple"] ? ' size="5" multiple' : ''; ?> > <?php if (!$fieldType["Required"]) { echo '<option value="">[' . GetMessage("BPCGHLP_NOT_SET") . ']</option>'; } foreach ($fieldType["Options"] as $k => $v) { if (is_array($v) && count($v) == 2) { $v1 = array_values($v); $k = $v1[0]; $v = $v1[1]; } $ind = array_search($k, $fieldValueTmp); echo '<option value="' . htmlspecialcharsbx($k) . '"' . ($ind !== false ? ' selected' : '') . '>' . htmlspecialcharsbx($v) . '</option>'; if ($ind !== false) { unset($fieldValueTmp[$ind]); } } ?> </select> <?php if ($allowSelection) { ?> <br /><input type="text" id="id_<?php echo htmlspecialcharsbx($fieldName["Field"]); ?> _text" name="<?php echo htmlspecialcharsbx($fieldName["Field"]); ?> _text" value="<?php if (count($fieldValueTmp) > 0) { $a = array_values($fieldValueTmp); echo htmlspecialcharsbx($a[0]); } ?> "> <input type="button" value="..." onclick="BPAShowSelector('id_<?php echo htmlspecialcharsbx($fieldName["Field"]); ?> _text', 'select');"> <?php } } elseif ($fieldType["Type"] == "user") { $fieldValue = CBPHelper::usersArrayToString($fieldValue, null, array("lists", get_called_class(), $documentType)); ?> <input type="text" size="40" id="id_<?php echo htmlspecialcharsbx($fieldName["Field"]); ?> " name="<?php echo htmlspecialcharsbx($fieldName["Field"]); ?> " value="<?php echo htmlspecialcharsbx($fieldValue); ?> "><input type="button" value="..." onclick="BPAShowSelector('id_<?php echo htmlspecialcharsbx($fieldName["Field"]); ?> ', 'user');"><?php } elseif (strpos($fieldType["Type"], ":") !== false && $fieldType["Multiple"] && (is_array($customMethodNameMulty) && count($customMethodNameMulty) > 0 || !is_array($customMethodNameMulty) && strlen($customMethodNameMulty) > 0)) { if (!is_array($fieldValue)) { $fieldValue = array(); } if ($allowSelection) { $fieldValueTmp1 = array(); $fieldValueTmp2 = array(); foreach ($fieldValue as $v) { $vTrim = trim($v); if (\CBPDocument::IsExpression($vTrim)) { $fieldValueTmp1[] = $vTrim; } else { $fieldValueTmp2[] = $v; } } } else { $fieldValueTmp1 = array(); $fieldValueTmp2 = $fieldValue; } if ($fieldType["Type"] == "S:employee" && COption::getOptionString("bizproc", "employee_compatible_mode", "N") != "Y") { $fieldValueTmp2 = CBPHelper::stripUserPrefix($fieldValueTmp2); } foreach ($fieldValueTmp2 as &$fld) { if (!isset($fld['VALUE'])) { $fld = array("VALUE" => $fld); } } if ($fieldType["Type"] == "E:EList") { static $fl = true; if ($fl) { if (!empty($_SERVER['HTTP_BX_AJAX'])) { $GLOBALS["APPLICATION"]->showAjaxHead(); } $GLOBALS["APPLICATION"]->addHeadScript('/bitrix/js/iblock/iblock_edit.js'); } $fl = false; } echo call_user_func_array($customMethodNameMulty, array(array("LINK_IBLOCK_ID" => $fieldType["Options"]), $fieldValueTmp2, array("FORM_NAME" => $fieldName["Form"], "VALUE" => htmlspecialcharsbx($fieldName["Field"])), true)); if ($allowSelection) { ?> <br /><input type="text" id="id_<?php echo htmlspecialcharsbx($fieldName["Field"]); ?> _text" name="<?php echo htmlspecialcharsbx($fieldName["Field"]); ?> _text" value="<?php if (count($fieldValueTmp1) > 0) { $a = array_values($fieldValueTmp1); echo htmlspecialcharsbx($a[0]); } ?> "> <input type="button" value="..." onclick="BPAShowSelector('id_<?php echo htmlspecialcharsbx($fieldName["Field"]); ?> _text', 'user', '<?php echo $fieldType["Type"] == 'S:employee' ? 'employee' : ''; ?> ');"> <?php } } else { if (!array_key_exists("CBPVirtualDocumentCloneRowPrinted", $GLOBALS) && $fieldType["Multiple"]) { $GLOBALS["CBPVirtualDocumentCloneRowPrinted"] = 1; ?> <script language="JavaScript"> function CBPVirtualDocumentCloneRow(tableID) { var tbl = document.getElementById(tableID); var cnt = tbl.rows.length; var oRow = tbl.insertRow(cnt); var oCell = oRow.insertCell(0); var sHTML = tbl.rows[cnt - 1].cells[0].innerHTML; var p = 0; while (true) { var s = sHTML.indexOf('[n', p); if (s < 0) break; var e = sHTML.indexOf(']', s); if (e < 0) break; var n = parseInt(sHTML.substr(s + 2, e - s)); sHTML = sHTML.substr(0, s) + '[n' + (++n) + ']' + sHTML.substr(e + 1); p = s + 1; } var p = 0; while (true) { var s = sHTML.indexOf('__n', p); if (s < 0) break; var e = sHTML.indexOf('_', s + 2); if (e < 0) break; var n = parseInt(sHTML.substr(s + 3, e - s)); sHTML = sHTML.substr(0, s) + '__n' + (++n) + '_' + sHTML.substr(e + 1); p = e + 1; } oCell.innerHTML = sHTML; var patt = new RegExp('<' + 'script' + '>[^\000]*?<' + '\/' + 'script' + '>', 'ig'); var code = sHTML.match(patt); if (code) { for (var i = 0; i < code.length; i++) { if (code[i] != '') { var s = code[i].substring(8, code[i].length - 9); jsUtils.EvalGlobal(s); } } } } function createAdditionalHtmlEditor(tableId) { var tbl = document.getElementById(tableId); var cnt = tbl.rows.length-1; var name = tableId.replace(/(?:CBPVirtualDocument_)(.*)(?:_Table)/, '$1') var idEditor = 'id_'+name+'__n'+cnt+'_'; var inputNameEditor = name+'[n'+cnt+']'; window.BXHtmlEditor.Show( { 'id':idEditor, 'inputName':inputNameEditor, 'content':'', 'useFileDialogs':false, 'width':'100%', 'height':'200', 'allowPhp':false, 'limitPhpAccess':false, 'templates':[], 'templateId':'', 'templateParams':[], 'componentFilter':'', 'snippets':[], 'placeholder':'Text here...', 'actionUrl':'/bitrix/tools/html_editor_action.php', 'cssIframePath':'/bitrix/js/fileman/html_editor/iframe-style.css?1412693817', 'bodyClass':'', 'bodyId':'', 'spellcheck_path':'/bitrix/js/fileman/html_editor/html-spell.js?v=1412693817', 'usePspell':'N', 'useCustomSpell':'Y', 'bbCode':false, 'askBeforeUnloadPage':true, 'settingsKey':'user_settings_1', 'showComponents':true, 'showSnippets':true, 'view':'wysiwyg', 'splitVertical':false, 'splitRatio':'1', 'taskbarShown':false, 'taskbarWidth':'250', 'lastSpecialchars':false, 'cleanEmptySpans':true, 'lazyLoad':false, 'showTaskbars':false, 'showNodeNavi':false, 'controlsMap':[ {'id':'Bold','compact':true,'sort':'80'}, {'id':'Italic','compact':true,'sort':'90'}, {'id':'Underline','compact':true,'sort':'100'}, {'id':'Strikeout','compact':true,'sort':'110'}, {'id':'RemoveFormat','compact':true,'sort':'120'}, {'id':'Color','compact':true,'sort':'130'}, {'id':'FontSelector','compact':false,'sort':'135'}, {'id':'FontSize','compact':false,'sort':'140'}, {'separator':true,'compact':false,'sort':'145'}, {'id':'OrderedList','compact':true,'sort':'150'}, {'id':'UnorderedList','compact':true,'sort':'160'}, {'id':'AlignList','compact':false,'sort':'190'}, {'separator':true,'compact':false,'sort':'200'}, {'id':'InsertLink','compact':true,'sort':'210','wrap':'bx-b-link-'+idEditor}, {'id':'InsertImage','compact':false,'sort':'220'}, {'id':'InsertVideo','compact':true,'sort':'230','wrap':'bx-b-video-'+idEditor}, {'id':'InsertTable','compact':false,'sort':'250'}, {'id':'Code','compact':true,'sort':'260'}, {'id':'Quote','compact':true,'sort':'270','wrap':'bx-b-quote-'+idEditor}, {'id':'Smile','compact':false,'sort':'280'}, {'separator':true,'compact':false,'sort':'290'}, {'id':'Fullscreen','compact':false,'sort':'310'}, {'id':'BbCode','compact':true,'sort':'340'}, {'id':'More','compact':true,'sort':'400'}], 'autoResize':true, 'autoResizeOffset':'40', 'minBodyWidth':'350', 'normalBodyWidth':'555' }); var htmlEditor = BX.findChildrenByClassName(BX(tableId), 'bx-html-editor'); for(var k in htmlEditor) { var editorId = htmlEditor[k].getAttribute('id'); var frameArray = BX.findChildrenByClassName(BX(editorId), 'bx-editor-iframe'); if(frameArray.length > 1) { for(var i = 0; i < frameArray.length - 1; i++) { frameArray[i].parentNode.removeChild(frameArray[i]); } } } } </script> <?php } if ($fieldType["Multiple"]) { echo '<table width="100%" border="0" cellpadding="2" cellspacing="2" id="CBPVirtualDocument_' . htmlspecialcharsbx($fieldName["Field"]) . '_Table">'; } $fieldValueTmp = $fieldValue; if (sizeof($fieldValue) == 0) { $fieldValue[] = null; } $ind = -1; foreach ($fieldValue as $key => $value) { $ind++; $fieldNameId = 'id_' . htmlspecialcharsbx($fieldName["Field"]) . '__n' . $ind . '_'; $fieldNameName = htmlspecialcharsbx($fieldName["Field"]) . ($fieldType["Multiple"] ? "[n" . $ind . "]" : ""); if ($fieldType["Multiple"]) { echo '<tr><td>'; } if (is_array($customMethodName) && count($customMethodName) > 0 || !is_array($customMethodName) && strlen($customMethodName) > 0) { if ($fieldType["Type"] == "S:HTML") { if (Loader::includeModule("fileman")) { $editor = new CHTMLEditor(); $res = array_merge(array('useFileDialogs' => false, 'height' => 200, 'useFileDialogs' => false, 'minBodyWidth' => 350, 'normalBodyWidth' => 555, 'bAllowPhp' => false, 'limitPhpAccess' => false, 'showTaskbars' => false, 'showNodeNavi' => false, 'askBeforeUnloadPage' => true, 'bbCode' => false, 'siteId' => SITE_ID, 'autoResize' => true, 'autoResizeOffset' => 40, 'saveOnBlur' => true, 'controlsMap' => array(array('id' => 'Bold', 'compact' => true, 'sort' => 80), array('id' => 'Italic', 'compact' => true, 'sort' => 90), array('id' => 'Underline', 'compact' => true, 'sort' => 100), array('id' => 'Strikeout', 'compact' => true, 'sort' => 110), array('id' => 'RemoveFormat', 'compact' => true, 'sort' => 120), array('id' => 'Color', 'compact' => true, 'sort' => 130), array('id' => 'FontSelector', 'compact' => false, 'sort' => 135), array('id' => 'FontSize', 'compact' => false, 'sort' => 140), array('separator' => true, 'compact' => false, 'sort' => 145), array('id' => 'OrderedList', 'compact' => true, 'sort' => 150), array('id' => 'UnorderedList', 'compact' => true, 'sort' => 160), array('id' => 'AlignList', 'compact' => false, 'sort' => 190), array('separator' => true, 'compact' => false, 'sort' => 200), array('id' => 'InsertLink', 'compact' => true, 'sort' => 210, 'wrap' => 'bx-b-link-' . $fieldNameId), array('id' => 'InsertImage', 'compact' => false, 'sort' => 220), array('id' => 'InsertVideo', 'compact' => true, 'sort' => 230, 'wrap' => 'bx-b-video-' . $fieldNameId), array('id' => 'InsertTable', 'compact' => false, 'sort' => 250), array('id' => 'Code', 'compact' => true, 'sort' => 260), array('id' => 'Quote', 'compact' => true, 'sort' => 270, 'wrap' => 'bx-b-quote-' . $fieldNameId), array('id' => 'Smile', 'compact' => false, 'sort' => 280), array('separator' => true, 'compact' => false, 'sort' => 290), array('id' => 'Fullscreen', 'compact' => false, 'sort' => 310), array('id' => 'BbCode', 'compact' => true, 'sort' => 340), array('id' => 'More', 'compact' => true, 'sort' => 400))), array('name' => $fieldNameName, 'inputName' => $fieldNameName, 'id' => $fieldNameId, 'width' => '100%', 'content' => htmlspecialcharsBack($value))); $editor->show($res); } else { ?> <textarea rows="5" cols="40" id="<?php echo $fieldNameId; ?> " name="<?php echo $fieldNameName; ?> "><?php echo htmlspecialcharsbx($value); ?> </textarea><?php } } else { $value1 = $value; if ($allowSelection && \CBPDocument::IsExpression(trim($value1))) { $value1 = null; } else { unset($fieldValueTmp[$key]); } if ($fieldType["Type"] == "S:employee" && COption::getOptionString("bizproc", "employee_compatible_mode", "N") != "Y") { $value1 = CBPHelper::stripUserPrefix($value1); } echo call_user_func_array($customMethodName, array(array("LINK_IBLOCK_ID" => $fieldType["Options"]), array("VALUE" => $value1), array("FORM_NAME" => $fieldName["Form"], "VALUE" => $fieldNameName), true)); } } else { switch ($fieldType["Type"]) { case "int": case "double": unset($fieldValueTmp[$key]); ?> <input type="text" size="10" id="<?php echo $fieldNameId; ?> " name="<?php echo $fieldNameName; ?> " value="<?php echo htmlspecialcharsbx($value); ?> "><?php break; case "file": if ($publicMode) { //unset($fieldValueTmp[$key]); ?> <input type="file" id="<?php echo $fieldNameId; ?> " name="<?php echo $fieldNameName; ?> "><?php } break; case "bool": if (in_array($value, array("Y", "N"))) { unset($fieldValueTmp[$key]); } ?> <select id="<?php echo $fieldNameId; ?> " name="<?php echo $fieldNameName; ?> "> <?php if (!$fieldType["Required"]) { echo '<option value="">[' . GetMessage("BPCGHLP_NOT_SET") . ']</option>'; } ?> <option value="Y"<?php echo in_array("Y", $fieldValue) ? ' selected' : ''; ?> ><?php echo GetMessage("BPCGHLP_YES"); ?> </option> <option value="N"<?php echo in_array("N", $fieldValue) ? ' selected' : ''; ?> ><?php echo GetMessage("BPCGHLP_NO"); ?> </option> </select> <?php break; case "text": unset($fieldValueTmp[$key]); ?> <textarea rows="5" cols="40" id="<?php echo $fieldNameId; ?> " name="<?php echo $fieldNameName; ?> "><?php echo htmlspecialcharsbx($value); ?> </textarea><?php break; case "date": case "datetime": if (defined("ADMIN_SECTION") && ADMIN_SECTION) { $v = ""; if (!\CBPDocument::IsExpression(trim($value))) { $v = $value; unset($fieldValueTmp[$key]); } require_once $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/interface/init_admin.php"; echo CAdminCalendar::calendarDate($fieldNameName, $v, 19, $fieldType["Type"] != "date"); } else { $value1 = $value; if ($allowSelection && \CBPDocument::IsExpression(trim($value1))) { $value1 = null; } else { unset($fieldValueTmp[$key]); } if ($fieldType["Type"] == "date") { $type = "Date"; } else { $type = "DateTime"; } $ar = CIBlockProperty::getUserType($type); echo call_user_func_array($ar["GetPublicEditHTML"], array(array("LINK_IBLOCK_ID" => $fieldType["Options"]), array("VALUE" => $value1), array("FORM_NAME" => $fieldName["Form"], "VALUE" => $fieldNameName), true)); } break; default: unset($fieldValueTmp[$key]); ?> <input type="text" size="40" id="<?php echo $fieldNameId; ?> " name="<?php echo $fieldNameName; ?> " value="<?php echo htmlspecialcharsbx($value); ?> "><?php } } if ($allowSelection) { if (!in_array($fieldType["Type"], array("file", "bool", "date", "datetime")) && (is_array($customMethodName) && count($customMethodName) <= 0 || !is_array($customMethodName) && strlen($customMethodName) <= 0)) { ?> <input type="button" value="..." onclick="BPAShowSelector('<?php echo $fieldNameId; ?> ', '<?php echo htmlspecialcharsbx($fieldType["BaseType"]); ?> ');"><?php } } if ($fieldType["Multiple"]) { echo '</td></tr>'; } } if ($fieldType["Multiple"]) { echo "</table>"; } if ($fieldType["Multiple"] && $fieldType["Type"] != "S:HTML" && ($fieldType["Type"] != "file" || $publicMode)) { echo '<input type="button" value="' . GetMessage("BPCGHLP_ADD") . '" onclick="CBPVirtualDocumentCloneRow(\'CBPVirtualDocument_' . $fieldName["Field"] . '_Table\')"/><br />'; } elseif ($fieldType["Multiple"] && $fieldType["Type"] == "S:HTML") { $functionOnclick = 'CBPVirtualDocumentCloneRow(\'CBPVirtualDocument_' . $fieldName["Field"] . '_Table\');createAdditionalHtmlEditor(\'CBPVirtualDocument_' . $fieldName["Field"] . '_Table\');'; echo '<input type="button" value="' . GetMessage("BPCGHLP_ADD") . '" onclick="' . $functionOnclick . '"/><br />'; } if ($allowSelection) { if (in_array($fieldType["Type"], array("file", "bool", "date", "datetime")) || (is_array($customMethodName) && count($customMethodName) > 0 || !is_array($customMethodName) && strlen($customMethodName) > 0)) { ?> <input type="text" id="id_<?php echo htmlspecialcharsbx($fieldName["Field"]); ?> _text" name="<?php echo htmlspecialcharsbx($fieldName["Field"]); ?> _text" value="<?php if (count($fieldValueTmp) > 0) { $a = array_values($fieldValueTmp); echo htmlspecialcharsbx($a[0]); } ?> "> <input type="button" value="..." onclick="BPAShowSelector('id_<?php echo htmlspecialcharsbx($fieldName["Field"]); ?> _text', '<?php echo htmlspecialcharsbx($fieldType["BaseType"]); ?> ', '<?php echo $fieldType["Type"] == 'S:employee' ? 'employee' : ''; ?> ');"> <?php } } } $s = ob_get_contents(); ob_end_clean(); return $s; }
$strError_tmp = ""; $arClientModules = CUpdateClientPartner::GetCurrentModules($strError_tmp); $linkToBuy = false; $linkToBuyUpdate = false; if (LANGUAGE_ID == "ru") { $linkToBuy = "http://marketplace.1c-bitrix.ru" . "/tobasket.php?ID=#CODE#"; $linkToBuyUpdate = "http://marketplace.1c-bitrix.ru" . "/tobasket.php?ID=#CODE#&lckey=" . md5("BITRIX" . CUpdateClientPartner::GetLicenseKey() . "LICENCE"); } $bHaveNew = false; $modules = array(); $modulesNew = array(); if (!empty($arUpdateList["MODULE"])) { foreach ($arUpdateList["MODULE"] as $k => $v) { if (!array_key_exists($v["@"]["ID"], $arClientModules)) { $bHaveNew = true; $modulesNew[] = array("NAME" => htmlspecialcharsBack($v["@"]["NAME"]), "ID" => $v["@"]["ID"], "DESCRIPTION" => $v["@"]["DESCRIPTION"], "PARTNER" => $v["@"]["PARTNER_NAME"], "FREE_MODULE" => $v["@"]["FREE_MODULE"], "DATE_FROM" => $v["@"]["DATE_FROM"], "DATE_TO" => $v["@"]["DATE_TO"], "UPDATE_END" => $v["@"]["UPDATE_END"]); } else { $modules[$v["@"]["ID"]] = array("VERSION" => isset($v["#"]["VERSION"]) ? $v["#"]["VERSION"][count($v["#"]["VERSION"]) - 1]["@"]["ID"] : "", "FREE_MODULE" => $v["@"]["FREE_MODULE"], "DATE_FROM" => $v["@"]["DATE_FROM"], "DATE_TO" => $v["@"]["DATE_TO"], "UPDATE_END" => $v["@"]["UPDATE_END"]); } } } $errorMessage = ""; $errorMessageFull = ""; $fb = $id == 'fileman' && !$USER->CanDoOperation('fileman_install_control'); if ((strlen($_REQUEST["uninstall"]) > 0 || strlen($_REQUEST["install"]) > 0 || strlen($_REQUEST["clear"]) > 0) && $isAdmin && !$fb && check_bitrix_sessid()) { $id = str_replace("\\", "", str_replace("/", "", $id)); if ($Module = CModule::CreateModuleObject($id)) { if ($Module->IsInstalled() && strlen($_REQUEST["uninstall"]) > 0) { OnModuleInstalledEvent($id, 'N', $Module); if (COption::GetOptionString("main", "event_log_marketplace", "Y") === "Y") { CEventLog::Log("INFO", "MP_MODULE_UNINSTALLED", "main", $id);