Look at the age of a user's first post to determine if the user can be nuked, instead of looking at when the user registered.
This commit is contained in:
parent
a57ecef253
commit
b696c96a19
|
@ -132,7 +132,7 @@ Discourse.AdminUsersListController = Ember.ArrayController.extend(Discourse.Pres
|
|||
var message = I18n.t("admin.users.reject_successful", {count: result.success});
|
||||
if (result.failed > 0) {
|
||||
message += ' ' + I18n.t("admin.users.reject_failures", {count: result.failed});
|
||||
message += ' ' + I18n.t("admin.user.delete_forbidden", {count: Discourse.SiteSettings.delete_user_max_age});
|
||||
message += ' ' + I18n.t("admin.user.delete_forbidden", {count: Discourse.SiteSettings.delete_user_max_post_age});
|
||||
}
|
||||
bootbox.alert(message);
|
||||
controller.refreshUsers();
|
||||
|
|
|
@ -36,6 +36,14 @@ Discourse.AdminUser = Discourse.User.extend({
|
|||
});
|
||||
},
|
||||
|
||||
deleteAllPostsExplanation: function() {
|
||||
if (!this.get('can_delete_all_posts')) {
|
||||
return I18n.t('admin.user.cant_delete_all_posts', {count: Discourse.SiteSettings.delete_user_max_post_age});
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}.property('can_delete_all_posts'),
|
||||
|
||||
deleteAllPosts: function() {
|
||||
this.set('can_delete_all_posts', false);
|
||||
var user = this;
|
||||
|
@ -243,7 +251,7 @@ Discourse.AdminUser = Discourse.User.extend({
|
|||
if (this.get('staff')) {
|
||||
return I18n.t('admin.user.delete_forbidden_because_staff');
|
||||
} else {
|
||||
return I18n.t('admin.user.delete_forbidden', {count: Discourse.SiteSettings.delete_user_max_age});
|
||||
return I18n.t('admin.user.delete_forbidden', {count: Discourse.SiteSettings.delete_user_max_post_age});
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
|
|
|
@ -305,6 +305,8 @@
|
|||
<i class='fa fa-trash-o'></i>
|
||||
{{i18n admin.user.delete_all_posts}}
|
||||
</button>
|
||||
{{else}}
|
||||
{{deleteAllPostsExplanation}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -357,6 +357,10 @@ class User < ActiveRecord::Base
|
|||
posts.count
|
||||
end
|
||||
|
||||
def first_post
|
||||
posts.order('created_at ASC').first
|
||||
end
|
||||
|
||||
def flags_given_count
|
||||
PostAction.where(user_id: id, post_action_type_id: PostActionType.flag_types.values).count
|
||||
end
|
||||
|
|
|
@ -1572,8 +1572,11 @@ en:
|
|||
delete: "Delete User"
|
||||
delete_forbidden_because_staff: "Admins and moderators can't be deleted."
|
||||
delete_forbidden:
|
||||
one: "Users can't be deleted if they registered more than %{count} day ago, or if they have posts. Delete all posts before trying to delete a user."
|
||||
other: "Users can't be deleted if they registered more than %{count} days ago, or if they have posts. Delete all posts before trying to delete a user."
|
||||
one: "Users can't be deleted if they have posts. Delete all posts before trying to delete a user. (Posts older than %{count} day old can't be deleted.)"
|
||||
other: "Users can't be deleted if they have posts. Delete all posts before trying to delete a user. (Posts older than %{count} days old can't be deleted.)"
|
||||
cant_delete_all_posts:
|
||||
one: "Can't delete all posts. Some posts are older than %{count} day old."
|
||||
other: "Can't delete all posts. Some posts are older than %{count} days old."
|
||||
delete_confirm: "Are you SURE you want to delete this user? This action is permanent!"
|
||||
delete_and_block: "<b>Yes</b>, and <b>block</b> future signups from this email and IP address"
|
||||
delete_dont_block: "<b>Yes</b>, just delete the user"
|
||||
|
|
|
@ -680,7 +680,7 @@ cs:
|
|||
minimum_topics_similar: "Kolik témat musí v databázi existovat, než se začne nabízet menu s podobnými tématy."
|
||||
|
||||
relative_date_duration: "Počet dní od zaslání příspěvku, po které se budou datumy zobrazovat relativně namísto absolutně. Příklady: relativně: 7d, absolutně: 20. února"
|
||||
delete_user_max_age: "Maximální stáří uživatele ve dnech, který může být smazán administrátorem."
|
||||
delete_user_max_post_age: "Maximální stáří uživatele ve dnech, který může být smazán administrátorem."
|
||||
delete_all_posts_max: "Maximální počet příspěvků, které mohou být smazány najednou tlačítkem 'Odstranit všechny příspěvky'. Pokud má uživatel více příspěvků než je zde nastaveno, nemohou být jeho příspěvky smazány najednou a uživatele nelze odstranit."
|
||||
|
||||
|
||||
|
|
|
@ -751,7 +751,7 @@ da:
|
|||
minimum_topics_similar: "Hvor emner der skal eksistere i databasen før der vises tilsvarende emner."
|
||||
|
||||
relative_date_duration: "Antal dage efter oprettelse af et indlæg hvor datoer vises som relative i stedet for absolutte. Eksempler: relativ dato: 7d, absolut dato: 20 Feb."
|
||||
delete_user_max_age: "Den maksimale alder af en bruger som kan slettes af en admin, i dage."
|
||||
delete_user_max_post_age: "Den maksimale alder af en bruger som kan slettes af en admin, i dage."
|
||||
delete_all_posts_max: "Det maksimale antal indlæg der kan slettes på én gang med “Slet alle indlæg”-knappen. Hvis en bruger har mere end dette antal indlæg, kan indlæggene ikke slettes på én gang og brugeren kan ikke slettes."
|
||||
username_change_period: "Antal dage efter oprettelsen hvor brugere kan ændre deres brugernavn (0 for ikke at tillade skift af brugernavn)."
|
||||
email_editable: "Lad brugerne skifte deres e-mail-adresse efter oprettelsen."
|
||||
|
|
|
@ -654,7 +654,7 @@ de:
|
|||
minimum_topics_similar: "Wie viele Themen in der Datenbank existieren müssen, bevor ähnliche Themen angezeigt werden."
|
||||
|
||||
relative_date_duration: "Anzahl von Tagen nach nach welchen das Beitragsdatum relativ und nicht absolut angezeigt wird. Beispiel: relatives Datum: 7T, absolutes Datum: 20 Feb"
|
||||
delete_user_max_age: "Nach wievielen Tagen ein Benutzerkonto von einem Administrator gelöscht werden kann."
|
||||
delete_user_max_post_age: "Nach wievielen Tagen ein Benutzerkonto von einem Administrator gelöscht werden kann."
|
||||
delete_all_posts_max: "Die maximale Anzahl von Beiträgen welche auf einmal gelöscht werden kann. Hat ein Benutzer mehr Beiträge, so können die Beiträge nicht auf einmal und der Benutzer nicht gelöscht werden."
|
||||
username_change_period: "Wie lange neu registrierte Benutzer ihren Benutzernamen ändern können."
|
||||
|
||||
|
|
|
@ -781,7 +781,7 @@ en:
|
|||
minimum_topics_similar: "How many topics need to exist in the database before similar topics are presented."
|
||||
|
||||
relative_date_duration: "Number of days after posting where post dates will be shown as relative instead of absolute. Examples: relative date: 7d, absolute date: 20 Feb"
|
||||
delete_user_max_age: "The maximum age of a user, in days, which can be deleted by an admin."
|
||||
delete_user_max_post_age: "The maximum age of a user's first post, in days, which allows a user to be deleted."
|
||||
delete_all_posts_max: "The maximum number of posts that can be deleted at once with the Delete All Posts button. If a user has more than this many posts, the posts cannot all be deleted at once and the user can't be deleted."
|
||||
username_change_period: "The number of days after registration that accounts can change their username (0 to disallow username change)."
|
||||
email_editable: "Allow users to change their e-mail address after registration."
|
||||
|
|
|
@ -665,7 +665,7 @@ fr:
|
|||
pop3s_polling_password: "Le mot de passe pour le polling POPS3 par email"
|
||||
minimum_topics_similar: "Combien de topics ont besoin d'exister dans la base de données avant que des topics similaires soit présentés."
|
||||
relative_date_duration: "Nombre de jours après la création d'un message à partir desquels les dates seront affichées en absolu plutôt qu'en relatif. Exemple: relatif : 7j, absolut : 20 Fév"
|
||||
delete_user_max_age: "L'age maximum d'un utilisateur, en jours, qui permet à un administrateur de le supprimer."
|
||||
delete_user_max_post_age: "L'age maximum d'un utilisateur, en jours, qui permet à un administrateur de le supprimer."
|
||||
delete_all_posts_max: "Le nombre maximum de messages qui peuvent être supprimer en une seule fois avec le bouton Supprimer tous les messages. Si un utilisateur a plus que ce nombre de messages, les messages ses messages ne pourront pas être supprimé en une seul fois et l'utilisateur ne pourra pas être supprimé."
|
||||
username_change_period: "Le nombre de jours après l'enregistrement que les comptes peuvent changer leur nom d'utilisateur (0 pour empêcher le changement de pseudo)."
|
||||
email_editable: "Permettre aux utilisateurs de changer leur adresse e-mail après l'inscription."
|
||||
|
|
|
@ -680,7 +680,7 @@ ja:
|
|||
minimum_topics_similar: "類似トピック表示のためにデータベースに存在しなければならないトピック数。"
|
||||
|
||||
relative_date_duration: "ポスト投稿後、ポスト日が相対的表記 (例: 7d) から絶対的表記 (例: 20 Feb) に変わるまでの時間 (日)"
|
||||
delete_user_max_age: "管理者により削除可能になるユーザの最大 age (日)。"
|
||||
delete_user_max_post_age: "管理者により削除可能になるユーザの最大 age (日)。"
|
||||
delete_all_posts_max: "すべてのポストを削除ボタンで一度に削除可能な最大ポスト数。ユーザがここで指定した以上のポストを投稿していた場合は、一度に全ポストを削除することができません。またユーザも削除されません。"
|
||||
username_change_period: "ユーザ名の変更が可能になるまでの登録日からの日数 (0を指定でユーザ名の変更自体を無効化)。"
|
||||
email_editable: "登録後、ユーザによるメールアドレスの変更を許可する。"
|
||||
|
|
|
@ -698,7 +698,7 @@ ko:
|
|||
minimum_topics_similar: "비슷한 토픽을 검출하기 위해 필요한 데이터베이스의 토픽 수"
|
||||
|
||||
relative_date_duration: "Number of days after posting where post dates will be shown as relative instead of absolute. Examples: relative date: 7d, absolute date: 20 Feb"
|
||||
delete_user_max_age: "운영자에 의해 삭제될 수 있는 사용자의 최대 유지기간 수"
|
||||
delete_user_max_post_age: "운영자에 의해 삭제될 수 있는 사용자의 최대 유지기간 수"
|
||||
delete_all_posts_max: "전체 게시글 지우기 버튼을 통해 한번에 삭제할 수 있는 최대 게시글 수. 만약 사용자가 이것보다 많은 게시글을 가지고 있으면 한번에 삭제 할 수 없다."
|
||||
username_change_period: "등록 후 사용자 이름 최소 유지 기간(0은 사용자 이름 변경을 막음)"
|
||||
email_editable: "등록 후 이메일 주소를 바꿀수 있는 있음"
|
||||
|
|
|
@ -755,7 +755,7 @@ nl:
|
|||
minimum_topics_similar: "Hoeveel topics moeten er in de database staan voordat er vergelijkbare topics getoond worden?"
|
||||
|
||||
relative_date_duration: "Na hoeveel dagen de datum van een bericht relatief zijn in plaats van absoluut.Voorbeelden: relatieve datum: 7d, absolute datum: 20 feb"
|
||||
delete_user_max_age: "Na hoeveel dagen na de inschrijving mag een admin een gebruiker nog verwijderen."
|
||||
delete_user_max_post_age: "Na hoeveel dagen na de inschrijving mag een admin een gebruiker nog verwijderen."
|
||||
delete_all_posts_max: "Het maximaal aantal berichten dat ineens verwijderd kan worden met de 'Verwijder alle berichten'-knop. Als een gebruiker meer berichten heeft, kunnen de berichten niet in een keer verwijderd worden en kan de gebruiker dus niet verwijderd worden."
|
||||
username_change_period: "The number of days after registration that accounts can change their username (0 om wijziging niet toe te staan)."
|
||||
email_editable: Gebruikers mogen hun e-mailadres na registratie nog wijzigen.
|
||||
|
|
|
@ -914,7 +914,7 @@ pseudo:
|
|||
relative_date_duration: '[[ Ѝůɱƀéř óƒ ďáýš áƒťéř ƿóšťíɳǧ ŵĥéřé ƿóšť ďáťéš ŵíłł
|
||||
ƀé šĥóŵɳ áš řéłáťíνé íɳšťéáď óƒ áƀšółůťé. Éхáɱƿłéš: řéłáťíνé ďáťé: 7ď, áƀšółůťé
|
||||
ďáťé: 20 Ƒéƀ ]]'
|
||||
delete_user_max_age: '[[ Ťĥé ɱáхíɱůɱ áǧé óƒ á ůšéř, íɳ ďáýš, ŵĥíčĥ čáɳ ƀé ďéłéťéď
|
||||
delete_user_max_post_age: '[[ Ťĥé ɱáхíɱůɱ áǧé óƒ á ůšéř, íɳ ďáýš, ŵĥíčĥ čáɳ ƀé ďéłéťéď
|
||||
ƀý áɳ áďɱíɳ. ]]'
|
||||
delete_all_posts_max: '[[ Ťĥé ɱáхíɱůɱ ɳůɱƀéř óƒ ƿóšťš ťĥáť čáɳ ƀé ďéłéťéď áť óɳčé
|
||||
ŵíťĥ ťĥé Ďéłéťé Áłł Рóšťš ƀůťťóɳ. ̓ á ůšéř ĥáš ɱóřé ťĥáɳ ťĥíš ɱáɳý ƿóšťš, ťĥé
|
||||
|
|
|
@ -690,7 +690,7 @@ pt_BR:
|
|||
minimum_topics_similar: "Quantos tópicos precisam existir no banco de dados antes de um tópico similar ser apresentado."
|
||||
|
||||
relative_date_duration: "Número de dias após a postagem a partir de quando as datas das postagens serão exibidas como relativas em vez de absolutas. Exemplos: data relativa: 7D, data absoluta: 20 de fevereiro"
|
||||
delete_user_max_age: "Idade máxima, em dias, que um usuário pode ser removido por um admin."
|
||||
delete_user_max_post_age: "Idade máxima, em dias, que um usuário pode ser removido por um admin."
|
||||
delete_all_posts_max: "Número máximo de posts que podem ser deletados de uma vez pelo botão Deletar Todos os Posts. Se um usuário tem mais posts que isso, os posts não pode ser removidos de uma vez e o usuário não pode ser removido."
|
||||
username_change_period: "Número de dias após o registro que as contas podem trocar o username(0 impede a troca de username)"
|
||||
email_editable: "Permite que usuários mudem endereço de e-mail após cadastro"
|
||||
|
|
|
@ -661,7 +661,7 @@ ru:
|
|||
pop3s_polling_password: 'Пароль пользователя для доступа по протоколу POP3S'
|
||||
minimum_topics_similar: 'Количество тем, которое должно присутствовать в базе данных, перед тем, как начнет выводиться подсказка о похожих темах.'
|
||||
relative_date_duration: 'Количество дней после отправки, в течении которых даты будут отображаться в относительном виде вместо абсолютного. Например, относительная дата: 7д, абсолютная дата: 20 Фев'
|
||||
delete_user_max_age: 'Максимальный возраст пользователя (в днях), который может быть удален администратором.'
|
||||
delete_user_max_post_age: 'Максимальный возраст пользователя (в днях), который может быть удален администратором.'
|
||||
delete_all_posts_max: 'Максимальное количество сообщений, которое может быть удалено за один раз через кнопку "Удалить все сообщения". Если у пользователя сообщений больше этого числа, сообщения удаляются не полностью и пользователь не удаляется.'
|
||||
username_change_period: 'Количество дней после регистрации, когда пользователь может сменить свой логин (0 запрещает изменение логина).'
|
||||
email_editable: 'Позволять пользователям изменять свой адрес электронной почты после регистрации.'
|
||||
|
|
|
@ -122,7 +122,7 @@ users:
|
|||
invites_shown:
|
||||
client: true
|
||||
default: 30
|
||||
delete_user_max_age:
|
||||
delete_user_max_post_age:
|
||||
client: true
|
||||
default: 60
|
||||
delete_all_posts_max: 15
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
class RenameDeleteUserMaxAge < ActiveRecord::Migration
|
||||
def change
|
||||
execute "UPDATE site_settings SET name = 'delete_user_max_post_age' WHERE name = 'delete_user_max_age'"
|
||||
end
|
||||
end
|
|
@ -52,7 +52,7 @@ module PostGuardain
|
|||
end
|
||||
|
||||
def can_delete_all_posts?(user)
|
||||
is_staff? && user && !user.admin? && user.created_at >= SiteSetting.delete_user_max_age.days.ago && user.post_count <= SiteSetting.delete_all_posts_max.to_i
|
||||
is_staff? && user && !user.admin? && (user.first_post.nil? || user.first_post.created_at >= SiteSetting.delete_user_max_post_age.days.ago) && user.post_count <= SiteSetting.delete_all_posts_max.to_i
|
||||
end
|
||||
|
||||
# Creating Method
|
||||
|
|
|
@ -31,7 +31,7 @@ module UserGuardian
|
|||
if is_me?(user)
|
||||
user.post_count <= 1
|
||||
else
|
||||
is_staff? && user.created_at > SiteSetting.delete_user_max_age.to_i.days.ago
|
||||
is_staff? && (user.first_post.nil? || user.first_post.created_at > SiteSetting.delete_user_max_post_age.to_i.days.ago)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -1149,19 +1149,26 @@ describe Guardian do
|
|||
end
|
||||
|
||||
shared_examples "can_delete_user examples" do
|
||||
let(:deletable_user) { Fabricate.build(:user, created_at: 5.minutes.ago) }
|
||||
it "is true if user is not an admin and has never posted" do
|
||||
Guardian.new(actor).can_delete_user?(Fabricate.build(:user, created_at: 100.days.ago)).should == true
|
||||
end
|
||||
|
||||
it "is true if user is not an admin and is not too old" do
|
||||
Guardian.new(actor).can_delete_user?(deletable_user).should == true
|
||||
it "is true if user is not an admin and first post is not too old" do
|
||||
user = Fabricate.build(:user, created_at: 100.days.ago)
|
||||
user.stubs(:first_post).returns(Fabricate.build(:post, created_at: 9.days.ago))
|
||||
SiteSetting.stubs(:delete_user_max_post_age).returns(10)
|
||||
Guardian.new(actor).can_delete_user?(user).should == true
|
||||
end
|
||||
|
||||
it "is false if user is an admin" do
|
||||
Guardian.new(actor).can_delete_user?(another_admin).should == false
|
||||
end
|
||||
|
||||
it "is false if user is too old" do
|
||||
SiteSetting.stubs(:delete_user_max_age).returns(7)
|
||||
Guardian.new(actor).can_delete_user?(Fabricate(:user, created_at: 8.days.ago)).should == false
|
||||
it "is false if user's first post is too old" do
|
||||
user = Fabricate.build(:user, created_at: 100.days.ago)
|
||||
user.stubs(:first_post).returns(Fabricate.build(:post, created_at: 11.days.ago))
|
||||
SiteSetting.stubs(:delete_user_max_post_age).returns(10)
|
||||
Guardian.new(actor).can_delete_user?(user).should == false
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -1190,14 +1197,23 @@ describe Guardian do
|
|||
end
|
||||
|
||||
shared_examples "can_delete_all_posts examples" do
|
||||
it "is true if user is newer than delete_user_max_age days old" do
|
||||
SiteSetting.expects(:delete_user_max_age).returns(10)
|
||||
Guardian.new(actor).can_delete_all_posts?(Fabricate.build(:user, created_at: 9.days.ago)).should be_true
|
||||
it "is true if user has no posts" do
|
||||
SiteSetting.stubs(:delete_user_max_post_age).returns(10)
|
||||
Guardian.new(actor).can_delete_all_posts?(Fabricate.build(:user, created_at: 100.days.ago)).should be_true
|
||||
end
|
||||
|
||||
it "is false if user is older than delete_user_max_age days old" do
|
||||
SiteSetting.expects(:delete_user_max_age).returns(10)
|
||||
Guardian.new(actor).can_delete_all_posts?(Fabricate.build(:user, created_at: 11.days.ago)).should be_false
|
||||
it "is true if user's first post is newer than delete_user_max_post_age days old" do
|
||||
user = Fabricate.build(:user, created_at: 100.days.ago)
|
||||
user.stubs(:first_post).returns(Fabricate.build(:post, created_at: 9.days.ago))
|
||||
SiteSetting.stubs(:delete_user_max_post_age).returns(10)
|
||||
Guardian.new(actor).can_delete_all_posts?(user).should be_true
|
||||
end
|
||||
|
||||
it "is false if user's first post is older than delete_user_max_post_age days old" do
|
||||
user = Fabricate.build(:user, created_at: 100.days.ago)
|
||||
user.stubs(:first_post).returns(Fabricate.build(:post, created_at: 11.days.ago))
|
||||
SiteSetting.stubs(:delete_user_max_post_age).returns(10)
|
||||
Guardian.new(actor).can_delete_all_posts?(user).should be_false
|
||||
end
|
||||
|
||||
it "is false if user is an admin" do
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
/*jshint maxlen:10000000 */
|
||||
Discourse.SiteSettingsOriginal = {"title":"Discourse Meta","logo_url":"/assets/logo.png","logo_small_url":"/assets/logo-single.png","traditional_markdown_linebreaks":false,"top_menu":"latest|new|unread|read|starred|categories","post_menu":"like|edit|flag|delete|share|bookmark|reply","share_links":"twitter|facebook|google+|email","track_external_right_clicks":false,"must_approve_users":false,"ga_tracking_code":"UA-33736483-2","ga_domain_name":"","enable_long_polling":true,"polling_interval":3000,"anon_polling_interval":30000,"min_post_length":20,"max_post_length":16000,"min_topic_title_length":15,"max_topic_title_length":255,"min_private_message_title_length":2,"allow_uncategorized_topics":true,"min_search_term_length":3,"flush_timings_secs":5,"suppress_reply_directly_below":true,"email_domains_blacklist":"mailinator.com","email_domains_whitelist":null,"version_checks":true,"min_title_similar_length":10,"min_body_similar_length":15,"category_colors":"BF1E2E|F1592A|F7941D|9EB83B|3AB54A|12A89D|25AAE2|0E76BD|652D90|92278F|ED207B|8C6238|231F20|808281|B3B5B4|283890","max_upload_size_kb":1024,"category_featured_topics":6,"favicon_url":"/assets/favicon.ico","dynamic_favicon":false,"uncategorized_name":"uncategorized","uncategorized_color":"AB9364","uncategorized_text_color":"FFFFFF","invite_only":false,"login_required":false,"min_password_length":8,"enable_local_logins":true,"enable_local_account_create":true,"enable_google_logins":true,"enable_yahoo_logins":true,"enable_twitter_logins":true,"enable_facebook_logins":true,"enable_cas_logins":false,"enable_github_logins":true,"enable_persona_logins":true,"educate_until_posts":2,"topic_views_heat_low":1000,"topic_views_heat_medium":2000,"topic_views_heat_high":5000,"min_private_message_post_length":5,"faq_url":"","tos_url":"","privacy_policy_url":"","authorized_extensions":".jpg|.jpeg|.png|.gif|.txt","relative_date_duration":14,"delete_removed_posts_after":24,"delete_user_max_age":7, "default_code_lang": "lang-auto", "suppress_uncategorized_badge": true};
|
||||
Discourse.SiteSettingsOriginal = {"title":"Discourse Meta","logo_url":"/assets/logo.png","logo_small_url":"/assets/logo-single.png","traditional_markdown_linebreaks":false,"top_menu":"latest|new|unread|read|starred|categories","post_menu":"like|edit|flag|delete|share|bookmark|reply","share_links":"twitter|facebook|google+|email","track_external_right_clicks":false,"must_approve_users":false,"ga_tracking_code":"UA-33736483-2","ga_domain_name":"","enable_long_polling":true,"polling_interval":3000,"anon_polling_interval":30000,"min_post_length":20,"max_post_length":16000,"min_topic_title_length":15,"max_topic_title_length":255,"min_private_message_title_length":2,"allow_uncategorized_topics":true,"min_search_term_length":3,"flush_timings_secs":5,"suppress_reply_directly_below":true,"email_domains_blacklist":"mailinator.com","email_domains_whitelist":null,"version_checks":true,"min_title_similar_length":10,"min_body_similar_length":15,"category_colors":"BF1E2E|F1592A|F7941D|9EB83B|3AB54A|12A89D|25AAE2|0E76BD|652D90|92278F|ED207B|8C6238|231F20|808281|B3B5B4|283890","max_upload_size_kb":1024,"category_featured_topics":6,"favicon_url":"/assets/favicon.ico","dynamic_favicon":false,"uncategorized_name":"uncategorized","uncategorized_color":"AB9364","uncategorized_text_color":"FFFFFF","invite_only":false,"login_required":false,"min_password_length":8,"enable_local_logins":true,"enable_local_account_create":true,"enable_google_logins":true,"enable_yahoo_logins":true,"enable_twitter_logins":true,"enable_facebook_logins":true,"enable_cas_logins":false,"enable_github_logins":true,"enable_persona_logins":true,"educate_until_posts":2,"topic_views_heat_low":1000,"topic_views_heat_medium":2000,"topic_views_heat_high":5000,"min_private_message_post_length":5,"faq_url":"","tos_url":"","privacy_policy_url":"","authorized_extensions":".jpg|.jpeg|.png|.gif|.txt","relative_date_duration":14,"delete_removed_posts_after":24,"delete_user_max_post_age":7, "default_code_lang": "lang-auto", "suppress_uncategorized_badge": true};
|
||||
Discourse.SiteSettings = jQuery.extend(true, {}, Discourse.SiteSettingsOriginal);
|
||||
|
|
Loading…
Reference in New Issue