9 if (is_array($sonetPerms))
17 $arSearchIndex[
'PERMISSIONS'] = $sonetPerms;
20 if (!in_array(
'U'.$authorId, $arSearchIndex[
'PERMISSIONS'],
true))
22 $arSearchIndex[
'PERMISSIONS'][] =
'U' . $authorId;
27 foreach ($sonetPerms as
$perm)
29 if (mb_strpos(
$perm,
'SG') === 0)
31 $sgIdTmp = (int)str_replace(
'SG',
'', mb_substr(
$perm, 0, mb_strpos(
$perm,
'_')));
34 && !in_array($sgIdTmp, $sgId,
true)
43 !Loader::includeModule(
'socialnetwork')
44 || !\
Bitrix\Socialnetwork\Helper\Workgroup::checkAnyOpened([ (
int)
$matches[1] ])
52 && !in_array(
'G2', $arSearchIndex[
'PERMISSIONS'],
true)
55 $arSearchIndex[
'PERMISSIONS'][] =
'G2';
59 && !in_array(
'AU', $arSearchIndex[
'PERMISSIONS'],
true)
62 $arSearchIndex[
'PERMISSIONS'][] =
'AU';
69 $arSearchIndex[
'PARAMS'] = [
70 'socnet_group' => $sgId,
71 'entity' =>
'socnet_group',
79 if (!empty($arMentionedUserID))
81 if (!isset($arSearchIndex[
"PARAMS"]))
83 $arSearchIndex[
"PARAMS"] =
array();
85 $arSearchIndex[
"PARAMS"][
"mentioned_user_id"] = $arMentionedUserID;
92 static $blogPostEventIdList =
null;
96 if(
$NS[
"MODULE"]==
"blog" &&
$NS[
"ID"] <>
'')
98 $category = mb_substr(
$NS[
"ID"], 0, 1);
99 $id = intval(mb_substr(
$NS[
"ID"], 1));
118 ,".$DB->DateToCharFunction(
"b.DATE_UPDATE").
" as DATE_UPDATE
127 INNER JOIN b_blog_group bg ON (b.GROUP_ID = bg.ID)
130 AND b.SEARCH_INDEX = 'Y'
131 ".(
$NS[
"SITE_ID"]!=
""?
"AND bg.SITE_ID='".$DB->ForSQL(
$NS[
"SITE_ID"]).
"'":
"").
"
137 $rs =
$DB->Query($strSql);
140 if(
$ar[
"USE_SOCNET"] ==
"Y")
143 "ID" =>
"B".
$ar[
"ID"],
157 "ID" =>
"B".
$ar[
"ID"],
158 "LAST_MODIFIED" =>
$ar[
"DATE_UPDATE"],
159 "TITLE" =>
$ar[
"NAME"],
163 "PARAM2" =>
$ar[
"OWNER_ID"],
164 "PERMISSIONS" =>
array(2),
170 $res = call_user_func(
array($oCallback, $callback_method), $Result);
172 return $Result[
"ID"];
185 $arUser2Blog = Array();
186 if(COption::GetOptionString(
"blog",
"socNetNewPerms",
"N") ==
"N")
188 $dbB =
CBlog::GetList(
array(), Array(
"USE_SOCNET" =>
"Y",
"!OWNER_ID" =>
false),
false,
false, Array(
"ID",
"OWNER_ID",
"USE_SOCNET",
"GROUP_ID"));
189 while($arB = $dbB->Fetch())
191 $arUser2Blog[$arB[
"OWNER_ID"]][$arB[
"GROUP_ID"]] = $arB[
"ID"];
200 $blogPostEventIdList ===
null
201 && Loader::includeModule(
"socialnetwork")
204 $blogPostLivefeedProvider = new \Bitrix\Socialnetwork\Livefeed\BlogPost;
205 $blogPostEventIdList = $blogPostLivefeedProvider->getEventId();
209 $parserBlog =
new blogTextParser(
false,
"/bitrix/images/blog/smile/");
217 ,".$DB->DateToCharFunction(
"bp.DATE_PUBLISH").
" as DATE_PUBLISH
231 ($bSonet ?
", BSL.ID as SLID" :
"").
234 INNER JOIN b_blog b ON (bp.BLOG_ID = b.ID)
235 INNER JOIN b_blog_group bg ON (b.GROUP_ID = bg.ID) ".
236 ($bSonet ?
"LEFT JOIN b_sonet_log BSL ON (BSL.EVENT_ID in ('".implode(
"', '", $blogPostEventIdList).
"') AND BSL.SOURCE_ID = bp.ID) " :
"").
238 bp.DATE_PUBLISH <= ".$DB->CurrentTimeFunction().
"
240 ".(
$NS[
"SITE_ID"]!=
""?
"AND bg.SITE_ID='".$DB->ForSQL(
$NS[
"SITE_ID"]).
"'":
"").
"
253 $rs =
$DB->Query($strSql);
258 if(
$ar[
"USE_SOCNET"] !=
"Y")
265 if(
$ar[
"PATH"] <>
'')
268 $ar[
"SITE_ID"] => str_replace(
"#post_id#",
$ar[
"ID"],
$ar[
"PATH"])
278 if(
$ar[
"CATEGORY_ID"] <>
'')
280 $arC = explode(
",",
$ar[
"CATEGORY_ID"]);
286 $arTag[] = $arCategory[
"NAME"];
288 $tag = implode(
",", $arTag);
296 "ID" =>
"P".
$ar[
"ID"],
297 "LAST_MODIFIED" =>
$ar[
"DATE_PUBLISH"],
300 "SITE_ID" => $arSite,
302 "PARAM2" =>
$ar[
"BLOG_ID"],
303 "PERMISSIONS" =>
array(2),
305 "USER_ID" =>
$ar[
"AUTHOR_ID"],
306 "ENTITY_TYPE_ID" =>
"BLOG_POST",
307 "ENTITY_ID" =>
$ar[
"ID"],
310 if(
$ar[
"USE_SOCNET"] ==
"Y" && CModule::IncludeModule(
"socialnetwork"))
313 if(COption::GetOptionString(
"blog",
"socNetNewPerms",
"N") ==
"N")
315 if(intval(
$ar[
"SOCNET_GROUP_ID"]) > 0)
318 if(intval($arUser2Blog[
$ar[
"AUTHOR_ID"]][
$ar[
"GROUP_ID"]]) > 0)
320 $newBlogId = intval($arUser2Blog[
$ar[
"AUTHOR_ID"]][
$ar[
"GROUP_ID"]]);
325 "=DATE_UPDATE" =>
$DB->CurrentTimeFunction(),
326 "GROUP_ID" =>
$ar[
"GROUP_ID"],
328 "ENABLE_COMMENTS" =>
"Y",
329 "ENABLE_IMG_VERIF" =>
"Y",
330 "EMAIL_NOTIFY" =>
"Y",
333 "ENABLE_TRACKBACK" =>
"N",
334 "SEARCH_INDEX" =>
"Y",
336 "=DATE_CREATE" =>
$DB->CurrentTimeFunction(),
337 "PERMS_POST" => Array(
340 "PERMS_COMMENT" => Array(
346 $rsUser = CUser::GetByID(
$ar[
"AUTHOR_ID"]);
347 $arUser = $rsUser->Fetch();
348 if($arUser[
"NAME"].
"".$arUser[
"LAST_NAME"] ==
'')
353 $arFields[
"URL"] = str_replace(
" ",
"_", $arUser[
"LOGIN"]).
"-blog-".
$ar[
"SITE_ID"];
356 $urlCheck = preg_replace(
"/[^a-zA-Z0-9_-]/is",
"",
$arFields[
"URL"]);
359 $arFields[
"URL"] =
"u".$arUser[
"ID"].
"-blog-".
$ar[
"SITE_ID"];
373 $featureOperationPerms = CSocNetFeaturesPerms::GetOperationPerm(
SONET_ENTITY_USER,
$ar[
"AUTHOR_ID"],
"blog",
"view_post");
382 $newBlogId = $blogID;
386 if(intval($newBlogId) > 0)
389 "BLOG_ID" => $newBlogId,
390 "SOCNET_RIGHTS" => Array(
"SG".
$ar[
"SOCNET_GROUP_ID"]),
394 if(intval(
$ar[
"SLID"]) > 0)
401 $rsGroupSite = CSocNetGroup::GetSite(
$ar[
"SOCNET_GROUP_ID"]);
402 while($arGroupSite = $rsGroupSite->Fetch())
408 if(
$ar[
"OWNER_ID"] !=
$ar[
"AUTHOR_ID"])
410 if(intval($arUser2Blog[
$ar[
"AUTHOR_ID"]][
$ar[
"GROUP_ID"]]) > 0)
412 $newBlogId = intval($arUser2Blog[
$ar[
"AUTHOR_ID"]][
$ar[
"GROUP_ID"]]);
417 "=DATE_UPDATE" =>
$DB->CurrentTimeFunction(),
418 "GROUP_ID" =>
$ar[
"GROUP_ID"],
420 "ENABLE_COMMENTS" =>
"Y",
421 "ENABLE_IMG_VERIF" =>
"Y",
422 "EMAIL_NOTIFY" =>
"Y",
425 "ENABLE_TRACKBACK" =>
"N",
426 "SEARCH_INDEX" =>
"Y",
428 "=DATE_CREATE" =>
$DB->CurrentTimeFunction(),
429 "PERMS_POST" => Array(
432 "PERMS_COMMENT" => Array(
438 $rsUser = CUser::GetByID(
$ar[
"AUTHOR_ID"]);
439 $arUser = $rsUser->Fetch();
440 if($arUser[
"NAME"].
"".$arUser[
"LAST_NAME"] ==
'')
445 $arFields[
"URL"] = str_replace(
" ",
"_", $arUser[
"LOGIN"]).
"-blog-".
$ar[
"SITE_ID"];
448 $urlCheck = preg_replace(
"/[^a-zA-Z0-9_-]/is",
"",
$arFields[
"URL"]);
451 $arFields[
"URL"] =
"u".$arUser[
"ID"].
"-blog-".
$ar[
"SITE_ID"];
465 $featureOperationPerms = CSocNetFeaturesPerms::GetOperationPerm(
SONET_ENTITY_USER,
$ar[
"AUTHOR_ID"],
"blog",
"view_post");
472 $newBlogId = $blogID;
476 if(intval(
$ar[
"SLID"]) > 0)
482 $arF = Array(
"SOCNET_RIGHTS" => Array());
483 if(intval($newBlogId) > 0)
484 $arF[
"BLOG_ID"] = $newBlogId;
491 if(intval($arF[
"BLOG_ID"]) > 0)
493 $Result[
"PARAM2"] =
$ar[
"BLOG_ID"];
494 $sqlR =
"UPDATE b_blog_post SET BLOG_ID=".intval($arF[
"BLOG_ID"]).
" WHERE ID=".intval(
$ar[
"ID"]);
496 $sqlR =
"UPDATE b_blog_post_category SET BLOG_ID=".intval($arF[
"BLOG_ID"]).
" WHERE POST_ID=".intval(
$ar[
"ID"]);
498 $sqlR =
"UPDATE b_blog_image SET BLOG_ID=".intval($arF[
"BLOG_ID"]).
" WHERE POST_ID=".intval(
$ar[
"ID"]);
500 $sqlR =
"UPDATE b_blog_comment SET BLOG_ID=".intval($arF[
"BLOG_ID"]).
" WHERE POST_ID=".intval(
$ar[
"ID"]);
503 $sqlR =
"SELECT * FROM b_blog_socnet_rights where POST_ID=".intval(
$ar[
"ID"]);
504 $dbBB =
$DB->Query($sqlR);
511 $dbComment =
CBlogComment::GetList(Array(), Array(
"POST_ID" =>
$ar[
"ID"]),
false,
false, Array(
"ID",
"POST_ID",
"BLOG_ID",
"PATH"));
512 if($arComment = $dbComment->Fetch())
514 $arParamsComment = Array(
515 "BLOG_ID" => $arF[
"BLOG_ID"],
516 "POST_ID" =>
$ar[
"ID"],
517 "SITE_ID" =>
$ar[
"SITE_ID"],
518 "PATH" => $arPostSite[$arGroup[
"SITE_ID"]].
"?commentId=#comment_id##com#comment_id#",
529 if(empty($arF[
"SC_PERM"]))
539 $socnetPerms =
false;
541 if(intval(
$ar[
"SLID"]) <= 0)
543 $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");
544 $text4message = $parserBlog->convert(
$ar[
"DETAIL_TEXT"],
false,
array(), $arAllow,
array(
"isSonetLog"=>
true));
547 "EVENT_ID" =>
"blog_post",
548 "=LOG_DATE" =>
$DB->CharToDateFunction(
$ar[
"DATE_PUBLISH"],
"FULL",
SITE_ID),
549 "LOG_UPDATE" =>
$DB->CharToDateFunction(
$ar[
"DATE_PUBLISH"],
"FULL",
SITE_ID),
550 "TITLE_TEMPLATE" =>
"#USER_NAME# add post",
551 "TITLE" =>
$ar[
"TITLE"],
552 "MESSAGE" => $text4message,
553 "MODULE_ID" =>
"blog",
554 "CALLBACK_FUNC" =>
false,
555 "SOURCE_ID" =>
$ar[
"ID"],
556 "ENABLE_COMMENTS" =>
"Y",
558 "ENTITY_ID" =>
$ar[
"AUTHOR_ID"],
559 "USER_ID" =>
$ar[
"AUTHOR_ID"],
560 "URL" => $arSite[
$ar[
"SITE_ID"]],
564 if (intval($logID) > 0)
566 $socnetPerms = $arF[
"SC_PERM"];
568 if(!in_array(
"U".
$ar[
"AUTHOR_ID"], $socnetPerms))
569 $socnetPerms[] =
"U".$ar[
"AUTHOR_ID"];
570 $socnetPerms[] =
"SA";
576 $socnetPerms = $arF[
"SC_PERM"];
578 if(!in_array(
"U".
$ar[
"AUTHOR_ID"], $socnetPerms))
579 $socnetPerms[] =
"U".$ar[
"AUTHOR_ID"];
580 $socnetPerms[] =
"SA";
581 $logID =
$ar[
"SLID"];
586 && is_array($socnetPerms)
590 in_array(
"AU", $socnetPerms)
591 || in_array(
"G2", $socnetPerms)
594 $socnetPermsAdd =
array();
596 foreach($socnetPerms as $perm_tmp)
598 if (preg_match(
'/^SG(\d+)$/', $perm_tmp,
$matches))
609 if (
count($socnetPermsAdd) > 0)
610 $socnetPerms = array_merge($socnetPerms, $socnetPermsAdd);
624 $res = call_user_func(
array($oCallback, $callback_method), $Result);
626 return $Result[
"ID"];
636 return $Result[
"ID"];
644 COption::SetOptionString(
"blog",
"socNetNewPerms",
"Y");
648 $bSonet = CModule::IncludeModule(
"socialnetwork");
656 ,bp.TITLE as POST_TITLE
666 ,".$DB->DateToCharFunction(
"bc.DATE_CREATE").
" as DATE_CREATE
670 INNER JOIN b_blog_post bp ON (bp.ID = bc.POST_ID)
671 INNER JOIN b_blog b ON (bc.BLOG_ID = b.ID)
672 INNER JOIN b_blog_group bg ON (b.GROUP_ID = bg.ID)
675 ".(
$NS[
"SITE_ID"]!=
""?
" AND bg.SITE_ID='".$DB->ForSQL(
$NS[
"SITE_ID"]).
"'":
"").
"
676 AND b.SEARCH_INDEX = 'Y'
685 $rs =
$DB->Query($strSql);
699 if($handlerManager->getHandlerByPostText(
$ar[
"POST_TEXT"]))
706 if(
$ar[
"PATH"] <>
'')
709 $ar[
"SITE_ID"] => str_replace(
"#comment_id#",
$ar[
"ID"],
$ar[
"PATH"])
723 "ID" =>
"C".
$ar[
"ID"],
724 "SITE_ID" => $arSite,
725 "LAST_MODIFIED" =>
$ar[
"DATE_CREATE"],
726 "PARAM1" =>
"COMMENT",
727 "PARAM2" =>
$ar[
"BLOG_ID"].
"|".
$ar[
"POST_ID"],
728 "PERMISSIONS" =>
array(2),
731 "INDEX_TITLE" =>
false,
732 "USER_ID" => (intval(
$ar[
"AUTHOR_ID"]) > 0) ?
$ar[
"AUTHOR_ID"] :
false,
733 "ENTITY_TYPE_ID" =>
"BLOG_COMMENT",
734 "ENTITY_ID" =>
$ar[
"ID"],
737 if(
$ar[
"USE_SOCNET"] ==
"Y")
746 if(
$ar[
"TITLE"] ==
'')
753 $res = call_user_func(
array($oCallback, $callback_method), $Result);
755 return $Result[
"ID"];
765 return $Result[
"ID"];
780 ,".$DB->DateToCharFunction(
"bu.LAST_VISIT").
" as LAST_VISIT
781 ,".
$DB->DateToCharFunction(
"u.DATE_REGISTER").
" as DATE_REGISTER
794 INNER JOIN b_user u ON (u.ID = bu.USER_ID)
795 INNER JOIN b_blog b ON (u.ID = b.OWNER_ID)
796 INNER JOIN b_blog_group bg ON (b.GROUP_ID = bg.ID)
799 ".(
$NS[
"SITE_ID"]!=
""?
"AND bg.SITE_ID='".$DB->ForSQL(
$NS[
"SITE_ID"]).
"'":
"").
"
801 AND b.SEARCH_INDEX = 'Y'
806 $rs =
$DB->Query($strSql);
809 if(
$ar[
"USE_SOCNET"] ==
"Y")
812 "ID" =>
"U".
$ar[
"ID"],
825 "ID" =>
"U".
$ar[
"ID"],
826 "LAST_MODIFIED" =>
$ar[
"LAST_VISIT"],
831 "PARAM2" =>
$ar[
"ID"],
832 "PERMISSIONS" =>
array(2),
835 if($Result[
"LAST_MODIFIED"] ==
'')
836 $Result[
"LAST_MODIFIED"] =
$ar[
"DATE_REGISTER"];
842 $res = call_user_func(
array($oCallback, $callback_method), $Result);
844 return $Result[
"ID"];
862 ob_start();print_r(
$var);$m=ob_get_contents();ob_end_clean();
863 $m=
" CBlogSearch::$method:$varname:$m\n";
$f=fopen(
$_SERVER[
"DOCUMENT_ROOT"].
"/debug.log",
"a");
864 fwrite(
$f, time().$m);fclose(
$f);
869 if(CModule::IncludeModule(
"socialnetwork"))
871 $feature = CSocNetFeatures::GetByID(
$ID);
872 if($feature[
"FEATURE"] ==
"blog")
874 if(intval($feature[
"ENTITY_ID"]) > 0)
879 if($feature[
"ENTITY_TYPE"] ==
"U")
881 $arFilter[
"OWNER_ID"] = $feature[
"ENTITY_ID"];
882 $featureOperationPerms = CSocNetFeaturesPerms::GetOperationPerm(
SONET_ENTITY_USER, $feature[
"ENTITY_ID"],
"blog",
"view_post");
890 $arFilter[
"SOCNET_GROUP_ID"] = $feature[
"ENTITY_ID"];
891 $featureOperationPerms = CSocNetFeaturesPerms::GetOperationPerm(
SONET_ENTITY_GROUP, $feature[
"ENTITY_ID"],
"blog",
"view_post");
899 if($arBlog = $dbBlog->Fetch())
901 if (intval($arBlog[
"SOCNET_GROUP_ID"]) > 0 && CModule::IncludeModule(
"socialnetwork") && method_exists(
"CSocNetGroup",
"GetSite"))
904 $rsGroupSite = CSocNetGroup::GetSite($arBlog[
"SOCNET_GROUP_ID"]);
905 while($arGroupSite = $rsGroupSite->Fetch())
949 $permFields = \CSocNetFeaturesPerms::getByID(
$ID);
957 $fields[
"OPERATION_ID"] ==
"view_post"
958 && Loader::includeModule(
"socialnetwork")
961 $feature = CSocNetFeatures::GetByID(
$fields[
"FEATURE_ID"]);
963 $feature[
"FEATURE"] ==
"blog"
964 && $feature[
"ENTITY_TYPE"] ==
"G"
967 $perm = \CSocNetFeaturesPerms::GetOperationPerm(
'G', $feature[
"ENTITY_ID"],
'blog',
'view_post');
977 $featurePerm = CSocNetFeaturesPerms::GetByID(
$ID);
978 if($featurePerm[
"OPERATION_ID"] ==
"view_post")
980 if(CModule::IncludeModule(
"socialnetwork"))
982 $feature = CSocNetFeatures::GetByID($featurePerm[
"FEATURE_ID"]);
984 $feature[
"FEATURE"] ==
"blog"
985 && intval($feature[
"ENTITY_ID"]) > 0
989 $feature[
"ACTIVE"] ==
"Y"
991 ($feature[
"ENTITY_TYPE"] ==
"U" &&
$arFields[
"ROLE"] ==
"A")
992 || ($feature[
"ENTITY_TYPE"] ==
"G" &&
$arFields[
"ROLE"] ==
"N")
997 if($feature[
"ENTITY_TYPE"] ==
"U")
999 $arFilter[
"OWNER_ID"] = $feature[
"ENTITY_ID"];
1003 $arFilter[
"SOCNET_GROUP_ID"] = $feature[
"ENTITY_ID"];
1006 if($arBlog = $dbBlog->Fetch())
1014 if($feature[
"ENTITY_TYPE"] ==
"U")
1016 $arFilter[
"OWNER_ID"] = $feature[
"ENTITY_ID"];
1020 $arFilter[
"SOCNET_GROUP_ID"] = $feature[
"ENTITY_ID"];
1023 if($arBlog = $dbBlog->Fetch())
1031 && intval($arBlog[
"SOCNET_GROUP_ID"]) > 0
1035 $rsGroupSite = CSocNetGroup::GetSite($arBlog[
"SOCNET_GROUP_ID"]);
1036 while($arGroupSite = $rsGroupSite->Fetch())
1051 if ($feature[
"ENTITY_TYPE"] ==
"G")
1054 'groupId' => $feature[
"ENTITY_ID"],
const BLOG_PUBLISH_STATUS_PUBLISH
static set($groupId, $value)
static recalcGroupPostRights($params=array())
static getConnection($name="")
static DeleteSocnetRead($ID)
static GetByUrl($BLOG_URL, $arGroup=Array())
static PreparePath($blogUrl, $siteID=False, $is404=True, $userID=0, $groupID=0)
static UpdateSocNetPerms($ID, $perms=array(), $arPost=array())
static GetMentionedUserID($arFields)
static PreparePath($blogUrl, $postID=0, $siteID=False, $is404=True, $userID=0, $groupID=0)
static GetSocNetPermsCode($ID)
static GetGroupPerms($ID, $blogID, $postID=0, $permsType=BLOG_PERMS_POST)
static GetUserName($alias, $name, $lastName, $login, $secondName="")
static PreparePath($userID=0, $siteID=False, $is404=True)
static GetList($arOrder=Array("ID"=> "DESC"), $arFilter=Array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
static AddSocnetRead($ID)
static OnBeforeSocNetFeaturesPermsAdd($arFields)
static Trace($method, $varname, $var)
static OnSearchReindex($NS=Array(), $oCallback=NULL, $callback_method="")
static fillSearchParamsWithMentionData($arMentionedUserID=array(), &$arSearchIndex=array())
static SetSoNetFeaturePermIndexSearch($ID, $arFields)
static SetSoNetFeatureIndexSearch($ID, $arFields)
static fillSearchPermsWithSonetGroupData($sonetPerms, $authorId, &$arSearchIndex=array(), $arParams=array())
static OnBeforeSocNetFeaturesPermsUpdate($ID, $arFields)
static setSoNetFeaturePermIndexSearchBefore($fields)
static Add($arFields, $bSendEvent=true)
static Update($ID, $arFields)
static DeleteByLogID($LOG_ID)
static Add($LOG_ID, $GROUP_CODE, $bShare=false, $followSet=true)
static killAllTags($text)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
global $USER_FIELD_MANAGER
$_SERVER["DOCUMENT_ROOT"]
if(!defined('NOT_CHECK_PERMISSIONS')) $NS
IsModuleInstalled($module_id)
GetMessage($name, $aReplace=null)
BXClearCache($full=false, $initdir='')
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
const SONET_ROLES_AUTHORIZED
const SONET_ROLES_MODERATOR
const SONET_RELATIONS_TYPE_ALL