Compare commits
69 Commits
Author | SHA1 | Date |
---|---|---|
github-actions | dcc39392cb | |
Guy Sartorelli | d66e723a51 | |
github-actions | 23b9db798d | |
Guy Sartorelli | 83600d758a | |
Steve Boyd | dd3073f41a | |
Guy Sartorelli | 4e292b8e89 | |
Steve Boyd | e020766095 | |
Guy Sartorelli | 4049f7a12d | |
github-actions | 40ee7c76db | |
Guy Sartorelli | 178b521c54 | |
Guy Sartorelli | 7d1431df5e | |
Thomas Portelange | 39de47167d | |
github-actions | 3ec16bbe56 | |
Guy Sartorelli | 6ff4f336f7 | |
Michal Kleiner | a052bfd590 | |
Steve Boyd | d1d1b139d0 | |
Guy Sartorelli | b855a555c8 | |
Steve Boyd | c847f3e1d8 | |
Steve Boyd | 86205a6286 | |
Guy Sartorelli | 413de7014c | |
Maxime Rainville | b4bf58e132 | |
Guy Sartorelli | a249d46dcc | |
Maxime Rainville | 701c6cd053 | |
Steve Boyd | 4006884aa7 | |
Guy Sartorelli | aa9797a5f1 | |
Guy Sartorelli | 5e823223d7 | |
Guy Sartorelli | 04fe468f36 | |
Guy Sartorelli | 21240a7c83 | |
Steve Boyd | 339b0c855b | |
Guy Sartorelli | d11124f576 | |
Steve Boyd | 412b2709d2 | |
Guy Sartorelli | 7d8909ac6d | |
Steve Boyd | 30b1f09af4 | |
Guy Sartorelli | 6770dedc2a | |
Guy Sartorelli | 67a21914eb | |
Guy Sartorelli | 901dbc8848 | |
Steve Boyd | 4308ac4316 | |
Steve Boyd | 73f3d15bfb | |
Guy Sartorelli | a7e9e8dcdc | |
Steve Boyd | 5f489b1df9 | |
Sabina Talipova | f45ccead3c | |
Steve Boyd | 416f55ad03 | |
Guy Sartorelli | ceaa915b77 | |
Steve Boyd | aba286d8a3 | |
Guy Sartorelli | a1ee94ce61 | |
Michael van Schaik | 8ba7070b02 | |
Guy Sartorelli | 1e311e8668 | |
Sabina Talipova | 5eb7e8a7a3 | |
Maxime Rainville | 837ab70a8d | |
Guy Sartorelli | 800e8dc473 | |
Guy Sartorelli | d13d73299a | |
Maxime Rainville | 945e2bc370 | |
Steve Boyd | 9ad6c8f97e | |
Steve Boyd | f566ab2b2a | |
Guy Sartorelli | 0338d41626 | |
Steve Boyd | 193866ec62 | |
Bart van Irsel | 74b6cec374 | |
Steve Boyd | b16495cf54 | |
Steve Boyd | cdc37de076 | |
Guy Sartorelli | b9d972b7fd | |
Steve Boyd | 6e1b504ff3 | |
Guy Sartorelli | 2bab73ee35 | |
Steve Boyd | 6969fe06d3 | |
Guy Sartorelli | 7860a03180 | |
Steve Boyd | ed4663be9b | |
Maxime Rainville | acf9715c3b | |
Michal Kleiner | 5c3d000b9b | |
Will Rossiter | dfe1ba5c6a | |
Steve Boyd | 07aefb1982 |
|
@ -0,0 +1,11 @@
|
|||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
ci:
|
||||
name: CI
|
||||
uses: silverstripe/gha-ci/.github/workflows/ci.yml@v1
|
|
@ -1,13 +1,15 @@
|
|||
name: Build Docs
|
||||
name: Deploy Userhelp Docs
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- '3'
|
||||
- '2'
|
||||
- '1.1'
|
||||
paths:
|
||||
- 'docs/en/userguide/**'
|
||||
jobs:
|
||||
build:
|
||||
name: build-docs
|
||||
deploy:
|
||||
name: deploy-userhelp-docs
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Run build hook
|
|
@ -0,0 +1,16 @@
|
|||
name: Dispatch CI
|
||||
|
||||
on:
|
||||
# At 11:30 AM UTC, only on Saturday and Sunday
|
||||
schedule:
|
||||
- cron: '30 11 * * 6,0'
|
||||
|
||||
jobs:
|
||||
dispatch-ci:
|
||||
name: Dispatch CI
|
||||
# Only run cron on the silverstripe account
|
||||
if: (github.event_name == 'schedule' && github.repository_owner == 'silverstripe') || (github.event_name != 'schedule')
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Dispatch CI
|
||||
uses: silverstripe/gha-dispatch-ci@v1
|
|
@ -0,0 +1,17 @@
|
|||
name: Keepalive
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
# The 4th of every month at 10:50am UTC
|
||||
schedule:
|
||||
- cron: '50 10 4 * *'
|
||||
|
||||
jobs:
|
||||
keepalive:
|
||||
name: Keepalive
|
||||
# Only run cron on the silverstripe account
|
||||
if: (github.event_name == 'schedule' && github.repository_owner == 'silverstripe') || (github.event_name != 'schedule')
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Keepalive
|
||||
uses: silverstripe/gha-keepalive@v1
|
|
@ -1,13 +0,0 @@
|
|||
inherit: true
|
||||
|
||||
checks:
|
||||
php: true
|
||||
|
||||
build:
|
||||
nodes:
|
||||
analysis:
|
||||
tests:
|
||||
override: [php-scrutinizer-run]
|
||||
|
||||
filter:
|
||||
paths: [src/*, tests/*]
|
|
@ -1,8 +0,0 @@
|
|||
version: ~> 1.0
|
||||
|
||||
import:
|
||||
- silverstripe/silverstripe-travis-shared:config/provision/standard-jobs-range-behat.yml
|
||||
|
||||
env:
|
||||
global:
|
||||
- BEHAT_SUITE="@subsites"
|
|
@ -1,8 +1,9 @@
|
|||
[main]
|
||||
host = https://www.transifex.com
|
||||
|
||||
[silverstripe-subsites.master]
|
||||
[o:silverstripe:p:silverstripe-subsites:r:master]
|
||||
file_filter = lang/<lang>.yml
|
||||
source_file = lang/en.yml
|
||||
source_lang = en
|
||||
type = YML
|
||||
type = YML
|
||||
|
||||
|
|
22
README.md
22
README.md
|
@ -1,9 +1,7 @@
|
|||
# Subsites Module
|
||||
|
||||
[![Build Status](https://api.travis-ci.com/silverstripe/silverstripe-subsites.svg?branch=2)](https://travis-ci.com/silverstripe/silverstripe-subsites)
|
||||
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/silverstripe/silverstripe-subsites/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/silverstripe/silverstripe-subsites/?branch=master)
|
||||
[![codecov](https://codecov.io/gh/silverstripe/silverstripe-subsites/branch/master/graph/badge.svg)](https://codecov.io/gh/silverstripe/silverstripe-subsites)
|
||||
[![SilverStripe supported module](https://img.shields.io/badge/silverstripe-supported-0071C4.svg)](https://www.silverstripe.org/software/addons/silverstripe-commercially-supported-module-list/)
|
||||
[![CI](https://github.com/silverstripe/silverstripe-subsites/actions/workflows/ci.yml/badge.svg)](https://github.com/silverstripe/silverstripe-subsites/actions/workflows/ci.yml)
|
||||
[![Silverstripe supported module](https://img.shields.io/badge/silverstripe-supported-0071C4.svg)](https://www.silverstripe.org/software/addons/silverstripe-commercially-supported-module-list/)
|
||||
|
||||
## Introduction
|
||||
|
||||
|
@ -11,7 +9,7 @@ The subsites module provides a convenient way of running multiple websites from
|
|||
sharing users, content, and assets between them - the sites will be managed from a single CMS.
|
||||
|
||||
A useful way to think of its use is where you have a business with a global headquarters and four branches in various
|
||||
countries. The subsites module allows the five offices to use a single SilverStripe installation, and have information
|
||||
countries. The subsites module allows the five offices to use a single Silverstripe installation, and have information
|
||||
from the headquarters flow down into the branches. The branches can hold information that is individual and the website
|
||||
templates can also be different.
|
||||
|
||||
|
@ -61,7 +59,7 @@ If more isolation of code, security, or performance is needed, then consider run
|
|||
|
||||
## Requirements
|
||||
|
||||
* SilverStripe 4.x
|
||||
* Silverstripe 4.x
|
||||
|
||||
## Installation
|
||||
|
||||
|
@ -71,7 +69,7 @@ If more isolation of code, security, or performance is needed, then consider run
|
|||
* Once you've created a subsite, you'll see a "Create Subsite Domain" button, hit that button to enter a domain or subdomain for your subsite. This will determine the URL of your website. For example, if your site is running on `http://localhost/mysite`, and you set the subdomain to "subsite", then your subsite will be accessible on `http://subsite.localhost/mysite`
|
||||
* Go to the "Pages" section of the CMS. In the top-left above the menu, you'll see a dropdown listing the two subsites - "Main site" is the original site that you had before you installed the subsites module. Select your new subsite, and the site content tree will be changed. It should be empty at this stage.
|
||||
* Add a page - change its title to "Home", and its URL Segment will be changed to "home". Save the page.
|
||||
* Update your DNS and, if necessary, your webserver configuration, so that your subdomain will point to the SilverStripe installation on your webserver. Visit this new subdomain. You should see the new subsite homepage.
|
||||
* Update your DNS and, if necessary, your webserver configuration, so that your subdomain will point to the Silverstripe installation on your webserver. Visit this new subdomain. You should see the new subsite homepage.
|
||||
|
||||
## Usage
|
||||
|
||||
|
@ -110,7 +108,7 @@ theme in the dropdown. Now, this subsite will use a different theme from the ma
|
|||
|
||||
#### Cascading themes
|
||||
|
||||
In SilverStripe 4 themes will resolve theme files by looking through a list of themes (see the documentation on
|
||||
In Silverstripe 4 themes will resolve theme files by looking through a list of themes (see the documentation on
|
||||
[creating your own theme](https://docs.silverstripe.org/en/4/developer_guides/templates/themes/#developing-your-own-theme)).
|
||||
Subsites will inherit this configuration for the order of themes. Choosing a theme for a Subsite will set the list of
|
||||
themes to that chosen theme, and all themes that are defined below the chosen theme in priority. For example, with a
|
||||
|
@ -220,6 +218,14 @@ or by defining the subsiteCMSShowInMenu function in your admin:
|
|||
return true;
|
||||
}
|
||||
|
||||
### Using Subsites in combination with Fluent
|
||||
|
||||
When using Subsites in combination with Fluent module, the Subsites module sets the i18n locale to the language defined in the current Subsite. When this behaviour is not desired and you need to use the locale in FluentState use the following setting in your yml config file:
|
||||
|
||||
```yaml
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
ignore_subsite_locale: true
|
||||
```
|
||||
|
||||
### Public display of a subsite
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
<?php
|
||||
|
||||
use SilverStripe\Dev\Deprecation;
|
||||
|
||||
Deprecation::notification_version('2.0', 'subsites');
|
|
@ -64,3 +64,12 @@ SilverStripe\Subsites\Admin\SubsiteAdmin:
|
|||
SilverStripe\SiteConfig\SiteConfigLeftAndMain:
|
||||
extensions:
|
||||
- SilverStripe\Subsites\Extensions\SubsiteMenuExtension
|
||||
|
||||
---
|
||||
Name: subsite-preview-elemental
|
||||
Only:
|
||||
classexists: DNADesign\Elemental\Models\BaseElement
|
||||
---
|
||||
DNADesign\Elemental\Models\BaseElement:
|
||||
extensions:
|
||||
- SilverStripe\Subsites\Extensions\BaseElementSubsites
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
}
|
||||
],
|
||||
"require": {
|
||||
"php": "^7.3 || ^8.0",
|
||||
"php": "^7.4 || ^8.0",
|
||||
"silverstripe/framework": "^4.10",
|
||||
"silverstripe/cms": "^4.4@dev",
|
||||
"silverstripe/admin": "^1.4@dev",
|
||||
|
@ -34,14 +34,11 @@
|
|||
}
|
||||
},
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.x-dev"
|
||||
},
|
||||
"expose": [
|
||||
"javascript",
|
||||
"css"
|
||||
"client/javascript",
|
||||
"client/css"
|
||||
]
|
||||
},
|
||||
"minimum-stability": "dev",
|
||||
"prefer-stable": true
|
||||
}
|
||||
}
|
|
@ -1,5 +1,7 @@
|
|||
---
|
||||
title: Working with multiple websites
|
||||
summary: Setting up and editing multiple websites using SilverStripe
|
||||
---
|
||||
|
||||
# Working with multiple sites
|
||||
|
||||
|
@ -45,4 +47,4 @@ Subsites can be used for various different reasons here are some of the common o
|
|||
## Documentation
|
||||
|
||||
* [Set up](set_up.md)
|
||||
* [Working with subsites](working_with.md)
|
||||
* [Working with subsites](working_with.md)
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
---
|
||||
title: Setting up
|
||||
---
|
||||
# Setting up
|
||||
|
||||
## Creating subsites
|
||||
|
@ -102,4 +105,4 @@ For example, say a subsite user publishes a new Company Page before it was forbi
|
|||
A theme is group of templates, images and CSS for the look of a website. When you are using Subsites you may have different themes installed for your site so you could apply different themes for each subsite.
|
||||
|
||||
## Assets
|
||||
Assets are files that have been uploaded via the CMS. It is suggested to use a naming convention for files designated to be used on a particular subsite or to create folders for each subsite to help organise them.
|
||||
Assets are files that have been uploaded via the CMS. It is suggested to use a naming convention for files designated to be used on a particular subsite or to create folders for each subsite to help organise them.
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
---
|
||||
title: Working with subsites
|
||||
---
|
||||
# Working with subsites
|
||||
|
||||
## Managing content across subsites
|
||||
|
@ -25,4 +28,4 @@ If you have an existing page on the main site that you would like to copy to a s
|
|||
|
||||
![Subsites copy page from main site](_images/copy-page-to-subsite.jpg)
|
||||
|
||||
You will now be directed to the chosen subsite where the page will now be duplicated in the site tree
|
||||
You will now be directed to the chosen subsite where the page will now be duplicated in the site tree
|
||||
|
|
61
lang/ar.yml
61
lang/ar.yml
|
@ -1,4 +1,65 @@
|
|||
ar:
|
||||
SilverStripe\CMS\Model\VirtualPage:
|
||||
EDITCONTENT: 'انقر هنا لتحرير المحتوى'
|
||||
SilverStripe\Subsites\Admin\SubsiteAdmin:
|
||||
MENUTITLE: 'المواقع الفرعية'
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: 'الموقع الفرعي'
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
AllSitesDropdownOpt: 'كافة المواقع'
|
||||
SUBSITENOTICE: 'يمكن الوصول إلى المجلدات والملفات التي تم إنشاؤها في الموقع الرئيسي من طرف كل المواقع الفرعية.'
|
||||
SubsiteFieldLabel: 'الموقع الفرعي'
|
||||
SilverStripe\Subsites\Extensions\GroupSubsites:
|
||||
ACCESSALL: 'كل المواقع الفرعية'
|
||||
ACCESSONLY: 'فقط هذه المواقع الفرعية'
|
||||
ACCESSRADIOTITLE: 'امنح هذه المجموعة تصريح الولوج إلى'
|
||||
GlobalGroup: 'المجموعة العامة'
|
||||
MANAGE_SUBSITES: 'إدارة مواقع فرعية للمجموعات'
|
||||
MANAGE_SUBSITES_HELP: 'القدرة على الحد من أذونات مجموعة ما على موقع فرعي واحدة أو أكثر.'
|
||||
SECURITYTABTITLE: 'المواقع الفرعية'
|
||||
many_many_Subsites: 'المواقع الفرعية'
|
||||
SilverStripe\Subsites\Extensions\LeftAndMainSubsites:
|
||||
Saved: 'تمّ الحفظ، يرجى تحديث الصفحات ذات الصلة.'
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: 'الموقع الفرعي'
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
CopyAction: نسخ
|
||||
CopyToSubsite: 'نسخ الصفحة في موقع فرعي'
|
||||
has_one_Subsite: 'الموقع الفرعي'
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: المواصفات
|
||||
CopyMessage: 'إنشاء نسخة من {title}'
|
||||
CustomExtraMeta: 'تخصيص Meta Tags'
|
||||
CustomMetaDescription: الوصف
|
||||
CustomMetaKeywords: 'كلمات البحث'
|
||||
CustomMetaTitle: عنوان
|
||||
PLURALNAME: 'المواقع الفرعية'
|
||||
PageTypeBlacklistField: 'عدم السماح بأصناف الصفحات؟'
|
||||
SINGULARNAME: 'الموقع الفرعي'
|
||||
SiteConfigSubtitle: 'هنا سطر الوصف الخاص بك'
|
||||
SiteConfigTitle: 'اسم موقعك'
|
||||
ValidateTitle: 'الرجاء إضافة "عنوان"'
|
||||
belongs_many_many_Groups: المجموعات
|
||||
db_DefaultSite: 'الموقع الافتراضي'
|
||||
db_Language: لغة
|
||||
db_RedirectURL: 'إعادة توجيه عنوان موقع الويب'
|
||||
db_Theme: المحور
|
||||
db_Title: عنوان
|
||||
has_many_Domains: النطاقات
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
DOMAIN: النطاق
|
||||
PLURALNAME: 'نطاقات موقع فرعي'
|
||||
SINGULARNAME: 'نطاق موقع فرعي'
|
||||
db_Domain: النطاق
|
||||
has_one_Subsite: 'الموقع الفرعي'
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
DESCRIPTION: 'يعرض محتوى صفحة على موقع فرعي آخر'
|
||||
PLURALNAME: 'قاعدة الصفحات'
|
||||
SINGULARNAME: 'الصفحة الإفتراضية للمواقع الفرعية'
|
||||
SubsiteField: 'الموقع الفرعي'
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdown: المواقع
|
||||
ReportDropdownSubsite: 'الموقع الفرعي'
|
||||
Subsite:
|
||||
COPYSTRUCTURE: 'نسخ الهيكل من:'
|
||||
NOTEMPLATE: 'بدون قالب'
|
||||
|
|
30
lang/cs.yml
30
lang/cs.yml
|
@ -2,6 +2,36 @@ cs:
|
|||
LeftAndMain_Menu:
|
||||
Hello: Ahoj
|
||||
LOGOUT: 'Odhlásit se'
|
||||
SilverStripe\Subsites\Admin\SubsiteAdmin:
|
||||
MENUTITLE: Subsites
|
||||
SilverStripe\Subsites\Extensions\GroupSubsites:
|
||||
SECURITYTABTITLE: Subsites
|
||||
many_many_Subsites: Subsites
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
CopyAction: Kopírovat
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: Konfigurace
|
||||
CustomExtraMeta: 'Vlastní meta tagy'
|
||||
CustomMetaDescription: Popis
|
||||
CustomMetaKeywords: 'Klíčová slova'
|
||||
CustomMetaTitle: Název
|
||||
PLURALNAME: Subsites
|
||||
SiteConfigSubtitle: 'Slogan Vašeho webu'
|
||||
SiteConfigTitle: 'Název Vašeho webu'
|
||||
ValidateTitle: 'Prosím vložte "Název"'
|
||||
belongs_many_many_Groups: Skupiny
|
||||
db_DefaultSite: 'Výchozí web'
|
||||
db_Language: Jazyk
|
||||
db_Theme: Téma
|
||||
db_Title: Název
|
||||
has_many_Domains: Domény
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
DOMAIN: Doména
|
||||
PLURALNAME: 'Domény webů'
|
||||
SINGULARNAME: 'Doména webu'
|
||||
db_Domain: Doména
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdown: Weby
|
||||
SiteTreeSubsites:
|
||||
CopyAction: Kopírovat
|
||||
Subsite:
|
||||
|
|
17
lang/de.yml
17
lang/de.yml
|
@ -5,6 +5,8 @@ de:
|
|||
EDITCONTENT: 'Klicken Sie hier, um den Inhalt zu bearbeiten'
|
||||
SilverStripe\Subsites\Admin\SubsiteAdmin:
|
||||
MENUTITLE: Subsites
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: Subseite
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
AllSitesDropdownOpt: 'Alle Seiten'
|
||||
SUBSITENOTICE: 'Auf Ordner und Dateien der Hauptseite kann von allen Subsites zugegriffen werden.'
|
||||
|
@ -17,14 +19,18 @@ de:
|
|||
MANAGE_SUBSITES: 'Subseiten für jede Gruppe bearbeiten'
|
||||
MANAGE_SUBSITES_HELP: 'Möglichkeit, die Berechtigungen einer Gruppe auf bestimmte Subsites zu beschränken.'
|
||||
SECURITYTABTITLE: Subsites
|
||||
many_many_Subsites: Subsites
|
||||
SilverStripe\Subsites\Extensions\LeftAndMainSubsites:
|
||||
SITECONTENTLEFT: 'Seiten Inhalt'
|
||||
Saved: 'Gespeichert, bitte aktualisieren Sie verknüpfte Seiten'
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: Subseite
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
CopyAction: Kopieren
|
||||
CopyToSubsite: 'Seite auf Subseite Kopieren'
|
||||
CopyToSubsiteWithChildren: 'Samt Unterseiten?'
|
||||
SubsiteOperations: 'Subseiten Operationen'
|
||||
has_one_Subsite: Subseite
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: Einstellungen
|
||||
CopyMessage: 'Kopie von {title} erstellt'
|
||||
|
@ -42,6 +48,13 @@ de:
|
|||
SiteConfigTitle: 'Name Ihrer Website'
|
||||
ThemeFieldEmptyString: '-'
|
||||
ValidateTitle: 'Bitte geben Sie einen Titel an'
|
||||
belongs_many_many_Groups: Gruppe
|
||||
db_DefaultSite: 'Standard Seite'
|
||||
db_Language: Sprache
|
||||
db_RedirectURL: Weierleitungs-URL
|
||||
db_Theme: Theme
|
||||
db_Title: Titel
|
||||
has_many_Domains: Domains
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
DOMAIN: Domäne
|
||||
DOMAIN_DESCRIPTION: 'Hostname dieser Subsite (ohne Protokol). Joker (*) ist erlaubt.'
|
||||
|
@ -56,6 +69,9 @@ de:
|
|||
PROTOCOL_HTTPS: 'https://'
|
||||
Protocol: Protokoll
|
||||
SINGULARNAME: 'Domäne der Subseite'
|
||||
db_Domain: Domäne
|
||||
db_Protocol: Protokoll
|
||||
has_one_Subsite: Subseite
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
DESCRIPTION: 'Zeigt den Inhalt einer anderen Seite von einer anderen Subseite an'
|
||||
OverrideNote: 'Überschreibt den geerbten Wert der Quelle'
|
||||
|
@ -67,6 +83,7 @@ de:
|
|||
SubsiteField: Subseite
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdown: Seiten
|
||||
ReportDropdownSubsite: Subseite
|
||||
Subsite:
|
||||
COPYSTRUCTURE: 'Struktur kopieren von:'
|
||||
NOTEMPLATE: 'Kein Template'
|
||||
|
|
27
lang/en.yml
27
lang/en.yml
|
@ -7,6 +7,8 @@ en:
|
|||
MENUTITLE: Subsites
|
||||
SilverStripe\Subsites\Controller\SubsiteXHRController:
|
||||
MENUTITLE: SilverStripe\Subsites\Controller\SubsiteXHRController
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: Subsite
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
AllSitesDropdownOpt: 'All sites'
|
||||
SUBSITENOTICE: 'Folders and files created in the main site are accessible by all subsites.'
|
||||
|
@ -19,14 +21,20 @@ en:
|
|||
MANAGE_SUBSITES: 'Manage subsites for groups'
|
||||
MANAGE_SUBSITES_HELP: 'Ability to limit the permissions for a group to one or more subsites.'
|
||||
SECURITYTABTITLE: Subsites
|
||||
db_AccessAllSubsites: 'Access all subsites'
|
||||
many_many_Subsites: Subsites
|
||||
SilverStripe\Subsites\Extensions\LeftAndMainSubsites:
|
||||
SITECONTENTLEFT: 'Site Content'
|
||||
Saved: 'Saved, please update related pages.'
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: Subsite
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
CopyAction: Copy
|
||||
CopyToSubsite: 'Copy page to subsite'
|
||||
CopyToSubsiteWithChildren: 'Include children pages?'
|
||||
SubsiteOperations: 'Subsite Operations'
|
||||
has_one_Subsite: Subsite
|
||||
many_many_CrossSubsiteLinkTracking: 'Cross subsite link tracking'
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: Configuration
|
||||
CopyMessage: 'Created a copy of {title}'
|
||||
|
@ -44,6 +52,15 @@ en:
|
|||
SiteConfigTitle: 'Your Site Name'
|
||||
ThemeFieldEmptyString: '-'
|
||||
ValidateTitle: 'Please add a "Title"'
|
||||
belongs_many_many_Groups: Groups
|
||||
db_DefaultSite: 'Default site'
|
||||
db_IsPublic: 'Is public'
|
||||
db_Language: Language
|
||||
db_PageTypeBlacklist: 'Page type blacklist'
|
||||
db_RedirectURL: 'Redirect URL'
|
||||
db_Theme: Theme
|
||||
db_Title: Title
|
||||
has_many_Domains: Domains
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
DOMAIN: Domain
|
||||
DOMAIN_DESCRIPTION: 'Hostname of this subsite (exclude protocol). Allows wildcards (*).'
|
||||
|
@ -59,6 +76,10 @@ en:
|
|||
PROTOCOL_HTTPS: 'https://'
|
||||
Protocol: Protocol
|
||||
SINGULARNAME: 'Subsite Domain'
|
||||
db_Domain: Domain
|
||||
db_IsPrimary: 'Is primary'
|
||||
db_Protocol: Protocol
|
||||
has_one_Subsite: Subsite
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
DESCRIPTION: 'Displays the content of a page on another subsite'
|
||||
OverrideNote: 'Overrides inherited value from the source'
|
||||
|
@ -68,8 +89,14 @@ en:
|
|||
other: '{count} Subsites Virtual Pages'
|
||||
SINGULARNAME: 'Subsites Virtual Page'
|
||||
SubsiteField: Subsite
|
||||
db_CustomExtraMeta: 'Custom extra meta'
|
||||
db_CustomMetaDescription: 'Custom meta description'
|
||||
db_CustomMetaKeywords: 'Custom meta keywords'
|
||||
db_CustomMetaTitle: 'Custom meta title'
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdown: Sites
|
||||
ReportDropdownAll: All
|
||||
ReportDropdownSubsite: Subsite
|
||||
Subsite:
|
||||
COPYSTRUCTURE: 'Copy structure from:'
|
||||
NOTEMPLATE: 'No template'
|
||||
|
|
30
lang/eo.yml
30
lang/eo.yml
|
@ -7,6 +7,8 @@ eo:
|
|||
MENUTITLE: Subretejoj
|
||||
SilverStripe\Subsites\Controller\SubsiteXHRController:
|
||||
MENUTITLE: SilverStripe\Subretejoj\Reganto\SubretejaXHRReganto
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: Subretejo
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
AllSitesDropdownOpt: 'Ĉiuj retejoj'
|
||||
SUBSITENOTICE: 'Dosierujoj kaj dosieroj kreitaj en la ĉefa retejo estas alireblaj de ĉiuj retejoj'
|
||||
|
@ -19,14 +21,20 @@ eo:
|
|||
MANAGE_SUBSITES: 'Administri subretejojn por grupoj'
|
||||
MANAGE_SUBSITES_HELP: 'Eblo limigi la permesojn por grupo al unu aŭ pluaj subretejoj.'
|
||||
SECURITYTABTITLE: Subretejoj
|
||||
db_AccessAllSubsites: 'Aliri ĉiujn subretejojn'
|
||||
many_many_Subsites: Subretejoj
|
||||
SilverStripe\Subsites\Extensions\LeftAndMainSubsites:
|
||||
SITECONTENTLEFT: 'Enhavo de retejo'
|
||||
Saved: 'Konservita, bonvole ĝisdatigi rilatajn paĝojn.'
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: Subretejo
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
CopyAction: Kopio
|
||||
CopyToSubsite: 'Kopii paĝon al subretejo'
|
||||
CopyToSubsiteWithChildren: 'Ĉu inkluzivi paĝidojn?'
|
||||
SubsiteOperations: 'Subretejaj operacioj'
|
||||
has_one_Subsite: Subretejo
|
||||
many_many_CrossSubsiteLinkTracking: 'Trans-subreteja ligspurado'
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: Agordaro
|
||||
CopyMessage: 'Kreis kopion de {title}'
|
||||
|
@ -44,20 +52,34 @@ eo:
|
|||
SiteConfigTitle: 'Nomo de via retejo'
|
||||
ThemeFieldEmptyString: '-'
|
||||
ValidateTitle: 'Bonvole aldoni "Titolon"'
|
||||
belongs_many_many_Groups: Grupoj
|
||||
db_DefaultSite: 'Apriora retejo'
|
||||
db_IsPublic: 'Estas publika'
|
||||
db_Language: Lingvo
|
||||
db_PageTypeBlacklist: 'Paĝtipa nigra listo'
|
||||
db_RedirectURL: 'Redirekti je URL'
|
||||
db_Theme: Etoso
|
||||
db_Title: Titolo
|
||||
has_many_Domains: Domajnoj
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
DOMAIN: Domajno
|
||||
DOMAIN_DESCRIPTION: 'Gastiga nomo de ĉi tiu subretejo (ellasu protokolon). Permesas ĵokerojn (*).'
|
||||
ISPRIMARY_DESCRIPTION: 'Marki ĉi tion kiel la aprioran domajnon por ĉi tiu subretejo'
|
||||
IS_PRIMARY: 'Ĉu unuaranga domajno?'
|
||||
PLURALNAME: 'Subretejaj domajnoj'
|
||||
PLURALS:
|
||||
one: 'Unu subreteja domajno'
|
||||
other: '{count} subretejaj domajnoj'
|
||||
PROTOCOL_AUTOMATIC: Aŭtomata
|
||||
PROTOCOL_DESCRIPTION: 'Marki ĉi tion kiel la aprioran domajnon por ĉi tiu subretejo'
|
||||
PROTOCOL_DESCRIPTION: 'Kiam generante ligilojn al ĉi tiu subretejo, uzu la elektitan protokolon.'
|
||||
PROTOCOL_HTTP: 'http://'
|
||||
PROTOCOL_HTTPS: 'https://'
|
||||
Protocol: Protokolo
|
||||
SINGULARNAME: 'Subreteja domajno'
|
||||
db_Domain: Domajno
|
||||
db_IsPrimary: 'Estas unuaranga'
|
||||
db_Protocol: Protokolo
|
||||
has_one_Subsite: Subretejo
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
DESCRIPTION: 'Vidigas la enhavon de paĝo en alia subretejo'
|
||||
OverrideNote: 'Anstataŭigas hereditan valoron el la fonto'
|
||||
|
@ -67,8 +89,14 @@ eo:
|
|||
other: '{count} virtualaj paĝoj de subretejoj'
|
||||
SINGULARNAME: 'Virtuala paĝo de subretejoj'
|
||||
SubsiteField: Subretejo
|
||||
db_CustomExtraMeta: 'Propra kroma meta'
|
||||
db_CustomMetaDescription: 'Propra metapriskribo'
|
||||
db_CustomMetaKeywords: 'Propraj meta-ŝlosilvortoj '
|
||||
db_CustomMetaTitle: 'Propraj meta-titolo'
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdown: Retejoj
|
||||
ReportDropdownAll: Ĉiuj
|
||||
ReportDropdownSubsite: Subretejo
|
||||
Subsite:
|
||||
COPYSTRUCTURE: 'Kopii strukturon de:'
|
||||
NOTEMPLATE: 'Mankas ŝablono'
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
es:
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
CustomExtraMeta: 'Meta Tags Personalizadas'
|
||||
CustomMetaDescription: Descripción
|
||||
CustomMetaTitle: Título
|
||||
SiteConfigTitle: 'Nombre de tu Sitio'
|
||||
belongs_many_many_Groups: Grupos
|
||||
db_Language: Lenguaje
|
||||
db_Theme: Tema
|
||||
db_Title: Título
|
||||
Subsites:
|
||||
LanguageFieldLabel: Lenguaje
|
||||
ThemeFieldLabel: Tema
|
|
@ -0,0 +1,13 @@
|
|||
et_EE:
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
CustomExtraMeta: 'Kohandatud metamärgendid'
|
||||
CustomMetaDescription: Kirjeldus
|
||||
CustomMetaTitle: Pealkiri
|
||||
SiteConfigTitle: 'Teie saidi nimi'
|
||||
belongs_many_many_Groups: Grupid
|
||||
db_Language: Keel
|
||||
db_Theme: Kujundus
|
||||
db_Title: Pealkiri
|
||||
Subsites:
|
||||
LanguageFieldLabel: Keel
|
||||
ThemeFieldLabel: Kujundus
|
|
@ -1,6 +1,53 @@
|
|||
fa_IR:
|
||||
DomainNameField:
|
||||
INVALID_DOMAIN: 'نام دامنه نامعتبر'
|
||||
SilverStripe\CMS\Model\VirtualPage:
|
||||
EDITCONTENT: 'برای ویرایش محتوا اینجا را کلیک کنید'
|
||||
SilverStripe\Subsites\Admin\SubsiteAdmin:
|
||||
MENUTITLE: 'زیر سایت ها'
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: 'زیر سایت'
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
AllSitesDropdownOpt: 'تمامی سایت ها'
|
||||
SubsiteFieldLabel: 'زیر سایت'
|
||||
SilverStripe\Subsites\Extensions\GroupSubsites:
|
||||
ACCESSALL: 'تمامی زیر سایت ها'
|
||||
ACCESSONLY: 'فقط این زیر سایت ها'
|
||||
SECURITYTABTITLE: 'زیر سایت ها'
|
||||
many_many_Subsites: 'زیر سایت ها'
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: 'زیر سایت'
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
has_one_Subsite: 'زیر سایت'
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: پیکربندی
|
||||
CustomExtraMeta: 'متا تگهای اختصاصی'
|
||||
CustomMetaDescription: توضحیات
|
||||
CustomMetaKeywords: 'کلید واژه ها'
|
||||
CustomMetaTitle: عنوان
|
||||
PLURALNAME: 'زیر سایت ها'
|
||||
SINGULARNAME: 'زیر سایت'
|
||||
SiteConfigTitle: 'نام سایت شما'
|
||||
belongs_many_many_Groups: گروهها
|
||||
db_DefaultSite: 'سایت پیش فرض'
|
||||
db_Language: زبان
|
||||
db_Theme: پوسته
|
||||
db_Title: عنوان
|
||||
has_many_Domains: 'دامنه ها'
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
DOMAIN: دامنه
|
||||
PLURALNAME: 'دامنه های زیر سایت'
|
||||
PROTOCOL_AUTOMATIC: 'به صورت خودکار'
|
||||
Protocol: پروتکل
|
||||
SINGULARNAME: 'دمنه زیرسایت'
|
||||
db_Domain: دامنه
|
||||
db_Protocol: پروتکل
|
||||
has_one_Subsite: 'زیر سایت'
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
SubsiteField: 'زیر سایت'
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdown: 'سایت ها'
|
||||
ReportDropdownSubsite: 'زیر سایت'
|
||||
Subsite:
|
||||
NOTEMPLATE: 'بدون قالب'
|
||||
Subsites:
|
||||
|
|
35
lang/fi.yml
35
lang/fi.yml
|
@ -5,8 +5,11 @@ fi:
|
|||
EDITCONTENT: 'Napsauta tässä muokataksesi sisältöä'
|
||||
SilverStripe\Subsites\Admin\SubsiteAdmin:
|
||||
MENUTITLE: Alasivustot
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: Alasivusto
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
AllSitesDropdownOpt: 'Kaikki sivustot'
|
||||
SUBSITENOTICE: 'Kansiot ja tiedostot, jotka on luotu pääsivustolla, ovat käytettävissä kaikissa alisivustoissa.'
|
||||
SubsiteFieldLabel: Alasivusto
|
||||
SilverStripe\Subsites\Extensions\GroupSubsites:
|
||||
ACCESSALL: 'Kaikki alasivustot'
|
||||
|
@ -14,15 +17,24 @@ fi:
|
|||
ACCESSRADIOTITLE: 'Anna ryhmän oikeudet »'
|
||||
GlobalGroup: Globaaliryhmä
|
||||
MANAGE_SUBSITES: 'Hallinnoi ryhmien alasivustoja'
|
||||
MANAGE_SUBSITES_HELP: 'Mahdollisuus rajoittaa ryhmän oikeuksia yhdelle tai useammalle alisivustolle.'
|
||||
SECURITYTABTITLE: Alasivustot
|
||||
many_many_Subsites: Alasivut
|
||||
SilverStripe\Subsites\Extensions\LeftAndMainSubsites:
|
||||
SITECONTENTLEFT: 'Sivuston sisältö'
|
||||
Saved: 'Tallennettu, ole hyvä ja päivitä liittyvät sivut.'
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: Alasivusto
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
CopyAction: Kopioi
|
||||
CopyToSubsite: 'Kopioi sivu alasivustolle'
|
||||
CopyToSubsiteWithChildren: 'Sisällytä alasivut?'
|
||||
SubsiteOperations: 'Alasivuston toiminnot'
|
||||
has_one_Subsite: Alasivusto
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: Asetukset
|
||||
CopyMessage: 'Luotiin kopio lähteestä {title}'
|
||||
CustomExtraMeta: 'Omat meta-tagit'
|
||||
CustomMetaDescription: Kuvaus
|
||||
CustomMetaKeywords: Avainsanat
|
||||
CustomMetaTitle: Otsikko
|
||||
|
@ -30,17 +42,40 @@ fi:
|
|||
PLURALS:
|
||||
one: Alasivu
|
||||
other: '{count} alasivua'
|
||||
PageTypeBlacklistField: 'Kiellä sivutyyppien käyttö?'
|
||||
SINGULARNAME: Alasivusto
|
||||
SiteConfigSubtitle: 'Tähän sloganisi'
|
||||
SiteConfigTitle: 'Sivuston nimi'
|
||||
ValidateTitle: 'Lisää "Otsikko"'
|
||||
belongs_many_many_Groups: Ryhmät
|
||||
db_DefaultSite: Oletussivusto
|
||||
db_Language: Kieli
|
||||
db_RedirectURL: 'Edelleenohjaus URL'
|
||||
db_Theme: Teema
|
||||
db_Title: Otsikko
|
||||
has_many_Domains: Domainit
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
DOMAIN: Verkkotunnus
|
||||
DOMAIN_DESCRIPTION: 'Tämä alisivuston isäntänimi (ilman protokollaa). Sallii wildcard-merkit (*).'
|
||||
ISPRIMARY_DESCRIPTION: 'Merkitse tämä oletusdomainiksi tälle alisivustolle'
|
||||
IS_PRIMARY: 'On päädomain?'
|
||||
PLURALNAME: 'Alisivuston domain-osoitteet'
|
||||
PROTOCOL_AUTOMATIC: Automaattinen
|
||||
PROTOCOL_HTTP: 'http://'
|
||||
PROTOCOL_HTTPS: 'https://'
|
||||
Protocol: Protokolla
|
||||
SINGULARNAME: 'Alisivuston domain-osoite'
|
||||
db_Domain: Verkkotunnus
|
||||
db_Protocol: Protokolla
|
||||
has_one_Subsite: Alasivusto
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
DESCRIPTION: 'Näyttää sisällön toisen alisivuston sivulta'
|
||||
PLURALNAME: 'Alisivustojen virtuaaliset sivut'
|
||||
SINGULARNAME: 'Alisivuston Virtuaalisivu'
|
||||
SubsiteField: Alasivusto
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdown: Sivustot
|
||||
ReportDropdownSubsite: Alasivusto
|
||||
Subsite:
|
||||
COPYSTRUCTURE: 'Kopioi rakenne kohteesta:'
|
||||
NOTEMPLATE: 'Ei sivupohjaa'
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
fr:
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: Configuration
|
||||
CustomExtraMeta: 'Balises Méta personnalisées'
|
||||
CustomMetaDescription: Description
|
||||
CustomMetaTitle: Titre
|
||||
SiteConfigTitle: 'Nom du site'
|
||||
belongs_many_many_Groups: Groupes
|
||||
db_Language: Langue
|
||||
db_Theme: Thème
|
||||
db_Title: Titre
|
||||
Subsites:
|
||||
LanguageFieldLabel: Langue
|
||||
ThemeFieldLabel: Thème
|
70
lang/hr.yml
70
lang/hr.yml
|
@ -1,6 +1,76 @@
|
|||
hr:
|
||||
DomainNameField:
|
||||
INVALID_DOMAIN: 'Netočan naziv domene'
|
||||
SilverStripe\CMS\Model\VirtualPage:
|
||||
EDITCONTENT: 'Klikni ovdje za uređivanje sadržaja'
|
||||
SilverStripe\Subsites\Admin\SubsiteAdmin:
|
||||
MENUTITLE: Podsajtovi
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: Podsajt
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
AllSitesDropdownOpt: 'Svi sajtovi'
|
||||
SUBSITENOTICE: 'Direktoriji i datoteke kreirane u glavnom sajtu su dostupne svim podsajtovima.'
|
||||
SubsiteFieldLabel: Podsajt
|
||||
SilverStripe\Subsites\Extensions\GroupSubsites:
|
||||
ACCESSALL: 'Svi podsajtovi'
|
||||
ACCESSONLY: 'Samo ovi podsajtovi'
|
||||
ACCESSRADIOTITLE: 'Dodijeli ovoj grupi pristup za'
|
||||
GlobalGroup: 'globalna grupa'
|
||||
MANAGE_SUBSITES: 'Upravljaj podsajtove za grupe'
|
||||
MANAGE_SUBSITES_HELP: 'Mogućnost limitiranja prava za grupu za jedan ili više podsajtova.'
|
||||
SECURITYTABTITLE: Podsajtovi
|
||||
many_many_Subsites: Podsajtovi
|
||||
SilverStripe\Subsites\Extensions\LeftAndMainSubsites:
|
||||
Saved: 'Spremljeno, molimo osvježite povezane stranice.'
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: Podsajt
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
CopyAction: Kopiraj
|
||||
CopyToSubsite: 'Kopiraj stranicu u podsajt'
|
||||
CopyToSubsiteWithChildren: 'Uključi podstranice?'
|
||||
SubsiteOperations: 'Operacije podređenog prostora'
|
||||
has_one_Subsite: Podsajt
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: Konfiguracija
|
||||
CopyMessage: 'Kreirana kopija od {title}'
|
||||
CustomExtraMeta: 'Prilagođeni Meta tagovi'
|
||||
CustomMetaDescription: Opis
|
||||
CustomMetaKeywords: 'Ključne riječi'
|
||||
CustomMetaTitle: Naslov
|
||||
PLURALNAME: Podsajtovi
|
||||
PageTypeBlacklistField: 'Ne dopuštaj tipove stranica?'
|
||||
SINGULARNAME: Podsajt
|
||||
SiteConfigSubtitle: 'vaš slogan ovdje'
|
||||
SiteConfigTitle: 'Naziv vašeg weba'
|
||||
ValidateTitle: 'Molimo dodajte "Naslov"'
|
||||
belongs_many_many_Groups: Grupe
|
||||
db_DefaultSite: 'Zadani sajt'
|
||||
db_Language: Jezik
|
||||
db_RedirectURL: 'Link preusmjeravanja'
|
||||
db_Theme: Tema
|
||||
db_Title: Naslov
|
||||
has_many_Domains: Domene
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
DOMAIN: Domena
|
||||
DOMAIN_DESCRIPTION: 'Hostname ovog podsajta (bez protokola). Omogućava wildcard (*).'
|
||||
ISPRIMARY_DESCRIPTION: 'Označi kao zadanu domenu za ovu podstranicu'
|
||||
IS_PRIMARY: 'Da li je glavna domena?'
|
||||
PLURALNAME: 'Domene podsajtova'
|
||||
PROTOCOL_AUTOMATIC: Automatsko
|
||||
PROTOCOL_HTTP: 'http://'
|
||||
PROTOCOL_HTTPS: 'https://'
|
||||
Protocol: Protokol
|
||||
SINGULARNAME: 'Domena podsajta'
|
||||
db_Domain: Domena
|
||||
db_Protocol: Protokol
|
||||
has_one_Subsite: Podsajt
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
DESCRIPTION: 'Prikazuje sadržaj stranice na drugom podsajtu'
|
||||
SINGULARNAME: 'Virtualna stranica podsajta'
|
||||
SubsiteField: Podsajt
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdown: Sajtovi
|
||||
ReportDropdownSubsite: Podsajt
|
||||
Subsite:
|
||||
COPYSTRUCTURE: 'Kopiraj strukturu od:'
|
||||
NOTEMPLATE: 'Nema predloška'
|
||||
|
|
33
lang/id.yml
33
lang/id.yml
|
@ -3,6 +3,38 @@ id:
|
|||
SubsiteFieldLabel: Subsitus
|
||||
GroupSubsites:
|
||||
SECURITYTABTITLE: Subsitus
|
||||
SilverStripe\Subsites\Admin\SubsiteAdmin:
|
||||
MENUTITLE: Subsitus
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: Subsitus
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
SubsiteFieldLabel: Subsitus
|
||||
SilverStripe\Subsites\Extensions\GroupSubsites:
|
||||
SECURITYTABTITLE: Subsitus
|
||||
many_many_Subsites: Subsitus
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: Subsitus
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
has_one_Subsite: Subsitus
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
CustomExtraMeta: 'Penanda Meta'
|
||||
CustomMetaDescription: Deskripsi
|
||||
CustomMetaKeywords: 'Kata kunci'
|
||||
CustomMetaTitle: Judul
|
||||
PLURALNAME: Subsitus
|
||||
SINGULARNAME: Subsitus
|
||||
SiteConfigTitle: 'Nama Situs'
|
||||
belongs_many_many_Groups: Kelompok
|
||||
db_Language: Bahasa
|
||||
db_Theme: Tema
|
||||
db_Title: Judul
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
has_one_Subsite: Subsitus
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
SubsiteField: Subsitus
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdown: Situs
|
||||
ReportDropdownSubsite: Subsitus
|
||||
Subsite:
|
||||
CustomMetaDescription: Deskripsi
|
||||
CustomMetaKeywords: 'Kata kunci'
|
||||
|
@ -15,5 +47,6 @@ id:
|
|||
ReportDropdown: Situs
|
||||
Subsites:
|
||||
LanguageFieldLabel: Bahasa
|
||||
ThemeFieldLabel: Tema
|
||||
SubsitesVirtualPage:
|
||||
SubsiteField: Subsitus
|
||||
|
|
70
lang/it.yml
70
lang/it.yml
|
@ -1,6 +1,76 @@
|
|||
it:
|
||||
DomainNameField:
|
||||
INVALID_DOMAIN: 'Nome a dominio non valido'
|
||||
SilverStripe\CMS\Model\VirtualPage:
|
||||
EDITCONTENT: 'Clicca qui per editare il contenuto'
|
||||
SilverStripe\Subsites\Admin\SubsiteAdmin:
|
||||
MENUTITLE: Sottositi
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: Sottosito
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
AllSitesDropdownOpt: 'Tutti i siti'
|
||||
SUBSITENOTICE: 'Le cartelle e i files creati nel sito principale sono accessibili da tutti i sottositi.'
|
||||
SubsiteFieldLabel: Sottosito
|
||||
SilverStripe\Subsites\Extensions\GroupSubsites:
|
||||
ACCESSALL: 'Tutti i sottositi'
|
||||
ACCESSONLY: 'Solo questi sottositi'
|
||||
ACCESSRADIOTITLE: 'Dai a questo gruppo accesso a'
|
||||
GlobalGroup: 'Gruppo globale'
|
||||
MANAGE_SUBSITES: 'Gestisci sottositi per gruppi'
|
||||
MANAGE_SUBSITES_HELP: 'Abilità di limitare i permessi per un gruppo di uno o più sottositi.'
|
||||
SECURITYTABTITLE: Sottositi
|
||||
many_many_Subsites: Sottositi
|
||||
SilverStripe\Subsites\Extensions\LeftAndMainSubsites:
|
||||
Saved: 'Salvato, si prega di aggiornare le pagine relative.'
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: Sottosito
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
CopyAction: Copia
|
||||
CopyToSubsite: 'Copia pagina in sottosito'
|
||||
CopyToSubsiteWithChildren: 'Includi pagine figlie?'
|
||||
SubsiteOperations: 'Operazioni sui sottositi'
|
||||
has_one_Subsite: Sottosito
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: Configurazione
|
||||
CopyMessage: 'Creata una copia di {title}'
|
||||
CustomExtraMeta: 'Meta Tags personalizzati'
|
||||
CustomMetaDescription: Descrizione
|
||||
CustomMetaKeywords: Keywords
|
||||
CustomMetaTitle: Titolo
|
||||
PLURALNAME: Sottositi
|
||||
PageTypeBlacklistField: 'Disabilita tipi di pagina?'
|
||||
SINGULARNAME: Sottosito
|
||||
SiteConfigSubtitle: 'Lo slogan qui'
|
||||
SiteConfigTitle: 'Nome del sito'
|
||||
ValidateTitle: 'Prego aggiungere il "Titolo"'
|
||||
belongs_many_many_Groups: Gruppi
|
||||
db_DefaultSite: 'Sito di default'
|
||||
db_Language: Lingua
|
||||
db_RedirectURL: 'URL di reindirizzamento'
|
||||
db_Theme: Tema
|
||||
db_Title: Titolo
|
||||
has_many_Domains: Domini
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
DOMAIN: Dominio
|
||||
DOMAIN_DESCRIPTION: 'Nome host di questo sottosito (escluso il protocollo). Permette caratteri wildcard (*).'
|
||||
ISPRIMARY_DESCRIPTION: 'Segna questo come il dominio di default per questo sottosito'
|
||||
IS_PRIMARY: 'È il dominio primario?'
|
||||
PLURALNAME: 'Domini del sottosito'
|
||||
PROTOCOL_AUTOMATIC: Automatico
|
||||
PROTOCOL_HTTP: 'http://'
|
||||
PROTOCOL_HTTPS: 'https://'
|
||||
Protocol: Protocollo
|
||||
SINGULARNAME: 'Dominio del sottosito'
|
||||
db_Domain: Dominio
|
||||
db_Protocol: Protocollo
|
||||
has_one_Subsite: Sottosito
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
DESCRIPTION: 'Mostra il contenuto di una pagina appartenente ad un altro sottosito'
|
||||
SINGULARNAME: 'Pagina virtuale dei sottositi'
|
||||
SubsiteField: Sottosito
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdown: Siti
|
||||
ReportDropdownSubsite: Sottosito
|
||||
Subsite:
|
||||
COPYSTRUCTURE: 'Copia struttura da:'
|
||||
NOTEMPLATE: 'Nessuno schema'
|
||||
|
|
44
lang/ja.yml
44
lang/ja.yml
|
@ -6,11 +6,55 @@ ja:
|
|||
ACCESSONLY: これらのサブサイトのみ
|
||||
ACCESSRADIOTITLE: このグループに選択先へのアクセス権を与える
|
||||
SECURITYTABTITLE: サブサイト
|
||||
SilverStripe\CMS\Model\VirtualPage:
|
||||
EDITCONTENT: ここをクリックしてコンテンツを編集
|
||||
SilverStripe\Subsites\Admin\SubsiteAdmin:
|
||||
MENUTITLE: サブサイト
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: サブサイト
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
SubsiteFieldLabel: サブサイト
|
||||
SilverStripe\Subsites\Extensions\GroupSubsites:
|
||||
ACCESSALL: 全てのサブサイト
|
||||
ACCESSONLY: これらのサブサイトのみ
|
||||
ACCESSRADIOTITLE: このグループに選択先へのアクセス権を与える
|
||||
SECURITYTABTITLE: サブサイト
|
||||
many_many_Subsites: サブサイト
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: サブサイト
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
has_one_Subsite: サブサイト
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
CustomExtraMeta: メタタグをカスタム
|
||||
CustomMetaDescription: 説明文
|
||||
CustomMetaTitle: タイトル
|
||||
PLURALNAME: サブサイト
|
||||
SINGULARNAME: サブサイト
|
||||
SiteConfigTitle: サイト名
|
||||
belongs_many_many_Groups: グループ
|
||||
db_Language: 言語
|
||||
db_Theme: テーマ
|
||||
db_Title: タイトル
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
DOMAIN: ドメイン
|
||||
PLURALNAME: サブサイトのドメイン
|
||||
SINGULARNAME: サブサイトのドメイン
|
||||
db_Domain: ドメイン
|
||||
has_one_Subsite: サブサイト
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
SINGULARNAME: サブサイトの仮想ページ
|
||||
SubsiteField: サブサイト
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdownSubsite: サブサイト
|
||||
SubsiteAdmin:
|
||||
MENUTITLE: サブサイト
|
||||
SubsiteDomain:
|
||||
DOMAIN: ドメイン
|
||||
PLURALNAME: サブサイトのドメイン
|
||||
SINGULARNAME: サブサイトのドメイン
|
||||
Subsites:
|
||||
DomainFieldLabel: ドメイン
|
||||
LanguageFieldLabel: 言語
|
||||
ThemeFieldLabel: テーマ
|
||||
SubsitesVirtualPage:
|
||||
SINGULARNAME: サブサイトの仮想ページ
|
||||
|
|
30
lang/lt.yml
30
lang/lt.yml
|
@ -1,4 +1,34 @@
|
|||
lt:
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
AllSitesDropdownOpt: 'Visos svetainės'
|
||||
SilverStripe\Subsites\Extensions\LeftAndMainSubsites:
|
||||
Saved: 'Išsaugota, prašome atnaujinti susijusius puslapius'
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
CopyAction: Kopijuoti
|
||||
CopyToSubsite: 'Kopijuoti puslapį į kitą svetainę'
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: Nustatymai
|
||||
CopyMessage: 'Sukurta {title} kopija'
|
||||
CustomExtraMeta: 'Kitos meta žymės'
|
||||
CustomMetaDescription: Aprašymas
|
||||
CustomMetaKeywords: Raktažodžiai
|
||||
CustomMetaTitle: Pavadinimas
|
||||
PageTypeBlacklistField: 'Neleidžiami puslapių tipai'
|
||||
SiteConfigSubtitle: 'Jūsų svetainės šūkis'
|
||||
SiteConfigTitle: 'Jūsų svetainės pavadinimas'
|
||||
ValidateTitle: 'Prašome įvesti "Pavadinimą"'
|
||||
belongs_many_many_Groups: Grupės
|
||||
db_DefaultSite: 'Pagrindinė svetainė'
|
||||
db_Language: Kalba
|
||||
db_RedirectURL: 'Nukreipimo nuoroda'
|
||||
db_Theme: Tema
|
||||
db_Title: Pavadinimas
|
||||
has_many_Domains: Domenai
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
DOMAIN: Domenas
|
||||
db_Domain: Domenas
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdown: Svetainės
|
||||
Subsite:
|
||||
COPYSTRUCTURE: 'Kopijuoti struktūrą iš:'
|
||||
NOTEMPLATE: 'Nėra šablono'
|
||||
|
|
61
lang/mi.yml
61
lang/mi.yml
|
@ -1,4 +1,65 @@
|
|||
mi:
|
||||
SilverStripe\CMS\Model\VirtualPage:
|
||||
EDITCONTENT: 'Pāwhiri ki konei hei whakatika i ngā ihirangi'
|
||||
SilverStripe\Subsites\Admin\SubsiteAdmin:
|
||||
MENUTITLE: 'Ngā pae iti'
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: 'Pae iti'
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
AllSitesDropdownOpt: 'Ngā pae katoa'
|
||||
SUBSITENOTICE: 'Ka taea ngā kōpaki me ngā kōnae kua hangaia i te pae matua te uru mā ngā pae iti katoa.'
|
||||
SubsiteFieldLabel: 'Pae iti'
|
||||
SilverStripe\Subsites\Extensions\GroupSubsites:
|
||||
ACCESSALL: 'Ngā pae iti katoa'
|
||||
ACCESSONLY: 'Ko ēnei pae iti anake'
|
||||
ACCESSRADIOTITLE: 'Tukuna tēnei rōpū kia uru ki'
|
||||
GlobalGroup: 'Rōpū Hurinoa'
|
||||
MANAGE_SUBSITES: 'Whakahaere pae iti mō ngā rōpū'
|
||||
MANAGE_SUBSITES_HELP: 'Te āheinga ki te whakawhāiti whakaaetanga mō tētahi rōpū ki tētahi neke atu rānei o ngā pae iti.'
|
||||
SECURITYTABTITLE: 'Ngā pae iti'
|
||||
many_many_Subsites: 'Ngā pae iti'
|
||||
SilverStripe\Subsites\Extensions\LeftAndMainSubsites:
|
||||
Saved: 'Kua tiakina, whakahoutia ngā whārangi pāhono.'
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: 'Pae iti'
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
CopyAction: Tārua
|
||||
CopyToSubsite: 'Tāruatia te whārangi ki te pae iti'
|
||||
has_one_Subsite: 'Pae iti'
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: Whirihoranga
|
||||
CopyMessage: 'I hangaia he tārua o {title}'
|
||||
CustomExtraMeta: 'Ngā Tūtohu Meta Ritenga'
|
||||
CustomMetaDescription: Whakaahuatanga
|
||||
CustomMetaKeywords: 'Ngā kupumatua'
|
||||
CustomMetaTitle: Taitara
|
||||
PLURALNAME: 'Ngā pae iti'
|
||||
PageTypeBlacklistField: 'Me whakakāhore ngā momo whārangi?'
|
||||
SINGULARNAME: 'Pae iti'
|
||||
SiteConfigSubtitle: 'Tō rārangi tautuhinga ki konei'
|
||||
SiteConfigTitle: 'Tō Ingoa Pae'
|
||||
ValidateTitle: 'Tāurua he "Taitara"'
|
||||
belongs_many_many_Groups: 'Ngā Rōpū'
|
||||
db_DefaultSite: 'Pae taunoa'
|
||||
db_Language: Reo
|
||||
db_RedirectURL: 'Tukua anō te URL'
|
||||
db_Theme: Kaupapa
|
||||
db_Title: Taitara
|
||||
has_many_Domains: 'Ngā Rohe'
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
DOMAIN: Rohe
|
||||
PLURALNAME: 'Ngā Rohe Pae Iti'
|
||||
SINGULARNAME: 'Rohe Pae Iti'
|
||||
db_Domain: Rohe
|
||||
has_one_Subsite: 'Pae iti'
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
DESCRIPTION: 'Ka whakaatu i ngā ihirangi o tētahi whārangi ki tētahi atu pae iti'
|
||||
PLURALNAME: 'Ngā Whārangi Taketake'
|
||||
SINGULARNAME: 'Whārangi Mariko Pae Iti'
|
||||
SubsiteField: 'Pae iti'
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdown: 'Ngā Pae'
|
||||
ReportDropdownSubsite: 'Pae iti'
|
||||
Subsite:
|
||||
COPYSTRUCTURE: 'Tāurutia te hanganga mai i:'
|
||||
NOTEMPLATE: 'Kāore he tātauira'
|
||||
|
|
|
@ -6,11 +6,46 @@ nb_NO:
|
|||
ACCESSONLY: 'Only these subsites'
|
||||
ACCESSRADIOTITLE: 'Give this group access to'
|
||||
SECURITYTABTITLE: subdomener
|
||||
SilverStripe\CMS\Model\VirtualPage:
|
||||
EDITCONTENT: 'klikk her for å endre dette innholdet'
|
||||
SilverStripe\Subsites\Admin\SubsiteAdmin:
|
||||
MENUTITLE: subdomener
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: Subdomene
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
SubsiteFieldLabel: Subdomene
|
||||
SilverStripe\Subsites\Extensions\GroupSubsites:
|
||||
ACCESSALL: 'All subsites'
|
||||
ACCESSONLY: 'Only these subsites'
|
||||
ACCESSRADIOTITLE: 'Give this group access to'
|
||||
SECURITYTABTITLE: subdomener
|
||||
many_many_Subsites: subdomener
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: Subdomene
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
has_one_Subsite: Subdomene
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: Konfigurasjon
|
||||
PLURALNAME: subdomener
|
||||
SINGULARNAME: Subdomene
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
DOMAIN: Domain
|
||||
PLURALNAME: 'Subsite Domains'
|
||||
SINGULARNAME: 'Subsite Domain'
|
||||
db_Domain: Domain
|
||||
has_one_Subsite: Subdomene
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
SINGULARNAME: 'Subdomeners Virtuelle Side'
|
||||
SubsiteField: Subdomene
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdownSubsite: Subdomene
|
||||
SubsiteAdmin:
|
||||
MENUTITLE: Underdomener
|
||||
SubsiteDomain:
|
||||
DOMAIN: Domain
|
||||
PLURALNAME: 'Subsite Domains'
|
||||
SINGULARNAME: 'Subsite Domain'
|
||||
Subsites:
|
||||
DomainFieldLabel: Domain
|
||||
SubsitesVirtualPage:
|
||||
SINGULARNAME: 'Subdomeners Virtuelle Side'
|
||||
|
|
20
lang/nl.yml
20
lang/nl.yml
|
@ -7,6 +7,8 @@ nl:
|
|||
MENUTITLE: Subsites
|
||||
SilverStripe\Subsites\Controller\SubsiteXHRController:
|
||||
MENUTITLE: Subsites
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: Subsite
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
AllSitesDropdownOpt: 'Alle sites'
|
||||
SUBSITENOTICE: 'Mappen en bestanden van de Hoofdsite zijn toegankelijk voor alle subsites.'
|
||||
|
@ -19,14 +21,19 @@ nl:
|
|||
MANAGE_SUBSITES: 'Beheer subsites voor groepen'
|
||||
MANAGE_SUBSITES_HELP: 'Bepaal de toegangsrechten voor groepen per subsite'
|
||||
SECURITYTABTITLE: Subsites
|
||||
db_AccessAllSubsites: 'Toegang tot alle subsites'
|
||||
many_many_Subsites: Subsites
|
||||
SilverStripe\Subsites\Extensions\LeftAndMainSubsites:
|
||||
SITECONTENTLEFT: 'Site inhoud'
|
||||
Saved: 'Opgeslagen, pas onderliggende pagina''s aan.'
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: Subsite
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
CopyAction: Kopieer
|
||||
CopyToSubsite: 'Kopieer pagina''s naar subsite'
|
||||
CopyToSubsiteWithChildren: 'Inclusief onderliggende pagina''s?'
|
||||
SubsiteOperations: 'Subsite Acties'
|
||||
has_one_Subsite: Subsite
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: Configuratie
|
||||
CopyMessage: 'Kopie gemaakt van {title}'
|
||||
|
@ -44,20 +51,30 @@ nl:
|
|||
SiteConfigTitle: 'Jouw Site Naam'
|
||||
ThemeFieldEmptyString: '-'
|
||||
ValidateTitle: 'Voeg een "Titel" toe'
|
||||
belongs_many_many_Groups: Groepen
|
||||
db_DefaultSite: 'Standaard Site'
|
||||
db_Language: Taal
|
||||
db_RedirectURL: 'Redirect URL'
|
||||
db_Theme: Thema
|
||||
db_Title: Titel
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
DOMAIN: Domein
|
||||
DOMAIN_DESCRIPTION: 'Domeinnaam van deze subsite (zonder http), wildcards zijn toegestaan (*).'
|
||||
ISPRIMARY_DESCRIPTION: 'Dit is de standaard domeinnaam voor deze subsite'
|
||||
IS_PRIMARY: 'Is Primaire domein'
|
||||
PLURALNAME: 'Subsite Domeinen'
|
||||
PLURALS:
|
||||
one: 'Een subsite domein'
|
||||
other: '{count} subsite domeinen'
|
||||
PROTOCOL_AUTOMATIC: Automatisch
|
||||
PROTOCOL_DESCRIPTION: 'Markeer als standaard domein voor deze subsite'
|
||||
PROTOCOL_DESCRIPTION: 'Wordt gebruikt bij het genereren van links naar deze subsite. <br />''Automatisch'' houdt in dat het huidige protocol gebruikt zal worden.'
|
||||
PROTOCOL_HTTP: 'http://'
|
||||
PROTOCOL_HTTPS: 'https://'
|
||||
Protocol: Protocol
|
||||
SINGULARNAME: 'Subsite Domein'
|
||||
db_Domain: Domein
|
||||
db_Protocol: Protocol
|
||||
has_one_Subsite: Subsite
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
DESCRIPTION: 'Toon de inhoud van een pagina op een andere subsite'
|
||||
OverrideNote: 'Overschrijft de overgenomen tekst van de gelinkte pagina'
|
||||
|
@ -69,6 +86,7 @@ nl:
|
|||
SubsiteField: Subsite
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdown: Sites
|
||||
ReportDropdownSubsite: Subsite
|
||||
Subsite:
|
||||
COPYSTRUCTURE: 'Kopieer structuur vanaf:'
|
||||
NOTEMPLATE: 'Geen template'
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
pl:
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
CustomExtraMeta: 'Własne meta tagi'
|
||||
CustomMetaDescription: Opis
|
||||
CustomMetaTitle: Tytuł
|
||||
SiteConfigTitle: 'Nazwa twojego serwisu'
|
||||
belongs_many_many_Groups: Grupy
|
||||
db_Language: Język
|
||||
db_Theme: Szablon
|
||||
db_Title: Tytuł
|
||||
Subsites:
|
||||
LanguageFieldLabel: Język
|
||||
ThemeFieldLabel: Szablon
|
|
@ -6,11 +6,51 @@ pl_PL:
|
|||
ACCESSONLY: 'Tylko te podwitryny'
|
||||
ACCESSRADIOTITLE: 'Daj tej grupie dostęp do'
|
||||
SECURITYTABTITLE: Podwitryny
|
||||
SilverStripe\CMS\Model\VirtualPage:
|
||||
EDITCONTENT: 'Kliknij tutaj aby edytować zawartość'
|
||||
SilverStripe\Subsites\Admin\SubsiteAdmin:
|
||||
MENUTITLE: Podwitryny
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: Podwitryna
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
SubsiteFieldLabel: Podwitryna
|
||||
SilverStripe\Subsites\Extensions\GroupSubsites:
|
||||
ACCESSALL: 'Wszystkie podwitryny'
|
||||
ACCESSONLY: 'Tylko te podwitryny'
|
||||
ACCESSRADIOTITLE: 'Daj tej grupie dostęp do'
|
||||
SECURITYTABTITLE: Podwitryny
|
||||
many_many_Subsites: Podwitryny
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: Podwitryna
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
has_one_Subsite: Podwitryna
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: Konfiguracja
|
||||
CustomExtraMeta: 'Własne meta tagi'
|
||||
CustomMetaTitle: Tytuł
|
||||
PLURALNAME: Podwitryny
|
||||
SINGULARNAME: Podwitryna
|
||||
db_Language: Język
|
||||
db_Title: Tytuł
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
DOMAIN: Domena
|
||||
PLURALNAME: 'Domeny podwitryny'
|
||||
SINGULARNAME: 'Domena podwitryny'
|
||||
db_Domain: Domena
|
||||
has_one_Subsite: Podwitryna
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
SINGULARNAME: 'Wirtualna strona dla podwitryn'
|
||||
SubsiteField: Podwitryna
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdownSubsite: Podwitryna
|
||||
SubsiteAdmin:
|
||||
MENUTITLE: Podwitryny
|
||||
SubsiteDomain:
|
||||
DOMAIN: Domena
|
||||
PLURALNAME: 'Domeny podwitryny'
|
||||
SINGULARNAME: 'Domena podwitryny'
|
||||
Subsites:
|
||||
DomainFieldLabel: Domena
|
||||
LanguageFieldLabel: Język
|
||||
SubsitesVirtualPage:
|
||||
SINGULARNAME: 'Wirtualna strona dla podwitryn'
|
||||
|
|
70
lang/ru.yml
70
lang/ru.yml
|
@ -1,6 +1,76 @@
|
|||
ru:
|
||||
DomainNameField:
|
||||
INVALID_DOMAIN: 'Неверный домен'
|
||||
SilverStripe\CMS\Model\VirtualPage:
|
||||
EDITCONTENT: 'Нажмите для изменения содержимого'
|
||||
SilverStripe\Subsites\Admin\SubsiteAdmin:
|
||||
MENUTITLE: Подсайты
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: Подсайт
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
AllSitesDropdownOpt: 'Все сайты'
|
||||
SUBSITENOTICE: 'Папки и файлы созданные на основном сайте так же доступны для под-сайтов.'
|
||||
SubsiteFieldLabel: Подсайт
|
||||
SilverStripe\Subsites\Extensions\GroupSubsites:
|
||||
ACCESSALL: 'Все подсайты'
|
||||
ACCESSONLY: 'Только эти подсайты'
|
||||
ACCESSRADIOTITLE: 'Разрешить этой группе доступ к'
|
||||
GlobalGroup: 'глобальная группа'
|
||||
MANAGE_SUBSITES: 'Управление подсайтами для групп'
|
||||
MANAGE_SUBSITES_HELP: 'Возможность ограничить права доступа для группы к одному и более подсайтам'
|
||||
SECURITYTABTITLE: Подсайты
|
||||
many_many_Subsites: Подсайты
|
||||
SilverStripe\Subsites\Extensions\LeftAndMainSubsites:
|
||||
Saved: 'Сохранено, пожалуйста обновите связанные группы'
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: Подсайт
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
CopyAction: Копировать
|
||||
CopyToSubsite: 'Копировать страницу на подсайт'
|
||||
CopyToSubsiteWithChildren: 'Включая под-страницы?'
|
||||
SubsiteOperations: 'Операции над подсайтами'
|
||||
has_one_Subsite: Подсайт
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: Конфигурация
|
||||
CopyMessage: 'Создана копия {title}'
|
||||
CustomExtraMeta: 'Пользовательские мета-тэги'
|
||||
CustomMetaDescription: Описание
|
||||
CustomMetaKeywords: 'Ключевые слова'
|
||||
CustomMetaTitle: Заголовок
|
||||
PLURALNAME: Подсайты
|
||||
PageTypeBlacklistField: 'Запретить данные типы страниц?'
|
||||
SINGULARNAME: Подсайт
|
||||
SiteConfigSubtitle: 'ваш слоган здесь'
|
||||
SiteConfigTitle: 'Название сайта'
|
||||
ValidateTitle: 'Пожалуйста, добавьте "Заголовок"'
|
||||
belongs_many_many_Groups: Группы
|
||||
db_DefaultSite: 'Основной сайт'
|
||||
db_Language: Язык
|
||||
db_RedirectURL: 'Ссылка для перенаправления'
|
||||
db_Theme: Оформление
|
||||
db_Title: Заголовок
|
||||
has_many_Domains: Домены
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
DOMAIN: Домен
|
||||
DOMAIN_DESCRIPTION: 'Домен подсайта (без указания протоколов: http:// и https://). Разрешены (*) для обозначения поддоменов.'
|
||||
ISPRIMARY_DESCRIPTION: 'Отметить как основной домен для данного подсайта'
|
||||
IS_PRIMARY: 'Это основной домен?'
|
||||
PLURALNAME: 'Домены подсайтов'
|
||||
PROTOCOL_AUTOMATIC: Автоматически
|
||||
PROTOCOL_HTTP: 'http://'
|
||||
PROTOCOL_HTTPS: 'https://'
|
||||
Protocol: Протокол
|
||||
SINGULARNAME: 'Домен подсайта'
|
||||
db_Domain: Домен
|
||||
db_Protocol: Протокол
|
||||
has_one_Subsite: Подсайт
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
DESCRIPTION: 'Отображает содержимое выбранной страницы на другом подсайте'
|
||||
SINGULARNAME: 'Виртуальная страница подсайта'
|
||||
SubsiteField: Подсайт
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdown: Сайты
|
||||
ReportDropdownSubsite: Подсайт
|
||||
Subsite:
|
||||
COPYSTRUCTURE: 'Скопировать структуры из:'
|
||||
NOTEMPLATE: 'Нет шаблона'
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
sk:
|
||||
SilverStripe\Subsites\Admin\SubsiteAdmin:
|
||||
MENUTITLE: Podstránky
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: Podstránka
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
SubsiteFieldLabel: Podstránka
|
||||
SilverStripe\Subsites\Extensions\GroupSubsites:
|
||||
SECURITYTABTITLE: Podstránky
|
||||
db_AccessAllSubsites: 'Prístup na všetky podstránky'
|
||||
many_many_Subsites: Podstránky
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: Podstránka
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
has_one_Subsite: Podstránka
|
||||
many_many_CrossSubsiteLinkTracking: 'Sledovanie odkazov naprieč podstránkami'
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: Konfigurácia
|
||||
CustomExtraMeta: 'Vlastné Meta Tagy'
|
||||
CustomMetaDescription: Popis
|
||||
CustomMetaTitle: Názov
|
||||
PLURALNAME: Podstránky
|
||||
SINGULARNAME: Podstránka
|
||||
SiteConfigTitle: 'Názov vášho webu'
|
||||
belongs_many_many_Groups: Skupiny
|
||||
db_Language: Jazyk
|
||||
db_Theme: Téma
|
||||
db_Title: Názov
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
has_one_Subsite: Podstránka
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
SubsiteField: Podstránka
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdownSubsite: Podstránka
|
||||
Subsites:
|
||||
LanguageFieldLabel: Jazyk
|
||||
ThemeFieldLabel: Téma
|
|
@ -0,0 +1,35 @@
|
|||
sl:
|
||||
SilverStripe\Subsites\Admin\SubsiteAdmin:
|
||||
MENUTITLE: Podspletišča
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: Podspletišče
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
SubsiteFieldLabel: Podspletišče
|
||||
SilverStripe\Subsites\Extensions\GroupSubsites:
|
||||
SECURITYTABTITLE: Podspletišča
|
||||
db_AccessAllSubsites: 'Dostop do vseh podspletišč'
|
||||
many_many_Subsites: Podspletišča
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: Podspletišče
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
has_one_Subsite: Podspletišče
|
||||
many_many_CrossSubsiteLinkTracking: 'Spremljanje povezav med podspletišči'
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: Nastavitve
|
||||
CustomExtraMeta: 'Meta tagi po meri'
|
||||
CustomMetaDescription: Opis
|
||||
CustomMetaTitle: Naziv
|
||||
PLURALNAME: Podspletišča
|
||||
SINGULARNAME: Podspletišče
|
||||
SiteConfigTitle: 'Naziv vašega spletnega mesta'
|
||||
belongs_many_many_Groups: Skupine
|
||||
db_Theme: Tema
|
||||
db_Title: Naziv
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
has_one_Subsite: Podspletišče
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
SubsiteField: Podspletišče
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdownSubsite: Podspletišče
|
||||
Subsites:
|
||||
ThemeFieldLabel: Tema
|
|
@ -0,0 +1,13 @@
|
|||
sr_RS@latin:
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
CustomExtraMeta: 'Prilagođene meta oznake'
|
||||
CustomMetaDescription: Opis
|
||||
CustomMetaTitle: Naslov
|
||||
SiteConfigTitle: 'Naziv sajta'
|
||||
belongs_many_many_Groups: Grupe
|
||||
db_Language: Jezik
|
||||
db_Theme: Tema
|
||||
db_Title: Naslov
|
||||
Subsites:
|
||||
LanguageFieldLabel: Jezik
|
||||
ThemeFieldLabel: Tema
|
|
@ -0,0 +1,14 @@
|
|||
sv:
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: Konfiguration
|
||||
CustomExtraMeta: 'Egna metataggar'
|
||||
CustomMetaDescription: Beskrivning
|
||||
CustomMetaTitle: Titel
|
||||
SiteConfigTitle: 'Din Sajts Namn'
|
||||
belongs_many_many_Groups: Grupper
|
||||
db_Language: Språk
|
||||
db_Theme: Tema
|
||||
db_Title: Titel
|
||||
Subsites:
|
||||
LanguageFieldLabel: Språk
|
||||
ThemeFieldLabel: Tema
|
|
@ -0,0 +1,13 @@
|
|||
tr:
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
CustomExtraMeta: 'Kişisel Meta Etiketleri'
|
||||
CustomMetaDescription: Açıklama
|
||||
CustomMetaTitle: Başlık
|
||||
SiteConfigTitle: 'Site Adınız'
|
||||
belongs_many_many_Groups: Gruplar
|
||||
db_Language: Dil
|
||||
db_Theme: Tema
|
||||
db_Title: Başlık
|
||||
Subsites:
|
||||
LanguageFieldLabel: Dil
|
||||
ThemeFieldLabel: Tema
|
|
@ -6,11 +6,45 @@ tr_TR:
|
|||
ACCESSONLY: 'Only these subsites'
|
||||
ACCESSRADIOTITLE: 'Give this group access to'
|
||||
SECURITYTABTITLE: 'Alt Siteler'
|
||||
SilverStripe\CMS\Model\VirtualPage:
|
||||
EDITCONTENT: 'İçeriği düzenlemek için tıklayınız'
|
||||
SilverStripe\Subsites\Admin\SubsiteAdmin:
|
||||
MENUTITLE: 'Alt Siteler'
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: 'Alt Site'
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
SubsiteFieldLabel: 'Alt Site'
|
||||
SilverStripe\Subsites\Extensions\GroupSubsites:
|
||||
ACCESSALL: 'All subsites'
|
||||
ACCESSONLY: 'Only these subsites'
|
||||
ACCESSRADIOTITLE: 'Give this group access to'
|
||||
SECURITYTABTITLE: 'Alt Siteler'
|
||||
many_many_Subsites: 'Alt Siteler'
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: 'Alt Site'
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
has_one_Subsite: 'Alt Site'
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
PLURALNAME: 'Alt Siteler'
|
||||
SINGULARNAME: 'Alt Site'
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
DOMAIN: Domain
|
||||
PLURALNAME: 'Subsite Domains'
|
||||
SINGULARNAME: 'Subsite Domain'
|
||||
db_Domain: Domain
|
||||
has_one_Subsite: 'Alt Site'
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
SINGULARNAME: 'Alt Site Sanal Sayfa'
|
||||
SubsiteField: 'Alt Site'
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdownSubsite: 'Alt Site'
|
||||
SubsiteAdmin:
|
||||
MENUTITLE: 'Alt Siteler'
|
||||
SubsiteDomain:
|
||||
DOMAIN: Domain
|
||||
PLURALNAME: 'Subsite Domains'
|
||||
SINGULARNAME: 'Subsite Domain'
|
||||
Subsites:
|
||||
DomainFieldLabel: Domain
|
||||
SubsitesVirtualPage:
|
||||
SINGULARNAME: 'Alt Site Sanal Sayfa'
|
||||
|
|
61
lang/zh.yml
61
lang/zh.yml
|
@ -1,4 +1,65 @@
|
|||
zh:
|
||||
SilverStripe\CMS\Model\VirtualPage:
|
||||
EDITCONTENT: 点击这里来编辑内容
|
||||
SilverStripe\Subsites\Admin\SubsiteAdmin:
|
||||
MENUTITLE: 多个子网站
|
||||
SilverStripe\Subsites\Extensions\FileSubsites:
|
||||
has_one_Subsite: 子网站
|
||||
SilverStripe\Subsites\Extensions\FolderFormFactoryExtension:
|
||||
AllSitesDropdownOpt: 所有网站
|
||||
SUBSITENOTICE: 主网站上创建的文件夹和文件可以被所有子网站访问。
|
||||
SubsiteFieldLabel: 子网站
|
||||
SilverStripe\Subsites\Extensions\GroupSubsites:
|
||||
ACCESSALL: 所有子网站
|
||||
ACCESSONLY: 仅这些子网站
|
||||
ACCESSRADIOTITLE: 准许该群进入
|
||||
GlobalGroup: 全局小组
|
||||
MANAGE_SUBSITES: 管理小组的子网站
|
||||
MANAGE_SUBSITES_HELP: 能够将权限限制在一个小组、一个或多个子网站。
|
||||
SECURITYTABTITLE: 多个子网站
|
||||
many_many_Subsites: 多个子网站
|
||||
SilverStripe\Subsites\Extensions\LeftAndMainSubsites:
|
||||
Saved: 已保存,请更新相关的页面。
|
||||
SilverStripe\Subsites\Extensions\SiteConfigSubsites:
|
||||
has_one_Subsite: 子网站
|
||||
SilverStripe\Subsites\Extensions\SiteTreeSubsites:
|
||||
CopyAction: 复制
|
||||
CopyToSubsite: 将页面复制到子网站
|
||||
has_one_Subsite: 子网站
|
||||
SilverStripe\Subsites\Model\Subsite:
|
||||
ConfigurationTab: 配置
|
||||
CopyMessage: '已创建一个 {title} 的副本'
|
||||
CustomExtraMeta: 自定义Meta标签
|
||||
CustomMetaDescription: 描述
|
||||
CustomMetaKeywords: 关键词
|
||||
CustomMetaTitle: 题目
|
||||
PLURALNAME: 多个子网站
|
||||
PageTypeBlacklistField: 禁止页面类型?
|
||||
SINGULARNAME: 子网站
|
||||
SiteConfigSubtitle: 您的标语在这里
|
||||
SiteConfigTitle: 您的网站名称
|
||||
ValidateTitle: 请添加一个“标题”
|
||||
belongs_many_many_Groups: 群组
|
||||
db_DefaultSite: 默认网站
|
||||
db_Language: 语言
|
||||
db_RedirectURL: '重定向 URL'
|
||||
db_Theme: 主题
|
||||
db_Title: 题目
|
||||
has_many_Domains: 域名
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
DOMAIN: 域名
|
||||
PLURALNAME: 多个子网站域名
|
||||
SINGULARNAME: 子网站域名
|
||||
db_Domain: 域名
|
||||
has_one_Subsite: 子网站
|
||||
SilverStripe\Subsites\Pages\SubsitesVirtualPage:
|
||||
DESCRIPTION: 显示另一个子网站上一个页面的内容
|
||||
PLURALNAME: 基本页面
|
||||
SINGULARNAME: 子网站虚拟页面
|
||||
SubsiteField: 子网站
|
||||
SilverStripe\Subsites\Reports\SubsiteReportWrapper:
|
||||
ReportDropdown: 网站
|
||||
ReportDropdownSubsite: 子网站
|
||||
Subsite:
|
||||
COPYSTRUCTURE: 复制结构来自:
|
||||
NOTEMPLATE: 没有模板
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit bootstrap="vendor/silverstripe/cms/tests/bootstrap.php" colors="true">
|
||||
<testsuites>
|
||||
<testsuite name="Default">
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
|
||||
namespace SilverStripe\Subsites\Extensions;
|
||||
|
||||
use SilverStripe\Control\HTTP;
|
||||
use SilverStripe\ORM\DataExtension;
|
||||
|
||||
/**
|
||||
* Extension for the BaseElement object to add subsites support for CMS previews
|
||||
*/
|
||||
class BaseElementSubsites extends DataExtension
|
||||
{
|
||||
/**
|
||||
* Set SubsiteID to avoid errors when a page doesn't exist on the CMS domain.
|
||||
*
|
||||
* @param string &$link
|
||||
* @param string|null $action
|
||||
* @return string
|
||||
*/
|
||||
public function updatePreviewLink(&$link)
|
||||
{
|
||||
// Get subsite ID from the element or from its page. Defaults to 0 automatically.
|
||||
$subsiteID = $this->owner->SubsiteID;
|
||||
if (is_null($subsiteID)) {
|
||||
$page = $this->owner->getPage();
|
||||
if ($page) {
|
||||
$subsiteID = $page->SubsiteID;
|
||||
}
|
||||
}
|
||||
|
||||
$link = HTTP::setGetVar('SubsiteID', intval($subsiteID), $link);
|
||||
}
|
||||
}
|
|
@ -77,8 +77,8 @@ class FileSubsites extends DataExtension
|
|||
break;
|
||||
}
|
||||
|
||||
$sect = array_values($query->getSelect());
|
||||
$isCounting = strpos($sect[0], 'COUNT') !== false;
|
||||
$sect = array_values($query->getSelect() ?? []);
|
||||
$isCounting = strpos($sect[0] ?? '', 'COUNT') !== false;
|
||||
|
||||
// Ordering when deleting or counting doesn't apply
|
||||
if (!$isCounting) {
|
||||
|
@ -116,9 +116,9 @@ class FileSubsites extends DataExtension
|
|||
}
|
||||
|
||||
// Check the CMS_ACCESS_SecurityAdmin privileges on the subsite that owns this group
|
||||
$subsiteID = SubsiteState::singleton()->getSubsiteId();
|
||||
if ($subsiteID && $subsiteID == $this->owner->SubsiteID) {
|
||||
return true;
|
||||
$currentSubsiteID = SubsiteState::singleton()->getSubsiteId();
|
||||
if ($currentSubsiteID && $currentSubsiteID !== $this->owner->SubsiteID) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return SubsiteState::singleton()->withState(function (SubsiteState $newState) use ($member) {
|
||||
|
|
|
@ -106,7 +106,7 @@ class GroupSubsites extends DataExtension implements PermissionProvider
|
|||
$subsiteMap
|
||||
));
|
||||
} else {
|
||||
if (sizeof($subsiteMap) <= 1) {
|
||||
if (sizeof($subsiteMap ?? []) <= 1) {
|
||||
$fields->addFieldToTab('Root.Subsites', new ReadonlyField(
|
||||
'SubsitesHuman',
|
||||
_t(__CLASS__ . '.ACCESSRADIOTITLE', 'Give this group access to'),
|
||||
|
@ -133,10 +133,10 @@ class GroupSubsites extends DataExtension implements PermissionProvider
|
|||
{
|
||||
if ($this->owner->AccessAllSubsites) {
|
||||
$title = _t(__CLASS__ . '.GlobalGroup', 'global group');
|
||||
$title = htmlspecialchars($this->owner->Title, ENT_QUOTES) . ' <i>(' . $title . ')</i>';
|
||||
$title = htmlspecialchars($this->owner->Title ?? '', ENT_QUOTES) . ' <i>(' . $title . ')</i>';
|
||||
} else {
|
||||
$subsites = Convert::raw2xml(implode(', ', $this->owner->Subsites()->column('Title')));
|
||||
$title = htmlspecialchars($this->owner->Title) . " <i>($subsites)</i>";
|
||||
$title = htmlspecialchars($this->owner->Title ?? '') . " <i>($subsites)</i>";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -168,10 +168,10 @@ class GroupSubsites extends DataExtension implements PermissionProvider
|
|||
$hasGroupSubsites = false;
|
||||
foreach ($query->getFrom() as $item) {
|
||||
if ((is_array($item) && strpos(
|
||||
$item['table'],
|
||||
$item['table'] ?? '',
|
||||
'Group_Subsites'
|
||||
) !== false) || (!is_array($item) && strpos(
|
||||
$item,
|
||||
$item ?? '',
|
||||
'Group_Subsites'
|
||||
) !== false)
|
||||
) {
|
||||
|
@ -227,7 +227,7 @@ class GroupSubsites extends DataExtension implements PermissionProvider
|
|||
|
||||
// We are allowed to access this site if at we have CMS_ACCESS_SecurityAdmin permission on
|
||||
// at least one of the sites
|
||||
return (bool)array_intersect($accessibleSites, $linkedSites);
|
||||
return (bool)array_intersect($accessibleSites ?? [], $linkedSites);
|
||||
}
|
||||
|
||||
public function providePermissions()
|
||||
|
|
|
@ -41,9 +41,9 @@ class LeftAndMainSubsites extends LeftAndMainExtension
|
|||
|
||||
public function init()
|
||||
{
|
||||
Requirements::css('silverstripe/subsites:css/LeftAndMain_Subsites.css');
|
||||
Requirements::javascript('silverstripe/subsites:javascript/LeftAndMain_Subsites.js');
|
||||
Requirements::javascript('silverstripe/subsites:javascript/VirtualPage_Subsites.js');
|
||||
Requirements::css('silverstripe/subsites:client/css/LeftAndMain_Subsites.css');
|
||||
Requirements::javascript('silverstripe/subsites:client/javascript/LeftAndMain_Subsites.js');
|
||||
Requirements::javascript('silverstripe/subsites:client/javascript/VirtualPage_Subsites.js');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -118,7 +118,7 @@ class LeftAndMainSubsites extends LeftAndMainExtension
|
|||
// Find sites that satisfy all codes conjuncitvely.
|
||||
$accessibleSites = new ArrayList();
|
||||
foreach ($codesPerSite as $siteID => $siteCodes) {
|
||||
if (count($siteCodes) == count($codes)) {
|
||||
if (count($siteCodes ?? []) == count($codes ?? [])) {
|
||||
$accessibleSites->push($sitesArray[$siteID]);
|
||||
}
|
||||
}
|
||||
|
@ -150,7 +150,7 @@ class LeftAndMainSubsites extends LeftAndMainExtension
|
|||
return false;
|
||||
}
|
||||
|
||||
Requirements::javascript('silverstripe/subsites:javascript/LeftAndMain_Subsites.js');
|
||||
Requirements::javascript('silverstripe/subsites:client/javascript/LeftAndMain_Subsites.js');
|
||||
|
||||
$output = ArrayList::create();
|
||||
|
||||
|
@ -169,7 +169,7 @@ class LeftAndMainSubsites extends LeftAndMainExtension
|
|||
|
||||
public function alternateMenuDisplayCheck($controllerName)
|
||||
{
|
||||
if (!class_exists($controllerName)) {
|
||||
if (!class_exists($controllerName ?? '')) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -369,7 +369,7 @@ class LeftAndMainSubsites extends LeftAndMainExtension
|
|||
}
|
||||
|
||||
// We have not found any accessible section or subsite. User should be denied access.
|
||||
return Security::permissionFailure($this->owner);
|
||||
// This is handled already by LeftAndMain thanks to alternateAccessCheck
|
||||
}
|
||||
|
||||
// Current site is accessible. Allow through.
|
||||
|
@ -387,7 +387,7 @@ class LeftAndMainSubsites extends LeftAndMainExtension
|
|||
if ($record->hasMethod('NormalRelated') && ($record->NormalRelated() || $record->ReverseRelated())) {
|
||||
$this->owner->response->addHeader(
|
||||
'X-Status',
|
||||
rawurlencode(_t(__CLASS__ . '.Saved', 'Saved, please update related pages.'))
|
||||
rawurlencode(_t(__CLASS__ . '.Saved', 'Saved, please update related pages.') ?? '')
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ class SiteConfigSubsites extends DataExtension
|
|||
}
|
||||
$regexp = '/^(.*\.)?("|`)?SubsiteID("|`)?\s?=/';
|
||||
foreach ($query->getWhereParameterised($parameters) as $predicate) {
|
||||
if (preg_match($regexp, $predicate)) {
|
||||
if (preg_match($regexp ?? '', $predicate ?? '')) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ class SiteConfigSubsites extends DataExtension
|
|||
}
|
||||
|
||||
$froms = $query->getFrom();
|
||||
$froms = array_keys($froms);
|
||||
$froms = array_keys($froms ?? []);
|
||||
$tableName = array_shift($froms);
|
||||
if ($tableName !== SiteConfig::getSchema()->tableName(SiteConfig::class)) {
|
||||
return;
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace SilverStripe\Subsites\Extensions;
|
||||
|
||||
use SilverStripe\Dev\Deprecation;
|
||||
use Page;
|
||||
use SilverStripe\CMS\Forms\SiteTreeURLSegmentField;
|
||||
use SilverStripe\CMS\Model\SiteTree;
|
||||
|
@ -29,6 +30,7 @@ use SilverStripe\Subsites\Model\Subsite;
|
|||
use SilverStripe\Subsites\Service\ThemeResolver;
|
||||
use SilverStripe\Subsites\State\SubsiteState;
|
||||
use SilverStripe\View\SSViewer;
|
||||
use SilverStripe\VersionedAdmin\Controllers\HistoryViewerController;
|
||||
|
||||
/**
|
||||
* Extension for the SiteTree object to add subsites support
|
||||
|
@ -90,7 +92,7 @@ class SiteTreeSubsites extends DataExtension
|
|||
foreach ($query->getFrom() as $tableName => $info) {
|
||||
// The tableName should be SiteTree or SiteTree_Live...
|
||||
$siteTreeTableName = SiteTree::getSchema()->tableName(SiteTree::class);
|
||||
if (strpos($tableName, $siteTreeTableName) === false) {
|
||||
if (strpos($tableName ?? '', $siteTreeTableName ?? '') === false) {
|
||||
break;
|
||||
}
|
||||
$query->addWhere("\"$tableName\".\"SubsiteID\" IN ($subsiteID)");
|
||||
|
@ -117,10 +119,12 @@ class SiteTreeSubsites extends DataExtension
|
|||
$subsitesMap = new Map(ArrayList::create());
|
||||
}
|
||||
|
||||
$viewingPageHistory = Controller::has_curr() && Controller::curr() instanceof HistoryViewerController;
|
||||
|
||||
// Master page edit field (only allowed from default subsite to avoid inconsistent relationships)
|
||||
$isDefaultSubsite = $this->owner->SubsiteID == 0 || $this->owner->Subsite()->DefaultSite;
|
||||
|
||||
if ($isDefaultSubsite && $subsitesMap->count()) {
|
||||
if ($isDefaultSubsite && $subsitesMap->count() && !$viewingPageHistory) {
|
||||
$fields->addFieldToTab(
|
||||
'Root.Main',
|
||||
ToggleCompositeField::create(
|
||||
|
@ -244,6 +248,7 @@ class SiteTreeSubsites extends DataExtension
|
|||
*/
|
||||
public function duplicateToSubsite($subsiteID = null, $includeChildren = false)
|
||||
{
|
||||
/** @var SiteTree|SiteTreeSubsites */
|
||||
$clone = $this->owner->duplicateToSubsitePrep($subsiteID, $includeChildren);
|
||||
$clone->invokeWithExtensions('onBeforeDuplicateToSubsite', $this->owner);
|
||||
|
||||
|
@ -266,7 +271,9 @@ class SiteTreeSubsites extends DataExtension
|
|||
* It may be that some relations are not diostinct to sub site so can stay
|
||||
* whereas others may need to be duplicated
|
||||
*
|
||||
* @deprecated 2.2..3.0 Use the "cascade_duplicates" config API instead
|
||||
* This was originally deprecated - Use the "cascade_duplicates" config API instead
|
||||
* Ideally this would be re-deprecated
|
||||
*
|
||||
* @param SiteTree $originalPage
|
||||
*/
|
||||
public function duplicateSubsiteRelations($originalPage)
|
||||
|
@ -341,7 +348,7 @@ class SiteTreeSubsites extends DataExtension
|
|||
}
|
||||
|
||||
// Return true if they have access to this object's site
|
||||
if (!(in_array(0, $goodSites) || in_array($subsiteID, $goodSites))) {
|
||||
if (!(in_array(0, $goodSites ?? []) || in_array($subsiteID, $goodSites ?? []))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -398,7 +405,13 @@ class SiteTreeSubsites extends DataExtension
|
|||
SSViewer::set_themes(ThemeResolver::singleton()->getThemeList($subsite));
|
||||
}
|
||||
|
||||
if ($subsite && i18n::getData()->validate($subsite->Language)) {
|
||||
$ignore_subsite_locale = Config::inst()->get(self::class, 'ignore_subsite_locale');
|
||||
|
||||
if (!$ignore_subsite_locale
|
||||
&& $subsite
|
||||
&& $subsite->Language
|
||||
&& i18n::getData()->validate($subsite->Language)
|
||||
) {
|
||||
i18n::set_locale($subsite->Language);
|
||||
}
|
||||
}
|
||||
|
@ -413,7 +426,7 @@ class SiteTreeSubsites extends DataExtension
|
|||
// This helps deal with Link() returning an absolute URL.
|
||||
$url = Director::absoluteURL($this->owner->Link($action));
|
||||
if ($this->owner->SubsiteID) {
|
||||
$url = preg_replace('/\/\/[^\/]+\//', '//' . $this->owner->Subsite()->domain() . '/', $url);
|
||||
$url = preg_replace('/\/\/[^\/]+\//', '//' . $this->owner->Subsite()->domain() . '/', $url ?? '');
|
||||
}
|
||||
return $url;
|
||||
}
|
||||
|
@ -438,13 +451,14 @@ class SiteTreeSubsites extends DataExtension
|
|||
* This function is marked as deprecated for removal in 5.0.0 in silverstripe/cms
|
||||
* so now simply passes execution to where the functionality exists for backwards compatiblity.
|
||||
* CMS 4.0.0 SiteTree already throws a SilverStripe deprecation error before calling this function.
|
||||
* @deprecated 2.2...3.0 use updatePreviewLink instead
|
||||
* @deprecated 2.2.0 Use updatePreviewLink() instead
|
||||
*
|
||||
* @param string|null $action
|
||||
* @return string
|
||||
*/
|
||||
public function alternatePreviewLink($action = null)
|
||||
{
|
||||
Deprecation::notice('2.2.0', 'Use updatePreviewLink() instead');
|
||||
$link = '';
|
||||
return $this->updatePreviewLink($link, $action);
|
||||
}
|
||||
|
@ -471,11 +485,13 @@ class SiteTreeSubsites extends DataExtension
|
|||
|
||||
if ($links) {
|
||||
foreach ($links as $link) {
|
||||
if (substr($link, 0, strlen('http://')) == 'http://') {
|
||||
$withoutHttp = substr($link, strlen('http://'));
|
||||
if (strpos($withoutHttp, '/') && strpos($withoutHttp, '/') < strlen($withoutHttp)) {
|
||||
$domain = substr($withoutHttp, 0, strpos($withoutHttp, '/'));
|
||||
$rest = substr($withoutHttp, strpos($withoutHttp, '/') + 1);
|
||||
if (substr($link ?? '', 0, strlen('http://')) == 'http://') {
|
||||
$withoutHttp = substr($link ?? '', strlen('http://'));
|
||||
if (strpos($withoutHttp ?? '', '/') &&
|
||||
strpos($withoutHttp ?? '', '/') < strlen($withoutHttp ?? '')
|
||||
) {
|
||||
$domain = substr($withoutHttp ?? '', 0, strpos($withoutHttp ?? '', '/'));
|
||||
$rest = substr($withoutHttp ?? '', strpos($withoutHttp ?? '', '/') + 1);
|
||||
|
||||
$subsiteID = Subsite::getSubsiteIDForDomain($domain);
|
||||
if ($subsiteID == 0) {
|
||||
|
@ -548,9 +564,9 @@ class SiteTreeSubsites extends DataExtension
|
|||
$subsite = Subsite::currentSubsite();
|
||||
if ($subsite && $subsite->exists() && $subsite->PageTypeBlacklist) {
|
||||
// SS 4.1: JSON encoded. SS 4.0, comma delimited
|
||||
$blacklist = json_decode($subsite->PageTypeBlacklist, true);
|
||||
$blacklist = json_decode($subsite->PageTypeBlacklist ?? '', true);
|
||||
if ($blacklist === false) {
|
||||
$blacklist = explode(',', $subsite->PageTypeBlacklist);
|
||||
$blacklist = explode(',', $subsite->PageTypeBlacklist ?? '');
|
||||
}
|
||||
|
||||
if (in_array(get_class($this->owner), (array) $blacklist)) {
|
||||
|
|
|
@ -38,7 +38,7 @@ class SubsitesTreeDropdownField extends TreeDropdownField
|
|||
{
|
||||
$html = parent::Field($properties);
|
||||
|
||||
Requirements::javascript('silverstripe/subsites:javascript/SubsitesTreeDropdownField.js');
|
||||
Requirements::javascript('silverstripe/subsites:client/javascript/SubsitesTreeDropdownField.js');
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ class WildcardDomainField extends TextField
|
|||
*/
|
||||
public function checkHostname($hostname)
|
||||
{
|
||||
return (bool)preg_match('/^([a-z0-9\*]+[\-\.\:])*([a-z0-9\*]+)$/', $hostname);
|
||||
return (bool)preg_match('/^([a-z0-9\*]+[\-\.\:])*([a-z0-9\*]+)$/', $hostname ?? '');
|
||||
}
|
||||
|
||||
public function Type()
|
||||
|
|
|
@ -69,9 +69,9 @@ class InitStateMiddleware implements HTTPMiddleware
|
|||
{
|
||||
$adminPaths = static::config()->get('admin_url_paths');
|
||||
$adminPaths[] = AdminRootController::admin_url();
|
||||
$currentPath = rtrim($request->getURL(), '/') . '/';
|
||||
$currentPath = rtrim($request->getURL() ?? '', '/') . '/';
|
||||
foreach ($adminPaths as $adminPath) {
|
||||
if (substr($currentPath, 0, strlen($adminPath)) === $adminPath) {
|
||||
if (substr($currentPath ?? '', 0, strlen($adminPath ?? '')) === $adminPath) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ class Subsite extends DataObject
|
|||
* Allows you to force a specific subsite ID, or comma separated list of IDs.
|
||||
* Only works for reading. An object cannot be written to more than 1 subsite.
|
||||
*
|
||||
* @deprecated 2.0.0..3.0.0 Use SubsiteState::singleton()->withState() instead.
|
||||
* @deprecated 2.0.0 Use SubsiteState::singleton()->withState() instead.
|
||||
*/
|
||||
public static $force_subsite = null;
|
||||
|
||||
|
@ -201,11 +201,11 @@ class Subsite extends DataObject
|
|||
*
|
||||
* @return int ID of the current subsite instance
|
||||
*
|
||||
* @deprecated 2.0..3.0 Use SubsiteState::singleton()->getSubsiteId() instead
|
||||
* @deprecated 2.0.0 Use SubsiteState::singleton()->getSubsiteId() instead
|
||||
*/
|
||||
public static function currentSubsiteID()
|
||||
{
|
||||
Deprecation::notice('3.0', 'Use SubsiteState::singleton()->getSubsiteId() instead');
|
||||
Deprecation::notice('2.0.0', 'Use SubsiteState::singleton()->getSubsiteId() instead');
|
||||
return SubsiteState::singleton()->getSubsiteId();
|
||||
}
|
||||
|
||||
|
@ -259,14 +259,14 @@ class Subsite extends DataObject
|
|||
}
|
||||
|
||||
// Remove ports, we aren't concerned with them in terms of detecting subsites via domains
|
||||
$hostParts = explode(':', $host, 2);
|
||||
$hostParts = explode(':', $host ?? '', 2);
|
||||
$host = reset($hostParts);
|
||||
|
||||
$matchingDomains = null;
|
||||
$cacheKey = null;
|
||||
if ($host) {
|
||||
if (!static::config()->get('strict_subdomain_matching')) {
|
||||
$host = preg_replace('/^www\./', '', $host);
|
||||
$host = preg_replace('/^www\./', '', $host ?? '');
|
||||
}
|
||||
|
||||
$currentUserId = Security::getCurrentUser() ? Security::getCurrentUser()->ID : 0;
|
||||
|
@ -281,7 +281,8 @@ class Subsite extends DataObject
|
|||
|
||||
/** @skipUpgrade */
|
||||
$domainTableName = $schema->tableName(SubsiteDomain::class);
|
||||
if (!in_array($domainTableName, DB::table_list())) {
|
||||
|
||||
if (!DB::get_schema()->hasTable($domainTableName)) {
|
||||
// Table hasn't been created yet. Might be a dev/build, skip.
|
||||
return 0;
|
||||
}
|
||||
|
@ -300,9 +301,9 @@ class Subsite extends DataObject
|
|||
}
|
||||
|
||||
if ($matchingDomains && $matchingDomains->count()) {
|
||||
$subsiteIDs = array_unique($matchingDomains->column('SubsiteID'));
|
||||
$subsiteDomains = array_unique($matchingDomains->column('Domain'));
|
||||
if (sizeof($subsiteIDs) > 1) {
|
||||
$subsiteIDs = array_unique($matchingDomains->column('SubsiteID') ?? []);
|
||||
$subsiteDomains = array_unique($matchingDomains->column('Domain') ?? []);
|
||||
if (sizeof($subsiteIDs ?? []) > 1) {
|
||||
throw new UnexpectedValueException(sprintf(
|
||||
"Multiple subsites match on '%s': %s",
|
||||
$host,
|
||||
|
@ -447,7 +448,7 @@ class Subsite extends DataObject
|
|||
|
||||
// Rationalise member arguments
|
||||
if (!$member) {
|
||||
$member = Member::currentUser();
|
||||
$member = Security::getCurrentUser();
|
||||
}
|
||||
if (!$member) {
|
||||
return new ArrayList();
|
||||
|
@ -576,7 +577,7 @@ class Subsite extends DataObject
|
|||
foreach ($domains as $domain) {
|
||||
$domainStr = $domain->Domain;
|
||||
if (!static::config()->get('strict_subdomain_matching')) {
|
||||
$domainStr = preg_replace('/^www\./', '', $domainStr);
|
||||
$domainStr = preg_replace('/^www\./', '', $domainStr ?? '');
|
||||
}
|
||||
$hostmap[$domainStr] = $subsite->domain();
|
||||
}
|
||||
|
@ -591,8 +592,8 @@ class Subsite extends DataObject
|
|||
$data .= "// Generated by Subsite::writeHostMap() on " . date('d/M/y') . "\n";
|
||||
$data .= '$subsiteHostmap = ' . var_export($hostmap, true) . ';';
|
||||
|
||||
if (is_writable(dirname($file)) || is_writable($file)) {
|
||||
file_put_contents($file, $data);
|
||||
if (is_writable(dirname($file ?? '')) || is_writable($file ?? '')) {
|
||||
file_put_contents($file ?? '', $data);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -623,7 +624,7 @@ class Subsite extends DataObject
|
|||
return false;
|
||||
}
|
||||
|
||||
if (!in_array('ADMIN', $permissionCodes)) {
|
||||
if (!in_array('ADMIN', $permissionCodes ?? [])) {
|
||||
$permissionCodes[] = 'ADMIN';
|
||||
}
|
||||
|
||||
|
@ -798,7 +799,7 @@ class Subsite extends DataObject
|
|||
if ($theme[0] == '.') {
|
||||
continue;
|
||||
}
|
||||
$theme = strtok($theme, '_');
|
||||
$theme = strtok($theme ?? '', '_');
|
||||
$themes[$theme] = $theme;
|
||||
}
|
||||
ksort($themes);
|
||||
|
@ -988,7 +989,7 @@ JS;
|
|||
* when a page, etc, is duplicated
|
||||
*/
|
||||
$stack = [[0, 0]];
|
||||
while (count($stack) > 0) {
|
||||
while (count($stack ?? []) > 0) {
|
||||
list($sourceParentID, $destParentID) = array_pop($stack);
|
||||
$children = Versioned::get_by_stage('Page', 'Live', "\"ParentID\" = $sourceParentID", '');
|
||||
|
||||
|
|
|
@ -190,14 +190,14 @@ class SubsiteDomain extends DataObject
|
|||
|
||||
// If there are wildcards in the primary domain (not recommended), make some
|
||||
// educated guesses about what to replace them with:
|
||||
$domain = preg_replace('/\.\*$/', ".{$currentHost}", $this->Domain);
|
||||
$domain = preg_replace('/\.\*$/', ".{$currentHost}", $this->Domain ?? '');
|
||||
|
||||
// Default to "subsite." prefix for first wildcard
|
||||
// TODO Whats the significance of "subsite" in this context?!
|
||||
$domain = preg_replace('/^\*\./', "subsite.", $domain);
|
||||
$domain = preg_replace('/^\*\./', "subsite.", $domain ?? '');
|
||||
|
||||
// *Only* removes "intermediate" subdomains, so 'subdomain.www.domain.com' becomes 'subdomain.domain.com'
|
||||
$domain = str_replace('.www.', '.', $domain);
|
||||
$domain = str_replace('.www.', '.', $domain ?? '');
|
||||
|
||||
return $domain;
|
||||
}
|
||||
|
|
|
@ -174,7 +174,7 @@ class SubsitesVirtualPage extends VirtualPage
|
|||
}
|
||||
|
||||
foreach (self::$db as $field => $type) {
|
||||
if (in_array($field, $fields)) {
|
||||
if (in_array($field, $fields ?? [])) {
|
||||
unset($fields[array_search($field, $fields)]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,10 +27,10 @@ class SubsiteReportWrapper extends ReportWrapper
|
|||
_t(__CLASS__ . '.ReportDropdown', 'Sites'),
|
||||
$options
|
||||
);
|
||||
$subsiteField->setValue(array_keys($options));
|
||||
$subsiteField->setValue(array_keys($options ?? []));
|
||||
|
||||
// We don't need to make the field editable if only one subsite is available
|
||||
if (sizeof($options) <= 1) {
|
||||
if (sizeof($options ?? []) <= 1) {
|
||||
$subsiteField = $subsiteField->performReadonlyTransformation();
|
||||
}
|
||||
|
||||
|
@ -70,7 +70,7 @@ class SubsiteReportWrapper extends ReportWrapper
|
|||
} else {
|
||||
$subsites = Subsite::accessible_sites('CMS_ACCESS_CMSMain');
|
||||
$options = $subsites->toDropdownMap('ID', 'Title');
|
||||
Subsite::$force_subsite = join(',', array_keys($options));
|
||||
Subsite::$force_subsite = join(',', array_keys($options ?? []));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ class ThemeResolver
|
|||
*/
|
||||
public function getThemeList(Subsite $site)
|
||||
{
|
||||
$themes = array_values(SSViewer::get_themes());
|
||||
$themes = array_values(SSViewer::get_themes() ?? []);
|
||||
$siteTheme = $site->Theme;
|
||||
|
||||
if (!$siteTheme) {
|
||||
|
@ -56,18 +56,18 @@ class ThemeResolver
|
|||
}
|
||||
|
||||
// Ensure themes don't cascade "up" the list
|
||||
$index = array_search($siteTheme, $themes);
|
||||
$index = array_search($siteTheme, $themes ?? []);
|
||||
|
||||
if ($index > 0) {
|
||||
// 4.0 didn't have support for themes in the public webroot
|
||||
$constant = SSViewer::class . '::PUBLIC_THEME';
|
||||
$publicConstantDefined = defined($constant);
|
||||
$publicConstantDefined = defined($constant ?? '');
|
||||
|
||||
// Check if the default is public themes
|
||||
$publicDefault = $publicConstantDefined && $themes[0] === SSViewer::PUBLIC_THEME;
|
||||
|
||||
// Take only those that appear after theme chosen (non-inclusive)
|
||||
$themes = array_slice($themes, $index + 1);
|
||||
$themes = array_slice($themes ?? [], $index + 1);
|
||||
|
||||
// Add back in public
|
||||
if ($publicDefault) {
|
||||
|
@ -94,6 +94,6 @@ class ThemeResolver
|
|||
return null;
|
||||
}
|
||||
|
||||
return array_keys($config);
|
||||
return array_keys($config ?? []);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ namespace SilverStripe\Subsites\State;
|
|||
use SilverStripe\Core\Injector\Injectable;
|
||||
use SilverStripe\Core\Injector\Injector;
|
||||
use SilverStripe\Core\Resettable;
|
||||
use SilverStripe\Dev\Deprecation;
|
||||
|
||||
/**
|
||||
* SubsiteState provides static access to the current state for subsite related data during a request
|
||||
|
@ -48,6 +49,9 @@ class SubsiteState implements Resettable
|
|||
*/
|
||||
public function setSubsiteId($id)
|
||||
{
|
||||
if (!ctype_digit((string) $id) && !is_null($id)) {
|
||||
Deprecation::notice('2.8.0', 'Passing multiple IDs is deprecated, only pass a single ID instead.');
|
||||
}
|
||||
if (is_null($this->originalSubsiteId)) {
|
||||
$this->originalSubsiteId = (int) $id;
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ class SubsiteCopyPagesTask extends BuildTask
|
|||
// issues with having to check whether or not the new parents have been added to the site tree
|
||||
// when a page, etc, is duplicated
|
||||
$stack = [[0, 0]];
|
||||
while (count($stack) > 0) {
|
||||
while (count($stack ?? []) > 0) {
|
||||
list($sourceParentID, $destParentID) = array_pop($stack);
|
||||
|
||||
$children = Versioned::get_by_stage(SiteTree::class, 'Live', "\"ParentID\" = $sourceParentID", '');
|
||||
|
|
|
@ -4,9 +4,25 @@ namespace SilverStripe\Subsites\Tasks;
|
|||
|
||||
use SilverStripe\Dev\Tasks\MigrateFileTask;
|
||||
use SilverStripe\Subsites\Model\Subsite;
|
||||
use SilverStripe\Dev\Deprecation;
|
||||
|
||||
/**
|
||||
* @deprecated 2.8.0 Will be removed without equivalent functionality to replace it
|
||||
*/
|
||||
class SubsiteMigrateFileTask extends MigrateFileTask
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
Deprecation::withNoReplacement(function () {
|
||||
Deprecation::notice(
|
||||
'2.8.0',
|
||||
'Will be removed without equivalent functionality to replace it',
|
||||
Deprecation::SCOPE_CLASS
|
||||
);
|
||||
});
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
public function run($request)
|
||||
{
|
||||
$origDisableSubsiteFilter = Subsite::$disable_subsite_filter;
|
||||
|
|
|
@ -7,8 +7,7 @@ Feature: Create and select a subsite
|
|||
Background:
|
||||
# There's a bug where you need CMS_ACCESS_CMSMain rather than CMS_ACCESS_LeftAndMain permissions to
|
||||
# use subsites as expected
|
||||
# Given the "group" "EDITOR group" has permissions "CMS_ACCESS_LeftAndMain" and "FILE_EDIT_ALL"
|
||||
Given the "group" "EDITOR group" has permissions "CMS_ACCESS_CMSMain" and "CMS_ACCESS_AssetAdmin" and "FILE_EDIT_ALL"
|
||||
Given the "group" "EDITOR" has permissions "CMS_ACCESS_CMSMain" and "CMS_ACCESS_AssetAdmin" and "FILE_EDIT_ALL"
|
||||
And a "page" "My page" with "URLSegment"="my-page", "Content"="My page content"
|
||||
And an "image" "file1.jpg"
|
||||
And an "image" "file2.jpg"
|
||||
|
@ -39,7 +38,7 @@ Feature: Create and select a subsite
|
|||
# Change to Editor user
|
||||
When I go to "/Security/login"
|
||||
And I press the "Log in as someone else" button
|
||||
When I am logged in with "EDITOR" permissions
|
||||
When I am logged in as a member of "EDITOR" group
|
||||
And I go to "admin/pages"
|
||||
|
||||
# Can see main site page on main site
|
||||
|
|
|
@ -7,10 +7,11 @@ Feature: Preview navigation
|
|||
Given a "subsite" "MySubsite"
|
||||
And a "page" "My page" with "URLSegment"="my-page", "Content"="My page content <a name='aname'>aname</a> <a href='[sitetree_link,id=5]'>ahref</a>" and "SubsiteID"="1"
|
||||
And a "page" "Other page" with "URLSegment"="other-page", "Content"="Other page content <a href='[sitetree_link,id=4]'>Goto my page</a>" and "SubsiteID"="1"
|
||||
And the "group" "EDITOR" has permissions "Access to 'Pages' section" and "Access to 'Subsites' section"
|
||||
And I am logged in as a member of "EDITOR" group
|
||||
|
||||
@javascript
|
||||
Scenario: I can navigate the subsite preview
|
||||
Given I am logged in with "ADMIN" permissions
|
||||
When I go to "/admin/pages"
|
||||
And I select "MySubsite" from "SubsitesSelect"
|
||||
And I click on "My page" in the tree
|
||||
|
|
|
@ -6,7 +6,8 @@ Feature: Publish a page
|
|||
Background:
|
||||
Given a "subsite" "Subsite B"
|
||||
And a "page" "My page" with "URLSegment"="my-page", "Content"="My page content"
|
||||
And I am logged in with "ADMIN" permissions
|
||||
And the "group" "EDITOR" has permissions "Access to 'Pages' section" and "Access to 'Subsites' section"
|
||||
And I am logged in as a member of "EDITOR" group
|
||||
Then I go to "admin/pages"
|
||||
|
||||
@javascript
|
||||
|
|
|
@ -24,8 +24,8 @@ class FolderFormFactoryExtensionTest extends SapphireTest
|
|||
'Record' => $folder
|
||||
]);
|
||||
|
||||
$source = array_values($folderForm->Fields()->fieldByName('SubsiteID')->getSource());
|
||||
$result = array_values($source);
|
||||
$source = array_values($folderForm->Fields()->fieldByName('SubsiteID')->getSource() ?? []);
|
||||
$result = array_values($source ?? []);
|
||||
|
||||
$this->assertContains('Main site', $result);
|
||||
$this->assertContains('Subsite A', $result);
|
||||
|
|
|
@ -8,6 +8,7 @@ use SilverStripe\Core\Config\Config;
|
|||
use SilverStripe\Forms\FieldList;
|
||||
use SilverStripe\Subsites\Extensions\FileSubsites;
|
||||
use SilverStripe\Subsites\Model\Subsite;
|
||||
use SilverStripe\Security\Member;
|
||||
|
||||
class FileSubsitesTest extends BaseSubsiteTest
|
||||
{
|
||||
|
@ -65,4 +66,64 @@ class FileSubsitesTest extends BaseSubsiteTest
|
|||
$file->onAfterUpload();
|
||||
$this->assertEquals($folder->SubsiteID, $file->SubsiteID);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider provideTestCanEdit
|
||||
*/
|
||||
public function testCanEdit(
|
||||
string $fileKey,
|
||||
string $memberKey,
|
||||
string $currentSubsiteKey,
|
||||
bool $expected
|
||||
): void {
|
||||
$file = $this->objFromFixture(File::class, $fileKey);
|
||||
$subsiteID = ($currentSubsiteKey === 'mainsite')
|
||||
? 0 : $this->objFromFixture(Subsite::class, $currentSubsiteKey)->ID;
|
||||
$member = $this->objFromFixture(Member::class, $memberKey);
|
||||
Subsite::changeSubsite($subsiteID);
|
||||
$this->assertSame($expected, $file->canEdit($member));
|
||||
}
|
||||
|
||||
public function provideTestCanEdit(): array
|
||||
{
|
||||
$ret = [];
|
||||
$data = [
|
||||
// file
|
||||
'subsite1file' => [
|
||||
// member - has permissions to edit the file
|
||||
'filetestyes' => [
|
||||
// current subite => expected canEdit()
|
||||
'subsite1' => true,
|
||||
'subsite2' => false,
|
||||
'mainsite' => true
|
||||
],
|
||||
// member - does not have permissions to edit the file
|
||||
'filetestno' => [
|
||||
'subsite1' => false,
|
||||
'subsite2' => false,
|
||||
'mainsite' => false
|
||||
],
|
||||
],
|
||||
'mainsitefile' => [
|
||||
'filetestyes' => [
|
||||
'subsite1' => true,
|
||||
'subsite2' => true,
|
||||
'mainsite' => true
|
||||
],
|
||||
'filetestno' => [
|
||||
'subsite1' => false,
|
||||
'subsite2' => false,
|
||||
'mainsite' => false
|
||||
],
|
||||
]
|
||||
];
|
||||
foreach (array_keys($data) as $fileKey) {
|
||||
foreach (array_keys($data[$fileKey]) as $memberKey) {
|
||||
foreach ($data[$fileKey][$memberKey] as $currentSubsiteKey => $expected) {
|
||||
$ret[] = [$fileKey, $memberKey, $currentSubsiteKey, $expected];
|
||||
}
|
||||
}
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,19 +38,19 @@ class LeftAndMainSubsitesTest extends FunctionalTest
|
|||
|
||||
$cmsmain = singleton(CMSMain::class);
|
||||
$subsites = $cmsmain->sectionSites(true, 'Main site', $member);
|
||||
$this->assertDOSEquals([
|
||||
$this->assertListEquals([
|
||||
['Title' => 'Subsite1 Template']
|
||||
], $subsites, 'Lists member-accessible sites for the accessible controller.');
|
||||
|
||||
$assetadmin = singleton(AssetAdmin::class);
|
||||
$subsites = $assetadmin->sectionSites(true, 'Main site', $member);
|
||||
$this->assertDOSEquals([], $subsites, 'Does not list any sites for forbidden controller.');
|
||||
$this->assertListEquals([], $subsites, 'Does not list any sites for forbidden controller.');
|
||||
|
||||
$member = $this->objFromFixture(Member::class, 'editor');
|
||||
|
||||
$cmsmain = singleton(CMSMain::class);
|
||||
$subsites = $cmsmain->sectionSites(true, 'Main site', $member);
|
||||
$this->assertDOSContains([
|
||||
$this->assertListContains([
|
||||
['Title' => 'Main site']
|
||||
], $subsites, 'Includes the main site for members who can access all sites.');
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ use SilverStripe\Core\Convert;
|
|||
use SilverStripe\Core\Injector\Injector;
|
||||
use SilverStripe\ErrorPage\ErrorPage;
|
||||
use SilverStripe\Forms\FieldList;
|
||||
use SilverStripe\i18n\i18n;
|
||||
use SilverStripe\Security\Member;
|
||||
use SilverStripe\SiteConfig\SiteConfig;
|
||||
use SilverStripe\Subsites\Extensions\SiteTreeSubsites;
|
||||
|
@ -191,6 +192,22 @@ class SiteTreeSubsitesTest extends BaseSubsiteTest
|
|||
$this->assertEquals($p2->ID, SiteTree::get_by_link('test-page')->ID);
|
||||
}
|
||||
|
||||
public function testIgnoreSubsiteLocale()
|
||||
{
|
||||
|
||||
$ignore_subsite_locale = Config::inst()->set(SiteTreeSubsites::class, 'ignore_subsite_locale', true);
|
||||
|
||||
$subsitePage = $this->objFromFixture(Page::class, 'subsite_locale_about');
|
||||
Subsite::changeSubsite($subsitePage->SubsiteID);
|
||||
$controller = ModelAsController::controller_for($subsitePage);
|
||||
|
||||
$i18n_locale_before = i18n::get_locale();
|
||||
SiteTree::singleton()->extend('contentcontrollerInit', $controller);
|
||||
$i18n_locale_after = i18n::get_locale();
|
||||
|
||||
$this->assertEquals($i18n_locale_before, $i18n_locale_after);
|
||||
}
|
||||
|
||||
public function testPageTypesBlacklistInClassDropdown()
|
||||
{
|
||||
$this->logInAs('editor');
|
||||
|
@ -274,7 +291,7 @@ class SiteTreeSubsitesTest extends BaseSubsiteTest
|
|||
|
||||
Subsite::changeSubsite($s1);
|
||||
$cmsmain = CMSMain::create();
|
||||
$hints = json_decode($cmsmain->SiteTreeHints(), true);
|
||||
$hints = json_decode($cmsmain->SiteTreeHints() ?? '', true);
|
||||
$classes = $hints['Root']['disallowedChildren'];
|
||||
$this->assertContains(ErrorPage::class, $classes);
|
||||
$this->assertContains(TestClassA::class, $classes);
|
||||
|
@ -285,7 +302,7 @@ class SiteTreeSubsitesTest extends BaseSubsiteTest
|
|||
if ($cmsmain->hasMethod('getHintsCache')) {
|
||||
$cmsmain->getHintsCache()->clear();
|
||||
}
|
||||
$hints = json_decode($cmsmain->SiteTreeHints(), true);
|
||||
$hints = json_decode($cmsmain->SiteTreeHints() ?? '', true);
|
||||
|
||||
$classes = $hints['Root']['disallowedChildren'];
|
||||
$this->assertNotContains(ErrorPage::class, $classes);
|
||||
|
|
|
@ -33,10 +33,10 @@ class SubsiteAdminTest extends FunctionalTest
|
|||
."SilverStripe-Subsites-Model-Subsite/item/$subsite1ID/edit"
|
||||
);
|
||||
$this->assertTrue(
|
||||
strpos($response->getBody(), 'id="Form_ItemEditForm_ID"') !== false,
|
||||
strpos($response->getBody() ?? '', 'id="Form_ItemEditForm_ID"') !== false,
|
||||
'Testing Form_ItemEditForm_ID exists'
|
||||
);
|
||||
$this->assertTrue(strpos($response->getBody(), '<head') !== false, 'Testing <head> exists');
|
||||
$this->assertTrue(strpos($response->getBody() ?? '', '<head') !== false, 'Testing <head> exists');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -350,7 +350,7 @@ class SubsiteTest extends BaseSubsiteTest
|
|||
public function testAllSites()
|
||||
{
|
||||
$subsites = Subsite::all_sites();
|
||||
$this->assertDOSEquals([
|
||||
$this->assertListEquals([
|
||||
['Title' => 'Main site'],
|
||||
['Title' => 'Template'],
|
||||
['Title' => 'Subsite1 Template'],
|
||||
|
@ -360,7 +360,8 @@ class SubsiteTest extends BaseSubsiteTest
|
|||
['Title' => 'Test 3'],
|
||||
['Title' => 'Test Non-SSL'],
|
||||
['Title' => 'Test SSL'],
|
||||
['Title' => 'Test Vagrant VM on port 8080']
|
||||
['Title' => 'Test Vagrant VM on port 8080'],
|
||||
['Title' => 'Locale subsite'],
|
||||
], $subsites, 'Lists all subsites');
|
||||
}
|
||||
|
||||
|
@ -369,7 +370,7 @@ class SubsiteTest extends BaseSubsiteTest
|
|||
$member = $this->objFromFixture(Member::class, 'subsite1member');
|
||||
|
||||
$subsites = Subsite::all_accessible_sites(true, 'Main site', $member);
|
||||
$this->assertDOSEquals([
|
||||
$this->assertListEquals([
|
||||
['Title' => 'Subsite1 Template']
|
||||
], $subsites, 'Lists member-accessible sites.');
|
||||
}
|
||||
|
@ -398,6 +399,7 @@ class SubsiteTest extends BaseSubsiteTest
|
|||
$adminSiteTitles = $adminSites->column('Title');
|
||||
sort($adminSiteTitles);
|
||||
$this->assertEquals([
|
||||
'Locale subsite',
|
||||
'Subsite1 Template',
|
||||
'Subsite2 Template',
|
||||
'Template',
|
||||
|
@ -407,7 +409,7 @@ class SubsiteTest extends BaseSubsiteTest
|
|||
'Test Non-SSL',
|
||||
'Test SSL',
|
||||
'Test Vagrant VM on port 8080'
|
||||
], array_values($adminSiteTitles));
|
||||
], array_values($adminSiteTitles ?? []));
|
||||
|
||||
$member2Sites = Subsite::accessible_sites(
|
||||
'CMS_ACCESS_CMSMain',
|
||||
|
@ -417,7 +419,7 @@ class SubsiteTest extends BaseSubsiteTest
|
|||
);
|
||||
$member2SiteTitles = $member2Sites->column('Title');
|
||||
sort($member2SiteTitles);
|
||||
$this->assertEquals('Subsite1 Template', $member2SiteTitles[0], 'Member can get to subsite via a group role');
|
||||
$this->assertEquals('Subsite1 Template', $member2SiteTitles[1], 'Member can get to subsite via a group role');
|
||||
}
|
||||
|
||||
public function testhasMainSitePermission()
|
||||
|
@ -469,7 +471,7 @@ class SubsiteTest extends BaseSubsiteTest
|
|||
$page1 = new Page();
|
||||
$page1->Title = 'MyAwesomePage';
|
||||
$page1->write();
|
||||
$page1->doPublish();
|
||||
$page1->publishRecursive();
|
||||
$this->assertEquals($page1->SubsiteID, $subsite1->ID);
|
||||
|
||||
// duplicate
|
||||
|
@ -479,7 +481,7 @@ class SubsiteTest extends BaseSubsiteTest
|
|||
$page2 = DataObject::get_one('Page', "\"Title\" = 'MyAwesomePage'");
|
||||
$page2->Title = 'MyNewAwesomePage';
|
||||
$page2->write();
|
||||
$page2->doPublish();
|
||||
$page2->publishRecursive();
|
||||
|
||||
// check change & check change has not affected subiste1
|
||||
$subsite1->activate();
|
||||
|
|
|
@ -18,6 +18,10 @@ SilverStripe\Subsites\Model\Subsite:
|
|||
Title: 'Test Non-SSL'
|
||||
domaintestVagrant:
|
||||
Title: 'Test Vagrant VM on port 8080'
|
||||
subsitelocale:
|
||||
Title: 'Locale subsite'
|
||||
Language: 'nl_NL'
|
||||
|
||||
SilverStripe\Subsites\Model\SubsiteDomain:
|
||||
subsite1:
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.subsite1
|
||||
|
@ -27,6 +31,11 @@ SilverStripe\Subsites\Model\SubsiteDomain:
|
|||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.subsite2
|
||||
Domain: subsite2.*
|
||||
Protocol: automatic
|
||||
subsitelocale:
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.subsitelocale
|
||||
Domain: subsitelocale.*
|
||||
Protocol: automatic
|
||||
IsPrimary: 1
|
||||
dt1a:
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.domaintest1
|
||||
Domain: one.example.org
|
||||
|
@ -118,6 +127,10 @@ Page:
|
|||
Title: 'Contact Us (Subsite 2)'
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.subsite2
|
||||
URLSegment: contact-us
|
||||
subsite_locale_about:
|
||||
Title: 'About Locale'
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.subsitelocale
|
||||
URLSegment: about
|
||||
|
||||
SilverStripe\Security\PermissionRoleCode:
|
||||
roleCode1:
|
||||
|
@ -159,6 +172,10 @@ SilverStripe\Security\Group:
|
|||
Code: subsite1_group_via_role
|
||||
AccessAllSubsites: 1
|
||||
Roles: =>SilverStripe\Security\PermissionRole.role1
|
||||
filetest:
|
||||
Title: filetest
|
||||
Code: filetest
|
||||
AccessAllSubsites: 1
|
||||
SilverStripe\Security\Permission:
|
||||
admin:
|
||||
Code: ADMIN
|
||||
|
@ -193,6 +210,9 @@ SilverStripe\Security\Permission:
|
|||
adminsubsite1:
|
||||
Code: ADMIN
|
||||
GroupID: =>SilverStripe\Security\Group.subsite1admins
|
||||
filetest:
|
||||
Code: CMS_ACCESS_CMSMain
|
||||
GroupID: =>SilverStripe\Security\Group.filetest
|
||||
|
||||
SilverStripe\Security\Member:
|
||||
admin:
|
||||
|
@ -222,7 +242,26 @@ SilverStripe\Security\Member:
|
|||
subsite1member2:
|
||||
Email: subsite1member2@test.com
|
||||
Groups: =>SilverStripe\Security\Group.subsite1_group_via_role
|
||||
filetestyes:
|
||||
Email: filetestyes@test.com
|
||||
Groups: =>SilverStripe\Security\Group.filetest
|
||||
filetestno:
|
||||
Email: filetestno@test.com
|
||||
|
||||
SilverStripe\SiteConfig\SiteConfig:
|
||||
config:
|
||||
CanCreateTopLevelType: LoggedInUsers
|
||||
|
||||
SilverStripe\Assets\File:
|
||||
subsite1file:
|
||||
Name: subsitefile.pdf
|
||||
Title: subsitefile
|
||||
SubsiteID: =>SilverStripe\Subsites\Model\Subsite.subsite1
|
||||
CanEditType: OnlyTheseUsers
|
||||
EditorGroups: =>SilverStripe\Security\Group.filetest
|
||||
mainsitefile:
|
||||
Name: mainsitefile.pdf
|
||||
Title: mainsitefile
|
||||
SubsiteID: 0
|
||||
CanEditType: OnlyTheseUsers
|
||||
EditorGroups: =>SilverStripe\Security\Group.filetest
|
||||
|
|
|
@ -35,8 +35,8 @@ class SubsitesVirtualPageTest extends BaseSubsiteTest
|
|||
$page = $this->objFromFixture(SiteTree::class, 'page1');
|
||||
$fromPath = __DIR__ . '/testscript-test-file.pdf';
|
||||
$destPath = TestAssetStore::getLocalPath($file);
|
||||
Filesystem::makeFolder(dirname($destPath));
|
||||
copy($fromPath, $destPath);
|
||||
Filesystem::makeFolder(dirname($destPath ?? ''));
|
||||
copy($fromPath ?? '', $destPath ?? '');
|
||||
|
||||
// Hack in site link tracking after the fact
|
||||
$page->Content = '<p><img src="' . $file->getURL() . '" data-fileid="' . $file->ID . '" /></p>';
|
||||
|
|
Loading…
Reference in New Issue