PageRenderTime 24ms CodeModel.GetById 24ms RepoModel.GetById 1ms app.codeStats 0ms

/bitrix/modules/socialservices/tools/socserv.ajax.php

https://gitlab.com/Rad1calDreamer/honey
PHP | 130 lines | 121 code | 9 blank | 0 comment | 27 complexity | a28128b6d491e1ecbfe859af23040d09 MD5 | raw file
  1. <?
  2. define('STOP_STATISTICS', true);
  3. define('NO_AGENT_CHECK', true);
  4. define('DisableEventsCheck', true);
  5. define('BX_SECURITY_SHOW_MESSAGE', true);
  6. define("PUBLIC_AJAX_MODE", true);
  7. define("NOT_CHECK_PERMISSIONS", true);
  8. require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
  9. IncludeModuleLangFile(__FILE__);
  10. header('Content-Type: application/x-javascript; charset='.LANG_CHARSET);
  11. $userId = $USER->GetID();
  12. if (!CModule::IncludeModule("socialservices"))
  13. {
  14. echo CUtil::PhpToJsObject(Array('ERROR' => 'SS_MODULE_NOT_INSTALLED'));
  15. die();
  16. }
  17. if (intval($userId) <= 0)
  18. {
  19. echo CUtil::PhpToJsObject(Array('ERROR' => 'AUTHORIZE_ERROR'));
  20. die();
  21. }
  22. if (check_bitrix_sessid())
  23. {
  24. CUtil::JSPostUnescape();
  25. if($_REQUEST['action'] == "getuserdata" || $_REQUEST['action'] == 'getsettings')
  26. {
  27. $serializedSocservUser = CUserOptions::GetOption("socialservices", "user_socserv_array", '', $userId);
  28. if(CheckSerializedData($serializedSocservUser))
  29. $arResult['SOCSERVARRAY'] = unserialize($serializedSocservUser);
  30. if(!isset($arResult['SOCSERVARRAY']) || !is_array($arResult['SOCSERVARRAY']))
  31. $arResult['SOCSERVARRAY'] = '';
  32. if($_REQUEST['checkEnabled'] == 'true')
  33. $arResult['ENABLED'] = CUserOptions::GetOption("socialservices", "user_socserv_enable", "N", $userId);
  34. $arResult['STARTSEND'] = CUserOptions::GetOption("socialservices", "user_socserv_start_day", "N", $userId);
  35. $arResult['ENDSEND'] = CUserOptions::GetOption("socialservices", "user_socserv_end_day", "N", $userId);
  36. $arResult['STARTTEXT'] = CUserOptions::GetOption("socialservices", "user_socserv_start_text", GetMessage("JS_CORE_SS_WORKDAY_START"), $userId);
  37. $arResult['ENDTEXT'] = CUserOptions::GetOption("socialservices", "user_socserv_end_text", GetMessage("JS_CORE_SS_WORKDAY_END"), $userId);
  38. $arResult['SOCSERVARRAYALL'] = CSocServAuthManager::GetUserArrayForSendMessages($userId);
  39. $arResult['USER_ID'] = $userId;
  40. $tooltipPathToUser = COption::GetOptionString("main", "TOOLTIP_PATH_TO_USER", false, SITE_ID);
  41. if($tooltipPathToUser)
  42. $pathToUser = str_replace("#user_id#", $userId, $tooltipPathToUser)."edit/?current_fieldset=SOCSERV#soc-serv-title-id";
  43. else
  44. $pathToUser = "/company/personal/user/$userId/edit/?current_fieldset=SOCSERV#soc-serv-title-id";
  45. $arResult["SETUP_MESSAGE"] = GetMessage(("JS_CORE_SS_SETUP_ACCOUNT"), array("#class#" => "class=\"bx-ss-soc-serv-setup-link\"", "#link#" => $pathToUser));
  46. if($_REQUEST['action'] == "getuserdata")
  47. {
  48. echo CUtil::PhpToJSObject($arResult);
  49. }
  50. else
  51. {
  52. $t = filemtime($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/js/socialservices/ss_timeman.js");
  53. ?>
  54. BX.loadCSS('/bitrix/js/socialservices/css/ss.css');
  55. BX.loadScript('/bitrix/js/socialservices/ss_timeman.js?<?=$t?>', function(){
  56. window.SOCSERV_DATA = <?=CUtil::PhpToJSObject($arResult);?>;
  57. BXTIMEMAN.WND.SOCSERV_WND = new BX.SocservTimeman();
  58. BXTIMEMAN.WND.SOCSERV_WND.showWnd();
  59. });
  60. <?
  61. }
  62. }
  63. elseif($_REQUEST['action'] == "saveuserdata")
  64. {
  65. if(isset($_POST["ENABLED"]))
  66. {
  67. $userSocServSendEnable = $_POST["ENABLED"];
  68. CUserOptions::SetOption("socialservices","user_socserv_enable",$userSocServSendEnable, false, $userId);
  69. $cache_id = 'socserv_user_option_'.$userId;
  70. $obCache = new CPHPCache;
  71. $cache_dir = '/bx/socserv_user_option';
  72. $obCache->Clean($cache_id, $cache_dir);
  73. }
  74. else
  75. {
  76. $arUserSocServ = '';
  77. $userSocServSendEnable = $userSocServSendStart = $userSocServSendEnd = 'N';
  78. $userSocServEndText = GetMessage("JS_CORE_SS_WORKDAY_END");
  79. $userSocServStartText = GetMessage("JS_CORE_SS_WORKDAY_START");
  80. if(isset($_POST["SOCSERVARRAY"]) && !empty($_POST["SOCSERVARRAY"]))
  81. $arUserSocServ = serialize($_POST["SOCSERVARRAY"]);
  82. if(isset($_POST["STARTSEND"]))
  83. $userSocServSendStart = $_POST["STARTSEND"];
  84. if(isset($_POST["ENDSEND"]))
  85. $userSocServSendEnd = $_POST["ENDSEND"];
  86. if(isset($_POST["STARTTEXT"]))
  87. $userSocServStartText = $_POST["STARTTEXT"];
  88. if(isset($_POST["ENDTEXT"]))
  89. $userSocServEndText = $_POST["ENDTEXT"];
  90. if($userSocServSendStart === 'Y' || $userSocServSendEnd === 'Y')
  91. {
  92. CUserOptions::SetOption("socialservices","user_socserv_enable", 'Y', false, $userId);
  93. }
  94. else
  95. {
  96. CUserOptions::SetOption("socialservices","user_socserv_enable", 'N', false, $userId);
  97. }
  98. CUserOptions::SetOption("socialservices","user_socserv_array",$arUserSocServ, false, $userId);
  99. CUserOptions::SetOption("socialservices","user_socserv_start_day",$userSocServSendStart, false, $userId);
  100. CUserOptions::SetOption("socialservices","user_socserv_end_day",$userSocServSendEnd, false, $userId);
  101. CUserOptions::SetOption("socialservices","user_socserv_start_text",$userSocServStartText, false, $userId);
  102. CUserOptions::SetOption("socialservices","user_socserv_end_text",$userSocServEndText, false, $userId);
  103. }
  104. }
  105. elseif($_REQUEST['action'] == "registernetwork")
  106. {
  107. $domain = ToLower(rtrim(trim($_REQUEST['url']), '/'));
  108. if(preg_match("/^http[s]{0,1}:\/\/[^\/]+/", $domain))
  109. {
  110. $res = CSocServBitrix24Net::registerSite($domain);
  111. }
  112. else
  113. {
  114. $res = array("error" => GetMessage("B24NET_REG_WRONG_URL"));
  115. }
  116. Header('Content-Type: application/json');
  117. echo \Bitrix\Main\Web\Json::encode($res);
  118. }
  119. }
  120. require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
  121. ?>