mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-06-26 03:30:48 +03:00
Поддержка Media для блогов и сообщений
This commit is contained in:
parent
15e24d6553
commit
c5ed85c7b1
|
@ -257,6 +257,10 @@ class ActionBlog extends Action {
|
|||
* Получаем блог, это для получение полного пути блога, если он в будущем будет зависит от других сущностей(компании, юзер и т.п.)
|
||||
*/
|
||||
$oBlog->Blog_GetBlogById($oBlog->getId());
|
||||
/**
|
||||
* Фиксируем ID у media файлов
|
||||
*/
|
||||
$this->Media_ReplaceTargetTmpById('blog',$oBlog->getId());
|
||||
/**
|
||||
* Меняем количество блогов в категории
|
||||
*/
|
||||
|
|
|
@ -378,6 +378,10 @@ class ActionTalk extends Action {
|
|||
* Отправляем письмо
|
||||
*/
|
||||
if ($oTalk=$this->Talk_SendTalk($this->Text_Parser(strip_tags(getRequestStr('talk_title'))),$this->Text_Parser(getRequestStr('talk_text')),$this->oUserCurrent,$this->aUsersId)) {
|
||||
/**
|
||||
* Фиксируем ID у media файлов
|
||||
*/
|
||||
$this->Media_ReplaceTargetTmpById('talk',$oTalk->getId());
|
||||
Router::Location(Router::GetPath('talk').'read/'.$oTalk->getId().'/');
|
||||
} else {
|
||||
$this->Message_AddErrorSingle($this->Lang_Get('system_error'));
|
||||
|
|
|
@ -834,6 +834,10 @@ class ModuleBlog extends Module {
|
|||
* Удаляем голосование за блог
|
||||
*/
|
||||
$this->Vote_DeleteVoteByTarget($iBlogId, 'blog');
|
||||
/**
|
||||
* Удаляем медиа данные
|
||||
*/
|
||||
$this->Media_RemoveTarget('blog',$iBlogId,true);
|
||||
/**
|
||||
* Обновляем категорию блога
|
||||
*/
|
||||
|
|
|
@ -47,6 +47,8 @@ class ModuleMedia extends ModuleORM {
|
|||
protected $aTargetTypes=array(
|
||||
'topic'=>array(),
|
||||
'comment'=>array(),
|
||||
'blog'=>array(),
|
||||
'talk'=>array(),
|
||||
);
|
||||
|
||||
/**
|
||||
|
@ -747,6 +749,11 @@ class ModuleMedia extends ModuleORM {
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Проверка владельца с типом "topic"
|
||||
* Название метода формируется автоматически
|
||||
|
@ -815,4 +822,68 @@ class ModuleMedia extends ModuleORM {
|
|||
}
|
||||
return false;
|
||||
}
|
||||
/**
|
||||
* Проверка владельца с типом "blog"
|
||||
* Название метода формируется автоматически
|
||||
*
|
||||
* @param int|null $iTargetId ID владельца, для новых объектов может быть не определен
|
||||
* @param string $sAllowType Тип доступа, константа self::TYPE_CHECK_ALLOW_*
|
||||
* @param array $aParams Дополнительные параметры, всегда есть ключ 'user'
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function CheckTargetBlog($iTargetId,$sAllowType,$aParams) {
|
||||
if (!$oUser=$aParams['user']) {
|
||||
return false;
|
||||
}
|
||||
if ($sAllowType==self::TYPE_CHECK_ALLOW_ADD) {
|
||||
if (is_null($iTargetId)) {
|
||||
/**
|
||||
* Разрешаем для всех новых блогов
|
||||
*/
|
||||
return true;
|
||||
}
|
||||
if ($oBlog=$this->Blog_GetBlogById($iTargetId)) {
|
||||
/**
|
||||
* Проверяем права на редактирование блога
|
||||
*/
|
||||
if ($this->ACL_IsAllowEditBlog($oBlog,$oUser)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return $this->CheckStandartMediaAllow($sAllowType,$aParams);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
/**
|
||||
* Проверка владельца с типом "talk"
|
||||
* Название метода формируется автоматически
|
||||
*
|
||||
* @param int|null $iTargetId ID владельца, для новых объектов может быть не определен
|
||||
* @param string $sAllowType Тип доступа, константа self::TYPE_CHECK_ALLOW_*
|
||||
* @param array $aParams Дополнительные параметры, всегда есть ключ 'user'
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function CheckTargetTalk($iTargetId,$sAllowType,$aParams) {
|
||||
if (!$oUser=$aParams['user']) {
|
||||
return false;
|
||||
}
|
||||
if ($sAllowType==self::TYPE_CHECK_ALLOW_ADD) {
|
||||
if (is_null($iTargetId)) {
|
||||
/**
|
||||
* Разрешаем для всех новых блогов
|
||||
*/
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* Редактировать сообщения нельзя
|
||||
*/
|
||||
return false;
|
||||
} else {
|
||||
return $this->CheckStandartMediaAllow($sAllowType,$aParams);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -796,6 +796,10 @@ class ModuleTalk extends Module {
|
|||
* При удалении комментариев они удаляются из избранного,прямого эфира и голоса за них
|
||||
*/
|
||||
$this->Comment_DeleteCommentByTargetId($iTalkId,'talk');
|
||||
/**
|
||||
* Удаляем медиа данные
|
||||
*/
|
||||
$this->Media_RemoveTarget('talk',$iTalkId,true);
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
{block 'layout_content'}
|
||||
{* Подключение редактора *}
|
||||
{include 'forms/editor.init.tpl' sEditorType='comment'}
|
||||
{include 'forms/editor.init.tpl' sEditorType='comment' sMediaTargetType='blog'}
|
||||
|
||||
|
||||
<form method="post" enctype="multipart/form-data" class="js-form-validate">
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
{extends 'layouts/layout.user.messages.tpl'}
|
||||
|
||||
{block 'layout_content'}
|
||||
{include 'forms/editor.init.tpl' sEditorType='comment'}
|
||||
{include 'forms/editor.init.tpl' sEditorType='comment' sMediaTargetType='talk'}
|
||||
|
||||
{hook run='talk_add_begin'}
|
||||
|
||||
|
|
Loading…
Reference in a new issue