public static function GetUserWorkflowTaskCount($workflowIDs, $userID = 0)
 {
     if (!is_array($workflowIDs)) {
         return 0;
     }
     if (!(IsModuleInstalled('bizproc') && CModule::IncludeModule('bizproc'))) {
         return 0;
     }
     $userID = intval($userID);
     if ($userID <= 0) {
         $userID = CCrmSecurityHelper::GetCurrentUserID();
     }
     $filter = array('USER_ID' => $userID);
     $workflowQty = count($workflowIDs);
     if ($workflowQty > 1) {
         //IMPORTANT: will produce SQL error due to CBPTaskService::GetList bug
         //$filter['@WORKFLOW_ID'] = $workflowIDs;
         $filter['WORKFLOW_ID'] = $workflowIDs[0];
     }
     /*elseif($workflowQty === 1)
     		{
     			$filter['WORKFLOW_ID'] = $workflowIDs[0];
     		}*/
     $result = CBPTaskService::GetList(array(), $filter, array(), false, array());
     return is_int($result) ? $result : 0;
 }
Beispiel #2
0
 public static function IsAdmin($userId = null)
 {
     $result = false;
     if ($userId === null) {
         $user = self::GetCurrentUser();
         if ($user->IsAdmin()) {
             return true;
         }
         $userId = $user->getId();
     }
     $userId = (int) $userId;
     if ($userId <= 0) {
         return false;
     }
     try {
         if (IsModuleInstalled('bitrix24') && CModule::IncludeModule('bitrix24')) {
             if (class_exists('CBitrix24') && method_exists('CBitrix24', 'IsPortalAdmin')) {
                 // New style check
                 $result = CBitrix24::IsPortalAdmin($userId);
             } else {
                 // HACK: Check user group 1 ('Portal admins')
                 $arGroups = CUser::GetUserGroup($userId);
                 $result = in_array(1, $arGroups);
             }
         }
     } catch (Exception $e) {
     }
     return $result;
 }
Beispiel #3
0
 function CheckModules()
 {
     global $APPLICATION;
     if (!CModule::IncludeModule('pull') || !CPullOptions::GetQueueServerStatus()) {
         $this->errors[] = GetMessage('VI_CHECK_PULL');
     }
     if (!IsModuleInstalled('im')) {
         $this->errors[] = GetMessage('VI_CHECK_IM');
     }
     include $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/classes/general/version.php";
     if (version_compare("14.9.2", SM_VERSION) == 1) {
         $this->errors[] = GetMessage('VI_CHECK_MAIN');
     }
     if (IsModuleInstalled('intranet')) {
         include $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/intranet/install/version.php";
         if (version_compare("14.5.6", $arModuleVersion["VERSION"]) == 1) {
             $this->errors[] = GetMessage('VI_CHECK_INTRANET');
         }
     } else {
         $this->errors[] = GetMessage('VI_CHECK_INTRANET_INSTALL');
     }
     if (is_array($this->errors) && !empty($this->errors)) {
         $APPLICATION->ThrowException(implode("<br>", $this->errors));
         return false;
     } else {
         return true;
     }
 }
Beispiel #4
0
 public function DoInstall()
 {
     global $APPLICATION, $adminPage, $USER, $adminMenu, $adminChain;
     if ($GLOBALS['APPLICATION']->GetGroupRight('main') < 'W') {
         return;
     }
     CopyDirFiles($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/" . $this->MODULE_ID . "/install/components/" . $this->MODULE_ID, $_SERVER["DOCUMENT_ROOT"] . "/bitrix/components/" . $this->MODULE_ID, true, true);
     if (is_array($this->NEED_MODULES) && !empty($this->NEED_MODULES)) {
         foreach ($this->NEED_MODULES as $module) {
             if (!IsModuleInstalled($module)) {
                 $this->ShowForm('ERROR', GetMessage('DADATA_SUGGESTIONS_NEED_MODULES', array('#MODULE#' => $module)));
             }
         }
     }
     if (strlen($this->NEED_MAIN_VERSION) <= 0 || version_compare(SM_VERSION, $this->NEED_MAIN_VERSION) >= 0) {
         if ($this->InstallDB()) {
             $this->ShowForm('OK', GetMessage('MOD_INST_OK'), 'install');
         } else {
             $strError = '';
             if ($ex = $APPLICATION->GetException()) {
                 $strError = $ex->GetString();
             } else {
                 $strError = GetMessage('DADATA_SUGGESTIONS_UNKNOWN_ERR_INSTALL');
             }
             $this->ShowForm('ERROR', GetMessage('DADATA_SUGGESTIONS_NOT_INSTALL', array('#ERR#' => $strError)));
         }
     } else {
         $this->ShowForm('ERROR', GetMessage('DADATA_SUGGESTIONS_NEED_RIGHT_VER', array('#NEED#' => $this->NEED_MAIN_VERSION)));
     }
 }
Beispiel #5
0
 public function getFriendsList($limit, &$next)
 {
     if (IsModuleInstalled('bitrix24') && defined('BX24_HOST_NAME')) {
         $redirect_uri = static::CONTROLLER_URL . "/redirect.php";
     } else {
         $redirect_uri = CSocServUtil::ServerName() . "/bitrix/tools/oauth/google.php";
     }
     $ob = $this->getEntityOAuth();
     if ($ob->GetAccessToken($redirect_uri) !== false) {
         $res = $ob->getCurrentUserFriends($limit, $next);
         foreach ($res["items"] as $key => $contact) {
             $contact["uid"] = $contact["id"];
             if (array_key_exists("name", $contact)) {
                 $contact["first_name"] = $contact["name"]["givenName"];
                 $contact["last_name"] = $contact["name"]["familyName"];
             } else {
                 list($contact["first_name"], $contact["last_name"]) = explode(" ", $contact["displayName"], 2);
             }
             if (array_key_exists("image", $contact)) {
                 $contact["picture"] = preg_replace("/\\?.*\$/", "", $contact["image"]["url"]);
             }
             $res["items"][$key] = $contact;
         }
         return $res["items"];
     }
     return false;
 }
Beispiel #6
0
 public static function Notify($addresseeID, $internalMessage, $externalMessage, $schemeTypeID, $tag = '')
 {
     self::ClearErrors();
     if (!(IsModuleInstalled('im') && CModule::IncludeModule('im'))) {
         self::RegisterError('IM module is not installed.');
         return false;
     }
     if ($addresseeID <= 0) {
         self::RegisterError('Addressee is not assigned.');
         return false;
     }
     $arMessage = array('TO_USER_ID' => $addresseeID, 'FROM_USER_ID' => 0, 'NOTIFY_TYPE' => IM_NOTIFY_SYSTEM, 'NOTIFY_MODULE' => 'crm', 'NOTIFY_MESSAGE' => strval($internalMessage), 'NOTIFY_MESSAGE_OUT' => strval($externalMessage));
     $schemeTypeName = CCrmNotifierSchemeType::ResolveName($schemeTypeID);
     if ($schemeTypeName !== '') {
         $arMessage['NOTIFY_EVENT'] = $schemeTypeName;
     }
     $tag = strval($tag);
     if ($tag !== '') {
         $arMessage['NOTIFY_TAG'] = $tag;
     }
     $msgID = CIMNotify::Add($arMessage);
     if (!$msgID) {
         $e = $GLOBALS['APPLICATION']->GetException();
         $errorMessage = $e ? $e->GetString() : 'Unknown sending error. message not send.';
         self::RegisterError($errorMessage);
         return false;
     }
     return true;
 }
Beispiel #7
0
 public static function isEnabled()
 {
     if (self::$ENABLE_VOX_IMPLANT === null) {
         self::$ENABLE_VOX_IMPLANT = IsModuleInstalled('voximplant') && CModule::IncludeModule('voximplant');
     }
     return self::$ENABLE_VOX_IMPLANT;
 }
Beispiel #8
0
 function GetServices($servicePath, $arFilter = array())
 {
     $arServices = array();
     include $servicePath . ".services.php";
     if (empty($arServices)) {
         return $arServices;
     }
     $servicePosition = 1;
     foreach ($arServices as $serviceID => $arService) {
         if (isset($arFilter["SKIP_INSTALL_ONLY"]) && array_key_exists("INSTALL_ONLY", $arService) && $arService["INSTALL_ONLY"] == $arFilter["SKIP_INSTALL_ONLY"]) {
             unset($arServices[$serviceID]);
             continue;
         }
         if (isset($arFilter["SERVICES"]) && is_array($arFilter["SERVICES"]) && !in_array($serviceID, $arFilter["SERVICES"]) && !array_key_exists("INSTALL_ONLY", $arService)) {
             unset($arServices[$serviceID]);
             continue;
         }
         //Check service dependencies
         $modulesCheck = array($serviceID);
         if (array_key_exists("MODULE_ID", $arService)) {
             $modulesCheck = is_array($arService["MODULE_ID"]) ? $arService["MODULE_ID"] : array($arService["MODULE_ID"]);
         }
         foreach ($modulesCheck as $moduleID) {
             if (!IsModuleInstalled($moduleID)) {
                 unset($arServices[$serviceID]);
                 continue 2;
             }
         }
         $arServices[$serviceID]["POSITION"] = $servicePosition;
         $servicePosition += isset($arService["STAGES"]) && !empty($arService["STAGES"]) ? count($arService["STAGES"]) : 1;
     }
     return $arServices;
 }
Beispiel #9
0
 function DoInstall()
 {
     // проверка запуска, а также модуль иблоков определённо нужен
     if (!check_bitrix_sessid() || !IsModuleInstalled("iblock")) {
         return false;
     }
     global $DOCUMENT_ROOT, $APPLICATION, $step;
     $step = IntVal($step);
     if ($step < 2) {
         $APPLICATION->IncludeAdminFile(GetMessage("V_MODULE_INSTALL") . $this->MODULE_ID, $DOCUMENT_ROOT . "/bitrix/modules/" . $this->MODULE_ID . "/install/step1.php");
     } elseif ($step == 2) {
         // echo "<pre>";
         // print_r($_REQUEST);
         // echo "</pre>";
         // die();
         $this->InstallComponent();
         // установка компонента
         $this->InstallFiles();
         // копирование файлов
         $this->InstallDB();
         $APPLICATION->IncludeAdminFile(GetMessage("V_MODULE_INSTALL") . $this->MODULE_ID, $DOCUMENT_ROOT . "/bitrix/modules/" . $this->MODULE_ID . "/install/step2.php");
         LocalRedirect("module_admin.php?lang=" . LANGUAGE_ID);
     }
     return true;
 }
Beispiel #10
0
 public function DoInstall()
 {
     if (is_array($this->NEED_MODULES) && !empty($this->NEED_MODULES)) {
         foreach ($this->NEED_MODULES as $module) {
             if (!IsModuleInstalled($module)) {
                 $this->ShowForm('ERROR', GetMessage('ASD_NEED_MODULES', array('#MODULE#' => $module)));
             }
         }
     }
     if (strlen($this->NEED_MAIN_VERSION) <= 0 || version_compare(SM_VERSION, $this->NEED_MAIN_VERSION) >= 0) {
         RegisterModuleDependences('main', 'OnAdminListDisplay', 'asd.iblock', 'CASDiblockInterface', 'OnAdminListDisplayHandler');
         RegisterModuleDependences('main', 'OnBeforeProlog', 'asd.iblock', 'CASDiblockAction', 'OnBeforePrologHandler');
         RegisterModuleDependences('main', 'OnAdminContextMenuShow', 'asd.iblock', 'CASDiblockInterface', 'OnAdminContextMenuShowHandler');
         RegisterModuleDependences('main', 'OnAdminTabControlBegin', 'asd.iblock', 'CASDiblockInterface', 'OnAdminTabControlBeginHandler');
         RegisterModuleDependences('iblock', 'OnAfterIBlockUpdate', 'asd.iblock', 'CASDiblockAction', 'OnAfterIBlockUpdateHandler');
         RegisterModuleDependences('iblock', 'OnIBlockPropertyBuildList', 'asd.iblock', 'CASDiblockPropCheckbox', 'GetUserTypeDescription');
         RegisterModuleDependences('iblock', 'OnIBlockPropertyBuildList', 'asd.iblock', 'CASDiblockPropCheckboxNum', 'GetUserTypeDescription');
         RegisterModuleDependences('iblock', 'OnIBlockPropertyBuildList', 'asd.iblock', 'CASDiblockPropPalette', 'GetUserTypeDescription');
         RegisterModuleDependences('iblock', 'OnIBlockPropertyBuildList', 'asd.iblock', 'CASDiblockPropSection', 'GetUserTypeDescription');
         CopyDirFiles($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/asd.iblock/install/js/', $_SERVER['DOCUMENT_ROOT'] . '/bitrix/js/', true, true);
         CopyDirFiles($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/asd.iblock/install/panel/', $_SERVER['DOCUMENT_ROOT'] . '/bitrix/panel/', true, true);
         CopyDirFiles($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/asd.iblock/install/tools/', $_SERVER['DOCUMENT_ROOT'] . '/bitrix/tools/', true, true);
         RegisterModule('asd.iblock');
         $this->ShowForm('OK', GetMessage('MOD_INST_OK'));
     } else {
         $this->ShowForm('ERROR', GetMessage('ASD_NEED_RIGHT_VER', array('#NEED#' => $this->NEED_MAIN_VERSION)));
     }
 }
Beispiel #11
0
 function InstallUserFields()
 {
     global $USER_FIELD_MANAGER, $APPLICATION;
     if (!IsModuleInstalled("blog")) {
         return;
     }
     $db_res = CUserTypeEntity::GetList(array("ID" => "ASC"), array("FIELD_NAME" => "UF_BLOG_POST_VOTE"));
     if ($db_res && ($res = $db_res->Fetch())) {
         return;
     }
     AddEventHandler("main", "OnUserTypeBuildList", array("CUserTypeVote", "GetUserTypeDescription"));
     require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/vote/classes/general/usertypevote.php";
     $USER_FIELD_MANAGER->CleanCache();
     $USER_FIELD_MANAGER->arUserTypes = '';
     $arFields = array("BLOG_POST" => array("ENTITY_ID" => "BLOG_POST", "FIELD_NAME" => "UF_BLOG_POST_VOTE", "XML_ID" => "UF_BLOG_POST_VOTE", "SETTINGS" => array("CHANNEL_ID" => "add", "CHANNEL_TITLE" => "UF_BLOG_POST_VOTE", "CHANNEL_SYMBOLIC_NAME" => "UF_BLOG_POST_VOTE", "CHANNEL_USE_CAPTCHA" => "N", "UNIQUE" => 13, "UNIQUE_IP_DELAY" => array("DELAY" => "10", "DELAY_TYPE" => "D"))));
     $arFieldProps = array("USER_TYPE_ID" => "vote", "SORT" => 100);
     foreach ($arFields as $arField) {
         $rsData = CUserTypeEntity::GetList(array("FIELD_NAME" => "ASC"), $arField);
         if (!($arRes = $rsData->Fetch())) {
             $arProps = array_merge($arFieldProps, $arField);
             $obUserField = new CUserTypeEntity();
             $intID = $obUserField->Add($arProps);
             if (false == $intID) {
                 if ($strEx = $APPLICATION->GetException()) {
                     $this->errors[] = $strEx->GetString();
                 }
             }
         }
     }
 }
Beispiel #12
0
    public function Authorize()
    {
        $GLOBALS["APPLICATION"]->RestartBuffer();
        $bSuccess = 1;
        if (isset($_REQUEST["code"]) && $_REQUEST["code"] != '') {
            if (CSocServAuthManager::CheckUniqueKey()) {
                if (IsModuleInstalled('bitrix24') && defined('BX24_HOST_NAME')) {
                    $redirect_uri = self::CONTROLLER_URL . "/redirect.php?redirect_to=" . urlencode(CSocServUtil::GetCurUrl('auth_service_id=' . self::ID, array("code")));
                } else {
                    $redirect_uri = CSocServUtil::GetCurUrl('auth_service_id=' . self::ID, array("code"));
                }
                $appID = trim(self::GetOption("facebook_appid"));
                $appSecret = trim(self::GetOption("facebook_appsecret"));
                $fb = new CFacebookInterface($appID, $appSecret, $_REQUEST["code"]);
                if ($fb->GetAccessToken($redirect_uri) !== false) {
                    $arFBUser = $fb->GetCurrentUser();
                    if (is_array($arFBUser) && isset($arFBUser["id"])) {
                        $email = $arFBUser["email"] != '' ? $arFBUser["email"] : '';
                        $arFields = array('EXTERNAL_AUTH_ID' => self::ID, 'XML_ID' => $arFBUser["id"], 'LOGIN' => "FB_" . $arFBUser["id"], 'EMAIL' => $email, 'NAME' => $arFBUser["first_name"], 'LAST_NAME' => $arFBUser["last_name"]);
                        if (isset($arFBUser['picture']['data']['url']) && self::CheckPhotoURI($arFBUser['picture']['data']['url'])) {
                            if ($arPic = CFile::MakeFileArray($arFBUser['picture']['data']['url'])) {
                                $arFields["PERSONAL_PHOTO"] = $arPic;
                            }
                        }
                        if (isset($arFBUser['birthday'])) {
                            if ($date = MakeTimeStamp($arFBUser['birthday'], "MM/DD/YYYY")) {
                                $arFields["PERSONAL_BIRTHDAY"] = ConvertTimeStamp($date);
                            }
                        }
                        if (isset($arFBUser['gender']) && $arFBUser['gender'] != '') {
                            if ($arFBUser['gender'] == 'male') {
                                $arFields["PERSONAL_GENDER"] = 'M';
                            } elseif ($arFBUser['gender'] == 'female') {
                                $arFields["PERSONAL_GENDER"] = 'F';
                            }
                        }
                        $arFields["PERSONAL_WWW"] = "http://www.facebook.com/" . $arFBUser["id"];
                        if (strlen(SITE_ID) > 0) {
                            $arFields["SITE_ID"] = SITE_ID;
                        }
                        $bSuccess = $this->AuthorizeUser($arFields);
                    }
                }
            }
        }
        $aRemove = array("logout", "auth_service_error", "auth_service_id", "code", "error_reason", "error", "error_description", "check_key", "current_fieldset");
        $url = $GLOBALS['APPLICATION']->GetCurPageParam($bSuccess === true ? '' : 'auth_service_id=' . self::ID . '&auth_service_error=' . $bSuccess, $aRemove);
        if (CModule::IncludeModule("socialnetwork") && strpos($url, "current_fieldset=") === false) {
            $url = preg_match("/\\?/", $url) ? $url . "&current_fieldset=SOCSERV" : $url . "?current_fieldset=SOCSERV";
        }
        echo '
<script type="text/javascript">
if(window.opener)
	window.opener.location = \'' . CUtil::JSEscape($url) . '\';
window.close();
</script>
';
        die;
    }
Beispiel #13
0
 public static function ExtractEmail($str)
 {
     if (!(IsModuleInstalled('mail') && CModule::IncludeModule('mail'))) {
         $result = self::ParseEmail($str);
         return $result['EMAIL'];
     }
     return CMailUtil::ExtractMailAddress($str);
 }
Beispiel #14
0
 function ForumEventManager()
 {
     if (IsModuleInstalled("iblock")) {
         AddEventHandler("forum", "onAfterMessageAdd", array(&$this, "updateIBlockPropertyAfterAddingMessage"));
         AddEventHandler("forum", "onMessageModerate", array(&$this, "updateIBlockProperty"));
         AddEventHandler("forum", "onAfterMessageDelete", array(&$this, "updateIBlockPropertyAfterDeletingMessage"));
     }
 }
Beispiel #15
0
 public function Initialize()
 {
     parent::Initialize();
     $this->intranet = IsModuleInstalled('intranet');
     if (!$this->intranet) {
         CModule::IncludeModule("socialnetwork");
     }
 }
 function Add($arFields)
 {
     global $DB;
     $arFields1 = array();
     foreach ($arFields as $key => $value) {
         if (substr($key, 0, 1) == "=") {
             $arFields1[substr($key, 1)] = $value;
             unset($arFields[$key]);
         }
     }
     if (!CSocNetUserToGroup::CheckFields("ADD", $arFields)) {
         return false;
     }
     $db_events = GetModuleEvents("socialnetwork", "OnBeforeSocNetUserToGroupAdd");
     while ($arEvent = $db_events->Fetch()) {
         if (ExecuteModuleEventEx($arEvent, array(&$arFields)) === false) {
             return false;
         }
     }
     $arInsert = $DB->PrepareInsert("b_sonet_user2group", $arFields);
     foreach ($arFields1 as $key => $value) {
         if (strlen($arInsert[0]) > 0) {
             $arInsert[0] .= ", ";
         }
         $arInsert[0] .= $key;
         if (strlen($arInsert[1]) > 0) {
             $arInsert[1] .= ", ";
         }
         $arInsert[1] .= $value;
     }
     $ID = false;
     if (strlen($arInsert[0]) > 0) {
         $strSql = "INSERT INTO b_sonet_user2group(" . $arInsert[0] . ") " . "VALUES(" . $arInsert[1] . ")";
         $DB->Query($strSql, False, "File: " . __FILE__ . "<br>Line: " . __LINE__);
         $ID = IntVal($DB->LastID());
         CSocNetGroup::SetStat($arFields["GROUP_ID"]);
         CSocNetSearch::OnUserRelationsChange($arFields["USER_ID"]);
         $events = GetModuleEvents("socialnetwork", "OnSocNetUserToGroupAdd");
         while ($arEvent = $events->Fetch()) {
             ExecuteModuleEventEx($arEvent, array($ID, &$arFields));
         }
         if ($arFields["INITIATED_BY_TYPE"] == SONET_INITIATED_BY_GROUP && $arFields["SEND_MAIL"] != "N" && !IsModuleInstalled("im")) {
             CSocNetUserToGroup::SendEvent($ID, "SONET_INVITE_GROUP");
         }
     }
     if ($ID) {
         global $arSocNetUserInRoleCache;
         if (!isset($arSocNetUserInRoleCache) || !is_array($arSocNetUserInRoleCache)) {
             $arSocNetUserInRoleCache = array();
         }
         $arSocNetUserInRoleCache[$arFields["USER_ID"] . "_" . $arFields["GROUP_ID"]] = $arFields["ROLE"];
         if (defined("BX_COMP_MANAGED_CACHE")) {
             $GLOBALS["CACHE_MANAGER"]->ClearByTag("sonet_user2group_G" . $arFields["GROUP_ID"]);
             $GLOBALS["CACHE_MANAGER"]->ClearByTag("sonet_user2group_U" . $arFields["USER_ID"]);
         }
     }
     return $ID;
 }
Beispiel #17
0
 function Add($arFields)
 {
     global $DB;
     if (IsModuleInstalled("im") && CModule::IncludeModule("im")) {
         if ($arFields["MESSAGE_TYPE"] == SONET_MESSAGE_SYSTEM) {
             if (!(isset($arFields["EMAIL_TEMPLATE"]) && strlen($arFields["EMAIL_TEMPLATE"]) > 0)) {
                 $arFields["EMAIL_TEMPLATE"] = "SONET_NEW_MESSAGE";
             }
             $ID = CIMNotify::Add($arFields);
             return $ID;
         } else {
             CIMMessenger::SpeedFileDelete($arFields['TO_USER_ID'], IM_SPEED_MESSAGE);
         }
     }
     if (defined("INTASK_SKIP_SOCNET_MESSAGES1") && INTASK_SKIP_SOCNET_MESSAGES1) {
         $arFields["=DATE_VIEW"] = $DB->CurrentTimeFunction();
     }
     $arFields1 = array();
     foreach ($arFields as $key => $value) {
         if (substr($key, 0, 1) == "=") {
             $arFields1[substr($key, 1)] = $value;
             unset($arFields[$key]);
         }
     }
     if (!CSocNetMessages::CheckFields("ADD", $arFields)) {
         return false;
     }
     $db_events = GetModuleEvents("socialnetwork", "OnBeforeSocNetMessagesAdd");
     while ($arEvent = $db_events->Fetch()) {
         if (ExecuteModuleEventEx($arEvent, array(&$arFields)) === false) {
             return false;
         }
     }
     $arInsert = $DB->PrepareInsert("b_sonet_messages", $arFields);
     foreach ($arFields1 as $key => $value) {
         if (strlen($arInsert[0]) > 0) {
             $arInsert[0] .= ", ";
         }
         $arInsert[0] .= $key;
         if (strlen($arInsert[1]) > 0) {
             $arInsert[1] .= ", ";
         }
         $arInsert[1] .= $value;
     }
     $ID = false;
     if (strlen($arInsert[0]) > 0) {
         $strSql = "INSERT INTO b_sonet_messages(" . $arInsert[0] . ") " . "VALUES(" . $arInsert[1] . ")";
         $DB->Query($strSql, False, "File: " . __FILE__ . "<br>Line: " . __LINE__);
         $ID = IntVal($DB->LastID());
         $events = GetModuleEvents("socialnetwork", "OnSocNetMessagesAdd");
         while ($arEvent = $events->Fetch()) {
             ExecuteModuleEventEx($arEvent, array($ID, $arFields));
         }
         //CSocNetMessages::SendEvent($ID, "SONET_NEW_MESSAGE");
         CSocNetMessages::__SpeedFileCreate($arFields["TO_USER_ID"]);
     }
     return $ID;
 }
 public static function OnGetNotifySchema()
 {
     $config = array("im" => array("NAME" => GetMessage('IM_NS_IM'), "NOTIFY" => array("message" => array("NAME" => GetMessage('IM_NS_MESSAGE_2'), "PUSH" => 'Y', "DISABLED" => array(IM_NOTIFY_FEATURE_SITE, IM_NOTIFY_FEATURE_XMPP)), "chat" => array("NAME" => GetMessage('IM_NS_CHAT_2'), "MAIL" => 'N', "PUSH" => 'Y', "DISABLED" => array(IM_NOTIFY_FEATURE_SITE, IM_NOTIFY_FEATURE_XMPP, IM_NOTIFY_FEATURE_MAIL)), "openChat" => array("NAME" => GetMessage('IM_NS_OPEN'), "MAIL" => 'N', "PUSH" => 'Y', "DISABLED" => array(IM_NOTIFY_FEATURE_SITE, IM_NOTIFY_FEATURE_XMPP, IM_NOTIFY_FEATURE_MAIL)), "like" => array("NAME" => GetMessage('IM_NS_LIKE')), "mention" => array("NAME" => GetMessage('IM_NS_MENTION'), "PUSH" => 'Y'), "default" => array("NAME" => GetMessage('IM_NS_DEFAULT'), "PUSH" => 'N', "MAIL" => 'N'))));
     if (!IsModuleInstalled("b24network")) {
         $config["main"] = array("NAME" => GetMessage('IM_NS_MAIN'), "NOTIFY" => array("rating_vote" => array("NAME" => GetMessage('IM_NS_MAIN_RATING_VOTE'), "LIFETIME" => 86400 * 7), "rating_vote_mentioned" => array("NAME" => GetMessage('IM_NS_MAIN_RATING_VOTE_MENTIONED'), "LIFETIME" => 86400 * 7)));
         $config["bizproc"] = array("NOTIFY" => array("activity" => array("NAME" => GetMessage('IM_NS_BIZPROC_ACTIVITY'))));
     }
     return $config;
 }
Beispiel #19
0
 public static function updateIBlockProperty($ID, $TYPE, $arMessage, $arTopic = array())
 {
     if ($ID > 0 && $arMessage["PARAM1"] != "IB" && IsModuleInstalled("iblock")) {
         $arTopic = empty($arTopic) ? CForumTopic::GetByID($arMessage["TOPIC_ID"]) : $arTopic;
         if (!empty($arTopic) && $arTopic["XML_ID"] == "IBLOCK_" . $arMessage["PARAM2"] && CModule::IncludeModule("iblock")) {
             CIBlockElement::SetPropertyValuesEx($arMessage["PARAM2"], 0, array("FORUM_MESSAGE_CNT" => array("VALUE" => CForumMessage::GetList(array(), array("TOPIC_ID" => $arMessage["TOPIC_ID"], "APPROVED" => "Y", "!PARAM1" => "IB"), true), "DESCRIPTION" => "")));
         }
     }
 }
 public static function OnGetNotifySchema()
 {
     $config = array("im" => array("NOTIFY" => array("message" => array("NAME" => GetMessage('IM_NS_MESSAGE')), "default" => array("NAME" => GetMessage('IM_NS_DEFAULT')))));
     if (!IsModuleInstalled("b24network")) {
         $config["main"] = array("NAME" => GetMessage('IM_NS_MAIN'), "NOTIFY" => array("rating_vote" => array("NAME" => GetMessage('IM_NS_MAIN_RATING_VOTE')), "rating_vote_mentioned" => array("NAME" => GetMessage('IM_NS_MAIN_RATING_VOTE_MENTIONED'))));
         $config["bizproc"] = array("NOTIFY" => array("activity" => array("NAME" => GetMessage('IM_NS_BIZPROC_ACTIVITY'))));
     }
     return $config;
 }
Beispiel #21
0
	public function DoUnInstall() {
		if(IsModuleInstalled('mytools')) {

			$this->UnInstallEvents();
			$this->UnInstallFiles();
			$this->UninstallDB();

			UnRegisterModule('mytools');
		}
	}
Beispiel #22
0
 static function getRightsLinks($arPage)
 {
     global $arParams, $APPLICATION;
     if (!is_array($arPage)) {
         $arPage = array($arPage);
     }
     $arLinks = array();
     $arParams['ELEMENT_NAME'] = htmlspecialcharsback($arParams['ELEMENT_NAME']);
     $arParams['ELEMENT_NAME'] = urlencode($arParams['ELEMENT_NAME']);
     if (in_array('categories', $arPage)) {
         return array();
     }
     if (in_array('article', $arPage) && !in_array('add', $arPage)) {
         $arLinks['article'] = array('NAME' => GetMessage('PAGE_ARTICLE'), 'TITLE' => GetMessage('PAGE_ARTICLE_TITLE'), 'CURRENT' => in_array('article', $arPage), 'LINK' => CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST'], array('wiki_name' => $arParams['ELEMENT_NAME'], 'group_id' => CWikiSocnet::$iSocNetId)), 'ID' => 'article', 'TYPE' => 'page', 'IS_RED' => in_array('add', $arPage) ? 'Y' : 'N');
     }
     if (self::IsWriteable() && ((!in_array('history', $arPage) || in_array('history_diff', $arPage)) && (!in_array('add', $arPage) && !in_array('edit', $arPage) && !in_array('delete', $arPage) && !in_array('rename', $arPage)))) {
         if (IsModuleInstalled('bizproc')) {
             $arLinks['history'] = array('NAME' => GetMessage('PAGE_HISTORY'), 'TITLE' => GetMessage('PAGE_HISTORY_TITLE'), 'CURRENT' => in_array('history', $arPage), 'LINK' => CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_HISTORY'], array('wiki_name' => $arParams['ELEMENT_NAME'], 'group_id' => CWikiSocnet::$iSocNetId)), $arParams['IN_COMPLEX'] == 'Y' && $arParams['SEF_MODE'] == 'N' ? array($arParams['OPER_VAR'] => 'history') : array()), 'ID' => 'history', 'TYPE' => 'page', 'IS_RED' => 'N');
         }
     }
     if ($arParams['USE_REVIEW'] == 'Y') {
         $arLinks['discussion'] = array('NAME' => GetMessage('PAGE_DISCUSSION'), 'TITLE' => GetMessage('PAGE_DISCUSSION_TITLE'), 'CURRENT' => in_array('discussion', $arPage), 'LINK' => CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_DISCUSSION'], array('wiki_name' => $arParams['ELEMENT_NAME'], 'group_id' => CWikiSocnet::$iSocNetId)), $arParams['IN_COMPLEX'] == 'Y' && $arParams['SEF_MODE'] == 'N' ? array($arParams['OPER_VAR'] => 'discussion') : array()), 'ID' => 'discussion', 'TYPE' => 'page', 'IS_RED' => 'N');
     }
     if (self::IsWriteable() && (!in_array('history', $arPage) && !in_array('history_diff', $arPage))) {
         $arLinks['add'] = array('NAME' => GetMessage('PAGE_ADD'), 'TITLE' => GetMessage('PAGE_ADD_TITLE'), 'CURRENT' => in_array('add', $arPage), 'LINK' => CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST_EDIT'], array('wiki_name' => GetMessage('WIKI_NEW_PAGE_TITLE'), 'group_id' => CWikiSocnet::$iSocNetId)), array($arParams['OPER_VAR'] => 'add')), 'ID' => 'add', 'TYPE' => 'edit', 'IS_RED' => in_array('add', $arPage) ? 'Y' : 'N');
         if (!in_array('add', $arPage)) {
             $arLinks['edit'] = array('NAME' => GetMessage('PAGE_EDIT'), 'TITLE' => GetMessage('PAGE_EDIT_TITLE'), 'CURRENT' => in_array('edit', $arPage), 'LINK' => CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST_EDIT'], array('wiki_name' => $arParams['ELEMENT_NAME'], 'group_id' => CWikiSocnet::$iSocNetId)), $arParams['IN_COMPLEX'] == 'Y' && $arParams['SEF_MODE'] == 'N' ? array($arParams['OPER_VAR'] => 'edit') : array()), 'ID' => 'edit', 'TYPE' => 'edit', 'IS_RED' => in_array('add', $arPage) ? 'Y' : 'N');
             $url = $APPLICATION->GetPopupLink(array('URL' => CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST_EDIT'], array('wiki_name' => urlencode($arParams['ELEMENT_NAME']), 'group_id' => CWikiSocnet::$iSocNetId)), array($arParams['OPER_VAR'] => 'rename')), 'PARAMS' => array('width' => 400, 'height' => 150, 'resizable' => false)));
             $arLinks['rename'] = array('NAME' => GetMessage('WIKI_PAGE_RENAME'), 'TITLE' => GetMessage('WIKI_PAGE_RENAME_TITLE'), 'CURRENT' => in_array('rename', $arPage), 'LINK' => 'javascript:' . $url, 'ID' => 'rename', 'TYPE' => 'page');
             if (self::IsDeleteable()) {
                 $url = $APPLICATION->GetPopupLink(array('URL' => CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST_EDIT'], array('wiki_name' => $arParams['ELEMENT_ID'], 'group_id' => CWikiSocnet::$iSocNetId)), array($arParams['OPER_VAR'] => 'delete')), 'PARAMS' => array('width' => 400, 'height' => 150, 'resizable' => false)));
                 $arLinks['delete'] = array('NAME' => GetMessage('PAGE_DELETE'), 'TITLE' => GetMessage('PAGE_DELETE_TITLE'), 'CURRENT' => in_array('delete', $arPage), 'LINK' => 'javascript:' . $url, 'ID' => 'delete', 'TYPE' => 'edit', 'IS_RED' => 'N');
             }
         }
         /**	$arLinks['access'] = array(
         				'NAME' => GetMessage('PAGE_ACCESS'),
         				'TITLE' => GetMessage('PAGE_ACCESS_TITLE'),
         				'CURRENT' => in_array('access', $arPage),
         				'LINK' => CHTTP::urlAddParams(
         					CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_POST_EDIT'],
         						array(
         							'wiki_name' => $arParams['ELEMENT_NAME'],
         							'group_id' => CWikiSocnet::$iSocNetId
         						)
         					),
         					array($arParams['OPER_VAR'] => 'access')
         				),
         				'ID' => 'access',
         				'TYPE' => 'edit',
         				'IS_RED' => 'N'
         			); **/
     }
     return $arLinks;
 }
Beispiel #23
0
 function DoInstall()
 {
     global $DB, $DOCUMENT_ROOT, $APPLICATION;
     if (!IsModuleInstalled("report")) {
         $this->InstallFiles();
         $this->InstallDB();
         $this->InstallEvents();
         $GLOBALS["errors"] = $this->errors;
         $APPLICATION->IncludeAdminFile(GetMessage("REPORT_INSTALL_TITLE"), $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/report/install/step1.php");
     }
 }
Beispiel #24
0
 function IsLinksInstalled()
 {
     //return false;
     static $bInstalled;
     if ($bInstalled === true) {
         return true;
     } elseif ($bInstalled === false) {
         return false;
     } else {
         $bInstalled = IsModuleInstalled("grain.links");
         return $bInstalled;
     }
 }
 function DoInstall()
 {
     if (!IsModuleInstalled("sale")) {
         global $APPLICATION;
         echo __DIR__;
         $APPLICATION->IncludeAdminFile(GetMessage("WEBFARROCK_IBLOCKPROP_LOCATION_INSTALL_TITLE"), __DIR__ . "/error.php");
         return false;
     } else {
         RegisterModuleDependences("iblock", "OnIBlockPropertyBuildList", $this->MODULE_ID, "WebFarrockIblockPropLocation", "GetUserTypeDescription");
         $this->InstallDB(false);
         $this->InstallFiles();
     }
 }
Beispiel #26
0
 public static function getDefaultTypeID()
 {
     if (self::$defaultTypeID === null) {
         if (IsModuleInstalled('disk') && \COption::GetOptionString('disk', 'successfully_converted', 'N') === 'Y') {
             self::$defaultTypeID = self::Disk;
         } elseif (IsModuleInstalled('webdav')) {
             self::$defaultTypeID = self::WebDav;
         } else {
             self::$defaultTypeID = self::File;
         }
     }
     return self::$defaultTypeID;
 }
Beispiel #27
0
 public static function getNewLicenseSignedKey()
 {
     $_1661897086 = "~new_license14_5_sign";
     if (IsModuleInstalled(___2114809146(33))) {
         if ($GLOBALS['____1606645557'][24]($_SERVER[___2114809146(34)] . ___2114809146(35)) && !IsModuleInstalled(___2114809146(36))) {
             $_1661897086 = ___2114809146(37);
         }
     } else {
         if ($GLOBALS['____1606645557'][25]($_SERVER[___2114809146(38)] . ___2114809146(39)) || $GLOBALS['____1606645557'][26]($_SERVER[___2114809146(40)] . ___2114809146(41))) {
             $_1661897086 = ___2114809146(42);
         }
     }
     return $_1661897086;
 }
Beispiel #28
0
 function DoInstall()
 {
     global $DOCUMENT_ROOT, $APPLICATION;
     if (IsModuleInstalled("xmpp")) {
         return false;
     }
     if (!check_bitrix_sessid()) {
         return false;
     }
     $this->InstallDB();
     $this->InstallEvents();
     $this->InstallFiles();
     $APPLICATION->IncludeAdminFile(GetMessage("XMPP_INSTALL_TITLE"), $DOCUMENT_ROOT . "/bitrix/modules/xmpp/install/step.php");
 }
Beispiel #29
0
 public static function getNewLicenseSignedKey()
 {
     $_587216376 = "~new_license14_5_sign";
     if (IsModuleInstalled(___1498308727(33))) {
         if ($GLOBALS['____467353288'][24]($_SERVER[___1498308727(34)] . ___1498308727(35)) && !IsModuleInstalled(___1498308727(36))) {
             $_587216376 = ___1498308727(37);
         }
     } else {
         if ($GLOBALS['____467353288'][25]($_SERVER[___1498308727(38)] . ___1498308727(39)) || $GLOBALS['____467353288'][26]($_SERVER[___1498308727(40)] . ___1498308727(41))) {
             $_587216376 = ___1498308727(42);
         }
     }
     return $_587216376;
 }
Beispiel #30
-1
	public static function installDiskUserFields()
	{
		global $APPLICATION;
		$errors = null;

		if(!IsModuleInstalled('disk'))
		{
			return;
		}

		$props = array(
			array(
				"ENTITY_ID" => "BLOG_POST",
				"FIELD_NAME" => "UF_BLOG_POST_FILE",
				"USER_TYPE_ID" => "disk_file"
			),
			array(
				"ENTITY_ID" => "BLOG_COMMENT",
				"FIELD_NAME" => "UF_BLOG_COMMENT_FILE",
				"USER_TYPE_ID" => "disk_file"
			),
			array(
				"ENTITY_ID" => "BLOG_COMMENT",
				"FIELD_NAME" => "UF_BLOG_COMMENT_FH",
				"USER_TYPE_ID" => "disk_version"
			),
		);
		$uf = new CUserTypeEntity;
		foreach ($props as $prop)
		{
			$rsData = CUserTypeEntity::getList(array("ID" => "ASC"), array("ENTITY_ID" => $prop["ENTITY_ID"], "FIELD_NAME" => $prop["FIELD_NAME"]));
			if (!($rsData && ($arRes = $rsData->Fetch())))
			{
				$intID = $uf->add(array(
					"ENTITY_ID" => $prop["ENTITY_ID"],
					"FIELD_NAME" => $prop["FIELD_NAME"],
					"XML_ID" => $prop["FIELD_NAME"],
					"USER_TYPE_ID" => $prop["USER_TYPE_ID"],
					"SORT" => 100,
					"MULTIPLE" => ($prop["USER_TYPE_ID"] == "disk_version" ? "N" : "Y"),
					"MANDATORY" => "N",
					"SHOW_FILTER" => "N",
					"SHOW_IN_LIST" => "N",
					"EDIT_IN_LIST" => "Y",
					"IS_SEARCHABLE" => "N"
				), false);

				if (false == $intID && ($strEx = $APPLICATION->getException()))
				{
					$errors[] = $strEx->getString();
				}
			}
		}

		return $errors;
	}