コード例 #1
0
ファイル: points.php プロジェクト: rasuldev/torino
 public static function Add($arFields)
 {
     global $DB;
     if (!CForumUserPoints::CheckFields("ADD", $arFields)) {
         return false;
     }
     $arInsert = $DB->PrepareInsert("b_forum_user_points", $arFields);
     $strDatePostField = "";
     $strDatePostValue = "";
     if (!is_set($arFields, "DATE_UPDATE")) {
         $strDatePostField .= ", DATE_UPDATE";
         $strDatePostValue .= ", " . $DB->GetNowFunction() . "";
     }
     $strSql = "INSERT INTO b_forum_user_points(" . $arInsert[0] . $strDatePostField . ") VALUES(" . $arInsert[1] . $strDatePostValue . ")";
     $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
     // Recount user points
     if (intVal($arFields["TO_USER_ID"]) > 0) {
         $arUserFields = array("POINTS" => CForumUser::CountUserPoints($arFields["TO_USER_ID"]));
         $arUser = CForumUser::GetByUSER_ID($arFields["TO_USER_ID"]);
         if ($arUser) {
             CForumUser::Update(intVal($arUser["ID"]), $arUserFields);
         } else {
             $arUserFields["USER_ID"] = $arFields["TO_USER_ID"];
             $ID_tmp = CForumUser::Add($arUserFields);
         }
     }
     return true;
 }
コード例 #2
0
ファイル: component.php プロジェクト: Satariall/izurit
     }
     $USER_FIELD_MANAGER->EditFormAddFields("USER", $arFields);
     if (!$obUser->Update($arResult["ID"], $arFields, true)) {
         $strError .= $obUser->LAST_ERROR;
     }
 }
 if ($strError == '') {
     if (CModule::IncludeModule("forum")) {
         $APPLICATION->ResetException();
         $arforumFields = array("SHOW_NAME" => $_REQUEST["forum_SHOW_NAME"] == "Y" ? "Y" : "N", "DESCRIPTION" => $_REQUEST["forum_DESCRIPTION"], "INTERESTS" => $_REQUEST["forum_INTERESTS"], "SIGNATURE" => $_REQUEST["forum_SIGNATURE"], "AVATAR" => $_FILES["forum_AVATAR"]);
         $arforumFields["AVATAR"]["del"] = $_REQUEST["forum_AVATAR_del"];
         $ar_res = CForumUser::GetByUSER_ID($arResult["ID"]);
         if ($ar_res) {
             $arforumFields["AVATAR"]["old_file"] = $ar_res["AVATAR"];
             $FORUM_USER_ID = IntVal($ar_res["ID"]);
             $FORUM_USER_ID1 = CForumUser::Update($FORUM_USER_ID, $arforumFields);
             $forum_res = IntVal($FORUM_USER_ID1) > 0;
         } else {
             $arforumFields["USER_ID"] = $arResult["ID"];
             $FORUM_USER_ID = CForumUser::Add($arforumFields);
             $forum_res = IntVal($FORUM_USER_ID) > 0;
         }
         if ($ex = $APPLICATION->GetException()) {
             $strError = $ex->GetString();
         }
     }
 }
 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"]);
