Esempio n. 1
0
//Can view transcript?
if ($arStudent["PUBLIC_PROFILE"] == "N" && !($USER->GetID() == $arStudent["USER_ID"] || $USER->IsAdmin())) {
    ShowError(GetMessage("LEARNING_TRANSCRIPT_PERMISSION_DENIED"));
    return;
}
//User exists?
$res = CUser::GetByID($arStudent["USER_ID"]);
if (!($arUser = $res->GetNext())) {
    ShowError(GetMessage("LEARNING_TRANSCRIPT_ERROR"));
    return;
}
//Images
$arUser["PERSONAL_PHOTO_ARRAY"] = CFile::GetFileArray($arUser["PERSONAL_PHOTO"]);
$arUser["WORK_LOGO_ARRAY"] = CFile::GetFileArray($arUser["WORK_LOGO"]);
//Country
$arUser["PERSONAL_COUNTRY_NAME"] = GetCountryByID($arUser["PERSONAL_COUNTRY"]);
$arResult = array("STUDENT" => $arStudent, "USER" => $arUser, "CERTIFICATES" => array());
$res = CCertification::GetList(array("SORT" => "ASC", "DATE_CREATE" => "ASC"), array("STUDENT_ID" => $arStudent["USER_ID"], "ACTIVE" => "Y", "PUBLIC" => "Y", "CHECK_PERMISSIONS" => "N"));
while ($arCertification = $res->GetNext()) {
    $arCertification["PREVIEW_PICTURE_ARRAY"] = CFile::GetFileArray($arCertification["PREVIEW_PICTURE"]);
    $arResult["CERTIFICATES"][] = $arCertification;
}
unset($res);
unset($arStudent);
unset($arUser);
//Set Title
$arParams["SET_TITLE"] = $arParams["SET_TITLE"] == "N" ? "N" : "Y";
if ($arParams["SET_TITLE"] == "Y") {
    if (strlen($arResult["USER"]["LAST_NAME"]) > 0 || strlen($arResult["USER"]["NAME"]) > 0) {
        $APPLICATION->SetTitle(CUser::FormatName($arParams["NAME_TEMPLATE"], $arResult["USER"]));
    } else {
Esempio n. 2
0
 case 'WORK_WWW':
     if (StrLen($val) > 0) {
         $valLink = $val;
         if (StrToLower(SubStr($val, 0, StrLen("http://"))) != "http://") {
             $valLink = "http://" . $val;
         }
         $val = '<noindex><a href="' . $valLink . '" target="_blank" rel="nofollow">' . $val . '</a></noindex>';
     }
     break;
 case 'PERSONAL_COUNTRY':
 case 'WORK_COUNTRY':
     if (StrLen($val) > 0) {
         if (in_array($userFieldName, $arParams["SONET_USER_FIELDS_SEARCHABLE"])) {
             $strSearch = $arParams["PATH_TO_SEARCH_INNER"] . (StrPos($arParams["PATH_TO_SEARCH_INNER"], "?") !== false ? "&" : "?") . "flt_" . StrToLower($userFieldName) . "=" . UrlEncode($val);
         }
         $val = GetCountryByID($val);
     }
     break;
 case 'PERSONAL_ICQ':
     if (StrLen($val) > 0) {
         $val = $val . '<!-- <img src="http://web.icq.com/whitepages/online?icq=' . $val . '&img=5" alt="" />-->';
     }
     break;
 case 'PERSONAL_PHONE':
 case 'PERSONAL_FAX':
 case 'PERSONAL_MOBILE':
 case 'WORK_PHONE':
 case 'WORK_FAX':
     if (StrLen($val) > 0) {
         $valEncoded = preg_replace('/[^\\d\\+]+/', '', $val);
         $val = '<a href="callto:' . $valEncoded . '">' . $val . '</a>';
Esempio n. 3
0
					<?php 
if ($CurentUser["PERSONAL_BIRTHDAY"]) {
    ?>
						<?php 
    echo FormatDate(array("d" => 'j F'), MakeTimeStamp($CurentUser["PERSONAL_BIRTHDAY"]), time());
    ?>
					<?php 
}
?>
					</div>
					<div class="profile-city">
						<?php 
if ($CurentUser["PERSONAL_CITY"]) {
    ?>
							Живет в <?php 
    echo $CurentUser["PERSONAL_CITY"] . ", " . GetCountryByID($CurentUser["PERSONAL_COUNTRY"], "ru");
    ?>
						<?php 
}
?>
					</div>
				</div>
				<?php 
if ($CurentUser["ID"] == $USER->GetID()) {
    ?>
					<div class="new-friends-number" id="new-friends-number" <?php 
    if (!$CurentUser["UF_FRIENDS_SUB_IN"] && !$CurentUser["UF_FRIENDS_SUB"]) {
        echo ' style="display: none;"';
    }
    ?>
>
Esempio n. 4
0
    if ($strBValueTmp != "http:/" && $strBValueTmp != "https:" && $strBValueTmp != "ftp://") {
        $arResult["USER"]["WORK_WWW_FORMATED"] = "http://" . $arResult["USER"]["WORK_WWW_FORMATED"];
    }
    $arResult["USER"]["WORK_WWW"] = "<noindex><a rel=\"nofollow\" href=\"" . $arResult["USER"]["WORK_WWW_FORMATED"] . "\" target=\"_blank\">" . $arResult["USER"]["WORK_WWW_FORMATED"] . "</a></noindex>";
}
if ($arResult["USER"]["PERSONAL_GENDER"] == "M") {
    $arResult["USER"]["PERSONAL_GENDER"] = GetMessage("F_SEX_MALE");
} elseif ($arResult["USER"]["PERSONAL_GENDER"] == "F") {
    $arResult["USER"]["PERSONAL_GENDER"] = GetMessage("F_SEX_FEMALE");
}
$arResult["USER"]["PERSONAL_LOCATION"] = GetCountryByID($arResult["USER"]["PERSONAL_COUNTRY"]);
if (!empty($arResult["USER"]["PERSONAL_LOCATION"]) && !empty($arResult["USER"]["PERSONAL_CITY"])) {
    $arResult["USER"]["PERSONAL_LOCATION"] .= ", ";
}
$arResult["USER"]["PERSONAL_LOCATION"] .= $arResult["USER"]["PERSONAL_CITY"];
$arResult["USER"]["WORK_LOCATION"] = GetCountryByID($arResult["USER"]["WORK_COUNTRY"]);
if (strlen($arResult["USER"]["WORK_LOCATION"]) > 0 && strlen($arResult["USER"]["WORK_CITY"]) > 0) {
    $arResult["USER"]["WORK_LOCATION"] .= ", ";
}
$arResult["USER"]["WORK_LOCATION"] .= $arResult["USER"]["WORK_CITY"];
$arResult["FORUM_USER"]["INTERESTS"] = $parser->convert($arResult["FORUM_USER"]["INTERESTS"], array("HTML" => "N", "ANCHOR" => "Y", "BIU" => "Y", "IMG" => "Y", "VIDEO" => "Y", "LIST" => "Y", "QUOTE" => "Y", "CODE" => "Y", "FONT" => "Y", "SMILES" => "N", "NL2BR" => "Y", "TABLE" => "N", "ALIGN" => "N"));
$arResult["FORUM_USER"]["AVATAR"] = "";
if (!empty($arResult["FORUM_USER"]["~AVATAR"])) {
    $arResult["FORUM_USER"]["AVATAR_FILE"] = CFile::GetFileArray($arResult["FORUM_USER"]["~AVATAR"]);
    if ($arResult["FORUM_USER"]["AVATAR_FILE"] !== false) {
        $arResult["FORUM_USER"]["AVATAR"] = CFile::ShowImage($arResult["FORUM_USER"]["AVATAR_FILE"], COption::GetOptionString("forum", "avatar_max_width", 90), COption::GetOptionString("forum", "avatar_max_height", 90), "border=0", "", true);
    }
}
$arResult["USER"]["PERSONAL_PHOTO"] = "";
if (!empty($arResult["USER"]["~PERSONAL_PHOTO"])) {
    $arResult["USER"]["PERSONAL_PHOTO_FILE"] = CFile::GetFileArray($arResult["USER"]["~PERSONAL_PHOTO"]);
Esempio n. 5
0
 public function ReceiveMessage($senderJId, array $arMessage, CXMPPClient $senderClient)
 {
     if (!$senderClient->IsAuthenticated()) {
         return false;
     }
     if (strlen($senderJId) <= 0) {
         return false;
     }
     if (!array_key_exists("iq", $arMessage) || !array_key_exists("vcard", $arMessage["iq"]) || $arMessage["iq"]["vcard"]["."]["xmlns"] != "vcard-temp") {
         return false;
     }
     $type = "";
     if (array_key_exists("type", $arMessage["iq"]["."])) {
         $type = $arMessage["iq"]["."]["type"];
     }
     if ($type == "get") {
         $to = $arMessage["iq"]["."]["to"];
         $arUser = CXMPPUtility::GetUserByJId($to);
         if ($arUser) {
             $photoType = "";
             $photo = "";
             if (intval($arUser["PERSONAL_PHOTO"]) > 0) {
                 $imageFile = CFile::GetFileArray($arUser["PERSONAL_PHOTO"]);
                 if ($imageFile !== false) {
                     $arFileTmp = CFile::ResizeImageGet($imageFile, array("width" => 300, "height" => 300), BX_RESIZE_IMAGE_PROPORTIONAL, false);
                     if (is_array($arFileTmp)) {
                         $arFileTmp = CFile::MakeFileArray($arFileTmp["src"]);
                     }
                     $photoType = $imageFile["CONTENT_TYPE"];
                     if (File_Exists($arFileTmp["tmp_name"])) {
                         $photo = File_Get_Contents($arFileTmp["tmp_name"]);
                         $photo = Base64_Encode($photo);
                     }
                 }
             }
             if (empty($photo)) {
                 $photoType = "image/gif";
                 if (File_Exists($_SERVER["DOCUMENT_ROOT"] . "/bitrix/images/socialnetwork/nopic_user_150.gif")) {
                     $photo = File_Get_Contents($_SERVER["DOCUMENT_ROOT"] . "/bitrix/images/socialnetwork/nopic_user_150.gif");
                     $photo = Base64_Encode($photo);
                 }
             }
             $arResult = array("iq" => array("." => array("type" => "result", "from" => $to, "to" => $senderJId, "id" => $arMessage['iq']['.']['id']), "vCard" => array("." => array("xmlns" => "vcard-temp", "prodid" => '-//HandGen//NONSGML vGen v1.0//EN', "version" => '2.0'), "FN" => array("#" => CUser::FormatName($this->nameTemplate, $arUser)), "N" => array("FAMILY" => array("#" => $arUser["LAST_NAME"]), "GIVEN" => array("#" => $arUser["NAME"]), "MIDDLE" => array("#" => $arUser["SECOND_NAME"])), "NICKNAME" => array("#" => CUser::FormatName($this->nameTemplate, $arUser)), "BDAY" => array("#" => ConvertDateTime($arUser["PERSONAL_BIRTHDAY"], "YYYY-MM-DD", SITE_ID)), "ORG" => array("ORGNAME" => array("#" => $arUser["WORK_COMPANY"]), "ORGUNIT" => array("#" => $arUser["WORK_DEPARTMENT"])), "TITLE" => array("#" => $arUser["WORK_POSITION"]), "EMAIL" => array("INTERNET" => array("#" => ""), "PREF" => array("#" => ""), "USERID" => array("#" => $arUser["EMAIL"])), "JABBERID" => array("#" => $to), "PHOTO" => array("TYPE" => array("#" => $photoType), "BINVAL" => array("#" => $photo)))));
             if (strlen($arUser["WORK_FAX"]) > 0) {
                 $arResult["iq"]["vCard"]["TEL"][] = array("WORK" => array("#" => ""), "FAX" => array("#" => ""), "NUMBER" => array("#" => $arUser["WORK_FAX"]));
             }
             if (strlen($arUser["PERSONAL_MOBILE"]) > 0) {
                 $arResult["iq"]["vCard"]["TEL"][] = array("HOME" => array("#" => ""), "CELL" => array("#" => ""), "NUMBER" => array("#" => $arUser["PERSONAL_MOBILE"]));
             }
             if (strlen($arUser["WORK_PHONE"]) > 0) {
                 $arResult["iq"]["vCard"]["TEL"][] = array("WORK" => array("#" => ""), "VOICE" => array("#" => ""), "NUMBER" => array("#" => $arUser["WORK_PHONE"]));
             }
             if (strlen($arUser["PERSONAL_PHONE"]) > 0) {
                 $arResult["iq"]["vCard"]["TEL"][] = array("HOME" => array("#" => ""), "VOICE" => array("#" => ""), "NUMBER" => array("#" => $arUser["PERSONAL_PHONE"]));
             }
             if (strlen($arUser["PERSONAL_FAX"]) > 0) {
                 $arResult["iq"]["vCard"]["TEL"][] = array("HOME" => array("#" => ""), "FAX" => array("#" => ""), "NUMBER" => array("#" => $arUser["PERSONAL_FAX"]));
             }
             if (strlen($arUser["WORK_STREET"]) > 0 || strlen($arUser["WORK_CITY"]) > 0 || strlen($arUser["WORK_COUNTRY"]) > 0) {
                 $arResult["iq"]["vCard"]["ADR"][] = array("WORK" => array("#" => ""), "EXTADD" => array("#" => ""), "STREET" => array("#" => $arUser["WORK_STREET"]), "LOCALITY" => array("#" => $arUser["WORK_CITY"]), "REGION" => array("#" => $arUser["WORK_STATE"]), "PCODE" => array("#" => $arUser["WORK_ZIP"]), "CTRY" => array("#" => GetCountryByID($arUser["WORK_COUNTRY"])));
             }
             if (strlen($arUser["PERSONAL_STREET"]) > 0 || strlen($arUser["PERSONAL_CITY"]) > 0 || strlen($arUser["PERSONAL_COUNTRY"]) > 0) {
                 $arResult["iq"]["vCard"]["ADR"][] = array("HOME" => array("#" => ""), "EXTADD" => array("#" => ""), "STREET" => array("#" => $arUser["PERSONAL_STREET"]), "LOCALITY" => array("#" => $arUser["PERSONAL_CITY"]), "REGION" => array("#" => $arUser["PERSONAL_STATE"]), "PCODE" => array("#" => $arUser["PERSONAL_ZIP"]), "CTRY" => array("#" => GetCountryByID($arUser["PERSONAL_COUNTRY"])));
             }
             if ($senderJId != $to) {
                 $arResult["iq"]["."]["from"] = $to;
             }
             //print_r($arResult);echo "\n*****************************************\n";
         } else {
             $arResult = array("iq" => array("." => array("type" => "error", "to" => $senderJId, "id" => $arMessage['iq']['.']['id']), "vCard" => array("." => array("xmlns" => "vcard-temp")), "error" => array("." => array("type" => "cancel"), "item-not-found" => array("." => array("xmlns" => "urn:ietf:params:xml:ns:xmpp-stanzas")))));
             if ($senderJId != $to) {
                 $arResult["iq"]["."]["from"] = $to;
             }
         }
     } elseif ($type == "set") {
         $arResult = array("iq" => array("." => array("type" => "result", "from" => $senderClient->GetClientDomain(), "id" => $arMessage['iq']['.']['id'])));
     }
     return $arResult;
 }
Esempio n. 6
0
 private function GetVCardContent(array $contact)
 {
     $arVCardContact = array("TYPE" => "VCARD", "VERSION" => "3.0", "N" => $contact["LAST_NAME"] . ";" . $contact["NAME"] . ";" . $contact["SECOND_NAME"] . ";;", "FN" => $contact["NAME"] . ($contact["SECOND_NAME"] ? " " . $contact["SECOND_NAME"] : "") . " " . $contact["LAST_NAME"], "EMAIL" => array("VALUE" => $contact["EMAIL"], "PARAMETERS" => array("TYPE" => "INTERNET")), "REV" => date("Ymd\\THis\\Z", MakeTimeStamp($contact["TIMESTAMP_X"])), "UID" => $contact["ID"]);
     if (intval($contact["PERSONAL_BIRTHDAY"]) > 0) {
         $arVCardContact["BDAY"] = date("Y-m-d", MakeTimeStamp($contact["PERSONAL_BIRTHDAY"]));
     }
     if (strlen($contact["WORK_PHONE"]) > 0) {
         $arVCardContact["TEL"][] = array("VALUE" => $contact["WORK_PHONE"], "PARAMETERS" => array("TYPE" => "WORK"));
     }
     if (strlen($contact["PERSONAL_MOBILE"]) > 0) {
         $arVCardContact["TEL"][] = array("VALUE" => $contact["PERSONAL_MOBILE"], "PARAMETERS" => array("TYPE" => "CELL"));
     }
     if (strlen($contact["PERSONAL_PHONE"]) > 0) {
         $arVCardContact["TEL"][] = array("VALUE" => $contact["PERSONAL_PHONE"], "PARAMETERS" => array("TYPE" => "HOME"));
     }
     if (strlen($contact["WORK_COMPANY"]) > 0) {
         $arVCardContact["ORG"] = $contact["WORK_COMPANY"];
     }
     if (strlen($contact["WORK_POSITION"]) > 0) {
         $arVCardContact["TITLE"] = $contact["WORK_POSITION"];
     }
     if (strlen($contact["WORK_WWW"]) > 0) {
         $arVCardContact["URL"][] = array("VALUE" => $contact["WORK_WWW"], "PARAMETERS" => array("TYPE" => "WORK"));
     }
     if (strlen($contact["PERSONAL_WWW"]) > 0) {
         $arVCardContact["URL"][] = array("VALUE" => $contact["PERSONAL_WWW"], "PARAMETERS" => array("TYPE" => "HOME"));
     }
     if (strlen($contact["PERSONAL_STREET"]) > 0) {
         $arVCardContact["ADR"][] = array("VALUE" => ";;" . $contact["PERSONAL_STREET"] . ";" . $contact["PERSONAL_CITY"] . ";" . $contact["PERSONAL_STATE"] . ";" . $contact["PERSONAL_ZIP"] . ";" . GetCountryByID($contact["PERSONAL_COUNTRY"]) . "", "PARAMETERS" => array("TYPE" => "HOME"));
     }
     if (strlen($contact["WORK_STREET"]) > 0) {
         $arVCardContact["ADR"][] = array("VALUE" => ";;" . $contact["WORK_STREET"] . ";" . $contact["WORK_CITY"] . ";" . $contact["WORK_STATE"] . ";" . $contact["WORK_ZIP"] . ";" . GetCountryByID($contact["WORK_COUNTRY"]) . "", "PARAMETERS" => array("TYPE" => "WORK"));
     }
     if (intval($contact["PERSONAL_PHOTO"]) > 0) {
         $arTempFile = CFile::ResizeImageGet($contact["PERSONAL_PHOTO"], array("width" => \Bitrix\Main\Config\Option::get("dav", "vcard_image_width", 400), "height" => \Bitrix\Main\Config\Option::get("dav", "vcard_image_width", 400)), BX_RESIZE_IMAGE_PROPORTIONAL, false, false, false, \Bitrix\Main\Config\Option::get("dav", "vcard_image_quality", 60));
         if ($arTempFile) {
             $cnt = file_get_contents($_SERVER["DOCUMENT_ROOT"] . $arTempFile['src']);
             if (!empty($cnt)) {
                 $arImageTypes = array(IMAGETYPE_JPEG => 'JPEG', IMAGETYPE_GIF => 'GIF', IMAGETYPE_PNG => 'PNG');
                 $imageType = "JPEG";
                 if ($imageInfo = CFile::GetImageSize($_SERVER["DOCUMENT_ROOT"] . $arTempFile['src']) && isset($arImageTypes[$imageInfo[2]])) {
                     $imageType = $arImageTypes[$imageInfo[2]];
                 }
                 $arVCardContact["PHOTO"] = array("VALUE" => base64_encode($cnt), "PARAMETERS" => array("ENCODING" => "BASE64", "TYPE" => $imageType));
             }
         }
     }
     $cal = new CDavICalendarComponent($arVCardContact);
     return $cal->Render();
 }
Esempio n. 7
0
 private function FormatFieldsArray($arFields)
 {
     $arFieldsNew = array();
     $arMap = array("NAME" => "GivenName", "LAST_NAME" => "Surname", "SECOND_NAME" => "MiddleName", "EMAIL" => "EmailAddresses", "WORK_POSITION" => "JobTitle", "PERSONAL_ZIP" => "PhysicalAddresses_Home_PostalCode", "PERSONAL_STATE" => "PhysicalAddresses_Home_State", "PERSONAL_CITY" => "PhysicalAddresses_Home_City", "PERSONAL_STREET" => "PhysicalAddresses_Home_Street", "WORK_ZIP" => "PhysicalAddresses_Business_PostalCode", "WORK_STATE" => "PhysicalAddresses_Business_State", "WORK_CITY" => "PhysicalAddresses_Business_City", "WORK_STREET" => "PhysicalAddresses_Business_Street", "PERSONAL_PHONE" => "PhoneNumbers_HomePhone", "PERSONAL_FAX" => "PhoneNumbers_HomePhone2", "PERSONAL_MOBILE" => "PhoneNumbers_MobilePhone", "PERSONAL_PAGER" => "PhoneNumbers_Pager", "WORK_PHONE" => "PhoneNumbers_BusinessPhone", "WORK_FAX" => "PhoneNumbers_BusinessPhone2", "WORK_PAGER" => "PhoneNumbers_OtherTelephone", "WORK_COMPANY" => "CompanyName", "WORK_WWW" => "BusinessHomePage", "PERSONAL_ICQ" => "ImAddresses", "WORK_DEPARTMENT" => "Department");
     foreach ($arFields as $key => $value) {
         if (array_key_exists($key, $arMap)) {
             $arFieldsNew[$arMap[$key]] = $this->Decode($value);
         } else {
             switch ($key) {
                 case "PERSONAL_COUNTRY":
                     $arFieldsNew["PhysicalAddresses_Home_CountryOrRegion"] = $this->Decode(GetCountryByID($value));
                     break;
                 case "WORK_COUNTRY":
                     $arFieldsNew["PhysicalAddresses_Business_CountryOrRegion"] = $this->Decode(GetCountryByID($value));
                     break;
             }
         }
     }
     return $arFieldsNew;
 }
Esempio n. 8
0
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
__IncludeLang(dirname(__FILE__) . "/lang/" . LANGUAGE_ID . "/result_modifier.php");
$arResult["USER_IDEA_LINK"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER_IDEAS"], array("user_id" => $arResult["arUser"]["ID"]));
//Prepare data
if ($arResult["User"]["PERSONAL_COUNTRY"] > 0) {
    $arResult["User"]["PERSONAL_COUNTRY"] = GetCountryByID($arResult["User"]["PERSONAL_COUNTRY"]);
} else {
    $arResult["User"]["PERSONAL_COUNTRY"] = "";
}
if ($arResult["User"]["WORK_COUNTRY"] > 0) {
    $arResult["User"]["WORK_COUNTRY"] = GetCountryByID($arResult["User"]["WORK_COUNTRY"]);
} else {
    $arResult["User"]["WORK_COUNTRY"] = "";
}
if (strlen($arResult["User"]["PERSONAL_GENDER"]) > 0) {
    $arResult["User"]["PERSONAL_GENDER"] = $arResult["arSex"][$arResult["User"]["PERSONAL_GENDER"]];
}
if (strlen($arResult["User"]["LAST_ACTIVITY_DATE"]) > 0 && strlen($arParams["DATE_TIME_FORMAT"]) > 0) {
    $arResult["User"]["LAST_ACTIVITY_DATE"] = date($arParams["DATE_TIME_FORMAT"], strtotime($arResult["User"]["LAST_ACTIVITY_DATE"]));
}
//prepate titles
$arResult["DISPLAY_FIELDS"] = array();
$arResult["DISPLAY_FIELDS"]['FIELDS_MAIN_DATA'] = array("LAST_ACTIVITY_DATE" => GetMessage("IDEA_USER_INFO_LAST_ACTIVITY_DATE_TITLE"), "PERSONAL_CITY" => GetMessage("IDEA_USER_INFO_PERSONAL_CITY_TITLE"), "WORK_COMPANY" => GetMessage("IDEA_USER_INFO_WORK_COMPANY_TITLE"));
$arResult["DISPLAY_FIELDS"]['FIELDS_CONTACT_DATA'] = array("PERSONAL_PHONE" => GetMessage("IDEA_USER_INFO_PERSONAL_PHONE_TITLE"), "PERSONAL_CITY" => GetMessage("IDEA_USER_INFO_PERSONAL_CITY_TITLE"), "PERSONAL_STATE" => GetMessage("IDEA_USER_INFO_PERSONAL_STATE_TITLE"), "PERSONAL_COUNTRY" => GetMessage("IDEA_USER_INFO_PERSONAL_COUNTRY_TITLE"), "WORK_COMPANY" => GetMessage("IDEA_USER_INFO_WORK_COMPANY_TITLE"), "WORK_POSITION" => GetMessage("IDEA_USER_INFO_WORK_POSITION_TITLE"), "WORK_WWW" => GetMessage("IDEA_USER_INFO_WORK_WWW_TITLE"), "WORK_PHONE" => GetMessage("IDEA_USER_INFO_WORK_PHONE_TITLE"), "WORK_CITY" => GetMessage("IDEA_USER_INFO_WORK_CITY_TITLE"), "WORK_STATE" => GetMessage("IDEA_USER_INFO_WORK_STATE_TITLE"), "WORK_COUNTRY" => GetMessage("IDEA_USER_INFO_WORK_COUNTRY_TITLE"), "WORK_PROFILE" => GetMessage("IDEA_USER_INFO_WORK_PROFILE_TITLE"));
$arResult["DISPLAY_FIELDS"]['FIELDS_PERSONAL_DATA'] = array("DATE_REGISTER" => GetMessage("IDEA_USER_INFO_DATE_REGISTER_TITLE"), "PERSONAL_GENDER" => GetMessage("IDEA_USER_INFO_PERSONAL_GENDER_TITLE"), "PERSONAL_BIRTHDATE" => GetMessage("IDEA_USER_INFO_PERSONAL_BIRTHDATE_TITLE"), "SECOND_NAME" => GetMessage("IDEA_USER_INFO_SECOND_NAME_TITLE"));
Esempio n. 9
0
</td>
			<td class="forumbodytext" width="30%"><?php 
        $str_LOCATION = GetCountryByID($f_PERSONAL_COUNTRY);
        if (strlen($str_LOCATION) > 0 && strlen($f_PERSONAL_CITY) > 0) {
            $str_LOCATION .= ", ";
        }
        $str_LOCATION .= $f_PERSONAL_CITY;
        echo $str_LOCATION;
        ?>
&nbsp;</td>
			<td class="forumbodytext" width="20%"><?php 
        echo GetMessage("FV_LOCATION");
        ?>
</td>
			<td class="forumbodytext" width="30%"><?php 
        $str_LOCATION = GetCountryByID($f_WORK_COUNTRY);
        if (strlen($str_LOCATION) > 0 && strlen($f_WORK_CITY) > 0) {
            $str_LOCATION .= ", ";
        }
        $str_LOCATION .= $f_WORK_CITY;
        echo $str_LOCATION;
        ?>
&nbsp;</td>
		</tr>
		<tr valign="top" class="forumbody">
			<td class="forumbodytext" width="20%"><?php 
        echo GetMessage("FV_INTERESTS");
        ?>
</td>
			<td class="forumbodytext" width="30%"><?php 
        $fu_INTERESTS = preg_replace("'((http|https|ftp):\\/\\/[^ \t\r\n\"Р-пр-џ]+)'ies", "ForumUrlExtractTmp('\\1')", $fu_INTERESTS);
Esempio n. 10
0
    unset($arListParams["NAV_PARAMS"]);
}
if (strlen($arResult["search_name"]) > 0) {
    $arFilter["NAME"] = $arResult["search_name"];
}
CpageOption::SetOptionString("main", "nav_page_in_session", "N");
$arSelect = array('ID', 'TIMESTAMP_X', 'NAME', 'LAST_NAME', 'SECOND_NAME', 'LOGIN', 'EMAIL', 'LID', 'DATE_REGISTER', 'PERSONAL_PROFESSION', 'PERSONAL_WWW', 'PERSONAL_ICQ', 'PERSONAL_GENDER', 'PERSONAL_BIRTHDATE', 'PERSONAL_PHOTO', 'PERSONAL_PHONE', 'PERSONAL_FAX', 'PERSONAL_MOBILE', 'PERSONAL_PAGER', 'PERSONAL_STREET', 'PERSONAL_MAILBOX', 'PERSONAL_CITY', 'PERSONAL_STATE', 'PERSONAL_ZIP', 'PERSONAL_COUNTRY', 'PERSONAL_NOTES', 'WORK_COMPANY', 'WORK_DEPARTMENT', 'WORK_POSITION', 'WORK_WWW', 'WORK_PHONE', 'WORK_FAX', 'WORK_PAGER', 'WORK_STREET', 'WORK_MAILBOX', 'WORK_CITY', 'WORK_STATE', 'WORK_ZIP', 'WORK_COUNTRY', 'WORK_PROFILE', 'WORK_LOGO', 'WORK_NOTES', 'PERSONAL_BIRTHDAY', 'LAST_ACTIVITY_DATE', 'IS_ONLINE');
$dbUsers = CUser::GetList($sort_by = 'last_name', $sort_order = 'asc', $arFilter, $arListParams);
$arResult["NAV_STRING"] = $dbUsers->GetPageNavString("", $arParams["NAV_TEMPLATE"]);
$arUsers = array();
while ($arUser = $dbUsers->Fetch()) {
    foreach ($arUser as $k => $value) {
        if (!in_array($k, $arSelect) && substr($k, 0, 3) != 'UF_') {
            unset($arUser[$k]);
        } elseif ($k == "PERSONAL_COUNTRY" || $k == "WORK_COUNTRY") {
            $arUser[$k] = GetCountryByID($value);
        }
    }
    $arUser['URL'] = str_replace('#ID#', $arUser['ID'], $arParams['PATH_TO_USER']);
    $arUser['CHAT_URL'] = str_replace('#ID#', $arUser['ID'], $arParams['PATH_TO_CHAT']);
    if ($arUser['PERSONAL_PHOTO'] > 0) {
        $arUser['PERSONAL_PHOTO_B'] = CFile::ResizeImageGet($arUser['PERSONAL_PHOTO'], array("width" => 80, "height" => 80));
        $arUser['PERSONAL_PHOTO_S'] = CFile::ResizeImageGet($arUser['PERSONAL_PHOTO'], array("width" => 40, "height" => 40));
    }
    $arUser["IS_ONLINE"] = $arUser["IS_ONLINE"] == "Y";
    if ($componentPage == "user") {
        if (CModule::IncludeModule('intranet')) {
            $arResult['IS_HONOURED'] = CIntranetUtils::IsUserHonoured($arUser["ID"]);
            //$arResult['IS_ABSENT'] = CIntranetUtils::IsUserAbsent($arUser["ID"], $arParams['CALENDAR_USER_IBLOCK_ID']);
            //departments and managers
            $obCache = new CPHPCache();
Esempio n. 11
0
 public function executeComponent()
 {
     if (!CModule::IncludeModule('intranet')) {
         ShowError(GetMessage('INTR_ISL_INTRANET_MODULE_NOT_INSTALLED'));
         return;
     }
     if (!CModule::IncludeModule('socialnetwork')) {
         return;
     }
     $showDepHeadAdditional = $this->arParams['SHOW_DEP_HEAD_ADDITIONAL'] == 'Y';
     $bNav = $this->arParams['SHOW_NAV_TOP'] == 'Y' || $this->arParams['SHOW_NAV_BOTTOM'] == 'Y';
     $isEnoughFiltered = $this->fillFilter();
     list($cntStartCacheId, $cntStart) = $this->getCacheIdWithDepartment();
     if ($this->arParams['SHOW_UNFILTERED_LIST'] == 'N' && !$this->bExcel && !$isEnoughFiltered) {
         $this->arResult['EMPTY_UNFILTERED_LIST'] = 'Y';
         $this->includeComponentTemplate();
         return;
     }
     $this->arParams['bCache'] = $cntStart == count($this->arFilter) && !$this->bExcel && $this->arParams['CACHE_TYPE'] == 'Y' && $this->arParams['CACHE_TIME'] > 0;
     $this->arResult['FILTER_VALUES'] = $this->arFilter;
     if (!$this->bExcel && $bNav) {
         CPageOption::SetOptionString("main", "nav_page_in_session", "N");
     }
     $bFromCache = false;
     if ($this->arParams['bCache']) {
         if ($bFromCache = $this->initCache($cntStartCacheId)) {
             $vars = $this->obCache->getVars();
             $this->arResult['USERS'] = $vars['USERS'];
             $this->arResult['DEPARTMENTS'] = $vars['DEPARTMENTS'];
             $this->arResult['DEPARTMENT_HEAD'] = $vars['DEPARTMENT_HEAD'];
             $this->arResult['USERS_NAV'] = $vars['USERS_NAV'];
             $strUserIDs = $vars['STR_USER_ID'];
         } else {
             $this->obCache->startDataCache();
             $this->getCacheManager()->startTagCache($this->cacheDir);
             $this->getCacheManager()->registerTag('intranet_users');
         }
     }
     if (!$bFromCache) {
         // get users list
         $obUser = new CUser();
         $arSelect = array('ID', 'ACTIVE', 'CONFIRM_CODE', 'DEP_HEAD', 'GROUP_ID', 'NAME', 'LAST_NAME', 'SECOND_NAME', 'LOGIN', 'EMAIL', 'LID', 'DATE_REGISTER', 'PERSONAL_PROFESSION', 'PERSONAL_WWW', 'PERSONAL_ICQ', 'PERSONAL_GENDER', 'PERSONAL_BIRTHDATE', 'PERSONAL_PHOTO', 'PERSONAL_PHONE', 'PERSONAL_FAX', 'PERSONAL_MOBILE', 'PERSONAL_PAGER', 'PERSONAL_STREET', 'PERSONAL_MAILBOX', 'PERSONAL_CITY', 'PERSONAL_STATE', 'PERSONAL_ZIP', 'PERSONAL_COUNTRY', 'PERSONAL_NOTES', 'WORK_COMPANY', 'WORK_DEPARTMENT', 'WORK_POSITION', 'WORK_WWW', 'WORK_PHONE', 'WORK_FAX', 'WORK_PAGER', 'WORK_STREET', 'WORK_MAILBOX', 'WORK_CITY', 'WORK_STATE', 'WORK_ZIP', 'WORK_COUNTRY', 'WORK_PROFILE', 'WORK_LOGO', 'WORK_NOTES', 'PERSONAL_BIRTHDAY', 'LAST_ACTIVITY_DATE', 'LAST_LOGIN', 'IS_ONLINE');
         $this->arResult['USERS'] = array();
         $this->arResult['DEPARTMENTS'] = array();
         $this->arResult['DEPARTMENT_HEAD'] = 0;
         // disable/enable appearing of department head on page
         if ($showDepHeadAdditional && !empty($this->arFilter['UF_DEPARTMENT']) && is_array($this->arFilter['UF_DEPARTMENT'])) {
             if ($this->arParams['bCache']) {
                 $this->getCacheManager()->registerTag('intranet_department_' . $this->arFilter['UF_DEPARTMENT'][0]);
             }
             $managerId = CIntranetUtils::GetDepartmentManagerID($this->arFilter['UF_DEPARTMENT'][0]);
             $appendManager = CUser::GetByID($managerId)->Fetch();
             if ($appendManager) {
                 $this->arResult['DEPARTMENT_HEAD'] = $appendManager['ID'];
                 $this->arFilter['!ID'] = $appendManager['ID'];
                 $this->arResult['USERS'][$appendManager['ID']] = $appendManager;
             }
         }
         $bDisable = false;
         if (CModule::IncludeModule('extranet')) {
             if (CExtranet::IsExtranetSite() && !CExtranet::IsExtranetAdmin()) {
                 $arIDs = array_merge(CExtranet::GetMyGroupsUsers(SITE_ID), CExtranet::GetPublicUsers());
                 if ($this->arParams['bCache']) {
                     $this->getCacheManager()->registerTag('extranet_public');
                     $this->getCacheManager()->registerTag('extranet_user_' . $this->getUser()->getID());
                 }
                 if (false !== ($key = array_search($this->getUser()->getID(), $arIDs))) {
                     unset($arIDs[$key]);
                 }
                 if (count($arIDs) > 0) {
                     $this->arFilter['ID'] = implode('|', array_unique($arIDs));
                 } else {
                     $bDisable = true;
                 }
             }
         }
         if ($bDisable) {
             $dbUsers = new CDBResult();
             $dbUsers->initFromArray(array());
         } else {
             $arListParams = array('SELECT' => array('UF_*'), 'ONLINE_INTERVAL' => static::LAST_ACTIVITY);
             if (!$this->bExcel && $this->arParams['USERS_PER_PAGE'] > 0) {
                 $arListParams['NAV_PARAMS'] = array('nPageSize' => $this->arParams['USERS_PER_PAGE'], 'bShowAll' => false);
             }
             $dbUsers = $obUser->GetList($sortBy = 'last_name', $sortDir = 'asc', $this->arFilter, $arListParams);
         }
         $strUserIDs = '';
         while ($arUser = $dbUsers->Fetch()) {
             $this->arResult['USERS'][$arUser['ID']] = $arUser;
             $strUserIDs .= ($strUserIDs === '' ? '' : '|') . $arUser['ID'];
         }
         $structure = CIntranetUtils::getStructure();
         $this->arResult['DEPARTMENTS'] = $structure['DATA'];
         $this->setDepWhereUserIsHead();
         $arAdmins = array();
         /** @noinspection PhpUndefinedVariableInspection */
         $rsUsers = CUser::GetList($o, $b, array("GROUPS_ID" => array(static::ADMIN_GROUP_ID)), array("SELECT" => array("ID")));
         while ($ar = $rsUsers->Fetch()) {
             $arAdmins[$ar["ID"]] = $ar["ID"];
         }
         $extranetUsers = array();
         if (CModule::IncludeModule('extranet') && ($extranetGroupID = CExtranet::GetExtranetUserGroupID())) {
             $rsUsers = CUser::GetList($o, $b, array("GROUPS_ID" => array($extranetGroupID)), array("SELECT" => array("ID")));
             while ($ar = $rsUsers->Fetch()) {
                 $extranetUsers[$ar["ID"]] = $ar["ID"];
             }
         }
         $displayPhoto = $this->displayPersonalPhoto();
         foreach ($this->arResult['USERS'] as $key => &$arUser) {
             // cache optimization
             foreach ($arUser as $k => $value) {
                 if (is_array($value) && count($value) <= 0 || !is_array($value) && strlen($value) <= 0 || !in_array($k, $arSelect) && substr($k, 0, 3) != 'UF_') {
                     unset($arUser[$k]);
                 } elseif ($k == "PERSONAL_COUNTRY" || $k == "WORK_COUNTRY") {
                     $arUser[$k] = GetCountryByID($value);
                 }
             }
             $arUser['IS_ONLINE'] = $arUser['IS_ONLINE'] == 'Y' ? true : false;
             if ($this->arParams['bCache']) {
                 $this->getCacheManager()->registerTag('intranet_user_' . $arUser['ID']);
             }
             $arUser['DETAIL_URL'] = str_replace(array('#ID#', '#USER_ID#'), $arUser['ID'], $this->arParams['DETAIL_URL']);
             $arUser['ADMIN'] = isset($arAdmins[$arUser['ID']]);
             //is user admin/extranet
             $arUser['ACTIVITY_STATUS'] = 'active';
             $arUser['EXTRANET'] = false;
             if (isset($extranetUsers[$arUser['ID']]) && empty($arUser['UF_DEPARTMENT'][0])) {
                 $arUser["ACTIVITY_STATUS"] = 'extranet';
                 $arUser['EXTRANET'] = true;
             }
             if ($arUser["ACTIVE"] == "N") {
                 $arUser["ACTIVITY_STATUS"] = 'fired';
             }
             if (!empty($arUser["CONFIRM_CODE"])) {
                 $arUser["ACTIVITY_STATUS"] = 'inactive';
             }
             $arUser['SHOW_USER'] = $this->arParams["SHOW_USER"];
             $arUser['IS_FEATURED'] = CIntranetUtils::IsUserHonoured($arUser['ID']);
             $arDep = array();
             foreach ((array) $arUser['UF_DEPARTMENT'] as $sect) {
                 $arDep[$sect] = $this->arResult['DEPARTMENTS'][$sect]['NAME'];
             }
             $arUser['UF_DEPARTMENT'] = $arDep;
             if (!$this->bExcel && $displayPhoto) {
                 $this->resizePersonalPhoto($arUser);
             }
             if (count($arUser['UF_DEPARTMENT']) <= 0 && !$arUser['EXTRANET']) {
                 unset($this->arResult['USERS'][$key]);
             }
         }
         unset($arUser, $key);
         $this->arResult["USERS_NAV"] = $bNav ? $dbUsers->GetPageNavStringEx($navComponentObject = null, $this->arParams["NAV_TITLE"]) : '';
         if ($this->arParams['bCache']) {
             $this->getCacheManager()->endTagCache();
             $this->obCache->endDataCache(array('USERS' => $this->arResult['USERS'], 'STR_USER_ID' => $strUserIDs, 'DEPARTMENTS' => $this->arResult['DEPARTMENTS'], 'DEPARTMENT_HEAD' => $this->arResult['DEPARTMENT_HEAD'], 'USERS_NAV' => $this->arResult['USERS_NAV']));
         }
     }
     $this->initSonetUserPerms(array_keys($this->arResult['USERS']));
     $this->workWithNonCacheAttr($bFromCache, $strUserIDs);
     if (!$this->bExcel) {
         $this->arResult['bAdmin'] = $this->getUser()->canDoOperation('edit_all_users') || $this->getUser()->canDoOperation('edit_subordinate_users');
         $this->IncludeComponentTemplate();
     } else {
         $this->getApplication()->restartBuffer();
         // hack. any '.default' customized template should contain 'excel' page
         $this->setTemplateName('.default');
         Header("Content-Type: application/force-download");
         Header("Content-Type: application/octet-stream");
         Header("Content-Type: application/download");
         Header("Content-Disposition: attachment;filename=users.xls");
         Header("Content-Transfer-Encoding: binary");
         $this->IncludeComponentTemplate('excel');
         die;
     }
     return;
 }