Esempio n. 1
0
 public static function Add($arFields)
 {
     global $DB;
     $arFields1 = array();
     foreach ($arFields as $key => $value) {
         if (substr($key, 0, 1) == "=") {
             $arFields1[substr($key, 1)] = $value;
             unset($arFields[$key]);
         }
     }
     if (!CBlogCandidate::CheckFields("ADD", $arFields)) {
         return false;
     }
     $arInsert = $DB->PrepareInsert("b_blog_user2blog", $arFields);
     foreach ($arFields1 as $key => $value) {
         if (strlen($arInsert[0]) > 0) {
             $arInsert[0] .= ", ";
         }
         $arInsert[0] .= $key;
         if (strlen($arInsert[1]) > 0) {
             $arInsert[1] .= ", ";
         }
         $arInsert[1] .= $value;
     }
     $ID = False;
     if (strlen($arInsert[0]) > 0) {
         $strSql = "INSERT INTO b_blog_user2blog(" . $arInsert[0] . ") " . "VALUES(" . $arInsert[1] . ")";
         $DB->Query($strSql, False, "File: " . __FILE__ . "<br>Line: " . __LINE__);
         $ID = IntVal($DB->LastID());
     }
     if ($ID) {
         $arCandidat = CBlogCandidate::GetByID($ID);
         if ($arCandidat) {
             $arBlog = CBlog::GetByID($arCandidat["BLOG_ID"]);
             if (strlen($arBlog["AUTO_GROUPS"]) > 0) {
                 $arAutoGroups = unserialize($arBlog["AUTO_GROUPS"]);
                 if (is_array($arAutoGroups) && count($arAutoGroups) > 0) {
                     $arBlogUser = CBlogUser::GetByID($arCandidat["USER_ID"], BLOG_BY_USER_ID);
                     if (!$arBlogUser) {
                         CBlogUser::Add(array("USER_ID" => $arCandidat["USER_ID"], "=LAST_VISIT" => $GLOBALS["DB"]->GetNowFunction(), "=DATE_REG" => $GLOBALS["DB"]->GetNowFunction(), "ALLOW_POST" => "Y"));
                     }
                     CBlogUser::AddToUserGroup($arCandidat["USER_ID"], $arCandidat["BLOG_ID"], $arAutoGroups, "", BLOG_BY_USER_ID, BLOG_CHANGE);
                     CBlogCandidate::Delete($ID);
                 }
             }
         }
     }
     return $ID;
 }
Esempio n. 2
0
 public function OnAfterUserAuthorizeHandler(&$arFields)
 {
     global $USER;
     $rsUser = CUser::GetByID($USER->GetId());
     $arUser = $rsUser->Fetch();
     $social = MH_Social_SocialFabric::getSocial($arUser['EXTERNAL_AUTH_ID'], $arUser["XML_ID"]);
     if ($arUser['ID'] > 0 && $arUser['UF_RULES'] != '1') {
         $props = array();
         if (!$arUser['PERSONAL_GENDER']) {
             $props['PERSONAL_GENDER'] = $social->getGender();
         }
         if (!$arUser['PERSONAL_BIRTHDAY']) {
             $props['PERSONAL_BIRTHDAY'] = $social->getBirthday();
         }
         if (!empty($props)) {
             $user = new CUser();
             $user->Update($arUser["ID"], $props);
         }
         CModule::IncludeModule("blog");
         $blogUser = CBlogUser::GetByID($arUser['ID'], BLOG_BY_USER_ID);
         if (!$blogUser || !$blogUser['AVATAR']) {
             $props = array('USER_ID' => $arUser['ID']);
             if ($path = $social->getPicture()) {
                 $picture = CFile::MakeFileArray($path);
                 $props['AVATAR'] = $picture;
                 $user = new CBlogUser();
                 if ($blogUser) {
                     $user->Update($blogUser["ID"], $props);
                 } else {
                     $user->Add($props);
                 }
                 unlink($path);
             }
         }
     }
 }
