Merge branch 'master' of github.com:octobercms/october into develop
This commit is contained in:
commit
109f833617
|
|
@ -1,6 +1,5 @@
|
|||
/bootstrap/compiled.php
|
||||
/vendor
|
||||
composer.lock
|
||||
composer.phar
|
||||
.DS_Store
|
||||
.idea
|
||||
|
|
|
|||
|
|
@ -1,3 +1,6 @@
|
|||
* **Build 305** (2015-10-17)
|
||||
- The Inspector control has been dramatically improved.
|
||||
|
||||
* **Build 304** (2015-10-09)
|
||||
- Added new `where` and `whereComponent` methods for querying CMS template properties.
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ Thank you for your contributions!
|
|||
|
||||
## Reporting a bug with OctoberCMS
|
||||
|
||||
**Please don't use the main Github for reporting bugs with plugins.** If you have found a bug in a plugin, the best place to report it is with the [plugin author](http://octobercms.com/plugins).
|
||||
**Please don't use the main GitHub for reporting bugs with plugins.** If you have found a bug in a plugin, the best place to report it is with the [plugin author](http://octobercms.com/plugins).
|
||||
|
||||
We work hard to process bugs that are reported, to assist with this please ensure the following details are always included:
|
||||
|
||||
|
|
@ -18,9 +18,9 @@ We work hard to process bugs that are reported, to assist with this please ensur
|
|||
|
||||
- **Actual result**: What is the actual result on running above steps i.e. the bug behavior - **include any error messages**.
|
||||
|
||||
#### Here's how to report a bug on Github
|
||||
#### Here's how to report a bug on GitHub
|
||||
|
||||
1. **Register for an account on [Github](https://github.com),** if you don't already have one.
|
||||
1. **Register for an account on [GitHub](https://github.com),** if you don't already have one.
|
||||
|
||||
2. **Search for similar bugs.** Perhaps someone has already reported your issue! If so, please add clarification and/or more information to the **existing** bug.
|
||||
|
||||
|
|
@ -38,11 +38,11 @@ If you wish to contact us privately about any security exploits in OctoberCMS yo
|
|||
|
||||
## Feature requests
|
||||
|
||||
**Please don't use Github issues for suggesting a new feature.** If you have a feature idea, the best place to suggest it is the [OctoberCMS website forum](http://octobercms.com/forum/chan/feature-requests).
|
||||
**Please don't use GitHub issues for suggesting a new feature.** If you have a feature idea, the best place to suggest it is the [OctoberCMS website forum](http://octobercms.com/forum/chan/feature-requests).
|
||||
|
||||
Only use Github if you are planning on contributing a new feature and developing it. If you want to discuss your idea first, before "officially" posting it anywhere, you can always join us on [IRC](http://octobercms.com/chat).
|
||||
Only use GitHub if you are planning on contributing a new feature and developing it. If you want to discuss your idea first, before "officially" posting it anywhere, you can always join us on [IRC](http://octobercms.com/chat).
|
||||
|
||||
#### Github feature requests
|
||||
#### GitHub feature requests
|
||||
|
||||
Feature Requests submitted as GitHub Issues specifically mean *"I'd like to see this feature, I'm going to be working on some code to implement it."* It is more like a Pre-Pull Request, in which a developer signifies that he or she wants to see a feature implemented that they think would be really great, and they're committed to coding it.
|
||||
|
||||
|
|
|
|||
|
|
@ -88,9 +88,9 @@
|
|||
@media all and (max-width:767px){.sweet-alert{width:auto;margin-left:0;margin-right:0;left:15px;right:15px}
|
||||
}
|
||||
.sweet-alert .icon{width:80px;height:80px;border:4px solid gray;border-radius:50%;margin:20px auto;position:relative;box-sizing:content-box}
|
||||
.sweet-alert .icon.error{border-color:#d43f3a}
|
||||
.sweet-alert .icon.error{border-color:#952518}
|
||||
.sweet-alert .icon.error .x-mark{position:relative;display:block}
|
||||
.sweet-alert .icon.error .line{position:absolute;height:5px;width:47px;background-color:#d9534f;display:block;top:37px;border-radius:2px}
|
||||
.sweet-alert .icon.error .line{position:absolute;height:5px;width:47px;background-color:#ab2a1c;display:block;top:37px;border-radius:2px}
|
||||
.sweet-alert .icon.error .line.left{-webkit-transform:rotate(45deg);transform:rotate(45deg);left:17px}
|
||||
.sweet-alert .icon.error .line.right{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);right:16px}
|
||||
.sweet-alert .icon.warning{border-color:#eea236}
|
||||
|
|
@ -99,20 +99,20 @@
|
|||
.sweet-alert .icon.info{border-color:#46b8da}
|
||||
.sweet-alert .icon.info::before{content:"";position:absolute;width:5px;height:29px;left:50%;bottom:17px;border-radius:2px;margin-left:-2px;background-color:#5bc0de}
|
||||
.sweet-alert .icon.info::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;margin-left:-3px;top:19px;background-color:#5bc0de}
|
||||
.sweet-alert .icon.success{border-color:#4cae4c}
|
||||
.sweet-alert .icon.success{border-color:#2b9854}
|
||||
.sweet-alert .icon.success::before,.sweet-alert .icon.success::after{content:'';border-radius:50%;position:absolute;width:60px;height:120px;background:white;-webkit-transform:rotate(45deg);transform:rotate(45deg)}
|
||||
.sweet-alert .icon.success::before{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;transform-origin:60px 60px}
|
||||
.sweet-alert .icon.success::after{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0px 60px;transform-origin:0px 60px}
|
||||
.sweet-alert .icon.success .placeholder{width:80px;height:80px;border:4px solid rgba(92,184,92,0.2);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}
|
||||
.sweet-alert .icon.success .placeholder{width:80px;height:80px;border:4px solid rgba(49,172,95,0.2);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}
|
||||
.sweet-alert .icon.success .fix{width:5px;height:90px;background-color:#f9f9f9;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}
|
||||
.sweet-alert .icon.success .line{height:5px;background-color:#5cb85c;display:block;border-radius:2px;position:absolute;z-index:2}
|
||||
.sweet-alert .icon.success .line{height:5px;background-color:#31ac5f;display:block;border-radius:2px;position:absolute;z-index:2}
|
||||
.sweet-alert .icon.success .line.tip{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}
|
||||
.sweet-alert .icon.success .line.long{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}
|
||||
.sweet-alert .icon.custom{background-size:contain;border-radius:0;border:none;background-position:center center;background-repeat:no-repeat}
|
||||
.sweet-alert .btn-default:focus{border-color:#e3e3e3;outline:0}
|
||||
.sweet-alert .btn-success:focus{border-color:#4cae4c;outline:0}
|
||||
.sweet-alert .btn-success:focus{border-color:#2b9854;outline:0}
|
||||
.sweet-alert .btn-info:focus{border-color:#46b8da;outline:0}
|
||||
.sweet-alert .btn-danger:focus{border-color:#d43f3a;outline:0}
|
||||
.sweet-alert .btn-danger:focus{border-color:#952518;outline:0}
|
||||
.sweet-alert .btn-warning:focus{border-color:#eea236;outline:0}
|
||||
.sweet-alert button::-moz-focus-inner{border:0}
|
||||
.sweet-alert{text-align:right}
|
||||
|
|
|
|||
|
|
@ -912,15 +912,13 @@ class RelationController extends ControllerBehavior
|
|||
$sessionKey = $this->deferredBinding ? $this->relationGetSessionKey(true) : null;
|
||||
|
||||
if ($this->viewMode == 'multi') {
|
||||
|
||||
if ($this->relationType == 'hasMany') {
|
||||
$newModel = $this->relationObject->create($saveData, $sessionKey);
|
||||
}
|
||||
elseif ($this->relationType == 'belongsToMany') {
|
||||
$newModel = $this->relationObject->create($saveData, [], $sessionKey);
|
||||
$newModel = $this->relationModel;
|
||||
$modelsToSave = $this->prepareModelsToSave($newModel, $saveData);
|
||||
foreach ($modelsToSave as $modelToSave) {
|
||||
$modelToSave->save(null, $this->manageWidget->getSessionKey());
|
||||
}
|
||||
|
||||
$newModel->commitDeferred($this->manageWidget->getSessionKey());
|
||||
$this->relationObject->add($newModel, $sessionKey);
|
||||
}
|
||||
elseif ($this->viewMode == 'single') {
|
||||
$newModel = $this->viewModel;
|
||||
|
|
@ -961,8 +959,10 @@ class RelationController extends ControllerBehavior
|
|||
|
||||
if ($this->viewMode == 'multi') {
|
||||
$model = $this->relationModel->find($this->manageId);
|
||||
$model->fill($saveData);
|
||||
$model->save(null, $this->manageWidget->getSessionKey());
|
||||
$modelsToSave = $this->prepareModelsToSave($model, $saveData);
|
||||
foreach ($modelsToSave as $modelToSave) {
|
||||
$modelToSave->save(null, $this->manageWidget->getSessionKey());
|
||||
}
|
||||
}
|
||||
elseif ($this->viewMode == 'single') {
|
||||
$this->viewWidget->setFormValues($saveData);
|
||||
|
|
|
|||
|
|
@ -211,22 +211,35 @@ class ReorderController extends ControllerBehavior
|
|||
*/
|
||||
protected function getRecords()
|
||||
{
|
||||
$model = $this->controller->reorderGetModel();
|
||||
$records = null;
|
||||
$model = $this->controller->reorderGetModel();
|
||||
$query = $model->newQuery();
|
||||
|
||||
$this->controller->reorderExtendQuery($query);
|
||||
|
||||
if ($this->sortMode == 'simple') {
|
||||
$records = $model
|
||||
$records = $query
|
||||
->orderBy($model->getSortOrderColumn())
|
||||
->get()
|
||||
;
|
||||
}
|
||||
elseif ($this->sortMode == 'nested') {
|
||||
$records = $model->getEagerRoot();
|
||||
$records = $query->getNested();
|
||||
}
|
||||
|
||||
return $records;
|
||||
}
|
||||
|
||||
/**
|
||||
* Extend the query used for finding reorder records. Extra conditions
|
||||
* can be applied to the query, for example, $query->withTrashed();
|
||||
* @param October\Rain\Database\Builder $query
|
||||
* @return void
|
||||
*/
|
||||
public function reorderExtendQuery($query)
|
||||
{
|
||||
}
|
||||
|
||||
//
|
||||
// Widgets
|
||||
//
|
||||
|
|
|
|||
|
|
@ -254,6 +254,10 @@ class FormField
|
|||
*/
|
||||
protected function evalConfig($config)
|
||||
{
|
||||
if (is_null($config)) {
|
||||
$config = [];
|
||||
}
|
||||
|
||||
/*
|
||||
* Standard config:property values
|
||||
*/
|
||||
|
|
@ -543,12 +547,65 @@ class FormField
|
|||
* Returns this fields value from a supplied data set, which can be
|
||||
* an array or a model or another generic collection.
|
||||
* @param mixed $data
|
||||
* @param mixed $default
|
||||
* @return mixed
|
||||
*/
|
||||
public function getValueFromData($data, $default = null)
|
||||
{
|
||||
$fieldName = $this->valueFrom ?: $this->fieldName;
|
||||
return $this->getFieldNameFromData($fieldName, $data, $default);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the default value for this field, the supplied data is used
|
||||
* to source data when defaultFrom is specified.
|
||||
* @param mixed $data
|
||||
* @return mixed
|
||||
*/
|
||||
public function getDefaultFromData($data)
|
||||
{
|
||||
if ($this->defaultFrom) {
|
||||
return $this->getFieldNameFromData($this->defaultFrom, $data);
|
||||
}
|
||||
|
||||
if ($this->defaults !== '') {
|
||||
return $this->defaults;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the final model and attribute name of a nested attribute.
|
||||
* Eg: list($model, $attribute) = $this->resolveAttribute('person[phone]');
|
||||
* @param string $attribute.
|
||||
* @return array
|
||||
*/
|
||||
public function resolveModelAttribute($model, $attribute = null)
|
||||
{
|
||||
if ($attribute === null) {
|
||||
$attribute = $this->valueFrom ?: $this->fieldName;
|
||||
}
|
||||
|
||||
$parts = is_array($attribute) ? $attribute : HtmlHelper::nameToArray($attribute);
|
||||
$last = array_pop($parts);
|
||||
|
||||
foreach ($parts as $part) {
|
||||
$model = $model->{$part};
|
||||
}
|
||||
|
||||
return [$model, $last];
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal method to extract the value of a field name from a data set.
|
||||
* @param string $fieldName
|
||||
* @param mixed $data
|
||||
* @param mixed $default
|
||||
* @return mixed
|
||||
*/
|
||||
protected function getFieldNameFromData($fieldName, $data, $default = null)
|
||||
{
|
||||
/*
|
||||
* Array field name, eg: field[key][key2][key3]
|
||||
*/
|
||||
|
|
@ -588,26 +645,4 @@ class FormField
|
|||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the final model and attribute name of a nested attribute.
|
||||
* Eg: list($model, $attribute) = $this->resolveAttribute('person[phone]');
|
||||
* @param string $attribute.
|
||||
* @return array
|
||||
*/
|
||||
public function resolveModelAttribute($model, $attribute = null)
|
||||
{
|
||||
if ($attribute === null) {
|
||||
$attribute = $this->valueFrom ?: $this->fieldName;
|
||||
}
|
||||
|
||||
$parts = is_array($attribute) ? $attribute : HtmlHelper::nameToArray($attribute);
|
||||
$last = array_pop($parts);
|
||||
|
||||
foreach ($parts as $part) {
|
||||
$model = $model->{$part};
|
||||
}
|
||||
|
||||
return [$model, $last];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -113,7 +113,11 @@ abstract class FormWidgetBase extends WidgetBase
|
|||
*/
|
||||
public function getLoadValue()
|
||||
{
|
||||
return $this->formField->getValueFromData($this->data ?: $this->model);
|
||||
$defaultValue = !$this->model->exists
|
||||
? $this->formField->getDefaultFromData($this->data ?: $this->model)
|
||||
: null;
|
||||
|
||||
return $this->formField->getValueFromData($this->data ?: $this->model, $defaultValue);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<?php namespace Backend\FormWidgets;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Backend\Classes\FormWidgetBase;
|
||||
|
||||
/**
|
||||
|
|
@ -53,6 +54,14 @@ class DatePicker extends FormWidgetBase
|
|||
]);
|
||||
|
||||
$this->mode = strtolower($this->mode);
|
||||
|
||||
$this->minDate = is_integer($this->minDate)
|
||||
? Carbon::createFromTimestamp($this->minDate)
|
||||
: Carbon::parse($this->minDate);
|
||||
|
||||
$this->maxDate = is_integer($this->maxDate)
|
||||
? Carbon::createFromTimestamp($this->maxDate)
|
||||
: Carbon::parse($this->maxDate);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ class FileUpload extends FormWidgetBase
|
|||
/*
|
||||
* Decorate each file with thumb and custom download path
|
||||
*/
|
||||
$list->each(function($file){
|
||||
$list->each(function($file) {
|
||||
$this->decorateFileAttributes($file);
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -43,9 +43,9 @@
|
|||
.field-fileupload.style-image-multi .upload-button .upload-button-icon{position:absolute;width:22px;height:22px;top:50%;left:50%;margin-top:-11px;margin-left:-11px}
|
||||
.field-fileupload.style-image-multi .upload-button .upload-button-icon:before{text-align:center;display:block;font-size:22px;height:22px;width:22px;line-height:22px;color:rgba(0,0,0,0.1)}
|
||||
.field-fileupload.style-image-multi .upload-button:hover{border:2px dotted rgba(0,0,0,0.2)}
|
||||
.field-fileupload.style-image-multi .upload-button:hover .upload-button-icon:before{color:#5cb85c;color:rgba(0,0,0,0.2)}
|
||||
.field-fileupload.style-image-multi .upload-button:hover .upload-button-icon:before{color:#31ac5f;color:rgba(0,0,0,0.2)}
|
||||
.field-fileupload.style-image-multi .upload-button:focus{border:2px solid rgba(0,0,0,0.3);background:transparent}
|
||||
.field-fileupload.style-image-multi .upload-button:focus .upload-button-icon:before{color:#5cb85c;color:rgba(0,0,0,0.2)}
|
||||
.field-fileupload.style-image-multi .upload-button:focus .upload-button-icon:before{color:#31ac5f;color:rgba(0,0,0,0.2)}
|
||||
.field-fileupload.style-image-multi .upload-files-container{margin-left:90px}
|
||||
.field-fileupload.style-image-multi .upload-object{background:#fff;border:1px solid #ecf0f1;width:260px}
|
||||
.field-fileupload.style-image-multi .upload-object .progress-bar{display:block;width:100%;overflow:hidden;height:5px;background-color:#f5f5f5;border-radius:2px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);position:absolute;bottom:10px;left:0}
|
||||
|
|
@ -77,9 +77,9 @@
|
|||
.field-fileupload.style-image-single .upload-button .upload-button-icon{position:absolute;width:22px;height:22px;top:50%;left:50%;margin-top:-11px;margin-left:-11px}
|
||||
.field-fileupload.style-image-single .upload-button .upload-button-icon:before{text-align:center;display:block;font-size:22px;height:22px;width:22px;line-height:22px;color:rgba(0,0,0,0.1)}
|
||||
.field-fileupload.style-image-single .upload-button:hover{border:2px dotted rgba(0,0,0,0.2)}
|
||||
.field-fileupload.style-image-single .upload-button:hover .upload-button-icon:before{color:#5cb85c;color:rgba(0,0,0,0.2)}
|
||||
.field-fileupload.style-image-single .upload-button:hover .upload-button-icon:before{color:#31ac5f;color:rgba(0,0,0,0.2)}
|
||||
.field-fileupload.style-image-single .upload-button:focus{border:2px solid rgba(0,0,0,0.3);background:transparent}
|
||||
.field-fileupload.style-image-single .upload-button:focus .upload-button-icon:before{color:#5cb85c;color:rgba(0,0,0,0.2)}
|
||||
.field-fileupload.style-image-single .upload-button:focus .upload-button-icon:before{color:#31ac5f;color:rgba(0,0,0,0.2)}
|
||||
.field-fileupload.style-image-single .upload-object{padding-bottom:66px}
|
||||
.field-fileupload.style-image-single .upload-object .icon-container{border:1px solid #f6f8f9;background:rgba(255,255,255,0.5)}
|
||||
.field-fileupload.style-image-single .upload-object .icon-container.image img{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;display:block;max-width:100%;height:auto;min-height:100px;min-width:100px}
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
<div class="upload-object dz-preview dz-file-preview">
|
||||
<div class="icon-container">
|
||||
<i class="icon-file"></i>
|
||||
<img data-dz-thumbnail />
|
||||
<img data-dz-thumbnail alt="" />
|
||||
</div>
|
||||
<div class="info">
|
||||
<h4 class="filename">
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@
|
|||
<div class="upload-object dz-preview dz-file-preview">
|
||||
<div class="icon-container">
|
||||
<i class="icon-file"></i>
|
||||
<img data-dz-thumbnail />
|
||||
<img data-dz-thumbnail alt="" />
|
||||
</div>
|
||||
<div class="info">
|
||||
<h4 class="filename">
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
<?php foreach ($fileList as $file): ?>
|
||||
<div class="upload-object is-success" data-id="<?= $file->id ?>" data-path="<?= $file->pathUrl ?>">
|
||||
<div class="icon-container image">
|
||||
<img src="<?= $file->thumbUrl ?>" />
|
||||
<img src="<?= $file->thumbUrl ?>" alt="" />
|
||||
</div>
|
||||
<div class="info">
|
||||
<h4 class="filename">
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
<script type="text/template" id="<?= $this->getId('template') ?>">
|
||||
<div class="upload-object dz-preview dz-file-preview">
|
||||
<div class="icon-container image">
|
||||
<img data-dz-thumbnail />
|
||||
<img data-dz-thumbnail alt="" />
|
||||
</div>
|
||||
<div class="info">
|
||||
<h4 class="filename">
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
<?php if ($singleFile): ?>
|
||||
<div class="upload-object is-success" data-id="<?= $singleFile->id ?>" data-path="<?= $singleFile->pathUrl ?>">
|
||||
<div class="icon-container image">
|
||||
<img src="<?= $singleFile->thumbUrl ?>" />
|
||||
<img src="<?= $singleFile->thumbUrl ?>" alt="" />
|
||||
</div>
|
||||
<div class="info">
|
||||
<h4 class="filename">
|
||||
|
|
@ -50,7 +50,7 @@
|
|||
<script type="text/template" id="<?= $this->getId('template') ?>">
|
||||
<div class="upload-object dz-preview dz-file-preview">
|
||||
<div class="icon-container image">
|
||||
<img data-dz-thumbnail style="<?= $cssDimensions ?>" />
|
||||
<img data-dz-thumbnail style="<?= $cssDimensions ?>" alt="" />
|
||||
</div>
|
||||
<div class="info">
|
||||
<h4 class="filename">
|
||||
|
|
|
|||
|
|
@ -119,7 +119,11 @@ return [
|
|||
'setup_title' => 'Listen Setup',
|
||||
'setup_help' => 'Benutzen Sie Checkboxen, um Spalten auszuwählen, welche Sie in den Listen sehen möchten. Sie können die Position der Spalten ändern, indem Sie diese hinauf oder hinunter ziehen.',
|
||||
'records_per_page' => 'Aufzeichnungen pro Seite',
|
||||
'records_per_page_help' => 'Wählen Sie, wieviele Aufzeichnungen pro Seite dargestellt werden sollen. Bitte beachten Sie, dass eine hohe Anzahl pro Seite die Performance negativ beeinflussen kann.'
|
||||
'records_per_page_help' => 'Wählen Sie, wieviele Aufzeichnungen pro Seite dargestellt werden sollen. Bitte beachten Sie, dass eine hohe Anzahl pro Seite die Performance negativ beeinflussen kann.',
|
||||
'delete_selected' => 'Markierte löschen',
|
||||
'delete_selected_empty' => 'Keine Einträge zum Löschen markiert.',
|
||||
'delete_selected_confirm' => 'Markierte Einträge löschen?',
|
||||
'delete_selected_success' => 'Markierte Einträge erfolgreich gelöscht.'
|
||||
],
|
||||
'fileupload' => [
|
||||
'attachment' => 'Anhang',
|
||||
|
|
|
|||
|
|
@ -138,7 +138,9 @@ return [
|
|||
'delete_selected' => 'Delete selected',
|
||||
'delete_selected_empty' => 'There are no selected records to delete.',
|
||||
'delete_selected_confirm' => 'Delete the selected records?',
|
||||
'delete_selected_success' => 'Successfully deleted the selected records.'
|
||||
'delete_selected_success' => 'Successfully deleted the selected records.',
|
||||
'column_switch_true' => 'Yes',
|
||||
'column_switch_false' => 'No'
|
||||
],
|
||||
'fileupload' => [
|
||||
'attachment' => 'Attachment',
|
||||
|
|
|
|||
|
|
@ -139,6 +139,8 @@ return [
|
|||
'delete_selected_empty' => 'Il n’y a aucun enregistrement à supprimer',
|
||||
'delete_selected_confirm' => 'Confirmer la suppression des enregistrements sélectionnés ?',
|
||||
'delete_selected_success' => 'Les enregistrements ont bien été supprimés.',
|
||||
'column_switch_true' => 'Oui',
|
||||
'column_switch_false' => 'Non'
|
||||
],
|
||||
'fileupload' => [
|
||||
'attachment' => 'Pièce jointe',
|
||||
|
|
@ -315,4 +317,4 @@ return [
|
|||
'filter' => [
|
||||
'all' => 'tous'
|
||||
],
|
||||
];
|
||||
];
|
||||
|
|
|
|||
|
|
@ -187,6 +187,7 @@ return [
|
|||
'close' => 'Aizvērt',
|
||||
'confirm' => 'Apstiprināt',
|
||||
'reload' => 'Pārlādēt',
|
||||
'complete' => 'Pabeigt',
|
||||
'ok' => 'OK',
|
||||
'or' => 'vai',
|
||||
'confirm_tab_close' => 'Vai tiešām vēlaties aizvērt šo cilni? Nesaglabātās izmaiņas būs zudušas.',
|
||||
|
|
@ -235,6 +236,10 @@ return [
|
|||
'unlink_name' => "Atsaistīt :name",
|
||||
'unlink_confirm' => "Vai esat pārliecināts?",
|
||||
],
|
||||
'reorder' => [
|
||||
'default_title' => 'Pārkārtot ierakstus',
|
||||
'no_records' => 'Nav pieejami ieraksti, ko pārkārtot.',
|
||||
],
|
||||
'model' => [
|
||||
'name' => 'Modulis',
|
||||
'not_found' => "Modulis ':class' ar ID :id netika atrasts",
|
||||
|
|
@ -259,6 +264,7 @@ return [
|
|||
'code_folding' => 'Koda savilkšana',
|
||||
'word_wrap' => 'Vārdu aplaušana',
|
||||
'highlight_active_line' => 'Iekrāsot aktīvo līniju',
|
||||
'auto_closing' => 'Automātiski aizvērt birkas un īpašos simbolus',
|
||||
'show_invisibles' => 'Rādīt slēptos simbolus',
|
||||
'show_gutter' => 'Rādīt līniju numurus',
|
||||
'theme' => 'Krāsu shēma'
|
||||
|
|
|
|||
|
|
@ -19,6 +19,9 @@ return [
|
|||
'help' => "Du har inte behörighet att visa den här sidan.",
|
||||
'cms_link' => "Gå till CMS backend",
|
||||
],
|
||||
'invalid_token' => [
|
||||
'label' => 'Ogiltig säkerhetstoken'
|
||||
],
|
||||
],
|
||||
'partial' => [
|
||||
'not_found_name' => "En partial med namn ':name' kunde ej hittas",
|
||||
|
|
@ -304,10 +307,10 @@ return [
|
|||
],
|
||||
'access_log' => [
|
||||
'hint' => 'Denna logg visar en lista över lyckade inloggningsförsök till administratrationen. Registret behålls i :days dagar.',
|
||||
'menu_label' => 'Åtkomst logg',
|
||||
'menu_label' => 'Åtkomstlogg',
|
||||
'menu_description' => 'Visa en lista över framgångsrika inloggningar av back-end användare.',
|
||||
'created_at' => 'Dataum och tid',
|
||||
'login' => 'Inlogging',
|
||||
'login' => 'Inloggning',
|
||||
'ip_address' => 'IP adress',
|
||||
'first_name' => 'Förnamn',
|
||||
'last_name' => 'Efternamn',
|
||||
|
|
|
|||
|
|
@ -291,7 +291,7 @@ class Form extends WidgetBase
|
|||
$data = $this->getSaveData();
|
||||
}
|
||||
|
||||
$this->model->fill($data);
|
||||
$this->model->forceFill($data);
|
||||
$this->data = (object) array_merge((array) $this->data, (array) $data);
|
||||
|
||||
foreach ($this->allFields as $field) {
|
||||
|
|
@ -775,17 +775,9 @@ class Form extends WidgetBase
|
|||
$field = $this->allFields[$field];
|
||||
}
|
||||
|
||||
$defaultValue = null;
|
||||
|
||||
if (!$this->model->exists) {
|
||||
if ($field->defaultFrom) {
|
||||
list($model, $attribute) = $field->resolveModelAttribute($this->model, $field->defaultFrom);
|
||||
$defaultValue = $model->{$attribute};
|
||||
}
|
||||
elseif ($field->defaults !== '') {
|
||||
$defaultValue = $field->defaults;
|
||||
}
|
||||
}
|
||||
$defaultValue = !$this->model->exists
|
||||
? $field->getDefaultFromData($this->data)
|
||||
: null;
|
||||
|
||||
return $field->getValueFromData($this->data, $defaultValue);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -878,8 +878,16 @@ class Lists extends WidgetBase
|
|||
*/
|
||||
protected function evalSwitchTypeValue($record, $column, $value)
|
||||
{
|
||||
// return ($value) ? '<i class="icon-check"></i>' : '<i class="icon-times"></i>';
|
||||
return ($value) ? 'Yes' : 'No';
|
||||
$contents = '';
|
||||
|
||||
if ($value) {
|
||||
$contents = Lang::get('backend::lang.list.column_switch_true');
|
||||
}
|
||||
else {
|
||||
$contents = Lang::get('backend::lang.list.column_switch_false');
|
||||
}
|
||||
|
||||
return $contents;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -216,6 +216,7 @@ abstract class ComponentBase extends Extendable
|
|||
* Sets an external property name.
|
||||
* @param string $name Property name
|
||||
* @param string $extName External property name
|
||||
* @return string
|
||||
*/
|
||||
public function setExternalPropertyName($name, $extName)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -976,6 +976,7 @@ class Controller
|
|||
/**
|
||||
* Sets the status code for the current web response.
|
||||
* @param int $code Status code
|
||||
* @return \Cms\Classes\Controller $this
|
||||
*/
|
||||
public function setStatusCode($code)
|
||||
{
|
||||
|
|
@ -1303,6 +1304,10 @@ class Controller
|
|||
$routerParameters = $this->router->getParameters();
|
||||
|
||||
foreach ($properties as $propertyName => $propertyValue) {
|
||||
if (is_array($propertyValue)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$matches = [];
|
||||
if (preg_match('/^\{\{([^\}]+)\}\}$/', $propertyValue, $matches)) {
|
||||
$paramName = trim($matches[1]);
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ class Layout extends CmsCompoundObject
|
|||
/**
|
||||
* Initializes the fallback layout.
|
||||
* @param \Cms\ClassesTheme $theme Specifies a theme the file belongs to.
|
||||
* @return \Cms\Classes\Layout
|
||||
*/
|
||||
public static function initFallback($theme)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -443,7 +443,7 @@ class MediaLibrary
|
|||
/**
|
||||
* Determines if the path should be visible (not ignored).
|
||||
* @param string $path Specifies a path to check.
|
||||
* return boolean Returns TRUE if the path is visible.
|
||||
* @return boolean Returns TRUE if the path is visible.
|
||||
*/
|
||||
protected function isVisible($path)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -265,6 +265,7 @@ return [
|
|||
'multiple_selected' => 'Multiple items selected.',
|
||||
'uploading_file_num' => 'Uploading :number file(s)...',
|
||||
'uploading_complete' => 'Upload complete',
|
||||
'uploading_error' => 'Upload failed',
|
||||
'order_by' => 'Order by',
|
||||
'folder' => 'Folder',
|
||||
'no_files_found' => 'No files found by your request.',
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ return [
|
|||
],
|
||||
'settings_menu' => 'Front-end tema',
|
||||
'settings_menu_description' => 'Förhandsgranska listan av installerade teman och välj ett aktivt tema.',
|
||||
'default_tab' => 'Egenskaper',
|
||||
'name_label' => 'Namn',
|
||||
'name_create_placeholder' => 'Nytt tema namn',
|
||||
'author_label' => 'Författare',
|
||||
|
|
|
|||
|
|
@ -286,7 +286,8 @@ this.dropzone.on('addedfile',this.proxy(this.uploadFileAdded))
|
|||
this.dropzone.on('totaluploadprogress',this.proxy(this.uploadUpdateTotalProgress))
|
||||
this.dropzone.on('queuecomplete',this.proxy(this.uploadQueueComplete))
|
||||
this.dropzone.on('sending',this.proxy(this.uploadSending))
|
||||
this.dropzone.on('error',this.proxy(this.uploadError))}
|
||||
this.dropzone.on('error',this.proxy(this.uploadError))
|
||||
this.dropzone.on('success',this.proxy(this.uploadSuccess))}
|
||||
MediaManager.prototype.destroyUploader=function(){if(!this.dropzone)
|
||||
return
|
||||
this.dropzone.destroy()
|
||||
|
|
@ -299,22 +300,22 @@ MediaManager.prototype.showUploadUi=function(){this.$el.find('[data-control="upl
|
|||
MediaManager.prototype.hideUploadUi=function(){this.$el.find('[data-control="upload-ui"]').addClass('hide')}
|
||||
MediaManager.prototype.uploadUpdateTotalProgress=function(uploadProgress,totalBytes,totalBytesSent){this.setUploadProgress(uploadProgress)
|
||||
var fileNumberLabel=this.$el.get(0).querySelector('[data-label="file-number-and-progress"]'),messageTemplate=fileNumberLabel.getAttribute('data-message-template'),fileNumber=this.dropzone.getUploadingFiles().length+this.dropzone.getQueuedFiles().length
|
||||
if(uploadProgress>=100)
|
||||
uploadProgress=99
|
||||
if(uploadProgress>=100){uploadProgress=99}
|
||||
fileNumberLabel.innerHTML=messageTemplate.replace(':number',fileNumber).replace(':percents',Math.round(uploadProgress)+'%')}
|
||||
MediaManager.prototype.setUploadProgress=function(value){var progresBar=this.$el.get(0).querySelector('[data-control="upload-progress-bar"]')
|
||||
progresBar.setAttribute('style','width: '+value+'%')
|
||||
progresBar.setAttribute('class','progress-bar')}
|
||||
MediaManager.prototype.uploadQueueComplete=function(){var fileNumberLabel=this.$el.get(0).querySelector('[data-label="file-number-and-progress"]'),completeTemplate=fileNumberLabel.getAttribute('data-complete-template'),progresBar=this.$el.get(0).querySelector('[data-control="upload-progress-bar"]')
|
||||
fileNumberLabel.innerHTML=completeTemplate;progresBar.setAttribute('class','progress-bar progress-bar-success')
|
||||
this.$el.find('[data-command="cancel-uploading"]').addClass('hide')
|
||||
MediaManager.prototype.setUploadProgress=function(value){var progressBar=this.$el.get(0).querySelector('[data-control="upload-progress-bar"]')
|
||||
progressBar.setAttribute('style','width: '+value+'%')
|
||||
progressBar.setAttribute('class','progress-bar')}
|
||||
MediaManager.prototype.uploadQueueComplete=function(){this.$el.find('[data-command="cancel-uploading"]').addClass('hide')
|
||||
this.$el.find('[data-command="close-uploader"]').removeClass('hide')
|
||||
this.refresh()}
|
||||
MediaManager.prototype.uploadSending=function(file,xhr,formData){formData.append('path',this.$el.find('[data-type="current-folder"]').val())
|
||||
formData.append('X_OCTOBER_FILEUPLOAD',this.options.uniqueId)}
|
||||
MediaManager.prototype.uploadCancelAll=function(){this.dropzone.removeAllFiles(true)
|
||||
this.hideUploadUi()}
|
||||
MediaManager.prototype.uploadError=function(file,message){$.oc.alert('Error uploading file')}
|
||||
MediaManager.prototype.updateUploadBar=function(templateName,classNames){var fileNumberLabel=this.$el.get(0).querySelector('[data-label="file-number-and-progress"]'),successTemplate=fileNumberLabel.getAttribute('data-'+templateName+'-template'),progressBar=this.$el.get(0).querySelector('[data-control="upload-progress-bar"]')
|
||||
fileNumberLabel.innerHTML=successTemplate;progressBar.setAttribute('class',classNames)}
|
||||
MediaManager.prototype.uploadSuccess=function(){this.updateUploadBar('success','progress-bar progress-bar-success');}
|
||||
MediaManager.prototype.uploadError=function(file,message){this.updateUploadBar('error','progress-bar progress-bar-danger');$.oc.alert('Error uploading file')}
|
||||
MediaManager.prototype.cropSelectedImage=function(callback){var selectedItems=this.getSelectedItems(true)
|
||||
if(selectedItems.length!=1){alert(this.options.selectSingleImage)
|
||||
return}
|
||||
|
|
|
|||
|
|
@ -730,6 +730,7 @@
|
|||
this.dropzone.on('queuecomplete', this.proxy(this.uploadQueueComplete))
|
||||
this.dropzone.on('sending', this.proxy(this.uploadSending))
|
||||
this.dropzone.on('error', this.proxy(this.uploadError))
|
||||
this.dropzone.on('success', this.proxy(this.uploadSuccess))
|
||||
}
|
||||
|
||||
MediaManager.prototype.destroyUploader = function() {
|
||||
|
|
@ -763,31 +764,25 @@
|
|||
messageTemplate = fileNumberLabel.getAttribute('data-message-template'),
|
||||
fileNumber = this.dropzone.getUploadingFiles().length + this.dropzone.getQueuedFiles().length
|
||||
|
||||
// Don't confuse users with displaying 100%
|
||||
// Don't confuse users with displaying 100%
|
||||
// until the operation finishes. We consider the operation
|
||||
// finished when the Dropzone's 'compete' event triggers -
|
||||
// finished when the Dropzone's 'compete' event triggers -
|
||||
// when the response is received from the server.
|
||||
if (uploadProgress >= 100)
|
||||
if (uploadProgress >= 100) {
|
||||
uploadProgress = 99
|
||||
}
|
||||
|
||||
fileNumberLabel.innerHTML = messageTemplate.replace(':number', fileNumber).replace(':percents', Math.round(uploadProgress) + '%')
|
||||
}
|
||||
|
||||
MediaManager.prototype.setUploadProgress = function(value) {
|
||||
var progresBar = this.$el.get(0).querySelector('[data-control="upload-progress-bar"]')
|
||||
|
||||
progresBar.setAttribute('style', 'width: ' + value + '%')
|
||||
progresBar.setAttribute('class', 'progress-bar')
|
||||
var progressBar = this.$el.get(0).querySelector('[data-control="upload-progress-bar"]')
|
||||
|
||||
progressBar.setAttribute('style', 'width: ' + value + '%')
|
||||
progressBar.setAttribute('class', 'progress-bar')
|
||||
}
|
||||
|
||||
MediaManager.prototype.uploadQueueComplete = function() {
|
||||
var fileNumberLabel = this.$el.get(0).querySelector('[data-label="file-number-and-progress"]'),
|
||||
completeTemplate = fileNumberLabel.getAttribute('data-complete-template'),
|
||||
progresBar = this.$el.get(0).querySelector('[data-control="upload-progress-bar"]')
|
||||
|
||||
fileNumberLabel.innerHTML = completeTemplate;
|
||||
progresBar.setAttribute('class', 'progress-bar progress-bar-success')
|
||||
|
||||
this.$el.find('[data-command="cancel-uploading"]').addClass('hide')
|
||||
this.$el.find('[data-command="close-uploader"]').removeClass('hide')
|
||||
|
||||
|
|
@ -804,7 +799,21 @@
|
|||
this.hideUploadUi()
|
||||
}
|
||||
|
||||
MediaManager.prototype.updateUploadBar = function(templateName, classNames) {
|
||||
var fileNumberLabel = this.$el.get(0).querySelector('[data-label="file-number-and-progress"]'),
|
||||
successTemplate = fileNumberLabel.getAttribute('data-' + templateName + '-template'),
|
||||
progressBar = this.$el.get(0).querySelector('[data-control="upload-progress-bar"]')
|
||||
|
||||
fileNumberLabel.innerHTML = successTemplate;
|
||||
progressBar.setAttribute('class', classNames)
|
||||
}
|
||||
|
||||
MediaManager.prototype.uploadSuccess = function() {
|
||||
this.updateUploadBar('success', 'progress-bar progress-bar-success');
|
||||
}
|
||||
|
||||
MediaManager.prototype.uploadError = function(file, message) {
|
||||
this.updateUploadBar('error', 'progress-bar progress-bar-danger');
|
||||
$.oc.alert('Error uploading file')
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,8 @@
|
|||
<h5
|
||||
data-label="file-number-and-progress"
|
||||
data-message-template="<?= e(trans('cms::lang.media.uploading_file_num')) ?> <span>:percents</span>"
|
||||
data-complete-template="<?= e(trans('cms::lang.media.uploading_complete')) ?>"
|
||||
data-success-template="<?= e(trans('cms::lang.media.uploading_complete')) ?>"
|
||||
data-error-template="<?= e(trans('cms::lang.media.uploading_error')) ?>"
|
||||
></h5>
|
||||
|
||||
<div class="progress-controls">
|
||||
|
|
|
|||
|
|
@ -365,8 +365,8 @@ cite{font-style:normal}
|
|||
.text-center{text-align:center}
|
||||
.text-justify{text-align:justify}
|
||||
.text-muted{color:#999999}
|
||||
.text-primary{color:#5fb6f5}
|
||||
a.text-primary:hover{color:#2fa0f2}
|
||||
.text-primary{color:#4da7e8}
|
||||
a.text-primary:hover{color:#2091e2}
|
||||
.text-success{color:#3c763d}
|
||||
a.text-success:hover{color:#2b542c}
|
||||
.text-info{color:#31708f}
|
||||
|
|
@ -375,8 +375,8 @@ a.text-info:hover{color:#245269}
|
|||
a.text-warning:hover{color:#66512c}
|
||||
.text-danger{color:#a94442}
|
||||
a.text-danger:hover{color:#843534}
|
||||
.bg-primary{color:#fff;background-color:#5fb6f5}
|
||||
a.bg-primary:hover{background-color:#2fa0f2}
|
||||
.bg-primary{color:#fff;background-color:#4da7e8}
|
||||
a.bg-primary:hover{background-color:#2091e2}
|
||||
.bg-success{background-color:#dff0d8}
|
||||
a.bg-success:hover{background-color:#c1e2b3}
|
||||
.bg-info{background-color:#d9edf7}
|
||||
|
|
|
|||
|
|
@ -4,26 +4,41 @@ Displays a floating flash message on the screen.
|
|||
|
||||
### Display onload
|
||||
|
||||
<p data-control="flash-message" data-interval="5" class="success">
|
||||
This message is created from a static element. It will go away in 5 seconds.
|
||||
</p>
|
||||
<p data-control="flash-message" data-interval="5" class="success">
|
||||
This message is created from a static element. It will go away in 5 seconds.
|
||||
</p>
|
||||
|
||||
### Trigger
|
||||
|
||||
<p>
|
||||
<a href="#" class="btn btn-primary" onclick="$.oc.flashMsg({text: 'The record has been successfujavascript:;ly saved. This message will go away in 1 second.', 'class': 'success', 'interval': 1}); return false;">
|
||||
Create Success message
|
||||
</a>
|
||||
<a href="#" class="btn btn-primary" onclick="$.oc.flashMsg({text: 'The record has been successfujavascript:;ly saved. This message will go away in 1 second.', 'class': 'success', 'interval': 1}); return false;">
|
||||
Create Success message
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="javascript:;" class="btn btn-danger" onclick="$.oc.flashMsg({text: 'Babam!', 'class': 'error'}); return false;">
|
||||
Create Error message
|
||||
</a>
|
||||
<a href="javascript:;" class="btn btn-danger" onclick="$.oc.flashMsg({text: 'Babam!', 'class': 'error'}); return false;">
|
||||
Create Error message
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="javascript:;" class="btn btn-warning" onclick="$.oc.flashMsg({text: 'Warning! October is too good for this world!', 'class': 'warning'}); return false;">
|
||||
Create Warning message
|
||||
</a>
|
||||
<a href="javascript:;" class="btn btn-warning" onclick="$.oc.flashMsg({text: 'Warning! October is too good for this world!', 'class': 'warning'}); return false;">
|
||||
Create Warning message
|
||||
</a>
|
||||
</p>
|
||||
|
||||
### Data attributes:
|
||||
|
||||
- data-control="flash-message" - enables the flash message plugin
|
||||
- data-interval="2" - the interval to display the message in seconds, optional. Default: 2
|
||||
|
||||
### JavaScript API:
|
||||
|
||||
```js
|
||||
$.oc.flashMsg({
|
||||
'text': 'The record has been successfully saved.',
|
||||
'class': 'success',
|
||||
'interval': 3
|
||||
})
|
||||
```
|
||||
|
|
|
|||
|
|
@ -118,6 +118,3 @@ $('a#someLink').popup({ ajax: 'popup-content.htm' })
|
|||
$('a#someLink').popup({ handler: 'onLoadSomePopup' })
|
||||
$('a#someLink').popup({ handler: 'onLoadSomePopup', extraData: { id: 3 } })
|
||||
```
|
||||
|
||||
### Dependences:
|
||||
- Bootstrap Modal (modal.js)
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* The bar chart plugin.
|
||||
*
|
||||
*
|
||||
* Data attributes:
|
||||
* - data-control="chart-bar" - enables the bar chart plugin
|
||||
* - data-height="200" - optional, height of the graph
|
||||
|
|
@ -9,9 +9,8 @@
|
|||
* JavaScript API:
|
||||
* $('.scoreboard .chart').barChart()
|
||||
*
|
||||
* Dependences:
|
||||
* Dependences:
|
||||
* - Raphaël (raphael-min.js)
|
||||
* - October chart utilities (october.chartutils.js)
|
||||
*/
|
||||
+function ($) { "use strict";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
/*
|
||||
=require ../vendor/raphael/raphael.js
|
||||
=require chart.utils.js
|
||||
=require chart.line.js
|
||||
=require chart.bar.js
|
||||
=require chart.pie.js
|
||||
=require chart.meter.js
|
||||
*/
|
||||
|
|
@ -1,9 +1,3 @@
|
|||
/*
|
||||
=require ../vendor/flot/jquery.flot.js
|
||||
=require ../vendor/flot/jquery.flot.tooltip.js
|
||||
=require ../vendor/flot/jquery.flot.resize.js
|
||||
=require ../vendor/flot/jquery.flot.time.js
|
||||
*/
|
||||
/*
|
||||
* Line Chart Plugin
|
||||
*
|
||||
|
|
@ -21,15 +15,11 @@
|
|||
* JavaScript API:
|
||||
* $('.chart').chartLine({ resetZoomLink:'#reset-zoom' })
|
||||
*
|
||||
*
|
||||
* Dependences:
|
||||
* Dependences:
|
||||
* - Flot (jquery.flot.js)
|
||||
* - Flot Pie (jquery.flot.pie.js)
|
||||
* - Flot Tooltip (jquery.flot.tooltip.js)
|
||||
* - Flot Selection (jquery.flot.selection.js)
|
||||
* - Flot Resize (jquery.flot.resize.js)
|
||||
* - Flot Time (jquery.flot.time.js)
|
||||
* - Flot Order Bars (jquery.orderBars.js)
|
||||
*/
|
||||
|
||||
+function ($) { "use strict";
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
* JavaScript API:
|
||||
* $('.scoreboard .chart').pieChart()
|
||||
*
|
||||
* Dependences:
|
||||
* Dependences:
|
||||
* - Raphaël (raphael-min.js)
|
||||
* - October chart utilities (october.chartutils.js)
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,6 +1,3 @@
|
|||
/*
|
||||
=require checkbox.balloon.js
|
||||
*/
|
||||
/*
|
||||
* Checkbox control
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
/*
|
||||
=require drag.value.js
|
||||
=require drag.sort.js
|
||||
=require drag.scroll.js
|
||||
*/
|
||||
|
|
@ -1,8 +1,3 @@
|
|||
/*
|
||||
=require ../vendor/modernizr/modernizr.js
|
||||
=require ../vendor/mousewheel/mousewheel.js
|
||||
=require foundation.js
|
||||
*/
|
||||
/*
|
||||
* Allows to scroll an element content in the horizontal or horizontal directions. This script doesn't use
|
||||
* absolute positioning and rely on the scrollLeft/scrollTop DHTML properties. The element width should be
|
||||
|
|
@ -31,8 +26,9 @@
|
|||
* - goToStart - moves the scrollable area to the start (left or top)
|
||||
* - goToElement - moves the scrollable area to an element
|
||||
*
|
||||
* Dependences:
|
||||
* - Mouse Wheel plugin (mousewheel.js)
|
||||
* Require:
|
||||
* - modernizr/modernizr
|
||||
* - mousewheel/mousewheel
|
||||
*/
|
||||
+function ($) { "use strict";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
/*
|
||||
=require ../vendor/sortable/jquery-sortable.js
|
||||
*/
|
||||
/*
|
||||
* Sortable plugin.
|
||||
*
|
||||
* - Documentation: ../docs/drag-sort.md
|
||||
* Documentation: ../docs/drag-sort.md
|
||||
*
|
||||
* Require:
|
||||
* - sortable/jquery-sortable
|
||||
*/
|
||||
|
||||
+function ($) { "use strict";
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
/*
|
||||
=require ../vendor/bootstrap/js/dropdown.js
|
||||
*/
|
||||
/*
|
||||
* Dropdown menus.
|
||||
*
|
||||
* This script customizes the Twitter Bootstrap drop-downs.
|
||||
*
|
||||
* Require:
|
||||
* - bootstrap/dropdown
|
||||
*/
|
||||
+function ($) { "use strict";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,3 @@
|
|||
/*
|
||||
=require ../vendor/modernizr/modernizr.js
|
||||
=require ../vendor/mustache/mustache.js
|
||||
=require popover.js
|
||||
*/
|
||||
|
||||
/*
|
||||
* Filter Widget
|
||||
*
|
||||
|
|
@ -16,6 +10,11 @@
|
|||
* Notes:
|
||||
* Ideally this control would not depend on loader or the AJAX framework,
|
||||
* then the Filter widget can use events to handle this business logic.
|
||||
*
|
||||
* Require:
|
||||
* - mustache/mustache
|
||||
* - modernizr/modernizr
|
||||
* - storm/popover
|
||||
*/
|
||||
+function ($) { "use strict";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,10 @@
|
|||
/*
|
||||
=require ../vendor/bootstrap/js/transition.js
|
||||
*/
|
||||
|
||||
/*
|
||||
* The flash message.
|
||||
*
|
||||
* The default hide interval is 2 seconds. The interval option is not required.
|
||||
* The flash message.
|
||||
*
|
||||
* Data attributes API:
|
||||
* <p data-control="flash-message" class="success" data-interval="5">The record has been successfully saved.</p>
|
||||
* Documentation: ../docs/flashmessage.md
|
||||
*
|
||||
* JavaScript API:
|
||||
* $.oc.flashMsg({text: 'The record has been successfully saved.', 'class': 'success', 'interval': 3})
|
||||
* Require:
|
||||
* - bootstrap/transition
|
||||
*/
|
||||
+function ($) { "use strict";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +0,0 @@
|
|||
/*
|
||||
=require foundation.js
|
||||
=require checkbox.js
|
||||
=require select.js
|
||||
*/
|
||||
/*
|
||||
* Form control
|
||||
*
|
||||
*/
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
/*
|
||||
=require foundation.baseclass.js
|
||||
=require foundation.element.js
|
||||
=require foundation.event.js
|
||||
=require foundation.controlutils.js
|
||||
*/
|
||||
|
|
@ -1,6 +1,3 @@
|
|||
/*
|
||||
=require foundation.js
|
||||
*/
|
||||
/*
|
||||
* Hot key binding.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
/*
|
||||
=require input.monitor.js
|
||||
=require input.hotkey.js
|
||||
=require input.preset.js
|
||||
=require input.trigger.js
|
||||
*/
|
||||
|
|
@ -1,6 +1,3 @@
|
|||
/*
|
||||
=require foundation.js
|
||||
*/
|
||||
/*
|
||||
* The form change monitor API.
|
||||
*
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,3 +0,0 @@
|
|||
/*
|
||||
=require list.rowlink.js
|
||||
*/
|
||||
|
|
@ -13,6 +13,9 @@
|
|||
*
|
||||
* The event parameter in the show() method is optional. If it is passed, the initial cursor position
|
||||
* will be loaded from it.
|
||||
*
|
||||
* Require:
|
||||
* - modernizr/modernizr
|
||||
*/
|
||||
+function ($) { "use strict";
|
||||
if ($.oc === undefined)
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
/*
|
||||
=require ../vendor/modernizr/modernizr.js
|
||||
=require loader.base.js
|
||||
=require loader.cursor.js
|
||||
=require loader.stripe.js
|
||||
*/
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
/*
|
||||
=require ../vendor/bootstrap/js/modal.js
|
||||
*/
|
||||
/*
|
||||
* Ajax Popup plugin
|
||||
*
|
||||
* - Documentation: ../docs/popup.md
|
||||
* Documentation: ../docs/popup.md
|
||||
*
|
||||
* Require:
|
||||
* - bootstrap/modal
|
||||
*/
|
||||
|
||||
+function ($) { "use strict";
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
/*
|
||||
=require toolbar.js
|
||||
=require chart.js
|
||||
*/
|
||||
|
|
@ -1,11 +1,9 @@
|
|||
/*
|
||||
=require ../vendor/modernizr/modernizr.js
|
||||
=require ../vendor/select2/js/select2.full.js
|
||||
*/
|
||||
|
||||
/*
|
||||
* Select control
|
||||
*
|
||||
* Require:
|
||||
* - modernizr/modernizr
|
||||
* - select2/select2.full
|
||||
*/
|
||||
|
||||
(function($){
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
/*
|
||||
=require ../vendor/bootstrap/js/transition.js
|
||||
=require ../vendor/bootstrap/js/tab.js
|
||||
=require toolbar.js
|
||||
*/
|
||||
/*
|
||||
* Tab control
|
||||
*
|
||||
* - Documentation: ../docs/tab.md
|
||||
* Documentation: ../docs/tab.md
|
||||
*
|
||||
* Require:
|
||||
* - bootstrap/transition
|
||||
* - bootstrap/tab
|
||||
* - storm/toolbar
|
||||
*/
|
||||
+function ($) { "use strict";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,3 @@
|
|||
/*
|
||||
=require foundation.js
|
||||
=require drag.scroll.js
|
||||
*/
|
||||
|
||||
/*
|
||||
* Toolbar control.
|
||||
*
|
||||
|
|
@ -15,8 +10,8 @@
|
|||
* JavaScript API:
|
||||
* $('#toolbar').toolbar()
|
||||
*
|
||||
* Dependences:
|
||||
* - Drag Scroll (october.dragscroll.js)
|
||||
* Require:
|
||||
* - storm/drag.scroll
|
||||
*/
|
||||
+function ($) { "use strict";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,3 @@
|
|||
/*
|
||||
=require ../vendor/bootstrap/js/transition.js
|
||||
=require ../vendor/bootstrap/js/tooltip.js
|
||||
*/
|
||||
|
||||
/*
|
||||
* Implement the tooltip control automatically
|
||||
*
|
||||
|
|
@ -15,6 +10,10 @@
|
|||
* title="Tooltip content">
|
||||
* Some link
|
||||
* </a>
|
||||
*
|
||||
* Require:
|
||||
* - bootstrap/transition
|
||||
* - bootstrap/tooltip
|
||||
*/
|
||||
|
||||
(function($){
|
||||
|
|
|
|||
|
|
@ -14,13 +14,15 @@
|
|||
.open .dropdown-toggle& {
|
||||
color: @color;
|
||||
background-color: darken(@background, 8%);
|
||||
border-color: darken(@border, 12%);
|
||||
border-color: darken(@border, 12%);
|
||||
}
|
||||
|
||||
&:active,
|
||||
&.active,
|
||||
.open .dropdown-toggle& {
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
&.disabled,
|
||||
&[disabled],
|
||||
fieldset[disabled] & {
|
||||
|
|
@ -30,7 +32,7 @@
|
|||
&:active,
|
||||
&.active {
|
||||
background-color: @background;
|
||||
border-color: @border;
|
||||
border-color: @border;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -112,16 +112,21 @@
|
|||
@size-huge: 250px;
|
||||
@size-giant: 350px;
|
||||
|
||||
|
||||
//
|
||||
// Colors
|
||||
// --------------------------------------------------
|
||||
@color-text-title: #405261;
|
||||
@color-text-description: #8f8f8f;
|
||||
@brand-primary: #4da7e8; // Original was #5fb6f5 -sg
|
||||
@brand-success: #31ac5f;
|
||||
@brand-info: #5bc0de; // @todo Find a non-BS color
|
||||
@brand-warning: #f0ad4e; // @todo Find a non-BS color
|
||||
@brand-danger: #ab2a1c;
|
||||
|
||||
@color-focus: @brand-primary;
|
||||
@color-border: #cccccc;
|
||||
@color-border-light: #e1e1e1;
|
||||
@color-text-title: #405261;
|
||||
@color-text-description: #8f8f8f;
|
||||
|
||||
@color-focus: @brand-primary;
|
||||
@color-border: #cccccc;
|
||||
@color-border-light: #e1e1e1;
|
||||
|
||||
@gray-darker: lighten(#000, 13.5%); // #222
|
||||
@gray-dark: lighten(#000, 20%); // #333
|
||||
|
|
@ -129,27 +134,21 @@
|
|||
@gray-light: lighten(#000, 60%); // #999
|
||||
@gray-lighter: lighten(#000, 93.5%); // #eee
|
||||
|
||||
@brand-primary: #5fb6f5;
|
||||
@brand-success: #5cb85c;
|
||||
@brand-info: #5bc0de;
|
||||
@brand-warning: #f0ad4e;
|
||||
@brand-danger: #d9534f;
|
||||
@state-success-text: #3c763d;
|
||||
@state-success-bg: #dff0d8;
|
||||
@state-success-border: darken(spin(@state-success-bg, -10), 5%);
|
||||
|
||||
@state-success-text: #3c763d;
|
||||
@state-success-bg: #dff0d8;
|
||||
@state-success-border: darken(spin(@state-success-bg, -10), 5%);
|
||||
@state-info-text: #31708f;
|
||||
@state-info-bg: #d9edf7;
|
||||
@state-info-border: darken(spin(@state-info-bg, -10), 7%);
|
||||
|
||||
@state-info-text: #31708f;
|
||||
@state-info-bg: #d9edf7;
|
||||
@state-info-border: darken(spin(@state-info-bg, -10), 7%);
|
||||
@state-warning-text: #8a6d3b;
|
||||
@state-warning-bg: #fcf8e3;
|
||||
@state-warning-border: darken(spin(@state-warning-bg, -10), 5%);
|
||||
|
||||
@state-warning-text: #8a6d3b;
|
||||
@state-warning-bg: #fcf8e3;
|
||||
@state-warning-border: darken(spin(@state-warning-bg, -10), 5%);
|
||||
|
||||
@state-danger-text: #a94442;
|
||||
@state-danger-bg: #f2dede;
|
||||
@state-danger-border: darken(spin(@state-danger-bg, -10), 5%);
|
||||
@state-danger-text: #a94442;
|
||||
@state-danger-bg: #f2dede;
|
||||
@state-danger-border: darken(spin(@state-danger-bg, -10), 5%);
|
||||
|
||||
//
|
||||
// General
|
||||
|
|
|
|||
|
|
@ -1,70 +0,0 @@
|
|||
|
||||
// Bar animations
|
||||
// -------------------------
|
||||
|
||||
// WebKit
|
||||
@-webkit-keyframes progress-bar-stripes {
|
||||
from { background-position: 40px 0; }
|
||||
to { background-position: 0 0; }
|
||||
}
|
||||
|
||||
// Spec and IE10+
|
||||
@keyframes progress-bar-stripes {
|
||||
from { background-position: 40px 0; }
|
||||
to { background-position: 0 0; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Bar itself
|
||||
// -------------------------
|
||||
|
||||
// Outer container
|
||||
.progress {
|
||||
overflow: hidden;
|
||||
height: @line-height-computed;
|
||||
margin-bottom: @line-height-computed;
|
||||
background-color: @progress-bg;
|
||||
border-radius: @border-radius-base;
|
||||
.box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
|
||||
}
|
||||
|
||||
// Bar of progress
|
||||
.progress-bar {
|
||||
float: left;
|
||||
width: 0%;
|
||||
height: 100%;
|
||||
font-size: @font-size-small;
|
||||
line-height: @line-height-computed;
|
||||
color: @progress-bar-color;
|
||||
text-align: center;
|
||||
background-color: @progress-bar-bg;
|
||||
.box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));
|
||||
.transition(width .6s ease);
|
||||
}
|
||||
|
||||
// Call animation for the active one
|
||||
.progress.active .progress-bar {
|
||||
.animation(progress-bar-stripes 2s linear infinite);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Variations
|
||||
// -------------------------
|
||||
|
||||
.progress-bar-success {
|
||||
background-color: @progress-bar-success-bg;
|
||||
}
|
||||
|
||||
.progress-bar-info {
|
||||
background-color: @progress-bar-info-bg;
|
||||
}
|
||||
|
||||
.progress-bar-warning {
|
||||
background-color: @progress-bar-warning-bg;
|
||||
}
|
||||
|
||||
.progress-bar-danger {
|
||||
background-color: @progress-bar-danger-bg;
|
||||
}
|
||||
|
|
@ -8,32 +8,75 @@
|
|||
// Progress bars
|
||||
// --------------------------------------------------
|
||||
|
||||
@import "progressbar.base.less";
|
||||
|
||||
@progress-bg: #f5f5f5;
|
||||
@progress-bg: #d9dee0;
|
||||
@progress-bar-color: #fff;
|
||||
|
||||
@progress-bar-bg: @brand-primary;
|
||||
@progress-bar-bg: #2f99da;
|
||||
@progress-bar-success-bg: @brand-success;
|
||||
@progress-bar-warning-bg: @brand-warning;
|
||||
@progress-bar-danger-bg: @brand-danger;
|
||||
@progress-bar-info-bg: @brand-info;
|
||||
|
||||
// Bar itself
|
||||
// -------------------------
|
||||
|
||||
div.progress {
|
||||
// Outer container
|
||||
.progress {
|
||||
overflow: hidden;
|
||||
height: 9px;
|
||||
.box-shadow(none);
|
||||
background: #d9dee0;
|
||||
margin-bottom: @line-height-computed;
|
||||
background-color: @progress-bg;
|
||||
border-radius: @border-radius-base;
|
||||
}
|
||||
|
||||
// Bar of progress
|
||||
.progress-bar {
|
||||
float: left;
|
||||
width: 0%;
|
||||
height: 100%;
|
||||
font-size: @font-size-small;
|
||||
line-height: 9px;
|
||||
.box-shadow(none);
|
||||
background-color: #2f99da;
|
||||
|
||||
&.progress-bar-success {
|
||||
background-color: #31ac5f;
|
||||
}
|
||||
color: @progress-bar-color;
|
||||
text-align: center;
|
||||
background-color: @progress-bar-bg;
|
||||
.transition(width .6s ease);
|
||||
}
|
||||
|
||||
// Call animation for the active one
|
||||
.progress.active .progress-bar {
|
||||
.animation(progress-bar-stripes 2s linear infinite);
|
||||
}
|
||||
|
||||
// Variations
|
||||
// -------------------------
|
||||
|
||||
.progress-bar-success {
|
||||
background-color: @progress-bar-success-bg;
|
||||
}
|
||||
|
||||
.progress-bar-info {
|
||||
background-color: @progress-bar-info-bg;
|
||||
}
|
||||
|
||||
.progress-bar-warning {
|
||||
background-color: @progress-bar-warning-bg;
|
||||
}
|
||||
|
||||
.progress-bar-danger {
|
||||
background-color: @progress-bar-danger-bg;
|
||||
}
|
||||
|
||||
// Bar animations
|
||||
// -------------------------
|
||||
|
||||
// WebKit
|
||||
@-webkit-keyframes progress-bar-stripes {
|
||||
from { background-position: 40px 0; }
|
||||
to { background-position: 0 0; }
|
||||
}
|
||||
|
||||
// Spec and IE10+
|
||||
@keyframes progress-bar-stripes {
|
||||
from { background-position: 40px 0; }
|
||||
to { background-position: 0 0; }
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -365,8 +365,8 @@ cite{font-style:normal}
|
|||
.text-center{text-align:center}
|
||||
.text-justify{text-align:justify}
|
||||
.text-muted{color:#999999}
|
||||
.text-primary{color:#5fb6f5}
|
||||
a.text-primary:hover{color:#2fa0f2}
|
||||
.text-primary{color:#4da7e8}
|
||||
a.text-primary:hover{color:#2091e2}
|
||||
.text-success{color:#3c763d}
|
||||
a.text-success:hover{color:#2b542c}
|
||||
.text-info{color:#31708f}
|
||||
|
|
@ -375,8 +375,8 @@ a.text-info:hover{color:#245269}
|
|||
a.text-warning:hover{color:#66512c}
|
||||
.text-danger{color:#a94442}
|
||||
a.text-danger:hover{color:#843534}
|
||||
.bg-primary{color:#fff;background-color:#5fb6f5}
|
||||
a.bg-primary:hover{background-color:#2fa0f2}
|
||||
.bg-primary{color:#fff;background-color:#4da7e8}
|
||||
a.bg-primary:hover{background-color:#2091e2}
|
||||
.bg-success{background-color:#dff0d8}
|
||||
a.bg-success:hover{background-color:#c1e2b3}
|
||||
.bg-info{background-color:#d9edf7}
|
||||
|
|
@ -419,16 +419,16 @@ address{margin-bottom:20px;font-style:normal;line-height:1.42857143}
|
|||
.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}
|
||||
.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#e3e3e3;border-color:#e3e3e3}
|
||||
.btn-default .badge{color:#e3e3e3;background-color:#666666}
|
||||
.btn-primary{color:#ffffff;background-color:#5fb6f5;border-color:#47abf4}
|
||||
.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#ffffff;background-color:#39a4f3;border-color:#0f91ee}
|
||||
.btn-primary{color:#ffffff;background-color:#4da7e8;border-color:#369ce5}
|
||||
.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#ffffff;background-color:#2995e3;border-color:#197dc5}
|
||||
.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}
|
||||
.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#5fb6f5;border-color:#47abf4}
|
||||
.btn-primary .badge{color:#5fb6f5;background-color:#ffffff}
|
||||
.btn-success{color:#ffffff;background-color:#5cb85c;border-color:#4cae4c}
|
||||
.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#ffffff;background-color:#47a447;border-color:#398439}
|
||||
.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#4da7e8;border-color:#369ce5}
|
||||
.btn-primary .badge{color:#4da7e8;background-color:#ffffff}
|
||||
.btn-success{color:#ffffff;background-color:#31ac5f;border-color:#2b9854}
|
||||
.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#ffffff;background-color:#288c4d;border-color:#1e693a}
|
||||
.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}
|
||||
.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}
|
||||
.btn-success .badge{color:#5cb85c;background-color:#ffffff}
|
||||
.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#31ac5f;border-color:#2b9854}
|
||||
.btn-success .badge{color:#31ac5f;background-color:#ffffff}
|
||||
.btn-info{color:#ffffff;background-color:#5bc0de;border-color:#46b8da}
|
||||
.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#ffffff;background-color:#39b3d7;border-color:#269abc}
|
||||
.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}
|
||||
|
|
@ -439,11 +439,11 @@ address{margin-bottom:20px;font-style:normal;line-height:1.42857143}
|
|||
.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}
|
||||
.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}
|
||||
.btn-warning .badge{color:#f0ad4e;background-color:#ffffff}
|
||||
.btn-danger{color:#ffffff;background-color:#d9534f;border-color:#d43f3a}
|
||||
.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#ffffff;background-color:#d2322d;border-color:#ac2925}
|
||||
.btn-danger{color:#ffffff;background-color:#ab2a1c;border-color:#952518}
|
||||
.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#ffffff;background-color:#882116;border-color:#601810}
|
||||
.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}
|
||||
.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}
|
||||
.btn-danger .badge{color:#d9534f;background-color:#ffffff}
|
||||
.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#ab2a1c;border-color:#952518}
|
||||
.btn-danger .badge{color:#ab2a1c;background-color:#ffffff}
|
||||
.btn-link{color:#0181b9;font-weight:normal;cursor:pointer;border-radius:0}
|
||||
.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}
|
||||
.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}
|
||||
|
|
@ -1140,7 +1140,7 @@ button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-ap
|
|||
.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}
|
||||
.dropdown-menu > li > a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#39454a;white-space:nowrap}
|
||||
.dropdown-menu > li > a:hover,.dropdown-menu > li > a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}
|
||||
.dropdown-menu > .active > a,.dropdown-menu > .active > a:hover,.dropdown-menu > .active > a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#5fb6f5}
|
||||
.dropdown-menu > .active > a,.dropdown-menu > .active > a:hover,.dropdown-menu > .active > a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#4da7e8}
|
||||
.dropdown-menu > .disabled > a,.dropdown-menu > .disabled > a:hover,.dropdown-menu > .disabled > a:focus{color:#999999}
|
||||
.dropdown-menu > .disabled > a:hover,.dropdown-menu > .disabled > a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}
|
||||
.open > .dropdown-menu{display:block}
|
||||
|
|
@ -1241,22 +1241,19 @@ body.popover-open .control-popover .popover-head:before{display:none}
|
|||
body.breadcrumb-flush .control-breadcrumb,.control-breadcrumb.breadcrumb-flush{margin-bottom:0}
|
||||
body.slim-container .control-breadcrumb{margin-left:0;margin-right:0}
|
||||
body.compact-container .control-breadcrumb{margin-top:0;margin-left:0;margin-right:0}
|
||||
.progress{overflow:hidden;height:9px;margin-bottom:20px;background-color:#d9dee0;border-radius:2px}
|
||||
.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:9px;color:#ffffff;text-align:center;background-color:#2f99da;-webkit-transition:width 0.6s ease;transition:width 0.6s ease}
|
||||
.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}
|
||||
.progress-bar-success{background-color:#31ac5f}
|
||||
.progress-bar-info{background-color:#5bc0de}
|
||||
.progress-bar-warning{background-color:#f0ad4e}
|
||||
.progress-bar-danger{background-color:#ab2a1c}
|
||||
@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}
|
||||
to{background-position:0 0}
|
||||
}
|
||||
@keyframes progress-bar-stripes{from{background-position:40px 0}
|
||||
to{background-position:0 0}
|
||||
}
|
||||
.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:2px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}
|
||||
.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#ffffff;text-align:center;background-color:#5fb6f5;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;transition:width 0.6s ease}
|
||||
.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}
|
||||
.progress-bar-success{background-color:#5cb85c}
|
||||
.progress-bar-info{background-color:#5bc0de}
|
||||
.progress-bar-warning{background-color:#f0ad4e}
|
||||
.progress-bar-danger{background-color:#d9534f}
|
||||
div.progress{height:9px;-webkit-box-shadow:none;box-shadow:none;background:#d9dee0}
|
||||
.progress-bar{line-height:9px;-webkit-box-shadow:none;box-shadow:none;background-color:#2f99da}
|
||||
.progress-bar.progress-bar-success{background-color:#31ac5f}
|
||||
.callout{font-size:14px;margin-bottom:20px}
|
||||
.callout.fade{opacity:0;filter:alpha(opacity=0);-webkit-transition:all 0.5s,width 0s;transition:all 0.5s,width 0s;-webkit-transform:scale(0.9);-ms-transform:scale(0.9);transform:scale(0.9)}
|
||||
.callout.fade.in{opacity:1;filter:alpha(opacity=100);-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}
|
||||
|
|
@ -1320,7 +1317,7 @@ div.progress{height:9px;-webkit-box-shadow:none;box-shadow:none;background:#d9de
|
|||
.nav-pills > li{float:left}
|
||||
.nav-pills > li > a{border-radius:2px}
|
||||
.nav-pills > li + li{margin-left:2px}
|
||||
.nav-pills > li.active > a,.nav-pills > li.active > a:hover,.nav-pills > li.active > a:focus{color:#ffffff;background-color:#5fb6f5}
|
||||
.nav-pills > li.active > a,.nav-pills > li.active > a:hover,.nav-pills > li.active > a:focus{color:#ffffff;background-color:#4da7e8}
|
||||
.nav-stacked > li{float:none}
|
||||
.nav-stacked > li + li{margin-top:2px;margin-left:0}
|
||||
.nav-justified{width:100%}
|
||||
|
|
@ -1372,7 +1369,7 @@ div.progress{height:9px;-webkit-box-shadow:none;box-shadow:none;background:#d9de
|
|||
.control-tabs[data-closable] > ul.nav-tabs > li a,.control-tabs[data-closable] > div > ul.nav-tabs > li a,.control-tabs[data-closable] > div > div > ul.nav-tabs > li a{padding-left:20px !important;padding-right:0 !important}
|
||||
.control-tabs[data-closable] > ul.nav-tabs > li span.tab-close,.control-tabs[data-closable] > div > ul.nav-tabs > li span.tab-close,.control-tabs[data-closable] > div > div > ul.nav-tabs > li span.tab-close{display:block;position:absolute;width:20px;height:20px;top:5px;left:-5px;text-align:right;font-size:12px;color:#cccccc !important;cursor:pointer}
|
||||
.control-tabs[data-closable] > ul.nav-tabs > li span.tab-close i,.control-tabs[data-closable] > div > ul.nav-tabs > li span.tab-close i,.control-tabs[data-closable] > div > div > ul.nav-tabs > li span.tab-close i{display:inline-block;z-index:101;top:-7px;right:5px;position:relative}
|
||||
.control-tabs[data-closable] > ul.nav-tabs > li span.tab-close:hover i,.control-tabs[data-closable] > div > ul.nav-tabs > li span.tab-close:hover i,.control-tabs[data-closable] > div > div > ul.nav-tabs > li span.tab-close:hover i{color:#d9534f}
|
||||
.control-tabs[data-closable] > ul.nav-tabs > li span.tab-close:hover i,.control-tabs[data-closable] > div > ul.nav-tabs > li span.tab-close:hover i,.control-tabs[data-closable] > div > div > ul.nav-tabs > li span.tab-close:hover i{color:#ab2a1c}
|
||||
.control-tabs[data-closable] > ul.nav-tabs > li.active span.close,.control-tabs[data-closable] > div > ul.nav-tabs > li.active span.close,.control-tabs[data-closable] > div > div > ul.nav-tabs > li.active span.close{color:#cccccc}
|
||||
.control-tabs[data-closable] > ul.nav-tabs > li[data-modified] span.tab-close i,.control-tabs[data-closable] > div > ul.nav-tabs > li[data-modified] span.tab-close i,.control-tabs[data-closable] > div > div > ul.nav-tabs > li[data-modified] span.tab-close i{top:-4px}
|
||||
.control-tabs[data-closable] > ul.nav-tabs > li[data-modified] span.tab-close i:before,.control-tabs[data-closable] > div > ul.nav-tabs > li[data-modified] span.tab-close i:before,.control-tabs[data-closable] > div > div > ul.nav-tabs > li[data-modified] span.tab-close i:before{content:"\f111";font-size:9px}
|
||||
|
|
@ -1474,10 +1471,10 @@ ul.status-list li a{color:#7e8c8d}
|
|||
ul.status-list li a:hover{color:#0181b9;text-decoration:none}
|
||||
ul.status-list li span.status{display:inline-block;padding:1px 5px;color:white;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px}
|
||||
ul.status-list li span.status.circle{-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;width:12px;height:12px;vertical-align:middle;position:relative;top:-1px}
|
||||
ul.status-list li span.status.success{background:#5cb85c}
|
||||
ul.status-list li span.status.primary{background:#5fb6f5}
|
||||
ul.status-list li span.status.success{background:#31ac5f}
|
||||
ul.status-list li span.status.primary{background:#4da7e8}
|
||||
ul.status-list li span.status.warning{background:#f0ad4e}
|
||||
ul.status-list li span.status.danger{background:#d9534f}
|
||||
ul.status-list li span.status.danger{background:#ab2a1c}
|
||||
ul.status-list li span.status.info{background:#5bc0de}
|
||||
.gecko ul.status-list li span.status.circle{top:-2px}
|
||||
.report-container ul.status-list{margin-top:-10px}
|
||||
|
|
@ -2179,7 +2176,7 @@ html.cssanimations .cursor-loading-indicator.hide{display:none}
|
|||
.custom-checkbox input[type=radio]:checked + label:before,.custom-radio input[type=radio]:checked + label:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f111";font-size:9px;line-height:12px;border-width:2px}
|
||||
.custom-checkbox input[type=checkbox]:checked + label:before,.custom-radio input[type=checkbox]:checked + label:before{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em;content:"\f00c";font-size:10px;line-height:12px;border-width:2px}
|
||||
.custom-checkbox:focus,.custom-radio:focus{outline:none}
|
||||
.custom-checkbox:focus label:before,.custom-radio:focus label:before{border-color:#5fb6f5}
|
||||
.custom-checkbox:focus label:before,.custom-radio:focus label:before{border-color:#4da7e8}
|
||||
.custom-checkbox p.help-block,.custom-radio p.help-block{margin-top:0}
|
||||
.custom-radio label:before{border-radius:8px}
|
||||
.custom-checkbox label:before{border-radius:2px}
|
||||
|
|
|
|||
|
|
@ -3,23 +3,53 @@
|
|||
/ \/ | / \|__)|_ |__) (_ | / \|__)|\/|
|
||||
\__/\__ | \__/|__)|__| \ __) | \__/| \ | |
|
||||
|
||||
=require vendor/mustache/mustache.js
|
||||
=require vendor/modernizr/modernizr.js
|
||||
=require vendor/bootstrap/js/dropdown.js
|
||||
=require vendor/bootstrap/js/transition.js
|
||||
=require vendor/bootstrap/js/tab.js
|
||||
=require vendor/bootstrap/js/modal.js
|
||||
=require vendor/bootstrap/js/tooltip.js
|
||||
=require vendor/raphael/raphael.js
|
||||
=require vendor/flot/jquery.flot.js
|
||||
=require vendor/flot/jquery.flot.tooltip.js
|
||||
=require vendor/flot/jquery.flot.resize.js
|
||||
=require vendor/flot/jquery.flot.time.js
|
||||
=require vendor/select2/js/select2.full.js
|
||||
=require vendor/mousewheel/mousewheel.js
|
||||
=require vendor/sortable/jquery-sortable.js
|
||||
|
||||
=require js/foundation.js
|
||||
=require js/foundation.baseclass.js
|
||||
=require js/foundation.element.js
|
||||
=require js/foundation.event.js
|
||||
=require js/foundation.controlutils.js
|
||||
=require js/flashmessage.js
|
||||
=require js/checkbox.js
|
||||
=require js/checkbox.balloon.js
|
||||
=require js/dropdown.js
|
||||
=require js/callout.js
|
||||
=require js/tooltip.js
|
||||
=require js/toolbar.js
|
||||
=require js/filter.js
|
||||
=require js/select.js
|
||||
=require js/loader.js
|
||||
=require js/loader.base.js
|
||||
=require js/loader.cursor.js
|
||||
=require js/loader.stripe.js
|
||||
=require js/popover.js
|
||||
=require js/popup.js
|
||||
=require js/chart.js
|
||||
=require js/list.js
|
||||
=require js/input.js
|
||||
=require js/drag.js
|
||||
=require js/chart.utils.js
|
||||
=require js/chart.line.js
|
||||
=require js/chart.bar.js
|
||||
=require js/chart.pie.js
|
||||
=require js/chart.meter.js
|
||||
=require js/list.rowlink.js
|
||||
=require js/input.monitor.js
|
||||
=require js/input.hotkey.js
|
||||
=require js/input.preset.js
|
||||
=require js/input.trigger.js
|
||||
=require js/drag.value.js
|
||||
=require js/drag.sort.js
|
||||
=require js/drag.scroll.js
|
||||
=require js/tab.js
|
||||
=require js/inspector.surface.js
|
||||
=require js/inspector.manager.js
|
||||
|
|
|
|||
|
|
@ -469,7 +469,8 @@ class PluginManager
|
|||
/**
|
||||
* Disables a single plugin in the system.
|
||||
* @param string $id Plugin code/namespace
|
||||
* @param bool $user Set to true if disabled by the user
|
||||
* @param bool $isUser Set to true if disabled by the user
|
||||
* @return bool
|
||||
*/
|
||||
public function disablePlugin($id, $isUser = false)
|
||||
{
|
||||
|
|
@ -491,7 +492,8 @@ class PluginManager
|
|||
/**
|
||||
* Enables a single plugin in the system.
|
||||
* @param string $id Plugin code/namespace
|
||||
* @param bool $user Set to true if enabled by the user
|
||||
* @param bool $isUser Set to true if enabled by the user
|
||||
* @return bool
|
||||
*/
|
||||
public function enablePlugin($id, $isUser = false)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,29 +7,29 @@ return [
|
|||
],
|
||||
'locale' => [
|
||||
'cs' => 'Tschechisch',
|
||||
'en' => 'English',
|
||||
'de' => 'German',
|
||||
'el' => 'Greek',
|
||||
'es' => 'Spanish',
|
||||
'es-ar' => 'Spanish (Argentina)',
|
||||
'fa' => 'Persian',
|
||||
'fr' => 'French',
|
||||
'hu' => 'Hungarian',
|
||||
'id' => 'Bahasa Indonesia',
|
||||
'it' => 'Italian',
|
||||
'ja' => 'Japanese',
|
||||
'lv' => 'Latvian',
|
||||
'en' => 'Englisch',
|
||||
'de' => 'Deutsch',
|
||||
'el' => 'Griechisch',
|
||||
'es' => 'Spanisch',
|
||||
'es-ar' => 'Spanisch (Argentinien)',
|
||||
'fa' => 'Persisch',
|
||||
'fr' => 'Französisch',
|
||||
'hu' => 'Ungarisch',
|
||||
'id' => 'Indonesisch',
|
||||
'it' => 'Italienisch',
|
||||
'ja' => 'Japanisch',
|
||||
'lv' => 'Lettisch',
|
||||
'nb-no' => 'Norwegisch (Bokmål)',
|
||||
'nl' => 'Dutch',
|
||||
'pl' => 'Polish',
|
||||
'pt-br' => 'Portuguese (Brazil)',
|
||||
'ro' => 'Romana',
|
||||
'ru' => 'Russian',
|
||||
'sv' => 'Swedish',
|
||||
'sk' => 'Slovak (Slovakia)',
|
||||
'tr' => 'Turkish',
|
||||
'zh-cn' => 'Chinese (China)',
|
||||
'zh-tw' => 'Chinese (Taiwan)'
|
||||
'nl' => 'Niederländisch',
|
||||
'pl' => 'Polnisch',
|
||||
'pt-br' => 'Portugiesisch (Brasilien)',
|
||||
'ro' => 'Rumänisch',
|
||||
'ru' => 'Russisch',
|
||||
'sv' => 'Schwedisch',
|
||||
'sk' => 'Slowakisch',
|
||||
'tr' => 'Türkisch',
|
||||
'zh-cn' => 'Chinesisch (China)',
|
||||
'zh-tw' => 'Chinesisch (Taiwan)'
|
||||
],
|
||||
'directory' => [
|
||||
'create_fail' => "Konnte Verzeichnis: :name nicht erstellen",
|
||||
|
|
@ -54,41 +54,41 @@ return [
|
|||
'project' => [
|
||||
'name' => 'Projekt',
|
||||
'owner_label' => 'Besitzer',
|
||||
'attach' => 'Attach Project',
|
||||
'detach' => 'Detach Project',
|
||||
'none' => 'None',
|
||||
'attach' => 'Projekt verbinden',
|
||||
'detach' => 'Projekt trennen',
|
||||
'none' => 'Keins',
|
||||
'id' => [
|
||||
'label' => 'Projekt-ID',
|
||||
'help' => 'Wie Sie Ihre Projekt-ID finden',
|
||||
'missing' => 'Bitte geben Sie eine Projekt-ID an.',
|
||||
],
|
||||
'detach_confirm' => 'Are you sure you want to detach this project?',
|
||||
'detach_confirm' => 'Möchtest du dieses Projekt wirklich trennen?',
|
||||
'unbind_success' => 'Projekt wurde erfolgreich getrennt (detached).',
|
||||
],
|
||||
'settings' => [
|
||||
'menu_label' => 'Einstellungen',
|
||||
'missing_model' => 'Der Einstellungsseite fehlt eine Model-Definition.',
|
||||
'update_success' => 'Einstellung für :name wurde erfolgreich aktualisiert.',
|
||||
'return' => 'Return to system settings',
|
||||
'return' => 'Zurück zu den Einstellungen',
|
||||
],
|
||||
'email' => [
|
||||
'menu_label' => 'Email Configuration',
|
||||
'menu_description' => 'Manage email configuration.',
|
||||
'general' => 'General',
|
||||
'menu_label' => 'Email Einstellungen',
|
||||
'menu_description' => 'Email Einstellungen verwalten.',
|
||||
'general' => 'Allgemein',
|
||||
'method' => 'Email Method',
|
||||
'sender_name' => 'Sender Name',
|
||||
'sender_email' => 'Sender Email',
|
||||
'sender_name' => 'Absender Name',
|
||||
'sender_email' => 'Absender Email',
|
||||
'smtp' => 'SMTP',
|
||||
'smtp_address' => 'SMTP Address',
|
||||
'smtp_authorization' => 'SMTP authorization required',
|
||||
'smtp_authorization_comment' => 'Use this checkbox if your SMTP server requires authorization.',
|
||||
'smtp_username' => 'Username',
|
||||
'smtp_password' => 'Password',
|
||||
'smtp_address' => 'SMTP Adresse',
|
||||
'smtp_authorization' => 'SMTP Authorisation erforderlich',
|
||||
'smtp_authorization_comment' => 'Bitte auswählen, wenn der SMTP Server eine SMTP Authorisation erfordert.',
|
||||
'smtp_username' => 'Benutzername',
|
||||
'smtp_password' => 'Passwort',
|
||||
'smtp_port' => 'SMTP Port',
|
||||
'smtp_ssl' => 'SSL connection required',
|
||||
'smtp_ssl' => 'SSL Verbindung erforderlich',
|
||||
'sendmail' => 'Sendmail',
|
||||
'sendmail_path' => 'Sendmail Path',
|
||||
'sendmail_path_comment' => 'Please specify the path of the sendmail program.',
|
||||
'sendmail_path' => 'Sendmail Pfad',
|
||||
'sendmail_path_comment' => 'Bitte gib den (absoluten) Pfad zum Sendmail Programm an.',
|
||||
],
|
||||
'install' => [
|
||||
'project_label' => 'Mit Projekt verbinden',
|
||||
|
|
@ -104,9 +104,9 @@ return [
|
|||
'check_label' => 'Auf Aktualisierungen überprüfen',
|
||||
'retry_label' => 'Erneut versuchen',
|
||||
'plugin_name' => 'Name',
|
||||
'plugin_description' => 'Description',
|
||||
'plugin_description' => 'Beschreibung',
|
||||
'plugin_version' => 'Version',
|
||||
'plugin_author' => 'Author',
|
||||
'plugin_author' => 'Autor',
|
||||
'core_current_build' => 'Aktueller Build',
|
||||
'core_build' => 'Build :build',
|
||||
'core_build_help' => 'Aktuellster Build ist verfügbar.',
|
||||
|
|
@ -148,4 +148,46 @@ return [
|
|||
'zip' => [
|
||||
'extract_failed' => "Konnte Core-Datei ':file' nicht entpacken.",
|
||||
],
|
||||
'event_log' => [
|
||||
'hint' => 'Dieses Event-Log listet potentielle Fehler in der Anwendung, wie Exceptions und Debugging-Informationen.',
|
||||
'menu_label' => 'Event-Log',
|
||||
'menu_description' => 'Rufe ein Event-Log mit Zeitangaben und Fehlerdetails auf.',
|
||||
'empty_link' => 'Event-Log zurücksetzen',
|
||||
'empty_loading' => 'Event-Log wird zurückgesetzt...',
|
||||
'empty_success' => 'Event-Log erfolgreich zurückgesetzt.',
|
||||
'return_link' => 'Zurück zum Event-Log',
|
||||
'id' => 'ID',
|
||||
'id_label' => 'Event ID',
|
||||
'created_at' => 'Datum & Zeit',
|
||||
'message' => 'Nachricht',
|
||||
'level' => 'Level'
|
||||
],
|
||||
'request_log' => [
|
||||
'hint' => 'Dieses Request-Log listet Browser-Anfragen, die Ihrer Aufmerksamkeit bedürfen könnten. Falls zum Beispiel ein Besucher eine nicht existierende CMS-Seite öffnet, wird ein Eintrag mit dem Fehler 404 angelegt.',
|
||||
'menu_label' => 'Request-Log',
|
||||
'menu_description' => 'Liste fehlerhafte Requests auf, z.B. Seite nicht gefunden (404).',
|
||||
'empty_link' => 'Request-Log zurücksetzen',
|
||||
'empty_loading' => 'Request-Log wird zurückgesetzt...',
|
||||
'empty_success' => 'Request-Log erfolgreich zurückgesetzt.',
|
||||
'return_link' => 'Zurück zum Request-Log',
|
||||
'id' => 'ID',
|
||||
'id_label' => 'Log ID',
|
||||
'count' => 'Zähler',
|
||||
'referer' => 'Referer',
|
||||
'url' => 'URL',
|
||||
'status_code' => 'Status'
|
||||
],
|
||||
'permissions' => [
|
||||
'name' => 'System',
|
||||
'manage_system_settings' => 'Systemeinstellungen verwalten',
|
||||
'manage_software_updates' => 'Software-Updates verwalten',
|
||||
'access_logs' => 'Systemprotokolle einsehen',
|
||||
'manage_mail_templates' => 'Mail-Templates verwalten',
|
||||
'manage_mail_settings' => 'Mail-Einstellungen verwalten',
|
||||
'manage_other_administrators' => 'Andere Administratoren verwalten',
|
||||
'manage_preferences' => 'Backend-Einstellungen verwalten',
|
||||
'manage_editor' => 'Code-Editor-Einstellungen verwalten',
|
||||
'view_the_dashboard' => 'Dashboard einsehen',
|
||||
'manage_branding' => 'Backend individualisieren'
|
||||
]
|
||||
];
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ return [
|
|||
'cs' => 'Czech',
|
||||
'en' => 'Engelska',
|
||||
'de' => 'Tyska',
|
||||
'el' => 'Grekiska',
|
||||
'es' => 'Spanska',
|
||||
'es-ar' => 'Spanska (Argentina)',
|
||||
'fa' => 'Persiska',
|
||||
|
|
@ -74,6 +75,7 @@ return [
|
|||
'remove_confirm' => 'Är du säker på att du vill radera det här temat?'
|
||||
],
|
||||
'plugin' => [
|
||||
'label' => 'Tillägg',
|
||||
'unnamed' => 'Namnlöst tillägg',
|
||||
'name' => [
|
||||
'label' => 'Tilläggsnamn',
|
||||
|
|
@ -145,6 +147,10 @@ return [
|
|||
'smtp_password' => 'Lösenord',
|
||||
'smtp_port' => 'SMTP-port',
|
||||
'smtp_ssl' => 'SSL-anslutning krävs',
|
||||
'smtp_encryption' => 'SMTP-krypteringsprotokoll',
|
||||
'smtp_encryption_none' => 'Ingen kryptering',
|
||||
'smtp_encryption_tls' => 'TLS',
|
||||
'smtp_encryption_ssl' => 'SSL',
|
||||
'sendmail' => 'Sendmail',
|
||||
'sendmail_path' => 'Sendmail-sökväg',
|
||||
'sendmail_path_comment' => 'Vänligen ange sökvägen till sendmail',
|
||||
|
|
@ -305,13 +311,15 @@ return [
|
|||
],
|
||||
'permissions' => [
|
||||
'name' => 'System',
|
||||
'manage_system_settings' => 'Hantera system inställningar',
|
||||
'manage_system_settings' => 'Hantera systeminställningar',
|
||||
'manage_software_updates' => 'Hantera systemuppdateringar',
|
||||
'access_logs' => 'Visa system loggen',
|
||||
'access_logs' => 'Visa systemloggen',
|
||||
'manage_mail_templates' => 'Hantera e-postmallar',
|
||||
'manage_mail_settings' => 'Hantera e-postinställningar',
|
||||
'manage_other_administrators' => 'Hantera andra administratörer',
|
||||
'manage_preferences' => 'Hantera inställningar för back-end',
|
||||
'manage_editor' => 'Hantera inställningar för kodredigerare',
|
||||
'view_the_dashboard' => 'Visa kontrollpanelen',
|
||||
'manage_branding' => 'Anpassa backend'
|
||||
'manage_branding' => 'Anpassa back-end',
|
||||
]
|
||||
];
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ return array(
|
|||
"array" => ":attribute får inte innehålla mer än :max objekt.",
|
||||
),
|
||||
"mimes" => ":attribute måste vara en fil av typen: :values.",
|
||||
"extensions" => ":attribute måste ha ett av följande filtillägg: :values.",
|
||||
"min" => array(
|
||||
"numeric" => ":attribute måste vara minst :min.",
|
||||
"file" => ":attribute måste vara minst :min kilobytes.",
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@ class Parameters extends Model
|
|||
* Stores a setting value to the database.
|
||||
* @param string $key Specifies the setting key value, for example 'system:updates.check'
|
||||
* @param mixed $value The setting value to store, serializable.
|
||||
* @return bool
|
||||
*/
|
||||
public static function set($key, $value = null)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -72,7 +72,8 @@ trait ViewMaker
|
|||
/**
|
||||
* Loads a view with the name specified. Applies layout if its name is provided by the parent object.
|
||||
* The view file must be situated in the views directory, and has the extension "htm".
|
||||
* @param string $view Specifies the view name, without extension. Eg: "index".
|
||||
* @param string $view Specifies the view name, without extension. Eg: "index".
|
||||
* @return string
|
||||
*/
|
||||
public function makeView($view)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue