Ejemplo n.º 1
0
                        } elseif ($type == 'U') {
                            $arResult["PostToShow"]["FEED_DESTINATION"]['SELECTED'][$ar2] = 'users';
                            $arDestUser[] = $value;
                        } elseif ($type == 'SG') {
                            $arResult["PostToShow"]["FEED_DESTINATION"]['SELECTED'][$ar2] = 'sonetgroups';
                        } elseif ($type == 'DR' || $type == 'D') {
                            $arResult["PostToShow"]["FEED_DESTINATION"]['SELECTED'][$ar2] = 'department';
                        }
                    }
                }
            }
        }
    } else {
        $arResult["PostToShow"]["FEED_DESTINATION"]['SELECTED']['UA'] = 'groups';
    }
    // intranet structure
    $arStructure = CSocNetLogDestination::GetStucture();
    $arResult["PostToShow"]["FEED_DESTINATION"]['DEPARTMENT'] = $arStructure['department'];
    $arResult["PostToShow"]["FEED_DESTINATION"]['DEPARTMENT_RELATION'] = $arStructure['department_relation'];
    if (CModule::IncludeModule('extranet') && !CExtranet::IsIntranetUser()) {
        $arResult["PostToShow"]["FEED_DESTINATION"]['EXTRANET_USER'] = '******';
        $arResult["PostToShow"]["FEED_DESTINATION"]['USERS'] = CSocNetLogDestination::GetExtranetUser();
    } else {
        foreach ($arResult["PostToShow"]["FEED_DESTINATION"]['LAST']['USERS'] as $value) {
            $arDestUser[] = str_replace('U', '', $value);
        }
        $arResult["PostToShow"]["FEED_DESTINATION"]['EXTRANET_USER'] = '******';
        $arResult["PostToShow"]["FEED_DESTINATION"]['USERS'] = CSocNetLogDestination::GetUsers(array('id' => $arDestUser));
    }
}
$this->IncludeComponentTemplate();
Ejemplo n.º 2
0
            ?>
">
										<input type="text" value="" class="feed-add-destination-inp" id="sonet_group_create_popup_users_input_post_<?php 
            echo $selectorName;
            ?>
">
									</span>
									<a href="#" class="feed-add-destination-link" id="sonet_group_create_popup_users_tag_post_<?php 
            echo $selectorName;
            ?>
"><?php 
            echo GetMessage(IsModuleInstalled("intranet") ? "SONET_GCE_T_ADD_EMPLOYEE" : "SONET_GCE_T_ADD_USER");
            ?>
</a><?php 
            $arValue = $arResult["POST"]["USER_CODES"] ? $arResult["POST"]["USER_CODES"] : array();
            $arStructure = IsModuleInstalled('intranet') ? CSocNetLogDestination::GetStucture(array("LAZY_LOAD" => true, "DEPARTMENT_ID" => isset($arResult["siteDepartmentID"]) && intval($arResult["siteDepartmentID"]) > 0 ? intval($arResult["siteDepartmentID"]) : false)) : false;
            ?>
<script type="text/javascript">

										var department = <?php 
            echo $arStructure && !empty($arStructure['department']) ? CUtil::PhpToJSObject($arStructure['department']) : '{}';
            ?>
;
										var lastUsers = <?php 
            echo empty($arResult["DEST_USERS_LAST"]) ? '{}' : CUtil::PhpToJSObject($arResult["DEST_USERS_LAST"]);
            ?>