Esempio n. 3
0
 }
 if ($strError == '') {
     if (CModule::IncludeModule("blog")) {
         $APPLICATION->ResetException();
         $arblogFields = array("ALIAS" => $_REQUEST["blog_ALIAS"], "DESCRIPTION" => $_REQUEST["blog_DESCRIPTION"], "INTERESTS" => $_REQUEST["blog_INTERESTS"], "AVATAR" => $_FILES["blog_AVATAR"]);
         $arblogFields["AVATAR"]["del"] = $_REQUEST["blog_AVATAR_del"];
         $ar_res = CBlogUser::GetByID($arResult["ID"], BLOG_BY_USER_ID);
         if ($ar_res) {
             $arblogFields["AVATAR"]["old_file"] = $ar_res["AVATAR"];
             $BLOG_USER_ID = intval($ar_res["ID"]);
             $BLOG_USER_ID1 = CBlogUser::Update($BLOG_USER_ID, $arblogFields);
             $blog_res = intval($BLOG_USER_ID1) > 0;
         } else {
             $arblogFields["USER_ID"] = $arResult["ID"];
             $arblogFields["~DATE_REG"] = CDatabase::CurrentTimeFunction();
             $BLOG_USER_ID = CBlogUser::Add($arblogFields);
             $blog_res = intval($BLOG_USER_ID) > 0;
         }
         if ($ex = $APPLICATION->GetException()) {
             $strError = $ex->GetString();
         }
     }
 }
 if (CModule::IncludeModule("learning") && $strError == '') {
     $arStudentFields = array("RESUME" => $_REQUEST["student_RESUME"], "PUBLIC_PROFILE" => $_REQUEST["student_PUBLIC_PROFILE"] == "Y" ? "Y" : "N");
     $ar_res = CStudent::GetList(array(), array("USER_ID" => $arResult["ID"]));
     if ($arStudent = $ar_res->Fetch()) {
         $learning_res = CStudent::Update($arResult["ID"], $arStudentFields);
     } else {
         $arStudentFields["USER_ID"] = $arResult["ID"];
         $STUDENT_USER_ID = CStudent::Add($arStudentFields);
Esempio n. 4
0
 function SetLastVisit()
 {
     if (isset($GLOBALS["BLOG_USER"]["BLOG_LAST_VISIT_SET"]) && $GLOBALS["BLOG_USER"]["BLOG_LAST_VISIT_SET"] == "Y") {
         return True;
     }
     if (!$GLOBALS["USER"]->IsAuthorized()) {
         return False;
     }
     $userID = IntVal($GLOBALS["USER"]->GetID());
     if ($userID <= 0) {
         return False;
     }
     $arBlogUser = CBlogUser::GetByID($userID, BLOG_BY_USER_ID);
     if ($arBlogUser) {
         CBlogUser::Update($arBlogUser["ID"], array("=LAST_VISIT" => $GLOBALS["DB"]->GetNowFunction()));
     } else {
         CBlogUser::Add(array("USER_ID" => $userID, "=LAST_VISIT" => $GLOBALS["DB"]->GetNowFunction(), "=DATE_REG" => $GLOBALS["DB"]->GetNowFunction(), "ALLOW_POST" => "Y"));
     }
     $GLOBALS["BLOG_USER"]["BLOG_LAST_VISIT_SET"] = "Y";
     return True;
 }
Esempio n. 5
0
$arResult["arUser"] = $dbUser->GetNext();
$arResult["bEdit"] = $_REQUEST['mode'] == 'edit' && ($USER->GetID() == $arParams["ID"] || $USER->IsAdmin()) ? "Y" : "N";
if ($arParams["ID"] == $USER->GetID() || $USER->IsAdmin()) {
    $arResult["urlToEdit"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER_EDIT"], array("user_id" => $arParams["ID"]));
}
if (!is_array($arResult["arUser"])) {
    $arResult["FATAL_ERROR"] = GetMessage("B_B_USER_NO_USER");
    CHTTP::SetStatus("404 Not Found");
} else {
    $BLOG_USER_ID = intval($_POST["BLOG_USER_ID"]);
    if ($_SERVER["REQUEST_METHOD"] == "POST" && strlen($_POST["save"]) > 0 && check_bitrix_sessid()) {
        if (CModule::IncludeModule("blog")) {
            if ($BLOG_USER_ID <= 0) {
                $BlogUser = CBlogUser::GetByID($arParams["ID"], BLOG_BY_USER_ID);
                if (empty($BlogUser)) {
                    $BLOG_USER_ID = CBlogUser::Add(array("USER_ID" => $arParams["ID"], "=LAST_VISIT" => $DB->GetNowFunction(), "=DATE_REG" => $DB->GetNowFunction(), "ALLOW_POST" => "Y", "PATH" => CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER"], array("user_id" => $arParams["ID"]))));
                    $BlogUser = CBlogUser::GetByID($BLOG_USER_ID);
                } else {
                    $BLOG_USER_ID = $BlogUser["ID"];
                }
            } else {
                $BlogUser = CBlogUser::GetByID($BLOG_USER_ID);
            }
            $BlogUser = CBlogTools::htmlspecialcharsExArray($BlogUser);
            if ($BlogUser && ($USER->GetID() == $BlogUser["USER_ID"] || $USER->IsAdmin())) {
                $arPICTURE = $_FILES["AVATAR"];
                $arPICTURE["old_file"] = $BlogUser["AVATAR"];
                $arPICTURE["del"] = $_POST["AVATAR_del"];
                $arHobbyDB = array();
                $arHobby = explode(",", $_POST["INTERESTS"]);
                foreach ($arHobby as $Hobby) {
Esempio n. 6
0
 $arResult["Blog"] = $arBlog;
 if (CBlog::CanUserManageBlog($arBlog["ID"], IntVal($USER->GetID()))) {
     if ($arParams["SET_TITLE"] == "Y") {
         $APPLICATION->SetTitle(str_replace("#NAME#", $arBlog["NAME"], GetMessage("B_B_USE_TITLE_BLOG")));
     }
     $errorMessage = "";
     $okMessage = "";
     $arBlogUser = CBlogUser::GetByID($arUser["ID"], BLOG_BY_USER_ID);
     $arBlogUser = CBlogTools::htmlspecialcharsExArray($arBlogUser);
     $arResult["BlogUser"] = $arBlogUser;
     if ($GLOBALS["user_action"] == "Y" && check_bitrix_sessid()) {
         if (strlen($GLOBALS["cancel"]) > 0) {
             LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER_SETTINGS"], array("blog" => $arBlog["URL"])));
         }
         if (empty($arBlogUser)) {
             CBlogUser::Add(array("USER_ID" => $arUser["ID"], "=LAST_VISIT" => $DB->GetNowFunction(), "=DATE_REG" => $DB->GetNowFunction(), "ALLOW_POST" => "Y"));
         }
         CBlogUser::AddToUserGroup($arUser["ID"], $arBlog["ID"], $GLOBALS["add2groups"], "", BLOG_BY_USER_ID, BLOG_CHANGE);
         $dbCandidate = CBlogCandidate::GetList(array(), array("BLOG_ID" => $arBlog["ID"], "USER_ID" => $arUser["ID"]));
         if ($arCandidate = $dbCandidate->Fetch()) {
             CBlogCandidate::Delete($arCandidate["ID"]);
         }
         LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER_SETTINGS"], array("blog" => $arBlog["URL"])));
     }
     $arResult["ERROR_MESSAGE"] = $errorMessage;
     $arResult["OK_MESSAGE"] = $okMessage;
     $arResult["userName"] = CBlogUser::GetUserName($arBlogUser["ALIAS"], $arUser["NAME"], $arUser["LAST_NAME"], $arUser["LOGIN"]);
     $arResult["urlToUser"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER"], array("user_id" => $arUser["ID"]));
     $arResult["arUserGroups"] = CBlogUser::GetUserGroups($arUser["ID"], $arBlog["ID"], "Y", BLOG_BY_USER_ID);
     $dbBlogGroups = CBlogUserGroup::GetList(array("NAME" => "ASC"), array("BLOG_ID" => $arBlog["ID"]), false, false, array("ID", "NAME"));
     while ($arBlogGroups = $dbBlogGroups->GetNext()) {
Esempio n. 7
0
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
IncludeTemplateLangFile(__FILE__);
$strErrorMessage = "";
$BLOG_USER_ID = intval($_POST["BLOG_USER_ID"]);
if ($_SERVER["REQUEST_METHOD"] == "POST" && $_POST["save"] != "" && check_bitrix_sessid()) {
    if (CModule::IncludeModule("blog")) {
        if ($BLOG_USER_ID <= 0) {
            $BLOG_USER_ID = CBlogUser::Add(array("USER_ID" => $USER->GetID(), "=LAST_VISIT" => $GLOBALS["DB"]->GetNowFunction(), "=DATE_REG" => $GLOBALS["DB"]->GetNowFunction(), "ALLOW_POST" => "Y"));
        }
        $BlogUser = CBlogUser::GetByID($BLOG_USER_ID);
        if ($BlogUser && ($USER->GetID() == $BlogUser["USER_ID"] || $USER->IsAdmin())) {
            $arPICTURE = $_FILES["BLOG_USER_AVATAR"];
            $arPICTURE["old_file"] = $BlogUser["AVATAR"];
            $arPICTURE["del"] = $_POST["BLOG_USER_AVATAR_del"];
            $arHobbyDB = array();
            $arHobby = explode(",", $_POST["BLOG_USER_INTERESTS"]);
            foreach ($arHobby as $Hobby) {
                $Hobby = trim($Hobby);
                $arHobbyDB[] = $Hobby;
            }
            $arHobbyDB = array_unique($arHobbyDB);
            if (count($arHobbyDB) > 0) {
                $Hobby = implode(", ", $arHobbyDB);
            } else {
                $Hobby = "";
            }
            $arFields = array("ALIAS" => $_POST["BLOG_USER_ALIAS"], "DESCRIPTION" => $_POST["BLOG_USER_DESCRIPTION"], "AVATAR" => $arPICTURE, "INTERESTS" => $Hobby);
Esempio n. 8
0
         foreach ($arBlogFields as $key => $value) {
             if (!in_array('BLOG_' . $key, $arParams['EDITABLE_FIELDS'])) {
                 unset($arBlogFields[$key]);
             }
         }
         if (isset($arBlogFields['AVATAR'])) {
             $arBlogFields["AVATAR"]["del"] = $_POST['BLOG_AVATAR_del'];
             $arBlogFields["AVATAR"]["old_file"] = $arResult['User']["BLOG_AVATAR"];
         }
         if (count($arBlogFields) > 0) {
             if ($arResult['User']['BLOG_ID']) {
                 $BID = CBlogUser::Update($arResult['User']['BLOG_ID'], $arBlogFields);
             } else {
                 $arBlogFields["USER_ID"] = $arParams['ID'];
                 $arBlogFields["~DATE_REG"] = CDatabase::CurrentTimeFunction();
                 $BID = CBlogUser::Add($arBlogFields);
             }
             if (!$BID && ($ex = $APPLICATION->GetException())) {
                 $strErrorMessage = $ex->GetString();
             }
         }
     }
     if (IsModuleInstalled("bitrix24") && isset($arFieldsValue["GROUP_ID"]) && defined("BX_COMP_MANAGED_CACHE")) {
         global $CACHE_MANAGER;
         $CACHE_MANAGER->ClearByTag('sonet_group');
     }
 }
 if (strlen($strErrorMessage) <= 0) {
     if ($_REQUEST['backurl']) {
         LocalRedirect($_REQUEST['backurl']);
     } else {