diff --git a/src/RequirementsChecker.php b/src/RequirementsChecker.php index 9f73731..07ea875 100644 --- a/src/RequirementsChecker.php +++ b/src/RequirementsChecker.php @@ -7,14 +7,17 @@ use function intval; /** - * YiiRequirementChecker allows checking, if current system meets the requirements for running the Yii application. + * `RequirementsChecker` allows checking, if current system meets the requirements for running the Yii application. * This class allows rendering of the check report for the web and console application interface. * * Example: * * ```php - * require_once 'path/to/YiiRequirementChecker.php'; - * $requirementsChecker = new YiiRequirementChecker(); + * use Yiisoft\Requirements\RequirementsChecker; + * + * require_once('vendor/yiisoft/requirements/src/RequirementsChecker.php'); + * + * $requirementsChecker = new RequirementsChecker; * $requirements = [ * [ * 'name' => 'PHP Some Extension', @@ -402,6 +405,6 @@ public function getServerInfo(): string */ public function getNowDate(): string { - return @strftime('%Y-%m-%d %H:%M', time()); + return date('Y-m-d H:i:s'); } } diff --git a/src/views/console/index.php b/src/views/console/index.php index 097e4a0..be10a91 100644 --- a/src/views/console/index.php +++ b/src/views/console/index.php @@ -25,7 +25,7 @@ echo 'Required by: ' . strip_tags($requirement['by']) . "\n"; $memo = strip_tags($requirement['memo']); if (!empty($memo)) { - echo 'Memo: ' . strip_tags($requirement['memo']) . "\n"; + echo strip_tags($requirement['memo']) . "\n"; } } echo "\n"; diff --git a/src/views/web/css.php b/src/views/web/css.php index e3f2a41..43b62c0 100644 --- a/src/views/web/css.php +++ b/src/views/web/css.php @@ -1,63 +1,356 @@ + * { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box + } + + :before, + :after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box + } + + html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0) + } + + body { + margin: 1rem; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #333; + background-color: #fff + } + + header, + main, + footer { + display: block + } + + a { + background-color: transparent; + color: #337ab7; + text-decoration: none + } + + a:hover, + a:focus { + color: #23527c; + text-decoration: underline + } + + a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px + } + + a:active, + a:hover { + outline: 0 + } + + abbr[title] { + border-bottom: 1px dotted + } + + abbr[title], + abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777 + } + + strong { + font-weight: 700 + } + + h1 { + font-size: 36px; + margin: .67em 0 + } + + h3 { + font-size: 24px + } + + h1, + h3 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit + } + + h1, + h3 { + margin-top: 20px; + margin-bottom: 10px + } + + hr { + box-sizing: content-box; + height: 0; + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eee + } + + code { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 4px + } + + table { + border-collapse: collapse; + border-spacing: 0 + } + + td, + th { + padding: 0 + } + + p { + margin: 0 0 10px + } + + .container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px + } + + table { + background-color: transparent + } + + th { + text-align: left + } + + .table { + width: 100%; + max-width: 100%; + margin-bottom: 20px + } + + .table>tbody>tr>th, + .table>tbody>tr>td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd + } + + .table>tr>th { + vertical-align: bottom; + border-bottom: 2px solid #ddd + } + + .table>tr:first-child>th, + .table>tr:first-child>td { + border-top: 0 + } + + .table>tbody+tbody { + border-top: 2px solid #ddd + } + + .table .table { + background-color: #fff + } + + .table-bordered { + border: 1px solid #ddd + } + + .table-bordered>tbody>tr>th, + .table-bordered>tbody>tr>td { + border: 1px solid #ddd + } + + .table-bordered>tr>th, + .table-bordered>tr>td { + border-bottom-width: 2px + } + + table td[class*=col-], + table th[class*=col-] { + position: static; + float: none; + display: table-cell + } + + .table tr>td.active, + .table tr>th.active, + .table tr.active>td, + .table tr.active>th { + background-color: #f5f5f5; + border-color: #e8e8e8 + } + + .table tr>td.success, + .table tr>th.success, + .table tr.success>td, + .table tr.success>th { + background-color: #dff0d8; + border-color: #d6e9c6 + } + + .table tr>td.info, + .table tr>th.info, + .table tr.info>td, + .table tr.info>th { + background-color: #d9edf7; + border-color: #c4ebf3 + } + + .table tr>td.warning, + .table tr>th.warning, + .table tr.warning>td, + .table tr.warning>th { + background-color: #fcf8e3; + border-color: #faebcc + } + + .table tr>td.danger, + .table tr>th.danger, + .table tr.danger>td, + .table tr.danger>th { + background-color: #f2dede; + border-color: #ebccd1 + } + + .alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px + } + + .alert>p { + margin-bottom: 0 + } + + .alert>p+p { + margin-top: 5px + } + + .alert-success { + background-color: #d1e7dd; + border-color: #a3cfbb; + color: #0a3622 + } + + .alert-info { + background-color: #cff4fc; + border-color: #9eeaf9; + color: #055160 + } + + .alert-warning { + background-color: #fff3cd; + border-color: #ffe69c; + color: #8a6d3b + } + + .alert-danger { + background-color: #f8d7da; + border-color: #f1aeb5; + color: #58151c; + } + + .text-center { + text-align: center; + } + + @media (min-width:768px) { + .container { + width: 750px + } + } + + @media (min-width:992px) { + .container { + width: 970px + } + } + + @media (min-width:1200px) { + .container { + width: 1170px + } + } + + @media print { + + *, + :before, + :after { + background: transparent !important; + color: #000 !important; + box-shadow: none !important; + text-shadow: none !important + } + + a, + a:visited { + text-decoration: underline + } + + a[href]:after { + content: " (" attr(href) ")" + } + + abbr[title]:after { + content: " (" attr(title) ")" + } + + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: "" + } + + tr { + page-break-inside: avoid + } + + p, + h3 { + orphans: 3; + widows: 3 + } + + h3 { + page-break-after: avoid + } + + .table { + border-collapse: collapse !important + } + + .table td, + .table th { + background-color: #fff !important + } + + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important + } + } + \ No newline at end of file diff --git a/src/views/web/index.php b/src/views/web/index.php index cdefa8f..207b0c8 100644 --- a/src/views/web/index.php +++ b/src/views/web/index.php @@ -6,74 +6,89 @@ */ ?> + - - Yii Application Requirement Checker + + Yii Requirements Checker renderViewFile(__DIR__ . '/css.php'); ?> - -
-
-

Yii Application Requirement Checker

-
-
-
-

Description

-

- This script checks if your server configuration meets the requirements - for running Yii application. - It checks if the server is running the right version of PHP, - if appropriate PHP extensions have been loaded, and if php.ini file settings are correct. -

-

- There are two kinds of requirements being checked. Mandatory requirements are those that have to be met - to allow Yii to work as expected. There are also some optional requirements being checked which will - show you a warning when they do not meet. You can use Yii framework without them but some specific - functionality may be not available in this case. -

-

Conclusion

- 0) : ?> -
- Unfortunately your server configuration does not satisfy the requirements by this application.
Please refer to the table below for detailed explanation.
-
- 0) : ?> -
- Your server configuration satisfies the minimum requirements by this application.
Please pay attention to the warnings listed below and check if your application will use the corresponding features.
-
- -
- Congratulations! Your server configuration satisfies all requirements. + +
+
+
+ + Yii + +