;

										<?php 
            if (!$arStructure || empty($arStructure['department_relation'])) {
                ?>
Ejemplo n.º 3
0
if (CModule::IncludeModule('extranet') && !CExtranet::IsIntranetUser()) {
    if (!empty($arResult["FEED_DESTINATION"]['LAST']['SONETGROUPS'])) {
        foreach ($arResult["FEED_DESTINATION"]['LAST']['SONETGROUPS'] as $val) {
            $arResult["FEED_DESTINATION"]['SELECTED'][$val] = "sonetgroups";
        }
    } else {
        foreach ($arResult["FEED_DESTINATION"]['SONETGROUPS'] as $k => $val) {
            $arResult["FEED_DESTINATION"]['SELECTED'][$k] = "sonetgroups";
        }
    }
} elseif ($bAllowToAll) {
    $arResult["FEED_DESTINATION"]['SELECTED']['UA'] = 'groups';
}
// intranet structure
$arStructure = CSocNetLogDestination::GetStucture(array("LAZY_LOAD" => true));
$arResult["FEED_DESTINATION"]['DEPARTMENT'] = $arStructure['department'];
$arResult["FEED_DESTINATION"]['DEPARTMENT_RELATION'] = $arStructure['department_relation'];
$arResult["FEED_DESTINATION"]['DEPARTMENT_RELATION_HEAD'] = $arStructure['department_relation_head'];
if (CModule::IncludeModule('extranet') && !CExtranet::IsIntranetUser()) {
    $arResult["FEED_DESTINATION"]['EXTRANET_USER'] = '******';
    $arResult["FEED_DESTINATION"]['USERS'] = CSocNetLogDestination::GetExtranetUser();
} else {
    $arResult["FEED_DESTINATION"]['EXTRANET_USER'] = '******';
    if (!empty($arResult["FEED_DESTINATION"]['LAST']['USERS'])) {
        foreach ($arResult["FEED_DESTINATION"]['LAST']['USERS'] as $value) {
            $arResult["dest_users"][] = str_replace('U', '', $value);
        }
        $arResult["FEED_DESTINATION"]['USERS'] = CSocNetLogDestination::GetUsers(array('id' => $arResult["dest_users"]));
    }
}
$arResult["FEED_DESTINATION"]["DENY_TOALL"] = !$bAllowToAll;
Ejemplo n.º 4
0
 } else {
     $arResult["GROUP_ID"] = $arParams["GROUP_ID"];
 }
 if ($arResult["ShowForm"] == "Input") {
     if (!array_key_exists("TAB", $arResult) || $arResult["TAB"] == "edit") {
         $arResult["Subjects"] = array();
         $dbSubjects = CSocNetGroupSubject::GetList(array("SORT" => "ASC", "NAME" => "ASC"), array("SITE_ID" => SITE_ID), false, false, array("ID", "NAME"));
         while ($arSubject = $dbSubjects->GetNext()) {
             $arResult["Subjects"][$arSubject["ID"]] = $arSubject["NAME"];
         }
         $arResult["InitiatePerms"] = array(SONET_ROLES_OWNER => GetMessage("SONET_GCE_IP_OWNER"), SONET_ROLES_MODERATOR => GetMessage("SONET_GCE_IP_MOD"), SONET_ROLES_USER => GetMessage("SONET_GCE_IP_USER"));
         $arResult["SpamPerms"] = array(SONET_ROLES_OWNER => GetMessage("SONET_GCE_IP_OWNER"), SONET_ROLES_MODERATOR => GetMessage("SONET_GCE_IP_MOD"), SONET_ROLES_USER => GetMessage("SONET_GCE_IP_USER"), SONET_ROLES_ALL => GetMessage("SONET_GCE_IP_ALL"));
     }
 }
 if (!array_key_exists("TAB", $arResult) || $arResult["TAB"] == "invite") {
     $arResult["DEST_USERS_LAST"] = CSocNetLogDestination::GetLastUser();
     if (is_array($arResult["DEST_USERS_LAST"]) && !empty($arResult["DEST_USERS_LAST"])) {
         $arLastUserID = array();
         foreach ($arResult["DEST_USERS_LAST"] as $user_code) {
             if (preg_match('/^U(\\d+)$/', $user_code, $match)) {
                 $arLastUserID[] = $match[1];
             }
         }
         $dbUsers = CUser::GetList($sort_by = array('last_name' => 'asc', 'IS_ONLINE' => 'desc'), $dummy = '', array("ID" => implode("|", $arLastUserID)), array("FIELDS" => array("ID", "LAST_NAME", "NAME", "SECOND_NAME", "LOGIN", "PERSONAL_PHOTO", "WORK_POSITION", "PERSONAL_PROFESSION"), "SELECT" => array("UF_DEPARTMENT")));
         $arResult["siteDepartmentID"] = COption::GetOptionString("main", "wizard_departament", false, SITE_ID, true);
         if (intval($arResult["siteDepartmentID"]) > 0) {
             $acc = new CAccess();
         }
         while ($arUser = $dbUsers->Fetch()) {
             if (is_object($acc)) {
                 $acc->UpdateCodes(array("USER_ID" => $arUser["ID"]));
Ejemplo n.º 5
0
 public static function addToManyEntities(array $data, array $entitiesToTask, ErrorCollection $errorCollection)
 {
     self::checkRequiredInputParams($data, array('FROM_ENTITY', 'CREATED_BY'));
     if (isset($data['REAL_OBJECT']) && $data['REAL_OBJECT'] instanceof BaseObject) {
         /** @noinspection PhpUndefinedMethodInspection */
         $data['REAL_OBJECT_ID'] = $data['REAL_OBJECT']->getId();
     } elseif (isset($data['REAL_OBJECT_ID'])) {
         $data['REAL_OBJECT'] = BaseObject::loadById($data['REAL_OBJECT_ID']);
     } else {
         $errorCollection->add(array(new Error(Loc::getMessage('DISK_SHARING_MODEL_ERROR_EMPTY_REAL_OBJECT'), self::ERROR_EMPTY_REAL_OBJECT)));
         return null;
     }
     /** @var \Bitrix\Disk\BaseObject $objectToSharing */
     $objectToSharing = $data['REAL_OBJECT'];
     //resolve to last real object. In table we write only real (not link) id.
     $objectToSharing = $objectToSharing->getRealObject();
     $data['REAL_OBJECT_ID'] = $objectToSharing->getId();
     $data['REAL_STORAGE_ID'] = $objectToSharing->getStorageId();
     $dataToInsert = $data;
     unset($dataToInsert['REAL_OBJECT']);
     //we don't have to connect object, which already exists in same storage
     $ownerUserId = null;
     if ($objectToSharing->getStorage()->getProxyType() instanceof ProxyType\User) {
         $ownerUserId = $objectToSharing->getStorage()->getEntityId();
     }
     $rightManager = Driver::getInstance()->getRightsManager();
     /** @var Sharing[] $successSharingByEntity */
     $successSharingByEntity = array();
     foreach ($entitiesToTask as $entity => $taskName) {
         list($type, ) = self::parseEntityValue($entity);
         if (!$type) {
             continue;
         }
         $dataToInsert['TO_ENTITY'] = $entity;
         $dataToInsert['TYPE'] = $type;
         $dataToInsert['TASK_NAME'] = $taskName;
         if ($type == SharingTable::TYPE_TO_DEPARTMENT) {
             $dataToInsert['STATUS'] = SharingTable::STATUS_IS_APPROVED;
         }
         $sharingModel = parent::add($dataToInsert, $errorCollection);
         if (!$sharingModel) {
             continue;
         }
         $successSharingByEntity[$entity] = $sharingModel->setAttributes(array('REAL_OBJECT' => $objectToSharing));
         if ($type == SharingTable::TYPE_TO_DEPARTMENT && Loader::includeModule('socialnetwork')) {
             unset($dataToInsert['STATUS']);
             //todo expand access code DR to list of users. And for each user of list create Sharing
             $dataToInsertChild = $dataToInsert;
             $dataToInsertChild['PARENT_ID'] = $sharingModel->getId();
             $dataToInsertChild['TYPE'] = SharingTable::TYPE_TO_USER;
             foreach (\CSocNetLogDestination::getDestinationUsers(array($entity)) as $userId) {
                 if ($ownerUserId == $userId) {
                     continue;
                 }
                 $dataToInsertChild['TO_ENTITY'] = self::CODE_USER . $userId;
                 $sharingModel = parent::add($dataToInsertChild, $errorCollection);
                 if (!$sharingModel) {
                     continue;
                 }
                 //above we can already added sharing to this entity (user) and we should not overwrite that. DR-sharing has lower priority than another.
                 if (!isset($successSharingByEntity[$dataToInsertChild['TO_ENTITY']])) {
                     $successSharingByEntity[$dataToInsertChild['TO_ENTITY']] = $sharingModel->setAttributes(array('REAL_OBJECT' => $objectToSharing));
                 }
             }
             unset($userId);
         } elseif ($type == SharingTable::TYPE_TO_GROUP) {
             //if sharing to socnet group, we should approve invite at once, because it's not personal invite.
             $sharingModel->approve();
         }
     }
     unset($entity, $dataToInsert);
     $forwardTaskId = !empty($data['CAN_FORWARD']) ? $rightManager->getTaskIdByName($rightManager::OP_SHARING) : null;
     $newRights = array();
     foreach ($successSharingByEntity as $entity => $sharingModel) {
         if ($sharingModel->isToDepartmentChild()) {
             continue;
         }
         $sharingDomain = $rightManager->getSharingDomain($sharingModel->getId());
         /** @var \Bitrix\Disk\Sharing $sharingModel */
         $newRights[] = array('ACCESS_CODE' => $entity, 'TASK_ID' => $rightManager->getTaskIdByName($sharingModel->getTaskName()), 'DOMAIN' => $sharingDomain);
         if ($forwardTaskId) {
             $newRights[] = array('ACCESS_CODE' => $entity, 'TASK_ID' => $forwardTaskId, 'DOMAIN' => $sharingDomain);
         }
     }
     unset($entity);
     $rightManager->append($objectToSharing, $newRights);
     self::processConnectAndNotify($successSharingByEntity, $objectToSharing);
     return $successSharingByEntity;
 }
Ejemplo n.º 6
0
 /**
  * Returns list users who have sharing on this object.
  * @return array
  * @throws \Bitrix\Main\ArgumentException
  * @throws \Bitrix\Main\LoaderException
  */
 public function getMembersOfSharing()
 {
     $sharings = $this->getRealObject()->getSharingsAsReal();
     $members = array();
     $membersToSharing = array();
     foreach ($sharings as $sharing) {
         if ($sharing->isToDepartmentChild()) {
             continue;
         }
         list($type, $id) = Sharing::parseEntityValue($sharing->getToEntity());
         $members[$type][] = $id;
         $membersToSharing[$type . '|' . $id] = $sharing;
     }
     unset($sharing);
     $enabledSocialnetwork = Loader::includeModule('socialnetwork');
     $entityList = array();
     foreach (SharingTable::getListOfTypeValues() as $type) {
         if (empty($members[$type])) {
             continue;
         }
         if ($type == SharingTable::TYPE_TO_USER) {
             $query = \Bitrix\Main\UserTable::getList(array('select' => array('ID', 'PERSONAL_PHOTO', 'NAME', 'LOGIN', 'LAST_NAME', 'SECOND_NAME'), 'filter' => array('ID' => array_values($members[$type]))));
             while ($userRow = $query->fetch()) {
                 /** @var Sharing $sharing */
                 $sharing = $membersToSharing[$type . '|' . $userRow['ID']];
                 $entityList[] = array('entityId' => Sharing::CODE_USER . $userRow['ID'], 'name' => \CUser::formatName('#NAME# #LAST_NAME#', array("NAME" => $userRow['NAME'], "LAST_NAME" => $userRow['LAST_NAME'], "SECOND_NAME" => $userRow['SECOND_NAME'], "LOGIN" => $userRow['LOGIN']), false), 'right' => $sharing->getTaskName(), 'avatar' => Avatar::getPerson($userRow['PERSONAL_PHOTO']), 'type' => 'users');
             }
         } elseif ($type == SharingTable::TYPE_TO_GROUP && $enabledSocialnetwork) {
             $query = \CSocNetGroup::getList(array(), array('ID' => array_values($members[$type])), false, false, array('ID', 'IMAGE_ID', 'NAME'));
             while ($query && ($groupRow = $query->fetch())) {
                 /** @var Sharing $sharing */
                 $sharing = $membersToSharing[$type . '|' . $groupRow['ID']];
                 $entityList[] = array('entityId' => Sharing::CODE_SOCNET_GROUP . $groupRow['ID'], 'name' => $groupRow['NAME'], 'right' => $sharing->getTaskName(), 'avatar' => Avatar::getGroup($groupRow['IMAGE_ID']), 'type' => 'groups');
             }
         } elseif ($type == SharingTable::TYPE_TO_DEPARTMENT && $enabledSocialnetwork) {
             // intranet structure
             $structure = \CSocNetLogDestination::getStucture();
             foreach (array_values($members[$type]) as $departmentId) {
                 if (empty($structure['department']['DR' . $departmentId])) {
                     continue;
                 }
                 /** @var Sharing $sharing */
                 $sharing = $membersToSharing[$type . '|' . $departmentId];
                 $entityList[] = array('entityId' => Sharing::CODE_DEPARTMENT . $departmentId, 'name' => $structure['department']['DR' . $departmentId]['name'], 'right' => $sharing->getTaskName(), 'avatar' => Avatar::getDefaultGroup(), 'type' => 'department');
             }
             unset($departmentId);
         }
     }
     unset($type);
     return $entityList;
 }
Ejemplo n.º 7
0
						'name'       => htmlspecialcharsbx($arDeal['TITLE']),
						'desc'       => htmlspecialcharsbx(implode(', ', $arDesc))
					);
				}

				$searchResults['CONTACTS'] = $arContacts;
				$searchResults['COMPANIES'] = $arCompanies;
				$searchResults['LEADS'] = $arLeads;
				$searchResults['DEALS'] = $arDeals;
			}

			echo CUtil::PhpToJsObject($searchResults);
		}
		elseif ($_POST['LD_DEPARTMENT_RELATION'] == 'Y')
		{			
			echo CUtil::PhpToJsObject(Array(
				'USERS' => CSocNetLogDestination::GetUsers(Array('deportament_id' => $_POST['DEPARTMENT_ID'], "NAME_TEMPLATE" => $nameTemplate)), 
			));
		}
		else
		{
			echo CUtil::PhpToJsObject(Array('ERROR' => 'UNKNOWN_ERROR'));
		}
	}
}
else
{
	echo CUtil::PhpToJsObject(Array('ERROR' => 'SESSION_ERROR'));
}
require($_SERVER["DOCUMENT_ROOT"]."/freetrix/modules/main/include/epilog_after.php");
?>
Ejemplo n.º 8
0
 public static function GetUsersAll($arParams)
 {
     global $DB, $USER;
     static $arFields = array("ID" => array("FIELD" => "U.ID", "TYPE" => "int"), "ACTIVE" => array("FIELD" => "U.ACTIVE", "TYPE" => "string"), "NAME" => array("FIELD" => "U.NAME", "TYPE" => "string"), "LAST_NAME" => array("FIELD" => "U.LAST_NAME", "TYPE" => "string"), "SECOND_NAME" => array("FIELD" => "U.SECOND_NAME", "TYPE" => "string"), "LOGIN" => array("FIELD" => "U.LOGIN", "TYPE" => "string"), "PERSONAL_PHOTO" => array("FIELD" => "U.PERSONAL_PHOTO", "TYPE" => "int"), "WORK_POSITION" => array("FIELD" => "U.WORK_POSITION", "TYPE" => "string"), "CONFIRM_CODE" => array("FIELD" => "U.CONFIRM_CODE", "TYPE" => "string"), "PERSONAL_PROFESSION" => array("FIELD" => "U.PERSONAL_PROFESSION", "TYPE" => "string"));
     $currentUserId = $USER->GetId();
     if (!$currentUserId) {
         return array();
     }
     $bExtranetEnabled = CModule::IncludeModule("extranet");
     $bExtranetUser = $bExtranetEnabled && !CExtranet::IsIntranetUser();
     $rsData = CUserTypeEntity::GetList(array("ID" => "ASC"), array("FIELD_NAME" => "UF_DEPARTMENT", "ENTITY_ID" => "USER"));
     if ($arRes = $rsData->Fetch()) {
         $UFId = intval($arRes["ID"]);
     } else {
         return array();
     }
     $arOrder = array("ID" => "ASC");
     $arFilter = array('ACTIVE' => 'Y');
     if (IsModuleInstalled("intranet") || COption::GetOptionString("main", "new_user_registration_email_confirmation", "N") == "Y") {
         $arFilter["CONFIRM_CODE"] = false;
     }
     $arGroupBy = false;
     $arSelectFields = array("ID", "NAME", "LAST_NAME", "SECOND_NAME", "LOGIN", "PERSONAL_PHOTO", "WORK_POSITION", "PERSONAL_PROFESSION");
     $arSqls = CSocNetGroup::PrepareSql($arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields);
     $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", "DISTINCT", $arSqls["SELECT"]);
     if (!$bExtranetUser) {
         $strJoin = "\n\t\t\t\tLEFT JOIN b_utm_user UM ON UM.VALUE_ID = U.ID and FIELD_ID = " . intval($UFId) . "\n\t\t\t\tLEFT JOIN b_sonet_user2group UG ON UG.USER_ID = U.ID\n\t\t\t\tLEFT JOIN b_sonet_user2group UG_MY ON UG_MY.GROUP_ID = UG.GROUP_ID AND UG_MY.USER_ID = " . intval($currentUserId) . "\n\t\t\t";
         $arSqls["WHERE"] .= (strlen($arSqls["WHERE"]) > 0 ? " AND " : "") . "\n\t\t\t\t(\n\t\t\t\t\tUM.VALUE_ID > 0\n\t\t\t\t\tOR UG_MY.ID IS NOT NULL\n\t\t\t\t)";
     } else {
         $strJoin = "\n\t\t\t\tINNER JOIN b_sonet_user2group UG ON UG.USER_ID = U.ID\n\t\t\t\tINNER JOIN b_sonet_user2group UG_MY ON UG_MY.GROUP_ID = UG.GROUP_ID AND UG_MY.USER_ID = " . intval($currentUserId) . "\n\t\t\t";
     }
     $strSql = "SELECT\n\t\t\t\t" . $arSqls["SELECT"] . "\n\t\t\tFROM b_user U\n\t\t\t\t" . $arSqls["FROM"] . " ";
     $strSql .= $strJoin . " ";
     if (strlen($arSqls["WHERE"]) > 0) {
         $strSql .= "WHERE " . $arSqls["WHERE"] . " ";
     }
     if (strlen($arSqls["ORDERBY"]) > 0) {
         $strSql .= "ORDER BY " . $arSqls["ORDERBY"] . " ";
     }
     //echo "!1!=".htmlspecialcharsbx($strSql)."<br>";
     $dbRes = $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
     $maxCount = IsModuleInstalled('bitrix24') ? 200 : 500;
     $resultCount = 0;
     if ($bExtranetEnabled) {
         CSocNetTools::InitGlobalExtranetArrays();
     }
     while ($arUser = $dbRes->GetNext()) {
         if ($resultCount > $maxCount) {
             $countExceeded = true;
             break;
         }
         $sName = trim(CUser::FormatName(empty($arParams["NAME_TEMPLATE"]) ? CSite::GetNameFormat(false) : $arParams["NAME_TEMPLATE"], $arUser, true, false));
         if (empty($sName)) {
             $sName = $arUser["~LOGIN"];
         }
         $arFileTmp = CFile::ResizeImageGet($arUser["PERSONAL_PHOTO"], array('width' => 32, 'height' => 32), BX_RESIZE_IMAGE_EXACT, false);
         $arUsers['U' . $arUser["ID"]] = array('id' => 'U' . $arUser["ID"], 'entityId' => $arUser["ID"], 'name' => $sName, 'avatar' => empty($arFileTmp['src']) ? '' : $arFileTmp['src'], 'desc' => $arUser['WORK_POSITION'] ? $arUser['WORK_POSITION'] : ($arUser['PERSONAL_PROFESSION'] ? $arUser['PERSONAL_PROFESSION'] : '&nbsp;'), 'isExtranet' => isset($GLOBALS["arExtranetUserID"]) && is_array($GLOBALS["arExtranetUserID"]) && in_array($arUser["ID"], $GLOBALS["arExtranetUserID"]) ? "Y" : "N");
         $arUsers['U' . $arUser["ID"]]['checksum'] = md5(serialize($arUsers['U' . $arUser["ID"]]));
         $resultCount++;
     }
     if ($countExceeded) {
         return CSocNetLogDestination::GetUsers(array("id" => array($currentUserId)), true);
     }
     return $arUsers;
 }
Ejemplo n.º 9
0
            $arLeads = array();
            while ($dbLeads && ($arLead = $dbLeads->fetch())) {
                $arLeads['CRMLEAD' . $arLead['ID']] = array('id' => 'CRMLEAD' . $arLead['ID'], 'entityId' => $arLead['ID'], 'entityType' => 'leads', 'name' => htmlspecialcharsbx($arLead['TITLE']), 'desc' => htmlspecialcharsbx(CUser::FormatName($siteNameFormat, array('LOGIN' => '', 'NAME' => $arLead['NAME'], 'SECOND_NAME' => $arLead['SECOND_NAME'], 'LAST_NAME' => $arLead['LAST_NAME']), false, false)));
            }
            $dbDeals = CCrmDeal::GetListEx($arOrder = array(), $arFilter = array('%TITLE' => $search), $arGroupBy = false, $arNavStartParams = array('nTopCount' => 20), $arSelectFields = array('ID', 'TITLE', 'COMPANY_TITLE', 'CONTACT_NAME', 'CONTACT_SECOND_NAME', 'CONTACT_LAST_NAME'));
            $arDeals = array();
            while ($dbDeals && ($arDeal = $dbDeals->fetch())) {
                $arDesc = array();
                if ($arDeal['COMPANY_TITLE'] != '') {
                    $arDesc[] = $arDeal['COMPANY_TITLE'];
                }
                $arDesc[] = CUser::FormatName($siteNameFormat, array('LOGIN' => '', 'NAME' => $arDeal['CONTACT_NAME'], 'SECOND_NAME' => $arDeal['CONTACT_SECOND_NAME'], 'LAST_NAME' => $arDeal['CONTACT_LAST_NAME']), false, false);
                $arDeals['CRMDEAL' . $arDeal['ID']] = array('id' => 'CRMDEAL' . $arDeal['ID'], 'entityId' => $arDeal['ID'], 'entityType' => 'deals', 'name' => htmlspecialcharsbx($arDeal['TITLE']), 'desc' => htmlspecialcharsbx(implode(', ', $arDesc)));
            }
            $searchResults['CONTACTS'] = $arContacts;
            $searchResults['COMPANIES'] = $arCompanies;
            $searchResults['LEADS'] = $arLeads;
            $searchResults['DEALS'] = $arDeals;
        }
        echo CUtil::PhpToJsObject($searchResults);
    } elseif ($_POST['LD_DEPARTMENT_RELATION'] == 'Y') {
        echo CUtil::PhpToJsObject(array('USERS' => CSocNetLogDestination::GetUsers(array('deportament_id' => $_POST['DEPARTMENT_ID'], "NAME_TEMPLATE" => $nameTemplate))));
    } elseif ($_POST['LD_ALL'] == 'Y') {
        echo CUtil::PhpToJsObject(array('USERS' => CSocNetLogDestination::GetUsers(array('all' => 'Y', "NAME_TEMPLATE" => $nameTemplate))));
    } else {
        echo CUtil::PhpToJsObject(array('ERROR' => 'UNKNOWN_ERROR'));
    }
} else {
    echo CUtil::PhpToJsObject(array('ERROR' => 'SESSION_ERROR'));
}
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_after.php";
Ejemplo n.º 10
0
                $arResult['FEED_DESTINATION']['HIDDEN_GROUPS'][$group_code]['NAME'] = GetMessage('CRM_SL_EVENT_EDIT_HIDDEN_GROUP');
            }
        }
    }
}
// intranet structure
$arStructure = CSocNetLogDestination::GetStucture(array('LAZY_LOAD' => true));
$arResult['FEED_DESTINATION']['DEPARTMENT'] = $arStructure['department'];
$arResult['FEED_DESTINATION']['DEPARTMENT_RELATION'] = $arStructure['department_relation'];
$arResult['FEED_DESTINATION']['DEPARTMENT_RELATION_HEAD'] = $arStructure['department_relation_head'];
//$arResult['FEED_DESTINATION']['LAST']['DEPARTMENT'] = CSocNetLogDestination::GetLastDepartment();
// users
//$arResult['FEED_DESTINATION']['LAST']['USERS'] = CSocNetLogDestination::GetLastUser();
if (CModule::IncludeModule('extranet') && !CExtranet::IsIntranetUser()) {
    $arResult['FEED_DESTINATION']['EXTRANET_USER'] = '******';
    $arResult['FEED_DESTINATION']['USERS'] = CSocNetLogDestination::GetExtranetUser();
} else {
    //	$destUsers = array();
    //	foreach($arResult['FEED_DESTINATION']['LAST']['USERS'] as $value)
    //		$destUsers[] = str_replace('U', '', $value);
    //
    $arResult['FEED_DESTINATION']['EXTRANET_USER'] = '******';
    //	$arResult['FEED_DESTINATION']['USERS'] = CSocNetLogDestination::GetUsers(array('id' => $destUsers));
}
$crmLogDestination = CUserOptions::GetOption('crm', 'log_destination');
$crmLogDestinationItems = isset($crmLogDestination['items']) ? explode(',', $crmLogDestination['items']) : false;
if (!empty($crmLogDestinationItems)) {
    $lastContactIds = array();
    $lastCompanyIds = array();
    $lastLeadIds = array();
    $lastDealIds = array();
Ejemplo n.º 11
0
        }
        $obCache->EndDataCache(array("SONET_GROUPS" => $arSonetGroups, "SONET_GROUPS_EXTRANET" => $arSonetGroupsExtranet));
    }
    if (is_array($arSonetGroupsExtranet) && !empty($arSonetGroupsExtranet)) {
        $arExtranetGroupID = array();
        foreach ($arSonetGroupsExtranet as $arSonetGroupTmp) {
            if (is_array($arSonetGroupTmp) && array_key_exists("entityId", $arSonetGroupTmp) && intval($arSonetGroupTmp["entityId"]) > 0) {
                $arExtranetGroupID[] = intval($arSonetGroupTmp["entityId"]);
            }
        }
    }
    if (method_exists('CSocNetLogDestination', 'GetDestinationSort')) {
        $arSonetGroupsLast = array("DEST_SORT" => CSocNetLogDestination::GetDestinationSort(array("DEST_CONTEXT" => "USER_INVITE", "CODE_TYPE" => 'SG')), "LAST" => array());
        CSocNetLogDestination::fillLastDestination($arSonetGroupsLast["DEST_SORT"], $arSonetGroupsLast["LAST"]);
    } else {
        $arSonetGroupsLast = array("LAST" => array('SONETGROUPS' => CSocNetLogDestination::GetLastSocnetGroup()));
    }
    $APPLICATION->IncludeComponent("bitrix:intranet.user.selector.new", ".default", array("MULTIPLE" => "N", "NAME" => "INVITE_DEPARTMENT", "VALUE" => 0, "POPUP" => "Y", "INPUT_NAME" => "UF_DEPARTMENT", "ON_SECTION_SELECT" => "onInviteDialogSectionsSelect", "SITE_ID" => $SITE_ID, "SHOW_STRUCTURE_ONLY" => "Y", "SHOW_EXTRANET_USERS" => "NONE"), null, array("HIDE_ICONS" => "Y"));
    ?>
	<div class="intranet-tabs-box" id="intranet-dialog-tabs"><?php 
    ?>
