/** * Return array with events list and users * * @param int $iblockId Info-block ID * @param int $elementId Info-block element ID * @param int $limit Limit returned rows * @return array (EVENTS => array(), USERS => array()) */ public static function getEventsLog($iblockId, $elementId, $limit = 0) { $arEvents = array(); $arUsersId = array(); $arUsers = array(); $limit = intval($limit); if ($limit > 0) { $rsEventsNav = array('nTopCount' => $limit); } else { $rsEventsNav = false; } $rsEvents = \CEventLog::GetList(array('ID' => 'DESC'), array('MODULE_ID' => 'iblock', 'ITEM_ID' => $iblockId), $rsEventsNav); while ($arEvent = $rsEvents->Fetch()) { $arEventDesc = unserialize($arEvent['DESCRIPTION']); if ($arEventDesc['ID'] === $elementId) { $arEvents[] = array_merge($arEvent, array('DESCRIPTION' => $arEventDesc)); $arUsersId[] = $arEventDesc['USER_ID']; } } if (!empty($arUsersId)) { $rsUsers = \CUser::GetList($by = 'id', $order = 'asc', array('ID' => $arUsersId), array('FIELDS' => array('ID', 'LOGIN', 'NAME', 'LAST_NAME'))); while ($arUser = $rsUsers->Fetch()) { $arUsers[$arUser['ID']] = $arUser; } } return array('EVENTS' => $arEvents, 'USERS' => $arUsers); }
public function onUserLoginExternal(&$arParams) { if (!$this->useOfficeAuth()) { return null; } $login = new UserLogin($arParams['LOGIN']); $password = $arParams['PASSWORD']; if ($this->isAuthorized($login->getOfficeLogin(), $password, $this->officeAuthUrl())) { $fields = array("LOGIN" => $login->getBitrixLogin(), "NAME" => $login->getOfficeLogin(), "PASSWORD" => $password, "EMAIL" => $login->getEmail(), "ACTIVE" => "Y", "EXTERNAL_AUTH_ID" => "Office", "LID" => SITE_ID); $user = new \CUser(); $existedUser = \CUser::GetList($by = "timestamp_x", $order = "desc", array("LOGIN_EQUAL_EXACT" => $login->getBitrixLogin(), "EXTERNAL_AUTH_ID" => "Office"))->Fetch(); if (!$existedUser) { $id = $user->Add($fields); } else { $id = $existedUser["ID"]; $user->Update($id, $fields); } if ($id > 0) { $groups = \CUser::GetUserGroup($id); if (!in_array(1, $groups)) { $groups[] = 1; \CUser::SetUserGroup($id, $groups); } $arParams["store_password"] = "******"; return $id; } } return null; }
public static function getUserByProviderAndId($providerName, $userProfile) { CModule::IncludeModule("iblock"); $userID = false; //Проверим привязан ли к какому нибудь пользователю $arrFilter = array("IBLOCK_ID" => USER_SOCIAL_IB, "ACTIVE" => "Y", "PROPERTY_SOCIAL_PROVIDER" => $providerName, "PROPERTY_SOCIAL_ID" => $userProfile["identifier"]); $arSelect = array("PROPERTY_USER_ID"); $rsRes = \CIBlockElement::GetList($arOrder, $arrFilter, false, false, $arSelect); if ($arItem = $rsRes->GetNext()) { $userID = intval($arItem["PROPERTY_USER_ID_VALUE"]); } $email = ""; if (!empty($userProfile["email"])) { $email = $userProfile["email"]; } else { if (!empty($userProfile["emailVerified"])) { $email = $userProfile["emailVerified"]; } } //Проверяем есть ли пользователь с таким мэйлом if (!$userID && !empty($email)) { $dbUsers = CUser::GetList($by = "EMAIL", $order = "desc", array("=EMAIL" => $email)); while ($arUser = $dbUsers->Fetch()) { $userID = $arUser["ID"]; self::connectToUser($userID, $providerName, $userProfile); self::updateUser($userID, $userProfile); } } return $userID; }
static function GetJIdByUserId($arUserID, $domain = "") { if (is_array($arUserID) && count($arUserID) > 0) { foreach ($arUserID as $key => $ID) { $ID = intval($ID); if ($ID > 0) { $arUserID[$key] = $ID; } else { unset($arUserID[$key]); } } } else { return false; } $userID = implode(' | ', $arUserID); if (strlen($userID) == 0) { return false; } $arUserJID = array(); $dbUsers = CUser::GetList($by = "ID", $order = "desc", array("ID" => $userID, "!UF_DEPARTMENT" => false), array('FIELDS' => array('ID', 'LOGIN'))); while ($arUser = $dbUsers->Fetch()) { $arUserJID[$arUser['ID']] = CXMPPUtility::GetJId($arUser, $domain); } if (count($arUserJID) == 0) { return false; } return $arUserJID; }
/** * Если включили бесплатный канал, активируем для всех пользователей подписку. * * @return object */ public static function OnBeforeUpdate(Entity\Event $event) { $result = new Entity\EventResult(); $primary = $event->getParameter("id"); $data = $event->getParameter("fields"); $res = self::getById($primary); $arChannel = $res->fetch(); $price = floatval($arChannel["UF_PRICE_H24"]); if ($data["UF_ACTIVE"] && !$arChannel["UF_ACTIVE"] && $price == 0) { //Найдем пользователей, для кого эта подписка была включена $userIds = array(); $result = SubscribeTable::getList(array('filter' => array("=UF_CHANNEL_ID" => $data["ID"]), 'select' => array("ID", "UF_USER_ID"))); while ($arSub = $result->fetch()) { $userIds[$arSub["UF_USER_ID"]] = $arSub["ID"]; } $CSubscribe = new CSubscribe("CHANNEL"); $dbUsers = \CUser::GetList($by = "EMAIL", $order = "desc", array("ACTIVE" => "Y")); while ($arUser = $dbUsers->Fetch()) { if (!array_key_exists($arUser["ID"], $userIds)) { $CSubscribe->setUserSubscribe($data["ID"], $arUser["ID"]); } else { $sub_id = $userIds[$arUser["ID"]]; $CSubscribe->updateUserSubscribe($sub_id, array("UF_ACTIVE" => 1)); } } } return $result; }
public function Add() { global $USER; if ($USER->isAuthorized()) { return \CUser::GetID(); } $this->arFields = array_merge($this->getFields(), $this->defaultFields); if (!$this->arFields["EMAIL"]) { throw new CRUDException("Please, set email for new user"); } $u = \CUser::GetList($by = "ID", $order = "DESC", array("EMAIL" => $this->arFields["EMAIL"]))->Fetch(); if ($u) { return $u["ID"]; } try { $this->generate('LOGIN')->generate('PASSWORD')->generate('GROUP_ID'); } catch (CRUDGenerateException $e) { prentExpection($e->getMessage()); } $objUser = new \CUser(); $newUserID = $objUser->Add($this->arFields); if (!intval($newUserID)) { throw new CRUDException("An error was occured while adding new User in CRUD: " . $objUser->LAST_ERROR . ". Line: " . __LINE__); } else { return $newUserID; } }
function MULChangeOnlineStatus($USER_ID = false, $HTML_ID = false) { static $arUserList, $arUserListID, $arUserListHTML_ID; static $bNotFirstCall; if (!$bNotFirstCall) { $GLOBALS["APPLICATION"]->AddBufferContent("MULChangeOnlineStatus"); $bNotFirstCall = true; } if (intval($USER_ID) > 0) { if (!$HTML_ID) { $HTML_ID = "main_" . $USER_ID; } $arUserListID[] = $USER_ID; $arUserListHTML_ID[] = "'" . $HTML_ID . "'"; $arUserList[] = array("USER_ID" => $USER_ID, "HTML_ID" => $HTML_ID); } else { $arUserListIDUnique = array_unique($arUserListID); $strUserListID = implode("|", $arUserListIDUnique); $rsUser = CUser::GetList($by = "id", $order = "desc", array("ID" => $strUserListID)); $arUserListOnlineHTML_ID = array(); while ($arUser = $rsUser->Fetch()) { if (time() - intval(MakeTimeStamp($arUser["LAST_ACTIVITY_DATE"], "YYYY-MM-DD HH-MI-SS")) < 120) { foreach ($arUserList as $arTmp) { if ($arUser["ID"] == $arTmp["USER_ID"]) { $arUserListOnlineHTML_ID[] = "'" . $arTmp["HTML_ID"] . "'"; } } } } return '<script type="text/javascript"> BX.ready(function() { var arMULUserList = [' . implode(",", $arUserListHTML_ID) . ']; var arMULUserListOnline = [' . implode(",", $arUserListOnlineHTML_ID) . ']; for(var i=0; i<arMULUserList.length; i++) { var elOnline = document.getElementById(arMULUserList[i]); if(elOnline) { if (BX.util.in_array(arMULUserList[i], arMULUserListOnline)) { elOnline.className = "bx-user-info-online"; elOnline.title = "' . GetMessageJS("MAIN_UL_ONLINE") . '"; } else { elOnline.className = "bx-user-info-offline"; elOnline.title = ""; } } } }); </script>'; } }
protected function getStartedByPhoto($userId) { $iterator = \CUser::GetList($by = 'id', $order = 'asc', array('ID' => $userId), array('FIELDS' => array('PERSONAL_PHOTO'))); $startedUser = $iterator->fetch(); if ($startedUser) { return \CFile::ResizeImageGet($startedUser['PERSONAL_PHOTO'], array('width' => 58, 'height' => 58), \BX_RESIZE_IMAGE_EXACT, false); } return null; }
public static function getUsersId() { $cUser = new CUser(); $sort_by = "ID"; $sort_ord = "ASC"; $arFilter = array("ACTIVE" => 'Y'); $dbUsers = $cUser->GetList($sort_by, $sort_ord, $arFilter); $dbUsers->NavStart(8); return $dbUsers; }
private static function FindUserIDByEmail($email) { $email = trim(strval($email)); if ($email === '') { return 0; } $dbUsers = CUser::GetList($by = 'ID', $order = 'ASC', array('=EMAIL' => $email), array('FIELDS' => array('ID'), 'NAV_PARAMS' => array('nTopCount' => 1))); $arUser = $dbUsers ? $dbUsers->Fetch() : null; return $arUser ? intval($arUser['ID']) : 0; }
protected function getFieldHtml($arProperty) { $rsElement = CIBlockElement::GetByID(intval($_REQUEST['ID'])); $arResult['ELEMENT'] = $rsElement->Fetch(); $rsUsers = \CUser::GetList($by = 'id', $order = 'asc', array('ID' => $arResult['ELEMENT']['MODIFIED_BY'] . ' | ' . $arResult['ELEMENT']['CREATED_BY']), array('FIELDS' => array('ID', 'LOGIN', 'NAME', 'LAST_NAME'))); while ($arUser = $rsUsers->Fetch()) { $arResult['USERS'][$arUser['ID']] = $arUser; } include_once __DIR__ . '/templates/' . basename(__FILE__); }
protected function getStartedBy($workflowState) { if ($workflowState['STARTED_BY']) { $iterator = CUser::GetList($by = "id", $order = "asc", array('ID' => $workflowState['STARTED_BY']), array('FIELDS' => array('ID', 'PERSONAL_PHOTO', 'NAME', 'LAST_NAME', 'SECOND_NAME', 'LOGIN', 'TITLE'))); $startedUser = $iterator->fetch(); if ($startedUser) { return $startedUser; } } return false; }
/** * @param string $pLogin * @return int */ protected static function getUserIdForLogin($pLogin) { $selectedFields = array("ID"); $filter = array("LOGIN_EQUAL_EXACT" => $pLogin, "EXTERNAL_AUTH_ID" => ""); $dbUser = CUser::GetList($by = 'ID', $order = 'ASC', $filter, array("FIELDS" => $selectedFields)); $userId = 0; if ($dbUser) { $userInfo = $dbUser->Fetch(); $userId = $userInfo["ID"]; } return $userId; }
function OnBeforeUserLogin($arFields) { $phone = preg_replace("/[^0-9]/", '', $arFields["LOGIN"]); if (\CDev::check_phone($phone)) { $filter = array("PERSONAL_PHONE" => $phone); } else { $filter = array("=EMAIL" => $arFields["LOGIN"]); } $rsUsers = \CUser::GetList($by = "LAST_NAME", $order = "asc", $filter); if ($user = $rsUsers->GetNext()) { $arFields["LOGIN"] = $user["LOGIN"]; } }
/** * Billing by all users at 3-30 */ public static function dailyAllUsers() { global $DB; $table = \Hawkart\Megatv\SubscribeTable::getTableName(); $time_update = "03:30:00"; $datetime = new \Bitrix\Main\Type\Datetime(date("Y-m-d " . $time_update), 'Y-m-d H:i:s'); $datetime_next_date = new \Bitrix\Main\Type\Datetime(date('Y-m-d' . $time_update, strtotime('+1 day')), 'Y-m-d H:i:s'); $datetime_from_db = date("d.m.Y " . $time_update); $datetime_to_db = date("d.m.Y " . $time_update, strtotime('+1 day')); /** * Get all users */ $arUsers = array(); $arFilter = array("ACTIVE" => "Y"); $rsUsers = \CUser::GetList($by = "LAST_NAME", $order = "asc", $arFilter); while ($arUser = $rsUsers->GetNext()) { $arUsers[$arUser["ID"]] = $arUser; } /** * Get all priced subscribe for all users */ $arSubscribeUsers = array(); $result = \Hawkart\Megatv\SubscribeTable::getList(array('filter' => array("UF_ACTIVE" => 1, ">UF_CHANNEL_ID" => 0, ">UF_CHANNEL.UF_PRICE_H24" => 0, "<=UF_DATETIME_TO" => $datetime), 'select' => array("ID", "PRICE" => "UF_CHANNEL.UF_PRICE_H24", "UF_USER_ID"))); while ($arSub = $result->fetch()) { $arSubscribeUsers[$arSub["UF_USER_ID"]][] = array("ID" => $arSub["ID"], "PRICE" => $arSub["PRICE"]); } $result = \Hawkart\Megatv\SubscribeTable::getList(array('filter' => array("UF_ACTIVE" => 1, ">UF_SERVICE_ID" => 0, ">UF_SERVICE.UF_PRICE" => 0), 'select' => array("ID", "PRICE" => "UF_SERVICE.UF_PRICE", "UF_USER_ID"))); while ($arSub = $result->fetch()) { $arSubscribeUsers[$arSub["UF_USER_ID"]][] = array("ID" => $arSub["ID"], "PRICE" => $arSub["PRICE"]); } /** * Make transaction for 1 day for all users */ foreach ($arSubscribeUsers as $user_id => $arSubscribes) { $daily_price = 0; foreach ($arSubscribes as $arSubscribe) { $daily_price += $arSubscribe["PRICE"]; } $balance = \CUserEx::getBudget($user_id); if ($balance > 0 && $daily_price > 0) { \CSaleAccountEx::transaction(-1 * $daily_price, $user_id, "Оплата услуг за " . date('d.m.Y')); $strSql = "UPDATE " . $table . " SET UF_DATETIME_TO=curdate() + INTERVAL 1 DAY + INTERVAL 3 HOUR + INTERVAL 30 MINUTE WHERE UF_USER_ID=" . $user_id; $res = $DB->Query($strSql, false, $err_mess . __LINE__); //Send email to user to add money to budget for 3 days if ($balance < $daily_price * 2) { \CEvent::SendImmediate("NOTIFICATION_PAY_AFTER_DAYS", SITE_ID, array("EMAIL_TO" => $arUsers[$user_id]["EMAIL"], "PRICE" => $daily_price * 5)); } } } }
public function getUserName() { if ($this->userName !== null) { return $this->userName; } if ($this->userID <= 0) { return $this->userName = ''; } $dbResult = \CUser::GetList($by = 'id', $order = 'asc', array('ID' => $this->userID), array('FIELDS' => array('ID', 'LOGIN', 'EMAIL', 'NAME', 'LAST_NAME', 'SECOND_NAME', 'TITLE'))); $fields = is_object($dbResult) ? $dbResult->Fetch() : null; if (!is_array($fields)) { return $this->userName = ''; } return $this->userName = \CUser::FormatName(Crm\Format\PersonNameFormatter::getFormat(), $fields, false, false); }
public function Add($email = '', $name = '') { global $USER; if ($USER->isAuthorized()) { return $USER->getID(); } else { try { $validator = \Ns\Bitrix\Helper::Create('iblock')->useVariant('validator'); } catch (\Exception $e) { prentExpection($e->getMessage()); } $this->user["email"] = $validator->email($email); $this->user["name"] = $validator->xss($name); if (!$this->user["email"]) { $e["ERROR"]["EMAIL"] = "Y"; } if (!$this->user["name"]) { $e["ERROR"]["NAME"] = "Y"; } if (is_array($e)) { return $e; } else { $user = \CUser::GetList($by = "ID", $order = "desc", array("EMAIL" => $this->user["email"])); if ($user->SelectedRowsCount() > 0) { $this->user = $user->Fetch(); \ChromePhp::log($this->user); try { global $APPLICATION; $this->sendEmailToLogin(); } catch (\Exception $e) { prentExpection($e->getMessage()); } return True; } else { $arFields = array("EMAIL" => $this->user["email"], "NAME" => $this->user["name"]); try { return \Ns\Bitrix\Helper::Create('user')->useVariant('crud')->withFields($arFields)->withGroupId(self::NEW_USER_SUBSCRIBE_GROUP)->Add(); } catch (CRUDException $e) { prentExpection($e->getMessage()); } catch (\Exception $e1) { prentExpection($e1->getMessage()); } } } } }
function OnBeforeUserLogin($arParams) { /** * @global CMain $APPLICATION * @global CDataBase $DB */ global $DB, $APPLICATION; $rsUser = CUser::GetList($by, $order, array("LOGIN_EQUAL_EXACT" => $arParams["LOGIN"])); while ($arUser = $rsUser->Fetch()) { if (!$arUser["EXTERNAL_AUTH_ID"]) { break; } } if ($arUser) { $USER_ID = intval($arUser["ID"]); $rsKey = $DB->Query("SELECT * from b_sec_user WHERE ACTIVE='Y' AND USER_ID = " . $USER_ID); $arKey = $rsKey->Fetch(); if ($arKey) { $bSuccess = false; if (preg_match("/(\\d{6})\$/", $arParams["PASSWORD"], $arMatch)) { $bin_secret = pack('H*', $arKey["SECRET"]); $sync = $arMatch[1]; $cnt = intval($arKey["COUNTER"]) + 1; $window = COption::GetOptionInt("security", "hotp_user_window"); $i = 0; while ($i < $window) { if (CSecurityUser::HOTP($bin_secret, $cnt) == $sync) { $bSuccess = true; $arParams["PASSWORD"] = substr($arParams["PASSWORD"], 0, -6); $DB->Query("UPDATE b_sec_user SET COUNTER = " . $cnt . " WHERE USER_ID = " . $USER_ID); break; } $cnt++; $i++; } } if (!$bSuccess) { $APPLICATION->ThrowException(GetMessage("WRONG_LOGIN")); return false; } } } return true; }
public function up() { global $APPLICATION; $arHlData = $this->arHlData; \Bitrix\Main\Loader::includeModule("highloadblock"); $arHlblock = \Bitrix\Highloadblock\HighloadBlockTable::getList(array('filter' => array('TABLE_NAME' => \Hawkart\Megatv\PeopleTable::getTableName())))->fetch(); if ($arHlblock) { $oUserTypeEntity = new \CUserTypeEntity(); $sort = 500; foreach ($arHlData['FIELDS'] as $fieldName => $fieldValue) { $aUserField = array('ENTITY_ID' => 'HLBLOCK_' . $arHlblock["ID"], 'FIELD_NAME' => $fieldName, 'USER_TYPE_ID' => $fieldValue[1], 'SORT' => $sort, 'MULTIPLE' => 'N', 'MANDATORY' => $fieldValue[0], 'SHOW_FILTER' => 'N', 'SHOW_IN_LIST' => 'Y', 'EDIT_IN_LIST' => 'Y', 'IS_SEARCHABLE' => 'N', 'SETTINGS' => array()); if (isset($fieldValue[2]) && is_array($fieldValue[2])) { $aUserField = array_merge($aUserField, $fieldValue[2]); } $resProperty = \CUserTypeEntity::GetList(array(), array('ENTITY_ID' => $aUserField['ENTITY_ID'], 'FIELD_NAME' => $aUserField['FIELD_NAME'])); if ($aUserHasField = $resProperty->Fetch()) { $idUserTypeProp = $aUserHasField['ID']; if ($oUserTypeEntity->Update($idUserTypeProp, $aUserField)) { $this->out('Обновлено свойство - ' . $fieldValue[2]['EDIT_FORM_LABEL']['ru']); } else { if ($ex = $APPLICATION->GetException()) { $this->outError('Ошибка - ' . $ex->GetString()); } } } else { if ($idUserTypeProp = $oUserTypeEntity->Add($aUserField)) { $this->out('Добавлено новое свойство - ' . $fieldValue[2]['EDIT_FORM_LABEL']['ru']); } else { if ($ex = $APPLICATION->GetException()) { $this->outError('Ошибка - ' . $ex->GetString()); } } } $sort += 100; } $dbUsers = \CUser::GetList($by = "EMAIL", $order = "desc", array("UF_SOTAL_LOGIN" => false)); while ($arUser = $dbUsers->Fetch()) { \CUserEx::generateDataSotal($arUser["ID"]); } $this->outSuccess('Все готово на %d%%', 100); } }
public static function getUsersArrByIds($usersIds) { if (!$usersIds) { $usersIds = array(CUser::GetID()); } if (!is_array($usersIds)) { $usersIds = array($usersIds); } if (!count($usersIds)) { return; } $usersIds = array_unique($usersIds); $otherUsersIds = array(); foreach ($usersIds as $id) { $id = intval($id); if (!$id) { continue; } if (isset(self::$usersCache[$id])) { $users[$id] = self::$usersCache[$id]; } else { $otherUsersIds[] = $id; } } if (count($otherUsersIds)) { $rsUsers = CUser::GetList($by = "NAME", $order = "ASCS", array('ACTIVE' => 'Y', 'ID' => implode(' | ', $otherUsersIds)), array('FIELDS' => array('ID', 'NAME', 'LOGIN', 'LAST_NAME', 'PERSONAL_PHOTO', 'EMAIL', 'IS_ONLINE'))); while ($arUser = $rsUsers->Fetch()) { if ($arUser['PERSONAL_PHOTO']) { $arimg = CFile::ResizeImageGet($arUser['PERSONAL_PHOTO'], array('width' => 100, 'height' => 100), BX_RESIZE_IMAGE_EXACT, true); $src = $arimg['src']; } else { $src = self::$defaultUserPicture; } $arUser['PERSONAL_PHOTO'] = $src; $arUser['FULL_NAME'] = $arUser['NAME'] . ' ' . $arUser['LAST_NAME']; self::$usersCache[$arUser['ID']] = $arUser; $users[$arUser['ID']] = $arUser; } } return $users; }
protected static function prepareUserNames(array $userIDs) { if (empty($userIDs)) { return array(); } $results = array(); foreach ($userIDs as $k => $v) { if (isset(self::$userNames[$v])) { $results[$v] = self::$userNames[$v]; unset($userIDs[$v]); } } if (!empty($userIDs)) { $dbResult = \CUser::GetList($by = 'ID', $order = 'ASC', array('ID' => implode('||', $userIDs)), array('FIELDS' => array('ID', 'NAME', 'LAST_NAME', 'SECOND_NAME', 'LOGIN', 'TITLE'))); $format = \CSite::GetNameFormat(false); while ($user = $dbResult->Fetch()) { $userID = (int) $user['ID']; $results[$userID] = \CUser::FormatName($format, $user, true, false); } } return $results; }
protected function processActionGetListAdmin() { $this->checkRequiredPostParams(array('iblockId')); if ($this->errorCollection->hasErrors()) { $this->sendJsonErrorResponse(); } $this->iblockId = intval($this->request->getPost('iblockId')); $this->iblockTypeId = COption::GetOptionString("lists", "livefeed_iblock_type_id"); $this->checkPermissionElement(); if ($this->errorCollection->hasErrors()) { $this->sendJsonErrorResponse(); } $rightObject = new CIBlockRights($this->iblockId); $rights = $rightObject->getRights(); $rightsList = $rightObject->getRightsList(false); $idRight = array_search('iblock_full', $rightsList); $listUser = array(); $nameTemplate = CSite::GetNameFormat(false); foreach ($rights as $right) { $res = strpos($right['GROUP_CODE'], 'U'); if ($right['TASK_ID'] == $idRight && $res === 0) { $userId = substr($right['GROUP_CODE'], 1); $users = CUser::GetList($by = "id", $order = "asc", array('ID' => $userId), array('FIELDS' => array('ID', 'PERSONAL_PHOTO', 'NAME', 'LAST_NAME'))); $user = $users->fetch(); $file['src'] = ''; if ($user) { $file = \CFile::ResizeImageGet($user['PERSONAL_PHOTO'], array('width' => 58, 'height' => 58), \BX_RESIZE_IMAGE_EXACT, false); } $listUser[$userId]['id'] = $userId; $listUser[$userId]['img'] = $file['src']; $listUser[$userId]['name'] = CUser::FormatName($nameTemplate, $user, false); } } $users = CUser::getList($b = 'ID', $o = 'ASC', array('GROUPS_ID' => 1, 'ACTIVE' => 'Y'), array('FIELDS' => array('ID', 'PERSONAL_PHOTO', 'NAME', 'LAST_NAME'))); while ($user = $users->fetch()) { $file = \CFile::ResizeImageGet($user['PERSONAL_PHOTO'], array('width' => 58, 'height' => 58), \BX_RESIZE_IMAGE_EXACT, false); $listUser[$user['ID']]['id'] = $user['ID']; $listUser[$user['ID']]['img'] = $file['src']; $listUser[$user['ID']]['name'] = CUser::FormatName($nameTemplate, $user, false); } $listUser = array_values($listUser); $this->sendJsonSuccessResponse(array('listAdmin' => $listUser)); }
); } if(!$USER->CanDoOperation('view_all_users')) { $arUserSubordinateGroups = array(); $arUserGroups = CUser::GetUserGroup($USER->GetID()); foreach($arUserGroups as $grp) $arUserSubordinateGroups = array_merge($arUserSubordinateGroups, CGroup::GetSubordinateGroups($grp)); $arFilter["CHECK_SUBORDINATE"] = array_unique($arUserSubordinateGroups); } $rsData = CUser::GetList($by, $order, $arFilter, array( "NAV_PARAMS"=> array("nPageSize"=>CAdminResult::GetNavSize($sTableID)), )); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("PAGES"))); $lAdmin->AddHeaders(array( array("id"=>"ID", "content"=>"ID", "sort"=>"id", "default"=>true), array("id"=>"TIMESTAMP_X", "content"=>GetMessage('TIMESTAMP'), "sort"=>"timestamp_x", "default"=>true), array("id"=>"ACTIVE", "content"=>GetMessage('ACTIVE'), "sort"=>"active", "default"=>true), array("id"=>"LOGIN", "content"=>GetMessage("LOGIN"), "sort"=>"login", "default"=>true), array("id"=>"NAME", "content"=>GetMessage("NAME"), "sort"=>"name", "default"=>true), array("id"=>"LAST_NAME", "content"=>GetMessage("LAST_NAME"), "sort"=>"last_name", "default"=>true),
$groups[$group["ID"]] = $group["NAME"]; } } $arFilter = array("DATE_REGISTER_1" => $date_from, "DATE_REGISTER_2" => $date_to); $usersObj = CUser::GetList($sort = "id", $direct = "asc", $arFilter, array("SELECT" => array("UF_*"), "FIELDS" => array("*"))); $counter = array(); while ($user = $usersObj->Fetch()) { if ($user["UF_USER_PARENT"]) { $counter[$user["UF_USER_PARENT"]][] = $user; } } $table = array(); foreach ($counter as $uid => $joined) { $ampUsers = array(); $arFilter = array("DATE_REGISTER_1" => $date_from, "DATE_REGISTER_2" => $date_to, "UF_USER_PARENT" => $uid); $ampUsersObj = CUser::GetList($sort = "id", $direct = "asc", $arFilter, array("SELECT" => array("UF_*"))); while ($ampUser = $ampUsersObj->Fetch()) { $ampUsers[$ampUser["UF_USER_PARENT"]] = $ampUser; } if (!empty($ampUsers[$uid])) { $amp = CUser::GetByID($uid)->Fetch(); $arName = array($amp["NAME"], $amp["LAST_NAME"]); $ampGroupsObj = CUser::GetUserGroupList($amp["ID"]); $ampGroups = array(); while ($ampGroup = $ampGroupsObj->Fetch()) { if (array_key_exists($ampGroup["GROUP_ID"], $groups)) { $ampGroups[] = $groups[$ampGroup["GROUP_ID"]]; } } $arr = array("profile" => "/club/user/{$amp["ID"]}/", "group" => implode("<br />", $ampGroups), "id" => $amp["ID"], "login" => $amp["LOGIN"], "name" => implode(" ", $arName), "list" => $joined, "city" => $amp["PERSONAL_CITY"]); $table[] = $arr;
if ($structure_iblock_id > 0) { $arIBlock = CIBlock::GetArrayByID($structure_iblock_id); if ($arIBlock) { $arResult["STRUCTURE_PAGE"] = CIBlock::ReplaceDetailURL($arIBlock["LIST_PAGE_URL"], $arIBlock, true); } } $arResult["STRUCTURE_FILTER"] = trim($arParams["STRUCTURE_FILTER"]); if (strlen($arResult["STRUCTURE_FILTER"]) <= 0) { $arResult["STRUCTURE_FILTER"] = "structure"; } $bSoNet = CModule::IncludeModule('socialnetwork'); $arDepCache = array(); $arDepCacheValue = array(); foreach ($arResult["SEARCH"] as $i => $arItem) { if ($arItem["MODULE_ID"] === "intranet" && substr($arItem["ITEM_ID"], 0, 1) === "U") { $rsUser = CUser::GetList($by = '', $ord = '', array("ID_EQUAL_EXACT" => substr($arItem["ITEM_ID"], 1)), array('SELECT' => array('UF_*'))); $arUser = $rsUser->Fetch(); if ($arUser) { if ($arUser['PERSONAL_PHOTO']) { $arImage = CIntranetUtils::InitImage($arUser['PERSONAL_PHOTO'], 100); $arUser['PERSONAL_PHOTO'] = $arImage['IMG']; } $arDep = array(); if (is_array($arUser['UF_DEPARTMENT']) && count($arUser['UF_DEPARTMENT']) > 0) { $arNewDep = array_diff($arUser['UF_DEPARTMENT'], $arDepCache); if (count($arNewDep) > 0) { $dbRes = CIBlockSection::GetList(array('SORT' => 'ASC'), array('ID' => $arNewDep)); while ($arSect = $dbRes->Fetch()) { $arDepCache[] = $arSect['ID']; $arDepCacheValue[$arSect['ID']] = $arSect['NAME']; }
if (isset($userListID[0])) unset($userListID[0]); if (!empty($userListID)) { $strClearQuantityDate = Option::get('catalog', 'clear_quantity_date'); $strClearQuantityReservedDate = Option::get('catalog', 'clear_reserved_quantity_date'); $strClearStoreDate = Option::get('catalog', 'clear_store_date'); $arUserList = array(); $strNameFormat = CSite::GetNameFormat(true); $byUser = '******'; $orderUser = '******'; $rsUsers = CUser::GetList( $byUser, $orderUser, array('ID' => implode(' || ', array_keys($userListID))), array('FIELDS' => array('ID', 'LOGIN', 'NAME', 'LAST_NAME', 'SECOND_NAME')) ); while ($arOneUser = $rsUsers->Fetch()) { $arOneUser['ID'] = (int)$arOneUser['ID']; $arUserList[$arOneUser['ID']] = '<a href="/bitrix/admin/user_edit.php?lang='.LANGUAGE_ID.'&ID='.$arOneUser['ID'].'">'.CUser::FormatName($strNameFormat, $arOneUser).'</a>'; } if (isset($arUserList[$clearQuantityUser])) $strQuantityUser = $arUserList[$clearQuantityUser]; if (isset($arUserList[$clearQuantityReservedUser])) $strQuantityReservedUser = $arUserList[$clearQuantityReservedUser]; if (isset($arUserList[$clearStoreUser])) $strStoreUser = $arUserList[$clearStoreUser]; } $boolStoreExists = false;
/** * duplicate CIMMail::IsExternalMailAvailable() * for performance reasons */ public static function IsExternalMailAvailable() { global $USER; if (!is_object($USER) || !$USER->IsAuthorized()) { return false; } if (!IsModuleInstalled('mail')) { return false; } if (COption::GetOptionString('intranet', 'allow_external_mail', 'Y') != 'Y') { return false; } if (COption::GetOptionString('extranet', 'extranet_site', '') == SITE_ID) { return false; } if (isset($_SESSION['aExtranetUser_' . $USER->GetID()][SITE_ID])) { if (!$_SESSION['aExtranetUser_' . $USER->GetID()][SITE_ID]) { return false; } } else { if (CModule::IncludeModule('extranet') && !CExtranet::IsIntranetUser()) { return false; } } if (!IsModuleInstalled('dav')) { return true; } if (COption::GetOptionString('dav', 'exchange_server', '') == '') { return true; } if (COption::GetOptionString('dav', 'agent_mail', 'N') != 'Y') { return true; } if (COption::GetOptionString('dav', 'exchange_use_login', 'Y') == 'Y') { return false; } if (!CUserOptions::GetOption('global', 'davex_mailbox')) { $arUser = CUser::GetList($by = 'ID', $order = 'ASC', array('ID_EQUAL_EXACT' => $USER->GetID()), array('SELECT' => array('UF_BXDAVEX_MAILBOX'), 'FIELDS' => array('ID')))->Fetch(); CUserOptions::SetOption('global', 'davex_mailbox', empty($arUser['UF_BXDAVEX_MAILBOX']) ? 'N' : 'Y'); } if (CUserOptions::GetOption('global', 'davex_mailbox') == 'Y') { return false; } return true; }
} } return $errors; } $userInfo = null; $eventSent = $forgetError = false; if (isset($_POST['user'])) { $userInfo = $_POST['user']; $errors = registerUser($_POST['user']); } elseif (isset($_GET['user'])) { $userInfo = $_GET['user']; } elseif (isset($_POST['forget'])) { if (!$_POST['forget']['email']) { $forgetError = 'Неверно указан почтовый адрес'; } else { $user = CUser::GetList($by = "id", $order = "desc", array('EMAIL' => $_POST['forget']['email'], 'ACTIVE' => 'Y'))->Fetch(); if (!$user) { $forgetError = 'Неверно указан почтовый адрес'; } else { $objUser = new CUser(); $password = make_password(8); $objUser->Update($user['ID'], array('PASSWORD' => $password, 'CONFIRM_PASSWORD' => $password)); $eventFields = array('NAME' => $user['NAME'], 'PASSWORD' => $password, 'EMAIL' => $user['EMAIL']); $eventSent = CEvent::Send('FORGET_PASS', 's1', $eventFields); } } } ?> <script type="text/javascript"> $(document).ready(function(){ $('.open-auth').click(function(e){
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } CUtil::InitJSCore(array('taskQuickPopups')); $loggedInUserId = (int) $GLOBALS['USER']->GetID(); $loggedInUserFormattedName = ''; $rsUser = CUser::GetList($by = 'ID', $order = 'ASC', array('ID' => $loggedInUserId), array('FIELDS' => array('NAME', 'LAST_NAME', 'SECOND_NAME', 'LOGIN'))); if ($arUser = $rsUser->Fetch()) { $loggedInUserFormattedName = CUser::FormatName(CSite::GetNameFormat(false), array('NAME' => $arUser['NAME'], 'LAST_NAME' => $arUser['LAST_NAME'], 'SECOND_NAME' => $arUser['SECOND_NAME'], 'LOGIN' => $arUser['LOGIN']), $bUseLogin = true, $bHtmlSpecialChars = false); } ob_start(); ?> <div class="task-filter-popup" id="task-filter-popup" style="display: block;"> <div class="task-filter-popup-header"> <div class="task-filter-popup-name"><?php echo GetMessage('TASKS_FILTERV2_CONSTRUCTOR_FILTER_TITLE'); ?> </div> <div class="task-filter-popup-inp-wrap"> <input type="text" value="" id="tasks-filter-name" class="task-filter-popup-inp" onkeyup="BX.Tasks.filterV2.engine.setFilterName({},this.value,{renderer : {skipRender: true}});" onchange="BX.Tasks.filterV2.engine.setFilterName({},this.value,{renderer : {skipRender: true}});"> </div> </div> <div id="task-filter-popup-root-level" class="task-filter-popup-items-wrap task-filter-and"></div> </div> <?php $html = ob_get_clean(); $href = '';
if (0 < $arDiscount['CREATED_BY']) { if (!array_key_exists($arDiscount['CREATED_BY'], $arUserList)) { $rsUsers = CUser::GetList($by2 = 'ID', $order2 = 'ASC', array('ID_EQUAL_EXACT' => $arDiscount['CREATED_BY']), array('FIELDS' => array('ID', 'LOGIN', 'NAME', 'LAST_NAME'))); if ($arOneUser = $rsUsers->Fetch()) { $arOneUser['ID'] = intval($arOneUser['ID']); $arUserList[$arOneUser['ID']] = CUser::FormatName($strNameFormat, $arOneUser); } } if (isset($arUserList[$arDiscount['CREATED_BY']])) { $strCreatedBy = '<a href="/bitrix/admin/user_edit.php?lang=' . LANGUAGE_ID . '&ID=' . $arDiscount['CREATED_BY'] . '">' . $arUserList[$arDiscount['CREATED_BY']] . '</a>'; } } $arDiscount['MODIFIED_BY'] = intval($arDiscount['MODIFIED_BY']); if (0 < $arDiscount['MODIFIED_BY']) { if (!array_key_exists($arDiscount['MODIFIED_BY'], $arUserList)) { $rsUsers = CUser::GetList($by2 = 'ID', $order2 = 'ASC', array('ID_EQUAL_EXACT' => $arDiscount['MODIFIED_BY']), array('FIELDS' => array('ID', 'LOGIN', 'NAME', 'LAST_NAME'))); if ($arOneUser = $rsUsers->Fetch()) { $arOneUser['ID'] = intval($arOneUser['ID']); $arUserList[$arOneUser['ID']] = CUser::FormatName($strNameFormat, $arOneUser); } } if (isset($arUserList[$arDiscount['MODIFIED_BY']])) { $strModifiedBy = '<a href="/bitrix/admin/user_edit.php?lang=' . LANGUAGE_ID . '&ID=' . $arDiscount['MODIFIED_BY'] . '">' . $arUserList[$arDiscount['MODIFIED_BY']] . '</a>'; } } $row->AddViewField("CREATED_BY", $strCreatedBy); $row->AddViewField("DATE_CREATE", $arDiscount['DATE_CREATE']); $row->AddViewField("MODIFIED_BY", $strModifiedBy); $row->AddViewField("TIMESTAMP_X", $arDiscount['TIMESTAMP_X']); if ($bReadOnly) { $row->AddCheckField("ACTIVE", false);