Requirements Checker

- +
+
+
+

Description

+

+ This script checks if your server configuration meets the requirements + for running Yii application. + It checks if the server is running the right version of PHP, + if appropriate PHP extensions have been loaded, and if php.ini file settings are correct. +

+

+ There are two kinds of requirements being checked. Mandatory requirements are those that have to be met + to allow Yii to work as expected. There are also some optional requirements being checked which will + show you a warning when they do not meet. You can use Yii framework without them but some specific + functionality may be not available in this case. +

+ +

Conclusion

+ +
+ Unfortunately your server configuration does not satisfy the requirements by this application.
Please refer to the table below for detailed explanation.
+
+ +
+ Your server configuration satisfies the minimum requirements by this application.
Please pay attention to the warnings listed below and check if your application will use the corresponding features.
+
+ +
+ Congratulations! Your server configuration satisfies all requirements. +
+ -

Details

+

Details

- - - - - - - - - - -
NameResultRequired ByMemo
- - - - - - - -
-
-
-
-

Server: getServerInfo() . ' ' . $this->getNowDate() ?>

-

Powered by Yii Framework

-
-
+ + + + + + + + + + + + + + + +
NameResultRequired ByNote
+ + + + ' : ($requirement['mandatory'] ? 'Failed' : 'Warning') ?> + + + + + +
+
+
+ +
- + + \ No newline at end of file diff --git a/src/views/web/yii3_sign.svg b/src/views/web/yii3_sign.svg new file mode 100644 index 0000000..6e9e879 --- /dev/null +++ b/src/views/web/yii3_sign.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + diff --git a/src/views/web/yii3_sign_grey.svg b/src/views/web/yii3_sign_grey.svg new file mode 100644 index 0000000..a27f4b7 --- /dev/null +++ b/src/views/web/yii3_sign_grey.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + diff --git a/src/views/web/yii3_sign_red.svg b/src/views/web/yii3_sign_red.svg new file mode 100644 index 0000000..b6b3322 --- /dev/null +++ b/src/views/web/yii3_sign_red.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + +