Example #1
0
 public static function Add($arFields)
 {
     global $DB;
     if (!CForumPoints2Post::CheckFields("ADD", $arFields)) {
         return false;
     }
     $arInsert = $DB->PrepareInsert("b_forum_points2post", $arFields);
     $strSql = "INSERT INTO b_forum_points2post(" . $arInsert[0] . ") VALUES(" . $arInsert[1] . ")";
     $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
     $ID = intVal($DB->LastID());
     return $ID;
 }
Example #2
0
    if ($ID > 0) {
        $res = CForumPoints2Post::Update($ID, $arFields);
    } else {
        $res = CForumPoints2Post::Add($arFields);
    }
    if (intVal($res) <= 0 && ($e = $GLOBALS["APPLICATION"]->GetException())) {
        $message = new CAdminMessage($ID > 0 ? GetMessage("FORUM_PPE_EDDOR_UPDATE") : GetMessage("FORUM_PPE_ERROR_ADD"), $e);
        $bInitVars = True;
    } elseif (strlen($save) > 0) {
        LocalRedirect("forum_points2post.php?lang=" . LANG . "&" . GetFilterParams("filter_", false));
    } else {
        $ID = $res;
    }
}
if ($ID > 0) {
    $db_points = CForumPoints2Post::GetList(array(), array("ID" => $ID));
    $db_points->ExtractFields("str_", False);
}
if ($bInitVars) {
    $DB->InitTableVarsForEdit("b_forum_points2post", "", "str_");
}
$sDocTitle = $ID > 0 ? str_replace("#ID#", $ID, GetMessage("FORUM_PPE_TITLE_UPD")) : GetMessage("FORUM_PPE_TITLE_ADD");
$APPLICATION->SetTitle($sDocTitle);
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
/*********************************************************************/
/********************  BODY  *****************************************/
/*********************************************************************/
?>

<?php 
$aMenu = array(array("TEXT" => GetMessage("FPPN_2FLIST"), "LINK" => "/bitrix/admin/forum_points2post.php?lang=" . LANG . "&" . GetFilterParams("filter_", false), "ICON" => "btn_list"));
Example #3
0
 public static function CountUserPoints($USER_ID = 0, $iCnt = false)
 {
     $USER_ID = intVal($USER_ID);
     $iNumUserPosts = intVal($iCnt);
     $iNumUserPoints = 0;
     $fPointsPerPost = 0.0;
     if ($USER_ID <= 0) {
         return 0;
     }
     if ($iCnt === false) {
         $iNumUserPoints = CForumUser::GetUserPoints($USER_ID);
     }
     if ($iNumUserPoints === false || $iCnt != false) {
         $iNumUserPosts = CForumMessage::GetList(array(), array("AUTHOR_ID" => $USER_ID, "APPROVED" => "Y"), true);
         $db_res = CForumPoints2Post::GetList(array("MIN_NUM_POSTS" => "DESC"), array("<=MIN_NUM_POSTS" => $iNumUserPosts));
         if ($ar_res = $db_res->Fetch()) {
             $fPointsPerPost = DoubleVal($ar_res["POINTS_PER_POST"]);
         }
         $iNumUserPoints = floor($fPointsPerPost * $iNumUserPosts);
         $iCnt = CForumUserPoints::CountSumPoints($USER_ID);
         $iNumUserPoints += $iCnt;
     }
     return $iNumUserPoints;
 }
