mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-05-17 00:08:17 +03:00
добавлена проверка URL и Title блога на уже существующие при его создании
This commit is contained in:
parent
755cb02eba
commit
9c8c9546ba
|
@ -238,7 +238,7 @@ class ActionBlog extends Action {
|
|||
/**
|
||||
* Запускаем проверку корректности ввода полей при редактировании блога
|
||||
*/
|
||||
if (!$this->checkBlogFields()) {
|
||||
if (!$this->checkBlogFields($oBlog)) {
|
||||
return false;
|
||||
}
|
||||
$oBlog->setTitle(getRequest('blog_title'));
|
||||
|
@ -279,7 +279,7 @@ class ActionBlog extends Action {
|
|||
*
|
||||
* @return unknown
|
||||
*/
|
||||
protected function checkBlogFields() {
|
||||
protected function checkBlogFields($oBlog=null) {
|
||||
/**
|
||||
* Проверяем только если была отправлена форма с данными
|
||||
*/
|
||||
|
@ -296,6 +296,15 @@ class ActionBlog extends Action {
|
|||
$this->Message_AddError('Название блога должно быть от 2 до 200 символов','Ошибка');
|
||||
$bOk=false;
|
||||
}
|
||||
/**
|
||||
* Проверяем есть ли уже блог с таким названием
|
||||
*/
|
||||
if ($oBlogExists=$this->Blog_GetBlogByTitle(getRequest('blog_title'))) {
|
||||
if (!$oBlog or $oBlog->getId()!=$oBlogExists->getId()) {
|
||||
$this->Message_AddError('Блог с таким названием уже существует','Ошибка');
|
||||
$bOk=false;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Проверяем есть ли заголовок топика, с заменой всех пробельных символов на "_"
|
||||
*/
|
||||
|
@ -312,6 +321,15 @@ class ActionBlog extends Action {
|
|||
$this->Message_AddError('URL блога должен отличаться от: '.join(',',$this->aBadBlogUrl),'Ошибка');
|
||||
$bOk=false;
|
||||
}
|
||||
/**
|
||||
* Проверяем есть ли уже блог с таким URL
|
||||
*/
|
||||
if ($oBlogExists=$this->Blog_GetBlogByUrl(getRequest('blog_url'))) {
|
||||
if (!$oBlog or $oBlog->getId()!=$oBlogExists->getId()) {
|
||||
$this->Message_AddError('Блог с таким URL уже существует','Ошибка');
|
||||
$bOk=false;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Проверяем есть ли описание блога
|
||||
*/
|
||||
|
|
|
@ -73,6 +73,22 @@ class Blog extends Module {
|
|||
}
|
||||
return $data;
|
||||
}
|
||||
/**
|
||||
* Получить блог по названию
|
||||
*
|
||||
* @param unknown_type $sTitle
|
||||
* @return unknown
|
||||
*/
|
||||
public function GetBlogByTitle($sTitle) {
|
||||
if (false === ($data = $this->Cache_Get("blog_url_{$sTitle}"))) {
|
||||
if ($data = $this->oMapperBlog->GetBlogByTitle($sTitle)) {
|
||||
$this->Cache_Set($data, "blog_url_{$sTitle}", array("blog_update_{$data->getId()}",'blog_new'), 60*5);
|
||||
} else {
|
||||
$this->Cache_Set($data, "blog_url_{$sTitle}", array('blog_update','blog_new'), 60*5);
|
||||
}
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
/**
|
||||
* Создаёт персональный блог
|
||||
*
|
||||
|
|
|
@ -154,7 +154,13 @@ class Mapper_Blog extends Mapper {
|
|||
return null;
|
||||
}
|
||||
|
||||
|
||||
public function GetBlogByTitle($sTitle) {
|
||||
$sql = "SELECT * FROM ".DB_TABLE_BLOG." WHERE blog_title = ? ";
|
||||
if ($aRow=$this->oDb->selectRow($sql,$sTitle)) {
|
||||
return new BlogEntity_Blog($aRow);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public function GetBlogVote($sBlogId,$sUserId) {
|
||||
$sql = "SELECT * FROM ".DB_TABLE_BLOG_VOTE." WHERE blog_id = ?d and user_voter_id = ?d ";
|
||||
|
|
Loading…
Reference in a new issue