mirror of
https://github.com/silverstripe/silverstripe-blog
synced 2024-10-22 11:05:58 +02:00
Merge branch '2.4' into 2
This commit is contained in:
commit
9a5690ca3e
@ -2,6 +2,8 @@ language: php
|
|||||||
|
|
||||||
sudo: false
|
sudo: false
|
||||||
|
|
||||||
|
dist: precise
|
||||||
|
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
[main]
|
|
||||||
host = https://www.transifex.com
|
|
||||||
|
|
||||||
[silverstripe-blog.master-v2]
|
|
||||||
file_filter = lang/<lang>.yml
|
|
||||||
source_file = lang/en.yml
|
|
||||||
source_lang = en
|
|
||||||
type = YML
|
|
@ -12,7 +12,7 @@ class BlogMemberExtension extends DataExtension
|
|||||||
* @var array
|
* @var array
|
||||||
*/
|
*/
|
||||||
private static $db = array(
|
private static $db = array(
|
||||||
'URLSegment' => 'Varchar',
|
'URLSegment' => 'Varchar(255)',
|
||||||
'BlogProfileSummary' => 'Text',
|
'BlogProfileSummary' => 'Text',
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -708,8 +708,10 @@ class Blog_Controller extends Page_Controller
|
|||||||
$urlSegment = $this->request->param('URLSegment');
|
$urlSegment = $this->request->param('URLSegment');
|
||||||
|
|
||||||
if ($urlSegment) {
|
if ($urlSegment) {
|
||||||
|
$filter = URLSegmentFilter::create();
|
||||||
|
|
||||||
return Member::get()
|
return Member::get()
|
||||||
->filter('URLSegment', $urlSegment)
|
->filter('URLSegment', $filter->filter($urlSegment))
|
||||||
->first();
|
->first();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -860,8 +862,10 @@ class Blog_Controller extends Page_Controller
|
|||||||
$dataRecord = $this->dataRecord;
|
$dataRecord = $this->dataRecord;
|
||||||
$tag = $this->request->param('Tag');
|
$tag = $this->request->param('Tag');
|
||||||
if ($tag) {
|
if ($tag) {
|
||||||
|
$filter = URLSegmentFilter::create();
|
||||||
|
|
||||||
return $dataRecord->Tags()
|
return $dataRecord->Tags()
|
||||||
->filter('URLSegment', array($tag, rawurlencode($tag)))
|
->filter('URLSegment', array($tag, $filter->filter($tag)))
|
||||||
->first();
|
->first();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
@ -904,8 +908,10 @@ class Blog_Controller extends Page_Controller
|
|||||||
$dataRecord = $this->dataRecord;
|
$dataRecord = $this->dataRecord;
|
||||||
$category = $this->request->param('Category');
|
$category = $this->request->param('Category');
|
||||||
if ($category) {
|
if ($category) {
|
||||||
|
$filter = URLSegmentFilter::create();
|
||||||
|
|
||||||
return $dataRecord->Categories()
|
return $dataRecord->Categories()
|
||||||
->filter('URLSegment', array($category, rawurlencode($category)))
|
->filter('URLSegment', array($category, $filter->filter($category)))
|
||||||
->first();
|
->first();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
@ -693,6 +693,9 @@ class BlogPost extends Page
|
|||||||
*/
|
*/
|
||||||
public function getDate()
|
public function getDate()
|
||||||
{
|
{
|
||||||
|
if ($this->hasDatabaseField('Date')) {
|
||||||
|
return $this->getField('Date');
|
||||||
|
}
|
||||||
return !empty($this->PublishDate) ? $this->PublishDate : null;
|
return !empty($this->PublishDate) ? $this->PublishDate : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,52 +84,47 @@ class BlogArchiveWidget extends Widget
|
|||||||
/**
|
/**
|
||||||
* Returns a list of months where blog posts are present.
|
* Returns a list of months where blog posts are present.
|
||||||
*
|
*
|
||||||
* @return DataList
|
* @return ArrayList
|
||||||
*/
|
*/
|
||||||
public function getArchive()
|
public function getArchive()
|
||||||
{
|
{
|
||||||
$query = $this->Blog()->getBlogPosts()->dataQuery();
|
$format = ($this->ArchiveType == 'Yearly') ? '%Y' : '%Y-%m';
|
||||||
|
$publishDate = DB::get_conn()->formattedDatetimeClause('"PublishDate"', $format);
|
||||||
|
$fields = array(
|
||||||
|
'PublishDate' => $publishDate,
|
||||||
|
'Total' => "Count('PublishDate')"
|
||||||
|
);
|
||||||
|
|
||||||
if ($this->ArchiveType == 'Yearly') {
|
$stage = Versioned::current_stage();
|
||||||
$query->groupBy('DATE_FORMAT("PublishDate", \'%Y\')');
|
$suffix = ($stage == 'Stage') ? '' : "_{$stage}";
|
||||||
} else {
|
$query = SQLSelect::create($fields, "BlogPost{$suffix}")
|
||||||
$query->groupBy('DATE_FORMAT("PublishDate", \'%Y-%M\')');
|
->addGroupBy($publishDate)
|
||||||
}
|
->addOrderBy('PublishDate Desc')
|
||||||
|
->addWhere(array('PublishDate < ?' => SS_Datetime::now()->Format('Y-m-d')));
|
||||||
|
|
||||||
$posts = $this->Blog()->getBlogPosts()->setDataQuery($query);
|
$posts = $query->execute();
|
||||||
|
$result = new ArrayList();
|
||||||
if ($this->NumberToDisplay > 0) {
|
while ($next = $posts->next()) {
|
||||||
$posts = $posts->limit($this->NumberToDisplay);
|
|
||||||
}
|
|
||||||
|
|
||||||
$archive = new ArrayList();
|
|
||||||
|
|
||||||
if ($posts->count() > 0) {
|
|
||||||
foreach ($posts as $post) {
|
|
||||||
/**
|
|
||||||
* @var BlogPost $post
|
|
||||||
*/
|
|
||||||
$date = Date::create();
|
$date = Date::create();
|
||||||
$date->setValue($post->PublishDate);
|
$date->setValue(strtotime($next['PublishDate']));
|
||||||
|
$year = $date->Format('Y');
|
||||||
|
|
||||||
if ($this->ArchiveType == 'Yearly') {
|
if ($this->ArchiveType == 'Yearly') {
|
||||||
$year = $date->Format("Y");
|
|
||||||
$month = null;
|
$month = null;
|
||||||
$title = $year;
|
$title = $year;
|
||||||
} else {
|
} else {
|
||||||
$year = $date->Format("Y");
|
$month = $date->Format('m');
|
||||||
$month = $date->Format("m");
|
$title = $date->FormatI18N('%B %Y');
|
||||||
$title = $date->FormatI18N("%B %Y");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$archive->push(new ArrayData(array(
|
$result->push(new ArrayData(array(
|
||||||
'Title' => $title,
|
'Title' => $title,
|
||||||
'Link' => Controller::join_links($this->Blog()->Link('archive'), $year, $month)
|
'Link' => Controller::join_links($this->Blog()->Link('archive'), $year, $month)
|
||||||
)));
|
)));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return $archive;
|
$this->extend('updateGetArchive', $result);
|
||||||
|
return $result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
96
lang/es.yml
Normal file
96
lang/es.yml
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
es:
|
||||||
|
Blog:
|
||||||
|
AND: 'y'
|
||||||
|
Archive: Archivo
|
||||||
|
By: por
|
||||||
|
CONTRIBUTOR: Contribuidor
|
||||||
|
Categories: Categorías
|
||||||
|
Category: Categoría
|
||||||
|
Comments: Comentarios
|
||||||
|
DESCRIPTION: 'Añade un blog a tu sitio web.'
|
||||||
|
EDITOR: Editor
|
||||||
|
FILTERDESCRIPTION_AUTHOR: 'Por {author}'
|
||||||
|
FILTERDESCRIPTION_CATEGORY: 'En la categoría {category}'
|
||||||
|
FILTERDESCRIPTION_DATE: 'En {date}'
|
||||||
|
FILTERDESCRIPTION_PAGE: 'Página {page}'
|
||||||
|
FILTERDESCRIPTION_TAG: 'Etiquetado con {tag}'
|
||||||
|
LumberjackTitle: 'Publicaciones del Blog'
|
||||||
|
NoPosts: 'No hay publicaciones'
|
||||||
|
PERMISSIONS_CATEGORY: 'Permisos del Blog'
|
||||||
|
PERMISSION_MANAGE_USERS_DESCRIPTION: 'Administrar usuarios para blogs individuales'
|
||||||
|
PLURALNAME: 'Página base'
|
||||||
|
Posted: Publicado
|
||||||
|
PostedIn: 'Publicado en'
|
||||||
|
PostsPerPage: 'Publicaciones por Página'
|
||||||
|
ReadMoreAbout: 'Leer más sobre ''{title}''...'
|
||||||
|
SINGULARNAME: Blog
|
||||||
|
Tag: Etiqueta
|
||||||
|
Tagged: Etiquetado
|
||||||
|
Tags: Etiquetas
|
||||||
|
WRITER: Escritor
|
||||||
|
BlogArchiveWidget:
|
||||||
|
ArchiveType: 'Tipo de Archivo'
|
||||||
|
Blog: Blog
|
||||||
|
NumberToDisplay: 'Nº a Mostrar'
|
||||||
|
BlogCategoriesWidget:
|
||||||
|
Blog: Blog
|
||||||
|
Direction:
|
||||||
|
Label: Dirección
|
||||||
|
Limit:
|
||||||
|
Label: Límite
|
||||||
|
Sort:
|
||||||
|
Label: Ordenar
|
||||||
|
BlogCategory:
|
||||||
|
Duplicate: 'Ya existe una categoría del blog con el mismo nombre'
|
||||||
|
PLURALNAME: 'Categorías del Blog'
|
||||||
|
SINGULARNAME: 'Categoría del Blog'
|
||||||
|
Title: Título
|
||||||
|
BlogEntry:
|
||||||
|
DESCRIPTION: 'Página de contenido genérico'
|
||||||
|
PLURALNAME: 'Página base'
|
||||||
|
SINGULARNAME: 'Entrada del Blog'
|
||||||
|
BlogHolder:
|
||||||
|
DESCRIPTION: 'Página de contenido genérico'
|
||||||
|
PLURALNAME: 'Página base'
|
||||||
|
SINGULARNAME: 'Contenedor de Blog'
|
||||||
|
BlogPost:
|
||||||
|
AUTHOR: Autor
|
||||||
|
AdditionalCredits: 'Créditos adicionales'
|
||||||
|
Authors: Autores
|
||||||
|
CUSTOMSUMMARY: 'Añadir un Resumen Personalizado'
|
||||||
|
Categories: Categorías
|
||||||
|
DESCRIPTION: 'Página de contenido genérico'
|
||||||
|
FeaturedImage: 'Imagen Destacada'
|
||||||
|
PLURALNAME: 'Página base'
|
||||||
|
PageTitleLabel: 'Título de la Publicación'
|
||||||
|
PublishDate: 'Fecha de Publicación'
|
||||||
|
PublishDate_Description: 'Se establecerá a "ahora" si se publica sin un valor.'
|
||||||
|
SINGULARNAME: 'Publicación del Blog'
|
||||||
|
SUMMARY_DESCRIPTION: 'Si no se especifica un resumen se usarán las 30 primeras palabras.'
|
||||||
|
Tags: Etiquetas
|
||||||
|
BlogRecentPostsWidget:
|
||||||
|
Blog: Blog
|
||||||
|
NumberOfPosts: 'Número de entradas'
|
||||||
|
BlogTag:
|
||||||
|
PLURALNAME: 'Etiquetas del Blog'
|
||||||
|
SINGULARNAME: Blog
|
||||||
|
Title: Título
|
||||||
|
BlogTagsCloudWidget:
|
||||||
|
Blog: Blog
|
||||||
|
BlogTagsWidget:
|
||||||
|
Blog: Blog
|
||||||
|
Direction:
|
||||||
|
Label: Dirección
|
||||||
|
Limit:
|
||||||
|
Label: Límite
|
||||||
|
Sort:
|
||||||
|
Label: Ordenar
|
||||||
|
BlogTree:
|
||||||
|
DESCRIPTION: 'Página de contenido genérico'
|
||||||
|
PLURALNAME: 'Página base'
|
||||||
|
SINGULARNAME: 'Árbol del Blog'
|
||||||
|
GridFieldAddByDBField:
|
||||||
|
Add: 'Añadir {name}'
|
||||||
|
TagCloudWidget:
|
||||||
|
PLURALNAME: 'Nube de Etiquetas de Widgets'
|
||||||
|
SINGULARNAME: 'Nube de Etiquetas de Widget'
|
@ -3,6 +3,7 @@ fa_IR:
|
|||||||
PLURALNAME: 'ویجتهای بایگانی'
|
PLURALNAME: 'ویجتهای بایگانی'
|
||||||
SINGULARNAME: 'ویجت بایگانی'
|
SINGULARNAME: 'ویجت بایگانی'
|
||||||
Blog:
|
Blog:
|
||||||
|
AND: و
|
||||||
Archive: بایگانی
|
Archive: بایگانی
|
||||||
By: توسط
|
By: توسط
|
||||||
CONTRIBUTOR: 'مشارکتکننده'
|
CONTRIBUTOR: 'مشارکتکننده'
|
||||||
@ -41,8 +42,10 @@ fa_IR:
|
|||||||
BlogCategoriesWidget:
|
BlogCategoriesWidget:
|
||||||
Blog: وبلاگ
|
Blog: وبلاگ
|
||||||
Direction:
|
Direction:
|
||||||
|
Description: 'تغییر جهت ترتیب مجموعههای نمایش دادهشده توسط این ویجت'
|
||||||
Label: جهت
|
Label: جهت
|
||||||
Limit:
|
Limit:
|
||||||
|
Description: 'محدود کردن تعداد مجموعههای نمایش داده شده توسط این ویجت (روی 0 بگذارید تا همه به نمایش دربیایند)'
|
||||||
Label: 'محدود کردن'
|
Label: 'محدود کردن'
|
||||||
PLURALNAME: 'ویجتهای مجموعههای بلاگ'
|
PLURALNAME: 'ویجتهای مجموعههای بلاگ'
|
||||||
SINGULARNAME: 'ویجت مجموعههای بلاگ'
|
SINGULARNAME: 'ویجت مجموعههای بلاگ'
|
||||||
@ -50,6 +53,7 @@ fa_IR:
|
|||||||
Description: 'تغییر ترتیب مجموعههای نمایش دادهشده توسط این ویجت'
|
Description: 'تغییر ترتیب مجموعههای نمایش دادهشده توسط این ویجت'
|
||||||
Label: 'مرتبسازی'
|
Label: 'مرتبسازی'
|
||||||
BlogCategory:
|
BlogCategory:
|
||||||
|
Duplicate: 'یک مجموعه وبلاگ با این نام از قبل موجود است'
|
||||||
PLURALNAME: 'مجموعههای وبلاگ'
|
PLURALNAME: 'مجموعههای وبلاگ'
|
||||||
SINGULARNAME: 'مجموعه وبلاگ'
|
SINGULARNAME: 'مجموعه وبلاگ'
|
||||||
Title: عنوان
|
Title: عنوان
|
||||||
@ -64,15 +68,18 @@ fa_IR:
|
|||||||
BlogPost:
|
BlogPost:
|
||||||
AUTHOR: نگارنده
|
AUTHOR: نگارنده
|
||||||
AdditionalCredits: 'دیگر مشارکتکنندگان'
|
AdditionalCredits: 'دیگر مشارکتکنندگان'
|
||||||
|
AdditionalCredits_Description: 'اگر برخی از نگارندگان این ارسال دسترسی به سیاماس ندارند، نام آنها را اینجا وارد نمایید. میتوانید نامها را با علامت ویرگول از هم جدا کنید.'
|
||||||
Authors: نگارندگان
|
Authors: نگارندگان
|
||||||
CUSTOMSUMMARY: 'افزودن یک خلاصه دلخواه'
|
CUSTOMSUMMARY: 'افزودن یک خلاصه دلخواه'
|
||||||
Categories: 'مجموعهها'
|
Categories: 'مجموعهها'
|
||||||
DESCRIPTION: 'صفحه محتوای عمومی'
|
DESCRIPTION: 'صفحه محتوای عمومی'
|
||||||
|
FeaturedImage: 'تصویر برجسته'
|
||||||
PLURALNAME: 'صفحات پایهای'
|
PLURALNAME: 'صفحات پایهای'
|
||||||
PageTitleLabel: 'عنوان ارسال'
|
PageTitleLabel: 'عنوان ارسال'
|
||||||
PublishDate: 'تاریخ انتشار'
|
PublishDate: 'تاریخ انتشار'
|
||||||
PublishDate_Description: 'اگر بدون دادهای منتشر شود به "اکنون" تنظیم خواهد شد.'
|
PublishDate_Description: 'اگر بدون دادهای منتشر شود به "اکنون" تنظیم خواهد شد.'
|
||||||
SINGULARNAME: 'ارسال وبلاگ'
|
SINGULARNAME: 'ارسال وبلاگ'
|
||||||
|
SUMMARY_DESCRIPTION: 'اگر هیچ خلاصهای معرفی نشود ۳۰ کلمهی آغازین استفاده خواهد شد.'
|
||||||
Tags: تگها
|
Tags: تگها
|
||||||
BlogRecentPostsWidget:
|
BlogRecentPostsWidget:
|
||||||
Blog: وبلاگ
|
Blog: وبلاگ
|
||||||
@ -80,12 +87,18 @@ fa_IR:
|
|||||||
PLURALNAME: 'ویجتهای جدیدترین ارسالهای بلاگ'
|
PLURALNAME: 'ویجتهای جدیدترین ارسالهای بلاگ'
|
||||||
SINGULARNAME: 'ویجت جدیدترین ارسالهای بلاگ'
|
SINGULARNAME: 'ویجت جدیدترین ارسالهای بلاگ'
|
||||||
BlogTag:
|
BlogTag:
|
||||||
|
Duplicate: 'یک تگ وبلاگ با این نام از قبل موجود است'
|
||||||
PLURALNAME: 'تگهای وبلاگ'
|
PLURALNAME: 'تگهای وبلاگ'
|
||||||
SINGULARNAME: 'تگ وبلاگ'
|
SINGULARNAME: 'تگ وبلاگ'
|
||||||
Title: عنوان
|
Title: عنوان
|
||||||
|
BlogTagsCloudWidget:
|
||||||
|
Blog: وبلاگ
|
||||||
|
PLURALNAME: 'ویجت ابر تگهای وبلاگ'
|
||||||
|
SINGULARNAME: 'ویجتهای ابر تگهای وبلاگ'
|
||||||
BlogTagsWidget:
|
BlogTagsWidget:
|
||||||
Blog: وبلاگ
|
Blog: وبلاگ
|
||||||
Direction:
|
Direction:
|
||||||
|
Description: 'تغییر جهت ترتیب تگهای نمایش دادهشده توسط این ویجت'
|
||||||
Label: جهت
|
Label: جهت
|
||||||
Limit:
|
Limit:
|
||||||
Description: 'محدود کردن تعداد تگهای نمایش داده شده توسط این ویجت (روی 0 بگذارید تا همه به نمایش دربیایند)'
|
Description: 'محدود کردن تعداد تگهای نمایش داده شده توسط این ویجت (روی 0 بگذارید تا همه به نمایش دربیایند)'
|
||||||
@ -93,6 +106,7 @@ fa_IR:
|
|||||||
PLURALNAME: 'ویجتهای تگهای وبلاگ'
|
PLURALNAME: 'ویجتهای تگهای وبلاگ'
|
||||||
SINGULARNAME: 'ویجت تگهای وبلاگ'
|
SINGULARNAME: 'ویجت تگهای وبلاگ'
|
||||||
Sort:
|
Sort:
|
||||||
|
Description: 'تغییر ترتیب تگهای نمایش دادهشده توسط این ویجت'
|
||||||
Label: 'مرتبسازی'
|
Label: 'مرتبسازی'
|
||||||
BlogTree:
|
BlogTree:
|
||||||
DESCRIPTION: 'صفحه محتوای عمومی'
|
DESCRIPTION: 'صفحه محتوای عمومی'
|
||||||
@ -100,7 +114,12 @@ fa_IR:
|
|||||||
SINGULARNAME: 'نمایش درختی وبلاگ'
|
SINGULARNAME: 'نمایش درختی وبلاگ'
|
||||||
GridFieldAddByDBField:
|
GridFieldAddByDBField:
|
||||||
Add: 'افزودن {name}'
|
Add: 'افزودن {name}'
|
||||||
|
AddFail: 'ناتوان از ذخیرهسازی {class} در بانک داده'
|
||||||
PermissionFail: 'شما دسترسی لازم جهت ایجاد یک {class} را ندارید.'
|
PermissionFail: 'شما دسترسی لازم جهت ایجاد یک {class} را ندارید.'
|
||||||
|
GridFieldBlogPostState:
|
||||||
|
Draft: '<i class="btn-icon gridfield-icon btn-icon-pencil"></i> ذخیرهشده به عنوان پیشنویس در {date}'
|
||||||
|
Published: '<i class="btn-icon gridfield-icon btn-icon-accept"></i> انتشار یافته در {date}'
|
||||||
|
Timer: '<i class="gridfield-icon blog-icon-timer"></i> انتشار یافته در {date}'
|
||||||
TagCloudWidget:
|
TagCloudWidget:
|
||||||
PLURALNAME: 'ویجتهای ابر تگ'
|
PLURALNAME: 'ویجتهای ابر تگ'
|
||||||
SINGULARNAME: 'ویجت ابر تگ'
|
SINGULARNAME: 'ویجت ابر تگ'
|
||||||
|
@ -3,6 +3,7 @@ fi:
|
|||||||
PLURALNAME: Arkistovimpaimet
|
PLURALNAME: Arkistovimpaimet
|
||||||
SINGULARNAME: Arkistovimpain
|
SINGULARNAME: Arkistovimpain
|
||||||
Blog:
|
Blog:
|
||||||
|
AND: ja
|
||||||
Archive: Arkisto
|
Archive: Arkisto
|
||||||
By: kirjoittanut
|
By: kirjoittanut
|
||||||
CONTRIBUTOR: Avustaja
|
CONTRIBUTOR: Avustaja
|
||||||
|
@ -3,6 +3,7 @@ nl:
|
|||||||
PLURALNAME: Archief-widgets
|
PLURALNAME: Archief-widgets
|
||||||
SINGULARNAME: Archief-widget
|
SINGULARNAME: Archief-widget
|
||||||
Blog:
|
Blog:
|
||||||
|
AND: en
|
||||||
Archive: Archief
|
Archive: Archief
|
||||||
By: door
|
By: door
|
||||||
CONTRIBUTOR: Co-auteur
|
CONTRIBUTOR: Co-auteur
|
||||||
@ -21,7 +22,7 @@ nl:
|
|||||||
NoUnfeaturedPosts: 'Er zijn geen niet aanbevolen artikelen'
|
NoUnfeaturedPosts: 'Er zijn geen niet aanbevolen artikelen'
|
||||||
PERMISSIONS_CATEGORY: 'Blog rechten'
|
PERMISSIONS_CATEGORY: 'Blog rechten'
|
||||||
PERMISSION_MANAGE_USERS_DESCRIPTION: 'Beheer gebruikers voor individuele blogs'
|
PERMISSION_MANAGE_USERS_DESCRIPTION: 'Beheer gebruikers voor individuele blogs'
|
||||||
PERMISSION_MANAGE_USERS_HELP: 'Laat toewijzing van Redacteurs, Auteurs en Co-auteurs toe.'
|
PERMISSION_MANAGE_USERS_HELP: 'Laat toewijzing toe van Redacteurs, Auteurs en Co-auteurs.'
|
||||||
PLURALNAME: Blogs
|
PLURALNAME: Blogs
|
||||||
Posted: Geplaatst
|
Posted: Geplaatst
|
||||||
PostedIn: 'Geplaatst in'
|
PostedIn: 'Geplaatst in'
|
||||||
@ -68,7 +69,7 @@ nl:
|
|||||||
AUTHOR: Auteur
|
AUTHOR: Auteur
|
||||||
AdditionalCredits: Dankbetuigingen
|
AdditionalCredits: Dankbetuigingen
|
||||||
AdditionalCredits_Description: 'Indien (enkele) auteurs geen toegang hebben tot dit CMS, kunnen ze hier toegevoegd worden. Scheid namen door middel van komma''s'
|
AdditionalCredits_Description: 'Indien (enkele) auteurs geen toegang hebben tot dit CMS, kunnen ze hier toegevoegd worden. Scheid namen door middel van komma''s'
|
||||||
Authors: Auterus
|
Authors: Auteurs
|
||||||
CUSTOMSUMMARY: 'Voeg een eigen samenvatting toe'
|
CUSTOMSUMMARY: 'Voeg een eigen samenvatting toe'
|
||||||
Categories: Categorieën
|
Categories: Categorieën
|
||||||
DESCRIPTION: 'Blog Artikel'
|
DESCRIPTION: 'Blog Artikel'
|
||||||
|
115
lang/sk.yml
115
lang/sk.yml
@ -1,20 +1,121 @@
|
|||||||
sk:
|
sk:
|
||||||
|
ArchiveWidget:
|
||||||
|
PLURALNAME: 'Widgety archív'
|
||||||
|
SINGULARNAME: 'Widget archív'
|
||||||
Blog:
|
Blog:
|
||||||
FILTERDESCRIPTION_PAGE: 'Strana {page}'
|
AND: a
|
||||||
PLURALNAME: 'Základné stránky'
|
Archive: Archív
|
||||||
|
By: ' od'
|
||||||
|
CONTRIBUTOR: Prispievateľ
|
||||||
|
Categories: Kategórie
|
||||||
|
Category: Kategória
|
||||||
|
Comments: Komentáre
|
||||||
|
DESCRIPTION: 'Pridá blog na stránku.'
|
||||||
|
EDITOR: Vydavateľ
|
||||||
|
FILTERDESCRIPTION_AUTHOR: '{author}'
|
||||||
|
FILTERDESCRIPTION_CATEGORY: 'V kategórii {category}'
|
||||||
|
FILTERDESCRIPTION_DATE: '{date}'
|
||||||
|
FILTERDESCRIPTION_PAGE: 'Stránka {page}'
|
||||||
|
FILTERDESCRIPTION_TAG: 'Štítkovaný {tag}'
|
||||||
|
LumberjackTitle: 'Príspevky v blogu'
|
||||||
|
NoPosts: 'Žiadne príspevky'
|
||||||
|
PERMISSIONS_CATEGORY: 'Práva blogu'
|
||||||
|
PERMISSION_MANAGE_USERS_DESCRIPTION: 'Správa užívateľov pre jednotlivé blogy'
|
||||||
|
PERMISSION_MANAGE_USERS_HELP: 'Umožniť priradenie vydavateľov, spisovateľov alebo prispievateľov do blogu.'
|
||||||
|
PLURALNAME: Blogy
|
||||||
|
Posted: Uverejnené
|
||||||
|
PostedIn: 'Uverejnené v'
|
||||||
|
PostsPerPage: 'Príspevky na stránke'
|
||||||
|
ReadMoreAbout: 'Čítať viac o ''{title}''...'
|
||||||
|
SINGULARNAME: Blog
|
||||||
|
Tag: 'Štítok'
|
||||||
|
Tagged: Oštítkované
|
||||||
|
Tags: 'Štítky'
|
||||||
|
WRITER: Spisovateľ
|
||||||
|
BlogArchiveWidget:
|
||||||
|
ArchiveType: 'Typ archívu'
|
||||||
|
Blog: Blog
|
||||||
|
NumberToDisplay: 'Počet na zobrazenie'
|
||||||
|
PLURALNAME: 'Widgety archívu blogu'
|
||||||
|
SINGULARNAME: 'Widget archívu blogu'
|
||||||
|
BlogCategoriesWidget:
|
||||||
|
Blog: Blog
|
||||||
|
Direction:
|
||||||
|
Description: 'Zmení smer usporiadania kategórií na tomto widgete.'
|
||||||
|
Label: Smer
|
||||||
|
Limit:
|
||||||
|
Description: 'Obmedzí počet zobrazených kategórií na tomto widgete (nastavením na 0 sa zobrazujú všetky kategórie).'
|
||||||
|
Label: 'Max. počet'
|
||||||
|
PLURALNAME: 'Widgety kategórií blogu'
|
||||||
|
SINGULARNAME: 'Widget kategórií blogu'
|
||||||
|
Sort:
|
||||||
|
Description: 'Zmení usporiadanie kategórií na tomto widgete.'
|
||||||
|
Label: Usporiadanie
|
||||||
BlogCategory:
|
BlogCategory:
|
||||||
|
Duplicate: 'Kategória blogu s týmto názvom už existuje'
|
||||||
|
PLURALNAME: 'Kategórie blogu'
|
||||||
|
SINGULARNAME: 'Kategória blogu'
|
||||||
Title: Názov
|
Title: Názov
|
||||||
BlogEntry:
|
BlogEntry:
|
||||||
DESCRIPTION: 'Obyčajná jednoduchá stránka s vlastným obsahom.'
|
DESCRIPTION: 'Generický obsah stránky'
|
||||||
PLURALNAME: 'Základné stránky'
|
PLURALNAME: 'Základné stránky'
|
||||||
BlogHolder:
|
BlogHolder:
|
||||||
DESCRIPTION: 'Obyčajná jednoduchá stránka s vlastným obsahom.'
|
DESCRIPTION: 'Generický obsah stránky'
|
||||||
PLURALNAME: 'Základné stránky'
|
PLURALNAME: 'Základné stránky'
|
||||||
BlogPost:
|
BlogPost:
|
||||||
DESCRIPTION: 'Obyčajná jednoduchá stránka s vlastným obsahom.'
|
AUTHOR: Autor
|
||||||
PLURALNAME: 'Základné stránky'
|
AdditionalCredits: 'Doplnkoví autori'
|
||||||
|
AdditionalCredits_Description: 'Ak niektorí autori tohto príspevku nemajú prístup k CMS, zadajte ich mená sem. Viacero autorov môžete oddeliť čiarkou.'
|
||||||
|
Authors: 'Ak niektorí autori tohto príspevku nemajú prístup k CMS, zadajte ich mená sem. Viacero autorov môžete oddeliť čiarkou.'
|
||||||
|
CUSTOMSUMMARY: 'Pridať vlastné zhrnutie'
|
||||||
|
Categories: Kategórie
|
||||||
|
DESCRIPTION: 'Generický obsah stránky'
|
||||||
|
FeaturedImage: 'Hlavný obrázok'
|
||||||
|
PLURALNAME: 'Príspevky v blogu'
|
||||||
|
PageTitleLabel: 'Názov príspevku'
|
||||||
|
PublishDate: 'Dátum publikovania'
|
||||||
|
PublishDate_Description: 'V prípade zverejnenia bez hodnoty bude nastavený aktuálny dátum a čas.'
|
||||||
|
SINGULARNAME: 'Príspevok v blogu'
|
||||||
|
SUMMARY_DESCRIPTION: 'Ak zhrnutie nie je uvedené, bude použitých prvých 30 slov z obsahu.'
|
||||||
|
Tags: 'Štítky'
|
||||||
|
BlogRecentPostsWidget:
|
||||||
|
Blog: Blog
|
||||||
|
NumberOfPosts: 'Počet príspevkov'
|
||||||
|
PLURALNAME: 'Widgety nedávnych príspevkov blogu'
|
||||||
|
SINGULARNAME: 'Widget nedávnych príspevkov blogu'
|
||||||
BlogTag:
|
BlogTag:
|
||||||
|
Duplicate: 'Štítok blogu s týmto názvom už existuje'
|
||||||
|
PLURALNAME: 'Štítky blogu'
|
||||||
|
SINGULARNAME: 'Štítok blogu'
|
||||||
Title: Názov
|
Title: Názov
|
||||||
|
BlogTagsCloudWidget:
|
||||||
|
Blog: Blog
|
||||||
|
PLURALNAME: 'Widgety používaných štítkov blogu'
|
||||||
|
SINGULARNAME: 'Widget používaných štítkov blogu'
|
||||||
|
BlogTagsWidget:
|
||||||
|
Blog: Blog
|
||||||
|
Direction:
|
||||||
|
Description: 'Zmení smer usporiadania štítkov na tomto widgete.'
|
||||||
|
Label: Smer
|
||||||
|
Limit:
|
||||||
|
Description: 'Obmedzí počet zobrazených štítkov na tomto widgete (nastavením na 0 sa zobrazujú všetky štítky).'
|
||||||
|
Label: 'Max. počet'
|
||||||
|
PLURALNAME: 'Widgety štítkov blogu'
|
||||||
|
SINGULARNAME: 'Widget štítkov blogu'
|
||||||
|
Sort:
|
||||||
|
Description: 'Zmení usporiadanie štítkov na tomto widgete.'
|
||||||
|
Label: Usporiadanie
|
||||||
BlogTree:
|
BlogTree:
|
||||||
DESCRIPTION: 'Obyčajná jednoduchá stránka s vlastným obsahom.'
|
DESCRIPTION: 'Generický obsah stránky'
|
||||||
PLURALNAME: 'Základné stránky'
|
PLURALNAME: 'Základné stránky'
|
||||||
|
GridFieldAddByDBField:
|
||||||
|
Add: 'Pridať {name}'
|
||||||
|
AddFail: 'Nie je možné uložiť {class} do databázy.'
|
||||||
|
PermissionFail: 'Nemáte oprávnenie na vytvorenie {class}.'
|
||||||
|
GridFieldBlogPostState:
|
||||||
|
Draft: '<i class="btn-icon gridfield-icon btn-icon-pencil"></i> Uložený ako koncept dňa {date}'
|
||||||
|
Published: '<i class="btn-icon gridfield-icon btn-icon-accept"></i> Publikovaný dňa {date}'
|
||||||
|
Timer: '<i class="gridfield-icon blog-icon-timer"></i> Zverejnený dňa {date}'
|
||||||
|
TagCloudWidget:
|
||||||
|
PLURALNAME: 'Widgety používaných štítkov'
|
||||||
|
SINGULARNAME: 'Widget používaných štítkov'
|
||||||
|
121
lang/sk_SK.yml
Normal file
121
lang/sk_SK.yml
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
sk_SK:
|
||||||
|
ArchiveWidget:
|
||||||
|
PLURALNAME: 'Widgety archív'
|
||||||
|
SINGULARNAME: 'Widget archív'
|
||||||
|
Blog:
|
||||||
|
AND: a
|
||||||
|
Archive: Archív
|
||||||
|
By: ' od'
|
||||||
|
CONTRIBUTOR: Prispievateľ
|
||||||
|
Categories: Kategórie
|
||||||
|
Category: Kategória
|
||||||
|
Comments: Komentáre
|
||||||
|
DESCRIPTION: 'Pridá blog na stránku.'
|
||||||
|
EDITOR: Vydavateľ
|
||||||
|
FILTERDESCRIPTION_AUTHOR: '{author}'
|
||||||
|
FILTERDESCRIPTION_CATEGORY: 'V kategórii {category}'
|
||||||
|
FILTERDESCRIPTION_DATE: '{date}'
|
||||||
|
FILTERDESCRIPTION_PAGE: 'Stránka {page}'
|
||||||
|
FILTERDESCRIPTION_TAG: 'Štítkovaný {tag}'
|
||||||
|
LumberjackTitle: 'Príspevky v blogu'
|
||||||
|
NoPosts: 'Žiadne príspevky'
|
||||||
|
PERMISSIONS_CATEGORY: 'Práva blogu'
|
||||||
|
PERMISSION_MANAGE_USERS_DESCRIPTION: 'Správa užívateľov pre jednotlivé blogy'
|
||||||
|
PERMISSION_MANAGE_USERS_HELP: 'Umožniť priradenie vydavateľov, spisovateľov alebo prispievateľov do blogu.'
|
||||||
|
PLURALNAME: Blogy
|
||||||
|
Posted: Uverejnené
|
||||||
|
PostedIn: 'Uverejnené v'
|
||||||
|
PostsPerPage: 'Príspevky na stránke'
|
||||||
|
ReadMoreAbout: 'Čítať viac o ''{title}''...'
|
||||||
|
SINGULARNAME: Blog
|
||||||
|
Tag: 'Štítok'
|
||||||
|
Tagged: Oštítkované
|
||||||
|
Tags: 'Štítky'
|
||||||
|
WRITER: Spisovateľ
|
||||||
|
BlogArchiveWidget:
|
||||||
|
ArchiveType: 'Typ archívu'
|
||||||
|
Blog: Blog
|
||||||
|
NumberToDisplay: 'Počet na zobrazenie'
|
||||||
|
PLURALNAME: 'Widgety archívu blogu'
|
||||||
|
SINGULARNAME: 'Widget archívu blogu'
|
||||||
|
BlogCategoriesWidget:
|
||||||
|
Blog: Blog
|
||||||
|
Direction:
|
||||||
|
Description: 'Zmení smer usporiadania kategórií na tomto widgete.'
|
||||||
|
Label: Smer
|
||||||
|
Limit:
|
||||||
|
Description: 'Obmedzí počet zobrazených kategórií na tomto widgete (nastavením na 0 sa zobrazujú všetky kategórie).'
|
||||||
|
Label: 'Max. počet'
|
||||||
|
PLURALNAME: 'Widgety kategórií blogu'
|
||||||
|
SINGULARNAME: 'Widget kategórií blogu'
|
||||||
|
Sort:
|
||||||
|
Description: 'Zmení usporiadanie kategórií na tomto widgete.'
|
||||||
|
Label: Usporiadanie
|
||||||
|
BlogCategory:
|
||||||
|
Duplicate: 'Kategória blogu s týmto názvom už existuje'
|
||||||
|
PLURALNAME: 'Kategórie blogu'
|
||||||
|
SINGULARNAME: 'Kategória blogu'
|
||||||
|
Title: Názov
|
||||||
|
BlogEntry:
|
||||||
|
DESCRIPTION: 'Generický obsah stránky'
|
||||||
|
PLURALNAME: 'Základné stránky'
|
||||||
|
BlogHolder:
|
||||||
|
DESCRIPTION: 'Generický obsah stránky'
|
||||||
|
PLURALNAME: 'Základné stránky'
|
||||||
|
BlogPost:
|
||||||
|
AUTHOR: Autor
|
||||||
|
AdditionalCredits: 'Doplnkoví autori'
|
||||||
|
AdditionalCredits_Description: 'Ak niektorí autori tohto príspevku nemajú prístup k CMS, zadajte ich mená sem. Viacero autorov môžete oddeliť čiarkou.'
|
||||||
|
Authors: Autori
|
||||||
|
CUSTOMSUMMARY: 'Pridať vlastné zhrnutie'
|
||||||
|
Categories: Kategórie
|
||||||
|
DESCRIPTION: 'Generický obsah stránky'
|
||||||
|
FeaturedImage: 'Hlavný obrázok'
|
||||||
|
PLURALNAME: 'Príspevky v blogu'
|
||||||
|
PageTitleLabel: 'Názov príspevku'
|
||||||
|
PublishDate: 'Dátum publikovania'
|
||||||
|
PublishDate_Description: 'V prípade zverejnenia bez hodnoty bude nastavený aktuálny dátum a čas.'
|
||||||
|
SINGULARNAME: 'Príspevok v blogu'
|
||||||
|
SUMMARY_DESCRIPTION: 'Ak zhrnutie nie je uvedené, bude použitých prvých 30 slov z obsahu.'
|
||||||
|
Tags: 'Štítky'
|
||||||
|
BlogRecentPostsWidget:
|
||||||
|
Blog: Blog
|
||||||
|
NumberOfPosts: 'Počet príspevkov'
|
||||||
|
PLURALNAME: 'Widgety nedávnych príspevkov blogu'
|
||||||
|
SINGULARNAME: 'Widget nedávnych príspevkov blogu'
|
||||||
|
BlogTag:
|
||||||
|
Duplicate: 'Štítok blogu s týmto názvom už existuje'
|
||||||
|
PLURALNAME: 'Štítky blogu'
|
||||||
|
SINGULARNAME: 'Štítok blogu'
|
||||||
|
Title: Názov
|
||||||
|
BlogTagsCloudWidget:
|
||||||
|
Blog: Blog
|
||||||
|
PLURALNAME: 'Widgety používaných štítkov blogu'
|
||||||
|
SINGULARNAME: 'Widget používaných štítkov blogu'
|
||||||
|
BlogTagsWidget:
|
||||||
|
Blog: Blog
|
||||||
|
Direction:
|
||||||
|
Description: 'Zmení smer usporiadania štítkov na tomto widgete.'
|
||||||
|
Label: Smer
|
||||||
|
Limit:
|
||||||
|
Description: 'Obmedzí počet zobrazených štítkov na tomto widgete (nastavením na 0 sa zobrazujú všetky štítky).'
|
||||||
|
Label: 'Max. počet'
|
||||||
|
PLURALNAME: 'Widgety štítkov blogu'
|
||||||
|
SINGULARNAME: 'Widget štítkov blogu'
|
||||||
|
Sort:
|
||||||
|
Description: 'Zmení usporiadanie štítkov na tomto widgete.'
|
||||||
|
Label: Usporiadanie
|
||||||
|
BlogTree:
|
||||||
|
DESCRIPTION: 'Generický obsah stránky'
|
||||||
|
PLURALNAME: 'Základné stránky'
|
||||||
|
GridFieldAddByDBField:
|
||||||
|
Add: 'Pridať {name}'
|
||||||
|
AddFail: 'Nie je možné uložiť {class} do databázy.'
|
||||||
|
PermissionFail: 'Nemáte oprávnenie na vytvorenie {class}.'
|
||||||
|
GridFieldBlogPostState:
|
||||||
|
Draft: '<i class="btn-icon gridfield-icon btn-icon-pencil"></i> Uložený ako koncept dňa {date}'
|
||||||
|
Published: '<i class="btn-icon gridfield-icon btn-icon-accept"></i> Publikovaný dňa {date}'
|
||||||
|
Timer: '<i class="gridfield-icon blog-icon-timer"></i> Zverejnený dňa {date}'
|
||||||
|
TagCloudWidget:
|
||||||
|
PLURALNAME: 'Widgety používaných štítkov'
|
||||||
|
SINGULARNAME: 'Widget používaných štítkov'
|
@ -3,6 +3,7 @@ sv:
|
|||||||
PLURALNAME: Arkiv-Widgets
|
PLURALNAME: Arkiv-Widgets
|
||||||
SINGULARNAME: Arkiv-Widget
|
SINGULARNAME: Arkiv-Widget
|
||||||
Blog:
|
Blog:
|
||||||
|
AND: och
|
||||||
Archive: Arkiv
|
Archive: Arkiv
|
||||||
By: av
|
By: av
|
||||||
CONTRIBUTOR: Bidragsgivare
|
CONTRIBUTOR: Bidragsgivare
|
||||||
@ -52,6 +53,7 @@ sv:
|
|||||||
Description: 'Ändra ordningen av kategorier som visas av denna widget.'
|
Description: 'Ändra ordningen av kategorier som visas av denna widget.'
|
||||||
Label: Sortera
|
Label: Sortera
|
||||||
BlogCategory:
|
BlogCategory:
|
||||||
|
Duplicate: 'En kategori med det här namnet är redan tillagd'
|
||||||
PLURALNAME: 'Blogg Kategorier'
|
PLURALNAME: 'Blogg Kategorier'
|
||||||
SINGULARNAME: 'Blogg Kategori'
|
SINGULARNAME: 'Blogg Kategori'
|
||||||
Title: Titel
|
Title: Titel
|
||||||
@ -66,6 +68,7 @@ sv:
|
|||||||
BlogPost:
|
BlogPost:
|
||||||
AUTHOR: Författare
|
AUTHOR: Författare
|
||||||
AdditionalCredits: 'Ytterligare erkännanden'
|
AdditionalCredits: 'Ytterligare erkännanden'
|
||||||
|
AdditionalCredits_Description: 'Om några av författarna till denna post inte har konton i CMS:en kan du lägga till deras namn här. Fler än ett namn kan separeras med komma.'
|
||||||
Authors: Författare
|
Authors: Författare
|
||||||
CUSTOMSUMMARY: 'Lägg till en anpassad sammanfattning'
|
CUSTOMSUMMARY: 'Lägg till en anpassad sammanfattning'
|
||||||
Categories: Kategorier
|
Categories: Kategorier
|
||||||
@ -83,9 +86,14 @@ sv:
|
|||||||
PLURALNAME: 'Blogg Senaste Inläggs-Widget'
|
PLURALNAME: 'Blogg Senaste Inläggs-Widget'
|
||||||
SINGULARNAME: 'Blogg Senaste Inläggs-Widget'
|
SINGULARNAME: 'Blogg Senaste Inläggs-Widget'
|
||||||
BlogTag:
|
BlogTag:
|
||||||
|
Duplicate: 'En tag med det här namnet är redan tillagd'
|
||||||
PLURALNAME: 'Blogg taggar'
|
PLURALNAME: 'Blogg taggar'
|
||||||
SINGULARNAME: 'Blogg tag'
|
SINGULARNAME: 'Blogg tag'
|
||||||
Title: Titel
|
Title: Titel
|
||||||
|
BlogTagsCloudWidget:
|
||||||
|
Blog: Blogg
|
||||||
|
PLURALNAME: 'Cloud-widgets för taggar'
|
||||||
|
SINGULARNAME: 'Cloud-widget för tagg'
|
||||||
BlogTagsWidget:
|
BlogTagsWidget:
|
||||||
Blog: Blogg
|
Blog: Blogg
|
||||||
Direction:
|
Direction:
|
||||||
|
40
tests/BlogFunctionalTest.php
Normal file
40
tests/BlogFunctionalTest.php
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class BlogFunctionalTest extends FunctionalTest
|
||||||
|
{
|
||||||
|
protected static $fixture_file = 'BlogFunctionalTest.yml';
|
||||||
|
|
||||||
|
protected static $use_draft_site = true;
|
||||||
|
|
||||||
|
public function setUp()
|
||||||
|
{
|
||||||
|
Config::inst()->update('URLSegmentFilter', 'default_allow_multibyte', true);
|
||||||
|
|
||||||
|
parent::setUp();
|
||||||
|
|
||||||
|
i18n::set_locale('fa_IR');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testBlogWithMultibyteUrl()
|
||||||
|
{
|
||||||
|
$result = $this->get('آبید');
|
||||||
|
|
||||||
|
$this->assertEquals(200, $result->getStatusCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testMemberProfileWithMultibyteUrlAndName()
|
||||||
|
{
|
||||||
|
$result = $this->get('آبید/profile/عبّاس-آبان');
|
||||||
|
|
||||||
|
$this->assertEquals(200, $result->getStatusCode());
|
||||||
|
$this->assertContains('My Blog Post', $result->getBody());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testMemberProfileWithMultibyteUrlAndEnglishName()
|
||||||
|
{
|
||||||
|
$result = $this->get('آبید/profile/bob-jones');
|
||||||
|
|
||||||
|
$this->assertEquals(200, $result->getStatusCode());
|
||||||
|
$this->assertContains('My Blog Post', $result->getBody());
|
||||||
|
}
|
||||||
|
}
|
22
tests/BlogFunctionalTest.yml
Normal file
22
tests/BlogFunctionalTest.yml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
Member:
|
||||||
|
member_a:
|
||||||
|
FirstName: عبّاس
|
||||||
|
Surname: آبان
|
||||||
|
Email: foo@example.com
|
||||||
|
member_b:
|
||||||
|
FirstName: Bob
|
||||||
|
Surname: Jones
|
||||||
|
Email: bobjones@example.com
|
||||||
|
|
||||||
|
Blog:
|
||||||
|
blog_a:
|
||||||
|
URLSegment: آبید
|
||||||
|
Title: My Blog
|
||||||
|
|
||||||
|
BlogPost:
|
||||||
|
blogpost_a:
|
||||||
|
Title: My Blog Post
|
||||||
|
URLSegment: آبیدآبید
|
||||||
|
PublishDate: '2017-08-01 00:00:00'
|
||||||
|
Parent: =>Blog.blog_a
|
||||||
|
Authors: =>Member.member_a, =>Member.member_b
|
Loading…
Reference in New Issue
Block a user