Merged 2.3
This commit is contained in:
19
.github/ISSUE_TEMPLATE
vendored
19
.github/ISSUE_TEMPLATE
vendored
@@ -1,16 +1,8 @@
|
||||
Before submitting your issue, please make sure that you've checked all of the checkboxes below.
|
||||
Before submitting your issue, please make sure that you've checked the checkboxes below.
|
||||
|
||||
- [ ] You're running the [latest release](https://github.com/CachetHQ/Cachet/releases/latest) version of Cachet.
|
||||
- [ ] Ensure that you're running at least PHP 5.5.9, you can check this by running `php -v`
|
||||
- [ ] You've ran `rm -rf bootstrap/cache/*` from the root of your Cachet installation.
|
||||
|
||||
To help us better understand your issue, please answer the following — cheers!
|
||||
|
||||
### Your setup
|
||||
|
||||
- *What version of Cachet?*
|
||||
- *What database driver? MySQL? Postgres? SQLite?*
|
||||
- *What version of PHP?*
|
||||
- [ ] I am running the [latest release](https://github.com/CachetHQ/Cachet/releases/latest) version of Cachet.
|
||||
- [ ] I am running at least PHP 5.5.9. *You can check this by running `php -v`.*
|
||||
- [ ] I have ran `rm -rf bootstrap/cache/*`.
|
||||
|
||||
### Expected behaviour
|
||||
|
||||
@@ -23,3 +15,6 @@ To help us better understand your issue, please answer the following — cheers!
|
||||
### Steps to reproduce
|
||||
|
||||
*If your issue requires any specific steps to reproduce, please outline them here.*
|
||||
|
||||
1. First step
|
||||
2. Second step
|
||||
|
||||
@@ -42,7 +42,7 @@ final class AddMetricPointCommand
|
||||
* @var string[]
|
||||
*/
|
||||
public $rules = [
|
||||
'value' => 'int',
|
||||
'value' => 'numeric',
|
||||
'created_at' => 'string',
|
||||
];
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ use CachetHQ\Cachet\Settings\Cache;
|
||||
use CachetHQ\Cachet\Settings\Repository;
|
||||
use Exception;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Jenssegers\Date\Date;
|
||||
|
||||
/**
|
||||
* This is the config service provider class.
|
||||
@@ -64,6 +65,7 @@ class ConfigServiceProvider extends ServiceProvider
|
||||
if ($appLocale = $this->app->config->get('setting.app_locale')) {
|
||||
$this->app->config->set('app.locale', $appLocale);
|
||||
$this->app->translator->setLocale($appLocale);
|
||||
Date::setLocale($appLocale);
|
||||
}
|
||||
|
||||
if ($appTimezone = $this->app->config->get('setting.app_timezone')) {
|
||||
|
||||
@@ -16,8 +16,15 @@ use CachetHQ\Cachet\Repositories\Metric\MetricRepository;
|
||||
use CachetHQ\Cachet\Repositories\Metric\MySqlRepository as MetricMySqlRepository;
|
||||
use CachetHQ\Cachet\Repositories\Metric\PgSqlRepository as MetricPgSqlRepository;
|
||||
use CachetHQ\Cachet\Repositories\Metric\SqliteRepository as MetricSqliteRepository;
|
||||
use Illuminate\Contracts\Config\Repository as ConfigRepository;
|
||||
use Illuminate\Contracts\Container\Container;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
|
||||
/**
|
||||
* This is the repository service provider.
|
||||
*
|
||||
* @author James Brooks <james@alt-three.com>
|
||||
*/
|
||||
class RepositoryServiceProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
@@ -37,15 +44,16 @@ class RepositoryServiceProvider extends ServiceProvider
|
||||
*/
|
||||
protected function registerMetricRepository()
|
||||
{
|
||||
$this->app->singleton(MetricRepository::class, function ($app) {
|
||||
$dbDriver = $app['config']->get('database.default');
|
||||
$this->app->singleton(MetricRepository::class, function (Container $app) {
|
||||
$config = $app->make(ConfigRepository::class);
|
||||
$driver = $config->get('database.default');
|
||||
|
||||
if ($dbDriver == 'mysql') {
|
||||
$repository = new MetricMySqlRepository();
|
||||
} elseif ($dbDriver == 'pgsql') {
|
||||
$repository = new MetricPgSqlRepository();
|
||||
} elseif ($dbDriver == 'sqlite') {
|
||||
$repository = new MetricSqliteRepository();
|
||||
if ($driver == 'mysql') {
|
||||
$repository = new MetricMySqlRepository($config);
|
||||
} elseif ($driver == 'pgsql') {
|
||||
$repository = new MetricPgSqlRepository($config);
|
||||
} elseif ($driver == 'sqlite') {
|
||||
$repository = new MetricSqliteRepository($config);
|
||||
}
|
||||
|
||||
$dates = $app->make(DateFactory::class);
|
||||
|
||||
@@ -11,32 +11,46 @@
|
||||
|
||||
namespace CachetHQ\Cachet\Http\Controllers\Dashboard;
|
||||
|
||||
use CachetHQ\Cachet\Bus\Commands\Component\UpdateComponentCommand;
|
||||
use CachetHQ\Cachet\Bus\Commands\ComponentGroup\UpdateComponentGroupCommand;
|
||||
use CachetHQ\Cachet\Http\Controllers\Api\AbstractApiController;
|
||||
use CachetHQ\Cachet\Models\Component;
|
||||
use CachetHQ\Cachet\Models\ComponentGroup;
|
||||
use CachetHQ\Cachet\Models\IncidentTemplate;
|
||||
use Exception;
|
||||
use GrahamCampbell\Binput\Facades\Binput;
|
||||
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Illuminate\Database\QueryException;
|
||||
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
|
||||
|
||||
class ApiController extends Controller
|
||||
class ApiController extends AbstractApiController
|
||||
{
|
||||
/**
|
||||
* Updates a component with the entered info.
|
||||
*
|
||||
* @param \CachetHQ\Cachet\Models\Component $component
|
||||
*
|
||||
* @throws \Exception
|
||||
* @throws \Symfony\Component\HttpKernel\Exception\BadRequestHttpException
|
||||
*
|
||||
* @return \CachetHQ\Cachet\Models\Component
|
||||
*/
|
||||
public function postUpdateComponent(Component $component)
|
||||
{
|
||||
if (!$component->update(Binput::except(['_token']))) {
|
||||
throw new Exception(trans('dashboard.components.edit.failure'));
|
||||
try {
|
||||
dispatch(new UpdateComponentCommand(
|
||||
$component,
|
||||
null,
|
||||
null,
|
||||
Binput::get('status'),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null
|
||||
));
|
||||
} catch (QueryException $e) {
|
||||
throw new BadRequestHttpException();
|
||||
}
|
||||
|
||||
return $component;
|
||||
return $this->item($component);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -49,11 +63,23 @@ class ApiController extends Controller
|
||||
$componentData = Binput::get('ids');
|
||||
|
||||
foreach ($componentData as $order => $componentId) {
|
||||
// Ordering should be 1-based, data comes in 0-based
|
||||
Component::find($componentId)->update(['order' => $order + 1]);
|
||||
try {
|
||||
dispatch(new UpdateComponentCommand(
|
||||
Component::find($componentId),
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
$order + 1,
|
||||
null,
|
||||
null
|
||||
));
|
||||
} catch (QueryException $e) {
|
||||
throw new BadRequestHttpException();
|
||||
}
|
||||
}
|
||||
|
||||
return $componentData;
|
||||
return $this->collection(Component::query()->orderBy('order')->get());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -66,10 +92,15 @@ class ApiController extends Controller
|
||||
$groupData = Binput::get('ids');
|
||||
|
||||
foreach ($groupData as $order => $groupId) {
|
||||
ComponentGroup::find($groupId)->update(['order' => $order + 1]);
|
||||
dispatch(new UpdateComponentGroupCommand(
|
||||
ComponentGroup::find($groupId),
|
||||
null,
|
||||
$order + 1,
|
||||
null
|
||||
));
|
||||
}
|
||||
|
||||
return $groupData;
|
||||
return $this->collection(ComponentGroup::query()->orderBy('order')->get());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -18,6 +18,7 @@ use CachetHQ\Cachet\Models\Incident;
|
||||
use CachetHQ\Cachet\Models\Subscriber;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Illuminate\Support\Facades\Config;
|
||||
use Illuminate\Support\Facades\Redirect;
|
||||
use Illuminate\Support\Facades\View;
|
||||
use Jenssegers\Date\Date;
|
||||
|
||||
@@ -58,6 +59,16 @@ class DashboardController extends Controller
|
||||
$this->dateTimeZone = Config::get('cachet.timezone');
|
||||
}
|
||||
|
||||
/**
|
||||
* Redirect /admin to /dashboard.
|
||||
*
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*/
|
||||
public function redirectAdmin()
|
||||
{
|
||||
return Redirect::route('dashboard.index');
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows the dashboard view.
|
||||
*
|
||||
|
||||
@@ -47,7 +47,7 @@ class SignupController extends Controller
|
||||
return View::make('signup')
|
||||
->withCode($invite->code)
|
||||
->withUsername(Binput::old('username'))
|
||||
->withEmail(Binput::old('emai', $invite->email));
|
||||
->withEmail(Binput::old('email', $invite->email));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -29,209 +29,213 @@ class DashboardRoutes
|
||||
*/
|
||||
public function map(Registrar $router)
|
||||
{
|
||||
$router->group(['middleware' => ['web', 'auth'], 'prefix' => 'dashboard', 'namespace' => 'Dashboard', 'as' => 'dashboard.'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'index',
|
||||
'uses' => 'DashboardController@showDashboard',
|
||||
]);
|
||||
$router->group(['middleware' => ['web', 'auth'], 'namespace' => 'Dashboard'], function (Registrar $router) {
|
||||
$router->get('admin', 'DashboardController@redirectAdmin');
|
||||
|
||||
$router->group(['as' => 'components.', 'prefix' => 'components'], function (Registrar $router) {
|
||||
$router->group(['prefix' => 'dashboard', 'as' => 'dashboard.'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'index',
|
||||
'uses' => 'ComponentController@showComponents',
|
||||
]);
|
||||
$router->get('add', [
|
||||
'as' => 'add',
|
||||
'uses' => 'ComponentController@showAddComponent',
|
||||
]);
|
||||
$router->post('add', 'ComponentController@createComponentAction');
|
||||
$router->get('groups', [
|
||||
'as' => 'groups',
|
||||
'uses' => 'ComponentController@showComponentGroups',
|
||||
]);
|
||||
$router->get('groups/add', [
|
||||
'as' => 'groups.add',
|
||||
'uses' => 'ComponentController@showAddComponentGroup',
|
||||
]);
|
||||
$router->get('groups/edit/{component_group}', [
|
||||
'as' => 'groups.edit',
|
||||
'uses' => 'ComponentController@showEditComponentGroup',
|
||||
]);
|
||||
$router->post('groups/edit/{component_group}', 'ComponentController@updateComponentGroupAction');
|
||||
$router->delete('groups/{component_group}/delete', 'ComponentController@deleteComponentGroupAction');
|
||||
$router->post('groups/add', 'ComponentController@postAddComponentGroup');
|
||||
$router->get('{component}/edit', [
|
||||
'as' => 'edit',
|
||||
'uses' => 'ComponentController@showEditComponent',
|
||||
]);
|
||||
$router->delete('{component}/delete', 'ComponentController@deleteComponentAction');
|
||||
$router->post('{component}/edit', 'ComponentController@updateComponentAction');
|
||||
});
|
||||
|
||||
$router->group(['as' => 'incidents.', 'prefix' => 'incidents'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'index',
|
||||
'uses' => 'IncidentController@showIncidents',
|
||||
]);
|
||||
$router->get('add', [
|
||||
'as' => 'add',
|
||||
'uses' => 'IncidentController@showAddIncident',
|
||||
]);
|
||||
$router->post('add', 'IncidentController@createIncidentAction');
|
||||
$router->delete('{incident}/delete', [
|
||||
'as' => 'delete',
|
||||
'uses' => 'IncidentController@deleteIncidentAction',
|
||||
]);
|
||||
$router->get('{incident}/edit', [
|
||||
'as' => 'edit',
|
||||
'uses' => 'IncidentController@showEditIncidentAction',
|
||||
]);
|
||||
$router->post('{incident}/edit', 'IncidentController@editIncidentAction');
|
||||
});
|
||||
|
||||
$router->group(['as' => 'schedule.', 'prefix' => 'schedule'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'index',
|
||||
'uses' => 'ScheduleController@showIndex',
|
||||
]);
|
||||
$router->get('add', [
|
||||
'as' => 'add',
|
||||
'uses' => 'ScheduleController@showAddSchedule',
|
||||
]);
|
||||
$router->post('add', 'ScheduleController@addScheduleAction');
|
||||
$router->get('{incident}/edit', [
|
||||
'as' => 'edit',
|
||||
'uses' => 'ScheduleController@showEditSchedule',
|
||||
]);
|
||||
$router->post('{incident}/edit', 'ScheduleController@editScheduleAction');
|
||||
$router->delete('{incident}/delete', [
|
||||
'as' => 'delete',
|
||||
'uses' => 'ScheduleController@deleteScheduleAction',
|
||||
]);
|
||||
});
|
||||
|
||||
$router->group(['as' => 'templates.', 'prefix' => 'templates'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'index',
|
||||
'uses' => 'IncidentController@showTemplates',
|
||||
]);
|
||||
$router->get('add', [
|
||||
'as' => 'add',
|
||||
'uses' => 'IncidentController@showAddIncidentTemplate',
|
||||
]);
|
||||
$router->post('add', 'IncidentController@createIncidentTemplateAction');
|
||||
$router->get('{incident_template}/edit', [
|
||||
'as' => 'edit',
|
||||
'uses' => 'IncidentController@showEditTemplateAction',
|
||||
]);
|
||||
$router->post('{incident_template}/edit', 'IncidentController@editTemplateAction');
|
||||
$router->delete('{incident_template}/delete', 'IncidentController@deleteTemplateAction');
|
||||
});
|
||||
|
||||
$router->group(['as' => 'subscribers.', 'prefix' => 'subscribers'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'index',
|
||||
'uses' => 'SubscriberController@showSubscribers',
|
||||
]);
|
||||
$router->get('add', [
|
||||
'as' => 'add',
|
||||
'uses' => 'SubscriberController@showAddSubscriber',
|
||||
]);
|
||||
$router->post('add', 'SubscriberController@createSubscriberAction');
|
||||
$router->delete('{subscriber}/delete', 'SubscriberController@deleteSubscriberAction');
|
||||
});
|
||||
|
||||
$router->group(['as' => 'metrics.', 'prefix' => 'metrics'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'index',
|
||||
'uses' => 'MetricController@showMetrics',
|
||||
]);
|
||||
$router->get('add', [
|
||||
'as' => 'add',
|
||||
'uses' => 'MetricController@showAddMetric',
|
||||
]);
|
||||
$router->post('add', 'MetricController@createMetricAction');
|
||||
$router->delete('{metric}/delete', 'MetricController@deleteMetricAction');
|
||||
$router->get('{metric}/edit', [
|
||||
'as' => 'edit',
|
||||
'uses' => 'MetricController@showEditMetricAction',
|
||||
]);
|
||||
$router->post('{metric}/edit', 'MetricController@editMetricAction');
|
||||
});
|
||||
|
||||
$router->group(['as' => 'team.', 'prefix' => 'team'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'index',
|
||||
'uses' => 'TeamController@showTeamView',
|
||||
'uses' => 'DashboardController@showDashboard',
|
||||
]);
|
||||
|
||||
$router->group(['middleware' => 'admin'], function (Registrar $router) {
|
||||
$router->group(['as' => 'components.', 'prefix' => 'components'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'index',
|
||||
'uses' => 'ComponentController@showComponents',
|
||||
]);
|
||||
$router->get('add', [
|
||||
'as' => 'add',
|
||||
'uses' => 'TeamController@showAddTeamMemberView',
|
||||
'uses' => 'ComponentController@showAddComponent',
|
||||
]);
|
||||
$router->get('invite', [
|
||||
'as' => 'invite',
|
||||
'uses' => 'TeamController@showInviteTeamMemberView',
|
||||
$router->post('add', 'ComponentController@createComponentAction');
|
||||
$router->get('groups', [
|
||||
'as' => 'groups',
|
||||
'uses' => 'ComponentController@showComponentGroups',
|
||||
]);
|
||||
$router->get('{user}', ['as' => 'edit', 'uses' => 'TeamController@showTeamMemberView']);
|
||||
$router->post('add', 'TeamController@postAddUser');
|
||||
$router->post('invite', 'TeamController@postInviteUser');
|
||||
$router->post('{user}', 'TeamController@postUpdateUser');
|
||||
$router->delete('{user}/delete', 'TeamController@deleteUser');
|
||||
$router->get('groups/add', [
|
||||
'as' => 'groups.add',
|
||||
'uses' => 'ComponentController@showAddComponentGroup',
|
||||
]);
|
||||
$router->get('groups/edit/{component_group}', [
|
||||
'as' => 'groups.edit',
|
||||
'uses' => 'ComponentController@showEditComponentGroup',
|
||||
]);
|
||||
$router->post('groups/edit/{component_group}', 'ComponentController@updateComponentGroupAction');
|
||||
$router->delete('groups/{component_group}/delete', 'ComponentController@deleteComponentGroupAction');
|
||||
$router->post('groups/add', 'ComponentController@postAddComponentGroup');
|
||||
$router->get('{component}/edit', [
|
||||
'as' => 'edit',
|
||||
'uses' => 'ComponentController@showEditComponent',
|
||||
]);
|
||||
$router->delete('{component}/delete', 'ComponentController@deleteComponentAction');
|
||||
$router->post('{component}/edit', 'ComponentController@updateComponentAction');
|
||||
});
|
||||
});
|
||||
|
||||
$router->group(['as' => 'settings.', 'prefix' => 'settings'], function (Registrar $router) {
|
||||
$router->get('setup', [
|
||||
'as' => 'setup',
|
||||
'uses' => 'SettingsController@showSetupView',
|
||||
]);
|
||||
$router->get('analytics', [
|
||||
'as' => 'analytics',
|
||||
'uses' => 'SettingsController@showAnalyticsView',
|
||||
]);
|
||||
$router->get('localization', [
|
||||
'as' => 'localization',
|
||||
'uses' => 'SettingsController@showLocalizationView',
|
||||
]);
|
||||
$router->get('security', [
|
||||
'as' => 'security',
|
||||
'uses' => 'SettingsController@showSecurityView',
|
||||
]);
|
||||
$router->get('theme', [
|
||||
'as' => 'theme',
|
||||
'uses' => 'SettingsController@showThemeView',
|
||||
]);
|
||||
$router->get('stylesheet', [
|
||||
'as' => 'stylesheet',
|
||||
'uses' => 'SettingsController@showStylesheetView',
|
||||
]);
|
||||
$router->get('customization', [
|
||||
'as' => 'customization',
|
||||
'uses' => 'SettingsController@showCustomizationView',
|
||||
]);
|
||||
$router->get('credits', [
|
||||
'as' => 'credits',
|
||||
'uses' => 'SettingsController@showCreditsView',
|
||||
]);
|
||||
$router->post('/', 'SettingsController@postSettings');
|
||||
});
|
||||
$router->group(['as' => 'incidents.', 'prefix' => 'incidents'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'index',
|
||||
'uses' => 'IncidentController@showIncidents',
|
||||
]);
|
||||
$router->get('add', [
|
||||
'as' => 'add',
|
||||
'uses' => 'IncidentController@showAddIncident',
|
||||
]);
|
||||
$router->post('add', 'IncidentController@createIncidentAction');
|
||||
$router->delete('{incident}/delete', [
|
||||
'as' => 'delete',
|
||||
'uses' => 'IncidentController@deleteIncidentAction',
|
||||
]);
|
||||
$router->get('{incident}/edit', [
|
||||
'as' => 'edit',
|
||||
'uses' => 'IncidentController@showEditIncidentAction',
|
||||
]);
|
||||
$router->post('{incident}/edit', 'IncidentController@editIncidentAction');
|
||||
});
|
||||
|
||||
$router->group(['prefix' => 'user'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'user',
|
||||
'uses' => 'UserController@showUser',
|
||||
]);
|
||||
$router->post('/', 'UserController@postUser');
|
||||
$router->get('{user}/api/regen', 'UserController@regenerateApiKey');
|
||||
});
|
||||
$router->group(['as' => 'schedule.', 'prefix' => 'schedule'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'index',
|
||||
'uses' => 'ScheduleController@showIndex',
|
||||
]);
|
||||
$router->get('add', [
|
||||
'as' => 'add',
|
||||
'uses' => 'ScheduleController@showAddSchedule',
|
||||
]);
|
||||
$router->post('add', 'ScheduleController@addScheduleAction');
|
||||
$router->get('{incident}/edit', [
|
||||
'as' => 'edit',
|
||||
'uses' => 'ScheduleController@showEditSchedule',
|
||||
]);
|
||||
$router->post('{incident}/edit', 'ScheduleController@editScheduleAction');
|
||||
$router->delete('{incident}/delete', [
|
||||
'as' => 'delete',
|
||||
'uses' => 'ScheduleController@deleteScheduleAction',
|
||||
]);
|
||||
});
|
||||
|
||||
$router->group(['prefix' => 'api'], function (Registrar $router) {
|
||||
$router->get('incidents/templates', 'ApiController@getIncidentTemplate');
|
||||
$router->post('components/groups/order', 'ApiController@postUpdateComponentGroupOrder');
|
||||
$router->post('components/order', 'ApiController@postUpdateComponentOrder');
|
||||
$router->post('components/{component}', 'ApiController@postUpdateComponent');
|
||||
$router->group(['as' => 'templates.', 'prefix' => 'templates'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'index',
|
||||
'uses' => 'IncidentController@showTemplates',
|
||||
]);
|
||||
$router->get('add', [
|
||||
'as' => 'add',
|
||||
'uses' => 'IncidentController@showAddIncidentTemplate',
|
||||
]);
|
||||
$router->post('add', 'IncidentController@createIncidentTemplateAction');
|
||||
$router->get('{incident_template}/edit', [
|
||||
'as' => 'edit',
|
||||
'uses' => 'IncidentController@showEditTemplateAction',
|
||||
]);
|
||||
$router->post('{incident_template}/edit', 'IncidentController@editTemplateAction');
|
||||
$router->delete('{incident_template}/delete', 'IncidentController@deleteTemplateAction');
|
||||
});
|
||||
|
||||
$router->group(['as' => 'subscribers.', 'prefix' => 'subscribers'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'index',
|
||||
'uses' => 'SubscriberController@showSubscribers',
|
||||
]);
|
||||
$router->get('add', [
|
||||
'as' => 'add',
|
||||
'uses' => 'SubscriberController@showAddSubscriber',
|
||||
]);
|
||||
$router->post('add', 'SubscriberController@createSubscriberAction');
|
||||
$router->delete('{subscriber}/delete', 'SubscriberController@deleteSubscriberAction');
|
||||
});
|
||||
|
||||
$router->group(['as' => 'metrics.', 'prefix' => 'metrics'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'index',
|
||||
'uses' => 'MetricController@showMetrics',
|
||||
]);
|
||||
$router->get('add', [
|
||||
'as' => 'add',
|
||||
'uses' => 'MetricController@showAddMetric',
|
||||
]);
|
||||
$router->post('add', 'MetricController@createMetricAction');
|
||||
$router->delete('{metric}/delete', 'MetricController@deleteMetricAction');
|
||||
$router->get('{metric}/edit', [
|
||||
'as' => 'edit',
|
||||
'uses' => 'MetricController@showEditMetricAction',
|
||||
]);
|
||||
$router->post('{metric}/edit', 'MetricController@editMetricAction');
|
||||
});
|
||||
|
||||
$router->group(['as' => 'team.', 'prefix' => 'team'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'index',
|
||||
'uses' => 'TeamController@showTeamView',
|
||||
]);
|
||||
|
||||
$router->group(['middleware' => 'admin'], function (Registrar $router) {
|
||||
$router->get('add', [
|
||||
'as' => 'add',
|
||||
'uses' => 'TeamController@showAddTeamMemberView',
|
||||
]);
|
||||
$router->get('invite', [
|
||||
'as' => 'invite',
|
||||
'uses' => 'TeamController@showInviteTeamMemberView',
|
||||
]);
|
||||
$router->get('{user}', ['as' => 'edit', 'uses' => 'TeamController@showTeamMemberView']);
|
||||
$router->post('add', 'TeamController@postAddUser');
|
||||
$router->post('invite', 'TeamController@postInviteUser');
|
||||
$router->post('{user}', 'TeamController@postUpdateUser');
|
||||
$router->delete('{user}/delete', 'TeamController@deleteUser');
|
||||
});
|
||||
});
|
||||
|
||||
$router->group(['as' => 'settings.', 'prefix' => 'settings'], function (Registrar $router) {
|
||||
$router->get('setup', [
|
||||
'as' => 'setup',
|
||||
'uses' => 'SettingsController@showSetupView',
|
||||
]);
|
||||
$router->get('analytics', [
|
||||
'as' => 'analytics',
|
||||
'uses' => 'SettingsController@showAnalyticsView',
|
||||
]);
|
||||
$router->get('localization', [
|
||||
'as' => 'localization',
|
||||
'uses' => 'SettingsController@showLocalizationView',
|
||||
]);
|
||||
$router->get('security', [
|
||||
'as' => 'security',
|
||||
'uses' => 'SettingsController@showSecurityView',
|
||||
]);
|
||||
$router->get('theme', [
|
||||
'as' => 'theme',
|
||||
'uses' => 'SettingsController@showThemeView',
|
||||
]);
|
||||
$router->get('stylesheet', [
|
||||
'as' => 'stylesheet',
|
||||
'uses' => 'SettingsController@showStylesheetView',
|
||||
]);
|
||||
$router->get('customization', [
|
||||
'as' => 'customization',
|
||||
'uses' => 'SettingsController@showCustomizationView',
|
||||
]);
|
||||
$router->get('credits', [
|
||||
'as' => 'credits',
|
||||
'uses' => 'SettingsController@showCreditsView',
|
||||
]);
|
||||
$router->post('/', 'SettingsController@postSettings');
|
||||
});
|
||||
|
||||
$router->group(['prefix' => 'user'], function (Registrar $router) {
|
||||
$router->get('/', [
|
||||
'as' => 'user',
|
||||
'uses' => 'UserController@showUser',
|
||||
]);
|
||||
$router->post('/', 'UserController@postUser');
|
||||
$router->get('{user}/api/regen', 'UserController@regenerateApiKey');
|
||||
});
|
||||
|
||||
$router->group(['prefix' => 'api'], function (Registrar $router) {
|
||||
$router->get('incidents/templates', 'ApiController@getIncidentTemplate');
|
||||
$router->post('components/groups/order', 'ApiController@postUpdateComponentGroupOrder');
|
||||
$router->post('components/order', 'ApiController@postUpdateComponentOrder');
|
||||
$router->post('components/{component}', 'ApiController@postUpdateComponent');
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
63
app/Repositories/Metric/AbstractMetricRepository.php
Normal file
63
app/Repositories/Metric/AbstractMetricRepository.php
Normal file
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Cachet.
|
||||
*
|
||||
* (c) Alt Three Services Limited
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace CachetHQ\Cachet\Repositories\Metric;
|
||||
|
||||
use CachetHQ\Cachet\Models\Metric;
|
||||
use Illuminate\Contracts\Config\Repository;
|
||||
|
||||
/**
|
||||
* This is the abstract metric repository class.
|
||||
*
|
||||
* @author Jams Brooks <james@alt-three.com>
|
||||
*/
|
||||
abstract class AbstractMetricRepository
|
||||
{
|
||||
/**
|
||||
* The illuminate config repository.
|
||||
*
|
||||
* @var \Illuminate\Contracts\Config\Repository
|
||||
*/
|
||||
protected $config;
|
||||
|
||||
/**
|
||||
* The name of the metrics table.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $tableName;
|
||||
|
||||
/**
|
||||
* Create a new abstract metric repository instance.
|
||||
*
|
||||
* @param \Illuminate\Contracts\Config\Repository $config
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(Repository $config)
|
||||
{
|
||||
$this->config = $config;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the metrics table name.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
protected function getTableName()
|
||||
{
|
||||
$driver = $this->config->get('database.default');
|
||||
$connection = $this->config->get('database.connections.'.$driver);
|
||||
$prefix = $connection['prefix'];
|
||||
|
||||
return $prefix.'metrics';
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,12 @@ use DateInterval;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Jenssegers\Date\Date;
|
||||
|
||||
class MySqlRepository implements MetricInterface
|
||||
/**
|
||||
* This is the mysql repository class.
|
||||
*
|
||||
* @author James Brooks <james@alt-three.com>
|
||||
*/
|
||||
class MySqlRepository extends AbstractMetricRepository implements MetricInterface
|
||||
{
|
||||
/**
|
||||
* Returns metrics for the last hour.
|
||||
@@ -40,7 +45,7 @@ class MySqlRepository implements MetricInterface
|
||||
|
||||
$value = 0;
|
||||
|
||||
$points = DB::select("SELECT {$queryType} FROM metrics m INNER JOIN metric_points mp ON m.id = mp.metric_id WHERE m.id = :metricId AND DATE_FORMAT(mp.`created_at`, '%Y%m%d%H%i') = :timeInterval GROUP BY HOUR(mp.`created_at`), MINUTE(mp.`created_at`)", [
|
||||
$points = DB::select("SELECT {$queryType} FROM {$this->getTableName()} m INNER JOIN metric_points mp ON m.id = mp.metric_id WHERE m.id = :metricId AND DATE_FORMAT(mp.`created_at`, '%Y%m%d%H%i') = :timeInterval GROUP BY HOUR(mp.`created_at`), MINUTE(mp.`created_at`)", [
|
||||
'metricId' => $metric->id,
|
||||
'timeInterval' => $timeInterval,
|
||||
]);
|
||||
@@ -77,7 +82,7 @@ class MySqlRepository implements MetricInterface
|
||||
|
||||
$value = 0;
|
||||
|
||||
$points = DB::select("SELECT {$queryType} FROM metrics m INNER JOIN metric_points mp ON m.id = mp.metric_id WHERE m.id = :metricId AND DATE_FORMAT(mp.`created_at`, '%Y%m%d%H') = :hourInterval GROUP BY HOUR(mp.`created_at`)", [
|
||||
$points = DB::select("SELECT {$queryType} FROM {$this->getTableName()} m INNER JOIN metric_points mp ON m.id = mp.metric_id WHERE m.id = :metricId AND DATE_FORMAT(mp.`created_at`, '%Y%m%d%H') = :hourInterval GROUP BY HOUR(mp.`created_at`)", [
|
||||
'metricId' => $metric->id,
|
||||
'hourInterval' => $hourInterval,
|
||||
]);
|
||||
@@ -112,7 +117,7 @@ class MySqlRepository implements MetricInterface
|
||||
|
||||
$value = 0;
|
||||
|
||||
$points = DB::select("SELECT {$queryType} FROM metrics m INNER JOIN metric_points mp ON m.id = mp.metric_id WHERE m.id = :metricId AND mp.`created_at` BETWEEN DATE_SUB(mp.`created_at`, INTERVAL 1 WEEK) AND DATE_ADD(NOW(), INTERVAL 1 DAY) AND DATE_FORMAT(mp.`created_at`, '%Y%m%d') = :timeInterval GROUP BY DATE_FORMAT(mp.`created_at`, '%Y%m%d')", [
|
||||
$points = DB::select("SELECT {$queryType} FROM {$this->getTableName()} m INNER JOIN metric_points mp ON m.id = mp.metric_id WHERE m.id = :metricId AND mp.`created_at` BETWEEN DATE_SUB(mp.`created_at`, INTERVAL 1 WEEK) AND DATE_ADD(NOW(), INTERVAL 1 DAY) AND DATE_FORMAT(mp.`created_at`, '%Y%m%d') = :timeInterval GROUP BY DATE_FORMAT(mp.`created_at`, '%Y%m%d')", [
|
||||
'metricId' => $metric->id,
|
||||
'timeInterval' => $dateTime->format('Ymd'),
|
||||
]);
|
||||
|
||||
@@ -16,7 +16,12 @@ use DateInterval;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Jenssegers\Date\Date;
|
||||
|
||||
class PgSqlRepository implements MetricInterface
|
||||
/**
|
||||
* This is the pgsql repository class.
|
||||
*
|
||||
* @author James Brooks <james@alt-three.com>
|
||||
*/
|
||||
class PgSqlRepository extends AbstractMetricRepository implements MetricInterface
|
||||
{
|
||||
/**
|
||||
* Returns metrics for the last hour.
|
||||
@@ -41,7 +46,7 @@ class PgSqlRepository implements MetricInterface
|
||||
}
|
||||
|
||||
$value = 0;
|
||||
$query = DB::select("select {$queryType} as value FROM metrics JOIN metric_points ON metric_points.metric_id = metrics.id WHERE metrics.id = :metricId AND to_char(metric_points.created_at, 'YYYYMMDDHH24MI') = :timeInterval GROUP BY to_char(metric_points.created_at, 'HHMI')", [
|
||||
$query = DB::select("select {$queryType} as value FROM {$this->getTableName()} m JOIN metric_points ON metric_points.metric_id = m.id WHERE m.id = :metricId AND to_char(metric_points.created_at, 'YYYYMMDDHH24MI') = :timeInterval GROUP BY to_char(metric_points.created_at, 'HHMI')", [
|
||||
'metricId' => $metric->id,
|
||||
'timeInterval' => $dateTime->format('YmdHi'),
|
||||
]);
|
||||
@@ -79,7 +84,7 @@ class PgSqlRepository implements MetricInterface
|
||||
}
|
||||
|
||||
$value = 0;
|
||||
$query = DB::select("select {$queryType} as value FROM metrics JOIN metric_points ON metric_points.metric_id = metrics.id WHERE metric_points.metric_id = :metricId AND to_char(metric_points.created_at, 'YYYYMMDDHH24') = :timeInterval GROUP BY to_char(metric_points.created_at, 'H')", [
|
||||
$query = DB::select("select {$queryType} as value FROM {$this->getTableName()} m JOIN metric_points ON metric_points.metric_id = m.id WHERE metric_points.metric_id = :metricId AND to_char(metric_points.created_at, 'YYYYMMDDHH24') = :timeInterval GROUP BY to_char(metric_points.created_at, 'H')", [
|
||||
'metricId' => $metric->id,
|
||||
'timeInterval' => $dateTime->format('YmdH'),
|
||||
]);
|
||||
@@ -113,7 +118,7 @@ class PgSqlRepository implements MetricInterface
|
||||
}
|
||||
|
||||
$value = 0;
|
||||
$points = DB::select("SELECT {$queryType} FROM metrics m INNER JOIN metric_points mp ON m.id = mp.metric_id WHERE m.id = :metricId AND mp.created_at BETWEEN (mp.created_at - interval '1 week') AND (now() + interval '1 day') AND to_char(mp.created_at, 'YYYYMMDD') = :timeInterval GROUP BY to_char(mp.created_at, 'YYYYMMDD')", [
|
||||
$points = DB::select("SELECT {$queryType} FROM {$this->getTableName()} m INNER JOIN metric_points mp ON m.id = mp.metric_id WHERE m.id = :metricId AND mp.created_at BETWEEN (mp.created_at - interval '1 week') AND (now() + interval '1 day') AND to_char(mp.created_at, 'YYYYMMDD') = :timeInterval GROUP BY to_char(mp.created_at, 'YYYYMMDD')", [
|
||||
'metricId' => $metric->id,
|
||||
'timeInterval' => $dateTime->format('Ymd'),
|
||||
]);
|
||||
|
||||
@@ -16,7 +16,7 @@ use DateInterval;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Jenssegers\Date\Date;
|
||||
|
||||
class SqliteRepository implements MetricInterface
|
||||
class SqliteRepository extends AbstractMetricRepository implements MetricInterface
|
||||
{
|
||||
/**
|
||||
* Returns metrics for the last hour.
|
||||
@@ -41,7 +41,7 @@ class SqliteRepository implements MetricInterface
|
||||
}
|
||||
|
||||
$value = 0;
|
||||
$query = DB::select("select {$queryType} as value FROM metrics JOIN metric_points ON metric_points.metric_id = metrics.id WHERE metrics.id = :metricId AND strftime('%Y%m%d%H%M', metric_points.created_at) = :timeInterval GROUP BY strftime('%H%M', metric_points.created_at)", [
|
||||
$query = DB::select("select {$queryType} as value FROM {$this->getTableName()} m JOIN metric_points ON metric_points.metric_id = m.id WHERE m.id = :metricId AND strftime('%Y%m%d%H%M', metric_points.created_at) = :timeInterval GROUP BY strftime('%H%M', metric_points.created_at)", [
|
||||
'metricId' => $metric->id,
|
||||
'timeInterval' => $dateTime->format('YmdHi'),
|
||||
]);
|
||||
@@ -79,7 +79,7 @@ class SqliteRepository implements MetricInterface
|
||||
}
|
||||
|
||||
$value = 0;
|
||||
$query = DB::select("select {$queryType} as value FROM metrics JOIN metric_points ON metric_points.metric_id = metrics.id WHERE metrics.id = :metricId AND strftime('%Y%m%d%H', metric_points.created_at) = :timeInterval GROUP BY strftime('%H', metric_points.created_at)", [
|
||||
$query = DB::select("select {$queryType} as value FROM {$this->getTableName()} m JOIN metric_points ON metric_points.metric_id = m.id WHERE m.id = :metricId AND strftime('%Y%m%d%H', metric_points.created_at) = :timeInterval GROUP BY strftime('%H', metric_points.created_at)", [
|
||||
'metricId' => $metric->id,
|
||||
'timeInterval' => $dateTime->format('YmdH'),
|
||||
]);
|
||||
@@ -116,7 +116,7 @@ class SqliteRepository implements MetricInterface
|
||||
}
|
||||
|
||||
$value = 0;
|
||||
$query = DB::select("select {$queryType} as value FROM metrics JOIN metric_points ON metric_points.metric_id = metrics.id WHERE metrics.id = :metricId AND metric_points.created_at > date('now', '-7 day') AND strftime('%Y%m%d', metric_points.created_at) = :timeInterval GROUP BY strftime('%Y%m%d', metric_points.created_at)", [
|
||||
$query = DB::select("select {$queryType} as value FROM {$this->getTableName()} m JOIN metric_points ON metric_points.metric_id = m.id WHERE m.id = :metricId AND metric_points.created_at > date('now', '-7 day') AND strftime('%Y%m%d', metric_points.created_at) = :timeInterval GROUP BY strftime('%Y%m%d', metric_points.created_at)", [
|
||||
'metricId' => $metric->id,
|
||||
'timeInterval' => $dateTime->format('Ymd'),
|
||||
]);
|
||||
|
||||
172
composer.lock
generated
172
composer.lock
generated
@@ -325,22 +325,22 @@
|
||||
},
|
||||
{
|
||||
"name": "aws/aws-sdk-php",
|
||||
"version": "3.18.20",
|
||||
"version": "3.18.25",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/aws/aws-sdk-php.git",
|
||||
"reference": "e5a901dd3a42d0c46a90ee37a174938cd0ce55bf"
|
||||
"reference": "37a8ce927a69de3d821c21b64674a2b3b9d1d247"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/e5a901dd3a42d0c46a90ee37a174938cd0ce55bf",
|
||||
"reference": "e5a901dd3a42d0c46a90ee37a174938cd0ce55bf",
|
||||
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/37a8ce927a69de3d821c21b64674a2b3b9d1d247",
|
||||
"reference": "37a8ce927a69de3d821c21b64674a2b3b9d1d247",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"guzzlehttp/guzzle": "~5.3|~6.0.1|~6.1",
|
||||
"guzzlehttp/promises": "~1.0",
|
||||
"guzzlehttp/psr7": "~1.0",
|
||||
"guzzlehttp/psr7": "~1.3.1",
|
||||
"mtdowling/jmespath.php": "~2.2",
|
||||
"php": ">=5.5"
|
||||
},
|
||||
@@ -401,7 +401,7 @@
|
||||
"s3",
|
||||
"sdk"
|
||||
],
|
||||
"time": "2016-06-23 23:17:52"
|
||||
"time": "2016-07-05 19:25:06"
|
||||
},
|
||||
{
|
||||
"name": "backup-manager/backup-manager",
|
||||
@@ -569,20 +569,20 @@
|
||||
},
|
||||
{
|
||||
"name": "barryvdh/laravel-cors",
|
||||
"version": "v0.8.0",
|
||||
"version": "v0.8.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/barryvdh/laravel-cors.git",
|
||||
"reference": "39975d7505757488f982ca132bcd02c704792fd8"
|
||||
"reference": "1998c8c7295d167cb744bbc45fbefad9b86b836c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/barryvdh/laravel-cors/zipball/39975d7505757488f982ca132bcd02c704792fd8",
|
||||
"reference": "39975d7505757488f982ca132bcd02c704792fd8",
|
||||
"url": "https://api.github.com/repos/barryvdh/laravel-cors/zipball/1998c8c7295d167cb744bbc45fbefad9b86b836c",
|
||||
"reference": "1998c8c7295d167cb744bbc45fbefad9b86b836c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"illuminate/support": "5.1.x|5.2.x",
|
||||
"illuminate/support": "5.1.x|5.2.x|5.3.x",
|
||||
"php": ">=5.5.9",
|
||||
"symfony/http-foundation": "~2.7|~3.0",
|
||||
"symfony/http-kernel": "~2.7|~3.0"
|
||||
@@ -618,7 +618,7 @@
|
||||
"crossdomain",
|
||||
"laravel"
|
||||
],
|
||||
"time": "2016-02-11 18:38:09"
|
||||
"time": "2016-06-22 06:36:34"
|
||||
},
|
||||
{
|
||||
"name": "christian-riesen/base32",
|
||||
@@ -2362,16 +2362,16 @@
|
||||
},
|
||||
{
|
||||
"name": "monolog/monolog",
|
||||
"version": "1.19.0",
|
||||
"version": "1.20.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Seldaek/monolog.git",
|
||||
"reference": "5f56ed5212dc509c8dc8caeba2715732abb32dbf"
|
||||
"reference": "55841909e2bcde01b5318c35f2b74f8ecc86e037"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/5f56ed5212dc509c8dc8caeba2715732abb32dbf",
|
||||
"reference": "5f56ed5212dc509c8dc8caeba2715732abb32dbf",
|
||||
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/55841909e2bcde01b5318c35f2b74f8ecc86e037",
|
||||
"reference": "55841909e2bcde01b5318c35f2b74f8ecc86e037",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2390,8 +2390,8 @@
|
||||
"php-console/php-console": "^3.1.3",
|
||||
"phpunit/phpunit": "~4.5",
|
||||
"phpunit/phpunit-mock-objects": "2.3.0",
|
||||
"raven/raven": "^0.13",
|
||||
"ruflin/elastica": ">=0.90 <3.0",
|
||||
"sentry/sentry": "^0.13",
|
||||
"swiftmailer/swiftmailer": "~5.3"
|
||||
},
|
||||
"suggest": {
|
||||
@@ -2403,9 +2403,9 @@
|
||||
"mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
|
||||
"php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
|
||||
"php-console/php-console": "Allow sending log messages to Google Chrome",
|
||||
"raven/raven": "Allow sending log messages to a Sentry server",
|
||||
"rollbar/rollbar": "Allow sending log messages to Rollbar",
|
||||
"ruflin/elastica": "Allow sending log messages to an Elastic Search server"
|
||||
"ruflin/elastica": "Allow sending log messages to an Elastic Search server",
|
||||
"sentry/sentry": "Allow sending log messages to a Sentry server"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
@@ -2436,7 +2436,7 @@
|
||||
"logging",
|
||||
"psr-3"
|
||||
],
|
||||
"time": "2016-04-12 18:29:35"
|
||||
"time": "2016-07-02 14:02:10"
|
||||
},
|
||||
{
|
||||
"name": "mtdowling/cron-expression",
|
||||
@@ -3117,16 +3117,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v3.0.7",
|
||||
"version": "v3.0.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "382fc9ed852edabd6133e34f8549d7a7d99db115"
|
||||
"reference": "a7abb7153f6d1da47f87ec50274844e246b09d9f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/382fc9ed852edabd6133e34f8549d7a7d99db115",
|
||||
"reference": "382fc9ed852edabd6133e34f8549d7a7d99db115",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/a7abb7153f6d1da47f87ec50274844e246b09d9f",
|
||||
"reference": "a7abb7153f6d1da47f87ec50274844e246b09d9f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3173,20 +3173,20 @@
|
||||
],
|
||||
"description": "Symfony Console Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2016-06-06 15:08:35"
|
||||
"time": "2016-06-29 07:02:21"
|
||||
},
|
||||
{
|
||||
"name": "symfony/css-selector",
|
||||
"version": "v3.1.1",
|
||||
"version": "v3.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/css-selector.git",
|
||||
"reference": "c526d7b3cb4fe1673c6a34e13be2ff63f519df99"
|
||||
"reference": "2851e1932d77ce727776154d659b232d061e816a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/css-selector/zipball/c526d7b3cb4fe1673c6a34e13be2ff63f519df99",
|
||||
"reference": "c526d7b3cb4fe1673c6a34e13be2ff63f519df99",
|
||||
"url": "https://api.github.com/repos/symfony/css-selector/zipball/2851e1932d77ce727776154d659b232d061e816a",
|
||||
"reference": "2851e1932d77ce727776154d659b232d061e816a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3226,20 +3226,20 @@
|
||||
],
|
||||
"description": "Symfony CssSelector Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2016-06-06 11:42:41"
|
||||
"time": "2016-06-29 05:41:56"
|
||||
},
|
||||
{
|
||||
"name": "symfony/debug",
|
||||
"version": "v3.0.7",
|
||||
"version": "v3.0.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/debug.git",
|
||||
"reference": "e67e1552dd7313df1cf6535cb606751899e0e727"
|
||||
"reference": "c54bc3539c3b87e86799533801e8ae0e971d78c2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/debug/zipball/e67e1552dd7313df1cf6535cb606751899e0e727",
|
||||
"reference": "e67e1552dd7313df1cf6535cb606751899e0e727",
|
||||
"url": "https://api.github.com/repos/symfony/debug/zipball/c54bc3539c3b87e86799533801e8ae0e971d78c2",
|
||||
"reference": "c54bc3539c3b87e86799533801e8ae0e971d78c2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3283,20 +3283,20 @@
|
||||
],
|
||||
"description": "Symfony Debug Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2016-06-06 15:08:35"
|
||||
"time": "2016-06-29 05:40:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher",
|
||||
"version": "v3.1.1",
|
||||
"version": "v3.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/event-dispatcher.git",
|
||||
"reference": "f5b7563f67779c6d3d5370e23448e707c858df3e"
|
||||
"reference": "7f9839ede2070f53e7e2f0849b9bd14748c434c5"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f5b7563f67779c6d3d5370e23448e707c858df3e",
|
||||
"reference": "f5b7563f67779c6d3d5370e23448e707c858df3e",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/7f9839ede2070f53e7e2f0849b9bd14748c434c5",
|
||||
"reference": "7f9839ede2070f53e7e2f0849b9bd14748c434c5",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3343,20 +3343,20 @@
|
||||
],
|
||||
"description": "Symfony EventDispatcher Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2016-06-06 11:42:41"
|
||||
"time": "2016-06-29 05:41:56"
|
||||
},
|
||||
{
|
||||
"name": "symfony/finder",
|
||||
"version": "v3.0.7",
|
||||
"version": "v3.0.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/finder.git",
|
||||
"reference": "39e5f3d533d07b5416b9d7aad53a27f939d4f811"
|
||||
"reference": "3eb4e64c6145ef8b92adefb618a74ebdde9e3fe9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/39e5f3d533d07b5416b9d7aad53a27f939d4f811",
|
||||
"reference": "39e5f3d533d07b5416b9d7aad53a27f939d4f811",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/3eb4e64c6145ef8b92adefb618a74ebdde9e3fe9",
|
||||
"reference": "3eb4e64c6145ef8b92adefb618a74ebdde9e3fe9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3392,20 +3392,20 @@
|
||||
],
|
||||
"description": "Symfony Finder Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2016-05-13 18:03:36"
|
||||
"time": "2016-06-29 05:40:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-foundation",
|
||||
"version": "v3.0.7",
|
||||
"version": "v3.0.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-foundation.git",
|
||||
"reference": "d268a643884f85e91d6ba11ca68de96833f3f6e5"
|
||||
"reference": "1341139f906d295baa4f4abd55293d07e25a065a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/d268a643884f85e91d6ba11ca68de96833f3f6e5",
|
||||
"reference": "d268a643884f85e91d6ba11ca68de96833f3f6e5",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/1341139f906d295baa4f4abd55293d07e25a065a",
|
||||
"reference": "1341139f906d295baa4f4abd55293d07e25a065a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3445,20 +3445,20 @@
|
||||
],
|
||||
"description": "Symfony HttpFoundation Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2016-06-06 11:33:26"
|
||||
"time": "2016-06-29 07:02:21"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-kernel",
|
||||
"version": "v3.0.7",
|
||||
"version": "v3.0.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-kernel.git",
|
||||
"reference": "97cc1c15e3406e7a2adf14ad6b0e41a04d4a6fc4"
|
||||
"reference": "177b63b2d50b63fa6d82ea41359ed9928cc7a1fb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/97cc1c15e3406e7a2adf14ad6b0e41a04d4a6fc4",
|
||||
"reference": "97cc1c15e3406e7a2adf14ad6b0e41a04d4a6fc4",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/177b63b2d50b63fa6d82ea41359ed9928cc7a1fb",
|
||||
"reference": "177b63b2d50b63fa6d82ea41359ed9928cc7a1fb",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3466,7 +3466,7 @@
|
||||
"psr/log": "~1.0",
|
||||
"symfony/debug": "~2.8|~3.0",
|
||||
"symfony/event-dispatcher": "~2.8|~3.0",
|
||||
"symfony/http-foundation": "~2.8|~3.0"
|
||||
"symfony/http-foundation": "~2.8.8|~3.0.8|~3.1.2|~3.2"
|
||||
},
|
||||
"conflict": {
|
||||
"symfony/config": "<2.8"
|
||||
@@ -3527,7 +3527,7 @@
|
||||
],
|
||||
"description": "Symfony HttpKernel Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2016-06-06 16:52:35"
|
||||
"time": "2016-06-30 16:30:17"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-mbstring",
|
||||
@@ -3698,16 +3698,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
"version": "v3.0.7",
|
||||
"version": "v3.0.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/process.git",
|
||||
"reference": "bf6e2d1fa8b93fdd7cca6b684c0ea213cf0255dd"
|
||||
"reference": "d7cde1f9d94d87060204f863779389b61c382eeb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/bf6e2d1fa8b93fdd7cca6b684c0ea213cf0255dd",
|
||||
"reference": "bf6e2d1fa8b93fdd7cca6b684c0ea213cf0255dd",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/d7cde1f9d94d87060204f863779389b61c382eeb",
|
||||
"reference": "d7cde1f9d94d87060204f863779389b61c382eeb",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3743,20 +3743,20 @@
|
||||
],
|
||||
"description": "Symfony Process Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2016-06-06 11:33:26"
|
||||
"time": "2016-06-29 05:40:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/routing",
|
||||
"version": "v3.0.7",
|
||||
"version": "v3.0.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/routing.git",
|
||||
"reference": "c780454838a1131adc756d737a4b4cc1d18f8c64"
|
||||
"reference": "9038984bd9c05ab07280121e9e10f61a7231457b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/routing/zipball/c780454838a1131adc756d737a4b4cc1d18f8c64",
|
||||
"reference": "c780454838a1131adc756d737a4b4cc1d18f8c64",
|
||||
"url": "https://api.github.com/repos/symfony/routing/zipball/9038984bd9c05ab07280121e9e10f61a7231457b",
|
||||
"reference": "9038984bd9c05ab07280121e9e10f61a7231457b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3818,20 +3818,20 @@
|
||||
"uri",
|
||||
"url"
|
||||
],
|
||||
"time": "2016-05-30 06:58:27"
|
||||
"time": "2016-06-29 05:40:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation",
|
||||
"version": "v3.0.7",
|
||||
"version": "v3.0.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/translation.git",
|
||||
"reference": "2b0aacaa613c0ec1ad8046f972d8abdcb19c1db7"
|
||||
"reference": "6bf844e1ee3c820c012386c10427a5c67bbefec8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/2b0aacaa613c0ec1ad8046f972d8abdcb19c1db7",
|
||||
"reference": "2b0aacaa613c0ec1ad8046f972d8abdcb19c1db7",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/6bf844e1ee3c820c012386c10427a5c67bbefec8",
|
||||
"reference": "6bf844e1ee3c820c012386c10427a5c67bbefec8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3882,20 +3882,20 @@
|
||||
],
|
||||
"description": "Symfony Translation Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2016-06-06 11:33:26"
|
||||
"time": "2016-06-29 05:40:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/var-dumper",
|
||||
"version": "v3.0.7",
|
||||
"version": "v3.0.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/var-dumper.git",
|
||||
"reference": "d8bb851da153d97abe7c2b71a65dee19f324bcf7"
|
||||
"reference": "2f046e9a9d571f22cc8b26783564876713b06579"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/d8bb851da153d97abe7c2b71a65dee19f324bcf7",
|
||||
"reference": "d8bb851da153d97abe7c2b71a65dee19f324bcf7",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/2f046e9a9d571f22cc8b26783564876713b06579",
|
||||
"reference": "2f046e9a9d571f22cc8b26783564876713b06579",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3945,7 +3945,7 @@
|
||||
"debug",
|
||||
"dump"
|
||||
],
|
||||
"time": "2016-05-24 10:03:10"
|
||||
"time": "2016-06-29 05:40:00"
|
||||
},
|
||||
{
|
||||
"name": "tijsverkoyen/css-to-inline-styles",
|
||||
@@ -5453,16 +5453,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/dom-crawler",
|
||||
"version": "v3.1.1",
|
||||
"version": "v3.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/dom-crawler.git",
|
||||
"reference": "12aa63fd41b060d2bee9a34623d29eda70bc8fe3"
|
||||
"reference": "99ec4a23330fcd0c8667095f3ef7aa204ffd9dc0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/12aa63fd41b060d2bee9a34623d29eda70bc8fe3",
|
||||
"reference": "12aa63fd41b060d2bee9a34623d29eda70bc8fe3",
|
||||
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/99ec4a23330fcd0c8667095f3ef7aa204ffd9dc0",
|
||||
"reference": "99ec4a23330fcd0c8667095f3ef7aa204ffd9dc0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5505,20 +5505,20 @@
|
||||
],
|
||||
"description": "Symfony DomCrawler Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2016-05-13 15:49:09"
|
||||
"time": "2016-06-29 05:41:56"
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
"version": "v3.1.1",
|
||||
"version": "v3.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/yaml.git",
|
||||
"reference": "c5a7e7fc273c758b92b85dcb9c46149ccda89623"
|
||||
"reference": "2884c26ce4c1d61aebf423a8b912950fe7c764de"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/c5a7e7fc273c758b92b85dcb9c46149ccda89623",
|
||||
"reference": "c5a7e7fc273c758b92b85dcb9c46149ccda89623",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/2884c26ce4c1d61aebf423a8b912950fe7c764de",
|
||||
"reference": "2884c26ce4c1d61aebf423a8b912950fe7c764de",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5554,7 +5554,7 @@
|
||||
],
|
||||
"description": "Symfony Yaml Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2016-06-14 11:18:07"
|
||||
"time": "2016-06-29 05:41:56"
|
||||
},
|
||||
{
|
||||
"name": "webmozart/assert",
|
||||
|
||||
File diff suppressed because one or more lines are too long
21
public/build/dist/js/all-0bf8973998.js
vendored
21
public/build/dist/js/all-0bf8973998.js
vendored
File diff suppressed because one or more lines are too long
21
public/build/dist/js/all-41ed801435.js
vendored
Normal file
21
public/build/dist/js/all-41ed801435.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"dist/css/all.css": "dist/css/all-20deff324c.css",
|
||||
"dist/js/all.js": "dist/js/all-0bf8973998.js"
|
||||
"dist/css/all.css": "dist/css/all-81fdbf996d.css",
|
||||
"dist/js/all.js": "dist/js/all-41ed801435.js"
|
||||
}
|
||||
0
resources/lang/af/cachet.php
Executable file → Normal file
0
resources/lang/af/cachet.php
Executable file → Normal file
0
resources/lang/af/dashboard.php
Executable file → Normal file
0
resources/lang/af/dashboard.php
Executable file → Normal file
0
resources/lang/af/forms.php
Executable file → Normal file
0
resources/lang/af/forms.php
Executable file → Normal file
0
resources/lang/af/pagination.php
Executable file → Normal file
0
resources/lang/af/pagination.php
Executable file → Normal file
0
resources/lang/af/setup.php
Executable file → Normal file
0
resources/lang/af/setup.php
Executable file → Normal file
0
resources/lang/af/validation.php
Executable file → Normal file
0
resources/lang/af/validation.php
Executable file → Normal file
0
resources/lang/ar/cachet.php
Executable file → Normal file
0
resources/lang/ar/cachet.php
Executable file → Normal file
0
resources/lang/ar/dashboard.php
Executable file → Normal file
0
resources/lang/ar/dashboard.php
Executable file → Normal file
0
resources/lang/ar/forms.php
Executable file → Normal file
0
resources/lang/ar/forms.php
Executable file → Normal file
0
resources/lang/ar/pagination.php
Executable file → Normal file
0
resources/lang/ar/pagination.php
Executable file → Normal file
0
resources/lang/ar/setup.php
Executable file → Normal file
0
resources/lang/ar/setup.php
Executable file → Normal file
0
resources/lang/ar/validation.php
Executable file → Normal file
0
resources/lang/ar/validation.php
Executable file → Normal file
0
resources/lang/ca/cachet.php
Executable file → Normal file
0
resources/lang/ca/cachet.php
Executable file → Normal file
0
resources/lang/ca/dashboard.php
Executable file → Normal file
0
resources/lang/ca/dashboard.php
Executable file → Normal file
0
resources/lang/ca/forms.php
Executable file → Normal file
0
resources/lang/ca/forms.php
Executable file → Normal file
0
resources/lang/ca/pagination.php
Executable file → Normal file
0
resources/lang/ca/pagination.php
Executable file → Normal file
0
resources/lang/ca/setup.php
Executable file → Normal file
0
resources/lang/ca/setup.php
Executable file → Normal file
0
resources/lang/ca/validation.php
Executable file → Normal file
0
resources/lang/ca/validation.php
Executable file → Normal file
0
resources/lang/cs/cachet.php
Executable file → Normal file
0
resources/lang/cs/cachet.php
Executable file → Normal file
0
resources/lang/cs/dashboard.php
Executable file → Normal file
0
resources/lang/cs/dashboard.php
Executable file → Normal file
0
resources/lang/cs/forms.php
Executable file → Normal file
0
resources/lang/cs/forms.php
Executable file → Normal file
0
resources/lang/cs/pagination.php
Executable file → Normal file
0
resources/lang/cs/pagination.php
Executable file → Normal file
0
resources/lang/cs/setup.php
Executable file → Normal file
0
resources/lang/cs/setup.php
Executable file → Normal file
0
resources/lang/cs/validation.php
Executable file → Normal file
0
resources/lang/cs/validation.php
Executable file → Normal file
0
resources/lang/da/cachet.php
Executable file → Normal file
0
resources/lang/da/cachet.php
Executable file → Normal file
0
resources/lang/da/dashboard.php
Executable file → Normal file
0
resources/lang/da/dashboard.php
Executable file → Normal file
0
resources/lang/da/forms.php
Executable file → Normal file
0
resources/lang/da/forms.php
Executable file → Normal file
0
resources/lang/da/pagination.php
Executable file → Normal file
0
resources/lang/da/pagination.php
Executable file → Normal file
0
resources/lang/da/setup.php
Executable file → Normal file
0
resources/lang/da/setup.php
Executable file → Normal file
0
resources/lang/da/validation.php
Executable file → Normal file
0
resources/lang/da/validation.php
Executable file → Normal file
12
resources/lang/de/cachet.php
Executable file → Normal file
12
resources/lang/de/cachet.php
Executable file → Normal file
@@ -75,21 +75,21 @@ return [
|
||||
'subscribe' => 'Aktualisierungen per E-Mail abonnieren.',
|
||||
'subscribed' => 'Sie haben E-Mail-Benachrichtigungen abonniert, überprüfen Sie bitte Ihre E-Mail, um Ihr Abonnement zu bestätigen.',
|
||||
'verified' => 'Ihre E-Mail-Abonnement ist bestätigt worden. Danke!',
|
||||
'manage' => 'Manage your subscription',
|
||||
'manage' => 'Verwalte deine Abonnements',
|
||||
'unsubscribe' => 'Von E-Mail-Updates deabonnieren.',
|
||||
'unsubscribed' => 'Ihre E-Mail-Abonnement wurde gekündigt.',
|
||||
'failure' => 'Etwas ist mit dem Abonnement schief gelaufen.',
|
||||
'already-subscribed' => 'Abonnement für :email konnte nicht registriert werden, da die E-Mail Adresse schon registriert ist.',
|
||||
'verify' => [
|
||||
'text' => "Please confirm your email subscription to :app_name status updates.\n:link",
|
||||
'html' => '<p>Please confirm your email subscription to :app_name status updates.</p>',
|
||||
'button' => 'Confirm Subscription',
|
||||
'text' => "Bitte bestätige die E-Mail-Benachrichtigungen unter :app_name status updates.\n:link",
|
||||
'html' => '<p>Bitte bestätige deine E-Mail-Benachrichtigung unter :app_name status updates.</p>',
|
||||
'button' => 'Abonnement bestätigen',
|
||||
],
|
||||
'maintenance' => [
|
||||
'subject' => '[Maintenance Scheduled] :name',
|
||||
'subject' => '[Planmäßige Wartung] :name',
|
||||
],
|
||||
'incident' => [
|
||||
'subject' => '[New Incident] :status: :name',
|
||||
'subject' => '[Neuer Vorfall] :status: :name',
|
||||
],
|
||||
'component' => [
|
||||
'subject' => 'Komponent Status Update',
|
||||
|
||||
22
resources/lang/de/dashboard.php
Executable file → Normal file
22
resources/lang/de/dashboard.php
Executable file → Normal file
@@ -150,7 +150,7 @@ return [
|
||||
'title' => 'Einen neuen Abonnenten hinzufügen',
|
||||
'success' => 'Abonnent hinzugefügt.',
|
||||
'failure' => 'Etwas lief schief dem dem Hinzufügen eines Abonnenten. Bitte versuchen Sie es erneut.',
|
||||
'help' => 'Gebe jeden Abonnenten in eine neue Zeile ein.',
|
||||
'help' => 'Gib jeden Abonnenten in eine neue Zeile ein.',
|
||||
],
|
||||
'edit' => [
|
||||
'title' => 'Abonnent aktualisieren',
|
||||
@@ -220,12 +220,12 @@ return [
|
||||
'failure' => 'Einstellungen konnten nicht gespeichert werden.',
|
||||
],
|
||||
'credits' => [
|
||||
'credits' => 'Credits',
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
'credits' => 'Danksagungen',
|
||||
'contributors' => 'Unterstützer',
|
||||
'license' => 'Cachet ist ein BSD-3-lizensiertes Open Source-Projekt, veröffentlicht von <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Unterstützer & Sponsoren',
|
||||
'backers' => 'Wenn Du die Entwicklung der Software unterstützen möchtest, kannst Du unter <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> einen Beitrag leisten.',
|
||||
'thank-you' => 'Vielen Dank an jeden der :count Unterstützer.',
|
||||
],
|
||||
],
|
||||
|
||||
@@ -251,10 +251,10 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
'support' => 'Cachet unterstützen',
|
||||
'support_subtitle' => 'Unterstütze uns unter <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong>!',
|
||||
'news' => 'Aktuelle Neuigkeiten',
|
||||
'news_subtitle' => 'Erhalte die neusten Nachrichten',
|
||||
],
|
||||
|
||||
// Welcome modal
|
||||
|
||||
4
resources/lang/de/forms.php
Executable file → Normal file
4
resources/lang/de/forms.php
Executable file → Normal file
@@ -34,7 +34,7 @@ return [
|
||||
'invalid' => 'Ungültiger Benutzername oder Passwort',
|
||||
'invalid-token' => 'Token ist ungültig',
|
||||
'cookies' => 'Sie müssen Cookies aktivieren um sich anzumelden.',
|
||||
'rate-limit' => 'Rate limit exceeded.',
|
||||
'rate-limit' => 'Maximale Anzahl von Bewertungen erreicht.',
|
||||
],
|
||||
|
||||
// Incidents form fields
|
||||
@@ -90,7 +90,7 @@ return [
|
||||
'type_avg' => 'Durchschnitt',
|
||||
'places' => 'Nachkommastellen',
|
||||
'default_view' => 'Standardansicht',
|
||||
'threshold' => 'How many minutes of threshold between metric points?',
|
||||
'threshold' => 'Wie viele Minuten soll der Abstand zwischen den Messpunkten sein?',
|
||||
|
||||
'points' => [
|
||||
'value' => 'Wert',
|
||||
|
||||
0
resources/lang/de/pagination.php
Executable file → Normal file
0
resources/lang/de/pagination.php
Executable file → Normal file
0
resources/lang/de/setup.php
Executable file → Normal file
0
resources/lang/de/setup.php
Executable file → Normal file
54
resources/lang/de/validation.php
Executable file → Normal file
54
resources/lang/de/validation.php
Executable file → Normal file
@@ -37,54 +37,54 @@ return [
|
||||
'array' => ':attribute muss zwischen :min & :max Elemente haben.',
|
||||
],
|
||||
'boolean' => ':attribute muss zwischen :min & :max Elemente haben.',
|
||||
'confirmed' => 'The :attribute field must be true or false.',
|
||||
'date' => 'The :attribute confirmation does not match.',
|
||||
'date_format' => 'The :attribute is not a valid date.',
|
||||
'different' => 'The :attribute does not match the format :format.',
|
||||
'digits' => 'The :attribute and :other must be different.',
|
||||
'digits_between' => 'The :attribute must be :digits digits.',
|
||||
'email' => 'The :attribute must be between :min and :max digits.',
|
||||
'exists' => 'The :attribute must be a valid email address.',
|
||||
'distinct' => 'The :attribute field has a duplicate value.',
|
||||
'confirmed' => ':attribute Feld muss richtig oder falsch sein.',
|
||||
'date' => ':attribute stimmt nicht mit der Bestätigung überein.',
|
||||
'date_format' => ':attribute ist kein gültiges Datum.',
|
||||
'different' => ':attribute entspricht nicht dem gültigen Format :format.',
|
||||
'digits' => ':attribute und :other müssen sich unterscheiden.',
|
||||
'digits_between' => ':attribute muss :digits Stellen haben.',
|
||||
'email' => ':attribute soll mindestens :min und darf maximal :max Stellen haben.',
|
||||
'exists' => ':attribute muss eine gültige Emailadresse sein.',
|
||||
'distinct' => ':attribute hat doppelte Werte.',
|
||||
'filled' => 'Das Format von :attribute ist ungültig.',
|
||||
'image' => ':attribute muss ein Bild sein.',
|
||||
'in' => ':attribute muss ein Bild sein.',
|
||||
'in_array' => 'The :attribute field does not exist in :other.',
|
||||
'integer' => 'The selected :attribute is invalid.',
|
||||
'ip' => 'The :attribute must be an integer.',
|
||||
'in_array' => ':attribute existiert nicht in :other.',
|
||||
'integer' => 'Das ausgewählte :attribute ist ungültig.',
|
||||
'ip' => ':attribute muss eine ganze Zahl sein.',
|
||||
'json' => ':attribut muss ein gültiger JSON-String sein.',
|
||||
'max' => [
|
||||
'numeric' => 'The :attribute must be a valid IP address.',
|
||||
'file' => 'The :attribute may not be greater than :max.',
|
||||
'string' => 'The :attribute may not be greater than :max kilobytes.',
|
||||
'numeric' => ':attribute muss eine gültige IP-Adresse sein.',
|
||||
'file' => ':attribute darf nicht größer als :max sein.',
|
||||
'string' => ':attribute darf nicht größer als :max kb sein.',
|
||||
'array' => ':attribute darf nicht mehr als :max Elemente haben.',
|
||||
],
|
||||
'mimes' => ':attribute darf nicht mehr als :max Elemente haben.',
|
||||
'min' => [
|
||||
'numeric' => 'The :attribute must be a file of type: :values.',
|
||||
'numeric' => ':attribute muss eine Datei des Typs :values sein.',
|
||||
'file' => ':attribute muss mindestens :min Kilobytes groß sein.',
|
||||
'string' => ':attribute muss mindestens :min Kilobytes groß sein.',
|
||||
'array' => 'The :attribute must be at least :min characters.',
|
||||
'array' => ':attribute muss mindestens :min Zeichen lang sein.',
|
||||
],
|
||||
'not_in' => 'The :attribute must have at least :min items.',
|
||||
'numeric' => 'The selected :attribute is invalid.',
|
||||
'present' => 'The :attribute field must be present.',
|
||||
'regex' => 'The :attribute must be a number.',
|
||||
'not_in' => ':attribute muss mindestens :min Elemente haben.',
|
||||
'numeric' => 'Das ausgewählte :attribute ist ungültig.',
|
||||
'present' => ':attribute muss ausgefüllt sein.',
|
||||
'regex' => ':attribute muss eine Zahl sein.',
|
||||
'required' => 'Das Format von :attribute ist ungültig.',
|
||||
'required_if' => 'The :attribute field is required.',
|
||||
'required_if' => ':attribute muss ausgefüllt sein.',
|
||||
'required_unless' => 'Das :attribute Feld ist erforderlich außer :other hat den Wert :values.',
|
||||
'required_with' => 'The :attribute field is required when :other is :value.',
|
||||
'required_with' => ':attribute muss angegeben werden, wenn :values ausgefüllt wurde.',
|
||||
'required_with_all' => ':attribute muss angegeben werden, wenn :values ausgefüllt wurde.',
|
||||
'required_without' => ':attribute muss angegeben werden, wenn :values ausgefüllt wurde.',
|
||||
'required_without_all' => 'The :attribute field is required when :values is not present.',
|
||||
'same' => 'The :attribute field is required when none of :values are present.',
|
||||
'required_without_all' => ':attribute muss angegeben werden, wenn :values nicht ausgefüllt wurde.',
|
||||
'same' => ':attribute ist erforderlich, wenn keines von :values vorhanden ist.',
|
||||
'size' => [
|
||||
'numeric' => 'The :attribute and :other must match.',
|
||||
'numeric' => ':attribute und :other müssen übereinstimmen.',
|
||||
'file' => ':attribute muss :size Kilobytes groß sein.',
|
||||
'string' => ':attribute muss :size Zeichen lang sein.',
|
||||
'array' => ':attribute muss :size Zeichen lang sein.',
|
||||
],
|
||||
'string' => 'The :attribute must contain :size items.',
|
||||
'string' => ':attribute muss :size Elemente beinhalten.',
|
||||
'timezone' => ':attribute muss eine gültige Zeitzone sein.',
|
||||
'unique' => ':attribute ist schon vergeben.',
|
||||
'url' => 'Das Format von :attribute ist ungültig.',
|
||||
|
||||
0
resources/lang/el/cachet.php
Executable file → Normal file
0
resources/lang/el/cachet.php
Executable file → Normal file
0
resources/lang/el/dashboard.php
Executable file → Normal file
0
resources/lang/el/dashboard.php
Executable file → Normal file
0
resources/lang/el/forms.php
Executable file → Normal file
0
resources/lang/el/forms.php
Executable file → Normal file
0
resources/lang/el/pagination.php
Executable file → Normal file
0
resources/lang/el/pagination.php
Executable file → Normal file
0
resources/lang/el/setup.php
Executable file → Normal file
0
resources/lang/el/setup.php
Executable file → Normal file
0
resources/lang/el/validation.php
Executable file → Normal file
0
resources/lang/el/validation.php
Executable file → Normal file
0
resources/lang/en-UD/cachet.php
Executable file → Normal file
0
resources/lang/en-UD/cachet.php
Executable file → Normal file
0
resources/lang/en-UD/dashboard.php
Executable file → Normal file
0
resources/lang/en-UD/dashboard.php
Executable file → Normal file
0
resources/lang/en-UD/forms.php
Executable file → Normal file
0
resources/lang/en-UD/forms.php
Executable file → Normal file
0
resources/lang/en-UD/pagination.php
Executable file → Normal file
0
resources/lang/en-UD/pagination.php
Executable file → Normal file
0
resources/lang/en-UD/setup.php
Executable file → Normal file
0
resources/lang/en-UD/setup.php
Executable file → Normal file
0
resources/lang/en-UD/validation.php
Executable file → Normal file
0
resources/lang/en-UD/validation.php
Executable file → Normal file
0
resources/lang/en/cachet.php
Executable file → Normal file
0
resources/lang/en/cachet.php
Executable file → Normal file
6
resources/lang/en/dashboard.php
Executable file → Normal file
6
resources/lang/en/dashboard.php
Executable file → Normal file
@@ -86,12 +86,12 @@ return [
|
||||
'title' => 'Add a component',
|
||||
'message' => 'You should add a component.',
|
||||
'success' => 'Component created.',
|
||||
'failure' => 'Something went wrong with the component, please try again.',
|
||||
'failure' => 'Something went wrong with the component group, please try again.',
|
||||
],
|
||||
'edit' => [
|
||||
'title' => 'Edit a component',
|
||||
'success' => 'Component updated.',
|
||||
'failure' => 'Something went wrong with the component, please try again.',
|
||||
'failure' => 'Something went wrong with the component group, please try again.',
|
||||
],
|
||||
'delete' => [
|
||||
'success' => 'The component has been deleted!',
|
||||
@@ -254,7 +254,7 @@ return [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
'news_subtitle' => 'Get the latest update',
|
||||
],
|
||||
|
||||
// Welcome modal
|
||||
|
||||
5
resources/lang/en/forms.php
Executable file → Normal file
5
resources/lang/en/forms.php
Executable file → Normal file
@@ -23,11 +23,6 @@ return [
|
||||
'enable_google2fa' => 'Enable Google Two Factor Authentication',
|
||||
'cache_driver' => 'Cache Driver',
|
||||
'session_driver' => 'Session Driver',
|
||||
'mail_driver' => 'Mail Driver',
|
||||
'mail_host' => 'Mail Host',
|
||||
'mail_address' => 'Mail From',
|
||||
'mail_username' => 'Mail Client User',
|
||||
'mail_password' => 'Mail Client Password',
|
||||
],
|
||||
|
||||
// Login form fields
|
||||
|
||||
0
resources/lang/en/pagination.php
Executable file → Normal file
0
resources/lang/en/pagination.php
Executable file → Normal file
0
resources/lang/en/setup.php
Executable file → Normal file
0
resources/lang/en/setup.php
Executable file → Normal file
0
resources/lang/en/validation.php
Executable file → Normal file
0
resources/lang/en/validation.php
Executable file → Normal file
12
resources/lang/es/cachet.php
Executable file → Normal file
12
resources/lang/es/cachet.php
Executable file → Normal file
@@ -75,21 +75,21 @@ return [
|
||||
'subscribe' => 'Suscríbete para recibir actualizaciones por correo electrónico.',
|
||||
'subscribed' => 'Te has subscrito a las notificaciones por correo electrónico, por favor verifica tu correo electrónico para confirmar tu subscripción.',
|
||||
'verified' => 'Tu subscripción por correo electrónico ha sido confirmada. Gracias!',
|
||||
'manage' => 'Manage your subscription',
|
||||
'manage' => 'Administre su suscripción',
|
||||
'unsubscribe' => 'Darse de baja de alertas.',
|
||||
'unsubscribed' => 'Tu subscripción de correo electrónico ha sido cancelada.',
|
||||
'failure' => 'Algo salió mal con la subscripción.',
|
||||
'already-subscribed' => 'No se puede suscribir :email porque ya esta suscrito.',
|
||||
'verify' => [
|
||||
'text' => "Please confirm your email subscription to :app_name status updates.\n:link",
|
||||
'html' => '<p>Please confirm your email subscription to :app_name status updates.</p>',
|
||||
'button' => 'Confirm Subscription',
|
||||
'text' => "Por favor confirme su subscripcion por correo a las actualizaciones de estado de :app_name.\n:link",
|
||||
'html' => '<p>Por favor confirme su suscripción por correo a las actualizaciones de estado de :app_name.</p>',
|
||||
'button' => 'Confirme su suscripción',
|
||||
],
|
||||
'maintenance' => [
|
||||
'subject' => '[Maintenance Scheduled] :name',
|
||||
'subject' => '[Mantenimiento programado] :name',
|
||||
],
|
||||
'incident' => [
|
||||
'subject' => '[New Incident] :status: :name',
|
||||
'subject' => '[Nuevo incidente] :status: :name',
|
||||
],
|
||||
'component' => [
|
||||
'subject' => 'Actualización de estado del componente',
|
||||
|
||||
20
resources/lang/es/dashboard.php
Executable file → Normal file
20
resources/lang/es/dashboard.php
Executable file → Normal file
@@ -220,12 +220,12 @@ return [
|
||||
'failure' => 'La configuración no se podido guardar.',
|
||||
],
|
||||
'credits' => [
|
||||
'credits' => 'Credits',
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
'credits' => 'Créditos',
|
||||
'contributors' => 'Colaboradores',
|
||||
'license' => 'Cachet es un proyecto de código libre bajo la licencia BSD-3, liberado por <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Patrocinadores',
|
||||
'backers' => 'Si desea apoyar futuros desarrollos, ingrese a la campaña de <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a>.',
|
||||
'thank-you' => 'Gracias a todos y cada uno de los :count colaboradores.',
|
||||
],
|
||||
],
|
||||
|
||||
@@ -251,10 +251,10 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
'support' => 'Apoye Cachet',
|
||||
'support_subtitle' => '¡Visite nuestro proyecto en la página de <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong>!',
|
||||
'news' => 'Últimas noticias',
|
||||
'news_subtitle' => 'Obtener las actualizaciones más recientes',
|
||||
],
|
||||
|
||||
// Welcome modal
|
||||
|
||||
6
resources/lang/es/forms.php
Executable file → Normal file
6
resources/lang/es/forms.php
Executable file → Normal file
@@ -31,10 +31,10 @@ return [
|
||||
'email' => 'Correo electrónico',
|
||||
'password' => 'Contraseña',
|
||||
'2fauth' => 'Código de Autenticación',
|
||||
'invalid' => 'Nombre de usuario o contraseña incorrectos',
|
||||
'invalid' => 'Nombre de usuario o contraseña incorrecto',
|
||||
'invalid-token' => 'Token inválido',
|
||||
'cookies' => 'Usted debe habilitar cookies para logearse o iniciar sesion.',
|
||||
'rate-limit' => 'Rate limit exceeded.',
|
||||
'rate-limit' => 'Límite de transferencia excedido.',
|
||||
],
|
||||
|
||||
// Incidents form fields
|
||||
@@ -109,7 +109,7 @@ return [
|
||||
'banner' => 'Imagen del banner',
|
||||
'banner-help' => 'Se recomienda subir una imagen no más grande de 930px de ancho .',
|
||||
'subscribers' => '¿Permitir a la gente inscribirse mediante noficiacion por correo electronico?',
|
||||
'automatic_localization' => '¿Usar automáticamente la localización para página de estado según lenguaje del visitante?',
|
||||
'automatic_localization' => '¿Traducir automáticamente la página de estado según el lenguaje del visitante?',
|
||||
],
|
||||
'analytics' => [
|
||||
'analytics_google' => 'Código de Google Analytics',
|
||||
|
||||
0
resources/lang/es/pagination.php
Executable file → Normal file
0
resources/lang/es/pagination.php
Executable file → Normal file
0
resources/lang/es/setup.php
Executable file → Normal file
0
resources/lang/es/setup.php
Executable file → Normal file
0
resources/lang/es/validation.php
Executable file → Normal file
0
resources/lang/es/validation.php
Executable file → Normal file
0
resources/lang/fa/cachet.php
Executable file → Normal file
0
resources/lang/fa/cachet.php
Executable file → Normal file
0
resources/lang/fa/dashboard.php
Executable file → Normal file
0
resources/lang/fa/dashboard.php
Executable file → Normal file
0
resources/lang/fa/forms.php
Executable file → Normal file
0
resources/lang/fa/forms.php
Executable file → Normal file
0
resources/lang/fa/pagination.php
Executable file → Normal file
0
resources/lang/fa/pagination.php
Executable file → Normal file
0
resources/lang/fa/setup.php
Executable file → Normal file
0
resources/lang/fa/setup.php
Executable file → Normal file
0
resources/lang/fa/validation.php
Executable file → Normal file
0
resources/lang/fa/validation.php
Executable file → Normal file
2
resources/lang/fi/cachet.php
Executable file → Normal file
2
resources/lang/fi/cachet.php
Executable file → Normal file
@@ -83,7 +83,7 @@ return [
|
||||
'verify' => [
|
||||
'text' => "Please confirm your email subscription to :app_name status updates.\n:link",
|
||||
'html' => '<p>Please confirm your email subscription to :app_name status updates.</p>',
|
||||
'button' => 'Confirm Subscription',
|
||||
'button' => 'Vahvista tilaus',
|
||||
],
|
||||
'maintenance' => [
|
||||
'subject' => '[Maintenance Scheduled] :name',
|
||||
|
||||
0
resources/lang/fi/dashboard.php
Executable file → Normal file
0
resources/lang/fi/dashboard.php
Executable file → Normal file
0
resources/lang/fi/forms.php
Executable file → Normal file
0
resources/lang/fi/forms.php
Executable file → Normal file
0
resources/lang/fi/pagination.php
Executable file → Normal file
0
resources/lang/fi/pagination.php
Executable file → Normal file
0
resources/lang/fi/setup.php
Executable file → Normal file
0
resources/lang/fi/setup.php
Executable file → Normal file
8
resources/lang/fi/validation.php
Executable file → Normal file
8
resources/lang/fi/validation.php
Executable file → Normal file
@@ -46,7 +46,7 @@ return [
|
||||
'email' => 'The :attribute must be between :min and :max digits.',
|
||||
'exists' => 'The :attribute must be a valid email address.',
|
||||
'distinct' => 'The :attribute field has a duplicate value.',
|
||||
'filled' => 'The :attribute format is invalid.',
|
||||
'filled' => 'Määritteen :attribute muoto on virheellinen.',
|
||||
'image' => 'The :attribute must be an image.',
|
||||
'in' => 'The :attribute must be an image.',
|
||||
'in_array' => 'The :attribute field does not exist in :other.',
|
||||
@@ -70,7 +70,7 @@ return [
|
||||
'numeric' => 'The selected :attribute is invalid.',
|
||||
'present' => 'The :attribute field must be present.',
|
||||
'regex' => 'The :attribute must be a number.',
|
||||
'required' => 'The :attribute format is invalid.',
|
||||
'required' => 'Määritteen :attribute muoto on virheellinen.',
|
||||
'required_if' => 'The :attribute field is required.',
|
||||
'required_unless' => 'The :attribute field is required unless :other is in :values.',
|
||||
'required_with' => 'The :attribute field is required when :other is :value.',
|
||||
@@ -86,8 +86,8 @@ return [
|
||||
],
|
||||
'string' => 'The :attribute must contain :size items.',
|
||||
'timezone' => 'The :attribute must be a valid zone.',
|
||||
'unique' => 'The :attribute has already been taken.',
|
||||
'url' => 'The :attribute format is invalid.',
|
||||
'unique' => 'Määrite :attribute on jo käytetty.',
|
||||
'url' => 'Määritteen :attribute muoto on virheellinen.',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
||||
12
resources/lang/fr/cachet.php
Executable file → Normal file
12
resources/lang/fr/cachet.php
Executable file → Normal file
@@ -75,21 +75,21 @@ return [
|
||||
'subscribe' => 'S\'abonner aux notifications par email.',
|
||||
'subscribed' => 'Vous êtes abonné aux notifications par email, veuillez vérifier votre messagerie pour confirmer votre adresse.',
|
||||
'verified' => 'Votre abonnement aux notifications par email a été confirmé. Merci !',
|
||||
'manage' => 'Manage your subscription',
|
||||
'manage' => 'Gérer votre abonnement',
|
||||
'unsubscribe' => 'Désinscription des mises à jour par courriel.',
|
||||
'unsubscribed' => 'Votre abonnement aux notifications par email a été annulé.',
|
||||
'failure' => 'Une erreur est survenue lors de l\'abonnement.',
|
||||
'already-subscribed' => 'Impossible de s\'abonner avec l\'adresse e-mail :email car celle-ci est déjà abonnée.',
|
||||
'verify' => [
|
||||
'text' => "Please confirm your email subscription to :app_name status updates.\n:link",
|
||||
'html' => '<p>Please confirm your email subscription to :app_name status updates.</p>',
|
||||
'button' => 'Confirm Subscription',
|
||||
'text' => "Veuillez confirmer votre abonnement par courriel aux changements de statut de :app_name.\n:link",
|
||||
'html' => '<p>Veuillez confirmer votre abonnement par courriel aux changements de statut de :app_name.</p>',
|
||||
'button' => 'Confirmer l\'abonnement',
|
||||
],
|
||||
'maintenance' => [
|
||||
'subject' => '[Maintenance Scheduled] :name',
|
||||
'subject' => '[Maintenance planifiée] :name',
|
||||
],
|
||||
'incident' => [
|
||||
'subject' => '[New Incident] :status: :name',
|
||||
'subject' => '[Nouvel incident] :status: :name',
|
||||
],
|
||||
'component' => [
|
||||
'subject' => 'Mise à jour du statut d\'un composant',
|
||||
|
||||
20
resources/lang/fr/dashboard.php
Executable file → Normal file
20
resources/lang/fr/dashboard.php
Executable file → Normal file
@@ -220,12 +220,12 @@ return [
|
||||
'failure' => 'Les paramètres n\'ont pas pu être sauvegardés.',
|
||||
],
|
||||
'credits' => [
|
||||
'credits' => 'Credits',
|
||||
'contributors' => 'Contributors',
|
||||
'license' => 'Cachet is a BSD-3-licensed open source project, released by <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Backers & Sponsors',
|
||||
'backers' => 'If you\'d like to support future development, check out the <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a> campaign.',
|
||||
'thank-you' => 'Thank you to each and every one of the :count contributors.',
|
||||
'credits' => 'Crédits',
|
||||
'contributors' => 'Contributeurs',
|
||||
'license' => 'Cachet est un logiciel libre sous licence BSD-3 édité par <a href="https://alt-three.com/?utm_source=cachet&utm_medium=credits&utm_campaign=Cachet%20Credit%20Dashboard" target="_blank">Alt Three Services Limited</a>.',
|
||||
'backers-title' => 'Partenaires financiers et sponsors',
|
||||
'backers' => 'Si vous souhaitez aider des développements futurs jetez un œil à la campagne <a href="https://patreon.com/jbrooksuk" target="_blank">Cachet Patreon</a>.',
|
||||
'thank-you' => 'Merci à chacun des :count contributeurs.',
|
||||
],
|
||||
],
|
||||
|
||||
@@ -251,10 +251,10 @@ return [
|
||||
|
||||
// Widgets
|
||||
'widgets' => [
|
||||
'support' => 'Support Cachet',
|
||||
'support_subtitle' => 'Check out our <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong> page!',
|
||||
'news' => 'Latest News',
|
||||
'news_subtitle' => 'Get the latest updates',
|
||||
'support' => 'Supportez Cachet',
|
||||
'support_subtitle' => 'Jetez un œil à la page <strong><a href="https://patreon.com/jbrooksuk" target="_blank">Patreon</a></strong>!',
|
||||
'news' => 'Dernières actualités',
|
||||
'news_subtitle' => 'Obtenez les dernières mises à jour',
|
||||
],
|
||||
|
||||
// Welcome modal
|
||||
|
||||
2
resources/lang/fr/forms.php
Executable file → Normal file
2
resources/lang/fr/forms.php
Executable file → Normal file
@@ -34,7 +34,7 @@ return [
|
||||
'invalid' => 'Nom d\'utilisateur ou mot de passe incorrect',
|
||||
'invalid-token' => 'Jeton invalide',
|
||||
'cookies' => 'Vous devez activer les cookies pour vous connecter.',
|
||||
'rate-limit' => 'Rate limit exceeded.',
|
||||
'rate-limit' => 'Limite de tentatives atteinte.',
|
||||
],
|
||||
|
||||
// Incidents form fields
|
||||
|
||||
0
resources/lang/fr/pagination.php
Executable file → Normal file
0
resources/lang/fr/pagination.php
Executable file → Normal file
0
resources/lang/fr/setup.php
Executable file → Normal file
0
resources/lang/fr/setup.php
Executable file → Normal file
10
resources/lang/fr/validation.php
Executable file → Normal file
10
resources/lang/fr/validation.php
Executable file → Normal file
@@ -32,24 +32,24 @@ return [
|
||||
'before' => ':attribute doit être une date inférieur à :date.',
|
||||
'between' => [
|
||||
'numeric' => ':attribute doit être une date inférieur à :date.',
|
||||
'file' => ':attribute doit être comprise entre :min et :max.',
|
||||
'string' => ':attribute doit être comprise entre :min et :max kilobytes.',
|
||||
'file' => 'La valeur de :attribute doit être comprise entre :min et :max.',
|
||||
'string' => 'La valeur :attribute doit être comprise entre :min et :max kilobytes.',
|
||||
'array' => 'attribute doit être entre :min et :max éléments.',
|
||||
],
|
||||
'boolean' => 'attribute doit être entre :min et :max éléments.',
|
||||
'confirmed' => 'Le champ :attribute doit être vrai ou faux.',
|
||||
'date' => 'Le champ de confirmation :attribute ne correspond pas.',
|
||||
'date' => 'La confirmation de :attribute ne correspond pas.',
|
||||
'date_format' => ':attribute n\'est pas une date valide.',
|
||||
'different' => ':attribute ne correspond pas au format :format.',
|
||||
'digits' => ':attribute et :other doivent être différents.',
|
||||
'digits_between' => ':attribute doit contenir :digits chiffres.',
|
||||
'email' => ':attribute doit contenir entre :min et :max chiffres.',
|
||||
'email' => 'La valeur de :attribute doit être comprise entre :min et :max chiffres.',
|
||||
'exists' => ':attribute doit être une adresse électronique valide.',
|
||||
'distinct' => ':attribute possède une valeur en double.',
|
||||
'filled' => 'Le format de :attribute n\'est pas valide.',
|
||||
'image' => ':attribute doit être une image.',
|
||||
'in' => ':attribute doit être une image.',
|
||||
'in_array' => 'Le champ de :attribute n\'existe pas dans :other.',
|
||||
'in_array' => 'Le champ :attribute n\'existe pas dans :other.',
|
||||
'integer' => 'Le sélection :attribute n\'est pas valide.',
|
||||
'ip' => ':attribute doit être un entier.',
|
||||
'json' => ':attribut doit être une chaîne JSON valide.',
|
||||
|
||||
0
resources/lang/he/cachet.php
Executable file → Normal file
0
resources/lang/he/cachet.php
Executable file → Normal file
0
resources/lang/he/dashboard.php
Executable file → Normal file
0
resources/lang/he/dashboard.php
Executable file → Normal file
0
resources/lang/he/forms.php
Executable file → Normal file
0
resources/lang/he/forms.php
Executable file → Normal file
0
resources/lang/he/pagination.php
Executable file → Normal file
0
resources/lang/he/pagination.php
Executable file → Normal file
0
resources/lang/he/setup.php
Executable file → Normal file
0
resources/lang/he/setup.php
Executable file → Normal file
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user