Skip to content

Commit

Permalink
Merge pull request #27 from creative-commoners/pulls/2.0/update-for-four
Browse files Browse the repository at this point in the history
  • Loading branch information
robbieaverill authored Nov 27, 2017
2 parents 9ea5067 + 4a8fb14 commit 789ce91
Show file tree
Hide file tree
Showing 39 changed files with 1,071 additions and 949 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@
/.gitignore export-ignore
/.travis.yml export-ignore
/.scrutinizer.yml export-ignore
/codecov.yml export-ignore
70 changes: 8 additions & 62 deletions .scrutinizer.yml
Original file line number Diff line number Diff line change
@@ -1,69 +1,15 @@
inherit: true

build:
nodes:
analysis:
tests:
override: [php-scrutinizer-run]

checks:
php:
verify_property_names: true
verify_argument_usable_as_reference: true
verify_access_scope_valid: true
useless_calls: true
use_statement_alias_conflict: true
variable_existence: true
unused_variables: true
unused_properties: true
unused_parameters: true
unused_methods: true
unreachable_code: true
too_many_arguments: true
sql_injection_vulnerabilities: true
simplify_boolean_return: true
side_effects_or_types: true
security_vulnerabilities: true
return_doc_comments: true
return_doc_comment_if_not_inferrable: true
require_scope_for_properties: true
require_scope_for_methods: true
require_php_tag_first: true
psr2_switch_declaration: true
psr2_class_declaration: true
property_assignments: true
prefer_while_loop_over_for_loop: true
precedence_mistakes: true
precedence_in_conditions: true
phpunit_assertions: true
php5_style_constructor: true
parse_doc_comments: true
parameter_non_unique: true
parameter_doc_comments: true
param_doc_comment_if_not_inferrable: true
optional_parameters_at_the_end: true
one_class_per_file: true
no_unnecessary_if: true
no_trailing_whitespace: true
no_property_on_interface: true
no_non_implemented_abstract_methods: true
no_error_suppression: true
no_duplicate_arguments: true
no_commented_out_code: true
newline_at_end_of_file: true
missing_arguments: true
method_calls_on_non_object: true
instanceof_class_exists: true
foreach_traversable: true
fix_line_ending: true
fix_doc_comments: true
duplication: true
deprecated_code_usage: true
deadlock_detection_in_loops: true
code_rating: true
closure_use_not_conflicting: true
catch_class_exists: true
blank_line_after_namespace_declaration: false
avoid_multiple_statements_on_same_line: true
avoid_duplicate_types: true
avoid_conflicting_incrementers: true
avoid_closing_tag: true
assignment_of_null_return: true
argument_type_checks: true
duplication: true

filter:
paths: [code/*, tests/*]
paths: [src/*, tests/*]
45 changes: 23 additions & 22 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,34 +1,35 @@
# See https://github.com/silverstripe/silverstripe-travis-support for setup details

sudo: false

language: php

php:
- 5.3
- 5.4
- 5.5

env:
- DB=MYSQL CORE_RELEASE=3.5
global:
- COMPOSER_ROOT_VERSION=2.0.x-dev

matrix:
include:
- php: 5.6
env: DB=MYSQL CORE_RELEASE=3
- php: 5.6
env: DB=MYSQL CORE_RELEASE=3.1
- php: 5.6
env: DB=PGSQL CORE_RELEASE=3.2
env: DB=MYSQL PHPCS_TEST=1 PHPUNIT_TEST=1
- php: 7.0
env: DB=MYSQL PHPUNIT_TEST=1
- php: 7.1
env: DB=MYSQL CORE_RELEASE=3.6
env: DB=PGSQL PHPUNIT_COVERAGE_TEST=1
- php: 7.2
env: DB=MYSQL PHPUNIT_TEST=1

before_script:
- composer self-update || true
- git clone git://github.com/silverstripe/silverstripe-travis-support.git ~/travis-support
- php ~/travis-support/travis_setup.php --source `pwd` --target ~/builds/ss
- cd ~/builds/ss
- composer install
# Init PHP
- phpenv rehash
- phpenv config-rm xdebug.ini

# Install composer dependencies
- composer validate
- composer require --no-update silverstripe/installer 4.0.x-dev
- if [[ $DB == PGSQL ]]; then composer require --no-update silverstripe/postgresql 2.0.x-dev; fi
- composer install --prefer-dist --no-interaction --no-progress --no-suggest --optimize-autoloader --verbose --profile

script:
- vendor/bin/phpunit externallinks/tests
- if [[ $PHPUNIT_TEST ]]; then vendor/bin/phpunit; fi
- if [[ $PHPUNIT_COVERAGE_TEST ]]; then phpdbg -qrr vendor/bin/phpunit --coverage-clover=coverage.xml; fi
- if [[ $PHPCS_TEST ]]; then vendor/bin/phpcs src/ tests/ *.php; fi

after_success:
- if [[ $PHPUNIT_COVERAGE_TEST ]]; then bash <(curl -s https://codecov.io/bash) -f coverage.xml; fi
10 changes: 10 additions & 0 deletions .upgrade.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
mappings:
CMSExternalLinks_Controller: SilverStripe\ExternalLinks\Controllers\CMSExternalLinksController
CheckExternalLinksJob: SilverStripe\ExternalLinks\Jobs\CheckExternalLinksJob
BrokenExternalLink: SilverStripe\ExternalLinks\Model\BrokenExternalLink
BrokenExternalPageTrack: SilverStripe\ExternalLinks\Model\BrokenExternalPageTrack
BrokenExternalPageTrackStatus: SilverStripe\ExternalLinks\Model\BrokenExternalPageTrackStatus
BrokenExternalLinksReport: SilverStripe\ExternalLinks\Reports\BrokenExternalLinksReport
CheckExternalLinksTask: SilverStripe\ExternalLinks\Tasks\CheckExternalLinksTask
CurlLinkChecker: SilverStripe\ExternalLinks\Tasks\CurlLinkChecker
LinkChecker: SilverStripe\ExternalLinks\Tasks\LinkChecker
29 changes: 13 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# External links

[![Build Status](https://travis-ci.org/silverstripe/silverstripe-externallinks.svg?branch=master)](https://travis-ci.org/silverstripe/silverstripe-externallinks)
[![Build Status](http://img.shields.io/travis/silverstripe/silverstripe-externallinks.svg?style=flat)](https://travis-ci.org/silverstripe/silverstripe-externallinks)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/silverstripe/silverstripe-externallinks/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/silverstripe/silverstripe-externallinks/?branch=master)
[![codecov](https://codecov.io/gh/silverstripe/silverstripe-externallinks/branch/master/graph/badge.svg)](https://codecov.io/gh/silverstripe/silverstripe-externallinks)

## Introduction

Expand All @@ -12,21 +14,19 @@ The external links module is a task and ModelAdmin to track and to report on bro

## Requirements

* SilverStripe 3.1 +
* SilverStripe ^4.0

**Note:** For a SilverStripe 3.x compatible version, please use [the 1.x release line](https://github.com/silverstripe/silverstripe-externallinks/tree/1.0).

## Features

* Add external links to broken links reports
* Add a task to track external broken links

See the [changelog](CHANGELOG.md) for version history.

## Installation

1. If you have composer you can use `composer require silverstripe/externallinks:*`. Otherwise,
download the module from GitHub and extract to the 'externallinks' folder. Place this directory
in your sites root directory. This is the one with framework and cms in it.
2. Run in your browser - `/dev/build` to rebuild the database.
1. Require the module via composer: `composer require silverstripe/externallinks`
2. Run `/dev/build` in your browser to rebuild the database.
3. Run the following task *http://path.to.silverstripe/dev/tasks/CheckExternalLinks* to check for
broken external links

Expand Down Expand Up @@ -63,20 +63,17 @@ broken links.

## Queued job ##

If you have the queuedjobs module installed you can set the task to be run every so ofter
Add the following yml config to config.yml in mysite/_config have the the task run once every day (86400 seconds)

CheckExternalLinks:
Delay: 86400
If you have the queuedjobs module installed you can set the task to be run every so often.

## Whitelisting codes ##

If you want to ignore or whitelist certain http codes this can be setup via IgnoreCodes in the config.yml
file in mysite/_config
file in `mysite/_config`

CheckExternalLinks:
Delay: 60
```yml
SilverStripe\ExternalLinks\Tasks\CheckExternalLinksTask:
IgnoreCodes:
- 401
- 403
- 501
```
8 changes: 6 additions & 2 deletions _config/injector.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
---
Name: externallinksdependencies
---
Injector:
LinkChecker: CurlLinkChecker
SilverStripe\Core\Injector\Injector:
SilverStripe\ExternalLinks\Tasks\LinkChecker: SilverStripe\ExternalLinks\Tasks\CurlLinkChecker
Psr\SimpleCache\CacheInterface.CurlLinkChecker:
factory: SilverStripe\Core\Cache\CacheFactory
constructor:
namespace: 'curllinkchecker'
8 changes: 4 additions & 4 deletions _config/routes.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
Name: externallink
After: framework/routes
Name: externallinkroutes
Before: '#adminroutes'
---
Director:
SilverStripe\Control\Director:
rules:
'admin/externallinks//$Action': 'CMSExternalLinks_Controller'
'admin/externallinks//$Action': SilverStripe\ExternalLinks\Controllers\CMSExternalLinksController
54 changes: 0 additions & 54 deletions code/controllers/CMSExternalLinks.php

This file was deleted.

34 changes: 0 additions & 34 deletions code/jobs/CheckExternalLinksJob.php

This file was deleted.

Loading

0 comments on commit 789ce91

Please sign in to comment.