<div class="webform-round-corners webform-error-block" id="invite-dialog-error-block" style="display: none;">
			<div class="webform-corners-top"><div class="webform-left-corner"></div><div class="webform-right-corner"></div></div>
			<div class="webform-content" id="invite-dialog-error-content"><?php 
    echo $strError;
    ?>
</div>
			<div class="webform-corners-bottom"><div class="webform-left-corner"></div><div class="webform-right-corner"></div></div>
		</div><?php 
    ?>
<div class="intranet-tabs">
Ejemplo n.º 12
0
    $tableTitle = GetMessage("MD_EMPLOYEES_TITLE");
    $tableData = AddTableData($tableData, $data, $tableTitle, $tableType);
}
if (in_array($action, array("get_group_list", "get_usergroup_list"))) {
    $cache_id = "mobileAction|get_groups|" . $GLOBALS["USER"]->GetID() . "|" . $detailurl;
    if ($cache->InitCache($cache_time, $cache_id, $cache_path)) {
        $cachedData = $cache->GetVars();
        $data = $cachedData["DATA"];
        $tableType = $cachedData["TYPE"];
    } else {
        if (CModule::IncludeModule("socialnetwork")) {
            $GLOBALS["CACHE_MANAGER"]->StartTagCache($cache_path);
            $GLOBALS["CACHE_MANAGER"]->RegisterTag("sonet_user2group_U" . $GLOBALS["USER"]->GetID());
            $GLOBALS["CACHE_MANAGER"]->RegisterTag("sonet_group");
            $data = array();
            $arSonetGroups = CSocNetLogDestination::GetSocnetGroup(array("features" => array("blog", array("premoderate_post", "moderate_post", "write_post", "full_post")), "THUMBNAIL_SIZE_WIDTH" => 64, "THUMBNAIL_SIZE_HEIGHT" => 64));
            foreach ($arSonetGroups as $arSocnetGroup) {
                $tmpData = array("NAME" => htmlspecialcharsback($arSocnetGroup["name"]), "ID" => $arSocnetGroup["entityId"], "IMAGE" => $arSocnetGroup["avatar"], "bubble_background_color" => "#FFD5D5", "bubble_text_color" => "#B54827");
                if (ToUpper(SITE_CHARSET) != "UTF-8") {
                    $tmpData = $APPLICATION->ConvertCharsetArray($tmpData, SITE_CHARSET, "utf-8");
                }
                $data[] = $tmpData;
            }
            $GLOBALS["CACHE_MANAGER"]->EndTagCache();
            $tableType = "b_groups";
            if ($cache->StartDataCache()) {
                $cache->EndDataCache(array("DATA" => $data, "TYPE" => $tableType));
            }
        }
    }
    $tableTitle = GetMessage("MD_GROUPS_TITLE");
Ejemplo n.º 13
0
}
if (in_array("MentionUser", $arParams["BUTTONS"])) {
    if (CModule::IncludeModule("socialnetwork") && method_exists('CSocNetLogDestination', 'GetDestinationSort')) {
        $arResult["MENTION_DEST_SORT"] = CSocNetLogDestination::GetDestinationSort(array("DEST_CONTEXT" => "MENTION"));
    } else {
        $arResult["MENTION_DEST_SORT"] = array();
    }
    $arParams["DESTINATION"]['LAST']['MENTION_USERS'] = array();
    $arDestUser = array();
    foreach ($arResult["MENTION_DEST_SORT"] as $code => $sortInfo) {
        if (preg_match('/^U(\\d+)$/i', $code, $matches)) {
            $arParams["DESTINATION"]['LAST']['MENTION_USERS'][$code] = $code;
            $arDestUser[] = str_replace('U', '', $code);
        }
    }
    $arParams["DESTINATION"]['MENTION_USERS'] = CModule::IncludeModule('extranet') && !CExtranet::IsIntranetUser() ? $arParams["DESTINATION"]['USERS'] : (!empty($arDestUser) ? CSocNetLogDestination::GetUsers(array('id' => $arDestUser)) : array());
}
$arParams["TAGS"] = is_array($arParams["TAGS"]) ? $arParams["TAGS"] : array();
if (!empty($arParams["TAGS"])) {
    $arParams["TAGS"]["VALUE"] = is_array($arParams["TAGS"]["VALUE"]) ? $arParams["TAGS"]["VALUE"] : array();
}
$arResult["SMILES"] = array("VALUE" => array(), "SETS" => array());
if (array_key_exists("SMILES", $arParams)) {
    if (!in_array("SmileList", $arParams["PARSER"])) {
        $arParams["PARSER"][] = "SmileList";
    }
    if (is_array($arParams["SMILES"]) && array_key_exists("VALUE", $arParams["SMILES"])) {
        $arResult["SMILES"] = $arParams["SMILES"];
    } else {
        if (!is_array($arParams["SMILES"]) && ($res = CSmileGallery::getSmilesWithSets($arParams["SMILES"]))) {
            $arResult["SMILES"] = array("VALUE" => array(), "SETS" => array());
Ejemplo n.º 14
0
$arParams["DESTINATION_SHOW"] = array_key_exists("SHOW", $arParams["DESTINATION"]) ? $arParams["DESTINATION"]["SHOW"] : $arParams["DESTINATION_SHOW"];
$arParams["DESTINATION_SHOW"] = $arParams["DESTINATION_SHOW"] == "Y" ? "Y" : "N";
$arParams["DESTINATION"] = array_key_exists("VALUE", $arParams["DESTINATION"]) ? $arParams["DESTINATION"]["VALUE"] : $arParams["DESTINATION"];
if (empty($arParams["DESTINATION"]) && in_array("MentionUser", $arParams["BUTTONS"]) && CModule::IncludeModule("socialnetwork")) {
    $arStructure = CSocNetLogDestination::GetStucture(array("LAZY_LOAD" => true));
    $arParams["DESTINATION"] = array("LAST" => array("USERS" => CSocNetLogDestination::GetLastUser()), "DEPARTMENT" => $arStructure['department'], "DEPARTMENT_RELATION" => $arStructure['department_relation']);
    if (CModule::IncludeModule('extranet') && !CExtranet::IsIntranetUser()) {
        $arParams["DESTINATION"]['EXTRANET_USER'] = '******';
        $arParams["DESTINATION"]['USERS'] = CSocNetLogDestination::GetExtranetUser();
    } else {
        $arDestUser = array();
        foreach ($arParams["DESTINATION"]['LAST']['USERS'] as $value) {
            $arDestUser[] = str_replace('U', '', $value);
        }
        $arParams["DESTINATION"]['EXTRANET_USER'] = '******';
        $arParams["DESTINATION"]['USERS'] = CSocNetLogDestination::GetUsers(array('id' => $arDestUser));
    }
}
$arParams["TAGS"] = is_array($arParams["TAGS"]) ? $arParams["TAGS"] : array();
if (!empty($arParams["TAGS"])) {
    $arParams["TAGS"]["VALUE"] = is_array($arParams["TAGS"]["VALUE"]) ? $arParams["TAGS"]["VALUE"] : array();
}
$arParams["SMILES_COUNT"] = intVal($arParams["SMILES_COUNT"]);
$arParams["SMILES"] = is_array($arParams["SMILES"]) ? $arParams["SMILES"] : array();
if (!empty($arParams["SMILES"]) && !in_array("SmileList", $arParams["PARSER"])) {
    $arParams["PARSER"][] = "SmileList";
}
$arParams["CUSTOM_TEXT"] = is_array($arParams["CUSTOM_TEXT"]) ? $arParams["CUSTOM_TEXT"] : array();
$arParams["CUSTOM_TEXT_HASH"] = !empty($arParams["CUSTOM_TEXT"]) ? md5(implode("", $arParams["CUSTOM_TEXT"])) : "";
$arParams["IMAGE_THUMB"] = array("WIDTH" => 90, "HEIGHT" => 90);
$arParams["IMAGE"] = array("WIDTH" => 90, "HEIGHT" => 90);
Ejemplo n.º 15
0
    }
}
if ($GLOBALS["USER"]->IsAuthorized() && $arParams["USE_FOLLOW"] == "Y") {
    $rsFollow = CSocNetLogFollow::GetList(array("USER_ID" => $GLOBALS["USER"]->GetID(), "CODE" => "**"), array("TYPE"));
    if ($arFollow = $rsFollow->Fetch()) {
        $arResult["FOLLOW_DEFAULT"] = $arFollow["TYPE"];
    } else {
        $arResult["FOLLOW_DEFAULT"] = COption::GetOptionString("socialnetwork", "follow_default_type", "Y");
    }
}
$bAllowToAll = COption::GetOptionString("socialnetwork", "allow_livefeed_toall", "Y") == "Y";
if ($bAllowToAll) {
    $arToAllRights = unserialize(COption::GetOptionString("socialnetwork", "livefeed_toall_rights", 'a:1:{i:0;s:2:"AU";}'));
    if (!$arToAllRights) {
        $arToAllRights = array("AU");
    }
    $arUserGroupCode = array_merge(array("AU"), CAccess::GetUserCodesArray($GLOBALS["USER"]->GetID()));
    if (count(array_intersect($arToAllRights, $arUserGroupCode)) <= 0) {
        $bAllowToAll = false;
    }
}
$arResult["bExtranetSite"] = CModule::IncludeModule("extranet") && CExtranet::IsExtranetSite();
$arResult["bDenyToAll"] = $arResult["bExtranetSite"] || !$bAllowToAll;
$arResult["bDefaultToAll"] = $bAllowToAll ? COption::GetOptionString("socialnetwork", "default_livefeed_toall", "Y") == "Y" : false;
if ($arResult["bExtranetSite"]) {
    $arResult["arAvailableGroup"] = CSocNetLogDestination::GetSocnetGroup(array('features' => array("blog", array("premoderate_post", "moderate_post", "write_post", "full_post"))));
}
$arResult["bDiskInstalled"] = \Bitrix\Main\Config\Option::get('disk', 'successfully_converted', false) && IsModuleInstalled('disk');
$arResult["bWebDavInstalled"] = IsModuleInstalled('webdav');
$arResult["postFormUFCode"] = $arResult["bDiskInstalled"] || IsModuleInstalled('webdav') ? "UF_BLOG_POST_FILE" : "UF_BLOG_POST_DOC";
$this->IncludeComponentTemplate();
Ejemplo n.º 16
0
 protected function processActionDetailUserShare()
 {
     $this->arResult = $this->dispatcher->processActionDetailUserShare($this->arParams);
     if (\Bitrix\Main\Loader::includeModule('socialnetwork')) {
         // socialnetwork
         $this->arResult["FEED_DESTINATION"] = array('LAST' => array());
         $this->arResult["FEED_DESTINATION"]['LAST']['SONETGROUPS'] = array();
         $this->arResult["FEED_DESTINATION"]['SONETGROUPS'] = array();
         $this->arResult["FEED_DESTINATION"]['SELECTED'] = array();
         // intranet structure
         $arStructure = CSocNetLogDestination::GetStucture(array("LAZY_LOAD" => true));
         $this->arResult["FEED_DESTINATION"]['DEPARTMENT'] = $arStructure['department'];
         $this->arResult["FEED_DESTINATION"]['DEPARTMENT_RELATION'] = $arStructure['department_relation'];
         $this->arResult["FEED_DESTINATION"]['DEPARTMENT_RELATION_HEAD'] = $arStructure['department_relation_head'];
         $this->arResult["FEED_DESTINATION"]['LAST']['DEPARTMENT'] = CSocNetLogDestination::GetLastDepartment();
         // users
         $this->arResult["FEED_DESTINATION"]['LAST']['USERS'] = CSocNetLogDestination::GetLastUser();
         foreach ($this->arResult["FEED_DESTINATION"]['LAST']['USERS'] as $value) {
             $this->arResult["dest_users"][] = str_replace('U', '', $value);
         }
         $this->arResult["FEED_DESTINATION"]['EXTRANET_USER'] = '******';
         $this->arResult["FEED_DESTINATION"]['USERS'] = CSocNetLogDestination::GetUsers(array('id' => $this->arResult["dest_users"]));
         $this->arResult["FEED_DESTINATION"]["DENY_TOALL"] = true;
     }
     $this->includeComponentTemplate('ajax_user');
 }
Ejemplo n.º 17
0
<?php

require $_SERVER["DOCUMENT_ROOT"] . "/mobile/headers.php";
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php";
if (IsModuleInstalled("bitrix24")) {
    GetGlobalID();
}
$arPostProperty = array("UF_BLOG_POST_DOC");
if (IsModuleInstalled("webdav")) {
    $arPostProperty[] = "UF_BLOG_POST_FILE";
}
if (CModule::IncludeModule("extranet") && CExtranet::IsExtranetSite() && CModule::IncludeModule("socialnetwork")) {
    $arSonetGroups = CSocNetLogDestination::GetSocnetGroup(array('features' => array("blog", array("premoderate_post", "moderate_post", "write_post", "full_post"))));
    if (count($arSonetGroups) == 1) {
        foreach ($arSonetGroups as $key => $arGroupTmp) {
            $group_id = intval($arGroupTmp['entityId']);
        }
    }
}
if (!$group_id) {
    $group_id = intval($_REQUEST["group_id"]);
}
$group_id = intval($group_id);
$APPLICATION->IncludeComponent("bitrix:main.post.form", "mobile", array("FORM_ACTION_URL" => SITE_DIR . "mobile/log/" . ($group_id > 0 ? "?group_id=" . $group_id : ""), "SOCNET_GROUP_ID" => $group_id, "POST_PROPERTY" => $arPostProperty, "FORM_ID" => "blogPostForm", "FORM_TARGET" => "_self", "IS_EXTRANET" => "Y"), false, array("HIDE_ICONS" => "Y"));
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/footer.php";
Ejemplo n.º 18
0
 public static function GetSocNetDestination($user_id = false, $selected = array())
 {
     global $CACHE_MANAGER;
     if (!is_array($selected)) {
         $selected = array();
     }
     $DESTINATION = array('LAST' => array('SONETGROUPS' => CSocNetLogDestination::GetLastSocnetGroup()));
     if (!$user_id) {
         $user_id = CCalendar::GetCurUserId();
     }
     $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/' . SITE_ID . '/' . $user_id;
     $obCache = new CPHPCache();
     if ($obCache->InitCache($cacheTtl, $cacheId, $cacheDir)) {
         $DESTINATION['SONETGROUPS'] = $obCache->GetVars();
     } else {
         $obCache->StartDataCache();
         $DESTINATION['SONETGROUPS'] = CSocNetLogDestination::GetSocnetGroup(array('features' => array("blog", array("premoderate_post", "moderate_post", "write_post", "full_post"))));
         if (defined("BX_COMP_MANAGED_CACHE")) {
             $CACHE_MANAGER->StartTagCache($cacheDir);
             foreach ($DESTINATION['SONETGROUPS'] as $val) {
                 $CACHE_MANAGER->RegisterTag("sonet_features_G_" . $val["entityId"]);
                 $CACHE_MANAGER->RegisterTag("sonet_group_" . $val["entityId"]);
             }
             $CACHE_MANAGER->RegisterTag("sonet_user2group_U" . $user_id);
             $CACHE_MANAGER->EndTagCache();
         }
         $obCache->EndDataCache($DESTINATION['SONETGROUPS']);
     }
     $arDestUser = array();
     $DESTINATION['SELECTED'] = array();
     foreach ($selected as $ind => $code) {
         if (substr($code, 0, 2) == 'DR') {
             $DESTINATION['SELECTED'][$code] = "department";
         } elseif (substr($code, 0, 2) == 'UA') {
             $DESTINATION['SELECTED'][$code] = "groups";
         } elseif (substr($code, 0, 2) == 'SG') {
             $DESTINATION['SELECTED'][$code] = "sonetgroups";
         } elseif (substr($code, 0, 1) == 'U') {
             $DESTINATION['SELECTED'][$code] = "users";
             $arDestUser[] = str_replace('U', '', $code);
         }
     }
     // intranet structure
     $arStructure = CSocNetLogDestination::GetStucture();
     //$arStructure = CSocNetLogDestination::GetStucture(array("LAZY_LOAD" => true));
     $DESTINATION['DEPARTMENT'] = $arStructure['department'];
     $DESTINATION['DEPARTMENT_RELATION'] = $arStructure['department_relation'];
     $DESTINATION['DEPARTMENT_RELATION_HEAD'] = $arStructure['department_relation_head'];
     $DESTINATION['LAST']['DEPARTMENT'] = CSocNetLogDestination::GetLastDepartment();
     // users
     $DESTINATION['LAST']['USERS'] = CSocNetLogDestination::GetLastUser();
     if (CModule::IncludeModule('extranet') && !CExtranet::IsIntranetUser()) {
         $DESTINATION['EXTRANET_USER'] = '******';
         $DESTINATION['USERS'] = CSocNetLogDestination::GetExtranetUser();
     } else {
         foreach ($DESTINATION['LAST']['USERS'] as $value) {
             $arDestUser[] = str_replace('U', '', $value);
         }
         $DESTINATION['EXTRANET_USER'] = '******';
         $DESTINATION['USERS'] = CSocNetLogDestination::GetUsers(array('id' => $arDestUser));
     }
     $users = array();
     foreach ($DESTINATION['USERS'] as $key => $entry) {
         if ($entry['isExtranet'] == 'N') {
             $users[$key] = $entry;
         }
     }
     $DESTINATION['USERS'] = $users;
     return $DESTINATION;
 }
Ejemplo n.º 19
0
 }
 if ($arResult["ShowForm"] == "Input") {
     if (!array_key_exists("TAB", $arResult) || $arResult["TAB"] == "edit") {
         $arResult["Subjects"] = array();
         $dbSubjects = CSocNetGroupSubject::GetList(array("SORT" => "ASC", "NAME" => "ASC"), array("SITE_ID" => SITE_ID), false, false, array("ID", "NAME"));
         while ($arSubject = $dbSubjects->GetNext()) {
             $arResult["Subjects"][$arSubject["ID"]] = $arSubject["NAME"];
         }
         $arResult["InitiatePerms"] = array(SONET_ROLES_OWNER => GetMessage("SONET_GCE_IP_OWNER"), SONET_ROLES_MODERATOR => GetMessage("SONET_GCE_IP_MOD"), SONET_ROLES_USER => GetMessage("SONET_GCE_IP_USER"));
         $arResult["SpamPerms"] = array(SONET_ROLES_OWNER => GetMessage("SONET_GCE_IP_OWNER"), SONET_ROLES_MODERATOR => GetMessage("SONET_GCE_IP_MOD"), SONET_ROLES_USER => GetMessage("SONET_GCE_IP_USER"), SONET_ROLES_ALL => GetMessage("SONET_GCE_IP_ALL"));
     }
 }
 if (!array_key_exists("TAB", $arResult) || $arResult["TAB"] == "invite") {
     $arResult["DEST_SORT"] = CSocNetLogDestination::GetDestinationSort(array("DEST_CONTEXT" => "GROUP_INVITE", "CODE_TYPE" => 'U'));
     $arResult["DEST_USERS_LAST"] = array();
     CSocNetLogDestination::fillLastDestination($arResult["DEST_SORT"], $arResult["DEST_USERS_LAST"]);
     if (isset($arResult["DEST_USERS_LAST"]['USERS'])) {
         $arResult["DEST_USERS_LAST"] = $arResult["DEST_USERS_LAST"]['USERS'];
     }
     if (is_array($arResult["DEST_USERS_LAST"]) && !empty($arResult["DEST_USERS_LAST"])) {
         $arLastUserID = array();
         foreach ($arResult["DEST_USERS_LAST"] as $user_code) {
             if (preg_match('/^U(\\d+)$/', $user_code, $match)) {
                 $arLastUserID[] = $match[1];
             }
         }
         $dbUsers = CUser::GetList($sort_by = array('last_name' => 'asc', 'IS_ONLINE' => 'desc'), $dummy = '', array("ID" => implode("|", $arLastUserID)), array("FIELDS" => array("ID", "LAST_NAME", "NAME", "SECOND_NAME", "LOGIN", "PERSONAL_PHOTO", "WORK_POSITION", "PERSONAL_PROFESSION"), "SELECT" => array("UF_DEPARTMENT")));
         $arResult["siteDepartmentID"] = COption::GetOptionString("main", "wizard_departament", false, SITE_ID, true);
         while ($arUser = $dbUsers->Fetch()) {
             if (intval($arResult["siteDepartmentID"]) > 0) {
                 $arUserGroupCode = CAccess::GetUserCodesArray($arUser["ID"]);
Ejemplo n.º 20
0
}
if (check_bitrix_sessid()) {
    if (CModule::IncludeModule('extranet') && !CExtranet::IsIntranetUser()) {
        echo CUtil::PhpToJsObject(array('ERROR' => 'EXTRANET_USER'));
    } else {
        if (isset($_POST["nt"])) {
            preg_match_all("/(#NAME#)|(#LAST_NAME#)|(#SECOND_NAME#)|(#NAME_SHORT#)|(#SECOND_NAME_SHORT#)|\\s|\\,/", urldecode($_REQUEST["nt"]), $matches);
            $nameTemplate = implode("", $matches[0]);
        } else {
            $nameTemplate = CSite::GetNameFormat(false);
        }
        if ($_POST['LD_SEARCH'] == 'Y') {
            CUtil::decodeURIComponent($_POST);
            echo CUtil::PhpToJsObject(array('USERS' => CSocNetLogDestination::SearchUsers($_POST['SEARCH'], $nameTemplate, false, IsModuleInstalled("extranet"))));
        } elseif ($_POST['LD_DEPARTMENT_RELATION'] == 'Y' && IsModuleInstalled("intranet")) {
            echo CUtil::PhpToJsObject(array('USERS' => CSocNetLogDestination::GetUsers(array('deportament_id' => $_POST['DEPARTMENT_ID'], "NAME_TEMPLATE" => $nameTemplate), false)));
        } elseif (isset($_POST["bitrix_processes"])) {
            if (CModule::IncludeModule('lists')) {
                IncludeModuleLangFile(__FILE__);
                global $USER;
                $listsPerm = CListPermissions::CheckAccess($USER, COption::GetOptionString("lists", "livefeed_iblock_type_id"), false);
                if ($listsPerm < 0) {
                    switch ($listsPerm) {
                        case CListPermissions::WRONG_IBLOCK_TYPE:
                            echo CUtil::PhpToJsObject(array('success' => false, 'error' => GetMessage("CC_BLL_WRONG_IBLOCK_TYPE")));
                            die;
                        case CListPermissions::WRONG_IBLOCK:
                            echo CUtil::PhpToJsObject(array('success' => false, 'error' => GetMessage("CC_BLL_WRONG_IBLOCK")));
                            die;
                        case CListPermissions::LISTS_FOR_SONET_GROUP_DISABLED:
                            echo CUtil::PhpToJsObject(array('success' => false, 'error' => GetMessage("CC_BLL_LISTS_FOR_SONET_GROUP_DISABLED")));
Ejemplo n.º 21
0
                $GLOBALS["CACHE_MANAGER"]->RegisterTag("sonet_group_" . $val["entityId"]);
            }
            $GLOBALS["CACHE_MANAGER"]->RegisterTag("sonet_user2group_U" . $GLOBALS["USER"]->GetID());
            $GLOBALS["CACHE_MANAGER"]->EndTagCache();
        }
        $obCache->EndDataCache(array("SONET_GROUPS" => $arSonetGroups, "SONET_GROUPS_EXTRANET" => $arSonetGroupsExtranet));
    }
    if (is_array($arSonetGroupsExtranet) && !empty($arSonetGroupsExtranet)) {
        $arExtranetGroupID = array();
        foreach ($arSonetGroupsExtranet as $arSonetGroupTmp) {
            if (is_array($arSonetGroupTmp) && array_key_exists("entityId", $arSonetGroupTmp) && intval($arSonetGroupTmp["entityId"]) > 0) {
                $arExtranetGroupID[] = intval($arSonetGroupTmp["entityId"]);
            }
        }
    }
    $arSonetGroupsLast = CSocNetLogDestination::GetLastSocnetGroup();
    $APPLICATION->IncludeComponent("bitrix:intranet.user.selector.new", ".default", array("MULTIPLE" => "N", "NAME" => "INVITE_DEPARTMENT", "VALUE" => 0, "POPUP" => "Y", "INPUT_NAME" => "UF_DEPARTMENT", "ON_SECTION_SELECT" => "onInviteDialogSectionsSelect", "SITE_ID" => $SITE_ID, "SHOW_STRUCTURE_ONLY" => "Y", "SHOW_EXTRANET_USERS" => "NONE"), null, array("HIDE_ICONS" => "Y"));
    ?>
	<div class="intranet-tabs-box" id="intranet-dialog-tabs"><?php 
    ?>
<div class="webform-round-corners webform-error-block" id="invite-dialog-error-block" style="display: none;">
			<div class="webform-corners-top"><div class="webform-left-corner"></div><div class="webform-right-corner"></div></div>
			<div class="webform-content" id="invite-dialog-error-content"><?php 
    echo $strError;
    ?>
</div>
			<div class="webform-corners-bottom"><div class="webform-left-corner"></div><div class="webform-right-corner"></div></div>
		</div><?php 
    ?>
<div class="intranet-tabs">
			<span class="intranet-tab<?php