cmb69
Repos
181
Followers
186
Following
5

The PHP Interpreter

C
35220
7163

GD Graphics Library

C
793
239

A modular, easy-to-install, flat file CMS without database

30
17

A plugin framework for CMSimple_XH

3
1

A portable CMSimple_XH distribution for Windows

Events

Revise Dic

  • Extract Dic::contentFolder()
  • Extract Dic::makeView()
  • Prefer double-quoted strings
  • Prefer string concatenation over complex interpolation
  • Drop doc-block comments
  • Test Dic
Created at 9 hours ago

Wrap CSRFProtection and fake it for testing

Created at 10 hours ago

Revise Response

  • Split responsibilities into Response (value object) and Responder
  • Drop Response::__construct()
  • Introduce Response::withExit()
  • Make Response immutable
  • Introduce Response::create()
  • Introduce Response::redirect()

Revise Request/Url

  • Replace Request::get() with Url::param()
  • Introduce Request::deletePost() and ::commentPost()
  • Start testing against FakeRequest instead of stub
  • Replace Dic::makeRequest() with Request::current()
  • Url is not a dependency of Request
  • Url is a value object
  • Construct Url from CMSIMPLE_URL and query string (not $sn and $su)
  • Refactor Url::relative() and ::absolute()
  • Replace Url::replace() with ::with()
Created at 11 hours ago

Implement autoloader for tests

Created at 15 hours ago

Revise view and templates

  • Silently ignore ob_get_clean() errors
  • Rename View::$templateDir to ::$templateFolder
  • Use ternary operator
  • Rename View::$lang to ::$text
  • Use short_open_tags in view templates during development
  • Auto-escaping of view values
  • Don't pass objects nor callables as view values
Created at 15 hours ago
delete branch
cmb69 delete branch build
Created at 16 hours ago

Tweak build system

  • Minification during build is sufficient
  • Compact exec tasks
  • Don't sniff tests
  • Add "check" target for convenience
  • Install PHPUnit via composer
Created at 16 hours ago
create branch
cmb69 create branch build
Created at 16 hours ago

Fix typo

Created at 1 day ago

Fix FakeRepository

Created at 1 day ago
issue comment
Don't use synchronous XHR

Solved by 00e560efdb2768f4eb5a6c187af3ad136a7b912e.

Created at 1 day ago
closed issue
Don't use synchronous XHR

That's simply bad style, see https://github.com/cmb69/tetris_xh/blob/1/tetris.js#L193.

Created at 1 day ago
closed issue
Switch to a human readable data format for highscores

There may be cases where it is necessary to manually modify the highscores; with the current serialization format that is almost impossible. A simple colon separated values format would be an improvement.

Created at 1 day ago

Tweak HighscoreService

  • Extract ::filename()
  • Prefer type declarations over hints
  • Cater to configurable content folder

Close #13 (Switch to a human readable data format for highscores)

Revise Highscore(s)

  • Repository::addHighscore() is fallible
  • Repository::write() is fallible
  • Replace magic number with constant
  • Rename Repository::readHighscores() to ::highscores()
  • Rename Repository::enterHighscore() to ::addHighscore()
  • Rename HighscoreService to Repository
  • Introduce Util::validateHighscore()
  • Request::highscorePost() returns Highscore
  • ::enterHighscore() accepts Highscore
  • Introduce Highscore value objects
Created at 1 day ago
opened issue
Switch to a human readable data format for highscores

There may be cases where it is necessary to manually modify the highscores; with the current serialization format that is almost impossible. A simple colon separated values format would be an improvement.

Created at 1 day ago

Update approval test wrt. f059074

Created at 2 days ago
closed issue
The arrow keys don't work in all browsers

This should be fixed!

Reported by Simmyne – should be credited.

Created at 2 days ago

Include JS as module

Fix #11 (The arrow keys don't work in all browsers)

The most relevant part of this fix was already done by 00e560e.

Created at 2 days ago
closed issue
Drop jQuery requirement
Created at 2 days ago

Close #12 (Drop jQuery requirement)

Created at 2 days ago

Revise JS

  • Use newsbox() instead of HTML markup in language texts
  • Show highscores right away
  • Fix tabs (broken since the jQueryUI removal)
  • Fix indentation
  • Fix removal of JS warning (yeah, everything is !important)
Created at 2 days ago
opened issue
Drop jQuery requirement
Created at 2 days ago

Fix build

Unify help files and README

Created at 2 days ago

Introduce Request

  • Introduce Request::action()
  • Introduce Request::highscorePost()
  • Introduce Request::url()
Created at 2 days ago

Auto-escape view values

Created at 2 days ago

Revise MainController

  • Make controller language text agnostic
  • Write script to body instead of head
  • Write JS configuration into data attribute instead of script
  • Prefer shaped array over stdClass
  • Avoid compact()
Created at 2 days ago

Revise InfoController

  • Controllers should be agnostic of language texts
  • Prefer type declarations over hints
  • Favor shaped arrays over stdClass
  • Remove noisy license info from info screen
  • Avoid compact()
Created at 2 days ago

Tests

  • Mark "untestable" classes
  • Inline Plugin
  • Move dispatch into MainController
  • Inject plugin folder into MainController
  • Test against FakeHighscoreService instead of stub
  • Test HighscoreService
  • Test MainController
  • Test InfoController
  • Test Dic
Created at 2 days ago

A-frame architecture

  • Extract Dic
  • Introduce Response/Responder
  • Extract Jquery
  • Inject data folder into HighscoreService
  • Inject HighscoreService into controllers
  • Make HighscoreService non static
  • Inject MainController dependencies
  • Inject InfoController dependencies
  • Inline SystemCheckService
  • Extract SystemChecker
  • Collapse Controller hierarchy
  • View is infra
  • SystemCheckService is infra
  • HighscoreService is infra
  • Drop own autoloader in favor of CMSimple_XH's
Created at 2 days ago
closed issue
Require CMSimple_XH ≥ 1.7.0

That simplifies the implementation and adds a few potential enhancements.

Created at 3 days ago