Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update from upstream repo CachetHQ/Cachet #1

Open
wants to merge 653 commits into
base: 2.3
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
653 commits
Select commit Hold shift + click to select a range
dfced9e
New translations setup.php (Hebrew)
CachetBot Jul 11, 2018
1fc3990
New translations pagination.php (Greek)
CachetBot Jul 11, 2018
5a6dfce
New translations dashboard.php (Greek)
CachetBot Jul 11, 2018
c542fe7
New translations forms.php (Greek)
CachetBot Jul 11, 2018
c930ecc
New translations setup.php (Greek)
CachetBot Jul 11, 2018
63e629d
New translations cachet.php (Hebrew)
CachetBot Jul 11, 2018
e173c61
New translations pagination.php (Hebrew)
CachetBot Jul 11, 2018
008b7ce
New translations validation.php (Hebrew)
CachetBot Jul 11, 2018
63b1553
New translations dashboard.php (Hebrew)
CachetBot Jul 11, 2018
dccca87
New translations forms.php (Hebrew)
CachetBot Jul 11, 2018
8ca56c0
New translations cachet.php (Hungarian)
CachetBot Jul 11, 2018
04ca418
New translations pagination.php (Hungarian)
CachetBot Jul 11, 2018
0af0e01
New translations validation.php (Hungarian)
CachetBot Jul 11, 2018
b4c052c
New translations dashboard.php (Hungarian)
CachetBot Jul 11, 2018
22a7523
New translations forms.php (Hungarian)
CachetBot Jul 11, 2018
6120d96
New translations setup.php (Hungarian)
CachetBot Jul 11, 2018
7552177
New translations validation.php (Indonesian)
CachetBot Jul 11, 2018
3dd7d9b
New translations forms.php (Indonesian)
CachetBot Jul 11, 2018
42a2825
New translations cachet.php (Greek)
CachetBot Jul 11, 2018
b1547b9
New translations forms.php (German)
CachetBot Jul 11, 2018
5c81575
New translations forms.php (Dutch)
CachetBot Jul 11, 2018
430a805
New translations dashboard.php (Finnish)
CachetBot Jul 11, 2018
5057dee
New translations cachet.php (Finnish)
CachetBot Jul 11, 2018
a225270
New translations pagination.php (Finnish)
CachetBot Jul 11, 2018
3573899
New translations validation.php (Finnish)
CachetBot Jul 11, 2018
adfa39f
New translations forms.php (Finnish)
CachetBot Jul 11, 2018
48f6899
New translations setup.php (Finnish)
CachetBot Jul 11, 2018
5f1c3c9
New translations forms.php (French)
CachetBot Jul 11, 2018
7ac2987
Merge pull request #3181 from CachetHQ/l10n_2.3
jbrooksuk Jul 12, 2018
2da10d1
Apply fixes from StyleCI (#3182)
jbrooksuk Jul 12, 2018
8408b92
New translations forms.php (Russian)
CachetBot Jul 13, 2018
237ae7d
Apply fixes from StyleCI
CachetBot Jul 13, 2018
2d72914
Merge pull request #3184 from CachetHQ/l10n_2.3
jbrooksuk Jul 17, 2018
036da92
New translations forms.php (French)
CachetBot Jul 17, 2018
2746001
Apply fixes from StyleCI
CachetBot Jul 17, 2018
73fb33d
Update VERSION
jbrooksuk Jul 21, 2018
77d576f
Merge pull request #3189 from CachetHQ/l10n_2.3
jbrooksuk Jul 21, 2018
0e1d52b
New translations forms.php (Chinese Simplified)
CachetBot Jul 25, 2018
7c5e214
Apply fixes from StyleCI
CachetBot Jul 25, 2018
ee288e0
New translations cachet.php (French)
CachetBot Jul 27, 2018
b361618
New translations dashboard.php (French)
CachetBot Jul 27, 2018
11cbbb4
New translations forms.php (French)
CachetBot Jul 27, 2018
bb9def5
New translations setup.php (French)
CachetBot Jul 27, 2018
ecc91ab
Apply fixes from StyleCI
CachetBot Jul 27, 2018
123f05b
New translations forms.php (Spanish)
CachetBot Aug 3, 2018
a6768da
Apply fixes from StyleCI
CachetBot Aug 3, 2018
127996f
Update deps. Closes #3207
jbrooksuk Aug 3, 2018
9bb670c
New translations forms.php (Dutch)
CachetBot Aug 4, 2018
e397341
Apply fixes from StyleCI
CachetBot Aug 4, 2018
8a8edea
Merge pull request #3209 from CachetHQ/update-deps
jbrooksuk Aug 6, 2018
f8a35d7
Merge pull request #3198 from CachetHQ/l10n_2.3
jbrooksuk Aug 7, 2018
34a36bc
New translations cachet.php (Afrikaans)
CachetBot Sep 20, 2018
fa5875d
New translations cachet.php (Afrikaans)
CachetBot Sep 20, 2018
6bf9221
New translations forms.php (Norwegian)
CachetBot Sep 28, 2018
8bffaa5
Apply fixes from StyleCI
CachetBot Sep 28, 2018
d8c6be3
New translations forms.php (Polish)
CachetBot Oct 9, 2018
12efe81
New translations forms.php (Portuguese)
CachetBot Oct 9, 2018
63a79d9
New translations forms.php (Portuguese, Brazilian)
CachetBot Oct 9, 2018
07750e9
New translations forms.php (Italian)
CachetBot Oct 9, 2018
8ffa6c7
New translations forms.php (Norwegian)
CachetBot Oct 9, 2018
3e35d29
New translations forms.php (Romanian)
CachetBot Oct 9, 2018
b313c45
New translations cachet.php (Zulu)
CachetBot Oct 9, 2018
6f1cba9
New translations forms.php (Zulu)
CachetBot Oct 9, 2018
ee73222
New translations forms.php (Spanish)
CachetBot Oct 9, 2018
7b29049
New translations forms.php (Russian)
CachetBot Oct 9, 2018
ebe31e2
New translations forms.php (Swedish)
CachetBot Oct 9, 2018
400c94d
New translations forms.php (Chinese Simplified)
CachetBot Oct 9, 2018
ba84e3e
New translations forms.php (Chinese Traditional)
CachetBot Oct 9, 2018
ddb2972
New translations forms.php (Danish)
CachetBot Oct 9, 2018
9f1dd6f
Apply fixes from StyleCI
CachetBot Oct 9, 2018
5cce6d4
New translations forms.php (Indonesian)
CachetBot Oct 9, 2018
045bbee
New translations forms.php (German)
CachetBot Oct 9, 2018
3f9ba0e
New translations forms.php (Dutch)
CachetBot Oct 9, 2018
0bfaeaa
New translations forms.php (French)
CachetBot Oct 9, 2018
368045b
Apply fixes from StyleCI
CachetBot Oct 9, 2018
7ea832d
Merge pull request #3248 from CachetHQ/l10n_2.3
jbrooksuk Oct 15, 2018
b8324c3
New translations cachet.php (Estonian)
CachetBot Oct 15, 2018
53e1837
New translations pagination.php (Estonian)
CachetBot Oct 15, 2018
bcdaec1
New translations validation.php (Estonian)
CachetBot Oct 15, 2018
ce7104d
New translations dashboard.php (Estonian)
CachetBot Oct 15, 2018
282ee98
New translations forms.php (Estonian)
CachetBot Oct 15, 2018
3fd9bfe
New translations setup.php (Estonian)
CachetBot Oct 15, 2018
1eea552
New translations forms.php (Russian)
CachetBot Oct 18, 2018
9ac9b58
Apply fixes from StyleCI
CachetBot Oct 18, 2018
d86d2e8
New translations cachet.php (Japanese)
CachetBot Nov 5, 2018
f4dc5d0
Merge pull request #3278 from CachetHQ/l10n_2.3
jbrooksuk Nov 13, 2018
33ed227
New translations forms.php (Polish)
CachetBot Nov 19, 2018
e557e5e
New translations forms.php (Portuguese)
CachetBot Nov 19, 2018
1c593bb
New translations forms.php (Portuguese, Brazilian)
CachetBot Nov 19, 2018
2a32047
New translations forms.php (Romanian)
CachetBot Nov 19, 2018
e7caa3c
Apply fixes from StyleCI
CachetBot Nov 19, 2018
cef1d82
New translations forms.php (Norwegian)
CachetBot Nov 19, 2018
d455f56
New translations forms.php (Italian)
CachetBot Nov 19, 2018
fc170be
New translations cachet.php (Zulu)
CachetBot Nov 19, 2018
8d42f0f
New translations forms.php (Zulu)
CachetBot Nov 19, 2018
467453c
New translations forms.php (Russian)
CachetBot Nov 19, 2018
491b07d
New translations forms.php (Spanish)
CachetBot Nov 19, 2018
7191bda
New translations forms.php (Swedish)
CachetBot Nov 19, 2018
2559228
New translations forms.php (Chinese Traditional)
CachetBot Nov 19, 2018
f155bfa
New translations forms.php (Danish)
CachetBot Nov 19, 2018
a087b2a
New translations forms.php (Chinese Simplified)
CachetBot Nov 19, 2018
68f80c2
New translations forms.php (Dutch)
CachetBot Nov 19, 2018
66a300c
New translations forms.php (Indonesian)
CachetBot Nov 19, 2018
4b8bc99
Apply fixes from StyleCI
CachetBot Nov 19, 2018
525563c
New translations forms.php (French)
CachetBot Nov 19, 2018
84f1f2f
New translations forms.php (German)
CachetBot Nov 19, 2018
ef91bac
Apply fixes from StyleCI
CachetBot Nov 19, 2018
589f82a
Merge pull request #3335 from CachetHQ/l10n_2.3
jbrooksuk Nov 23, 2018
c66f66a
New translations cachet.php (Swedish)
CachetBot Dec 10, 2018
2a04e89
New translations cachet.php (Swedish)
CachetBot Dec 10, 2018
ac91ba5
New translations setup.php (Swedish)
CachetBot Dec 10, 2018
2dd7fba
Merge pull request #3359 from CachetHQ/l10n_2.3
jbrooksuk Dec 27, 2018
2a4a7d7
New translations dashboard.php (German)
CachetBot Dec 29, 2018
34f5775
New translations dashboard.php (German)
CachetBot Dec 29, 2018
9f0a11e
New translations forms.php (Dutch)
CachetBot Dec 29, 2018
3f932a2
Apply fixes from StyleCI
CachetBot Dec 29, 2018
11bb77b
Merge pull request #3380 from CachetHQ/l10n_2.3
jbrooksuk Dec 29, 2018
79a8026
New translations dashboard.php (Afrikaans)
CachetBot Dec 30, 2018
72def0e
New translations forms.php (Afrikaans)
CachetBot Dec 30, 2018
171588c
Merge pull request #3386 from CachetHQ/l10n_2.3
jbrooksuk Dec 30, 2018
495f118
New translations cachet.php (Dutch)
CachetBot Dec 31, 2018
1f1cf5a
Merge pull request #3388 from CachetHQ/l10n_2.3
jbrooksuk Jan 1, 2019
4277ec7
New translations cachet.php (Dutch)
CachetBot Jan 3, 2019
cd70023
New translations forms.php (Dutch)
CachetBot Jan 3, 2019
eb18e7d
New translations cachet.php (Dutch)
CachetBot Jan 3, 2019
5f639b7
New translations dashboard.php (Dutch)
CachetBot Jan 3, 2019
79b837d
New translations setup.php (Dutch)
CachetBot Jan 3, 2019
cd48270
New translations cachet.php (German)
CachetBot Jan 15, 2019
dd0052a
New translations setup.php (German)
CachetBot Jan 15, 2019
520785b
New translations cachet.php (Mongolian)
CachetBot Jan 26, 2019
d61c9d1
New translations pagination.php (Mongolian)
CachetBot Jan 26, 2019
e9020d3
New translations validation.php (Mongolian)
CachetBot Jan 26, 2019
0a9d1b3
New translations dashboard.php (Mongolian)
CachetBot Jan 26, 2019
760a034
New translations forms.php (Mongolian)
CachetBot Jan 26, 2019
6d920b2
New translations setup.php (Mongolian)
CachetBot Jan 26, 2019
9e96f28
New translations cachet.php (Slovenian)
CachetBot Jan 26, 2019
6358916
New translations pagination.php (Slovenian)
CachetBot Jan 26, 2019
7f6efff
New translations validation.php (Slovenian)
CachetBot Jan 26, 2019
6dfadc2
New translations dashboard.php (Slovenian)
CachetBot Jan 26, 2019
8491540
New translations forms.php (Slovenian)
CachetBot Jan 26, 2019
ef7236c
New translations setup.php (Slovenian)
CachetBot Jan 26, 2019
f41aa31
Merge pull request #3401 from CachetHQ/l10n_2.3
jbrooksuk Jan 26, 2019
d4bcdf0
Apply fixes from StyleCI (#3436)
jbrooksuk Jan 26, 2019
035164f
2.3 is not compatible with PHP7
jbrooksuk Feb 1, 2019
48ab04c
New translations forms.php (Romanian)
CachetBot Mar 6, 2019
d8eb86e
Merge pull request #3501 from CachetHQ/l10n_2.3
jbrooksuk Mar 9, 2019
7738c73
Apply fixes from StyleCI (#3505)
jbrooksuk Mar 9, 2019
c3cfeeb
New translations forms.php (Swedish)
CachetBot Mar 11, 2019
0e82925
Merge pull request #3510 from CachetHQ/l10n_2.3
jbrooksuk Mar 11, 2019
1f46e06
Apply fixes from StyleCI (#3511)
jbrooksuk Mar 11, 2019
61a3715
New translations dashboard.php (German)
CachetBot Mar 28, 2019
6e79575
Merge pull request #3530 from CachetHQ/l10n_2.3
jbrooksuk Apr 1, 2019
6aed353
New translations forms.php (German)
CachetBot Apr 25, 2019
0e5bb00
Merge pull request #3564 from CachetHQ/l10n_2.3
jbrooksuk Apr 25, 2019
512e1a6
Apply fixes from StyleCI (#3565)
jbrooksuk Apr 25, 2019
1693221
Upgraded deps (#3582)
GrahamCampbell May 12, 2019
e706686
Cachet 2.3 is known to work on PHP 7.0 and 7.1 (#3584)
GrahamCampbell May 12, 2019
e477de7
Release v2.3.16 (#3585)
GrahamCampbell May 12, 2019
16f0575
Bumped version for dev (#3588)
GrahamCampbell May 13, 2019
843eabb
Fixes #3598
jbrooksuk May 13, 2019
5fcc0ce
Don't need to call all()
jbrooksuk May 13, 2019
9531a90
Prevent calling of DashboardComposer
jbrooksuk May 13, 2019
52fda22
Apply fixes from StyleCI (#3599)
jbrooksuk May 13, 2019
7a08cfd
Release v2.3.17
jbrooksuk May 13, 2019
1d6b117
Bump for dev
jbrooksuk May 13, 2019
7b2b90a
New translations cachet.php (Portuguese, Brazilian)
CachetBot May 14, 2019
ae874c7
New translations forms.php (Portuguese, Brazilian)
CachetBot May 14, 2019
31eb708
New translations dashboard.php (Portuguese, Brazilian)
CachetBot May 14, 2019
c6b4d9e
New translations cachet.php (Portuguese, Brazilian)
CachetBot May 14, 2019
e281597
New translations cachet.php (Portuguese, Brazilian)
CachetBot May 14, 2019
9679617
New translations cachet.php (Portuguese, Brazilian)
CachetBot May 14, 2019
63a2d94
New translations dashboard.php (Portuguese, Brazilian)
CachetBot May 14, 2019
4297195
New translations dashboard.php (Portuguese, Brazilian)
CachetBot May 14, 2019
0d5cfb1
New translations setup.php (Portuguese, Brazilian)
CachetBot May 14, 2019
1bc48e0
Fix view import
jbrooksuk May 14, 2019
baea4e9
Bump version
jbrooksuk May 14, 2019
cc2f4de
Fix version
jbrooksuk May 14, 2019
22b6135
Bump version for dev
jbrooksuk May 14, 2019
30978bd
Removed extra spaces
GrahamCampbell May 22, 2019
f79eef0
Merge pull request #3615 from CachetHQ/extra-spaces
jbrooksuk May 22, 2019
87b5b67
Upgraded deps (#3616)
GrahamCampbell May 22, 2019
168e36f
Updated with the latest cloudflare ips (#3650)
GrahamCampbell Jun 15, 2019
b639d1e
New translations cachet.php (Czech)
CachetBot Jun 18, 2019
fbf141c
Allow Cachet setup not to be at server's root
nalysius Jun 8, 2019
cba2eec
New translations cachet.php (Czech)
CachetBot Jun 20, 2019
249de03
New translations cachet.php (Czech)
CachetBot Jun 20, 2019
3e065f6
New translations cachet.php (Czech)
CachetBot Jun 20, 2019
48e8bc8
New translations cachet.php (Czech)
CachetBot Jun 20, 2019
99d95a8
New translations dashboard.php (Czech)
CachetBot Jun 20, 2019
1dfc368
New translations forms.php (Czech)
CachetBot Jun 20, 2019
393669b
New translations dashboard.php (Czech)
CachetBot Jun 20, 2019
c0513da
New translations forms.php (Czech)
CachetBot Jun 20, 2019
64dd4cb
New translations pagination.php (Czech)
CachetBot Jun 20, 2019
cb518d0
New translations validation.php (Czech)
CachetBot Jun 20, 2019
1c371e9
New translations setup.php (Czech)
CachetBot Jun 20, 2019
59ef902
Merge pull request #3645 from anthonybocci/feature/3618-setup-assets-…
jbrooksuk Jun 23, 2019
8b98141
New translations cachet.php (Czech)
CachetBot Jun 25, 2019
d2f3572
New translations forms.php (Czech)
CachetBot Jun 25, 2019
5853b43
New translations dashboard.php (Czech)
CachetBot Jun 25, 2019
f46371b
New translations dashboard.php (Czech)
CachetBot Jun 25, 2019
b76acbe
New translations forms.php (Dutch)
CachetBot Jul 11, 2019
c020fd5
New translations validation.php (Dutch)
CachetBot Jul 11, 2019
b43974e
New translations forms.php (Danish)
CachetBot Jul 11, 2019
5cb438a
New translations forms.php (French)
CachetBot Jul 11, 2019
a24604b
New translations forms.php (Chinese Traditional)
CachetBot Jul 11, 2019
f157098
New translations forms.php (Chinese Simplified)
CachetBot Jul 11, 2019
18cccd9
New translations forms.php (Russian)
CachetBot Jul 11, 2019
0f99a14
New translations forms.php (Spanish)
CachetBot Jul 11, 2019
39e670e
New translations validation.php (Portuguese, Brazilian)
CachetBot Jul 11, 2019
72f6b71
New translations forms.php (Portuguese)
CachetBot Jul 11, 2019
61acfd5
New translations forms.php (Romanian)
CachetBot Jul 11, 2019
ce833c5
New translations cachet.php (Zulu)
CachetBot Jul 11, 2019
552c029
New translations forms.php (Zulu)
CachetBot Jul 11, 2019
b3f4eb2
New translations forms.php (Swedish)
CachetBot Jul 11, 2019
dfa1650
New translations forms.php (Indonesian)
CachetBot Jul 11, 2019
a4ab01d
New translations forms.php (German)
CachetBot Jul 11, 2019
f50a2c7
New translations forms.php (Italian)
CachetBot Jul 11, 2019
7f54029
New translations forms.php (Norwegian)
CachetBot Jul 11, 2019
1a053ff
New translations forms.php (Polish)
CachetBot Jul 11, 2019
0bdf3f3
New translations cachet.php (Japanese)
CachetBot Jul 16, 2019
dde38b0
New translations dashboard.php (Japanese)
CachetBot Jul 16, 2019
12b6888
New translations setup.php (Japanese)
CachetBot Jul 16, 2019
300961c
Lowercase email for Gravatar avatars
sigv Jul 16, 2019
d02ec7f
New translations cachet.php (Russian)
CachetBot Aug 2, 2019
6752596
Merge pull request #3712 from sigv/bugfix/2.3/gravatar-lowercase
jbrooksuk Aug 14, 2019
3681d27
New translations forms.php (Portuguese, Brazilian)
CachetBot Nov 2, 2019
18f5c29
add is_object check for feed result, fixes #3844
Nov 5, 2019
5dfeaa3
Merge pull request #3845 from tomecho/2.3-3844-fix
jbrooksuk Nov 5, 2019
06faecf
New translations dashboard.php (Chinese Simplified)
CachetBot Dec 10, 2019
28a896b
New translations cachet.php (Chinese Simplified)
CachetBot Jan 13, 2020
52c93a0
New translations dashboard.php (Chinese Simplified)
CachetBot Jan 13, 2020
dfcf9bd
New translations forms.php (Chinese Simplified)
CachetBot Jan 13, 2020
8f0e568
New translations setup.php (Chinese Simplified)
CachetBot Jan 13, 2020
a588cfb
New translations validation.php (Czech)
CachetBot Feb 18, 2020
735c722
New translations dashboard.php (Korean)
CachetBot Apr 27, 2020
e36abd5
New translations forms.php (Polish)
CachetBot Apr 27, 2020
1d32adb
New translations dashboard.php (Norwegian)
CachetBot Apr 27, 2020
b9c9d28
New translations pagination.php (Afrikaans)
CachetBot Apr 27, 2020
f7ab994
New translations forms.php (Romanian)
CachetBot Apr 27, 2020
9caecd3
New translations forms.php (Danish)
CachetBot Apr 27, 2020
ec26e01
New translations validation.php (Portuguese, Brazilian)
CachetBot Apr 27, 2020
0c637cc
New translations forms.php (Vietnamese)
CachetBot Apr 27, 2020
6f0ccb7
New translations forms.php (Russian)
CachetBot Apr 27, 2020
748962b
New translations forms.php (Swedish)
CachetBot Apr 27, 2020
23cd590
New translations pagination.php (Afrikaans)
CachetBot Jul 16, 2020
94b4fe2
Merge pull request #3601 from CachetHQ/l10n_2.3
jbrooksuk Aug 1, 2020
fe3675f
Apply fixes from StyleCI (#4072)
jbrooksuk Aug 1, 2020
48fdf79
Test API Pagination and searching
sedan07 Jan 15, 2021
c040fc3
Ensure only allowed searchable columns are used in DB Query
sedan07 Jan 15, 2021
7ed480d
Merge pull request #4203 from fiveai/fix-api-search-with-pagination
jbrooksuk Mar 29, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 6 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
language: php

sudo: false

dist: trusty

php:
- 5.5.9
- 5.5
- 5.6
- 7.0
- hhvm
- 7.1

sudo: false
before_install: cp .env.example .env

install: travis_retry composer install --no-interaction --no-scripts --prefer-source

Expand Down
61 changes: 29 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
# Cachet

[![StyleCI](https://styleci.io/repos/26730195/shield)](https://styleci.io/repos/26730195/)
[![Build Status](https://img.shields.io/travis/CachetHQ/Cachet/master.svg?style=flat-square)](https://travis-ci.org/CachetHQ/Cachet)
[![Build Status](https://img.shields.io/travis/CachetHQ/Cachet/2.3.svg?style=flat-square)](https://travis-ci.org/CachetHQ/Cachet)
[![Software License](https://img.shields.io/badge/license-BSD3-brightgreen.svg?style=flat-square)](LICENSE)
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/cachet/localized.svg)](http://translate.cachethq.io/project/cachet)
[![Packagist](https://img.shields.io/packagist/v/cachethq/cachet.svg?style=flat-square)](https://packagist.org/packages/cachethq/cachet)

![Screenshot](https://cachethq.io/img/main-interface.jpg)

Cachet is a beautiful and powerful open source status page system, a free replacement to services such as StatusPage.io, Status.io and others.

## Supporting Cachet

Cachet is a BSD-3-licensed open source project. If you'd like to support future development, check out the [Cachet Patreon campaign](https://patreon.com/jbrooksuk).
Cachet is a beautiful and powerful open source status page system.

## Features

Expand All @@ -25,27 +21,23 @@ Cachet is a BSD-3-licensed open source project. If you'd like to support future
- Metrics
- Cross-database support: MySQL, PostgreSQL and SQLite
- Subscriber notifications via Email
- Two factor authentication, with Google Authenticator

## Usage in production

The `master` branch of this repository is a development branch and **should not** be used in production. Instead, please check out the latest tag release.
- Two factor authentication using Google Authenticator

## Requirements

- PHP 5.5.9+ or newer
- PHP 5.5.9 - 7.1
- Apache or Nginx server
- [Composer](https://getcomposer.org)

## How to contribute
## I'm looking to contribute to this awesome project!

We're always looking for contributions that improve Cachet. It's easy to get started and you don't even need to know how to write a single line of code!
Sweet, we're always looking for contributions that improve Cachet! It's easy to get started and you don't even need to know how to write a single line of code!

### Contributing as a non-developer/non-designer

If you're one of the more linguistically talented people in the world who can speak and write more than just English, we're always looking for new [translations](#translations).
We're always looking for new [translations](#translations).

Of course bug reports, feature requests and [documentation](https://docs.cachethq.io) are always being sought after.
Of course bug reports, feature requests and [documentation](https://docs.cachethq.io) are always appreciated.

### Contributing as a designer

Expand All @@ -56,54 +48,59 @@ You'll need to install Node.js, Bower and Gulp.
To get started you can do the following:

1. Install Node.js and our dev dependencies.
2. Modify the SCSS files in `./resources/assets/sass/`
2. Make your changes to the SCSS files in `./resources/assets/sass/`
3. Run `gulp`

If you're making a lot of changes, you'll find that running `gulp watch` will really help you out!
If you're making a lot of changes, you'll find that running `gulp watch` will make life easier for you!

### Contributing as a developer

Built using [Laravel](https://laravel.com), Cachet is very easy to jump into. Have a look around you'll find it surprisingly easy!
Built using [Laravel](https://laravel.com).

These extra dependencies are required to develop Cachet:
We use these extra dependencies to develop Cachet:

- Node.js
- Gulp
- Git

Once cloned to your local machine, you'll need some demo data! Simply run `php artisan cachet:seed` to get the demo installation on the go.
Once cloned to your local machine, you'll need some demo data! Run `php artisan cachet:seed` to get the demo installation ready for action.

## Installation, Upgrades and Documentation

You can now find our documentation at [https://docs.cachethq.io](https://docs.cachethq.io).
Documentation is found at [https://docs.cachethq.io](https://docs.cachethq.io).

Here are some useful quick links:

- [Installing Cachet](https://docs.cachethq.io/docs/installing-cachet)
- [Getting started with Docker](https://docs.cachethq.io/docs/get-started-with-docker)
- [Getting started with Vagrant](https://docs.cachethq.io/docs/get-started-with-vagrant)

### Demo Account

To test out the demo, you may login to the [Dashboard](https://demo.cachethq.io/dashboard) with the following:

- **Username:** test or test@test.com
- **Password:** test123
- **Username:** `test` or `test@test.com`
- **Password:** `test123`

The demo is reset every half hour.

### Release Notes

All releases are listed on the [Releases page](https://github.com/CachetHQ/Cachet/releases) of the [Cachet GitHub repository](https://github.com/CachetHQ/Cachet). On the Releases page, you can also find the release notes for each release.
We list releases on the [Releases page](https://github.com/CachetHQ/Cachet/releases) of the [Cachet GitHub repository](https://github.com/CachetHQ/Cachet). On the Releases page, you can also find the release notes for each release.

## Translations

A special thank you to our [translators](https://crowdin.com/project/cachet/activity_stream), who have allowed us to share Cachet with the world. If you'd like to contribute translations, please check out our [CrowdIn project](https://crowdin.com/project/cachet).
If you'd like to contribute translations, please check out our [CrowdIn project](https://crowdin.com/project/cachet).

## Security Vulnerabilities
> Thank you to our [translators](https://crowdin.com/project/cachet/activity_stream), who have allowed us to share Cachet with the world!

## Show your support

If you discover a security vulnerability within Cachet, please send an e-mail to us at support@alt-three.com. All security vulnerabilities will be promptly addressed.
Cachet is a BSD-3-licensed open source project.

## Installations
## Professional Installation Service

We offer a paid installation service, which starts at $99 but is subject to change, dependant on your setup and infrastructure.
We offer a professional installation service. To find out more, email us at [support@alt-three.com](mailto:support@alt-three.com?Cachet Installation)

## Security Vulnerabilities

To find out more, email us at support@alt-three.com
If you discover a security vulnerability within Cachet, please send an e-mail to us at support@alt-three.com. We handle all security vulnerabilities on a case-by-case basis.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.3.7-dev
2.3.19-dev
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ public function handle(ReportIncidentCommand $command)
'visible' => $command->visible,
];

if ($command->template) {
if (IncidentTemplate::where('slug', '=', $command->template)->first()) {
$data['message'] = $this->parseIncidentTemplate($command->template, $command->template_vars);
} else {
$data['message'] = $command->message;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,24 +44,26 @@ public function handle(SubscribeSubscriberCommand $command)

// Decide what to subscribe the subscriber to.
if ($subscriptions = $command->subscriptions) {
$subscriptions = Component::whereIn('id', $subscriptions);
$components = Component::whereIn('id', $subscriptions)->get();
} else {
$subscriptions = Component::all();
$components = Component::all();
}

foreach ($subscriptions as $component) {
$components->map(function ($component) use ($subscriber) {
Subscription::create([
'subscriber_id' => $subscriber->id,
'component_id' => $component->id,
]);
}
});

if ($command->verified) {
dispatch(new VerifySubscriberCommand($subscriber));
} else {
event(new SubscriberHasSubscribedEvent($subscriber));
}

$subscriber->load('subscriptions');

return $subscriber;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@

use CachetHQ\Cachet\Bus\Commands\Subscriber\UnsubscribeSubscriberCommand;
use CachetHQ\Cachet\Bus\Events\Subscriber\SubscriberHasUnsubscribedEvent;
use CachetHQ\Cachet\Models\Subscriber;

class UnsubscribeSubscriberCommandHandler
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,8 @@ public function notify(IncidentWasReportedEvent $event, $subscriber)
$component = AutoPresenter::decorate($event->incident->component);

$mail = [
'email' => $subscriber->email,
'subject' => trans('cachet.subscriber.email.incident.subject', [
'email' => $subscriber->email,
'subject' => trans('cachet.subscriber.email.incident.subject', [
'status' => $incident->human_status,
'name' => $incident->name,
]),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,9 +106,9 @@ public function notify(MaintenanceWasScheduledEvent $event, $subscriber)
$component = AutoPresenter::decorate($event->incident->component);

$mail = [
'email' => $subscriber->email,
'subject' => trans('cachet.subscriber.email.maintenance.subject', [
'name' => $incident->name,
'email' => $subscriber->email,
'subject' => trans('cachet.subscriber.email.maintenance.subject', [
'name' => $incident->name,
]),
'has_component' => ($event->incident->component) ? true : false,
'component_name' => $component ? $component->name : null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@ public function __construct(MailQueue $mailer)
public function handle(SubscriberHasSubscribedEvent $event)
{
$mail = [
'email' => $event->subscriber->email,
'subject' => 'Confirm your subscription.',
'link' => route('subscribe.verify', ['code' => $event->subscriber->verify_code]),
'email' => $event->subscriber->email,
'subject' => 'Confirm your subscription.',
'link' => route('subscribe.verify', ['code' => $event->subscriber->verify_code]),
];

$this->mailer->queue([
Expand Down
6 changes: 3 additions & 3 deletions app/Bus/Handlers/Events/User/SendInviteUserEmailHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@ public function __construct(MailQueue $mailer)
public function handle(UserWasInvitedEvent $event)
{
$mail = [
'email' => $event->invite->email,
'subject' => 'You have been invited.',
'link' => route('signup.invite', ['code' => $event->invite->code]),
'email' => $event->invite->email,
'subject' => 'You have been invited.',
'link' => route('signup.invite', ['code' => $event->invite->code]),
];

$this->mailer->queue([
Expand Down
2 changes: 1 addition & 1 deletion app/Composers/DashboardComposer.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public function compose(View $view)
{
$view->withIncidentCount(Incident::notScheduled()->count());
$view->withIncidentTemplateCount(IncidentTemplate::count());
$view->withComponentCount(Component::all()->count());
$view->withComponentCount(Component::count());
$view->withSubscriberCount(Subscriber::isVerified()->count());
}
}
64 changes: 27 additions & 37 deletions app/Composers/StatusPageComposer.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,38 @@

namespace CachetHQ\Cachet\Composers;

use CachetHQ\Cachet\Integrations\Core\System;
use CachetHQ\Cachet\Models\Component;
use CachetHQ\Cachet\Models\ComponentGroup;
use CachetHQ\Cachet\Models\Incident;
use Illuminate\Contracts\View\View;

/**
* This is the status page composer.
*
* @author James Brooks <james@alt-three.com>
*/
class StatusPageComposer
{
/**
* The system instance.
*
* @var \CachetHQ\Cachet\Integrations\Contracts\System
*/
protected $system;

/**
* Create a new status page composer instance.
*
* @param \CachetHQ\Cachet\Integrations\Contracts\System $system
*
* @return void
*/
public function __construct(System $system)
{
$this->system = $system;
}

/**
* Index page view composer.
*
Expand All @@ -27,42 +52,7 @@ class StatusPageComposer
*/
public function compose(View $view)
{
$totalComponents = Component::enabled()->count();
$majorOutages = Component::enabled()->status(4)->count();
$isMajorOutage = $totalComponents ? ($majorOutages / $totalComponents) >= 0.5 : false;

// Default data
$withData = [
'system_status' => 'info',
'system_message' => trans_choice('cachet.service.bad', $totalComponents),
'favicon' => 'favicon-high-alert',
];

if ($isMajorOutage) {
$withData = [
'system_status' => 'danger',
'system_message' => trans_choice('cachet.service.major', $totalComponents),
'favicon' => 'favicon-high-alert',
];
} elseif (Component::enabled()->notStatus(1)->count() === 0) {
// If all our components are ok, do we have any non-fixed incidents?
$incidents = Incident::notScheduled()->orderBy('created_at', 'desc')->get()->filter(function ($incident) {
return $incident->status > 0;
});
$incidentCount = $incidents->count();

if ($incidentCount === 0 || ($incidentCount >= 1 && (int) $incidents->first()->status === 4)) {
$withData = [
'system_status' => 'success',
'system_message' => trans_choice('cachet.service.good', $totalComponents),
'favicon' => 'favicon',
];
}
} else {
if (Component::enabled()->whereIn('status', [2, 3])->count() > 0) {
$withData['favicon'] = 'favicon-medium-alert';
}
}
$status = $this->system->getStatus();

// Scheduled maintenance code.
$scheduledMaintenance = Incident::scheduled()->orderBy('scheduled_at')->get();
Expand All @@ -72,7 +62,7 @@ public function compose(View $view)
$componentGroups = ComponentGroup::whereIn('id', $usedComponentGroups)->orderBy('order')->get();
$ungroupedComponents = Component::enabled()->where('group_id', 0)->orderBy('order')->orderBy('created_at')->get();

$view->with($withData)
$view->with($status)
->withComponentGroups($componentGroups)
->withUngroupedComponents($ungroupedComponents)
->withScheduledMaintenance($scheduledMaintenance);
Expand Down
3 changes: 2 additions & 1 deletion app/Composers/TimezoneLocaleComposer.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
use DateTime;
use DateTimeZone;
use Illuminate\Contracts\View\View;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Config;

class TimezoneLocaleComposer
Expand All @@ -32,7 +33,7 @@ public function compose(View $view)
$langs = array_map(function ($lang) use ($enabledLangs) {
$locale = basename($lang);

return [$locale => $enabledLangs[$locale]];
return [$locale => Arr::get($enabledLangs, $locale)];
}, glob(base_path('resources/lang').'/*'));

$langs = call_user_func_array('array_merge', $langs);
Expand Down
7 changes: 0 additions & 7 deletions app/Console/Commands/DemoSeederCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -163,13 +163,6 @@ protected function seedComponents()
'order' => 1,
'group_id' => 2,
'link' => 'https://styleci.io',
], [
'name' => 'Patreon Page',
'description' => 'Support future development of Cachet.',
'status' => 1,
'order' => 0,
'group_id' => 0,
'link' => 'https://patreon.com/jbrooksuk',
],
];

Expand Down
Loading