コード例 #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
ファイル: points.php プロジェクト: ASDAFF/bxApiDocs
	/**
	 * <p>Изменяет параметры голосования пользователя с кодом FROM_USER_ID за пользователя с кодом TO_USER_ID на значения, указанные в массиве arFields.</p>
	 *
	 *
	 *
	 *
	 * @param int $FROM_USER_ID  Пользователь, который голосовал.
	 *
	 *
	 *
	 * @param int $TO_USER_ID  Пользователь, за которого голосовали.
	 *
	 *
	 *
	 * @param array $arFields  Массив новых значений параметров голосования.
	 *
	 *
	 *
	 * @return bool <p>Возвращает True в случае успешного изменения параметров
	 * голосования и False - в противном случае.</p><a name="examples"></a>
	 *
	 *
	 * <h4>Example</h4> 
	 * <pre>
	 * &lt;?
	 * // Изменим количество голосов, отданных текущим пользователем
	 * // за пользователя с кодом $UID на 53
	 * $arFields = array("POINTS" =&gt; 53);
	 * if (CForumUserPoints::Update($USER-&gt;GetID(), $UID, $arFields))
	 *    echo "Голосования успешно изменено";
	 * else
	 *    echo "Ошибка изменения голосования";
	 * ?&gt;
	 * </pre>
	 *
	 *
	 * @static
	 * @link http://dev.1c-bitrix.ru/api_help/forum/developer/cforumuserpoints/cforumuserpoints__update.b9422e8b.php
	 * @author Bitrix
	 */
	public static function Update($FROM_USER_ID, $TO_USER_ID, $arFields)
	{
		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;

		if (!CForumUserPoints::CheckFields("UPDATE", $arFields))
			return false;

		$strUpdate = $DB->PrepareUpdate("b_forum_user_points", $arFields);

		$strDatePostValue = "";
		if (!is_set($arFields, "DATE_UPDATE"))
		{
			$strDatePostValue .= ", DATE_UPDATE = ".$DB->GetNowFunction()." ";
		}

		$strSql = "UPDATE b_forum_user_points SET ".$strUpdate.$strDatePostValue." WHERE FROM_USER_ID = ".$FROM_USER_ID." AND TO_USER_ID = ".$TO_USER_ID;
		$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);

		// 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;
	}