コード例 #3
0
ファイル: user.php プロジェクト: rasuldev/torino
 public static function SetStat($USER_ID = 0, $arParams = array())
 {
     $USER_ID = intVal($USER_ID);
     if ($USER_ID <= 0) {
         return 0;
     }
     $bNeedCreateUser = false;
     $arUser = array();
     $arUserFields = array();
     $arParams = is_array($arParams) ? $arParams : array();
     $arMessage = is_array($arParams["MESSAGE"]) ? $arParams["MESSAGE"] : array();
     $arMessage = $arMessage["AUTHOR_ID"] != $USER_ID ? array() : $arMessage;
     if (!empty($arMessage)) {
         $arParams["ACTION"] = $arParams["ACTION"] == "DECREMENT" || $arParams["ACTION"] == "UPDATE" ? $arParams["ACTION"] : "INCREMENT";
         if ($arParams["ACTION"] == "UPDATE") {
             $arParams["ACTION"] = $arMessage["APPROVED"] == "Y" ? "INCREMENT" : "DECREMENT";
             $arMessage["APPROVED"] = "Y";
         }
         $arParams["POSTS"] = intVal($arParams["POSTS"] > 0 ? $arParams["POSTS"] : 1);
         $arUser = CForumUser::GetByUSER_ID($USER_ID);
     }
     if (empty($arMessage)) {
         // full recount;
     } elseif ($arMessage["APPROVED"] != "Y") {
         return true;
     } elseif (empty($arUser)) {
         $bNeedCreateUser = true;
         // full recount;
     } elseif ($arParams["ACTION"] == "DECREMENT" && $arMessage["ID"] >= $arUser["LAST_POST"]) {
         // full recount;
     } elseif ($arParams["ACTION"] == "DECREMENT") {
         $arUserFields = array("=NUM_POSTS" => "NUM_POSTS-" . $arParams["POSTS"], "POINTS" => intVal(CForumUser::GetUserPoints($USER_ID, array("DECREMENT" => $arParams["POSTS"]))));
     } elseif ($arParams["ACTION"] == "INCREMENT" && $arMessage["ID"] < $arUser["LAST_POST"]) {
         $arUserFields = array("=NUM_POSTS" => "NUM_POSTS+" . $arParams["POSTS"], "POINTS" => intVal(CForumUser::GetUserPoints($USER_ID, array("INCREMENT" => $arParams["POSTS"]))));
     } elseif ($arParams["ACTION"] == "INCREMENT") {
         $arUserFields["IP_ADDRESS"] = $arMessage["AUTHOR_IP"];
         $arUserFields["REAL_IP_ADDRESS"] = $arMessage["AUTHOR_REAL_IP"];
         $arUserFields["LAST_POST"] = intVal($arMessage["ID"]);
         $arUserFields["LAST_POST_DATE"] = $arMessage["POST_DATE"];
         $arUserFields["=NUM_POSTS"] = "NUM_POSTS+" . $arParams["POSTS"];
         $arUserFields["POINTS"] = intVal(CForumUser::GetUserPoints($USER_ID, array("INCREMENT" => $arParams["POSTS"])));
     }
     if (empty($arUserFields)) {
         $arUserFields = array("LAST_POST" => false, "LAST_POST_DATE" => false);
         if ($bNeedCreateUser == false) {
             $arUser = CForumUser::GetByUSER_IDEx($USER_ID);
         }
         if (empty($arUser) || $bNeedCreateUser == true) {
             $bNeedCreateUser = true;
             $arUser = CForumMessage::GetList(array(), array("AUTHOR_ID" => $USER_ID, "APPROVED" => "Y"), "cnt_and_last_mid");
             $arUser = is_array($arUser) ? $arUser : array();
         }
         $arMessage = CForumMessage::GetByID($arUser["LAST_MESSAGE_ID"], array("FILTER" => "N"));
         if ($arMessage) {
             $arUserFields["IP_ADDRESS"] = $arMessage["AUTHOR_IP"];
             $arUserFields["REAL_IP_ADDRESS"] = $arMessage["AUTHOR_REAL_IP"];
             $arUserFields["LAST_POST"] = intVal($arMessage["ID"]);
             $arUserFields["LAST_POST_DATE"] = $arMessage["POST_DATE"];
         }
         $arUserFields["NUM_POSTS"] = intVal($arUser["CNT"]);
         $arUserFields["POINTS"] = intVal(CForumUser::GetUserPoints($USER_ID, array("NUM_POSTS" => $arUserFields["NUM_POSTS"])));
     }
     if ($bNeedCreateUser) {
         $arUserFields["USER_ID"] = $USER_ID;
         $arUser = CForumUser::Add($arUserFields);
     } else {
         CForumUser::Update($USER_ID, $arUserFields, false, true);
     }
     return $USER_ID;
 }
コード例 #4
0
ファイル: component.php プロジェクト: spas-viktor/books
     $GLOBALS["USER_FIELD_MANAGER"]->EditFormAddFields("USER", $arFields);
     $USER->Update($arParams["UID"], $arFields);
     if ($USER->LAST_ERROR) {
         $APPLICATION->ThrowException($USER->LAST_ERROR);
     }
     // Update Forum info about user
     if (!$APPLICATION->GetException()) {
         $arFields = array("SHOW_NAME" => $_POST["FORUM_SHOW_NAME"] == "Y" ? "Y" : "N", "HIDE_FROM_ONLINE" => $_POST["FORUM_HIDE_FROM_ONLINE"] == "Y" ? "Y" : "N", "SUBSC_GROUP_MESSAGE" => $_POST["FORUM_SUBSC_GROUP_MESSAGE"] == "Y" ? "Y" : "N", "SUBSC_GET_MY_MESSAGE" => $_POST["FORUM_SUBSC_GET_MY_MESSAGE"] == "Y" ? "Y" : "N", "DESCRIPTION" => $_POST["FORUM_DESCRIPTION"], "INTERESTS" => $_POST["FORUM_INTERESTS"], "SIGNATURE" => $_POST["FORUM_SIGNATURE"], "AVATAR" => $_FILES["FORUM_AVATAR"]);
         $arFields["AVATAR"]["del"] = $_POST["FORUM_AVATAR_del"];
         if (CForumUser::IsAdmin()) {
             $arFields["ALLOW_POST"] = $_POST["FORUM_ALLOW_POST"] != "Y" ? "N" : "Y";
         }
         $ar_res = CForumUser::GetByUSER_ID($arParams["UID"]);
         if ($ar_res) {
             $arFields["AVATAR"]["old_file"] = $ar_res["AVATAR"];
             $FID = CForumUser::Update($ar_res["ID"], $arFields);
         } else {
             $arFields["USER_ID"] = $arParams["UID"];
             $FID = CForumUser::Add($arFields);
         }
         if (intVal($FID) <= 0 && !$APPLICATION->GetException()) {
             $APPLICATION->ThrowException(GetMessage("FP_ERR_PROF"));
         }
     }
 }
 if ($APPLICATION->GetException()) {
     $bVarsFromForm = true;
 } else {
     if ($USER->GetId() == $arParams["UID"]) {
         $USER->Authorize($arParams["UID"]);
     }
コード例 #5
0
ファイル: points.php プロジェクト: ASDAFF/bxApiDocs
	/**
	 * <p>Функция удаляет из голосования голоса, отданные пользователем с кодом FROM_USER_ID пользователю с кодом TO_USER_ID.</p>
	 *
	 *
	 *
	 *
	 * @param int $FROM_USER_ID  Код пользователя, отдавшего голос.
	 *
	 *
	 *
	 * @param int $TO_USER_ID  Код пользователя, которому был отдан голос.
	 *
	 *
	 *
	 * @return bool <p>Функция возвращает True в случае успешного удаления и False - в
	 * случае ошибки.</p>
	 *
	 * @static
	 * @link http://dev.1c-bitrix.ru/api_help/forum/developer/cforumuserpoints/cforumuserpoints__delete.8bd6061a.php
	 * @author Bitrix
	 */
	public static function Delete($FROM_USER_ID, $TO_USER_ID)
	{
		global $DB;

		$FROM_USER_ID = IntVal($FROM_USER_ID);
		if ($FROM_USER_ID<=0) return False;

		$TO_USER_ID = IntVal($TO_USER_ID);
		if ($TO_USER_ID<=0) return False;

		$DB->Query("DELETE FROM b_forum_user_points WHERE FROM_USER_ID = ".$FROM_USER_ID." AND TO_USER_ID = ".$TO_USER_ID);

		// Recount user points.
		$arUserFields = array();
		$arUserFields["POINTS"] = CForumUser::CountUserPoints($TO_USER_ID);

		$arUser = CForumUser::GetByUSER_ID($TO_USER_ID);
		if ($arUser)
		{
			CForumUser::Update($arUser["ID"], $arUserFields);
		}
		else
		{
			$arUserFields["USER_ID"] = $TO_USER_ID;
			$ID_tmp = CForumUser::Add($arUserFields);
		}

		return true;
	}
コード例 #6
0
ファイル: include.php プロジェクト: DarneoStudio/bitrix
function ForumSetLastVisit($FID = false, $TID = false, $arAddParams = array())
{
    global $DB;
    // For custom components
    $GLOBALS["FID"] = $FID = $FID === false && intVal($GLOBALS["FID"]) > 0 ? intVal($GLOBALS["FID"]) : $FID;
    if ($GLOBALS["USER"]->IsAuthorized()) {
        $GLOBALS["SHOW_FORUM_ICON"] = true;
        // out-of-date param
        $USER_ID = $GLOBALS["USER"]->GetID();
        $arUserFields = array("=LAST_VISIT" => $DB->GetNowFunction());
        if (!is_array($_SESSION["FORUM"]["USER"]) || $_SESSION["FORUM"]["USER"]["USER_ID"] != $GLOBALS["USER"]->GetID()) {
            $_SESSION["FORUM"]["USER"] = CForumUser::GetByUSER_ID($USER_ID);
            if (!$_SESSION["FORUM"]["USER"]) {
                $arUserFields["USER_ID"] = $USER_ID;
                CForumUser::Add($arUserFields);
                $_SESSION["FORUM"]["USER"] = CForumUser::GetByUSER_ID($USER_ID);
            }
            $_SESSION["FORUM"]["SHOW_NAME"] = $_SESSION["FORUM"]["USER"]["SHOW_NAME"];
        }
        if (!is_set($arUserFields, "USER_ID")) {
            CForumUser::Update($USER_ID, $arUserFields, false, true);
        }
    }
    ForumInitParams();
    if ($_SESSION["SESS_SEARCHER_ID"] > 0 && CModule::IncludeModule("statistic")) {
        return;
    } else {
        CForumStat::RegisterUSER(array("SITE_ID" => SITE_ID, "FORUM_ID" => $FID, "TOPIC_ID" => $TID));
    }
    return true;
}
コード例 #7
0
     $res = $USER->Update($UID, $arFields);
     if (!$res) {
         $strErrorMessage .= $USER->LAST_ERROR . ". \n";
     }
 }
 if (strlen($strErrorMessage) <= 0) {
     $arFields = array("SHOW_NAME" => $_POST["SHOW_NAME"] == "Y" ? "Y" : "N", "DESCRIPTION" => $_POST["DESCRIPTION"], "INTERESTS" => $_POST["INTERESTS"], "SIGNATURE" => $_POST["SIGNATURE"], "AVATAR" => $_FILES["AVATAR"]);
     $arFields["AVATAR"]["del"] = $_POST["AVATAR_del"];
     if ($USER->IsAdmin()) {
         $arFields["ALLOW_POST"] = $_POST["ALLOW_POST"] == "Y" ? "Y" : "N";
     }
     $ar_res = CForumUser::GetByUSER_ID($UID);
     if ($ar_res) {
         $arFields["AVATAR"]["old_file"] = $ar_res["AVATAR"];
         $ID = IntVal($ar_res["ID"]);
         $ID1 = CForumUser::Update($ID, $arFields);
         if (IntVal($ID1) <= 0) {
             $strErrorMessage .= "Ошибка изменения профиля. \n";
         }
     } else {
         $arFields["USER_ID"] = $UID;
         $ID = CForumUser::Add($arFields);
         $ID = IntVal($ID);
         if ($ID <= 0) {
             $strErrorMessage .= "Ошибка добавления профиля. \n";
         }
     }
 }
 if (strlen($strErrorMessage) > 0) {
     $bVarsFromForm = true;
 } else {
コード例 #8
0
ファイル: component.php プロジェクト: Satariall/izurit
     $arForumFields = array("SHOW_NAME" => $_POST["FORUM_SHOW_NAME"] == "Y" ? "Y" : "N", "HIDE_FROM_ONLINE" => $_POST["FORUM_HIDE_FROM_ONLINE"] == "Y" ? "Y" : "N", "SUBSC_GROUP_MESSAGE" => $_POST["FORUM_SUBSC_GROUP_MESSAGE"] == "Y" ? "Y" : "N", "SUBSC_GET_MY_MESSAGE" => $_POST["FORUM_SUBSC_GET_MY_MESSAGE"] == "Y" ? "Y" : "N", "DESCRIPTION" => $_POST["FORUM_DESCRIPTION"], "INTERESTS" => $_POST["FORUM_INTERESTS"], "SIGNATURE" => $_POST["FORUM_SIGNATURE"]);
     if (strlen($_FILES["FORUM_AVATAR"]["name"]) > 0 || isset($_POST["FORUM_AVATAR_del"])) {
         $arForumFields["AVATAR"] = $_FILES["FORUM_AVATAR"];
     }
     foreach ($arForumFields as $key => $value) {
         if (!in_array('FORUM_' . $key, $arParams['EDITABLE_FIELDS'])) {
             unset($arForumFields[$key]);
         }
     }
     if (count($arForumFields) > 0) {
         if (isset($arForumFields['AVATAR'])) {
             $arForumFields["AVATAR"]["del"] = $_POST["FORUM_AVATAR_del"];
             $arForumFields["AVATAR"]["old_file"] = $arResult['User']['FORUM_AVATAR'];
         }
         if ($arResult['User']['FORUM_ID']) {
             $FID = CForumUser::Update($arResult['User']['FORUM_ID'], $arForumFields);
         } else {
             $arForumFields["USER_ID"] = $arResult["User"]['ID'];
             $FID = CForumUser::Add($arForumFields);
         }
         if (!$FID && ($ex = $APPLICATION->GetException())) {
             $strErrorMessage = $ex->GetString();
         }
     }
 }
 if (strlen($strErrorMessage) <= 0 && $arParams['IS_BLOG'] == 'Y') {
     $arBlogFields = array("ALIAS" => $_POST['BLOG_ALIAS'], "DESCRIPTION" => $_POST['BLOG_DESCRIPTION'], "INTERESTS" => $_POST['BLOG_INTERESTS']);
     if (strlen($_FILES["BLOG_AVATAR"]["name"]) > 0 || isset($_POST["BLOG_AVATAR_del"])) {
         $arBlogFields["AVATAR"] = $_FILES["BLOG_AVATAR"];
     }
     foreach ($arBlogFields as $key => $value) {