Example #4
0
                $arMess[$lang] = __GetMessageArray($lang);
                if (!empty($arMess[$lang]["F_POINTS_" . strToUpper($arFields["CODE"])])) {
                    $name = $arMess[$lang]["F_POINTS_" . strToUpper($arFields["CODE"])];
                }
            }
            $arFields["LANG"][$lang] = array("LID" => $lang, "NAME" => $name);
        }
        $res = CForumPoints::Add($arFields);
    }
}
$db_res = CForumPoints2Post::GetList();
if (!($db_res && ($res = $db_res->Fetch()))) {
    $arFields = array("MIN_NUM_POSTS" => 1, "POINTS_PER_POST" => "0.5000");
    CForumPoints2Post::Add($arFields);
    $arFields = array("MIN_NUM_POSTS" => 50, "POINTS_PER_POST" => "0.8000");
    CForumPoints2Post::Add($arFields);
}
/* User */
$res = CForumUser::GetByUSER_ID(1);
if (empty($res) || !is_array($res)) {
    $arFields = array("=LAST_VISIT" => $DB->GetNowFunction(), "USER_ID" => 1);
    $ID = CForumUser::Add($arUserFields);
}
/* Vote */
$res = CForumUserPoints::GetByID(1, 1);
if (!$res) {
    $arFields = array("POINTS" => 1000, "FROM_USER_ID" => 1, "TO_USER_ID" => 1);
    $ID = CForumUserPoints::Add($arFields);
}
// Forum group
$arGroup = array("PUBLIC" => 0, "PARTNER" => 0, "COMMENTS" => 0);
Example #5
0
	/**
	 * <p>Изменяет параметры записи с кодом ID в таблице соответствий между количеством сообщений пользователя на форуме и количеством баллов за одно сообщение на значения, указанные в массиве arFields.</p>
	 *
	 *
	 *
	 *
	 * @param int $ID  Код изменяемой записи.
	 *
	 *
	 *
	 * @param array $arFields  Массив новых значений параметров записи.
	 *
	 *
	 *
	 * @return int <p>Функция возвращает код записи или false в случае ошибки.</p>
	 *
	 * @static
	 * @link http://dev.1c-bitrix.ru/api_help/forum/developer/cforumpoints2post/cforumpoints2post__update.bddc55bb.php
	 * @author Bitrix
	 */
	public static function Update($ID, $arFields)
	{
		global $DB;
		$ID = IntVal($ID);
		if ($ID<=0) return False;

		if (!CForumPoints2Post::CheckFields("UPDATE", $arFields, $ID))
			return false;
		$strUpdate = $DB->PrepareUpdate("b_forum_points2post", $arFields);
		$strSql = "UPDATE b_forum_points2post SET ".$strUpdate." WHERE ID = ".$ID;
		$DB->Query($strSql, false, "File: ".__FILE__."<br>Line: ".__LINE__);

		return $ID;
	}
Example #6
0
                @set_time_limit(0);
                $DB->StartTransaction();
                if (!CForumPoints2Post::Delete($ID)) {
                    $DB->Rollback();
                    if ($ex = $APPLICATION->GetException()) {
                        $lAdmin->AddGroupError($ex->GetString(), $ID);
                    } else {
                        $lAdmin->AddGroupError(GetMessage("FORUM_PP_ERROR_DELETE"), $ID);
                    }
                }
                $DB->Commit();
                break;
        }
    }
}
$dbResultList = CForumPoints2Post::GetList(array($by => $order), $arFilter);
$dbResultList = new CAdminResult($dbResultList, $sTableID);
$dbResultList->NavStart();
/*******************************************************************/
$lAdmin->NavText($dbResultList->GetNavPrint(GetMessage("FORUM_PP_POINTS_PER_MES")));
/*******************************************************************/
$lAdmin->AddHeaders(array(array("id" => "ID", "content" => "ID", "sort" => "ID", "default" => true), array("id" => "MIN_NUM_POSTS", "content" => GetMessage("FORUM_PP_MIN_MES"), "sort" => "MIN_NUM_POSTS", "default" => true, "align" => "right"), array("id" => "POINTS_PER_POST", "content" => GetMessage('FORUM_PP_POINTS'), "sort" => "POINTS_PER_POST", "default" => true, "align" => "right")));
$arVisibleColumns = $lAdmin->GetVisibleHeaderColumns();
/*******************************************************************/
while ($arForum = $dbResultList->NavNext(true, "f_")) {
    $row =& $lAdmin->AddRow($f_ID, $arForum);
    $row->AddField("ID", $f_ID);
    $row->AddInputField("MIN_NUM_POSTS", array("size" => "10"));
    $row->AddInputField("POINTS_PER_POST", array("size" => "10"));
    $arActions = array();
    if ($forumModulePermissions >= "R") {