License updated to GPLv3

🧲 New features
Custom user role permissions
Employee edit form updated
Employee daily task list
Attendance and employee distribution charts on dashboard
Improvements to company structure and company assets module
Improved tables for displaying data in several modules
Faster data loading (specially for employee module)
Initials based profile pictures
Re-designed login page
Re-designed user profile page
Improvements to filtering
New REST endpoints for employee qualifications

🐛 Bug fixes
Fixed, issue with managers being able to create performance reviews for employees who are not their direct reports
Fixed, issues related to using full profile image instead of using smaller version of profile image
Changing third gender to other
Improvements and fixes for internal frontend data caching
This commit is contained in:
Thilina Pituwala
2020-10-31 19:02:37 +01:00
parent 86b8345505
commit b1df0037db
29343 changed files with 867614 additions and 2191082 deletions

38
.gitignore vendored
View File

@@ -1,25 +1,35 @@
.settings /.settings
.buildpath /.buildpath
.project /.project
.idea/ .idea/
app/config.php /build
build /deployment/clients/dev/data/*
deployment/clients/dev/data/ /deployment/clients/test/data/*
deployment/clients/test/data/ /deployment/clients/local/data/*
deployment/clients/local/data/ /.vagrant
.vagrant keys.tags.pub
app/config.php keys.dev.pub
app/data/* /app/config.php
/app/icehrm.key
/app/data/*.*
/app/data/keys/*
icehrm.key
cache.properties cache.properties
node_modules/* node_modules/*
test/frontend/node_modules/*
web/dist/*.map web/dist/*.map
web/admin/dist/*.map web/admin/dist/*.map
web/modules/dist/*.map web/modules/dist/*.map
test/frontend/cypress/videos/*
test/frontend/cypress/screenshots/*
.gitkeep
#web/node_modules
/frontend/node_modules/*
docker/development/db_data docker/development/db_data
docker/prod/db_data docker/prod/db_data
docker/prod/app_data docker/prod/app_data
docker/testing/db_data docker/testing/db_data
test/frontend/cypress/videos/*
test/frontend/cypress/screenshots/*
test/frontend/node_modules/*
!deployment/vagrant/ssl/icehrm.key !deployment/vagrant/ssl/icehrm.key
/web/dist/vendor.js.map
/web/dist/admin-bundle.js.map
/web/dist/modules-bundle.js.map

30
LICENSE
View File

@@ -1,21 +1,15 @@
MIT License IceHrm is a web based human resource management software
Copyright (C) 2020 Thilina, Pituwala
Copyright (c) 2016 Thilina Hasantha This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Permission is hereby granted, free of charge, to any person obtaining a copy This program is distributed in the hope that it will be useful,
of this software and associated documentation files (the "Software"), to deal but WITHOUT ANY WARRANTY; without even the implied warranty of
in the Software without restriction, including without limitation the rights MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell GNU General Public License for more details.
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all You should have received a copy of the GNU General Public License
copies or substantial portions of the Software. along with this program. If not, see <https://www.gnu.org/licenses/>.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

6
Vagrantfile vendored
View File

@@ -13,13 +13,15 @@ Vagrant.configure("2") do |config|
end end
config.vm.provision "shell", inline: <<-SHELL config.vm.provision "shell", inline: <<-SHELL
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
systemctl restart sshd.service
sudo service nginx restart sudo service nginx restart
SHELL SHELL
config.vm.hostname = "icehrm.test" config.vm.hostname = "icehrm.os"
config.hostsupdater.aliases = [ config.hostsupdater.aliases = [
"icehrm.test" "icehrm.os"
] ]
end end

View File

@@ -225,10 +225,14 @@
<fileset dir="${origin}"> <fileset dir="${origin}">
<include name="**/*"/> <include name="**/*"/>
<exclude name="node_modules/**"/> <exclude name="node_modules/**"/>
<exclude name="web/admin/src/**"/> <exclude name="web/node_modules/**"/>
<exclude name="web/modules/src/**"/> <exclude name="web/admin/**"/>
<exclude name="web/modules/**"/>
<exclude name="web/api/**"/> <exclude name="web/api/**"/>
<exclude name="web/api-common/**"/> <exclude name="web/api-common/**"/>
<exclude name="web/components/**"/>
<exclude name="web/themecss/**"/>
<exclude name="web/themejs/**"/>
</fileset> </fileset>
</copy> </copy>

View File

@@ -13,20 +13,20 @@ $photoAttendance = \Classes\SettingsManager::getInstance()->getSetting('Attendan
$mapAttendance = \Classes\SettingsManager::getInstance()->getSetting('Attendance: Request Attendance Location on Mobile'); $mapAttendance = \Classes\SettingsManager::getInstance()->getSetting('Attendance: Request Attendance Location on Mobile');
?><div class="span9"> ?><div class="span9">
<ul class="nav nav-tabs" id="modTab" style="margin-bottom:0px;margin-left:5px;border-bottom: none;"> <ul class="nav nav-tabs" id="modTab" style="margin-bottom:0px;margin-left:5px;border-bottom: none;">
<li class="active"><a id="tabAttendance" href="#tabPageAttendance"><?=t('Monitor Attendance')?></a></li> <li class="active"><a id="tabAttendance" href="#tabPageAttendance"><?=t('Monitor Attendance')?></a></li>
<li class=""><a id="tabAttendanceStatus" href="#tabPageAttendanceStatus"><?=t('Current Clocked In Status')?></a></li> <li class=""><a id="tabAttendanceStatus" href="#tabPageAttendanceStatus"><?=t('Current Clocked In Status')?></a></li>
</ul> </ul>
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane active" id="tabPageAttendance"> <div class="tab-pane active" id="tabPageAttendance">
<div id="Attendance" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="Attendance" class="reviewBlock" data-content="List" style="padding-left:5px;">
</div> </div>
<div id="AttendanceForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;"> <div id="AttendanceForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div> </div>
</div> </div>
<div class="tab-pane" id="tabPageAttendanceStatus"> <div class="tab-pane" id="tabPageAttendanceStatus">
<div id="AttendanceStatus" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="AttendanceStatus" class="reviewBlock" data-content="List" style="padding-left:5px;">
@@ -36,20 +36,20 @@ $mapAttendance = \Classes\SettingsManager::getInstance()->getSetting('Attendance
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="modal" id="attendancePhotoModel" tabindex="-1" role="dialog" aria-labelledby="messageModelLabel" aria-hidden="true"> <div class="modal" id="attendancePhotoModel" tabindex="-1" role="dialog" aria-labelledby="messageModelLabel" aria-hidden="true">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"><li class="fa fa-times"/></button> <button type="button" class="close" data-dismiss="modal" aria-hidden="true"><li class="fa fa-times"/></button>
<h3 style="font-size: 17px;">Attendance Details</h3> <h3 style="font-size: 17px;">Attendance Details</h3>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="row" style="background: #f3f4f5; padding: 10px;text-align: center;"> <div class="row" style="background: #f3f4f5; padding: 10px;text-align: center;">
<h4 id="attendnaceCanvasEmp"></h4> <h4 id="attendnaceCanvasEmp"></h4>
</div> </div>
<div class="row" style="background: #f3f4f5; padding: 10px;"> <div class="row" style="background: #f3f4f5; padding: 10px;">
<div id="attendnaceCanvasPunchInTimeWraper" class="col-sm-6" style="text-align: center;"> <div id="attendnaceCanvasPunchInTimeWraper" class="col-sm-6" style="text-align: center;">
<b>In: </b><span id="attendnaceCanvasPunchInTime"></span> <b>In: </b><span id="attendnaceCanvasPunchInTime"></span>
@@ -62,14 +62,14 @@ $mapAttendance = \Classes\SettingsManager::getInstance()->getSetting('Attendance
IP Address: <span id="punchOutIp"></span> IP Address: <span id="punchOutIp"></span>
</div> </div>
</div> </div>
<div id="attendancePhoto" class="row" style="background: #f3f4f5; padding: 10px;display:none;"> <div id="attendancePhoto" class="row" style="background: #f3f4f5; padding: 10px;display:none;">
<div id="attendnaceCanvasInWrapper" class="col-sm-6" style="text-align: center;"> <div id="attendnaceCanvasInWrapper" class="col-sm-6" style="text-align: center;">
</div> </div>
<div id="attendnaceCanvasOutWrapper" class="col-sm-6" style="text-align: center;"> <div id="attendnaceCanvasOutWrapper" class="col-sm-6" style="text-align: center;">
</div> </div>
</div> </div>
<div id="attendanceMap" class="row" style="background: #f3f4f5; padding: 10px;display:none;"> <div id="attendanceMap" class="row" style="background: #f3f4f5; padding: 10px;display:none;">
<div id="attendnaceMapCanvasInWrapper" class="col-sm-6" style="text-align: center;"> <div id="attendnaceMapCanvasInWrapper" class="col-sm-6" style="text-align: center;">
@@ -85,21 +85,21 @@ $mapAttendance = \Classes\SettingsManager::getInstance()->getSetting('Attendance
<span>Location: <span id="punchOutLocation"></span></span> <span>Location: <span id="punchOutLocation"></span></span>
</div> </div>
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<script> <script>
var modJsList = new Array(); var modJsList = new Array();
modJsList['tabAttendance'] = new AttendanceAdapter('Attendance','Attendance','','in_time desc'); modJsList['tabAttendance'] = new AttendanceAdapter('Attendance','Attendance','','in_time desc');
modJsList['tabAttendance'].setRemoteTable(true); modJsList['tabAttendance'].setRemoteTable(true);
modJsList['tabAttendance'].setPhotoAttendance(<?=$photoAttendance == '1' || $mapAttendance == '1'?>); modJsList['tabAttendance'].setPhotoAttendance(<?=$photoAttendance == '1' || $mapAttendance == '1'?>);
modJsList['tabAttendanceStatus'] = new AttendanceStatusAdapter('AttendanceStatus','AttendanceStatus','',''); modJsList['tabAttendanceStatus'] = new AttendanceStatusAdapter('AttendanceStatus','AttendanceStatus','','');
modJsList['tabAttendanceStatus'].setShowAddNew(false); modJsList['tabAttendanceStatus'].setShowAddNew(false);
var modJs = modJsList['tabAttendance']; var modJs = modJsList['tabAttendance'];
</script> </script>
<?php include APP_BASE_PATH.'footer.php';?> <?php include APP_BASE_PATH.'footer.php';?>

View File

@@ -0,0 +1,44 @@
ICEHRM END USER LICENSE AGREEMENT
NOTICE TO ALL USERS: BY PURCHASING THE MODULE, YOU (EITHER AN INDIVIDUAL OR A SINGLE ENTITY) CONSENT TO BE BOUND BY AND BECOME A PARTY TO THIS AGREEMENT.
All references to "Software" herein shall be deemed to include the software license with which you will be provided by Gamonoid Media Pvt Ltd, as part of the Software.
1. LICENSE GRANT. Subject to the payment of the applicable licence fees, and subject to the terms and conditions of this Agreement, ICEHRM hereby grants to you a non-exclusive, non-transferable right to use one copy of the specified version of the Software and the accompanying documentation (the "Documentation") for the term of this Agreement solely for your own internal business purposes. You may install one copy of the Software for production use.
.
2. USE. The Software is licensed as a single product; it may not be used on more than one ICEHRM Server at a time. The Software is "in use" on a Server when its installed on a Server. You shall not, nor permit any third party to copy (other than as expressly permitted herein). You shall not rent, lease or lend the Software to any other person, nor transfer or sub-licence your licence rights to any other person.
3. TERM. This Agreement is effective until terminated as set forth herein. This Agreement will terminate automatically if you fail to comply with any of the conditions, limitations or other requirements described herein. Upon any termination of this Agreement, you must immediately destroy all copies of the Software and the Documentation. You may terminate this Agreement at any point by destroying all copies of the Software and the Documentation.
4. SUPPORT. Gamonoid Media Pvt Ltd will provide you support according to the support agreement subscribed by the company.
5. OWNERSHIP RIGHTS. The Software is protected by copyright laws. ICEHRM and Gamonoid Media Pvt Ltd own and retain all right, title and interest in and to the Software, including all copyrights, patents, trademarks and other intellectual property rights therein. Your possession, installation, or use of the Software does not transfer to you any title to the intellectual property in the Software, and you will not acquire any rights to the Software except as expressly set forth in this Agreement.
6. LIMITED WARRANTY. You may not rent, lease, loan or resell the Software. You may not permit third parties to benefit from the use or functionality of the Software via a timesharing, service bureau or other arrangement, except to the extent such use is specified in the applicable list price or product packaging for the Software. You may not transfer any of the rights granted to you under this Agreement. You may not modify, or create derivative works based upon, the Software in whole or in part. You may not copy the Software or Documentation except as expressly permitted in Section 1 above. You may not remove any proprietary notices or labels on the Software. All rights not expressly set forth hereunder are reserved by ICEHRM. ICEHRM reserves the right to periodically conduct audits upon advance written notice to verify compliance with the terms of this Agreement.
7. WARRANTY and DISCLAIMER.
(i) Gamonoid Media Pvt Ltd. warrants that for 30 days from first download or installation the Software will perform substantially in accordance with the functionality described in the Documentation (http://blog.icehrm.com) when operated properly and in the manner specified in the Documentation.
(ii) You accept all responsibility for the selection of this Software to meet your requirements.
(iii) Gamonoid Media Pvt Ltd. does not warrant that the Software and/or the Documentation will be suitable for such requirements nor that any use will be uninterrupted and error free.
(iv) The warranty in (i) shall not apply if you (a) make or cause to be made any modifications to this Software, (b) use the Software in a manner for which it was not intended or (c) use the Software other than as permitted under this Agreement.
(vii) The warranties and conditions stated in this Agreement are in lieu of all other conditions, warranties or other terms concerning the supply or purported supply of, failure to supply or delay in supplying the Software or the Documentation which might but for this paragraph (vii) have effect between the ICEHRM and you or would otherwise be implied into or incorporated into this Agreement or any collateral contract, whether by statute, common law or otherwise, all of which are hereby excluded (including, without limitation, the implied conditions, warranties or other terms as to satisfactory quality, fitness for purpose or as to the use of reasonable skill and care).
8. LIMITATION of LIABILITY. Gamonoid Media Pvt Ltd. shall have no liability (whether in contract, tort, restitution or otherwise) for any of the following losses or damage (whether such losses or damage were foreseen, foreseeable, known or otherwise):
- Loss of revenue;
- Loss of actual or anticipated profits (including for loss of profits on contracts);
- Loss of the use of money;
- Loss of anticipated savings;
- Loss of business;
- Loss of opportunity;
- Loss of goodwill;
- Loss of reputation;
- Loss of, damage to or corruption of data;
or
Any indirect or consequential loss or damage howsoever caused (including, for the avoidance of doubt, where such loss or damage is of the type specified in paragraph (ii), (a) to (ii), (i).
The ICEHRM liability (whether in contract, tort, restitution or otherwise) arising out of or in connection with the supply of the Software shall in no circumstances exceed a sum equal to the amount equally paid by you for the Software.
The construction and interpretation of this Agreement shall be governed in accordance with the laws of Sri Lanka. The parties hereby submit to the jurisdiction of the courts of Sri Lanka save that ICEHRM as claimant shall be entitled to initiate proceedings in any court of competent jurisdiction.
This Agreement contains the entire understanding of the parties with respect to the subject matter hereof and supersedes all and any prior understandings, undertakings and promises between you and ICEHRM, whether oral or in writing, which have been given or may be implied from anything written or said in negotiations between us or our representatives prior to this Agreement and all prior agreements between the parties relating to the matters aforesaid shall cease to have effect as from the Effective Date.

View File

@@ -0,0 +1,7 @@
This module is licensed under IceHrm Commercial License, which can be found in LICENSE.txt.
You are allowed to make any modification required to these module, but only allowed to use
the module in one production server (even with modifications).
Installation
------------
Copy this module into <icehrm path>/admin/ directory

View File

@@ -0,0 +1,57 @@
<?php
$moduleName = 'charts';
$moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php';
?>
<link href="<?=BASE_URL.'js/nvd3/src/nv.d3.css?v='.$jsVersion?>" rel="stylesheet" type="text/css">
<script src="<?=BASE_URL.'js/nvd3/lib/d3.v3.js?v='.$jsVersion?>"></script>
<script src="<?=BASE_URL.'js/nvd3/nv.d3.js?v='.$jsVersion?>"></script>
<script src="<?=BASE_URL.'js/nvd3/src/tooltip.js?v='.$jsVersion?>"></script>
<script src="<?=BASE_URL.'js/nvd3/src/utils.js?v='.$jsVersion?>"></script>
<script src="<?=BASE_URL.'js/nvd3/src/models/legend.js?v='.$jsVersion?>"></script>
<script src="<?=BASE_URL.'js/nvd3/src/models/axis.js?v='.$jsVersion?>"></script>
<script src="<?=BASE_URL.'js/nvd3/src/models/multiBar.js?v='.$jsVersion?>"></script>
<script src="<?=BASE_URL.'js/nvd3/src/models/discreteBar.js?v='.$jsVersion?>"></script>
<script src="<?=BASE_URL.'js/nvd3/src/models/discreteBarChart.js?v='.$jsVersion?>"></script>
<script src="<?=BASE_URL.'js/nvd3/stream_layers.js?v='.$jsVersion?>"></script>
<style type="text/css">
svg .tooltip { opacity: 1; }
</style>
<div class="span9">
<ul class="nav nav-tabs" id="modTab" style="margin-bottom:0px;margin-left:5px;border-bottom: none;">
<li class="active"><a id="tabAttendanceGraph" href="#tabPageAttendanceGraph"><?=t('Attendance Graph')?></a></li>
<li><a id="tabTimeUtilizationGraph" href="#tabPageTimeUtilizationGraph"><?=t('Hours in Office vs Hours Worked Graph')?></a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active reviewBlock with-3d-shadow with-transitions" id="tabPageAttendanceGraph" style="height: 500px;position: relative;">
<svg></svg>
</div>
<div class="tab-pane reviewBlock with-3d-shadow with-transitions" id="tabPageTimeUtilizationGraph" style="height: 500px;position: relative;">
<svg></svg>
</div>
</div>
</div>
<script>
var modJsList = new Array();
modJsList['tabAttendanceGraph'] = new AttendanceGraphAdapter('AttendanceGraph');
modJsList['tabAttendanceGraph'].setShowAddNew(false);
modJsList['tabTimeUtilizationGraph'] = new TimeUtilizationGraphAdapter('TimeUtilizationGraph');
modJsList['tabTimeUtilizationGraph'].setShowAddNew(false);
var modJs = modJsList['tabAttendanceGraph'];
</script>
<?php include APP_BASE_PATH.'footer.php';?>

View File

@@ -0,0 +1,13 @@
{
"label": "Time and Attendance",
"menu": "Insights",
"order": "1",
"icon": "fa-user-clock",
"user_levels": [
"Admin",
"Manager"
],
"permissions": [],
"model_namespace": "\\Charts\\Common\\Model",
"manager": "\\Charts\\Admin\\Api\\ChartsAdminManager"
}

View File

@@ -4,6 +4,9 @@
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah) Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/ */
use Classes\PermissionManager;
use Company\Common\Model\CompanyStructure;
$moduleName = 'company_structure'; $moduleName = 'company_structure';
$moduleGroup = 'admin'; $moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__)); define('MODULE_PATH',dirname(__FILE__));
@@ -44,12 +47,9 @@ path.link {
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane active" id="tabPageCompanyStructure"> <div class="tab-pane active" id="tabPageCompanyStructure">
<div id="CompanyStructure" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="CompanyStructureTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
<div id="CompanyStructureForm"></div>
</div> <div id="CompanyStructureFilterForm"></div>
<div id="CompanyStructureForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div> </div>
<div class="tab-pane reviewBlock" id="tabPageCompanyGraph" style="overflow-x: scroll;"> <div class="tab-pane reviewBlock" id="tabPageCompanyGraph" style="overflow-x: scroll;">
@@ -57,24 +57,15 @@ path.link {
</div> </div>
</div> </div>
<?php
$moduleData = [
'user_level' => $user->user_level,
'permissions' => [
'CompanyStructure' => PermissionManager::checkGeneralAccess(new CompanyStructure()),
]
];
?>
<script> <script>
var modJsList = new Array(); initAdminCompanyStructure(<?=json_encode($moduleData)?>);
modJsList['tabCompanyStructure'] = new CompanyStructureAdapter('CompanyStructure');
<?php if(isset($modulePermissions['perm']['Add Company Structure']) && $modulePermissions['perm']['Add Company Structure'] == "No"){?>
modJsList['tabCompanyStructure'].setShowAddNew(false);
<?php }?>
<?php if(isset($modulePermissions['perm']['Delete Company Structure']) && $modulePermissions['perm']['Delete Company Structure'] == "No"){?>
modJsList['tabCompanyStructure'].setShowDelete(false);
<?php }?>
<?php if(isset($modulePermissions['perm']['Edit Company Structure']) && $modulePermissions['perm']['Edit Company Structure'] == "No"){?>
modJsList['tabCompanyStructure'].setShowEdit(false);
<?php }?>
modJsList['tabCompanyGraph'] = new CompanyGraphAdapter('CompanyStructure');
var modJs = modJsList['tabCompanyStructure'];
</script> </script>
<?php include APP_BASE_PATH.'footer.php';?> <?php include APP_BASE_PATH.'footer.php';?>

View File

@@ -4,56 +4,89 @@
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah) Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/ */
use Classes\BaseService;
use Classes\LanguageManager;
$moduleName = 'dashboard'; $moduleName = 'dashboard';
$moduleGroup = 'admin'; $moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__)); define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php'; include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php'; include APP_BASE_PATH.'modulejslibs.inc.php';
$moduleManagers = BaseService::getInstance()->getModuleManagers();
$dashBoardList = array();
foreach($moduleManagers as $moduleManagerObj){
//Check if this is not an admin module
if($moduleManagerObj->getModuleType() != 'admin'){
continue;
}
$allowed = BaseService::getInstance()->isModuleAllowedForUser($moduleManagerObj);
if(!$allowed){
continue;
}
$item = $moduleManagerObj->getDashboardItem();
if(!empty($item)) {
$index = $moduleManagerObj->getDashboardItemIndex();
$dashBoardList[$index] = $item;
}
}
ksort($dashBoardList);
$dashboardList1 =[];
$dashboardList2 =[];
foreach($dashBoardList as $k=>$v){
if (count($dashboardList1) === 4 ) {
$dashboardList2[] = $v;
} else {
$dashboardList1[] = $v;
}
}
?><div class="span9"> ?><div class="span9">
<div class="row"> <div class="row">
<?php <?php
$moduleManagers = \Classes\BaseService::getInstance()->getModuleManagers(); foreach($dashboardList1 as $v){
$dashBoardList = array(); echo LanguageManager::translateTnrText($v);
foreach($moduleManagers as $moduleManagerObj){
//Check if this is not an admin module
if($moduleManagerObj->getModuleType() != 'admin'){
continue;
}
$allowed = \Classes\BaseService::getInstance()->isModuleAllowedForUser($moduleManagerObj);
if(!$allowed){
continue;
}
$item = $moduleManagerObj->getDashboardItem();
if(!empty($item)) {
$index = $moduleManagerObj->getDashboardItemIndex();
$dashBoardList[$index] = $item;
}
} }
?>
ksort($dashBoardList); </div>
<div class="row">
foreach($dashBoardList as $k=>$v){ <div class="col-lg-4 col-xs-12">
echo \Classes\LanguageManager::translateTnrText($v); <div id="EmployeeOnlineOfflineChartLoader" style="width:100%;"></div>
<div id="EmployeeOnlineOfflineChart" style="display:none;box-shadow: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.24);border: none;margin-bottom: 20px;"></div>
</div>
<div class="col-lg-4 col-xs-12">
<div id="EmployeeDistributionChartLoader" style="width:100%;"></div>
<div id="EmployeeDistributionChart" style="display:none;box-shadow: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.24);border: none;margin-bottom: 20px;"></div>
</div>
<div class="col-lg-4 col-xs-12">
<div id="TaskListLoader" style="width:100%;"></div>
<div id="TaskListWrap" style="display: none;box-shadow: 0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.24);border: none;margin-bottom: 20px; padding:25px;">
<h4>Tasks to Attend</h4>
<div id="TaskList" style="margin-left: 10px; margin-top: 30px;"></div>
</div>
</div>
</div>
<div class="row">
<?php
foreach($dashboardList2 as $v){
echo LanguageManager::translateTnrText($v);
} }
?> ?>
</div> </div>
</div> </div>
<script> <script>
var modJsList = new Array(); var modJsList = [];
modJsList['tabDashboard'] = new DashboardAdapter('Dashboard','Dashboard'); modJsList['tabDashboard'] = new DashboardAdapter('Dashboard','Dashboard');
var modJs = modJsList['tabDashboard']; var modJs = modJsList['tabDashboard'];
<?php if($user->user_level == "Admin") { ?>
$(document).ready(function () {
$('.span9 .row').prepend(window.atob('PGRpdiBjbGFzcz0iY2FsbG91dCBjYWxsb3V0LXdhcm5pbmcgbGVhZCIgc3R5bGU9ImZvbnQtc2l6ZTogMTRweDttYXJnaW4tdG9wOiA5MHB4OyI+CiAgICAgICAgICAgIDxoND5Zb3UgYXJlIGN1cnJlbnRseSB1c2luZyBJY2VIcm0gT3BlbnNvdXJjZSBWZXJzaW9uPC9oND4KICAgICAgICAgICAgPHAgc3R5bGU9ImZvbnQtd2VpZ2h0OiBib2xkOyI+CiAgICAgICAgICAgICAgICBXZSBoYXZlIGEgbG90IG1vcmUgZmVhdHVyZXMgdG8gb2ZmZXIuIEluY2x1ZGluZyBvdXIgaGlnaGx5IGN1c3RvbWl6YWJsZSBsZWF2ZSBtYW5hZ2VtZW50LCByZWNydWl0bWVudCBtb2R1bGVzIGFuZCBtYW55IG1vcmUgYWR2YW5jZWQgZmVhdHVyZXMgaW4gSWNlSHJtUHJvJiMxNzQ7CiAgICAgICAgICAgICAgICA8YnIvPgogICAgICAgICAgICAgICAgPGJyLz4KICAgICAgICAgICAgICAgIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2ljZWhybS5jb20vcHVyY2hhc2UtaWNlaHJtcHJvIiBjbGFzcz0iYnRuIGJ0bi1zdWNjZXNzIGJ0bS14cyI+PGkgY2xhc3M9ImZhIGZhLWNoZWNrb3V0Ij48L2k+IE1vcmUgYWJvdXQgSWNlSHJtUHJvJiMxNzQ7PC9hPgogICAgICAgICAgICA8L3A+CiAgICAgICAgPC9kaXY+'));
});
<?php } ?>
</script> </script>
<?php include APP_BASE_PATH.'footer.php';?> <?php include APP_BASE_PATH.'footer.php';?>

View File

@@ -1,5 +1,14 @@
<?php <?php
use Classes\PermissionManager;
use Dependents\Common\Model\EmployeeDependent;
use EmergencyContacts\Common\Model\EmergencyContact;
use Employees\Common\Model\Employee;
use Qualifications\Common\Model\EmployeeCertification;
use Qualifications\Common\Model\EmployeeEducation;
use Qualifications\Common\Model\EmployeeLanguage;
use Qualifications\Common\Model\EmployeeSkill;
$moduleName = 'employees'; $moduleName = 'employees';
$moduleGroup = 'admin'; $moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__)); define('MODULE_PATH',dirname(__FILE__));
@@ -10,126 +19,84 @@ $customFields = \Classes\BaseService::getInstance()->getCustomFields("Employee")
?><div class="span9"> ?><div class="span9">
<ul class="nav nav-tabs" id="modTab" style="margin-bottom:0px;margin-left:5px;border-bottom: none;"> <ul class="nav nav-tabs" id="modTab" style="margin-bottom:0px;margin-left:5px;border-bottom: none;">
<?php if($user->user_level != "Admin"){ <li class="active"><a id="tabEmployee" href="#tabPageEmployee"><?=t('Employees')?></a></li>
?>
<li class="active"><a id="tabEmployee" href="#tabPageEmployee"><?=t('Employees (Direct Reports)')?></a></li>
<?php }else{ ?>
<li class="active"><a id="tabEmployee" href="#tabPageEmployee"><?=t('Employees')?></a></li>
<?php }?>
<?php if ($user->user_level == "Admin") { ?>
<li><a id="tabEmployeeSkill" href="#tabPageEmployeeSkill"><?=t('Skills')?></a></li> <li><a id="tabEmployeeSkill" href="#tabPageEmployeeSkill"><?=t('Skills')?></a></li>
<li><a id="tabEmployeeEducation" href="#tabPageEmployeeEducation"><?=t('Education')?></a></li> <li><a id="tabEmployeeEducation" href="#tabPageEmployeeEducation"><?=t('Education')?></a></li>
<li><a id="tabEmployeeCertification" href="#tabPageEmployeeCertification"><?=t('Certifications')?></a></li> <li><a id="tabEmployeeCertification" href="#tabPageEmployeeCertification"><?=t('Certifications')?></a></li>
<li><a id="tabEmployeeLanguage" href="#tabPageEmployeeLanguage"><?=t('Languages')?></a></li> <li><a id="tabEmployeeLanguage" href="#tabPageEmployeeLanguage"><?=t('Languages')?></a></li>
<li><a id="tabEmployeeDependent" href="#tabPageEmployeeDependent"><?=t('Dependents')?></a></li> <li><a id="tabEmployeeDependent" href="#tabPageEmployeeDependent"><?=t('Dependents')?></a></li>
<li><a id="tabEmergencyContact" href="#tabPageEmergencyContact"><?=t('Emergency Contacts')?></a></li> <li><a id="tabEmergencyContact" href="#tabPageEmergencyContact"><?=t('Contacts')?></a></li>
<?php if (class_exists('\\Documents\\Admin\\Api\\DocumentsAdminManager')) {?> <li><a id="tabTerminatedEmployee" href="#tabPageTerminatedEmployee"><?=t('Deactivated')?></a></li>
<li><a id="tabEmployeeDocument" href="#tabPageEmployeeDocument"><?=t('Documents')?></a></li> <li><a id="tabArchivedEmployee" href="#tabPageArchivedEmployee"><?=t('Archived')?></a></li>
<?php } ?>
<?php }?>
<?php if ($user->user_level == "Admin"){ ?>
<li class="dropdown">
<a href="#" id="terminatedEmployeeMenu" class="dropdown-toggle" data-toggle="dropdown" aria-controls="terminatedEmployeeMenu-contents"><?=t('Deactivated Employees')?> <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="terminatedEmployeeMenu" id="terminatedEmployeeMenu-contents">
<li><a id="tabTerminatedEmployee" href="#tabPageTerminatedEmployee"><?=t('Temporarily Deactivated Employees')?></a></li>
<li><a id="tabArchivedEmployee" href="#tabPageArchivedEmployee"><?=t('Terminated Employee Data')?></a></li>
</ul>
</li>
<?php } ?>
</ul> </ul>
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane active" id="tabPageEmployee"> <div class="tab-pane active" id="tabPageEmployee">
<div id="Employee" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="EmployeeTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
<div id="EmployeeForm"></div>
</div> <div id="EmployeeFilterForm"></div>
<div id="EmployeeForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div> </div>
<div class="tab-pane" id="tabPageEmployeeSkill"> <div class="tab-pane" id="tabPageEmployeeSkill">
<div id="EmployeeSkill" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="EmployeeSkillTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
<div id="EmployeeSkillForm"></div>
</div> <div id="EmployeeSkillFilterForm"></div>
<div id="EmployeeSkillForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div> </div>
<div class="tab-pane" id="tabPageEmployeeEducation"> <div class="tab-pane" id="tabPageEmployeeEducation">
<div id="EmployeeEducation" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="EmployeeEducationTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
<div id="EmployeeEducationForm"></div>
</div> <div id="EmployeeEducationFilterForm"></div>
<div id="EmployeeEducationForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div> </div>
<div class="tab-pane" id="tabPageEmployeeCertification"> <div class="tab-pane" id="tabPageEmployeeCertification">
<div id="EmployeeCertification" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="EmployeeCertificationTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
<div id="EmployeeCertificationForm"></div>
</div> <div id="EmployeeCertificationFilterForm"></div>
<div id="EmployeeCertificationForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div> </div>
<div class="tab-pane" id="tabPageEmployeeLanguage"> <div class="tab-pane" id="tabPageEmployeeLanguage">
<div id="EmployeeLanguage" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="EmployeeLanguageTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
<div id="EmployeeLanguageForm"></div>
</div> <div id="EmployeeLanguageFilterForm"></div>
<div id="EmployeeLanguageForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div> </div>
<div class="tab-pane" id="tabPageEmployeeDependent"> <div class="tab-pane" id="tabPageEmployeeDependent">
<div id="EmployeeDependent" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="EmployeeDependentTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
<div id="EmployeeDependentForm"></div>
</div> <div id="EmployeeDependentFilterForm"></div>
<div id="EmployeeDependentForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div> </div>
<div class="tab-pane" id="tabPageEmergencyContact"> <div class="tab-pane" id="tabPageEmergencyContact">
<div id="EmergencyContact" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="EmergencyContactTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
<div id="EmergencyContactForm"></div>
</div> <div id="EmergencyContactFilterForm"></div>
<div id="EmergencyContactForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div> </div>
<div class="tab-pane" id="tabPageArchivedEmployee"> <div class="tab-pane" id="tabPageArchivedEmployee">
<div id="ArchivedEmployee" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="ArchivedEmployeeTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
<div id="ArchivedEmployeeForm"></div>
</div> <div id="ArchivedEmployeeFilterForm"></div>
<div id="ArchivedEmployeeForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div> </div>
<div class="tab-pane" id="tabPageTerminatedEmployee"> <div class="tab-pane" id="tabPageTerminatedEmployee">
<div id="TerminatedEmployee" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="TerminatedEmployeeTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
<div id="TerminatedEmployeeForm"></div>
</div> <div id="TerminatedEmployeeFilterForm"></div>
<div id="TerminatedEmployeeForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div> </div>
<?php if (class_exists('\\Documents\\Admin\\Api\\DocumentsAdminManager')) {?>
<div class="tab-pane" id="tabPageEmployeeDocument">
<div id="EmployeeDocument" class="reviewBlock" data-content="List" style="padding-left:5px;">
</div>
<div id="EmployeeDocumentForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div>
<?php } ?>
</div> </div>
</div> </div>
<div id="dataGroup"></div>
<?php
$moduleData = [
'user_level' => $user->user_level,
'customFields' => $customFields,
'permissions' => [
'Employee' => PermissionManager::checkGeneralAccess(new Employee()),
'EmployeeSkill' => PermissionManager::checkGeneralAccess(new EmployeeSkill()),
'EmployeeEducation' => PermissionManager::checkGeneralAccess(new EmployeeEducation()),
'EmployeeCertification' => PermissionManager::checkGeneralAccess(new EmployeeCertification()),
'EmployeeLanguage' => PermissionManager::checkGeneralAccess(new EmployeeLanguage()),
'EmployeeDependent' => PermissionManager::checkGeneralAccess(new EmployeeDependent()),
'EmergencyContact' => PermissionManager::checkGeneralAccess(new EmergencyContact()),
]];
?>
<script> <script>
var modJsList = new Array(); var modJsList = [];
<?php if($user->user_level != "Admin"){ ?> <?php if($user->user_level != "Admin"){ ?>
modJsList['tabEmployee'] = new EmployeeAdapter('Employee','Employee',{"status":"Active"}); modJsList['tabEmployee'] = new EmployeeAdapter('Employee','Employee',{"status":"Active"});
modJsList['tabEmployee'].setShowAddNew(false); modJsList['tabEmployee'].setShowAddNew(false);
@@ -137,6 +104,12 @@ modJsList['tabEmployee'].setShowDelete(false);
<?php }else{ ?> <?php }else{ ?>
modJsList['tabEmployee'] = new EmployeeAdapter('Employee','Employee',{"status":"Active"}); modJsList['tabEmployee'] = new EmployeeAdapter('Employee','Employee',{"status":"Active"});
<?php } ?> <?php } ?>
modJsList['tabEmployee'].setObjectTypeName('Employee');
modJsList['tabEmployee'].setModalType(EmployeeAdapter.MODAL_TYPE_STEPS);
modJsList['tabEmployee'].setDataPipe(new IceDataPipe(modJsList['tabEmployee']));
modJsList['tabEmployee'].setAccess(<?=json_encode($moduleData['permissions']['Employee'])?>);
modJsList['tabEmployee'].enableLocalStorage();
$(document).ready(() => modJsList['tabEmployee'].initForm());
modJsList['tabEmployee'].setRemoteTable(true); modJsList['tabEmployee'].setRemoteTable(true);
modJsList['tabEmployee'].setFieldNameMap(<?=json_encode($fieldNameMap)?>); modJsList['tabEmployee'].setFieldNameMap(<?=json_encode($fieldNameMap)?>);
@@ -144,45 +117,66 @@ modJsList['tabEmployee'].setCustomFields(<?=json_encode($customFields)?>);
modJsList['tabEmployeeSkill'] = new EmployeeSkillAdapter('EmployeeSkill'); modJsList['tabEmployeeSkill'] = new EmployeeSkillAdapter('EmployeeSkill');
modJsList['tabEmployeeSkill'].setRemoteTable(true); modJsList['tabEmployeeSkill'].setRemoteTable(true);
modJsList['tabEmployeeSkill'].setObjectTypeName('Employee Skill');
modJsList['tabEmployeeSkill'].setDataPipe(new IceDataPipe(modJsList['tabEmployeeSkill']));
modJsList['tabEmployeeSkill'].setAccess(<?=json_encode($moduleData['permissions']['EmployeeSkill'])?>);
modJsList['tabEmployeeEducation'] = new EmployeeEducationAdapter('EmployeeEducation'); modJsList['tabEmployeeEducation'] = new EmployeeEducationAdapter('EmployeeEducation');
modJsList['tabEmployeeEducation'].setRemoteTable(true); modJsList['tabEmployeeEducation'].setRemoteTable(true);
modJsList['tabEmployeeEducation'].setObjectTypeName('Employee Education');
modJsList['tabEmployeeEducation'].setDataPipe(new IceDataPipe(modJsList['tabEmployeeEducation']));
modJsList['tabEmployeeEducation'].setAccess(<?=json_encode($moduleData['permissions']['EmployeeEducation'])?>);
modJsList['tabEmployeeCertification'] = new EmployeeCertificationAdapter('EmployeeCertification'); modJsList['tabEmployeeCertification'] = new EmployeeCertificationAdapter('EmployeeCertification');
modJsList['tabEmployeeCertification'].setRemoteTable(true); modJsList['tabEmployeeCertification'].setRemoteTable(true);
modJsList['tabEmployeeCertification'].setObjectTypeName('Employee Certification');
modJsList['tabEmployeeCertification'].setDataPipe(new IceDataPipe(modJsList['tabEmployeeCertification']));
modJsList['tabEmployeeCertification'].setAccess(<?=json_encode($moduleData['permissions']['EmployeeCertification'])?>);
modJsList['tabEmployeeLanguage'] = new EmployeeLanguageAdapter('EmployeeLanguage'); modJsList['tabEmployeeLanguage'] = new EmployeeLanguageAdapter('EmployeeLanguage');
modJsList['tabEmployeeLanguage'].setRemoteTable(true); modJsList['tabEmployeeLanguage'].setRemoteTable(true);
modJsList['tabEmployeeLanguage'].setObjectTypeName('Employee Language');
modJsList['tabEmployeeLanguage'].setDataPipe(new IceDataPipe(modJsList['tabEmployeeLanguage']));
modJsList['tabEmployeeLanguage'].setAccess(<?=json_encode($moduleData['permissions']['EmployeeLanguage'])?>);
modJsList['tabEmployeeDependent'] = new EmployeeDependentAdapter('EmployeeDependent'); modJsList['tabEmployeeDependent'] = new EmployeeDependentAdapter('EmployeeDependent');
modJsList['tabEmployeeDependent'].setRemoteTable(true); modJsList['tabEmployeeDependent'].setRemoteTable(true);
modJsList['tabEmployeeDependent'].setObjectTypeName('Employee Dependent');
modJsList['tabEmployeeDependent'].setDataPipe(new IceDataPipe(modJsList['tabEmployeeDependent']));
modJsList['tabEmployeeDependent'].setAccess(<?=json_encode($moduleData['permissions']['EmployeeDependent'])?>);
modJsList['tabEmergencyContact'] = new EmergencyContactAdapter('EmergencyContact'); modJsList['tabEmergencyContact'] = new EmergencyContactAdapter('EmergencyContact');
modJsList['tabEmergencyContact'].setRemoteTable(true); modJsList['tabEmergencyContact'].setRemoteTable(true);
modJsList['tabEmergencyContact'].setObjectTypeName('Emergency Contact');
modJsList['tabEmergencyContact'].setDataPipe(new IceDataPipe(modJsList['tabEmergencyContact']));
modJsList['tabEmergencyContact'].setAccess(<?=json_encode($moduleData['permissions']['EmergencyContact'])?>);
modJsList['tabEmployeeImmigration'] = new EmployeeImmigrationAdapter('EmployeeImmigration'); //modJsList['tabEmployeeImmigration'] = new EmployeeImmigrationAdapter('EmployeeImmigration');
modJsList['tabEmployeeImmigration'].setRemoteTable(true); //modJsList['tabEmployeeImmigration'].setRemoteTable(true);
//modJsList['tabEmployeeImmigration'].setObjectTypeName('Employee Dependent');
//modJsList['tabEmployeeImmigration'].setDataPipe(new IceDataPipe(modJsList['tabEmployeeDependent']));
//modJsList['tabEmployeeImmigration'].setAccess(<?//=json_encode($moduleData['permissions']['EmployeeDependent'])?>//);
modJsList['tabArchivedEmployee'] = new ArchivedEmployeeAdapter('ArchivedEmployee'); modJsList['tabArchivedEmployee'] = new ArchivedEmployeeAdapter('ArchivedEmployee');
modJsList['tabArchivedEmployee'].setRemoteTable(true); modJsList['tabArchivedEmployee'].setRemoteTable(true);
modJsList['tabArchivedEmployee'].setShowAddNew(false); modJsList['tabArchivedEmployee'].setShowAddNew(false);
modJsList['tabArchivedEmployee'].setShowEdit(false);
modJsList['tabArchivedEmployee'].setObjectTypeName('Archived Employee');
modJsList['tabArchivedEmployee'].setDataPipe(new IceDataPipe(modJsList['tabArchivedEmployee']));
modJsList['tabArchivedEmployee'].setAccess(<?=json_encode($moduleData['permissions']['Employee'])?>);
modJsList['tabTerminatedEmployee'] = new TerminatedEmployeeAdapter('Employee','TerminatedEmployee',{"status":"Terminated"}); modJsList['tabTerminatedEmployee'] = new TerminatedEmployeeAdapter('Employee','TerminatedEmployee',{"status":"Terminated"});
modJsList['tabTerminatedEmployee'].setRemoteTable(true); modJsList['tabTerminatedEmployee'].setRemoteTable(true);
modJsList['tabTerminatedEmployee'].setShowAddNew(false); modJsList['tabTerminatedEmployee'].setShowAddNew(false);
modJsList['tabTerminatedEmployee'].setShowEdit(false);
modJsList['tabTerminatedEmployee'].setObjectTypeName('Deactivated Employees');
modJsList['tabTerminatedEmployee'].setDataPipe(new IceDataPipe(modJsList['tabTerminatedEmployee']));
modJsList['tabTerminatedEmployee'].setAccess(<?=json_encode($moduleData['permissions']['Employee'])?>);
<?php if (class_exists('\\Documents\\Admin\\Api\\DocumentsAdminManager')) {?>
modJsList['tabEmployeeDocument'] = new EmployeeDocumentAdapter('EmployeeDocument','EmployeeDocument');
modJsList['tabTerminatedEmployee'].setRemoteTable(true);
<?php } ?>
var modJs = modJsList['tabEmployee']; var modJs = modJsList['tabEmployee'];
</script> </script>
<div class="modal" id="createUserModel" tabindex="-1" role="dialog" aria-labelledby="messageModelLabel" aria-hidden="true"> <div class="modal" id="createUserModel" tabindex="-1" role="dialog" aria-labelledby="messageModelLabel" aria-hidden="true">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">

View File

@@ -1,5 +1,5 @@
{ {
"label": "Employee Custom Fields", "label": "Employee Fields",
"menu": "Admin", "menu": "Admin",
"order": "83", "order": "83",
"icon": "fa-ruler-horizontal", "icon": "fa-ruler-horizontal",

View File

@@ -3,6 +3,12 @@
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de) Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah) Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/ */
use Classes\PermissionManager;
use Employees\Common\Model\EmploymentStatus;
use Jobs\Common\Model\JobTitle;
use Jobs\Common\Model\PayGrade;
$moduleName = 'jobs'; $moduleName = 'jobs';
$moduleGroup = 'admin'; $moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__)); define('MODULE_PATH',dirname(__FILE__));
@@ -11,47 +17,42 @@ include APP_BASE_PATH.'modulejslibs.inc.php';
?><div class="span9"> ?><div class="span9">
<ul class="nav nav-tabs" id="modTab" style="margin-bottom:0px;margin-left:5px;border-bottom: none;"> <ul class="nav nav-tabs" id="modTab" style="margin-bottom:0px;margin-left:5px;border-bottom: none;">
<li class="active"><a id="tabJobTitles" href="#tabPageJobTitles"><?=t('Job Titles')?></a></li> <li class="active"><a id="tabJobTitle" href="#tabPageJobTitles"><?=t('Job Titles')?></a></li>
<li><a id="tabPayGrades" href="#tabPagePayGrades"><?=t('Pay Grades')?></a></li> <li><a id="tabPayGrade" href="#tabPagePayGrades"><?=t('Pay Grades')?></a></li>
<li><a id="tabEmploymentStatus" href="#tabPageEmploymentStatus"><?=t('Employment Status')?></a></li> <li><a id="tabEmploymentStatus" href="#tabPageEmploymentStatus"><?=t('Employment Status')?></a></li>
</ul> </ul>
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane active" id="tabPageJobTitles"> <div class="tab-pane active" id="tabPageJobTitles">
<div id="JobTitle" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="JobTitleTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
<div id="JobTitleForm"></div>
</div> <div id="JobTitleFilterForm"></div>
<div id="JobTitleForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div> </div>
<div class="tab-pane" id="tabPagePayGrades"> <div class="tab-pane" id="tabPagePayGrades">
<div id="PayGrade" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="PayGradeTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
<div id="PayGradeForm"></div>
</div> <div id="PayGradeFilterForm"></div>
<div id="PayGradeForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div> </div>
<div class="tab-pane" id="tabPageEmploymentStatus"> <div class="tab-pane" id="tabPageEmploymentStatus">
<div id="EmploymentStatus" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="EmploymentStatusTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
<div id="EmploymentStatusForm"></div>
</div> <div id="EmploymentStatusFilterForm"></div>
<div id="EmploymentStatusForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div> </div>
</div> </div>
</div> </div>
<div id="dataGroup"></div>
<?php
$moduleData = [
'user_level' => $user->user_level,
'permissions' => [
'JobTitle' => PermissionManager::checkGeneralAccess(new JobTitle()),
'PayGrade' => PermissionManager::checkGeneralAccess(new PayGrade()),
'EmploymentStatus' => PermissionManager::checkGeneralAccess(new EmploymentStatus()),
]
];
?>
<script> <script>
var modJsList = new Array(); initAdminJobs(<?=json_encode($moduleData)?>);
modJsList['tabJobTitles'] = new JobTitleAdapter('JobTitle');
modJsList['tabPayGrades'] = new PayGradeAdapter('PayGrade');
modJsList['tabEmploymentStatus'] = new EmploymentStatusAdapter('EmploymentStatus');
var modJs = modJsList['tabJobTitles'];
</script> </script>
<?php include APP_BASE_PATH.'footer.php';?> <?php include APP_BASE_PATH.'footer.php';?>

View File

@@ -4,6 +4,12 @@
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah) Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/ */
use Classes\PermissionManager;
use Qualifications\Common\Model\Certification;
use Qualifications\Common\Model\Education;
use Qualifications\Common\Model\Language;
use Qualifications\Common\Model\Skill;
$moduleName = 'qualifications'; $moduleName = 'qualifications';
$moduleGroup = 'admin'; $moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__)); define('MODULE_PATH',dirname(__FILE__));
@@ -20,92 +26,40 @@ include APP_BASE_PATH.'modulejslibs.inc.php';
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane active" id="tabPageSkill"> <div class="tab-pane active" id="tabPageSkill">
<div id="Skill" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="SkillTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
<div id="SkillForm"></div>
</div> <div id="SkillFilterForm"></div>
<div id="SkillForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div> </div>
<div class="tab-pane" id="tabPageEducation"> <div class="tab-pane" id="tabPageEducation">
<div id="Education" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="EducationTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
<div id="EducationForm"></div>
</div> <div id="EducationFilterForm"></div>
<div id="EducationForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div> </div>
<div class="tab-pane" id="tabPageCertification"> <div class="tab-pane" id="tabPageCertification">
<div id="Certification" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="CertificationTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
<div id="CertificationForm"></div>
</div> <div id="CertificationFilterForm"></div>
<div id="CertificationForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div> </div>
<div class="tab-pane" id="tabPageLanguage"> <div class="tab-pane" id="tabPageLanguage">
<div id="Language" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="LanguageTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
<div id="LanguageForm"></div>
</div> <div id="LanguageFilterForm"></div>
<div id="LanguageForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div> </div>
</div> </div>
</div> </div>
<div id="dataGroup"></div>
<?php
$moduleData = [
'user_level' => $user->user_level,
'permissions' => [
'Skill' => PermissionManager::checkGeneralAccess(new Skill()),
'Education' => PermissionManager::checkGeneralAccess(new Education()),
'Certification' => PermissionManager::checkGeneralAccess(new Certification()),
'Language' => PermissionManager::checkGeneralAccess(new Language()),
]
];
?>
<script> <script>
var modJsList = new Array(); initAdminQualifications(<?=json_encode($moduleData)?>);
modJsList['tabSkill'] = new SkillAdapter('Skill');
<?php if(isset($modulePermissions['perm']['Add Skills']) && $modulePermissions['perm']['Add Skills'] == "No"){?>
modJsList['tabSkill'].setShowAddNew(false);
<?php }?>
<?php if(isset($modulePermissions['perm']['Delete Skills']) && $modulePermissions['perm']['Delete Skills'] == "No"){?>
modJsList['tabSkill'].setShowDelete(false);
<?php }?>
<?php if(isset($modulePermissions['perm']['Edit Skills']) && $modulePermissions['perm']['Edit Skills'] == "No"){?>
modJsList['tabSkill'].setShowEdit(false);
<?php }?>
modJsList['tabEducation'] = new EducationAdapter('Education');
<?php if(isset($modulePermissions['perm']['Add Education']) && $modulePermissions['perm']['Add Education'] == "No"){?>
modJsList['tabEducation'].setShowAddNew(false);
<?php }?>
<?php if(isset($modulePermissions['perm']['Delete Education']) && $modulePermissions['perm']['Delete Education'] == "No"){?>
modJsList['tabEducation'].setShowDelete(false);
<?php }?>
<?php if(isset($modulePermissions['perm']['Edit Education']) && $modulePermissions['perm']['Edit Education'] == "No"){?>
modJsList['tabEducation'].setShowEdit(false);
<?php }?>
modJsList['tabCertification'] = new CertificationAdapter('Certification');
<?php if(isset($modulePermissions['perm']['Add Certifications']) && $modulePermissions['perm']['Add Certifications'] == "No"){?>
modJsList['tabCertification'].setShowAddNew(false);
<?php }?>
<?php if(isset($modulePermissions['perm']['Delete Certifications']) && $modulePermissions['perm']['Delete Certifications'] == "No"){?>
modJsList['tabCertification'].setShowDelete(false);
<?php }?>
<?php if(isset($modulePermissions['perm']['Edit Certifications']) && $modulePermissions['perm']['Edit Certifications'] == "No"){?>
modJsList['tabCertification'].setShowEdit(false);
<?php }?>
modJsList['tabLanguage'] = new LanguageAdapter('Language');
<?php if(isset($modulePermissions['perm']['Add Languages']) && $modulePermissions['perm']['Add Languages'] == "No"){?>
modJsList['tabLanguage'].setShowAddNew(false);
<?php }?>
<?php if(isset($modulePermissions['perm']['Delete Languages']) && $modulePermissions['perm']['Delete Languages'] == "No"){?>
modJsList['tabLanguage'].setShowDelete(false);
<?php }?>
<?php if(isset($modulePermissions['perm']['Edit Languages']) && $modulePermissions['perm']['Edit Languages'] == "No"){?>
modJsList['tabLanguage'].setShowEdit(false);
<?php }?>
var modJs = modJsList['tabSkill'];
</script> </script>
<?php include APP_BASE_PATH.'footer.php';?> <?php include APP_BASE_PATH.'footer.php';?>

View File

@@ -4,12 +4,20 @@
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah) Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
*/ */
use Classes\PermissionManager;
use Users\Common\Model\UserRole;
$moduleName = 'users'; $moduleName = 'users';
$moduleGroup = 'admin'; $moduleGroup = 'admin';
define('MODULE_PATH',dirname(__FILE__)); define('MODULE_PATH',dirname(__FILE__));
include APP_BASE_PATH.'header.php'; include APP_BASE_PATH.'header.php';
include APP_BASE_PATH.'modulejslibs.inc.php'; include APP_BASE_PATH.'modulejslibs.inc.php';
$csrf = \Classes\BaseService::getInstance()->generateCsrf('User'); $csrf = \Classes\BaseService::getInstance()->generateCsrf('User');
$modelClasses = array_keys(\Classes\BaseService::getInstance()->getModelClassMap());
$modelClasses = array_map(function($item) {
return [ $item, $item ];
}, $modelClasses);
?><div class="span9"> ?><div class="span9">
<ul class="nav nav-tabs" id="modTab" style="margin-bottom:0px;margin-left:5px;border-bottom: none;"> <ul class="nav nav-tabs" id="modTab" style="margin-bottom:0px;margin-left:5px;border-bottom: none;">
<li class="active"><a id="tabUser" href="#tabPageUser"><?=t('Users')?></a></li> <li class="active"><a id="tabUser" href="#tabPageUser"><?=t('Users')?></a></li>
@@ -26,16 +34,21 @@ $csrf = \Classes\BaseService::getInstance()->generateCsrf('User');
</div> </div>
</div> </div>
<div class="tab-pane" id="tabPageUserRole"> <div class="tab-pane" id="tabPageUserRole">
<div id="UserRole" class="reviewBlock" data-content="List" style="padding-left:5px;"> <div id="UserRoleTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
<div id="UserRoleForm"></div>
</div> <div id="UserRoleFilterForm"></div>
<div id="UserRoleForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
</div>
</div> </div>
</div> </div>
</div> </div>
<div id="dataGroup"></div>
<?php
$moduleData = [
'user_level' => $user->user_level,
'permissions' => [
'UserRole' => PermissionManager::checkGeneralAccess(new UserRole()),
]];
?>
<script> <script>
var modJsList = []; var modJsList = [];
modJsList['tabUser'] = new UserAdapter('User'); modJsList['tabUser'] = new UserAdapter('User');
@@ -45,7 +58,13 @@ modJsList['tabUser'].setRemoteTable(true);;
modJsList['tabUser'].newInitObject = JSON.parse(Base64.decode('<?=$_GET['object']?>')); modJsList['tabUser'].newInitObject = JSON.parse(Base64.decode('<?=$_GET['object']?>'));
<?php }?> <?php }?>
modJsList['tabUserRole'] = new UserRoleAdapter('UserRole'); modJsList['tabUserRole'] = new UserRoleAdapter('UserRole');
modJsList['tabUserRole'].setTables(<?=json_encode($modelClasses)?>);
modJsList['tabUserRole'].setObjectTypeName('User Role');
modJsList['tabUserRole'].setDataPipe(new IceDataPipe(modJsList['tabUserRole']));
modJsList['tabUserRole'].setAccess(<?=json_encode($moduleData['permissions']['UserRole'])?>);
var modJs = modJsList['tabUser']; var modJs = modJsList['tabUser'];
</script> </script>
<div id="UserRoleFormReact"></div>
<div id="dataGroup"></div>
<?php include APP_BASE_PATH.'footer.php';?> <?php include APP_BASE_PATH.'footer.php';?>

View File

@@ -13,10 +13,10 @@ if(!defined('HOME_LINK_OTHERS')){
} }
//Version //Version
define('VERSION', '27.0.2.OS'); define('VERSION', '28.1.0.OS');
define('CACHE_VALUE', '27.0.2.OS'); define('CACHE_VALUE', '28.1.0.OS.2020-10311445');
define('VERSION_NUMBER', '270002'); define('VERSION_NUMBER', '280100');
define('VERSION_DATE', '10/06/2020'); define('VERSION_DATE', '31/10/2020');
if(!defined('CONTACT_EMAIL')){define('CONTACT_EMAIL','icehrm@gamonoid.com');} if(!defined('CONTACT_EMAIL')){define('CONTACT_EMAIL','icehrm@gamonoid.com');}
if(!defined('KEY_PREFIX')){define('KEY_PREFIX','IceHrm');} if(!defined('KEY_PREFIX')){define('KEY_PREFIX','IceHrm');}

View File

@@ -5,15 +5,15 @@ $cron = new \Model\Cron();
$crons = $cron->Find("status = ?",array('Enabled')); $crons = $cron->Find("status = ?",array('Enabled'));
if(!$crons){ if(!$crons){
\Utils\LogManager::getInstance()->info(CLIENT_NAME." error :".$cron->ErrorMsg()); \Utils\LogManager::getInstance()->error(CLIENT_NAME." error :".$cron->ErrorMsg());
} }
\Utils\LogManager::getInstance()->info(CLIENT_NAME." cron count :".count($crons)); \Utils\LogManager::getInstance()->debug(CLIENT_NAME." cron count :".count($crons));
foreach($crons as $cron){ foreach($crons as $cron){
$iceCron = new \Classes\Cron\IceCron($cron); $iceCron = new \Classes\Cron\IceCron($cron);
\Utils\LogManager::getInstance()->info(CLIENT_NAME." check cron :".$cron->name); \Utils\LogManager::getInstance()->debug(CLIENT_NAME." check cron :".$cron->name);
if($iceCron->isRunNow()){ if($iceCron->isRunNow()){
\Utils\LogManager::getInstance()->info(CLIENT_NAME." execute cron :".$cron->name); \Utils\LogManager::getInstance()->debug(CLIENT_NAME." execute cron :".$cron->name);
$iceCron->execute(); $iceCron->execute();
} }
} }

View File

@@ -192,8 +192,30 @@ if (isset($rowCount) && !empty($rowCount)) {
/* /*
* Output * Output
*/ */
if (isset($_REQUEST['version']) && $_REQUEST['version'] === 'v2') {
$output = [
"totalRecords" => $totalRows,
"totalDisplayRecords" => $totalRows,
"objects" => []
];
if (!isset($_REQUEST['objects'])) { foreach ($data as $item) {
$row = new stdClass();
$colCount = count($columns);
for ($i = 0; $i < $colCount; $i++) {
$row->{$columns[$i]} = $item->{$columns[$i]};
}
$output['objects'][] = $row;
}
try {
echo \Classes\BaseService::getInstance()->safeJsonEncode($output);
} catch (Exception $e) {
\Utils\LogManager::getInstance()->error($e->getMessage());
\Utils\LogManager::getInstance()->notifyException($e);
echo json_encode(['status' => 'Error']);
}
}else if (!isset($_REQUEST['objects'])) {
$output = array( $output = array(
"sEcho" => intval($_REQUEST['sEcho']), "sEcho" => intval($_REQUEST['sEcho']),
"iTotalRecords" => $totalRows, "iTotalRecords" => $totalRows,

View File

@@ -3,8 +3,8 @@
</div><!-- ./wrapper --> </div><!-- ./wrapper -->
<script type="text/javascript"> <script type="text/javascript">
for (var prop in modJsList) { for (var prop in modJsList) {
if(modJsList.hasOwnProperty(prop)){ if(modJsList.hasOwnProperty(prop)){
modJsList[prop].setPermissions(<?=json_encode($modulePermissions['perm'])?>); modJsList[prop].setPermissions(<?=json_encode($modulePermissions['perm'])?>);
@@ -15,15 +15,12 @@
modJsList[prop].setEmailTemplates(<?=json_encode($emailTemplates)?>); modJsList[prop].setEmailTemplates(<?=json_encode($emailTemplates)?>);
<?php } ?> <?php } ?>
modJsList[prop].setUser(<?=json_encode($user)?>); modJsList[prop].setUser(<?=json_encode($user)?>);
<?php if(isset($_REQUEST['action']) && $_REQUEST['action'] == "new"){?> //modJsList[prop].initFieldMasterData(null, modJs.loadingFunction);
if(modJsList[prop].newInitObject == undefined || modJsList[prop].newInitObject == null){ modJsList[prop].initMasterDataReader();
modJsList[prop].initFieldMasterData(null,modJsList[prop].renderForm); modJsList[prop].masterDataReader.updateAllMasterData()
}else{ .then(() => {
modJsList[prop].initFieldMasterData(null,modJsList[prop].renderForm, modJsList[prop].newInitObject); modJs.loadingFunction();
} });
<?php }else{?>
modJsList[prop].initFieldMasterData(null, modJs.loadingFunction);
<?php }?>
modJsList[prop].setBaseUrl('<?=BASE_URL?>'); modJsList[prop].setBaseUrl('<?=BASE_URL?>');
modJsList[prop].setCurrentProfile(<?=json_encode($activeProfile)?>); modJsList[prop].setCurrentProfile(<?=json_encode($activeProfile)?>);
modJsList[prop].setInstanceId('<?=$baseService->getInstanceId()?>'); modJsList[prop].setInstanceId('<?=$baseService->getInstanceId()?>');
@@ -32,7 +29,7 @@
} }
var clientUrl = '<?=CLIENT_BASE_URL?>'; var clientUrl = '<?=CLIENT_BASE_URL?>';
</script> </script>
<?php include 'popups.php';?> <?php include 'popups.php';?>
<script src="<?=BASE_URL?>js/bootstrap-datatable.js"></script> <script src="<?=BASE_URL?>js/bootstrap-datatable.js"></script>

View File

@@ -39,7 +39,7 @@ $logoFileUrl = \Classes\UIManager::getInstance()->getCompanyLogoUrl();
<script src="<?=BASE_URL?>js/bootstrap-datetimepicker.js"></script> <script src="<?=BASE_URL?>js/bootstrap-datetimepicker.js"></script>
<link href="<?=BASE_URL?>bower_components/flag-icon-css/css/flag-icon.min.css" rel="stylesheet"> <link href="<?=BASE_URL?>bower_components/flag-icon-css/css/flag-icon.min.css" rel="stylesheet">
<!-- Can not bundle - End--> <!-- Can not bundle - End-->
<script type="text/javascript" src="<?=BASE_URL.'admin/dist/candidates.js'?>?v=<?=$jsVersion?>"></script> <?php include 'modulejslibs.inc.php'; ?>
<script> <script>
var baseUrl = '<?=CLIENT_BASE_URL?>service.php'; var baseUrl = '<?=CLIENT_BASE_URL?>service.php';
var CLIENT_BASE_URL = '<?=CLIENT_BASE_URL?>'; var CLIENT_BASE_URL = '<?=CLIENT_BASE_URL?>';

View File

@@ -127,9 +127,6 @@ if(empty($saveFileName) || $saveFileName == "_NEW_"){
$saveFileName = str_replace(".", "-", $saveFileName); $saveFileName = str_replace(".", "-", $saveFileName);
} }
$file = new \Model\File();
$file->Load("name = ?",array($saveFileName));
// list of valid extensions, ex. array("jpeg", "xml", "bmp") // list of valid extensions, ex. array("jpeg", "xml", "bmp")
$allowedExtensions = explode(',', "csv,doc,xls,docx,xlsx,txt,ppt,pptx,rtf,pdf,xml,jpg,bmp,gif,png,jpeg"); $allowedExtensions = explode(',', "csv,doc,xls,docx,xlsx,txt,ppt,pptx,rtf,pdf,xml,jpg,bmp,gif,png,jpeg");
@@ -173,10 +170,17 @@ if($uploadFilesToS3.'' == '1' && !empty($uploadFilesToS3Key) && !empty($uploadFi
} }
if($result['success'] == 1){ if($result['success'] == 1){
if ($_POST['file_group'] === 'profile_image' && !empty($_POST['user'])) {
\Classes\FileService::getInstance()->deleteProfileImage(intval($_POST['user']));
}
$file = new \Model\File();
$file->Load("name = ?",array($saveFileName));
$file->name = $saveFileName; $file->name = $saveFileName;
$file->filename = $result['filename']; $file->filename = $result['filename'];
$signInMappingField = SIGN_IN_ELEMENT_MAPPING_FIELD_NAME; $signInMappingField = SIGN_IN_ELEMENT_MAPPING_FIELD_NAME;
$file->$signInMappingField = $_POST['user']=="_NONE_"?null:$_POST['user']; $file->$signInMappingField = $_POST['user']=="_NONE_"?null:$_POST['user'];
$file->file_group = $_POST['file_group']; $file->file_group = $_POST['file_group'];
$file->size = $f_size; $file->size = $f_size;
$file->size_text = \Classes\FileService::getInstance()->getReadableSize($f_size); $file->size_text = \Classes\FileService::getInstance()->getReadableSize($f_size);

View File

@@ -22,7 +22,8 @@ if($_REQUEST['file_type']=="image"){
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <html xmlns="http://www.w3.org/1999/xhtml">
<head> <head>
<script type="text/javascript" src="<?=BASE_URL?>js/jquery-1.5.2.js"></script> <script type="text/javascript" src="<?=BASE_URL?>js/jquery.js"></script>
<script type="text/javascript" src="<?=BASE_URL?>js/jquery.form.js"></script>
<script type="text/javascript" src="<?=BASE_URL?>js/date.js"></script> <script type="text/javascript" src="<?=BASE_URL?>js/date.js"></script>
<script type="text/javascript" src="<?=BASE_URL?>js/json2.js"></script> <script type="text/javascript" src="<?=BASE_URL?>js/json2.js"></script>

View File

@@ -16,26 +16,12 @@
modJsList[prop].setEmailTemplates(<?=json_encode($emailTemplates)?>); modJsList[prop].setEmailTemplates(<?=json_encode($emailTemplates)?>);
<?php } ?> <?php } ?>
modJsList[prop].setUser(<?=json_encode(\Classes\BaseService::getInstance()->cleanUpUser($user))?>); modJsList[prop].setUser(<?=json_encode(\Classes\BaseService::getInstance()->cleanUpUser($user))?>);
<?php if(isset($_REQUEST['action']) && $_REQUEST['action'] == "new"){?> modJsList[prop].initSourceMappings();
if(modJsList[prop].newInitObject == undefined || modJsList[prop].newInitObject == null){
modJsList[prop].initFieldMasterData(null,modJsList[prop].renderForm);
}else{
modJsList[prop].initFieldMasterData(null,modJsList[prop].renderForm, modJsList[prop].newInitObject);
}
<?php }else{ ?>
if(modJsList[prop].initialFilter != null && modJsList[prop].initialFilter != undefined){
modJsList[prop].initFieldMasterData(null,modJsList[prop].setFilterExternal);
}else{
modJsList[prop].initFieldMasterData();
}
<?php } ?>
modJsList[prop].setBaseUrl('<?=BASE_URL?>'); modJsList[prop].setBaseUrl('<?=BASE_URL?>');
modJsList[prop].setCurrentProfile(<?=json_encode($activeProfile)?>); modJsList[prop].setCurrentProfile(<?=json_encode($activeProfile)?>);
modJsList[prop].setInstanceId('<?=\Classes\BaseService::getInstance()->getInstanceId()?>'); modJsList[prop].setInstanceId('<?=\Classes\BaseService::getInstance()->getInstanceId()?>');
modJsList[prop].setGoogleAnalytics(ga); modJsList[prop].setGoogleAnalytics(ga);
modJsList[prop].setNoJSONRequests('<?=\Classes\SettingsManager::getInstance()->getSetting("System: Do not pass JSON in request")?>'); modJsList[prop].setNoJSONRequests('<?=\Classes\SettingsManager::getInstance()->getSetting("System: Do not pass JSON in request")?>');
} }
} }
@@ -63,8 +49,17 @@
e.preventDefault(); e.preventDefault();
$(this).tab('show'); $(this).tab('show');
modJs = modJsList[$(this).attr('id')]; modJs = modJsList[$(this).attr('id')];
modJs.get([]); modJs.get([]);
modJs.initFieldMasterData();
// Do not load master data for new types of tables
if (!modJs.isV2) {
if(modJs.initialFilter != null){
modJs.initFieldMasterData(null,modJs.setFilterExternal);
} else {
modJs.initFieldMasterData();
}
}
var helpLink = modJs.getHelpLink(); var helpLink = modJs.getHelpLink();
if(helpLink != null && helpLink != undefined){ if(helpLink != null && helpLink != undefined){
$('.helpLink').attr('href',helpLink); $('.helpLink').attr('href',helpLink);
@@ -72,9 +67,13 @@
}else{ }else{
$('.helpLink').hide(); $('.helpLink').hide();
} }
}); });
for (var modName in modJsList) {
modJsList[modName].setApiUrl('<?=$restApiBase?>');
modJsList[modName].setupApiClient($('#jt').attr('t'));
}
var tabName = window.location.hash.substr(1); var tabName = window.location.hash.substr(1);
if(tabName!= undefined && tabName != "" && modJsList[tabName] != undefined && modJsList[tabName] != null){ if(tabName!= undefined && tabName != "" && modJsList[tabName] != undefined && modJsList[tabName] != null){
@@ -85,7 +84,6 @@
<?php } ?> <?php } ?>
} }
notificationManager.getNotifications(); notificationManager.getNotifications();
$("#delegationDiv").on('click', "#notifications", function(e) { $("#delegationDiv").on('click', "#notifications", function(e) {
@@ -104,7 +102,18 @@
$('.helpLink').hide(); $('.helpLink').hide();
} }
$(this).scrollTop(0);
}); });
if (!modJs.isV2) {
if(modJs.initialFilter != null){
modJs.initFieldMasterData(null,modJs.setFilterExternal);
} else {
modJs.initFieldMasterData();
}
}
var clientUrl = '<?=CLIENT_BASE_URL?>'; var clientUrl = '<?=CLIENT_BASE_URL?>';
var modulesInstalled = <?=json_encode(\Classes\BaseService::getInstance()->getModuleManagerNames())?>; var modulesInstalled = <?=json_encode(\Classes\BaseService::getInstance()->getModuleManagerNames())?>;
@@ -139,6 +148,6 @@
</script> </script>
<?php include 'popups.php';?> <?php include 'popups.php';?>
<script src="<?=BASE_URL?>js/bootstrap-datatable.js"></script> <script src="<?=BASE_URL?>js/bootstrap-datatable.js"></script>
<div id="jt" t="<?=$jwtService->create(3600)?>"></div>
</body> </body>
</html> </html>

View File

@@ -70,6 +70,14 @@ include('configureUIManager.php');
$chatUserProfile = \Classes\UIManager::getInstance()->getCurrentProfile(); $chatUserProfile = \Classes\UIManager::getInstance()->getCurrentProfile();
if (defined('SYM_CLIENT')) {
$restApiBase = WEB_APP_BASE_URL.'/api/'.SYM_CLIENT.'/';
} else if (defined('REST_API_BASE')){
$restApiBase = REST_API_BASE;
} else {
$restApiBase = CLIENT_BASE_URL.'api/';
}
?><!DOCTYPE html> ?><!DOCTYPE html>
<html> <html>
<head> <head>
@@ -249,19 +257,6 @@ $chatUserProfile = \Classes\UIManager::getInstance()->getCurrentProfile();
<!-- Right side column. Contains the navbar and content of the page --> <!-- Right side column. Contains the navbar and content of the page -->
<aside class="right-side"> <aside class="right-side">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
<?=\Classes\LanguageManager::tran($meta['label'])?>
<small>
<?=\Classes\LanguageManager::tran($meta['menu'])?>&nbsp;&nbsp
</small>
</h1>
<a href="#" class="helpLink" target="_blank"
style="display:none;color:#f4f4f4;font-size: 2.3rem;float: right;margin-top: -30px;text-shadow: 1px 1px 2px black, 0 0 25px #367fa9, 0 0 5px #367fa9;">
<i class="fa fa-question-circle"></i></a>
</section>
<!-- Main content --> <!-- Main content -->
<section class="content"> <section class="content">

View File

@@ -1,4 +1,9 @@
<?php <?php
use Classes\Common\IceContainer;
use Classes\LanguageManager;
use Utils\InputCleaner;
ini_set('display_errors', false); ini_set('display_errors', false);
error_reporting(E_ERROR); error_reporting(E_ERROR);
require dirname(__FILE__).'/lib/composer/vendor/autoload.php'; require dirname(__FILE__).'/lib/composer/vendor/autoload.php';
@@ -8,9 +13,11 @@ require dirname(__FILE__).'/lib/composer/vendor/autoload.php';
//$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler()); //$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler());
//$whoops->register(); //$whoops->register();
$container = new IceContainer();
function t($text) function t($text)
{ {
return \Classes\LanguageManager::translateTnrText($text); return LanguageManager::translateTnrText($text);
} }
if(!defined('TAGS_TO_PRESERVE')){define('TAGS_TO_PRESERVE','');} if(!defined('TAGS_TO_PRESERVE')){define('TAGS_TO_PRESERVE','');}
@@ -18,9 +25,9 @@ $jsVersion = defined('CACHE_VALUE')?CACHE_VALUE:"v".VERSION;
$cssVersion = defined('CACHE_VALUE')?CACHE_VALUE:"v".VERSION; $cssVersion = defined('CACHE_VALUE')?CACHE_VALUE:"v".VERSION;
if(!isset($_REQUEST['content']) || $_REQUEST['content'] != 'HTML'){ if(!isset($_REQUEST['content']) || $_REQUEST['content'] != 'HTML'){
$_REQUEST = \Utils\InputCleaner::cleanParameters($_REQUEST); $_REQUEST = InputCleaner::cleanParameters($_REQUEST);
$_GET = \Utils\InputCleaner::cleanParameters($_GET); $_GET = InputCleaner::cleanParameters($_GET);
$_POST = \Utils\InputCleaner::cleanParameters($_POST); $_POST = InputCleaner::cleanParameters($_POST);
} }
date_default_timezone_set('Asia/Colombo'); date_default_timezone_set('Asia/Colombo');

View File

@@ -1959,4 +1959,34 @@ msgid "Provide Feedback"
msgstr "Siguro Feedback" msgstr "Siguro Feedback"
msgid "Review Status" msgid "Review Status"
msgstr "Statusi i shqyrtimit" msgstr "Statusi i shqyrtimit"
msgid "Manage Metadata"
msgstr "Menaxho Meta Data-t"
msgid "Payroll Employees"
msgstr "Punonjësit e pagave"
msgid "Payroll Groups"
msgstr "Grupet e pagave"
msgid "Saved Calculations"
msgstr "Llogaritjet e ruajtura"
msgid "Total Leave Days"
msgstr "Ditët totale të pushimeve"
msgid "Actions"
msgstr "Veprimet"
msgid "Edit"
msgstr "Redakto"
msgid "View"
msgstr "Pamje"
msgid "Delete"
msgstr "Fshije"
msgid "Copy"
msgstr "Kopjoni"

View File

@@ -1972,3 +1972,18 @@ msgstr "الحسابات المحفوظة"
msgid "Total Leave Days" msgid "Total Leave Days"
msgstr "إجمالي أيام الإجازة" msgstr "إجمالي أيام الإجازة"
msgid "Actions"
msgstr "أجراءات"
msgid "Edit"
msgstr "تعديل"
msgid "View"
msgstr "رأي"
msgid "Delete"
msgstr "حذف"
msgid "Copy"
msgstr "نسخ"

View File

@@ -1972,3 +1972,18 @@ msgstr "Gespeicherte Berechnungen"
msgid "Total Leave Days" msgid "Total Leave Days"
msgstr "Gesamturlaubstage" msgstr "Gesamturlaubstage"
msgid "Actions"
msgstr "Aktionen"
msgid "Edit"
msgstr "Bearbeiten"
msgid "View"
msgstr "Siehe"
msgid "Delete"
msgstr "Löschen"
msgid "Copy"
msgstr "Kopie"

View File

@@ -1972,3 +1972,18 @@ msgstr "Saved Calculations"
msgid "Total Leave Days" msgid "Total Leave Days"
msgstr "Total Leave Days" msgstr "Total Leave Days"
msgid "Actions"
msgstr "Actions"
msgid "Edit"
msgstr "Edit"
msgid "View"
msgstr "View"
msgid "Delete"
msgstr "Delete"
msgid "Copy"
msgstr "Copy"

View File

@@ -1972,3 +1972,18 @@ msgstr "Cálculos guardados"
msgid "Total Leave Days" msgid "Total Leave Days"
msgstr "Total de días de permiso" msgstr "Total de días de permiso"
msgid "Actions"
msgstr "Acciones"
msgid "Edit"
msgstr "Edita"
msgid "View"
msgstr "Vea"
msgid "Delete"
msgstr "Eliminar"
msgid "Copy"
msgstr "Copia"

View File

@@ -1972,3 +1972,18 @@ msgstr "Tallennetut laskelmat"
msgid "Total Leave Days" msgid "Total Leave Days"
msgstr "Kokonaislomapäivät" msgstr "Kokonaislomapäivät"
msgid "Actions"
msgstr "Toiminnot"
msgid "Edit"
msgstr "Muokata"
msgid "View"
msgstr "Näytä"
msgid "Delete"
msgstr "Poistaa"
msgid "Copy"
msgstr "Kopio"

View File

@@ -1972,3 +1972,18 @@ msgstr "Calculs sauvegardés"
msgid "Total Leave Days" msgid "Total Leave Days"
msgstr "Nombre total de jours de congé" msgstr "Nombre total de jours de congé"
msgid "Actions"
msgstr "Actions"
msgid "Edit"
msgstr "Edit"
msgid "View"
msgstr "Voir"
msgid "Delete"
msgstr "Supprimer"
msgid "Copy"
msgstr "Copie"

View File

@@ -1972,3 +1972,18 @@ msgstr "Calcoli salvati"
msgid "Total Leave Days" msgid "Total Leave Days"
msgstr "Giorni di congedo totali" msgstr "Giorni di congedo totali"
msgid "Actions"
msgstr "Azioni"
msgid "Edit"
msgstr "Modifica"
msgid "View"
msgstr "Vedi"
msgid "Delete"
msgstr "Cancellare"
msgid "Copy"
msgstr "Copia"

View File

@@ -1972,3 +1972,18 @@ msgstr "保存された計算"
msgid "Total Leave Days" msgid "Total Leave Days"
msgstr "総休暇日数" msgstr "総休暇日数"
msgid "Actions"
msgstr "行動"
msgid "Edit"
msgstr "編集"
msgid "View"
msgstr "見る"
msgid "Delete"
msgstr "削除"
msgid "Copy"
msgstr "コピー"

View File

@@ -1972,3 +1972,18 @@ msgstr "Opgeslagen berekeningen"
msgid "Total Leave Days" msgid "Total Leave Days"
msgstr "Totaal aantal verlofdagen" msgstr "Totaal aantal verlofdagen"
msgid "Actions"
msgstr "Acties"
msgid "Edit"
msgstr "Bewerk"
msgid "View"
msgstr "Bekijk"
msgid "Delete"
msgstr "Verwijder"
msgid "Copy"
msgstr "Kopieer"

View File

@@ -1972,3 +1972,18 @@ msgstr "Lagrede beregninger"
msgid "Total Leave Days" msgid "Total Leave Days"
msgstr "Totalt permisjonsdager" msgstr "Totalt permisjonsdager"
msgid "Actions"
msgstr "Handlinger"
msgid "Edit"
msgstr "Redigere"
msgid "View"
msgstr "Utsikt"
msgid "Delete"
msgstr "Slett"
msgid "Copy"
msgstr "Kopiere"

View File

@@ -1972,3 +1972,18 @@ msgstr "Zaoszczędzone obliczenia"
msgid "Total Leave Days" msgid "Total Leave Days"
msgstr "Łącznie Dni Urlopu" msgstr "Łącznie Dni Urlopu"
msgid "Actions"
msgstr "Działania"
msgid "Edit"
msgstr "Edycja"
msgid "View"
msgstr "Widok"
msgid "Delete"
msgstr "Skreślić"
msgid "Copy"
msgstr "Kopia"

View File

@@ -1972,3 +1972,18 @@ msgstr "Cálculos economizados"
msgid "Total Leave Days" msgid "Total Leave Days"
msgstr "Total de dias de férias" msgstr "Total de dias de férias"
msgid "Actions"
msgstr "Acções"
msgid "Edit"
msgstr "Editar"
msgid "View"
msgstr "Ver"
msgid "Delete"
msgstr "Eliminar"
msgid "Copy"
msgstr "Cópia"

View File

@@ -1972,3 +1972,18 @@ msgstr "Сачуване калкулације"
msgid "Total Leave Days" msgid "Total Leave Days"
msgstr "Укупни дани одмора" msgstr "Укупни дани одмора"
msgid "Actions"
msgstr "Акције"
msgid "Edit"
msgstr "Уредити"
msgid "View"
msgstr "Поглед"
msgid "Delete"
msgstr "Избриши"
msgid "Copy"
msgstr "Копирај"

View File

@@ -1972,3 +1972,18 @@ msgstr "Sparade beräkningar"
msgid "Total Leave Days" msgid "Total Leave Days"
msgstr "Totalt ledighet dagar" msgstr "Totalt ledighet dagar"
msgid "Actions"
msgstr "Insatser"
msgid "Edit"
msgstr "Redigera"
msgid "View"
msgstr "Se"
msgid "Delete"
msgstr "Radera"
msgid "Copy"
msgstr "Kopiera"

View File

@@ -1972,3 +1972,18 @@ msgstr "保存的计算"
msgid "Total Leave Days" msgid "Total Leave Days"
msgstr "休假总天数" msgstr "休假总天数"
msgid "Actions"
msgstr "动作"
msgid "Edit"
msgstr "编辑"
msgid "View"
msgstr "视图"
msgid "Delete"
msgstr "删除"
msgid "Copy"
msgstr "复制"

View File

@@ -1,4 +1,11 @@
{ {
"config": {
"bin-dir": "../../../bin",
"process-timeout": 500,
"platform": {
"php": "7.0"
}
},
"require": { "require": {
"monolog/monolog": "^1.23", "monolog/monolog": "^1.23",
"twig/twig": "1.23.*", "twig/twig": "1.23.*",
@@ -12,10 +19,18 @@
"cebe/markdown": "^1.2", "cebe/markdown": "^1.2",
"neitanod/forceutf8": "^2.0", "neitanod/forceutf8": "^2.0",
"google/apiclient": "^2.2", "google/apiclient": "^2.2",
"predis/predis": "^1.1" "predis/predis": "^1.1",
"firebase/php-jwt": "^5.2",
"pimple/pimple": "^3.2"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "~6" "phpunit/phpunit": "~6",
"pdepend/pdepend": "2.5.*",
"phploc/phploc": "4.0.*",
"phpmd/phpmd": "2.3.*",
"sebastian/phpcpd": "1.4.*",
"mayflower/php-codebrowser": "~1.1",
"squizlabs/php_codesniffer": "2.*"
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {

File diff suppressed because it is too large Load Diff

View File

@@ -4,4 +4,4 @@
require_once __DIR__ . '/composer/autoload_real.php'; require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit6d4a28cd96a5bc5d5b97781c062572d9::getLoader(); return ComposerAutoloaderInit5bce11e11de2274869867527dbd4b40e::getLoader();

View File

@@ -1,4 +0,0 @@
#!/usr/bin/env php
<?php
include 'export-plural-rules.php';

View File

@@ -1,234 +0,0 @@
<?php
use Gettext\Languages\Exporter\Exporter;
use Gettext\Languages\Language;
// Let's start by imposing that we don't accept any error or warning.
// This is a really life-saving approach.
error_reporting(E_ALL);
set_error_handler(function ($errno, $errstr, $errfile, $errline) {
Enviro::echoErr("$errstr\nFile: $errfile\nLine: $errline\nCode: $errno\n");
die(5);
});
require_once dirname(__DIR__).'/src/autoloader.php';
// Parse the command line options
Enviro::initialize();
try {
if (isset(Enviro::$languages)) {
$languages = array();
foreach (Enviro::$languages as $languageId) {
$language = Language::getById($languageId);
if (!isset($language)) {
throw new Exception("Unable to find the language with id '$languageId'");
}
$languages[] = $language;
}
} else {
$languages = Language::getAll();
}
if (Enviro::$reduce) {
$languages = Enviro::reduce($languages);
}
if (isset(Enviro::$outputFilename)) {
echo call_user_func(array(Exporter::getExporterClassName(Enviro::$outputFormat), 'toFile'), $languages, Enviro::$outputFilename, array('us-ascii' => Enviro::$outputUSAscii));
} else {
echo call_user_func(array(Exporter::getExporterClassName(Enviro::$outputFormat), 'toString'), $languages, array('us-ascii' => Enviro::$outputUSAscii));
}
} catch (Exception $x) {
Enviro::echoErr($x->getMessage()."\n");
Enviro::echoErr("Trace:\n");
Enviro::echoErr($x->getTraceAsString()."\n");
die(4);
}
die(0);
/**
* Helper class to handle command line options.
*/
class Enviro
{
/**
* Shall the output contain only US-ASCII characters?
* @var bool
*/
public static $outputUSAscii;
/**
* The output format.
* @var string
*/
public static $outputFormat;
/**
* Output file name.
* @var string
*/
public static $outputFilename;
/**
* List of wanted language IDs; it not set: all languages will be returned.
* @var array|null
*/
public static $languages;
/**
* Reduce the language list to the minimum common denominator.
* @var bool
*/
public static $reduce;
/**
* Parse the command line options.
*/
public static function initialize()
{
global $argv;
self::$outputUSAscii = false;
self::$outputFormat = null;
self::$outputFilename = null;
self::$languages = null;
self::$reduce = null;
$exporters = Exporter::getExporters();
if (isset($argv) && is_array($argv)) {
foreach ($argv as $argi => $arg) {
if ($argi === 0) {
continue;
}
if (is_string($arg)) {
$argLC = trim(strtolower($arg));
switch ($argLC) {
case '--us-ascii':
self::$outputUSAscii = true;
break;
case '--reduce=yes':
self::$reduce = true;
break;
case '--reduce=no':
self::$reduce = false;
break;
default:
if (preg_match('/^--output=.+$/', $argLC)) {
if (isset(self::$outputFilename)) {
self::echoErr("The output file name has been specified more than once!\n");
self::showSyntax();
die(3);
}
list(, self::$outputFilename) = explode('=', $arg, 2);
self::$outputFilename = trim(self::$outputFilename);
} elseif (preg_match('/^--languages?=.+$/', $argLC)) {
list(, $s) = explode('=', $arg, 2);
$list = explode(',', $s);
if (is_array(self::$languages)) {
self::$languages = array_merge(self::$languages, $list);
} else {
self::$languages = $list;
}
} elseif (isset($exporters[$argLC])) {
if (isset(self::$outputFormat)) {
self::echoErr("The output format has been specified more than once!\n");
self::showSyntax();
die(3);
}
self::$outputFormat = $argLC;
} else {
self::echoErr("Unknown option: $arg\n");
self::showSyntax();
die(2);
}
break;
}
}
}
}
if (!isset(self::$outputFormat)) {
self::showSyntax();
die(1);
}
if (isset(self::$languages)) {
self::$languages = array_values(array_unique(self::$languages));
}
if (!isset(self::$reduce)) {
self::$reduce = isset(self::$languages) ? false : true;
}
}
/**
* Write out the syntax.
*/
public static function showSyntax()
{
$exporters = array_keys(Exporter::getExporters(true));
self::echoErr("Syntax: php ".basename(__FILE__)." [--us-ascii] [--languages=<LanguageId>[,<LanguageId>,...]] [--reduce=yes|no] [--output=<file name>] <".implode('|', $exporters).">\n");
self::echoErr("Where:\n");
self::echoErr("--us-ascii : if specified, the output will contain only US-ASCII characters.\n");
self::echoErr("--languages: (or --language) export only the specified language codes.\n");
self::echoErr(" Separate languages with commas; you can also use this argument\n");
self::echoErr(" more than once; it's case insensitive and accepts both '_' and\n");
self::echoErr(" '-' as locale chunks separator (eg we accept 'it_IT' as well as\n");
self::echoErr(" 'it-it').\n");
self::echoErr("--reduce : if set to yes the output won't contain languages with the same\n");
self::echoErr(" base language and rules.\n For instance nl_BE ('Flemish') will be\n");
self::echoErr(" omitted because it's the same as nl ('Dutch').\n");
self::echoErr(" Defaults to 'no' --languages is specified, to 'yes' otherwise.\n");
self::echoErr("--output : if specified, the output will be saved to <file name>. If not\n");
self::echoErr(" specified we'll output to standard output.\n");
self::echoErr("Output formats\n");
$len = max(array_map('strlen', $exporters));
foreach ($exporters as $exporter) {
self::echoErr(str_pad($exporter, $len).": ".Exporter::getExporterDescription($exporter)."\n");
}
}
/**
* Print a string to stderr.
* @param string $str The string to be printed out.
*/
public static function echoErr($str)
{
$hStdErr = @fopen('php://stderr', 'a');
if ($hStdErr === false) {
echo $str;
} else {
fwrite($hStdErr, $str);
fclose($hStdErr);
}
}
/**
* Reduce a language list to the minimum common denominator.
* @param Language[] $languages
* @return Language[]
*/
public static function reduce($languages)
{
for ($numChunks = 3; $numChunks >= 2; $numChunks--) {
$filtered = array();
foreach ($languages as $language) {
$chunks = explode('_', $language->id);
$compatibleFound = false;
if (count($chunks) === $numChunks) {
$categoriesHash = serialize($language->categories);
$otherIds = array();
$otherIds[] = $chunks[0];
for ($k = 2; $k < $numChunks; $k++) {
$otherIds[] = $chunks[0].'_'.$chunks[$numChunks - 1];
}
foreach ($languages as $check) {
foreach ($otherIds as $otherId) {
if (($check->id === $otherId) && ($check->formula === $language->formula) && (serialize($check->categories) === $categoriesHash)) {
$compatibleFound = true;
break;
}
}
if ($compatibleFound === true) {
break;
}
}
}
if (!$compatibleFound) {
$filtered[] = $language;
}
}
$languages = $filtered;
}
return $languages;
}
}

View File

@@ -1,170 +0,0 @@
#!/usr/bin/env php
<?php
/**
* @copyright Copyright (c) 2014 Carsten Brandt
* @license https://github.com/cebe/markdown/blob/master/LICENSE
* @link https://github.com/cebe/markdown#readme
*/
$composerAutoload = [
__DIR__ . '/../vendor/autoload.php', // standalone with "composer install" run
__DIR__ . '/../../../autoload.php', // script is installed as a composer binary
];
foreach ($composerAutoload as $autoload) {
if (file_exists($autoload)) {
require($autoload);
break;
}
}
// Send all errors to stderr
ini_set('display_errors', 'stderr');
$flavor = 'cebe\\markdown\\Markdown';
$flavors = [
'gfm' => ['cebe\\markdown\\GithubMarkdown', __DIR__ . '/../GithubMarkdown.php'],
'extra' => ['cebe\\markdown\\MarkdownExtra', __DIR__ . '/../MarkdownExtra.php'],
];
$full = false;
$src = [];
foreach($argv as $k => $arg) {
if ($k == 0) {
continue;
}
if ($arg[0] == '-') {
$arg = explode('=', $arg);
switch($arg[0]) {
case '--flavor':
if (isset($arg[1])) {
if (isset($flavors[$arg[1]])) {
require($flavors[$arg[1]][1]);
$flavor = $flavors[$arg[1]][0];
} else {
error("Unknown flavor: " . $arg[1], "usage");
}
} else {
error("Incomplete argument --flavor!", "usage");
}
break;
case '--full':
$full = true;
break;
case '-h':
case '--help':
echo "PHP Markdown to HTML converter\n";
echo "------------------------------\n\n";
echo "by Carsten Brandt <mail@cebe.cc>\n\n";
usage();
break;
default:
error("Unknown argument " . $arg[0], "usage");
}
} else {
$src[] = $arg;
}
}
if (empty($src)) {
$markdown = file_get_contents("php://stdin");
} elseif (count($src) == 1) {
$file = reset($src);
if (!file_exists($file)) {
error("File does not exist:" . $file);
}
$markdown = file_get_contents($file);
} else {
error("Converting multiple files is not yet supported.", "usage");
}
/** @var cebe\markdown\Parser $md */
$md = new $flavor();
$markup = $md->parse($markdown);
if ($full) {
echo <<<HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style>
body { font-family: Arial, sans-serif; }
code { background: #eeeeff; padding: 2px; }
li { margin-bottom: 5px; }
img { max-width: 1200px; }
table, td, th { border: solid 1px #ccc; border-collapse: collapse; }
</style>
</head>
<body>
$markup
</body>
</html>
HTML;
} else {
echo $markup;
}
// functions
/**
* Display usage information
*/
function usage() {
global $argv;
$cmd = $argv[0];
echo <<<EOF
Usage:
$cmd [--flavor=<flavor>] [--full] [file.md]
--flavor specifies the markdown flavor to use. If omitted the original markdown by John Gruber [1] will be used.
Available flavors:
gfm - Github flavored markdown [2]
extra - Markdown Extra [3]
--full ouput a full HTML page with head and body. If not given, only the parsed markdown will be output.
--help shows this usage information.
If no file is specified input will be read from STDIN.
Examples:
Render a file with original markdown:
$cmd README.md > README.html
Render a file using gihtub flavored markdown:
$cmd --flavor=gfm README.md > README.html
Convert the original markdown description to html using STDIN:
curl http://daringfireball.net/projects/markdown/syntax.text | $cmd > md.html
[1] http://daringfireball.net/projects/markdown/syntax
[2] https://help.github.com/articles/github-flavored-markdown
[3] http://michelf.ca/projects/php-markdown/extra/
EOF;
exit(1);
}
/**
* Send custom error message to stderr
* @param $message string
* @param $callback mixed called before script exit
* @return void
*/
function error($message, $callback = null) {
$fe = fopen("php://stderr", "w");
fwrite($fe, "Error: " . $message . "\n");
if (is_callable($callback)) {
call_user_func($callback);
}
exit(1);
}

View File

@@ -1,53 +0,0 @@
#!/usr/bin/env php
<?php
/*
* This file is part of PHPUnit.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
if (version_compare('7.0.0', PHP_VERSION, '>')) {
fwrite(
STDERR,
sprintf(
'This version of PHPUnit is supported on PHP 7.0 and PHP 7.1.' . PHP_EOL .
'You are using PHP %s (%s).' . PHP_EOL,
PHP_VERSION,
PHP_BINARY
)
);
die(1);
}
if (!ini_get('date.timezone')) {
ini_set('date.timezone', 'UTC');
}
foreach (array(__DIR__ . '/../../autoload.php', __DIR__ . '/../vendor/autoload.php', __DIR__ . '/vendor/autoload.php') as $file) {
if (file_exists($file)) {
define('PHPUNIT_COMPOSER_INSTALL', $file);
break;
}
}
unset($file);
if (!defined('PHPUNIT_COMPOSER_INSTALL')) {
fwrite(
STDERR,
'You need to set up the project dependencies using Composer:' . PHP_EOL . PHP_EOL .
' composer install' . PHP_EOL . PHP_EOL .
'You can learn all about Composer on https://getcomposer.org/.' . PHP_EOL
);
die(1);
}
require PHPUNIT_COMPOSER_INSTALL;
PHPUnit\TextUI\Command::main();

View File

@@ -1,22 +0,0 @@
#!/usr/bin/env php
<?php
/**
* if we're running from phar load the phar autoload,
* else let the script 'robo' search for the autoloader
*/
if (strpos(basename(__FILE__), 'phar')) {
require_once 'phar://robo.phar/vendor/autoload.php';
} else {
if (file_exists(__DIR__.'/vendor/autoload.php')) {
require_once __DIR__.'/vendor/autoload.php';
} elseif (file_exists(__DIR__.'/../../autoload.php')) {
require_once __DIR__ . '/../../autoload.php';
} else {
require_once 'phar://robo.phar/vendor/autoload.php';
}
}
$runner = new \Robo\Runner();
$runner->setSelfUpdateRepository('consolidation/robo');
$statusCode = $runner->execute($_SERVER['argv']);
exit($statusCode);

View File

@@ -6,11 +6,113 @@ $vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir); $baseDir = dirname($vendorDir);
return array( return array(
'ArithmeticError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php',
'AssertionError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/AssertionError.php',
'DivisionByZeroError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/DivisionByZeroError.php',
'Error' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/Error.php',
'File_Iterator' => $vendorDir . '/phpunit/php-file-iterator/src/Iterator.php', 'File_Iterator' => $vendorDir . '/phpunit/php-file-iterator/src/Iterator.php',
'File_Iterator_Facade' => $vendorDir . '/phpunit/php-file-iterator/src/Facade.php', 'File_Iterator_Facade' => $vendorDir . '/phpunit/php-file-iterator/src/Facade.php',
'File_Iterator_Factory' => $vendorDir . '/phpunit/php-file-iterator/src/Factory.php', 'File_Iterator_Factory' => $vendorDir . '/phpunit/php-file-iterator/src/Factory.php',
'Generic_Sniffs_Arrays_DisallowLongArraySyntaxSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Arrays/DisallowLongArraySyntaxSniff.php',
'Generic_Sniffs_Arrays_DisallowShortArraySyntaxSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Arrays/DisallowShortArraySyntaxSniff.php',
'Generic_Sniffs_Classes_DuplicateClassNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Classes/DuplicateClassNameSniff.php',
'Generic_Sniffs_Classes_OpeningBraceSameLineSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Classes/OpeningBraceSameLineSniff.php',
'Generic_Sniffs_CodeAnalysis_EmptyStatementSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/EmptyStatementSniff.php',
'Generic_Sniffs_CodeAnalysis_ForLoopShouldBeWhileLoopSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/ForLoopShouldBeWhileLoopSniff.php',
'Generic_Sniffs_CodeAnalysis_ForLoopWithTestFunctionCallSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/ForLoopWithTestFunctionCallSniff.php',
'Generic_Sniffs_CodeAnalysis_JumbledIncrementerSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/JumbledIncrementerSniff.php',
'Generic_Sniffs_CodeAnalysis_UnconditionalIfStatementSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UnconditionalIfStatementSniff.php',
'Generic_Sniffs_CodeAnalysis_UnnecessaryFinalModifierSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UnnecessaryFinalModifierSniff.php',
'Generic_Sniffs_CodeAnalysis_UnusedFunctionParameterSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UnusedFunctionParameterSniff.php',
'Generic_Sniffs_CodeAnalysis_UselessOverridingMethodSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UselessOverridingMethodSniff.php',
'Generic_Sniffs_Commenting_DocCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Commenting/DocCommentSniff.php',
'Generic_Sniffs_Commenting_FixmeSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Commenting/FixmeSniff.php',
'Generic_Sniffs_Commenting_TodoSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Commenting/TodoSniff.php',
'Generic_Sniffs_ControlStructures_InlineControlStructureSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/ControlStructures/InlineControlStructureSniff.php',
'Generic_Sniffs_Debug_CSSLintSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Debug/CSSLintSniff.php',
'Generic_Sniffs_Debug_ClosureLinterSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Debug/ClosureLinterSniff.php',
'Generic_Sniffs_Debug_ESLintSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Debug/ESLintSniff.php',
'Generic_Sniffs_Debug_JSHintSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Debug/JSHintSniff.php',
'Generic_Sniffs_Files_ByteOrderMarkSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/ByteOrderMarkSniff.php',
'Generic_Sniffs_Files_EndFileNewlineSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/EndFileNewlineSniff.php',
'Generic_Sniffs_Files_EndFileNoNewlineSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/EndFileNoNewlineSniff.php',
'Generic_Sniffs_Files_InlineHTMLSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/InlineHTMLSniff.php',
'Generic_Sniffs_Files_LineEndingsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/LineEndingsSniff.php',
'Generic_Sniffs_Files_LineLengthSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/LineLengthSniff.php',
'Generic_Sniffs_Files_LowercasedFilenameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/LowercasedFilenameSniff.php',
'Generic_Sniffs_Files_OneClassPerFileSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/OneClassPerFileSniff.php',
'Generic_Sniffs_Files_OneInterfacePerFileSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/OneInterfacePerFileSniff.php',
'Generic_Sniffs_Files_OneTraitPerFileSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/OneTraitPerFileSniff.php',
'Generic_Sniffs_Formatting_DisallowMultipleStatementsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/DisallowMultipleStatementsSniff.php',
'Generic_Sniffs_Formatting_MultipleStatementAlignmentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/MultipleStatementAlignmentSniff.php',
'Generic_Sniffs_Formatting_NoSpaceAfterCastSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/NoSpaceAfterCastSniff.php',
'Generic_Sniffs_Formatting_SpaceAfterCastSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/SpaceAfterCastSniff.php',
'Generic_Sniffs_Formatting_SpaceAfterNotSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/SpaceAfterNotSniff.php',
'Generic_Sniffs_Functions_CallTimePassByReferenceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/CallTimePassByReferenceSniff.php',
'Generic_Sniffs_Functions_FunctionCallArgumentSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/FunctionCallArgumentSpacingSniff.php',
'Generic_Sniffs_Functions_OpeningFunctionBraceBsdAllmanSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/OpeningFunctionBraceBsdAllmanSniff.php',
'Generic_Sniffs_Functions_OpeningFunctionBraceKernighanRitchieSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/OpeningFunctionBraceKernighanRitchieSniff.php',
'Generic_Sniffs_Metrics_CyclomaticComplexitySniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Metrics/CyclomaticComplexitySniff.php',
'Generic_Sniffs_Metrics_NestingLevelSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Metrics/NestingLevelSniff.php',
'Generic_Sniffs_NamingConventions_CamelCapsFunctionNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/NamingConventions/CamelCapsFunctionNameSniff.php',
'Generic_Sniffs_NamingConventions_ConstructorNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/NamingConventions/ConstructorNameSniff.php',
'Generic_Sniffs_NamingConventions_UpperCaseConstantNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/NamingConventions/UpperCaseConstantNameSniff.php',
'Generic_Sniffs_PHP_BacktickOperatorSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/BacktickOperatorSniff.php',
'Generic_Sniffs_PHP_CharacterBeforePHPOpeningTagSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/CharacterBeforePHPOpeningTagSniff.php',
'Generic_Sniffs_PHP_ClosingPHPTagSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/ClosingPHPTagSniff.php',
'Generic_Sniffs_PHP_DeprecatedFunctionsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/DeprecatedFunctionsSniff.php',
'Generic_Sniffs_PHP_DisallowAlternativePHPTagsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/DisallowAlternativePHPTagsSniff.php',
'Generic_Sniffs_PHP_DisallowShortOpenTagSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/DisallowShortOpenTagSniff.php',
'Generic_Sniffs_PHP_ForbiddenFunctionsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/ForbiddenFunctionsSniff.php',
'Generic_Sniffs_PHP_LowerCaseConstantSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/LowerCaseConstantSniff.php',
'Generic_Sniffs_PHP_LowerCaseKeywordSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/LowerCaseKeywordSniff.php',
'Generic_Sniffs_PHP_NoSilencedErrorsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/NoSilencedErrorsSniff.php',
'Generic_Sniffs_PHP_SAPIUsageSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/SAPIUsageSniff.php',
'Generic_Sniffs_PHP_SyntaxSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/SyntaxSniff.php',
'Generic_Sniffs_PHP_UpperCaseConstantSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/UpperCaseConstantSniff.php',
'Generic_Sniffs_Strings_UnnecessaryStringConcatSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Strings/UnnecessaryStringConcatSniff.php',
'Generic_Sniffs_VersionControl_SubversionPropertiesSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/VersionControl/SubversionPropertiesSniff.php',
'Generic_Sniffs_WhiteSpace_DisallowSpaceIndentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/WhiteSpace/DisallowSpaceIndentSniff.php',
'Generic_Sniffs_WhiteSpace_DisallowTabIndentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/WhiteSpace/DisallowTabIndentSniff.php',
'Generic_Sniffs_WhiteSpace_ScopeIndentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/WhiteSpace/ScopeIndentSniff.php',
'Google_Service_Exception' => $vendorDir . '/google/apiclient/src/Google/Service/Exception.php', 'Google_Service_Exception' => $vendorDir . '/google/apiclient/src/Google/Service/Exception.php',
'Google_Service_Resource' => $vendorDir . '/google/apiclient/src/Google/Service/Resource.php', 'Google_Service_Resource' => $vendorDir . '/google/apiclient/src/Google/Service/Resource.php',
'MySource_Sniffs_CSS_BrowserSpecificStylesSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/CSS/BrowserSpecificStylesSniff.php',
'MySource_Sniffs_Channels_DisallowSelfActionsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/DisallowSelfActionsSniff.php',
'MySource_Sniffs_Channels_IncludeOwnSystemSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/IncludeOwnSystemSniff.php',
'MySource_Sniffs_Channels_IncludeSystemSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/IncludeSystemSniff.php',
'MySource_Sniffs_Channels_UnusedSystemSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/UnusedSystemSniff.php',
'MySource_Sniffs_Commenting_FunctionCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Commenting/FunctionCommentSniff.php',
'MySource_Sniffs_Debug_DebugCodeSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Debug/DebugCodeSniff.php',
'MySource_Sniffs_Debug_FirebugConsoleSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Debug/FirebugConsoleSniff.php',
'MySource_Sniffs_Objects_AssignThisSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Objects/AssignThisSniff.php',
'MySource_Sniffs_Objects_CreateWidgetTypeCallbackSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Objects/CreateWidgetTypeCallbackSniff.php',
'MySource_Sniffs_Objects_DisallowNewWidgetSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Objects/DisallowNewWidgetSniff.php',
'MySource_Sniffs_PHP_AjaxNullComparisonSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/AjaxNullComparisonSniff.php',
'MySource_Sniffs_PHP_EvalObjectFactorySniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/EvalObjectFactorySniff.php',
'MySource_Sniffs_PHP_GetRequestDataSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/GetRequestDataSniff.php',
'MySource_Sniffs_PHP_ReturnFunctionValueSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/ReturnFunctionValueSniff.php',
'MySource_Sniffs_Strings_JoinStringsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Strings/JoinStringsSniff.php',
'Normalizer' => $vendorDir . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
'PEAR_Exception' => $vendorDir . '/pear/pear_exception/PEAR/Exception.php',
'PEAR_Sniffs_Classes_ClassDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Classes/ClassDeclarationSniff.php',
'PEAR_Sniffs_Commenting_ClassCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/ClassCommentSniff.php',
'PEAR_Sniffs_Commenting_FileCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/FileCommentSniff.php',
'PEAR_Sniffs_Commenting_FunctionCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/FunctionCommentSniff.php',
'PEAR_Sniffs_Commenting_InlineCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/InlineCommentSniff.php',
'PEAR_Sniffs_ControlStructures_ControlSignatureSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/ControlStructures/ControlSignatureSniff.php',
'PEAR_Sniffs_ControlStructures_MultiLineConditionSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/ControlStructures/MultiLineConditionSniff.php',
'PEAR_Sniffs_Files_IncludingFileSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Files/IncludingFileSniff.php',
'PEAR_Sniffs_Formatting_MultiLineAssignmentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Formatting/MultiLineAssignmentSniff.php',
'PEAR_Sniffs_Functions_FunctionCallSignatureSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Functions/FunctionCallSignatureSniff.php',
'PEAR_Sniffs_Functions_FunctionDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Functions/FunctionDeclarationSniff.php',
'PEAR_Sniffs_Functions_ValidDefaultValueSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Functions/ValidDefaultValueSniff.php',
'PEAR_Sniffs_NamingConventions_ValidClassNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/NamingConventions/ValidClassNameSniff.php',
'PEAR_Sniffs_NamingConventions_ValidFunctionNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/NamingConventions/ValidFunctionNameSniff.php',
'PEAR_Sniffs_NamingConventions_ValidVariableNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/NamingConventions/ValidVariableNameSniff.php',
'PEAR_Sniffs_WhiteSpace_ObjectOperatorIndentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/WhiteSpace/ObjectOperatorIndentSniff.php',
'PEAR_Sniffs_WhiteSpace_ScopeClosingBraceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/WhiteSpace/ScopeClosingBraceSniff.php',
'PEAR_Sniffs_WhiteSpace_ScopeIndentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/WhiteSpace/ScopeIndentSniff.php',
'PHPUnit\\Exception' => $vendorDir . '/phpunit/phpunit/src/Exception.php', 'PHPUnit\\Exception' => $vendorDir . '/phpunit/phpunit/src/Exception.php',
'PHPUnit\\Framework\\Assert' => $vendorDir . '/phpunit/phpunit/src/Framework/Assert.php', 'PHPUnit\\Framework\\Assert' => $vendorDir . '/phpunit/phpunit/src/Framework/Assert.php',
'PHPUnit\\Framework\\AssertionFailedError' => $vendorDir . '/phpunit/phpunit/src/Framework/AssertionFailedError.php', 'PHPUnit\\Framework\\AssertionFailedError' => $vendorDir . '/phpunit/phpunit/src/Framework/AssertionFailedError.php',
@@ -183,6 +285,44 @@ return array(
'PHPUnit\\Util\\Xml' => $vendorDir . '/phpunit/phpunit/src/Util/Xml.php', 'PHPUnit\\Util\\Xml' => $vendorDir . '/phpunit/phpunit/src/Util/Xml.php',
'PHPUnit\\Util\\XmlTestListRenderer' => $vendorDir . '/phpunit/phpunit/src/Util/XmlTestListRenderer.php', 'PHPUnit\\Util\\XmlTestListRenderer' => $vendorDir . '/phpunit/phpunit/src/Util/XmlTestListRenderer.php',
'PHPUnit_Framework_MockObject_MockObject' => $vendorDir . '/phpunit/phpunit-mock-objects/src/MockObject.php', 'PHPUnit_Framework_MockObject_MockObject' => $vendorDir . '/phpunit/phpunit-mock-objects/src/MockObject.php',
'PHP_CodeSniffer' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer.php',
'PHP_CodeSniffer_CLI' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/CLI.php',
'PHP_CodeSniffer_DocGenerators_Generator' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/Generator.php',
'PHP_CodeSniffer_DocGenerators_HTML' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/HTML.php',
'PHP_CodeSniffer_DocGenerators_Markdown' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/Markdown.php',
'PHP_CodeSniffer_DocGenerators_Text' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/Text.php',
'PHP_CodeSniffer_Exception' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Exception.php',
'PHP_CodeSniffer_File' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/File.php',
'PHP_CodeSniffer_Fixer' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Fixer.php',
'PHP_CodeSniffer_Report' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Report.php',
'PHP_CodeSniffer_Reporting' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reporting.php',
'PHP_CodeSniffer_Reports_Cbf' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Cbf.php',
'PHP_CodeSniffer_Reports_Checkstyle' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Checkstyle.php',
'PHP_CodeSniffer_Reports_Csv' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Csv.php',
'PHP_CodeSniffer_Reports_Diff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Diff.php',
'PHP_CodeSniffer_Reports_Emacs' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Emacs.php',
'PHP_CodeSniffer_Reports_Full' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Full.php',
'PHP_CodeSniffer_Reports_Gitblame' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Gitblame.php',
'PHP_CodeSniffer_Reports_Hgblame' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Hgblame.php',
'PHP_CodeSniffer_Reports_Info' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Info.php',
'PHP_CodeSniffer_Reports_Json' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Json.php',
'PHP_CodeSniffer_Reports_Junit' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Junit.php',
'PHP_CodeSniffer_Reports_Notifysend' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Notifysend.php',
'PHP_CodeSniffer_Reports_Source' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Source.php',
'PHP_CodeSniffer_Reports_Summary' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Summary.php',
'PHP_CodeSniffer_Reports_Svnblame' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Svnblame.php',
'PHP_CodeSniffer_Reports_VersionControl' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/VersionControl.php',
'PHP_CodeSniffer_Reports_Xml' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Xml.php',
'PHP_CodeSniffer_Sniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Sniff.php',
'PHP_CodeSniffer_Standards_AbstractPatternSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractPatternSniff.php',
'PHP_CodeSniffer_Standards_AbstractScopeSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractScopeSniff.php',
'PHP_CodeSniffer_Standards_AbstractVariableSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractVariableSniff.php',
'PHP_CodeSniffer_Standards_IncorrectPatternException' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/IncorrectPatternException.php',
'PHP_CodeSniffer_Tokenizers_CSS' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/CSS.php',
'PHP_CodeSniffer_Tokenizers_Comment' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/Comment.php',
'PHP_CodeSniffer_Tokenizers_JS' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/JS.php',
'PHP_CodeSniffer_Tokenizers_PHP' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/PHP.php',
'PHP_CodeSniffer_Tokens' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Tokens.php',
'PHP_Timer' => $vendorDir . '/phpunit/php-timer/src/Timer.php', 'PHP_Timer' => $vendorDir . '/phpunit/php-timer/src/Timer.php',
'PHP_Token' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', 'PHP_Token' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
'PHP_TokenWithScope' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', 'PHP_TokenWithScope' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
@@ -383,6 +523,22 @@ return array(
'PHP_Token_XOR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', 'PHP_Token_XOR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
'PHP_Token_YIELD' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', 'PHP_Token_YIELD' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
'PHP_Token_YIELD_FROM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php', 'PHP_Token_YIELD_FROM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
'PSR1_Sniffs_Classes_ClassDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Sniffs/Classes/ClassDeclarationSniff.php',
'PSR1_Sniffs_Files_SideEffectsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Sniffs/Files/SideEffectsSniff.php',
'PSR1_Sniffs_Methods_CamelCapsMethodNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Sniffs/Methods/CamelCapsMethodNameSniff.php',
'PSR2_Sniffs_Classes_ClassDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Classes/ClassDeclarationSniff.php',
'PSR2_Sniffs_Classes_PropertyDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Classes/PropertyDeclarationSniff.php',
'PSR2_Sniffs_ControlStructures_ControlStructureSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/ControlStructures/ControlStructureSpacingSniff.php',
'PSR2_Sniffs_ControlStructures_ElseIfDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/ControlStructures/ElseIfDeclarationSniff.php',
'PSR2_Sniffs_ControlStructures_SwitchDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/ControlStructures/SwitchDeclarationSniff.php',
'PSR2_Sniffs_Files_ClosingTagSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Files/ClosingTagSniff.php',
'PSR2_Sniffs_Files_EndFileNewlineSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Files/EndFileNewlineSniff.php',
'PSR2_Sniffs_Methods_FunctionCallSignatureSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Methods/FunctionCallSignatureSniff.php',
'PSR2_Sniffs_Methods_FunctionClosingBraceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Methods/FunctionClosingBraceSniff.php',
'PSR2_Sniffs_Methods_MethodDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Methods/MethodDeclarationSniff.php',
'PSR2_Sniffs_Namespaces_NamespaceDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Namespaces/NamespaceDeclarationSniff.php',
'PSR2_Sniffs_Namespaces_UseDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Namespaces/UseDeclarationSniff.php',
'ParseError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/ParseError.php',
'PharIo\\Manifest\\Application' => $vendorDir . '/phar-io/manifest/src/values/Application.php', 'PharIo\\Manifest\\Application' => $vendorDir . '/phar-io/manifest/src/values/Application.php',
'PharIo\\Manifest\\ApplicationName' => $vendorDir . '/phar-io/manifest/src/values/ApplicationName.php', 'PharIo\\Manifest\\ApplicationName' => $vendorDir . '/phar-io/manifest/src/values/ApplicationName.php',
'PharIo\\Manifest\\Author' => $vendorDir . '/phar-io/manifest/src/values/Author.php', 'PharIo\\Manifest\\Author' => $vendorDir . '/phar-io/manifest/src/values/Author.php',
@@ -524,6 +680,8 @@ return array(
'SebastianBergmann\\Environment\\OperatingSystem' => $vendorDir . '/sebastian/environment/src/OperatingSystem.php', 'SebastianBergmann\\Environment\\OperatingSystem' => $vendorDir . '/sebastian/environment/src/OperatingSystem.php',
'SebastianBergmann\\Environment\\Runtime' => $vendorDir . '/sebastian/environment/src/Runtime.php', 'SebastianBergmann\\Environment\\Runtime' => $vendorDir . '/sebastian/environment/src/Runtime.php',
'SebastianBergmann\\Exporter\\Exporter' => $vendorDir . '/sebastian/exporter/src/Exporter.php', 'SebastianBergmann\\Exporter\\Exporter' => $vendorDir . '/sebastian/exporter/src/Exporter.php',
'SebastianBergmann\\FinderFacade\\Configuration' => $vendorDir . '/sebastian/finder-facade/src/Configuration.php',
'SebastianBergmann\\FinderFacade\\FinderFacade' => $vendorDir . '/sebastian/finder-facade/src/FinderFacade.php',
'SebastianBergmann\\GlobalState\\Blacklist' => $vendorDir . '/sebastian/global-state/src/Blacklist.php', 'SebastianBergmann\\GlobalState\\Blacklist' => $vendorDir . '/sebastian/global-state/src/Blacklist.php',
'SebastianBergmann\\GlobalState\\CodeExporter' => $vendorDir . '/sebastian/global-state/src/CodeExporter.php', 'SebastianBergmann\\GlobalState\\CodeExporter' => $vendorDir . '/sebastian/global-state/src/CodeExporter.php',
'SebastianBergmann\\GlobalState\\Exception' => $vendorDir . '/sebastian/global-state/src/exceptions/Exception.php', 'SebastianBergmann\\GlobalState\\Exception' => $vendorDir . '/sebastian/global-state/src/exceptions/Exception.php',
@@ -536,11 +694,131 @@ return array(
'SebastianBergmann\\ObjectReflector\\Exception' => $vendorDir . '/sebastian/object-reflector/src/Exception.php', 'SebastianBergmann\\ObjectReflector\\Exception' => $vendorDir . '/sebastian/object-reflector/src/Exception.php',
'SebastianBergmann\\ObjectReflector\\InvalidArgumentException' => $vendorDir . '/sebastian/object-reflector/src/InvalidArgumentException.php', 'SebastianBergmann\\ObjectReflector\\InvalidArgumentException' => $vendorDir . '/sebastian/object-reflector/src/InvalidArgumentException.php',
'SebastianBergmann\\ObjectReflector\\ObjectReflector' => $vendorDir . '/sebastian/object-reflector/src/ObjectReflector.php', 'SebastianBergmann\\ObjectReflector\\ObjectReflector' => $vendorDir . '/sebastian/object-reflector/src/ObjectReflector.php',
'SebastianBergmann\\PHPCPD\\CodeClone' => $vendorDir . '/sebastian/phpcpd/src/CodeClone.php',
'SebastianBergmann\\PHPCPD\\CodeCloneMap' => $vendorDir . '/sebastian/phpcpd/src/CodeCloneMap.php',
'SebastianBergmann\\PHPCPD\\Detector\\Detector' => $vendorDir . '/sebastian/phpcpd/src/Detector/Detector.php',
'SebastianBergmann\\PHPCPD\\Detector\\Strategy\\AbstractStrategy' => $vendorDir . '/sebastian/phpcpd/src/Detector/Strategy/Abstract.php',
'SebastianBergmann\\PHPCPD\\Detector\\Strategy\\DefaultStrategy' => $vendorDir . '/sebastian/phpcpd/src/Detector/Strategy/Default.php',
'SebastianBergmann\\PHPCPD\\Log\\AbstractXmlLogger' => $vendorDir . '/sebastian/phpcpd/src/Log/AbstractXmlLogger.php',
'SebastianBergmann\\PHPCPD\\Log\\PMD' => $vendorDir . '/sebastian/phpcpd/src/Log/PMD.php',
'SebastianBergmann\\PHPCPD\\TextUI\\Command' => $vendorDir . '/sebastian/phpcpd/src/TextUI/Command.php',
'SebastianBergmann\\PHPCPD\\TextUI\\ResultPrinter' => $vendorDir . '/sebastian/phpcpd/src/TextUI/ResultPrinter.php',
'SebastianBergmann\\PHPLOC\\Analyser' => $vendorDir . '/phploc/phploc/src/Analyser.php',
'SebastianBergmann\\PHPLOC\\CLI\\Application' => $vendorDir . '/phploc/phploc/src/CLI/Application.php',
'SebastianBergmann\\PHPLOC\\CLI\\Command' => $vendorDir . '/phploc/phploc/src/CLI/Command.php',
'SebastianBergmann\\PHPLOC\\Collector' => $vendorDir . '/phploc/phploc/src/Collector.php',
'SebastianBergmann\\PHPLOC\\Exception' => $vendorDir . '/phploc/phploc/src/Exception/Exception.php',
'SebastianBergmann\\PHPLOC\\Log\\Csv' => $vendorDir . '/phploc/phploc/src/Log/Csv.php',
'SebastianBergmann\\PHPLOC\\Log\\Text' => $vendorDir . '/phploc/phploc/src/Log/Text.php',
'SebastianBergmann\\PHPLOC\\Log\\Xml' => $vendorDir . '/phploc/phploc/src/Log/Xml.php',
'SebastianBergmann\\PHPLOC\\Publisher' => $vendorDir . '/phploc/phploc/src/Publisher.php',
'SebastianBergmann\\PHPLOC\\RuntimeException' => $vendorDir . '/phploc/phploc/src/Exception/RuntimeException.php',
'SebastianBergmann\\RecursionContext\\Context' => $vendorDir . '/sebastian/recursion-context/src/Context.php', 'SebastianBergmann\\RecursionContext\\Context' => $vendorDir . '/sebastian/recursion-context/src/Context.php',
'SebastianBergmann\\RecursionContext\\Exception' => $vendorDir . '/sebastian/recursion-context/src/Exception.php', 'SebastianBergmann\\RecursionContext\\Exception' => $vendorDir . '/sebastian/recursion-context/src/Exception.php',
'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => $vendorDir . '/sebastian/recursion-context/src/InvalidArgumentException.php', 'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => $vendorDir . '/sebastian/recursion-context/src/InvalidArgumentException.php',
'SebastianBergmann\\ResourceOperations\\ResourceOperations' => $vendorDir . '/sebastian/resource-operations/src/ResourceOperations.php', 'SebastianBergmann\\ResourceOperations\\ResourceOperations' => $vendorDir . '/sebastian/resource-operations/src/ResourceOperations.php',
'SebastianBergmann\\Version' => $vendorDir . '/sebastian/version/src/Version.php', 'SebastianBergmann\\Version' => $vendorDir . '/sebastian/version/src/Version.php',
'SessionUpdateTimestampHandlerInterface' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/SessionUpdateTimestampHandlerInterface.php',
'Squiz_Sniffs_Arrays_ArrayBracketSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Arrays/ArrayBracketSpacingSniff.php',
'Squiz_Sniffs_Arrays_ArrayDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Arrays/ArrayDeclarationSniff.php',
'Squiz_Sniffs_CSS_ClassDefinitionClosingBraceSpaceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ClassDefinitionClosingBraceSpaceSniff.php',
'Squiz_Sniffs_CSS_ClassDefinitionNameSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ClassDefinitionNameSpacingSniff.php',
'Squiz_Sniffs_CSS_ClassDefinitionOpeningBraceSpaceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ClassDefinitionOpeningBraceSpaceSniff.php',
'Squiz_Sniffs_CSS_ColonSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ColonSpacingSniff.php',
'Squiz_Sniffs_CSS_ColourDefinitionSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ColourDefinitionSniff.php',
'Squiz_Sniffs_CSS_DisallowMultipleStyleDefinitionsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/DisallowMultipleStyleDefinitionsSniff.php',
'Squiz_Sniffs_CSS_DuplicateClassDefinitionSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/DuplicateClassDefinitionSniff.php',
'Squiz_Sniffs_CSS_DuplicateStyleDefinitionSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/DuplicateStyleDefinitionSniff.php',
'Squiz_Sniffs_CSS_EmptyClassDefinitionSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/EmptyClassDefinitionSniff.php',
'Squiz_Sniffs_CSS_EmptyStyleDefinitionSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/EmptyStyleDefinitionSniff.php',
'Squiz_Sniffs_CSS_ForbiddenStylesSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ForbiddenStylesSniff.php',
'Squiz_Sniffs_CSS_IndentationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/IndentationSniff.php',
'Squiz_Sniffs_CSS_LowercaseStyleDefinitionSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/LowercaseStyleDefinitionSniff.php',
'Squiz_Sniffs_CSS_MissingColonSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/MissingColonSniff.php',
'Squiz_Sniffs_CSS_NamedColoursSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/NamedColoursSniff.php',
'Squiz_Sniffs_CSS_OpacitySniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/OpacitySniff.php',
'Squiz_Sniffs_CSS_SemicolonSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/SemicolonSpacingSniff.php',
'Squiz_Sniffs_CSS_ShorthandSizeSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ShorthandSizeSniff.php',
'Squiz_Sniffs_Classes_ClassDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/ClassDeclarationSniff.php',
'Squiz_Sniffs_Classes_ClassFileNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/ClassFileNameSniff.php',
'Squiz_Sniffs_Classes_DuplicatePropertySniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/DuplicatePropertySniff.php',
'Squiz_Sniffs_Classes_LowercaseClassKeywordsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/LowercaseClassKeywordsSniff.php',
'Squiz_Sniffs_Classes_SelfMemberReferenceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/SelfMemberReferenceSniff.php',
'Squiz_Sniffs_Classes_ValidClassNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/ValidClassNameSniff.php',
'Squiz_Sniffs_Commenting_BlockCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/BlockCommentSniff.php',
'Squiz_Sniffs_Commenting_ClassCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/ClassCommentSniff.php',
'Squiz_Sniffs_Commenting_ClosingDeclarationCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/ClosingDeclarationCommentSniff.php',
'Squiz_Sniffs_Commenting_DocCommentAlignmentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/DocCommentAlignmentSniff.php',
'Squiz_Sniffs_Commenting_EmptyCatchCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/EmptyCatchCommentSniff.php',
'Squiz_Sniffs_Commenting_FileCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/FileCommentSniff.php',
'Squiz_Sniffs_Commenting_FunctionCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/FunctionCommentSniff.php',
'Squiz_Sniffs_Commenting_FunctionCommentThrowTagSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/FunctionCommentThrowTagSniff.php',
'Squiz_Sniffs_Commenting_InlineCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/InlineCommentSniff.php',
'Squiz_Sniffs_Commenting_LongConditionClosingCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/LongConditionClosingCommentSniff.php',
'Squiz_Sniffs_Commenting_PostStatementCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/PostStatementCommentSniff.php',
'Squiz_Sniffs_Commenting_VariableCommentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/VariableCommentSniff.php',
'Squiz_Sniffs_ControlStructures_ControlSignatureSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ControlSignatureSniff.php',
'Squiz_Sniffs_ControlStructures_ElseIfDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ElseIfDeclarationSniff.php',
'Squiz_Sniffs_ControlStructures_ForEachLoopDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ForEachLoopDeclarationSniff.php',
'Squiz_Sniffs_ControlStructures_ForLoopDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ForLoopDeclarationSniff.php',
'Squiz_Sniffs_ControlStructures_InlineIfDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/InlineIfDeclarationSniff.php',
'Squiz_Sniffs_ControlStructures_LowercaseDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/LowercaseDeclarationSniff.php',
'Squiz_Sniffs_ControlStructures_SwitchDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/SwitchDeclarationSniff.php',
'Squiz_Sniffs_Debug_JSLintSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Debug/JSLintSniff.php',
'Squiz_Sniffs_Debug_JavaScriptLintSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Debug/JavaScriptLintSniff.php',
'Squiz_Sniffs_Files_FileExtensionSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Files/FileExtensionSniff.php',
'Squiz_Sniffs_Formatting_OperatorBracketSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Formatting/OperatorBracketSniff.php',
'Squiz_Sniffs_Functions_FunctionDeclarationArgumentSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/FunctionDeclarationArgumentSpacingSniff.php',
'Squiz_Sniffs_Functions_FunctionDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/FunctionDeclarationSniff.php',
'Squiz_Sniffs_Functions_FunctionDuplicateArgumentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/FunctionDuplicateArgumentSniff.php',
'Squiz_Sniffs_Functions_GlobalFunctionSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/GlobalFunctionSniff.php',
'Squiz_Sniffs_Functions_LowercaseFunctionKeywordsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/LowercaseFunctionKeywordsSniff.php',
'Squiz_Sniffs_Functions_MultiLineFunctionDeclarationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/MultiLineFunctionDeclarationSniff.php',
'Squiz_Sniffs_NamingConventions_ValidFunctionNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/NamingConventions/ValidFunctionNameSniff.php',
'Squiz_Sniffs_NamingConventions_ValidVariableNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/NamingConventions/ValidVariableNameSniff.php',
'Squiz_Sniffs_Objects_DisallowObjectStringIndexSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Objects/DisallowObjectStringIndexSniff.php',
'Squiz_Sniffs_Objects_ObjectInstantiationSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Objects/ObjectInstantiationSniff.php',
'Squiz_Sniffs_Objects_ObjectMemberCommaSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Objects/ObjectMemberCommaSniff.php',
'Squiz_Sniffs_Operators_ComparisonOperatorUsageSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Operators/ComparisonOperatorUsageSniff.php',
'Squiz_Sniffs_Operators_IncrementDecrementUsageSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Operators/IncrementDecrementUsageSniff.php',
'Squiz_Sniffs_Operators_ValidLogicalOperatorsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Operators/ValidLogicalOperatorsSniff.php',
'Squiz_Sniffs_PHP_CommentedOutCodeSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/CommentedOutCodeSniff.php',
'Squiz_Sniffs_PHP_DisallowBooleanStatementSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowBooleanStatementSniff.php',
'Squiz_Sniffs_PHP_DisallowComparisonAssignmentSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowComparisonAssignmentSniff.php',
'Squiz_Sniffs_PHP_DisallowInlineIfSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowInlineIfSniff.php',
'Squiz_Sniffs_PHP_DisallowMultipleAssignmentsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowMultipleAssignmentsSniff.php',
'Squiz_Sniffs_PHP_DisallowObEndFlushSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowObEndFlushSniff.php',
'Squiz_Sniffs_PHP_DisallowSizeFunctionsInLoopsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowSizeFunctionsInLoopsSniff.php',
'Squiz_Sniffs_PHP_DiscouragedFunctionsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DiscouragedFunctionsSniff.php',
'Squiz_Sniffs_PHP_EmbeddedPhpSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/EmbeddedPhpSniff.php',
'Squiz_Sniffs_PHP_EvalSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/EvalSniff.php',
'Squiz_Sniffs_PHP_ForbiddenFunctionsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/ForbiddenFunctionsSniff.php',
'Squiz_Sniffs_PHP_GlobalKeywordSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/GlobalKeywordSniff.php',
'Squiz_Sniffs_PHP_HeredocSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/HeredocSniff.php',
'Squiz_Sniffs_PHP_InnerFunctionsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/InnerFunctionsSniff.php',
'Squiz_Sniffs_PHP_LowercasePHPFunctionsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/LowercasePHPFunctionsSniff.php',
'Squiz_Sniffs_PHP_NonExecutableCodeSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/NonExecutableCodeSniff.php',
'Squiz_Sniffs_Scope_MemberVarScopeSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Scope/MemberVarScopeSniff.php',
'Squiz_Sniffs_Scope_MethodScopeSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Scope/MethodScopeSniff.php',
'Squiz_Sniffs_Scope_StaticThisUsageSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Scope/StaticThisUsageSniff.php',
'Squiz_Sniffs_Strings_ConcatenationSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Strings/ConcatenationSpacingSniff.php',
'Squiz_Sniffs_Strings_DoubleQuoteUsageSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Strings/DoubleQuoteUsageSniff.php',
'Squiz_Sniffs_Strings_EchoedStringsSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Strings/EchoedStringsSniff.php',
'Squiz_Sniffs_WhiteSpace_CastSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/CastSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_ControlStructureSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ControlStructureSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_FunctionClosingBraceSpaceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/FunctionClosingBraceSpaceSniff.php',
'Squiz_Sniffs_WhiteSpace_FunctionOpeningBraceSpaceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/FunctionOpeningBraceSpaceSniff.php',
'Squiz_Sniffs_WhiteSpace_FunctionSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/FunctionSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_LanguageConstructSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/LanguageConstructSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_LogicalOperatorSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/LogicalOperatorSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_MemberVarSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/MemberVarSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_ObjectOperatorSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ObjectOperatorSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_OperatorSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/OperatorSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_PropertyLabelSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/PropertyLabelSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_ScopeClosingBraceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ScopeClosingBraceSniff.php',
'Squiz_Sniffs_WhiteSpace_ScopeKeywordSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ScopeKeywordSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_SemicolonSpacingSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/SemicolonSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_SuperfluousWhitespaceSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/SuperfluousWhitespaceSniff.php',
'Text_Template' => $vendorDir . '/phpunit/php-text-template/src/Template.php', 'Text_Template' => $vendorDir . '/phpunit/php-text-template/src/Template.php',
'TheSeer\\Tokenizer\\Exception' => $vendorDir . '/theseer/tokenizer/src/Exception.php', 'TheSeer\\Tokenizer\\Exception' => $vendorDir . '/theseer/tokenizer/src/Exception.php',
'TheSeer\\Tokenizer\\NamespaceUri' => $vendorDir . '/theseer/tokenizer/src/NamespaceUri.php', 'TheSeer\\Tokenizer\\NamespaceUri' => $vendorDir . '/theseer/tokenizer/src/NamespaceUri.php',
@@ -550,4 +828,117 @@ return array(
'TheSeer\\Tokenizer\\TokenCollectionException' => $vendorDir . '/theseer/tokenizer/src/TokenCollectionException.php', 'TheSeer\\Tokenizer\\TokenCollectionException' => $vendorDir . '/theseer/tokenizer/src/TokenCollectionException.php',
'TheSeer\\Tokenizer\\Tokenizer' => $vendorDir . '/theseer/tokenizer/src/Tokenizer.php', 'TheSeer\\Tokenizer\\Tokenizer' => $vendorDir . '/theseer/tokenizer/src/Tokenizer.php',
'TheSeer\\Tokenizer\\XMLSerializer' => $vendorDir . '/theseer/tokenizer/src/XMLSerializer.php', 'TheSeer\\Tokenizer\\XMLSerializer' => $vendorDir . '/theseer/tokenizer/src/XMLSerializer.php',
'TheSeer\\fDOM\\CSS\\DollarEqualRule' => $vendorDir . '/theseer/fdomdocument/src/css/DollarEqualRule.php',
'TheSeer\\fDOM\\CSS\\NotRule' => $vendorDir . '/theseer/fdomdocument/src/css/NotRule.php',
'TheSeer\\fDOM\\CSS\\NthChildRule' => $vendorDir . '/theseer/fdomdocument/src/css/NthChildRule.php',
'TheSeer\\fDOM\\CSS\\RegexRule' => $vendorDir . '/theseer/fdomdocument/src/css/RegexRule.php',
'TheSeer\\fDOM\\CSS\\RuleInterface' => $vendorDir . '/theseer/fdomdocument/src/css/RuleInterface.php',
'TheSeer\\fDOM\\CSS\\Translator' => $vendorDir . '/theseer/fdomdocument/src/css/Translator.php',
'TheSeer\\fDOM\\XPathQuery' => $vendorDir . '/theseer/fdomdocument/src/XPathQuery.php',
'TheSeer\\fDOM\\XPathQueryException' => $vendorDir . '/theseer/fdomdocument/src/XPathQueryException.php',
'TheSeer\\fDOM\\fDOMDocument' => $vendorDir . '/theseer/fdomdocument/src/fDOMDocument.php',
'TheSeer\\fDOM\\fDOMDocumentFragment' => $vendorDir . '/theseer/fdomdocument/src/fDOMDocumentFragment.php',
'TheSeer\\fDOM\\fDOMElement' => $vendorDir . '/theseer/fdomdocument/src/fDOMElement.php',
'TheSeer\\fDOM\\fDOMException' => $vendorDir . '/theseer/fdomdocument/src/fDOMException.php',
'TheSeer\\fDOM\\fDOMNode' => $vendorDir . '/theseer/fdomdocument/src/fDOMNode.php',
'TheSeer\\fDOM\\fDOMXPath' => $vendorDir . '/theseer/fdomdocument/src/fDOMXPath.php',
'TypeError' => $vendorDir . '/symfony/polyfill-php70/Resources/stubs/TypeError.php',
'Zend_Sniffs_Debug_CodeAnalyzerSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Sniffs/Debug/CodeAnalyzerSniff.php',
'Zend_Sniffs_Files_ClosingTagSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Sniffs/Files/ClosingTagSniff.php',
'Zend_Sniffs_NamingConventions_ValidVariableNameSniff' => $vendorDir . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Sniffs/NamingConventions/ValidVariableNameSniff.php',
'ezcBase' => $vendorDir . '/zetacomponents/base/src/base.php',
'ezcBaseAutoloadException' => $vendorDir . '/zetacomponents/base/src/exceptions/autoload.php',
'ezcBaseAutoloadOptions' => $vendorDir . '/zetacomponents/base/src/options/autoload.php',
'ezcBaseConfigurationInitializer' => $vendorDir . '/zetacomponents/base/src/interfaces/configuration_initializer.php',
'ezcBaseDoubleClassRepositoryPrefixException' => $vendorDir . '/zetacomponents/base/src/exceptions/double_class_repository_prefix.php',
'ezcBaseException' => $vendorDir . '/zetacomponents/base/src/exceptions/exception.php',
'ezcBaseExportable' => $vendorDir . '/zetacomponents/base/src/interfaces/exportable.php',
'ezcBaseExtensionNotFoundException' => $vendorDir . '/zetacomponents/base/src/exceptions/extension_not_found.php',
'ezcBaseFeatures' => $vendorDir . '/zetacomponents/base/src/features.php',
'ezcBaseFile' => $vendorDir . '/zetacomponents/base/src/file.php',
'ezcBaseFileException' => $vendorDir . '/zetacomponents/base/src/exceptions/file_exception.php',
'ezcBaseFileFindContext' => $vendorDir . '/zetacomponents/base/src/structs/file_find_context.php',
'ezcBaseFileIoException' => $vendorDir . '/zetacomponents/base/src/exceptions/file_io.php',
'ezcBaseFileNotFoundException' => $vendorDir . '/zetacomponents/base/src/exceptions/file_not_found.php',
'ezcBaseFilePermissionException' => $vendorDir . '/zetacomponents/base/src/exceptions/file_permission.php',
'ezcBaseFunctionalityNotSupportedException' => $vendorDir . '/zetacomponents/base/src/exceptions/functionality_not_supported.php',
'ezcBaseInit' => $vendorDir . '/zetacomponents/base/src/init.php',
'ezcBaseInitCallbackConfiguredException' => $vendorDir . '/zetacomponents/base/src/exceptions/init_callback_configured.php',
'ezcBaseInitInvalidCallbackClassException' => $vendorDir . '/zetacomponents/base/src/exceptions/invalid_callback_class.php',
'ezcBaseInvalidParentClassException' => $vendorDir . '/zetacomponents/base/src/exceptions/invalid_parent_class.php',
'ezcBaseMetaData' => $vendorDir . '/zetacomponents/base/src/metadata.php',
'ezcBaseMetaDataPearReader' => $vendorDir . '/zetacomponents/base/src/metadata/pear.php',
'ezcBaseMetaDataTarballReader' => $vendorDir . '/zetacomponents/base/src/metadata/tarball.php',
'ezcBaseOptions' => $vendorDir . '/zetacomponents/base/src/options.php',
'ezcBasePersistable' => $vendorDir . '/zetacomponents/base/src/interfaces/persistable.php',
'ezcBasePropertyNotFoundException' => $vendorDir . '/zetacomponents/base/src/exceptions/property_not_found.php',
'ezcBasePropertyPermissionException' => $vendorDir . '/zetacomponents/base/src/exceptions/property_permission.php',
'ezcBaseRepositoryDirectory' => $vendorDir . '/zetacomponents/base/src/structs/repository_directory.php',
'ezcBaseSettingNotFoundException' => $vendorDir . '/zetacomponents/base/src/exceptions/setting_not_found.php',
'ezcBaseSettingValueException' => $vendorDir . '/zetacomponents/base/src/exceptions/setting_value.php',
'ezcBaseStruct' => $vendorDir . '/zetacomponents/base/src/struct.php',
'ezcBaseValueException' => $vendorDir . '/zetacomponents/base/src/exceptions/value.php',
'ezcBaseWhateverException' => $vendorDir . '/zetacomponents/base/src/exceptions/whatever.php',
'ezcConsoleArgument' => $vendorDir . '/zetacomponents/console-tools/src/input/argument.php',
'ezcConsoleArgumentAlreadyRegisteredException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/argument_already_registered.php',
'ezcConsoleArgumentException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/argument.php',
'ezcConsoleArgumentMandatoryViolationException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/argument_mandatory_violation.php',
'ezcConsoleArgumentTypeViolationException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/argument_type_violation.php',
'ezcConsoleArguments' => $vendorDir . '/zetacomponents/console-tools/src/input/arguments.php',
'ezcConsoleDialog' => $vendorDir . '/zetacomponents/console-tools/src/interfaces/dialog.php',
'ezcConsoleDialogAbortException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/dialog_abort.php',
'ezcConsoleDialogOptions' => $vendorDir . '/zetacomponents/console-tools/src/options/dialog.php',
'ezcConsoleDialogValidator' => $vendorDir . '/zetacomponents/console-tools/src/interfaces/dialog_validator.php',
'ezcConsoleDialogViewer' => $vendorDir . '/zetacomponents/console-tools/src/dialog_viewer.php',
'ezcConsoleException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/exception.php',
'ezcConsoleInput' => $vendorDir . '/zetacomponents/console-tools/src/input.php',
'ezcConsoleInputHelpGenerator' => $vendorDir . '/zetacomponents/console-tools/src/interfaces/input_help_generator.php',
'ezcConsoleInputStandardHelpGenerator' => $vendorDir . '/zetacomponents/console-tools/src/input/help_generators/standard.php',
'ezcConsoleInputValidator' => $vendorDir . '/zetacomponents/console-tools/src/interfaces/input_validator.php',
'ezcConsoleInvalidOptionNameException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/invalid_option_name.php',
'ezcConsoleInvalidOutputTargetException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/invalid_output_target.php',
'ezcConsoleMenuDialog' => $vendorDir . '/zetacomponents/console-tools/src/dialog/menu_dialog.php',
'ezcConsoleMenuDialogDefaultValidator' => $vendorDir . '/zetacomponents/console-tools/src/dialog/validators/menu_dialog_default.php',
'ezcConsoleMenuDialogOptions' => $vendorDir . '/zetacomponents/console-tools/src/options/menu_dialog.php',
'ezcConsoleMenuDialogValidator' => $vendorDir . '/zetacomponents/console-tools/src/interfaces/menu_dialog_validator.php',
'ezcConsoleNoPositionStoredException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/no_position_stored.php',
'ezcConsoleNoValidDialogResultException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/no_valid_dialog_result.php',
'ezcConsoleOption' => $vendorDir . '/zetacomponents/console-tools/src/input/option.php',
'ezcConsoleOptionAlreadyRegisteredException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/option_already_registered.php',
'ezcConsoleOptionArgumentsViolationException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/option_arguments_violation.php',
'ezcConsoleOptionDependencyViolationException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/option_dependency_violation.php',
'ezcConsoleOptionException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/option.php',
'ezcConsoleOptionExclusionViolationException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/option_exclusion_violation.php',
'ezcConsoleOptionMandatoryViolationException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/option_mandatory_violation.php',
'ezcConsoleOptionMissingValueException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/option_missing_value.php',
'ezcConsoleOptionNoAliasException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/option_no_alias.php',
'ezcConsoleOptionNotExistsException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/option_not_exists.php',
'ezcConsoleOptionRule' => $vendorDir . '/zetacomponents/console-tools/src/structs/option_rule.php',
'ezcConsoleOptionStringNotWellformedException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/option_string_not_wellformed.php',
'ezcConsoleOptionTooManyValuesException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/option_too_many_values.php',
'ezcConsoleOptionTypeViolationException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/option_type_violation.php',
'ezcConsoleOutput' => $vendorDir . '/zetacomponents/console-tools/src/output.php',
'ezcConsoleOutputFormat' => $vendorDir . '/zetacomponents/console-tools/src/structs/output_format.php',
'ezcConsoleOutputFormats' => $vendorDir . '/zetacomponents/console-tools/src/structs/output_formats.php',
'ezcConsoleOutputOptions' => $vendorDir . '/zetacomponents/console-tools/src/options/output.php',
'ezcConsoleProgressMonitor' => $vendorDir . '/zetacomponents/console-tools/src/progressmonitor.php',
'ezcConsoleProgressMonitorOptions' => $vendorDir . '/zetacomponents/console-tools/src/options/progressmonitor.php',
'ezcConsoleProgressbar' => $vendorDir . '/zetacomponents/console-tools/src/progressbar.php',
'ezcConsoleProgressbarOptions' => $vendorDir . '/zetacomponents/console-tools/src/options/progressbar.php',
'ezcConsoleQuestionDialog' => $vendorDir . '/zetacomponents/console-tools/src/dialog/question_dialog.php',
'ezcConsoleQuestionDialogCollectionValidator' => $vendorDir . '/zetacomponents/console-tools/src/dialog/validators/question_dialog_collection.php',
'ezcConsoleQuestionDialogMappingValidator' => $vendorDir . '/zetacomponents/console-tools/src/dialog/validators/question_dialog_mapping.php',
'ezcConsoleQuestionDialogOptions' => $vendorDir . '/zetacomponents/console-tools/src/options/question_dialog.php',
'ezcConsoleQuestionDialogRegexValidator' => $vendorDir . '/zetacomponents/console-tools/src/dialog/validators/question_dialog_regex.php',
'ezcConsoleQuestionDialogTypeValidator' => $vendorDir . '/zetacomponents/console-tools/src/dialog/validators/question_dialog_type.php',
'ezcConsoleQuestionDialogValidator' => $vendorDir . '/zetacomponents/console-tools/src/interfaces/question_dialog_validator.php',
'ezcConsoleStandardInputValidator' => $vendorDir . '/zetacomponents/console-tools/src/input/validators/standard.php',
'ezcConsoleStatusbar' => $vendorDir . '/zetacomponents/console-tools/src/statusbar.php',
'ezcConsoleStatusbarOptions' => $vendorDir . '/zetacomponents/console-tools/src/options/statusbar.php',
'ezcConsoleStringTool' => $vendorDir . '/zetacomponents/console-tools/src/tools/string.php',
'ezcConsoleTable' => $vendorDir . '/zetacomponents/console-tools/src/table.php',
'ezcConsoleTableCell' => $vendorDir . '/zetacomponents/console-tools/src/table/cell.php',
'ezcConsoleTableOptions' => $vendorDir . '/zetacomponents/console-tools/src/options/table.php',
'ezcConsoleTableRow' => $vendorDir . '/zetacomponents/console-tools/src/table/row.php',
'ezcConsoleTooManyArgumentsException' => $vendorDir . '/zetacomponents/console-tools/src/exceptions/argument_too_many.php',
); );

View File

@@ -7,10 +7,17 @@ $baseDir = dirname($vendorDir);
return array( return array(
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php', '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php',
'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php',
'023d27dca8066ef29e6739335ea73bad' => $vendorDir . '/symfony/polyfill-php70/bootstrap.php',
'25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php',
'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php',
'7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php',
'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php', 'a0edc8309cc5e1d60e3047b5df6b7052' => $vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php', 'c964ee0ededf28c96ebd9db5099ef910' => $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
'def43f6c87e4f8dfd0c9e1b1bab14fe8' => $vendorDir . '/symfony/polyfill-iconv/bootstrap.php',
'37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php', '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
'2c102faa651ef8ea5874edb585946bce' => $vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php',
'6124b4c8570aa390c21fafd04a26c69f' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
'decc78cc4436b1292c6c0d151b19445c' => $vendorDir . '/phpseclib/phpseclib/phpseclib/bootstrap.php', 'decc78cc4436b1292c6c0d151b19445c' => $vendorDir . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
'2c102faa651ef8ea5874edb585946bce' => $vendorDir . '/swiftmailer/swiftmailer/lib/swift_required.php',
'320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php',
'6124b4c8570aa390c21fafd04a26c69f' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
); );

View File

@@ -7,14 +7,14 @@ $baseDir = dirname($vendorDir);
return array( return array(
'Twig_' => array($vendorDir . '/twig/twig/lib'), 'Twig_' => array($vendorDir . '/twig/twig/lib'),
'Prophecy\\' => array($vendorDir . '/phpspec/prophecy/src'), 'Pimple' => array($vendorDir . '/pimple/pimple/src'),
'PEAR' => array($vendorDir . '/pear/pear_exception'), 'PHPMD\\' => array($vendorDir . '/phpmd/phpmd/src/main/php'),
'PHPCodeBrowser\\' => array($vendorDir . '/mayflower/php-codebrowser/src'),
'Net' => array($vendorDir . '/pear/net_smtp', $vendorDir . '/pear/net_socket'), 'Net' => array($vendorDir . '/pear/net_smtp', $vendorDir . '/pear/net_socket'),
'Mail' => array($vendorDir . '/pear/mail'), 'Mail' => array($vendorDir . '/pear/mail'),
'Google_Service_' => array($vendorDir . '/google/apiclient-services/src'), 'Google_Service_' => array($vendorDir . '/google/apiclient-services/src'),
'Google_' => array($vendorDir . '/google/apiclient/src'), 'Google_' => array($vendorDir . '/google/apiclient/src'),
'ForceUTF8\\' => array($vendorDir . '/neitanod/forceutf8/src'), 'ForceUTF8\\' => array($vendorDir . '/neitanod/forceutf8/src'),
'Doctrine\\Common\\Lexer\\' => array($vendorDir . '/doctrine/lexer/lib'),
'Dflydev\\DotAccessData' => array($vendorDir . '/dflydev/dot-access-data/src'), 'Dflydev\\DotAccessData' => array($vendorDir . '/dflydev/dot-access-data/src'),
'Console' => array($vendorDir . '/pear/console_getopt'), 'Console' => array($vendorDir . '/pear/console_getopt'),
'' => array($vendorDir . '/pear/pear-core-minimal/src'), '' => array($vendorDir . '/pear/pear-core-minimal/src'),

View File

@@ -11,20 +11,31 @@ return array(
'cebe\\markdown\\' => array($vendorDir . '/cebe/markdown'), 'cebe\\markdown\\' => array($vendorDir . '/cebe/markdown'),
'Whoops\\' => array($vendorDir . '/filp/whoops/src/Whoops'), 'Whoops\\' => array($vendorDir . '/filp/whoops/src/Whoops'),
'Webmozart\\Assert\\' => array($vendorDir . '/webmozart/assert/src'), 'Webmozart\\Assert\\' => array($vendorDir . '/webmozart/assert/src'),
'Symfony\\Polyfill\\Php72\\' => array($vendorDir . '/symfony/polyfill-php72'),
'Symfony\\Polyfill\\Php70\\' => array($vendorDir . '/symfony/polyfill-php70'),
'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'), 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),
'Symfony\\Polyfill\\Intl\\Normalizer\\' => array($vendorDir . '/symfony/polyfill-intl-normalizer'),
'Symfony\\Polyfill\\Intl\\Idn\\' => array($vendorDir . '/symfony/polyfill-intl-idn'),
'Symfony\\Polyfill\\Iconv\\' => array($vendorDir . '/symfony/polyfill-iconv'),
'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'),
'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'), 'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'),
'Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'), 'Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'),
'Symfony\\Component\\Finder\\' => array($vendorDir . '/symfony/finder'), 'Symfony\\Component\\Finder\\' => array($vendorDir . '/symfony/finder'),
'Symfony\\Component\\Filesystem\\' => array($vendorDir . '/symfony/filesystem'), 'Symfony\\Component\\Filesystem\\' => array($vendorDir . '/symfony/filesystem'),
'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'), 'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'),
'Symfony\\Component\\DependencyInjection\\' => array($vendorDir . '/symfony/dependency-injection'),
'Symfony\\Component\\Debug\\' => array($vendorDir . '/symfony/debug'), 'Symfony\\Component\\Debug\\' => array($vendorDir . '/symfony/debug'),
'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'), 'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'),
'Symfony\\Component\\Config\\' => array($vendorDir . '/symfony/config'),
'SelfUpdate\\' => array($vendorDir . '/consolidation/self-update/src'),
'Robo\\' => array($vendorDir . '/consolidation/robo/src'), 'Robo\\' => array($vendorDir . '/consolidation/robo/src'),
'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'), 'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'), 'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'),
'Psr\\Container\\' => array($vendorDir . '/psr/container/src'), 'Psr\\Container\\' => array($vendorDir . '/psr/container/src'),
'Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'), 'Psr\\Cache\\' => array($vendorDir . '/psr/cache/src'),
'Prophecy\\' => array($vendorDir . '/phpspec/prophecy/src/Prophecy'),
'Predis\\' => array($vendorDir . '/predis/predis/src'), 'Predis\\' => array($vendorDir . '/predis/predis/src'),
'PDepend\\' => array($vendorDir . '/pdepend/pdepend/src/main/php/PDepend'),
'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'), 'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
'League\\Container\\' => array($vendorDir . '/league/container/src'), 'League\\Container\\' => array($vendorDir . '/league/container/src'),
'Interop\\Container\\' => array($vendorDir . '/container-interop/container-interop/src/Interop/Container'), 'Interop\\Container\\' => array($vendorDir . '/container-interop/container-interop/src/Interop/Container'),
@@ -37,8 +48,9 @@ return array(
'Gettext\\Languages\\' => array($vendorDir . '/gettext/languages/src'), 'Gettext\\Languages\\' => array($vendorDir . '/gettext/languages/src'),
'Gettext\\' => array($vendorDir . '/gettext/gettext/src'), 'Gettext\\' => array($vendorDir . '/gettext/gettext/src'),
'Firebase\\JWT\\' => array($vendorDir . '/firebase/php-jwt/src'), 'Firebase\\JWT\\' => array($vendorDir . '/firebase/php-jwt/src'),
'Egulias\\EmailValidator\\' => array($vendorDir . '/egulias/email-validator/EmailValidator'), 'Egulias\\EmailValidator\\' => array($vendorDir . '/egulias/email-validator/src'),
'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator'), 'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator'),
'Doctrine\\Common\\Lexer\\' => array($vendorDir . '/doctrine/lexer/lib/Doctrine/Common/Lexer'),
'DeepCopy\\' => array($vendorDir . '/myclabs/deep-copy/src/DeepCopy'), 'DeepCopy\\' => array($vendorDir . '/myclabs/deep-copy/src/DeepCopy'),
'Consolidation\\OutputFormatters\\' => array($vendorDir . '/consolidation/output-formatters/src'), 'Consolidation\\OutputFormatters\\' => array($vendorDir . '/consolidation/output-formatters/src'),
'Consolidation\\Log\\' => array($vendorDir . '/consolidation/log/src'), 'Consolidation\\Log\\' => array($vendorDir . '/consolidation/log/src'),

View File

@@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer // autoload_real.php @generated by Composer
class ComposerAutoloaderInit6d4a28cd96a5bc5d5b97781c062572d9 class ComposerAutoloaderInit5bce11e11de2274869867527dbd4b40e
{ {
private static $loader; private static $loader;
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit6d4a28cd96a5bc5d5b97781c062572d9
return self::$loader; return self::$loader;
} }
spl_autoload_register(array('ComposerAutoloaderInit6d4a28cd96a5bc5d5b97781c062572d9', 'loadClassLoader'), true, true); spl_autoload_register(array('ComposerAutoloaderInit5bce11e11de2274869867527dbd4b40e', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(); self::$loader = $loader = new \Composer\Autoload\ClassLoader();
spl_autoload_unregister(array('ComposerAutoloaderInit6d4a28cd96a5bc5d5b97781c062572d9', 'loadClassLoader')); spl_autoload_unregister(array('ComposerAutoloaderInit5bce11e11de2274869867527dbd4b40e', 'loadClassLoader'));
$includePaths = require __DIR__ . '/include_paths.php'; $includePaths = require __DIR__ . '/include_paths.php';
$includePaths[] = get_include_path(); $includePaths[] = get_include_path();
@@ -31,7 +31,7 @@ class ComposerAutoloaderInit6d4a28cd96a5bc5d5b97781c062572d9
if ($useStaticLoader) { if ($useStaticLoader) {
require_once __DIR__ . '/autoload_static.php'; require_once __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9::getInitializer($loader)); call_user_func(\Composer\Autoload\ComposerStaticInit5bce11e11de2274869867527dbd4b40e::getInitializer($loader));
} else { } else {
$map = require __DIR__ . '/autoload_namespaces.php'; $map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) { foreach ($map as $namespace => $path) {
@@ -52,19 +52,19 @@ class ComposerAutoloaderInit6d4a28cd96a5bc5d5b97781c062572d9
$loader->register(true); $loader->register(true);
if ($useStaticLoader) { if ($useStaticLoader) {
$includeFiles = Composer\Autoload\ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9::$files; $includeFiles = Composer\Autoload\ComposerStaticInit5bce11e11de2274869867527dbd4b40e::$files;
} else { } else {
$includeFiles = require __DIR__ . '/autoload_files.php'; $includeFiles = require __DIR__ . '/autoload_files.php';
} }
foreach ($includeFiles as $fileIdentifier => $file) { foreach ($includeFiles as $fileIdentifier => $file) {
composerRequire6d4a28cd96a5bc5d5b97781c062572d9($fileIdentifier, $file); composerRequire5bce11e11de2274869867527dbd4b40e($fileIdentifier, $file);
} }
return $loader; return $loader;
} }
} }
function composerRequire6d4a28cd96a5bc5d5b97781c062572d9($fileIdentifier, $file) function composerRequire5bce11e11de2274869867527dbd4b40e($fileIdentifier, $file)
{ {
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
require $file; require $file;

View File

@@ -4,16 +4,23 @@
namespace Composer\Autoload; namespace Composer\Autoload;
class ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9 class ComposerStaticInit5bce11e11de2274869867527dbd4b40e
{ {
public static $files = array ( public static $files = array (
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php',
'023d27dca8066ef29e6739335ea73bad' => __DIR__ . '/..' . '/symfony/polyfill-php70/bootstrap.php',
'25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php',
'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php',
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
'a0edc8309cc5e1d60e3047b5df6b7052' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/functions_include.php', 'a0edc8309cc5e1d60e3047b5df6b7052' => __DIR__ . '/..' . '/guzzlehttp/psr7/src/functions_include.php',
'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php', 'c964ee0ededf28c96ebd9db5099ef910' => __DIR__ . '/..' . '/guzzlehttp/promises/src/functions_include.php',
'def43f6c87e4f8dfd0c9e1b1bab14fe8' => __DIR__ . '/..' . '/symfony/polyfill-iconv/bootstrap.php',
'37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php', '37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php',
'2c102faa651ef8ea5874edb585946bce' => __DIR__ . '/..' . '/swiftmailer/swiftmailer/lib/swift_required.php',
'6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
'decc78cc4436b1292c6c0d151b19445c' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/bootstrap.php', 'decc78cc4436b1292c6c0d151b19445c' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
'2c102faa651ef8ea5874edb585946bce' => __DIR__ . '/..' . '/swiftmailer/swiftmailer/lib/swift_required.php',
'320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
'6124b4c8570aa390c21fafd04a26c69f' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/deep_copy.php',
); );
public static $prefixLengthsPsr4 = array ( public static $prefixLengthsPsr4 = array (
@@ -33,14 +40,23 @@ class ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9
), ),
'S' => 'S' =>
array ( array (
'Symfony\\Polyfill\\Php72\\' => 23,
'Symfony\\Polyfill\\Php70\\' => 23,
'Symfony\\Polyfill\\Mbstring\\' => 26, 'Symfony\\Polyfill\\Mbstring\\' => 26,
'Symfony\\Polyfill\\Intl\\Normalizer\\' => 33,
'Symfony\\Polyfill\\Intl\\Idn\\' => 26,
'Symfony\\Polyfill\\Iconv\\' => 23,
'Symfony\\Polyfill\\Ctype\\' => 23,
'Symfony\\Component\\Yaml\\' => 23, 'Symfony\\Component\\Yaml\\' => 23,
'Symfony\\Component\\Process\\' => 26, 'Symfony\\Component\\Process\\' => 26,
'Symfony\\Component\\Finder\\' => 25, 'Symfony\\Component\\Finder\\' => 25,
'Symfony\\Component\\Filesystem\\' => 29, 'Symfony\\Component\\Filesystem\\' => 29,
'Symfony\\Component\\EventDispatcher\\' => 34, 'Symfony\\Component\\EventDispatcher\\' => 34,
'Symfony\\Component\\DependencyInjection\\' => 38,
'Symfony\\Component\\Debug\\' => 24, 'Symfony\\Component\\Debug\\' => 24,
'Symfony\\Component\\Console\\' => 26, 'Symfony\\Component\\Console\\' => 26,
'Symfony\\Component\\Config\\' => 25,
'SelfUpdate\\' => 11,
), ),
'R' => 'R' =>
array ( array (
@@ -52,7 +68,9 @@ class ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9
'Psr\\Http\\Message\\' => 17, 'Psr\\Http\\Message\\' => 17,
'Psr\\Container\\' => 14, 'Psr\\Container\\' => 14,
'Psr\\Cache\\' => 10, 'Psr\\Cache\\' => 10,
'Prophecy\\' => 9,
'Predis\\' => 7, 'Predis\\' => 7,
'PDepend\\' => 8,
), ),
'M' => 'M' =>
array ( array (
@@ -88,6 +106,7 @@ class ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9
'D' => 'D' =>
array ( array (
'Doctrine\\Instantiator\\' => 22, 'Doctrine\\Instantiator\\' => 22,
'Doctrine\\Common\\Lexer\\' => 22,
'DeepCopy\\' => 9, 'DeepCopy\\' => 9,
), ),
'C' => 'C' =>
@@ -126,10 +145,34 @@ class ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9
array ( array (
0 => __DIR__ . '/..' . '/webmozart/assert/src', 0 => __DIR__ . '/..' . '/webmozart/assert/src',
), ),
'Symfony\\Polyfill\\Php72\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-php72',
),
'Symfony\\Polyfill\\Php70\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-php70',
),
'Symfony\\Polyfill\\Mbstring\\' => 'Symfony\\Polyfill\\Mbstring\\' =>
array ( array (
0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring', 0 => __DIR__ . '/..' . '/symfony/polyfill-mbstring',
), ),
'Symfony\\Polyfill\\Intl\\Normalizer\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer',
),
'Symfony\\Polyfill\\Intl\\Idn\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-intl-idn',
),
'Symfony\\Polyfill\\Iconv\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-iconv',
),
'Symfony\\Polyfill\\Ctype\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/polyfill-ctype',
),
'Symfony\\Component\\Yaml\\' => 'Symfony\\Component\\Yaml\\' =>
array ( array (
0 => __DIR__ . '/..' . '/symfony/yaml', 0 => __DIR__ . '/..' . '/symfony/yaml',
@@ -150,6 +193,10 @@ class ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9
array ( array (
0 => __DIR__ . '/..' . '/symfony/event-dispatcher', 0 => __DIR__ . '/..' . '/symfony/event-dispatcher',
), ),
'Symfony\\Component\\DependencyInjection\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/dependency-injection',
),
'Symfony\\Component\\Debug\\' => 'Symfony\\Component\\Debug\\' =>
array ( array (
0 => __DIR__ . '/..' . '/symfony/debug', 0 => __DIR__ . '/..' . '/symfony/debug',
@@ -158,6 +205,14 @@ class ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9
array ( array (
0 => __DIR__ . '/..' . '/symfony/console', 0 => __DIR__ . '/..' . '/symfony/console',
), ),
'Symfony\\Component\\Config\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/config',
),
'SelfUpdate\\' =>
array (
0 => __DIR__ . '/..' . '/consolidation/self-update/src',
),
'Robo\\' => 'Robo\\' =>
array ( array (
0 => __DIR__ . '/..' . '/consolidation/robo/src', 0 => __DIR__ . '/..' . '/consolidation/robo/src',
@@ -178,10 +233,18 @@ class ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9
array ( array (
0 => __DIR__ . '/..' . '/psr/cache/src', 0 => __DIR__ . '/..' . '/psr/cache/src',
), ),
'Prophecy\\' =>
array (
0 => __DIR__ . '/..' . '/phpspec/prophecy/src/Prophecy',
),
'Predis\\' => 'Predis\\' =>
array ( array (
0 => __DIR__ . '/..' . '/predis/predis/src', 0 => __DIR__ . '/..' . '/predis/predis/src',
), ),
'PDepend\\' =>
array (
0 => __DIR__ . '/..' . '/pdepend/pdepend/src/main/php/PDepend',
),
'Monolog\\' => 'Monolog\\' =>
array ( array (
0 => __DIR__ . '/..' . '/monolog/monolog/src/Monolog', 0 => __DIR__ . '/..' . '/monolog/monolog/src/Monolog',
@@ -232,12 +295,16 @@ class ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9
), ),
'Egulias\\EmailValidator\\' => 'Egulias\\EmailValidator\\' =>
array ( array (
0 => __DIR__ . '/..' . '/egulias/email-validator/EmailValidator', 0 => __DIR__ . '/..' . '/egulias/email-validator/src',
), ),
'Doctrine\\Instantiator\\' => 'Doctrine\\Instantiator\\' =>
array ( array (
0 => __DIR__ . '/..' . '/doctrine/instantiator/src/Doctrine/Instantiator', 0 => __DIR__ . '/..' . '/doctrine/instantiator/src/Doctrine/Instantiator',
), ),
'Doctrine\\Common\\Lexer\\' =>
array (
0 => __DIR__ . '/..' . '/doctrine/lexer/lib/Doctrine/Common/Lexer',
),
'DeepCopy\\' => 'DeepCopy\\' =>
array ( array (
0 => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy', 0 => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy',
@@ -278,13 +345,17 @@ class ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9
), ),
'P' => 'P' =>
array ( array (
'Prophecy\\' => 'Pimple' =>
array ( array (
0 => __DIR__ . '/..' . '/phpspec/prophecy/src', 0 => __DIR__ . '/..' . '/pimple/pimple/src',
), ),
'PEAR' => 'PHPMD\\' =>
array ( array (
0 => __DIR__ . '/..' . '/pear/pear_exception', 0 => __DIR__ . '/..' . '/phpmd/phpmd/src/main/php',
),
'PHPCodeBrowser\\' =>
array (
0 => __DIR__ . '/..' . '/mayflower/php-codebrowser/src',
), ),
), ),
'N' => 'N' =>
@@ -322,10 +393,6 @@ class ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9
), ),
'D' => 'D' =>
array ( array (
'Doctrine\\Common\\Lexer\\' =>
array (
0 => __DIR__ . '/..' . '/doctrine/lexer/lib',
),
'Dflydev\\DotAccessData' => 'Dflydev\\DotAccessData' =>
array ( array (
0 => __DIR__ . '/..' . '/dflydev/dot-access-data/src', 0 => __DIR__ . '/..' . '/dflydev/dot-access-data/src',
@@ -345,11 +412,113 @@ class ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9
); );
public static $classMap = array ( public static $classMap = array (
'ArithmeticError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php',
'AssertionError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/AssertionError.php',
'DivisionByZeroError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/DivisionByZeroError.php',
'Error' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/Error.php',
'File_Iterator' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Iterator.php', 'File_Iterator' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Iterator.php',
'File_Iterator_Facade' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Facade.php', 'File_Iterator_Facade' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Facade.php',
'File_Iterator_Factory' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Factory.php', 'File_Iterator_Factory' => __DIR__ . '/..' . '/phpunit/php-file-iterator/src/Factory.php',
'Generic_Sniffs_Arrays_DisallowLongArraySyntaxSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Arrays/DisallowLongArraySyntaxSniff.php',
'Generic_Sniffs_Arrays_DisallowShortArraySyntaxSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Arrays/DisallowShortArraySyntaxSniff.php',
'Generic_Sniffs_Classes_DuplicateClassNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Classes/DuplicateClassNameSniff.php',
'Generic_Sniffs_Classes_OpeningBraceSameLineSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Classes/OpeningBraceSameLineSniff.php',
'Generic_Sniffs_CodeAnalysis_EmptyStatementSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/EmptyStatementSniff.php',
'Generic_Sniffs_CodeAnalysis_ForLoopShouldBeWhileLoopSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/ForLoopShouldBeWhileLoopSniff.php',
'Generic_Sniffs_CodeAnalysis_ForLoopWithTestFunctionCallSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/ForLoopWithTestFunctionCallSniff.php',
'Generic_Sniffs_CodeAnalysis_JumbledIncrementerSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/JumbledIncrementerSniff.php',
'Generic_Sniffs_CodeAnalysis_UnconditionalIfStatementSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UnconditionalIfStatementSniff.php',
'Generic_Sniffs_CodeAnalysis_UnnecessaryFinalModifierSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UnnecessaryFinalModifierSniff.php',
'Generic_Sniffs_CodeAnalysis_UnusedFunctionParameterSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UnusedFunctionParameterSniff.php',
'Generic_Sniffs_CodeAnalysis_UselessOverridingMethodSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/CodeAnalysis/UselessOverridingMethodSniff.php',
'Generic_Sniffs_Commenting_DocCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Commenting/DocCommentSniff.php',
'Generic_Sniffs_Commenting_FixmeSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Commenting/FixmeSniff.php',
'Generic_Sniffs_Commenting_TodoSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Commenting/TodoSniff.php',
'Generic_Sniffs_ControlStructures_InlineControlStructureSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/ControlStructures/InlineControlStructureSniff.php',
'Generic_Sniffs_Debug_CSSLintSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Debug/CSSLintSniff.php',
'Generic_Sniffs_Debug_ClosureLinterSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Debug/ClosureLinterSniff.php',
'Generic_Sniffs_Debug_ESLintSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Debug/ESLintSniff.php',
'Generic_Sniffs_Debug_JSHintSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Debug/JSHintSniff.php',
'Generic_Sniffs_Files_ByteOrderMarkSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/ByteOrderMarkSniff.php',
'Generic_Sniffs_Files_EndFileNewlineSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/EndFileNewlineSniff.php',
'Generic_Sniffs_Files_EndFileNoNewlineSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/EndFileNoNewlineSniff.php',
'Generic_Sniffs_Files_InlineHTMLSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/InlineHTMLSniff.php',
'Generic_Sniffs_Files_LineEndingsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/LineEndingsSniff.php',
'Generic_Sniffs_Files_LineLengthSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/LineLengthSniff.php',
'Generic_Sniffs_Files_LowercasedFilenameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/LowercasedFilenameSniff.php',
'Generic_Sniffs_Files_OneClassPerFileSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/OneClassPerFileSniff.php',
'Generic_Sniffs_Files_OneInterfacePerFileSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/OneInterfacePerFileSniff.php',
'Generic_Sniffs_Files_OneTraitPerFileSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/OneTraitPerFileSniff.php',
'Generic_Sniffs_Formatting_DisallowMultipleStatementsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/DisallowMultipleStatementsSniff.php',
'Generic_Sniffs_Formatting_MultipleStatementAlignmentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/MultipleStatementAlignmentSniff.php',
'Generic_Sniffs_Formatting_NoSpaceAfterCastSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/NoSpaceAfterCastSniff.php',
'Generic_Sniffs_Formatting_SpaceAfterCastSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/SpaceAfterCastSniff.php',
'Generic_Sniffs_Formatting_SpaceAfterNotSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Formatting/SpaceAfterNotSniff.php',
'Generic_Sniffs_Functions_CallTimePassByReferenceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/CallTimePassByReferenceSniff.php',
'Generic_Sniffs_Functions_FunctionCallArgumentSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/FunctionCallArgumentSpacingSniff.php',
'Generic_Sniffs_Functions_OpeningFunctionBraceBsdAllmanSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/OpeningFunctionBraceBsdAllmanSniff.php',
'Generic_Sniffs_Functions_OpeningFunctionBraceKernighanRitchieSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Functions/OpeningFunctionBraceKernighanRitchieSniff.php',
'Generic_Sniffs_Metrics_CyclomaticComplexitySniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Metrics/CyclomaticComplexitySniff.php',
'Generic_Sniffs_Metrics_NestingLevelSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Metrics/NestingLevelSniff.php',
'Generic_Sniffs_NamingConventions_CamelCapsFunctionNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/NamingConventions/CamelCapsFunctionNameSniff.php',
'Generic_Sniffs_NamingConventions_ConstructorNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/NamingConventions/ConstructorNameSniff.php',
'Generic_Sniffs_NamingConventions_UpperCaseConstantNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/NamingConventions/UpperCaseConstantNameSniff.php',
'Generic_Sniffs_PHP_BacktickOperatorSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/BacktickOperatorSniff.php',
'Generic_Sniffs_PHP_CharacterBeforePHPOpeningTagSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/CharacterBeforePHPOpeningTagSniff.php',
'Generic_Sniffs_PHP_ClosingPHPTagSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/ClosingPHPTagSniff.php',
'Generic_Sniffs_PHP_DeprecatedFunctionsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/DeprecatedFunctionsSniff.php',
'Generic_Sniffs_PHP_DisallowAlternativePHPTagsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/DisallowAlternativePHPTagsSniff.php',
'Generic_Sniffs_PHP_DisallowShortOpenTagSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/DisallowShortOpenTagSniff.php',
'Generic_Sniffs_PHP_ForbiddenFunctionsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/ForbiddenFunctionsSniff.php',
'Generic_Sniffs_PHP_LowerCaseConstantSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/LowerCaseConstantSniff.php',
'Generic_Sniffs_PHP_LowerCaseKeywordSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/LowerCaseKeywordSniff.php',
'Generic_Sniffs_PHP_NoSilencedErrorsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/NoSilencedErrorsSniff.php',
'Generic_Sniffs_PHP_SAPIUsageSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/SAPIUsageSniff.php',
'Generic_Sniffs_PHP_SyntaxSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/SyntaxSniff.php',
'Generic_Sniffs_PHP_UpperCaseConstantSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/PHP/UpperCaseConstantSniff.php',
'Generic_Sniffs_Strings_UnnecessaryStringConcatSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Strings/UnnecessaryStringConcatSniff.php',
'Generic_Sniffs_VersionControl_SubversionPropertiesSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/VersionControl/SubversionPropertiesSniff.php',
'Generic_Sniffs_WhiteSpace_DisallowSpaceIndentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/WhiteSpace/DisallowSpaceIndentSniff.php',
'Generic_Sniffs_WhiteSpace_DisallowTabIndentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/WhiteSpace/DisallowTabIndentSniff.php',
'Generic_Sniffs_WhiteSpace_ScopeIndentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/WhiteSpace/ScopeIndentSniff.php',
'Google_Service_Exception' => __DIR__ . '/..' . '/google/apiclient/src/Google/Service/Exception.php', 'Google_Service_Exception' => __DIR__ . '/..' . '/google/apiclient/src/Google/Service/Exception.php',
'Google_Service_Resource' => __DIR__ . '/..' . '/google/apiclient/src/Google/Service/Resource.php', 'Google_Service_Resource' => __DIR__ . '/..' . '/google/apiclient/src/Google/Service/Resource.php',
'MySource_Sniffs_CSS_BrowserSpecificStylesSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/CSS/BrowserSpecificStylesSniff.php',
'MySource_Sniffs_Channels_DisallowSelfActionsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/DisallowSelfActionsSniff.php',
'MySource_Sniffs_Channels_IncludeOwnSystemSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/IncludeOwnSystemSniff.php',
'MySource_Sniffs_Channels_IncludeSystemSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/IncludeSystemSniff.php',
'MySource_Sniffs_Channels_UnusedSystemSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Channels/UnusedSystemSniff.php',
'MySource_Sniffs_Commenting_FunctionCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Commenting/FunctionCommentSniff.php',
'MySource_Sniffs_Debug_DebugCodeSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Debug/DebugCodeSniff.php',
'MySource_Sniffs_Debug_FirebugConsoleSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Debug/FirebugConsoleSniff.php',
'MySource_Sniffs_Objects_AssignThisSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Objects/AssignThisSniff.php',
'MySource_Sniffs_Objects_CreateWidgetTypeCallbackSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Objects/CreateWidgetTypeCallbackSniff.php',
'MySource_Sniffs_Objects_DisallowNewWidgetSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Objects/DisallowNewWidgetSniff.php',
'MySource_Sniffs_PHP_AjaxNullComparisonSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/AjaxNullComparisonSniff.php',
'MySource_Sniffs_PHP_EvalObjectFactorySniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/EvalObjectFactorySniff.php',
'MySource_Sniffs_PHP_GetRequestDataSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/GetRequestDataSniff.php',
'MySource_Sniffs_PHP_ReturnFunctionValueSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/PHP/ReturnFunctionValueSniff.php',
'MySource_Sniffs_Strings_JoinStringsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/MySource/Sniffs/Strings/JoinStringsSniff.php',
'Normalizer' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
'PEAR_Exception' => __DIR__ . '/..' . '/pear/pear_exception/PEAR/Exception.php',
'PEAR_Sniffs_Classes_ClassDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Classes/ClassDeclarationSniff.php',
'PEAR_Sniffs_Commenting_ClassCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/ClassCommentSniff.php',
'PEAR_Sniffs_Commenting_FileCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/FileCommentSniff.php',
'PEAR_Sniffs_Commenting_FunctionCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/FunctionCommentSniff.php',
'PEAR_Sniffs_Commenting_InlineCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Commenting/InlineCommentSniff.php',
'PEAR_Sniffs_ControlStructures_ControlSignatureSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/ControlStructures/ControlSignatureSniff.php',
'PEAR_Sniffs_ControlStructures_MultiLineConditionSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/ControlStructures/MultiLineConditionSniff.php',
'PEAR_Sniffs_Files_IncludingFileSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Files/IncludingFileSniff.php',
'PEAR_Sniffs_Formatting_MultiLineAssignmentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Formatting/MultiLineAssignmentSniff.php',
'PEAR_Sniffs_Functions_FunctionCallSignatureSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Functions/FunctionCallSignatureSniff.php',
'PEAR_Sniffs_Functions_FunctionDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Functions/FunctionDeclarationSniff.php',
'PEAR_Sniffs_Functions_ValidDefaultValueSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/Functions/ValidDefaultValueSniff.php',
'PEAR_Sniffs_NamingConventions_ValidClassNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/NamingConventions/ValidClassNameSniff.php',
'PEAR_Sniffs_NamingConventions_ValidFunctionNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/NamingConventions/ValidFunctionNameSniff.php',
'PEAR_Sniffs_NamingConventions_ValidVariableNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/NamingConventions/ValidVariableNameSniff.php',
'PEAR_Sniffs_WhiteSpace_ObjectOperatorIndentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/WhiteSpace/ObjectOperatorIndentSniff.php',
'PEAR_Sniffs_WhiteSpace_ScopeClosingBraceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/WhiteSpace/ScopeClosingBraceSniff.php',
'PEAR_Sniffs_WhiteSpace_ScopeIndentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PEAR/Sniffs/WhiteSpace/ScopeIndentSniff.php',
'PHPUnit\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Exception.php', 'PHPUnit\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Exception.php',
'PHPUnit\\Framework\\Assert' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Assert.php', 'PHPUnit\\Framework\\Assert' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Assert.php',
'PHPUnit\\Framework\\AssertionFailedError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/AssertionFailedError.php', 'PHPUnit\\Framework\\AssertionFailedError' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/AssertionFailedError.php',
@@ -522,6 +691,44 @@ class ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9
'PHPUnit\\Util\\Xml' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml.php', 'PHPUnit\\Util\\Xml' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Xml.php',
'PHPUnit\\Util\\XmlTestListRenderer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/XmlTestListRenderer.php', 'PHPUnit\\Util\\XmlTestListRenderer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/XmlTestListRenderer.php',
'PHPUnit_Framework_MockObject_MockObject' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/MockObject.php', 'PHPUnit_Framework_MockObject_MockObject' => __DIR__ . '/..' . '/phpunit/phpunit-mock-objects/src/MockObject.php',
'PHP_CodeSniffer' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer.php',
'PHP_CodeSniffer_CLI' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/CLI.php',
'PHP_CodeSniffer_DocGenerators_Generator' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/Generator.php',
'PHP_CodeSniffer_DocGenerators_HTML' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/HTML.php',
'PHP_CodeSniffer_DocGenerators_Markdown' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/Markdown.php',
'PHP_CodeSniffer_DocGenerators_Text' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/DocGenerators/Text.php',
'PHP_CodeSniffer_Exception' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Exception.php',
'PHP_CodeSniffer_File' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/File.php',
'PHP_CodeSniffer_Fixer' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Fixer.php',
'PHP_CodeSniffer_Report' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Report.php',
'PHP_CodeSniffer_Reporting' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reporting.php',
'PHP_CodeSniffer_Reports_Cbf' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Cbf.php',
'PHP_CodeSniffer_Reports_Checkstyle' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Checkstyle.php',
'PHP_CodeSniffer_Reports_Csv' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Csv.php',
'PHP_CodeSniffer_Reports_Diff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Diff.php',
'PHP_CodeSniffer_Reports_Emacs' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Emacs.php',
'PHP_CodeSniffer_Reports_Full' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Full.php',
'PHP_CodeSniffer_Reports_Gitblame' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Gitblame.php',
'PHP_CodeSniffer_Reports_Hgblame' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Hgblame.php',
'PHP_CodeSniffer_Reports_Info' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Info.php',
'PHP_CodeSniffer_Reports_Json' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Json.php',
'PHP_CodeSniffer_Reports_Junit' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Junit.php',
'PHP_CodeSniffer_Reports_Notifysend' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Notifysend.php',
'PHP_CodeSniffer_Reports_Source' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Source.php',
'PHP_CodeSniffer_Reports_Summary' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Summary.php',
'PHP_CodeSniffer_Reports_Svnblame' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Svnblame.php',
'PHP_CodeSniffer_Reports_VersionControl' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/VersionControl.php',
'PHP_CodeSniffer_Reports_Xml' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Reports/Xml.php',
'PHP_CodeSniffer_Sniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Sniff.php',
'PHP_CodeSniffer_Standards_AbstractPatternSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractPatternSniff.php',
'PHP_CodeSniffer_Standards_AbstractScopeSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractScopeSniff.php',
'PHP_CodeSniffer_Standards_AbstractVariableSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/AbstractVariableSniff.php',
'PHP_CodeSniffer_Standards_IncorrectPatternException' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/IncorrectPatternException.php',
'PHP_CodeSniffer_Tokenizers_CSS' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/CSS.php',
'PHP_CodeSniffer_Tokenizers_Comment' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/Comment.php',
'PHP_CodeSniffer_Tokenizers_JS' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/JS.php',
'PHP_CodeSniffer_Tokenizers_PHP' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Tokenizers/PHP.php',
'PHP_CodeSniffer_Tokens' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Tokens.php',
'PHP_Timer' => __DIR__ . '/..' . '/phpunit/php-timer/src/Timer.php', 'PHP_Timer' => __DIR__ . '/..' . '/phpunit/php-timer/src/Timer.php',
'PHP_Token' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', 'PHP_Token' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
'PHP_TokenWithScope' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', 'PHP_TokenWithScope' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
@@ -722,6 +929,22 @@ class ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9
'PHP_Token_XOR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', 'PHP_Token_XOR_EQUAL' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
'PHP_Token_YIELD' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', 'PHP_Token_YIELD' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
'PHP_Token_YIELD_FROM' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php', 'PHP_Token_YIELD_FROM' => __DIR__ . '/..' . '/phpunit/php-token-stream/src/Token.php',
'PSR1_Sniffs_Classes_ClassDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Sniffs/Classes/ClassDeclarationSniff.php',
'PSR1_Sniffs_Files_SideEffectsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Sniffs/Files/SideEffectsSniff.php',
'PSR1_Sniffs_Methods_CamelCapsMethodNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR1/Sniffs/Methods/CamelCapsMethodNameSniff.php',
'PSR2_Sniffs_Classes_ClassDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Classes/ClassDeclarationSniff.php',
'PSR2_Sniffs_Classes_PropertyDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Classes/PropertyDeclarationSniff.php',
'PSR2_Sniffs_ControlStructures_ControlStructureSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/ControlStructures/ControlStructureSpacingSniff.php',
'PSR2_Sniffs_ControlStructures_ElseIfDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/ControlStructures/ElseIfDeclarationSniff.php',
'PSR2_Sniffs_ControlStructures_SwitchDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/ControlStructures/SwitchDeclarationSniff.php',
'PSR2_Sniffs_Files_ClosingTagSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Files/ClosingTagSniff.php',
'PSR2_Sniffs_Files_EndFileNewlineSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Files/EndFileNewlineSniff.php',
'PSR2_Sniffs_Methods_FunctionCallSignatureSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Methods/FunctionCallSignatureSniff.php',
'PSR2_Sniffs_Methods_FunctionClosingBraceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Methods/FunctionClosingBraceSniff.php',
'PSR2_Sniffs_Methods_MethodDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Methods/MethodDeclarationSniff.php',
'PSR2_Sniffs_Namespaces_NamespaceDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Namespaces/NamespaceDeclarationSniff.php',
'PSR2_Sniffs_Namespaces_UseDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/PSR2/Sniffs/Namespaces/UseDeclarationSniff.php',
'ParseError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/ParseError.php',
'PharIo\\Manifest\\Application' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Application.php', 'PharIo\\Manifest\\Application' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Application.php',
'PharIo\\Manifest\\ApplicationName' => __DIR__ . '/..' . '/phar-io/manifest/src/values/ApplicationName.php', 'PharIo\\Manifest\\ApplicationName' => __DIR__ . '/..' . '/phar-io/manifest/src/values/ApplicationName.php',
'PharIo\\Manifest\\Author' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Author.php', 'PharIo\\Manifest\\Author' => __DIR__ . '/..' . '/phar-io/manifest/src/values/Author.php',
@@ -863,6 +1086,8 @@ class ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9
'SebastianBergmann\\Environment\\OperatingSystem' => __DIR__ . '/..' . '/sebastian/environment/src/OperatingSystem.php', 'SebastianBergmann\\Environment\\OperatingSystem' => __DIR__ . '/..' . '/sebastian/environment/src/OperatingSystem.php',
'SebastianBergmann\\Environment\\Runtime' => __DIR__ . '/..' . '/sebastian/environment/src/Runtime.php', 'SebastianBergmann\\Environment\\Runtime' => __DIR__ . '/..' . '/sebastian/environment/src/Runtime.php',
'SebastianBergmann\\Exporter\\Exporter' => __DIR__ . '/..' . '/sebastian/exporter/src/Exporter.php', 'SebastianBergmann\\Exporter\\Exporter' => __DIR__ . '/..' . '/sebastian/exporter/src/Exporter.php',
'SebastianBergmann\\FinderFacade\\Configuration' => __DIR__ . '/..' . '/sebastian/finder-facade/src/Configuration.php',
'SebastianBergmann\\FinderFacade\\FinderFacade' => __DIR__ . '/..' . '/sebastian/finder-facade/src/FinderFacade.php',
'SebastianBergmann\\GlobalState\\Blacklist' => __DIR__ . '/..' . '/sebastian/global-state/src/Blacklist.php', 'SebastianBergmann\\GlobalState\\Blacklist' => __DIR__ . '/..' . '/sebastian/global-state/src/Blacklist.php',
'SebastianBergmann\\GlobalState\\CodeExporter' => __DIR__ . '/..' . '/sebastian/global-state/src/CodeExporter.php', 'SebastianBergmann\\GlobalState\\CodeExporter' => __DIR__ . '/..' . '/sebastian/global-state/src/CodeExporter.php',
'SebastianBergmann\\GlobalState\\Exception' => __DIR__ . '/..' . '/sebastian/global-state/src/exceptions/Exception.php', 'SebastianBergmann\\GlobalState\\Exception' => __DIR__ . '/..' . '/sebastian/global-state/src/exceptions/Exception.php',
@@ -875,11 +1100,131 @@ class ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9
'SebastianBergmann\\ObjectReflector\\Exception' => __DIR__ . '/..' . '/sebastian/object-reflector/src/Exception.php', 'SebastianBergmann\\ObjectReflector\\Exception' => __DIR__ . '/..' . '/sebastian/object-reflector/src/Exception.php',
'SebastianBergmann\\ObjectReflector\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/object-reflector/src/InvalidArgumentException.php', 'SebastianBergmann\\ObjectReflector\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/object-reflector/src/InvalidArgumentException.php',
'SebastianBergmann\\ObjectReflector\\ObjectReflector' => __DIR__ . '/..' . '/sebastian/object-reflector/src/ObjectReflector.php', 'SebastianBergmann\\ObjectReflector\\ObjectReflector' => __DIR__ . '/..' . '/sebastian/object-reflector/src/ObjectReflector.php',
'SebastianBergmann\\PHPCPD\\CodeClone' => __DIR__ . '/..' . '/sebastian/phpcpd/src/CodeClone.php',
'SebastianBergmann\\PHPCPD\\CodeCloneMap' => __DIR__ . '/..' . '/sebastian/phpcpd/src/CodeCloneMap.php',
'SebastianBergmann\\PHPCPD\\Detector\\Detector' => __DIR__ . '/..' . '/sebastian/phpcpd/src/Detector/Detector.php',
'SebastianBergmann\\PHPCPD\\Detector\\Strategy\\AbstractStrategy' => __DIR__ . '/..' . '/sebastian/phpcpd/src/Detector/Strategy/Abstract.php',
'SebastianBergmann\\PHPCPD\\Detector\\Strategy\\DefaultStrategy' => __DIR__ . '/..' . '/sebastian/phpcpd/src/Detector/Strategy/Default.php',
'SebastianBergmann\\PHPCPD\\Log\\AbstractXmlLogger' => __DIR__ . '/..' . '/sebastian/phpcpd/src/Log/AbstractXmlLogger.php',
'SebastianBergmann\\PHPCPD\\Log\\PMD' => __DIR__ . '/..' . '/sebastian/phpcpd/src/Log/PMD.php',
'SebastianBergmann\\PHPCPD\\TextUI\\Command' => __DIR__ . '/..' . '/sebastian/phpcpd/src/TextUI/Command.php',
'SebastianBergmann\\PHPCPD\\TextUI\\ResultPrinter' => __DIR__ . '/..' . '/sebastian/phpcpd/src/TextUI/ResultPrinter.php',
'SebastianBergmann\\PHPLOC\\Analyser' => __DIR__ . '/..' . '/phploc/phploc/src/Analyser.php',
'SebastianBergmann\\PHPLOC\\CLI\\Application' => __DIR__ . '/..' . '/phploc/phploc/src/CLI/Application.php',
'SebastianBergmann\\PHPLOC\\CLI\\Command' => __DIR__ . '/..' . '/phploc/phploc/src/CLI/Command.php',
'SebastianBergmann\\PHPLOC\\Collector' => __DIR__ . '/..' . '/phploc/phploc/src/Collector.php',
'SebastianBergmann\\PHPLOC\\Exception' => __DIR__ . '/..' . '/phploc/phploc/src/Exception/Exception.php',
'SebastianBergmann\\PHPLOC\\Log\\Csv' => __DIR__ . '/..' . '/phploc/phploc/src/Log/Csv.php',
'SebastianBergmann\\PHPLOC\\Log\\Text' => __DIR__ . '/..' . '/phploc/phploc/src/Log/Text.php',
'SebastianBergmann\\PHPLOC\\Log\\Xml' => __DIR__ . '/..' . '/phploc/phploc/src/Log/Xml.php',
'SebastianBergmann\\PHPLOC\\Publisher' => __DIR__ . '/..' . '/phploc/phploc/src/Publisher.php',
'SebastianBergmann\\PHPLOC\\RuntimeException' => __DIR__ . '/..' . '/phploc/phploc/src/Exception/RuntimeException.php',
'SebastianBergmann\\RecursionContext\\Context' => __DIR__ . '/..' . '/sebastian/recursion-context/src/Context.php', 'SebastianBergmann\\RecursionContext\\Context' => __DIR__ . '/..' . '/sebastian/recursion-context/src/Context.php',
'SebastianBergmann\\RecursionContext\\Exception' => __DIR__ . '/..' . '/sebastian/recursion-context/src/Exception.php', 'SebastianBergmann\\RecursionContext\\Exception' => __DIR__ . '/..' . '/sebastian/recursion-context/src/Exception.php',
'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/recursion-context/src/InvalidArgumentException.php', 'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/recursion-context/src/InvalidArgumentException.php',
'SebastianBergmann\\ResourceOperations\\ResourceOperations' => __DIR__ . '/..' . '/sebastian/resource-operations/src/ResourceOperations.php', 'SebastianBergmann\\ResourceOperations\\ResourceOperations' => __DIR__ . '/..' . '/sebastian/resource-operations/src/ResourceOperations.php',
'SebastianBergmann\\Version' => __DIR__ . '/..' . '/sebastian/version/src/Version.php', 'SebastianBergmann\\Version' => __DIR__ . '/..' . '/sebastian/version/src/Version.php',
'SessionUpdateTimestampHandlerInterface' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/SessionUpdateTimestampHandlerInterface.php',
'Squiz_Sniffs_Arrays_ArrayBracketSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Arrays/ArrayBracketSpacingSniff.php',
'Squiz_Sniffs_Arrays_ArrayDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Arrays/ArrayDeclarationSniff.php',
'Squiz_Sniffs_CSS_ClassDefinitionClosingBraceSpaceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ClassDefinitionClosingBraceSpaceSniff.php',
'Squiz_Sniffs_CSS_ClassDefinitionNameSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ClassDefinitionNameSpacingSniff.php',
'Squiz_Sniffs_CSS_ClassDefinitionOpeningBraceSpaceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ClassDefinitionOpeningBraceSpaceSniff.php',
'Squiz_Sniffs_CSS_ColonSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ColonSpacingSniff.php',
'Squiz_Sniffs_CSS_ColourDefinitionSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ColourDefinitionSniff.php',
'Squiz_Sniffs_CSS_DisallowMultipleStyleDefinitionsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/DisallowMultipleStyleDefinitionsSniff.php',
'Squiz_Sniffs_CSS_DuplicateClassDefinitionSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/DuplicateClassDefinitionSniff.php',
'Squiz_Sniffs_CSS_DuplicateStyleDefinitionSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/DuplicateStyleDefinitionSniff.php',
'Squiz_Sniffs_CSS_EmptyClassDefinitionSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/EmptyClassDefinitionSniff.php',
'Squiz_Sniffs_CSS_EmptyStyleDefinitionSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/EmptyStyleDefinitionSniff.php',
'Squiz_Sniffs_CSS_ForbiddenStylesSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ForbiddenStylesSniff.php',
'Squiz_Sniffs_CSS_IndentationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/IndentationSniff.php',
'Squiz_Sniffs_CSS_LowercaseStyleDefinitionSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/LowercaseStyleDefinitionSniff.php',
'Squiz_Sniffs_CSS_MissingColonSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/MissingColonSniff.php',
'Squiz_Sniffs_CSS_NamedColoursSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/NamedColoursSniff.php',
'Squiz_Sniffs_CSS_OpacitySniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/OpacitySniff.php',
'Squiz_Sniffs_CSS_SemicolonSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/SemicolonSpacingSniff.php',
'Squiz_Sniffs_CSS_ShorthandSizeSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/CSS/ShorthandSizeSniff.php',
'Squiz_Sniffs_Classes_ClassDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/ClassDeclarationSniff.php',
'Squiz_Sniffs_Classes_ClassFileNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/ClassFileNameSniff.php',
'Squiz_Sniffs_Classes_DuplicatePropertySniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/DuplicatePropertySniff.php',
'Squiz_Sniffs_Classes_LowercaseClassKeywordsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/LowercaseClassKeywordsSniff.php',
'Squiz_Sniffs_Classes_SelfMemberReferenceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/SelfMemberReferenceSniff.php',
'Squiz_Sniffs_Classes_ValidClassNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Classes/ValidClassNameSniff.php',
'Squiz_Sniffs_Commenting_BlockCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/BlockCommentSniff.php',
'Squiz_Sniffs_Commenting_ClassCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/ClassCommentSniff.php',
'Squiz_Sniffs_Commenting_ClosingDeclarationCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/ClosingDeclarationCommentSniff.php',
'Squiz_Sniffs_Commenting_DocCommentAlignmentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/DocCommentAlignmentSniff.php',
'Squiz_Sniffs_Commenting_EmptyCatchCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/EmptyCatchCommentSniff.php',
'Squiz_Sniffs_Commenting_FileCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/FileCommentSniff.php',
'Squiz_Sniffs_Commenting_FunctionCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/FunctionCommentSniff.php',
'Squiz_Sniffs_Commenting_FunctionCommentThrowTagSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/FunctionCommentThrowTagSniff.php',
'Squiz_Sniffs_Commenting_InlineCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/InlineCommentSniff.php',
'Squiz_Sniffs_Commenting_LongConditionClosingCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/LongConditionClosingCommentSniff.php',
'Squiz_Sniffs_Commenting_PostStatementCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/PostStatementCommentSniff.php',
'Squiz_Sniffs_Commenting_VariableCommentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Commenting/VariableCommentSniff.php',
'Squiz_Sniffs_ControlStructures_ControlSignatureSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ControlSignatureSniff.php',
'Squiz_Sniffs_ControlStructures_ElseIfDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ElseIfDeclarationSniff.php',
'Squiz_Sniffs_ControlStructures_ForEachLoopDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ForEachLoopDeclarationSniff.php',
'Squiz_Sniffs_ControlStructures_ForLoopDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/ForLoopDeclarationSniff.php',
'Squiz_Sniffs_ControlStructures_InlineIfDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/InlineIfDeclarationSniff.php',
'Squiz_Sniffs_ControlStructures_LowercaseDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/LowercaseDeclarationSniff.php',
'Squiz_Sniffs_ControlStructures_SwitchDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/ControlStructures/SwitchDeclarationSniff.php',
'Squiz_Sniffs_Debug_JSLintSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Debug/JSLintSniff.php',
'Squiz_Sniffs_Debug_JavaScriptLintSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Debug/JavaScriptLintSniff.php',
'Squiz_Sniffs_Files_FileExtensionSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Files/FileExtensionSniff.php',
'Squiz_Sniffs_Formatting_OperatorBracketSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Formatting/OperatorBracketSniff.php',
'Squiz_Sniffs_Functions_FunctionDeclarationArgumentSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/FunctionDeclarationArgumentSpacingSniff.php',
'Squiz_Sniffs_Functions_FunctionDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/FunctionDeclarationSniff.php',
'Squiz_Sniffs_Functions_FunctionDuplicateArgumentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/FunctionDuplicateArgumentSniff.php',
'Squiz_Sniffs_Functions_GlobalFunctionSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/GlobalFunctionSniff.php',
'Squiz_Sniffs_Functions_LowercaseFunctionKeywordsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/LowercaseFunctionKeywordsSniff.php',
'Squiz_Sniffs_Functions_MultiLineFunctionDeclarationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Functions/MultiLineFunctionDeclarationSniff.php',
'Squiz_Sniffs_NamingConventions_ValidFunctionNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/NamingConventions/ValidFunctionNameSniff.php',
'Squiz_Sniffs_NamingConventions_ValidVariableNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/NamingConventions/ValidVariableNameSniff.php',
'Squiz_Sniffs_Objects_DisallowObjectStringIndexSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Objects/DisallowObjectStringIndexSniff.php',
'Squiz_Sniffs_Objects_ObjectInstantiationSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Objects/ObjectInstantiationSniff.php',
'Squiz_Sniffs_Objects_ObjectMemberCommaSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Objects/ObjectMemberCommaSniff.php',
'Squiz_Sniffs_Operators_ComparisonOperatorUsageSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Operators/ComparisonOperatorUsageSniff.php',
'Squiz_Sniffs_Operators_IncrementDecrementUsageSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Operators/IncrementDecrementUsageSniff.php',
'Squiz_Sniffs_Operators_ValidLogicalOperatorsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Operators/ValidLogicalOperatorsSniff.php',
'Squiz_Sniffs_PHP_CommentedOutCodeSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/CommentedOutCodeSniff.php',
'Squiz_Sniffs_PHP_DisallowBooleanStatementSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowBooleanStatementSniff.php',
'Squiz_Sniffs_PHP_DisallowComparisonAssignmentSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowComparisonAssignmentSniff.php',
'Squiz_Sniffs_PHP_DisallowInlineIfSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowInlineIfSniff.php',
'Squiz_Sniffs_PHP_DisallowMultipleAssignmentsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowMultipleAssignmentsSniff.php',
'Squiz_Sniffs_PHP_DisallowObEndFlushSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowObEndFlushSniff.php',
'Squiz_Sniffs_PHP_DisallowSizeFunctionsInLoopsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DisallowSizeFunctionsInLoopsSniff.php',
'Squiz_Sniffs_PHP_DiscouragedFunctionsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/DiscouragedFunctionsSniff.php',
'Squiz_Sniffs_PHP_EmbeddedPhpSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/EmbeddedPhpSniff.php',
'Squiz_Sniffs_PHP_EvalSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/EvalSniff.php',
'Squiz_Sniffs_PHP_ForbiddenFunctionsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/ForbiddenFunctionsSniff.php',
'Squiz_Sniffs_PHP_GlobalKeywordSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/GlobalKeywordSniff.php',
'Squiz_Sniffs_PHP_HeredocSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/HeredocSniff.php',
'Squiz_Sniffs_PHP_InnerFunctionsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/InnerFunctionsSniff.php',
'Squiz_Sniffs_PHP_LowercasePHPFunctionsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/LowercasePHPFunctionsSniff.php',
'Squiz_Sniffs_PHP_NonExecutableCodeSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/PHP/NonExecutableCodeSniff.php',
'Squiz_Sniffs_Scope_MemberVarScopeSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Scope/MemberVarScopeSniff.php',
'Squiz_Sniffs_Scope_MethodScopeSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Scope/MethodScopeSniff.php',
'Squiz_Sniffs_Scope_StaticThisUsageSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Scope/StaticThisUsageSniff.php',
'Squiz_Sniffs_Strings_ConcatenationSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Strings/ConcatenationSpacingSniff.php',
'Squiz_Sniffs_Strings_DoubleQuoteUsageSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Strings/DoubleQuoteUsageSniff.php',
'Squiz_Sniffs_Strings_EchoedStringsSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/Strings/EchoedStringsSniff.php',
'Squiz_Sniffs_WhiteSpace_CastSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/CastSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_ControlStructureSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ControlStructureSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_FunctionClosingBraceSpaceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/FunctionClosingBraceSpaceSniff.php',
'Squiz_Sniffs_WhiteSpace_FunctionOpeningBraceSpaceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/FunctionOpeningBraceSpaceSniff.php',
'Squiz_Sniffs_WhiteSpace_FunctionSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/FunctionSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_LanguageConstructSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/LanguageConstructSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_LogicalOperatorSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/LogicalOperatorSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_MemberVarSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/MemberVarSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_ObjectOperatorSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ObjectOperatorSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_OperatorSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/OperatorSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_PropertyLabelSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/PropertyLabelSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_ScopeClosingBraceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ScopeClosingBraceSniff.php',
'Squiz_Sniffs_WhiteSpace_ScopeKeywordSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/ScopeKeywordSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_SemicolonSpacingSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/SemicolonSpacingSniff.php',
'Squiz_Sniffs_WhiteSpace_SuperfluousWhitespaceSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Squiz/Sniffs/WhiteSpace/SuperfluousWhitespaceSniff.php',
'Text_Template' => __DIR__ . '/..' . '/phpunit/php-text-template/src/Template.php', 'Text_Template' => __DIR__ . '/..' . '/phpunit/php-text-template/src/Template.php',
'TheSeer\\Tokenizer\\Exception' => __DIR__ . '/..' . '/theseer/tokenizer/src/Exception.php', 'TheSeer\\Tokenizer\\Exception' => __DIR__ . '/..' . '/theseer/tokenizer/src/Exception.php',
'TheSeer\\Tokenizer\\NamespaceUri' => __DIR__ . '/..' . '/theseer/tokenizer/src/NamespaceUri.php', 'TheSeer\\Tokenizer\\NamespaceUri' => __DIR__ . '/..' . '/theseer/tokenizer/src/NamespaceUri.php',
@@ -889,17 +1234,130 @@ class ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9
'TheSeer\\Tokenizer\\TokenCollectionException' => __DIR__ . '/..' . '/theseer/tokenizer/src/TokenCollectionException.php', 'TheSeer\\Tokenizer\\TokenCollectionException' => __DIR__ . '/..' . '/theseer/tokenizer/src/TokenCollectionException.php',
'TheSeer\\Tokenizer\\Tokenizer' => __DIR__ . '/..' . '/theseer/tokenizer/src/Tokenizer.php', 'TheSeer\\Tokenizer\\Tokenizer' => __DIR__ . '/..' . '/theseer/tokenizer/src/Tokenizer.php',
'TheSeer\\Tokenizer\\XMLSerializer' => __DIR__ . '/..' . '/theseer/tokenizer/src/XMLSerializer.php', 'TheSeer\\Tokenizer\\XMLSerializer' => __DIR__ . '/..' . '/theseer/tokenizer/src/XMLSerializer.php',
'TheSeer\\fDOM\\CSS\\DollarEqualRule' => __DIR__ . '/..' . '/theseer/fdomdocument/src/css/DollarEqualRule.php',
'TheSeer\\fDOM\\CSS\\NotRule' => __DIR__ . '/..' . '/theseer/fdomdocument/src/css/NotRule.php',
'TheSeer\\fDOM\\CSS\\NthChildRule' => __DIR__ . '/..' . '/theseer/fdomdocument/src/css/NthChildRule.php',
'TheSeer\\fDOM\\CSS\\RegexRule' => __DIR__ . '/..' . '/theseer/fdomdocument/src/css/RegexRule.php',
'TheSeer\\fDOM\\CSS\\RuleInterface' => __DIR__ . '/..' . '/theseer/fdomdocument/src/css/RuleInterface.php',
'TheSeer\\fDOM\\CSS\\Translator' => __DIR__ . '/..' . '/theseer/fdomdocument/src/css/Translator.php',
'TheSeer\\fDOM\\XPathQuery' => __DIR__ . '/..' . '/theseer/fdomdocument/src/XPathQuery.php',
'TheSeer\\fDOM\\XPathQueryException' => __DIR__ . '/..' . '/theseer/fdomdocument/src/XPathQueryException.php',
'TheSeer\\fDOM\\fDOMDocument' => __DIR__ . '/..' . '/theseer/fdomdocument/src/fDOMDocument.php',
'TheSeer\\fDOM\\fDOMDocumentFragment' => __DIR__ . '/..' . '/theseer/fdomdocument/src/fDOMDocumentFragment.php',
'TheSeer\\fDOM\\fDOMElement' => __DIR__ . '/..' . '/theseer/fdomdocument/src/fDOMElement.php',
'TheSeer\\fDOM\\fDOMException' => __DIR__ . '/..' . '/theseer/fdomdocument/src/fDOMException.php',
'TheSeer\\fDOM\\fDOMNode' => __DIR__ . '/..' . '/theseer/fdomdocument/src/fDOMNode.php',
'TheSeer\\fDOM\\fDOMXPath' => __DIR__ . '/..' . '/theseer/fdomdocument/src/fDOMXPath.php',
'TypeError' => __DIR__ . '/..' . '/symfony/polyfill-php70/Resources/stubs/TypeError.php',
'Zend_Sniffs_Debug_CodeAnalyzerSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Sniffs/Debug/CodeAnalyzerSniff.php',
'Zend_Sniffs_Files_ClosingTagSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Sniffs/Files/ClosingTagSniff.php',
'Zend_Sniffs_NamingConventions_ValidVariableNameSniff' => __DIR__ . '/..' . '/squizlabs/php_codesniffer/CodeSniffer/Standards/Zend/Sniffs/NamingConventions/ValidVariableNameSniff.php',
'ezcBase' => __DIR__ . '/..' . '/zetacomponents/base/src/base.php',
'ezcBaseAutoloadException' => __DIR__ . '/..' . '/zetacomponents/base/src/exceptions/autoload.php',
'ezcBaseAutoloadOptions' => __DIR__ . '/..' . '/zetacomponents/base/src/options/autoload.php',
'ezcBaseConfigurationInitializer' => __DIR__ . '/..' . '/zetacomponents/base/src/interfaces/configuration_initializer.php',
'ezcBaseDoubleClassRepositoryPrefixException' => __DIR__ . '/..' . '/zetacomponents/base/src/exceptions/double_class_repository_prefix.php',
'ezcBaseException' => __DIR__ . '/..' . '/zetacomponents/base/src/exceptions/exception.php',
'ezcBaseExportable' => __DIR__ . '/..' . '/zetacomponents/base/src/interfaces/exportable.php',
'ezcBaseExtensionNotFoundException' => __DIR__ . '/..' . '/zetacomponents/base/src/exceptions/extension_not_found.php',
'ezcBaseFeatures' => __DIR__ . '/..' . '/zetacomponents/base/src/features.php',
'ezcBaseFile' => __DIR__ . '/..' . '/zetacomponents/base/src/file.php',
'ezcBaseFileException' => __DIR__ . '/..' . '/zetacomponents/base/src/exceptions/file_exception.php',
'ezcBaseFileFindContext' => __DIR__ . '/..' . '/zetacomponents/base/src/structs/file_find_context.php',
'ezcBaseFileIoException' => __DIR__ . '/..' . '/zetacomponents/base/src/exceptions/file_io.php',
'ezcBaseFileNotFoundException' => __DIR__ . '/..' . '/zetacomponents/base/src/exceptions/file_not_found.php',
'ezcBaseFilePermissionException' => __DIR__ . '/..' . '/zetacomponents/base/src/exceptions/file_permission.php',
'ezcBaseFunctionalityNotSupportedException' => __DIR__ . '/..' . '/zetacomponents/base/src/exceptions/functionality_not_supported.php',
'ezcBaseInit' => __DIR__ . '/..' . '/zetacomponents/base/src/init.php',
'ezcBaseInitCallbackConfiguredException' => __DIR__ . '/..' . '/zetacomponents/base/src/exceptions/init_callback_configured.php',
'ezcBaseInitInvalidCallbackClassException' => __DIR__ . '/..' . '/zetacomponents/base/src/exceptions/invalid_callback_class.php',
'ezcBaseInvalidParentClassException' => __DIR__ . '/..' . '/zetacomponents/base/src/exceptions/invalid_parent_class.php',
'ezcBaseMetaData' => __DIR__ . '/..' . '/zetacomponents/base/src/metadata.php',
'ezcBaseMetaDataPearReader' => __DIR__ . '/..' . '/zetacomponents/base/src/metadata/pear.php',
'ezcBaseMetaDataTarballReader' => __DIR__ . '/..' . '/zetacomponents/base/src/metadata/tarball.php',
'ezcBaseOptions' => __DIR__ . '/..' . '/zetacomponents/base/src/options.php',
'ezcBasePersistable' => __DIR__ . '/..' . '/zetacomponents/base/src/interfaces/persistable.php',
'ezcBasePropertyNotFoundException' => __DIR__ . '/..' . '/zetacomponents/base/src/exceptions/property_not_found.php',
'ezcBasePropertyPermissionException' => __DIR__ . '/..' . '/zetacomponents/base/src/exceptions/property_permission.php',
'ezcBaseRepositoryDirectory' => __DIR__ . '/..' . '/zetacomponents/base/src/structs/repository_directory.php',
'ezcBaseSettingNotFoundException' => __DIR__ . '/..' . '/zetacomponents/base/src/exceptions/setting_not_found.php',
'ezcBaseSettingValueException' => __DIR__ . '/..' . '/zetacomponents/base/src/exceptions/setting_value.php',
'ezcBaseStruct' => __DIR__ . '/..' . '/zetacomponents/base/src/struct.php',
'ezcBaseValueException' => __DIR__ . '/..' . '/zetacomponents/base/src/exceptions/value.php',
'ezcBaseWhateverException' => __DIR__ . '/..' . '/zetacomponents/base/src/exceptions/whatever.php',
'ezcConsoleArgument' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/input/argument.php',
'ezcConsoleArgumentAlreadyRegisteredException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/argument_already_registered.php',
'ezcConsoleArgumentException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/argument.php',
'ezcConsoleArgumentMandatoryViolationException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/argument_mandatory_violation.php',
'ezcConsoleArgumentTypeViolationException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/argument_type_violation.php',
'ezcConsoleArguments' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/input/arguments.php',
'ezcConsoleDialog' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/interfaces/dialog.php',
'ezcConsoleDialogAbortException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/dialog_abort.php',
'ezcConsoleDialogOptions' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/options/dialog.php',
'ezcConsoleDialogValidator' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/interfaces/dialog_validator.php',
'ezcConsoleDialogViewer' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/dialog_viewer.php',
'ezcConsoleException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/exception.php',
'ezcConsoleInput' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/input.php',
'ezcConsoleInputHelpGenerator' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/interfaces/input_help_generator.php',
'ezcConsoleInputStandardHelpGenerator' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/input/help_generators/standard.php',
'ezcConsoleInputValidator' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/interfaces/input_validator.php',
'ezcConsoleInvalidOptionNameException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/invalid_option_name.php',
'ezcConsoleInvalidOutputTargetException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/invalid_output_target.php',
'ezcConsoleMenuDialog' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/dialog/menu_dialog.php',
'ezcConsoleMenuDialogDefaultValidator' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/dialog/validators/menu_dialog_default.php',
'ezcConsoleMenuDialogOptions' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/options/menu_dialog.php',
'ezcConsoleMenuDialogValidator' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/interfaces/menu_dialog_validator.php',
'ezcConsoleNoPositionStoredException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/no_position_stored.php',
'ezcConsoleNoValidDialogResultException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/no_valid_dialog_result.php',
'ezcConsoleOption' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/input/option.php',
'ezcConsoleOptionAlreadyRegisteredException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/option_already_registered.php',
'ezcConsoleOptionArgumentsViolationException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/option_arguments_violation.php',
'ezcConsoleOptionDependencyViolationException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/option_dependency_violation.php',
'ezcConsoleOptionException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/option.php',
'ezcConsoleOptionExclusionViolationException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/option_exclusion_violation.php',
'ezcConsoleOptionMandatoryViolationException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/option_mandatory_violation.php',
'ezcConsoleOptionMissingValueException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/option_missing_value.php',
'ezcConsoleOptionNoAliasException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/option_no_alias.php',
'ezcConsoleOptionNotExistsException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/option_not_exists.php',
'ezcConsoleOptionRule' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/structs/option_rule.php',
'ezcConsoleOptionStringNotWellformedException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/option_string_not_wellformed.php',
'ezcConsoleOptionTooManyValuesException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/option_too_many_values.php',
'ezcConsoleOptionTypeViolationException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/option_type_violation.php',
'ezcConsoleOutput' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/output.php',
'ezcConsoleOutputFormat' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/structs/output_format.php',
'ezcConsoleOutputFormats' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/structs/output_formats.php',
'ezcConsoleOutputOptions' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/options/output.php',
'ezcConsoleProgressMonitor' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/progressmonitor.php',
'ezcConsoleProgressMonitorOptions' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/options/progressmonitor.php',
'ezcConsoleProgressbar' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/progressbar.php',
'ezcConsoleProgressbarOptions' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/options/progressbar.php',
'ezcConsoleQuestionDialog' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/dialog/question_dialog.php',
'ezcConsoleQuestionDialogCollectionValidator' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/dialog/validators/question_dialog_collection.php',
'ezcConsoleQuestionDialogMappingValidator' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/dialog/validators/question_dialog_mapping.php',
'ezcConsoleQuestionDialogOptions' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/options/question_dialog.php',
'ezcConsoleQuestionDialogRegexValidator' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/dialog/validators/question_dialog_regex.php',
'ezcConsoleQuestionDialogTypeValidator' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/dialog/validators/question_dialog_type.php',
'ezcConsoleQuestionDialogValidator' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/interfaces/question_dialog_validator.php',
'ezcConsoleStandardInputValidator' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/input/validators/standard.php',
'ezcConsoleStatusbar' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/statusbar.php',
'ezcConsoleStatusbarOptions' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/options/statusbar.php',
'ezcConsoleStringTool' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/tools/string.php',
'ezcConsoleTable' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/table.php',
'ezcConsoleTableCell' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/table/cell.php',
'ezcConsoleTableOptions' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/options/table.php',
'ezcConsoleTableRow' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/table/row.php',
'ezcConsoleTooManyArgumentsException' => __DIR__ . '/..' . '/zetacomponents/console-tools/src/exceptions/argument_too_many.php',
); );
public static function getInitializer(ClassLoader $loader) public static function getInitializer(ClassLoader $loader)
{ {
return \Closure::bind(function () use ($loader) { return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9::$prefixLengthsPsr4; $loader->prefixLengthsPsr4 = ComposerStaticInit5bce11e11de2274869867527dbd4b40e::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9::$prefixDirsPsr4; $loader->prefixDirsPsr4 = ComposerStaticInit5bce11e11de2274869867527dbd4b40e::$prefixDirsPsr4;
$loader->fallbackDirsPsr4 = ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9::$fallbackDirsPsr4; $loader->fallbackDirsPsr4 = ComposerStaticInit5bce11e11de2274869867527dbd4b40e::$fallbackDirsPsr4;
$loader->prefixesPsr0 = ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9::$prefixesPsr0; $loader->prefixesPsr0 = ComposerStaticInit5bce11e11de2274869867527dbd4b40e::$prefixesPsr0;
$loader->fallbackDirsPsr0 = ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9::$fallbackDirsPsr0; $loader->fallbackDirsPsr0 = ComposerStaticInit5bce11e11de2274869867527dbd4b40e::$fallbackDirsPsr0;
$loader->classMap = ComposerStaticInit6d4a28cd96a5bc5d5b97781c062572d9::$classMap; $loader->classMap = ComposerStaticInit5bce11e11de2274869867527dbd4b40e::$classMap;
}, null, ClassLoader::class); }, null, ClassLoader::class);
} }

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +0,0 @@
### Steps to reproduce
What did you do?
### Expected behavior
Tell us what should happen
### Actual behavior
Tell us what happens instead
### System Configuration
Which O.S. and PHP version are you using?

View File

@@ -1,13 +0,0 @@
### Disposition
This pull request:
- [ ] Fixes a bug
- [ ] Adds a feature
- [ ] Breaks backwards compatibility
- [ ] Has tests that cover changes
### Summary
Short overview of what changed.
### Description
Any additional information.

View File

@@ -1,5 +0,0 @@
.DS_Store
phpunit.xml
vendor
build
.idea

View File

@@ -0,0 +1,62 @@
{
"name": "consolidation/annotated-command",
"description": "Initialize Symfony Console commands from annotated command class methods.",
"license": "MIT",
"authors": [
{
"name": "Greg Anderson",
"email": "greg.1.anderson@greenknowe.org"
}
],
"autoload": {
"psr-4": {
"Consolidation\\AnnotatedCommand\\": "../../src"
}
},
"autoload-dev": {
"psr-4": {
"Consolidation\\TestUtils\\": "../../tests/src"
}
},
"require": {
"symfony/finder": "^5",
"php": ">=5.4.5",
"consolidation/output-formatters": "^3.5.1",
"psr/log": "^1",
"symfony/console": "^2.8|^3|^4",
"symfony/event-dispatcher": "^2.5|^3|^4"
},
"require-dev": {
"phpunit/phpunit": "^6",
"php-coveralls/php-coveralls": "^1",
"g1a/composer-test-scenarios": "^3",
"squizlabs/php_codesniffer": "^2.7"
},
"config": {
"platform": {
"php": "7.2.5"
},
"optimize-autoloader": true,
"sort-packages": true,
"vendor-dir": "../../vendor"
},
"scripts": {
"cs": "phpcs --standard=PSR2 -n src",
"cbf": "phpcbf --standard=PSR2 -n src",
"unit": "SHELL_INTERACTIVE=true phpunit --colors=always",
"lint": [
"find src -name '*.php' -print0 | xargs -0 -n1 php -l",
"find tests/src -name '*.php' -print0 | xargs -0 -n1 php -l"
],
"test": [
"@lint",
"@unit",
"@cs"
]
},
"extra": {
"branch-alias": {
"dev-master": "2.x-dev"
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,61 @@
#!/bin/bash
SCENARIO=$1
DEPENDENCIES=${2-install}
# Convert the aliases 'highest', 'lowest' and 'lock' to
# the corresponding composer update command to run.
case $DEPENDENCIES in
highest)
UPDATE_COMMAND=update
;;
lowest)
UPDATE_COMMAND='update --prefer-lowest'
;;
lock|default|"")
UPDATE_COMMAND=''
;;
esac
original_name=scenarios
recommended_name=".scenarios.lock"
base="$original_name"
if [ -d "$recommended_name" ] ; then
base="$recommended_name"
fi
# If scenario is not specified, install the lockfile at
# the root of the project.
dir="$base/${SCENARIO}"
if [ -z "$SCENARIO" ] || [ "$SCENARIO" == "default" ] ; then
SCENARIO=default
dir=.
fi
# Test to make sure that the selected scenario exists.
if [ ! -d "$dir" ] ; then
echo "Requested scenario '${SCENARIO}' does not exist."
exit 1
fi
echo
echo "::"
echo ":: Switch to ${SCENARIO} scenario"
echo "::"
echo
set -ex
composer -n validate --working-dir=$dir --no-check-all --ansi
if [ ! -z "$UPDATE_COMMAND" ] ; then
composer -n --working-dir=$dir ${UPDATE_COMMAND} --prefer-dist --no-scripts
fi
composer -n --working-dir=$dir install --prefer-dist
# If called from a CI context, print out some extra information about
# what we just installed.
if [[ -n "$CI" ]] ; then
composer -n --working-dir=$dir info
fi

View File

@@ -0,0 +1,61 @@
{
"name": "consolidation/annotated-command",
"description": "Initialize Symfony Console commands from annotated command class methods.",
"license": "MIT",
"authors": [
{
"name": "Greg Anderson",
"email": "greg.1.anderson@greenknowe.org"
}
],
"autoload": {
"psr-4": {
"Consolidation\\AnnotatedCommand\\": "../../src"
}
},
"autoload-dev": {
"psr-4": {
"Consolidation\\TestUtils\\": "../../tests/src"
}
},
"require": {
"php": ">=5.4.5",
"consolidation/output-formatters": "^3.5.1",
"psr/log": "^1",
"symfony/console": "^2.8|^3|^4",
"symfony/event-dispatcher": "^2.5|^3|^4",
"symfony/finder": "^2.5|^3|^4|^5"
},
"require-dev": {
"phpunit/phpunit": "^4.8.36",
"g1a/composer-test-scenarios": "^3",
"squizlabs/php_codesniffer": "^2.7"
},
"config": {
"platform": {
"php": "5.4.8"
},
"optimize-autoloader": true,
"sort-packages": true,
"vendor-dir": "../../vendor"
},
"scripts": {
"cs": "phpcs --standard=PSR2 -n src",
"cbf": "phpcbf --standard=PSR2 -n src",
"unit": "SHELL_INTERACTIVE=true phpunit --colors=always",
"lint": [
"find src -name '*.php' -print0 | xargs -0 -n1 php -l",
"find tests/src -name '*.php' -print0 | xargs -0 -n1 php -l"
],
"test": [
"@lint",
"@unit",
"@cs"
]
},
"extra": {
"branch-alias": {
"dev-master": "2.x-dev"
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,2 @@
vendor
composer.lock

View File

@@ -0,0 +1,61 @@
{
"name": "consolidation/annotated-command",
"description": "Initialize Symfony Console commands from annotated command class methods.",
"license": "MIT",
"authors": [
{
"name": "Greg Anderson",
"email": "greg.1.anderson@greenknowe.org"
}
],
"autoload": {
"psr-4": {
"Consolidation\\AnnotatedCommand\\": "../../src"
}
},
"autoload-dev": {
"psr-4": {
"Consolidation\\TestUtils\\": "../../tests/src"
}
},
"require": {
"symfony/console": "^2.8",
"php": ">=5.4.5",
"consolidation/output-formatters": "^3.5.1",
"psr/log": "^1",
"symfony/event-dispatcher": "^2.5|^3|^4",
"symfony/finder": "^2.5|^3|^4|^5"
},
"require-dev": {
"phpunit/phpunit": "^4.8.36",
"g1a/composer-test-scenarios": "^3",
"squizlabs/php_codesniffer": "^2.7"
},
"config": {
"platform": {
"php": "5.4.8"
},
"optimize-autoloader": true,
"sort-packages": true,
"vendor-dir": "../../vendor"
},
"scripts": {
"cs": "phpcs --standard=PSR2 -n src",
"cbf": "phpcbf --standard=PSR2 -n src",
"unit": "SHELL_INTERACTIVE=true phpunit --colors=always",
"lint": [
"find src -name '*.php' -print0 | xargs -0 -n1 php -l",
"find tests/src -name '*.php' -print0 | xargs -0 -n1 php -l"
],
"test": [
"@lint",
"@unit",
"@cs"
]
},
"extra": {
"branch-alias": {
"dev-master": "2.x-dev"
}
}
}

View File

@@ -0,0 +1,62 @@
{
"name": "consolidation/annotated-command",
"description": "Initialize Symfony Console commands from annotated command class methods.",
"license": "MIT",
"authors": [
{
"name": "Greg Anderson",
"email": "greg.1.anderson@greenknowe.org"
}
],
"autoload": {
"psr-4": {
"Consolidation\\AnnotatedCommand\\": "../../src"
}
},
"autoload-dev": {
"psr-4": {
"Consolidation\\TestUtils\\": "../../tests/src"
}
},
"require": {
"symfony/console": "^4.0",
"php": ">=5.4.5",
"consolidation/output-formatters": "^3.5.1",
"psr/log": "^1",
"symfony/event-dispatcher": "^2.5|^3|^4",
"symfony/finder": "^2.5|^3|^4|^5"
},
"require-dev": {
"phpunit/phpunit": "^6",
"php-coveralls/php-coveralls": "^1",
"g1a/composer-test-scenarios": "^3",
"squizlabs/php_codesniffer": "^2.7"
},
"config": {
"platform": {
"php": "7.1.3"
},
"optimize-autoloader": true,
"sort-packages": true,
"vendor-dir": "../../vendor"
},
"scripts": {
"cs": "phpcs --standard=PSR2 -n src",
"cbf": "phpcbf --standard=PSR2 -n src",
"unit": "SHELL_INTERACTIVE=true phpunit --colors=always",
"lint": [
"find src -name '*.php' -print0 | xargs -0 -n1 php -l",
"find tests/src -name '*.php' -print0 | xargs -0 -n1 php -l"
],
"test": [
"@lint",
"@unit",
"@cs"
]
},
"extra": {
"branch-alias": {
"dev-master": "2.x-dev"
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,99 +0,0 @@
language: php
branches:
# Only test the master branch and SemVer tags.
only:
- master
- '/^[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+.*$/'
matrix:
include:
-
php: 7.1
env: 'HIGHEST_LOWEST="update" STABILITY="RC"'
-
php: 7.0.11
env: DO_POST_BUILD_ACTIONS=1
-
php: 5.6
-
php: 5.5
-
php: 5.4
env: 'HIGHEST_LOWEST="update --prefer-lowest"'
sudo: false
cache:
directories:
- $HOME/.composer/cache
before_script:
# If running a highest/lowest dependencies test, get rid of composer.lock
- |
if [ -n "$HIGHEST_LOWEST" ] ; then
rm composer.lock
composer config --unset platform.php
composer config minimum-stability ${STABILITY-stable}
fi
- 'composer -n ${HIGHEST_LOWEST-install} --prefer-dist'
- composer why symfony/console
# Print out all of the installed packages in alphabetical order, with versions
- composer licenses
script:
- vendor/bin/phpunit
- 'vendor/bin/phpcs --standard=PSR2 -n src'
after_success:
- 'travis_retry php vendor/bin/coveralls -v'
- |
# Only do post-build actions in one environment, and only if there is a GITHUB token.
if [ -z "$DO_POST_BUILD_ACTIONS" ] ; then
return
fi
if [ -z "$GITHUB_TOKEN" ]; then
echo "No GITHUB_TOKEN defined; exiting."
return
fi
###
# Run composer lock update on cron jobs.
# See: https://github.com/danielbachhuber/composer-lock-updater
###
if [ "$TRAVIS_EVENT_TYPE" != "cron" ] ; then
echo "Not a cron job; exiting."
return
fi
###
# Only run on one job of a master branch build
###
if [ "master" != "$TRAVIS_BRANCH" ] ; then
echo "composer.lock update only runs on the master branch."
return
fi
###
# Install composer-lock-updater
###
export PATH="$HOME/.composer/vendor/bin:$PATH"
composer global require danielbachhuber/composer-lock-updater
###
# Optional: install Sensio Labs security checker to include security advisories in PR comments
###
mkdir -p $HOME/bin
wget -O $HOME/bin/security-checker.phar http://get.sensiolabs.org/security-checker.phar
chmod +x $HOME/bin/security-checker.phar
export PATH="$HOME/bin:$PATH"
###
# Install hub for creating GitHub pull requests
###
wget -O hub.tgz https://github.com/github/hub/releases/download/v2.2.9/hub-linux-amd64-2.2.9.tgz
tar -zxvf hub.tgz
export PATH=$PATH:$PWD/hub-linux-amd64-2.2.9/bin/
###
# Run composer-lock-updater
###
clu

View File

@@ -1,5 +1,57 @@
# Change Log # Change Log
### 2.12.1 - 10 Oct 2020
- Allow symfony/finder 5 (#213)
### 2.12.0 - 8 Mar 2019
- Allow annotated args and options to specify their default values in their descriptions. (#186)
### 2.11.2 - 1 Feb 2019
- Fix handling of old caches from 2.11.1 that introduced upgrade errors.
### 2.11.1 - 31 Jan 2019
- Cache injected classes (#182)
### 2.11.0 - 27 Jan 2019
- Make injection of InputInterface / OutputInterface general-purpose (#179)
### 2.10.2 - 20 Dec 2018
- Fix commands that have a @param annotation for their InputInterface/OutputInterface params (#176)
### 2.10.1 - 13 Dec 2018
- Add stdin handler convenience class
- Add setter to AnnotationData to suppliment existing array acces
- Update to Composer Test Scenarios 3
### 2.10.0 - 14 Nov 2018
- Add a new data type, CommandResult (#167)
### 2.9.0 & 2.9.1 - 19 Sept 2018
- Improve commandfile discovery for extensions installed via Composer. (#156)
### 2.8.5 - 18 Aug 2018
- Add dependencies.yml for dependencies.io
- Fix warning in AnnotatedCommandFactory when getCommandInfoListFromCache called with null.
### 2.8.4 - 25 May 2018
- Use g1a/composer-test-scenarios for better PHP version matrix testing.
### 2.8.3 - 23 Feb 2018
- BUGFIX: Do not shift off the command name unless it is there. (#139)
- Use test scenarios to test multiple versions of Symfony. (#136, #137)
### 2.8.2 - 29 Nov 2017 ### 2.8.2 - 29 Nov 2017
- Allow Symfony 4 components. - Allow Symfony 4 components.

View File

@@ -1,4 +1,6 @@
Copyright (c) 2016 Consolidation Org Developers The MIT License (MIT)
Copyright (c) 2016-2020 Consolidation Org Developers
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
@@ -6,3 +8,15 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
DEPENDENCY LICENSES:
Name Version License
consolidation/output-formatters 3.5.1 MIT
dflydev/dot-access-data v1.1.0 MIT
psr/log 1.1.3 MIT
symfony/console v2.8.52 MIT
symfony/debug v2.8.52 MIT
symfony/event-dispatcher v2.8.52 MIT
symfony/finder v2.8.52 MIT
symfony/polyfill-mbstring v1.18.1 MIT

View File

@@ -5,7 +5,7 @@ Initialize Symfony Console commands from annotated command class methods.
[![Travis CI](https://travis-ci.org/consolidation/annotated-command.svg?branch=master)](https://travis-ci.org/consolidation/annotated-command) [![Travis CI](https://travis-ci.org/consolidation/annotated-command.svg?branch=master)](https://travis-ci.org/consolidation/annotated-command)
[![Windows CI](https://ci.appveyor.com/api/projects/status/c2c4lcf43ux4c30p?svg=true)](https://ci.appveyor.com/project/greg-1-anderson/annotated-command) [![Windows CI](https://ci.appveyor.com/api/projects/status/c2c4lcf43ux4c30p?svg=true)](https://ci.appveyor.com/project/greg-1-anderson/annotated-command)
[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/consolidation/annotated-command/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/consolidation/annotated-command/?branch=master) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/consolidation/annotated-command/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/consolidation/annotated-command/?branch=master)
[![Coverage Status](https://coveralls.io/repos/github/consolidation/annotated-command/badge.svg?branch=master)](https://coveralls.io/github/consolidation/annotated-command?branch=master) [![Coverage Status](https://coveralls.io/repos/github/consolidation/annotated-command/badge.svg?branch=master)](https://coveralls.io/github/consolidation/annotated-command?branch=master)
[![License](https://poser.pugx.org/consolidation/annotated-command/license)](https://packagist.org/packages/consolidation/annotated-command) [![License](https://poser.pugx.org/consolidation/annotated-command/license)](https://packagist.org/packages/consolidation/annotated-command)
## Component Status ## Component Status
@@ -24,14 +24,14 @@ Extant commandline tools that utilize this technique include:
This library provides routines to produce the Symfony\Component\Console\Command\Command from all public methods defined in the provided class. This library provides routines to produce the Symfony\Component\Console\Command\Command from all public methods defined in the provided class.
**Note** If you are looking for a very fast way to write a Symfony Console-base command-line tool, you should consider using [Robo](https://github.com/consolidation/Robo), which is built on top of this library, and adds additional conveniences to get you going quickly. See [Using Robo as a Framework](https://github.com/consolidation/Robo/docs/framework.md). It is possible to use this project without Robo if desired, of course. **Note** If you are looking for a very fast way to write a Symfony Console-base command-line tool, you should consider using [Robo](https://github.com/consolidation/Robo), which is built on top of this library, and adds additional conveniences to get you going quickly. Use [g1a/starter](https://github.com/g1a/starter) to quickly scaffold a new commandline tool. See [Using Robo as a Framework](http://robo.li/framework/). It is possible to use this project without Robo if desired, of course.
## Library Usage ## Library Usage
This is a library intended to be used in some other project. Require from your composer.json file: This is a library intended to be used in some other project. Require from your composer.json file:
``` ```
"require": { "require": {
"consolidation/annotated-command": "~2" "consolidation/annotated-command": "^2"
}, },
``` ```
@@ -43,12 +43,12 @@ The rest of the parameters are arguments. Parameters with a default value are op
class MyCommandClass class MyCommandClass
{ {
/** /**
* This is the my:cat command * This is the my:echo command
* *
* This command will concatenate two parameters. If the --flip flag * This command will concatenate two parameters. If the --flip flag
* is provided, then the result is the concatenation of two and one. * is provided, then the result is the concatenation of two and one.
* *
* @command my:cat * @command my:echo
* @param integer $one The first parameter. * @param integer $one The first parameter.
* @param integer $two The other parameter. * @param integer $two The other parameter.
* @option arr An option that takes multiple values. * @option arr An option that takes multiple values.
@@ -57,7 +57,7 @@ class MyCommandClass
* @usage bet alpha --flip * @usage bet alpha --flip
* Concatenate "alpha" and "bet". * Concatenate "alpha" and "bet".
*/ */
public function myCat($one, $two, $options = ['flip' => false]) public function myEcho($one, $two, $options = ['flip' => false])
{ {
if ($options['flip']) { if ($options['flip']) {
return "{$two}{$one}"; return "{$two}{$one}";
@@ -65,7 +65,7 @@ class MyCommandClass
return "{$one}{$two}"; return "{$one}{$two}";
} }
} }
``` ```
## Option Default Values ## Option Default Values
The `$options` array must be an associative array whose key is the name of the option, and whose value is one of: The `$options` array must be an associative array whose key is the name of the option, and whose value is one of:
@@ -103,6 +103,7 @@ The hook **target** specifies which command or commands the hook will be attache
- The command's primary name (e.g. `my:command`) or the command's method name (e.g. myCommand) will attach the hook to only that command. - The command's primary name (e.g. `my:command`) or the command's method name (e.g. myCommand) will attach the hook to only that command.
- An annotation (e.g. `@foo`) will attach the hook to any command that is annotated with the given label. - An annotation (e.g. `@foo`) will attach the hook to any command that is annotated with the given label.
- If the target is specified as `*`, then the hook will be attached to all commands.
- If the target is omitted, then the hook will be attached to every command defined in the same class as the hook implementation. - If the target is omitted, then the hook will be attached to every command defined in the same class as the hook implementation.
There are ten types of hooks in the command processing request flow: There are ten types of hooks in the command processing request flow:
@@ -130,7 +131,7 @@ There are ten types of hooks in the command processing request flow:
- [Command](#command-hook) - [Command](#command-hook)
- @pre-command - @pre-command
- @command - @command
- @command-init - @post-command
- [Process](#process-hook) - [Process](#process-hook)
- @pre-process - @pre-process
- @process - @process
@@ -143,7 +144,7 @@ There are ten types of hooks in the command processing request flow:
- @status - @status
- [Extract](#extract-hook) - [Extract](#extract-hook)
- @extract - @extract
In addition to these, there are two more hooks available: In addition to these, there are two more hooks available:
- [On-event](#on-event-hook) - [On-event](#on-event-hook)
@@ -201,6 +202,42 @@ public function initSomeCommand(InputInterface $input, AnnotationData $annotatio
} }
``` ```
You may alter the AnnotationData here by using simple array syntax. Below, we
add an additional display field label for a Property List.
```
use Consolidation\AnnotatedCommand\AnnotationData;
use Symfony\Component\Console\Input\InputInterface;
/**
* @hook init some:command
*/
public function initSomeCommand(InputInterface $input, AnnotationData $annotationData)
{
$annotationData['field-labels'] .= "\n" . "new_field: My new field";
}
```
Alternately, you may use the `set()` or `append()` methods on the AnnotationData
class.
```
use Consolidation\AnnotatedCommand\AnnotationData;
use Symfony\Component\Console\Input\InputInterface;
/**
* @hook init some:command
*/
public function initSomeCommand(InputInterface $input, AnnotationData $annotationData)
{
// Add a line to the field labels.
$annotationData->append('field-labels', "\n" . "new_field: My new field");
// Replace all field labels.
$annotationData->set('field-labels', "one_field: My only field");
}
```
### Interact Hook ### Interact Hook
The interact hook ([InteractorInterface](src/Hooks/InteractorInterface.php)) runs prior to argument and option validation. Required arguments and options not supplied on the command line may be provided during this phase by prompting the user. Note that the interact hook is not called if the --no-interaction flag is supplied, whereas the command-event hook and the init hook are. The interact hook ([InteractorInterface](src/Hooks/InteractorInterface.php)) runs prior to argument and option validation. Required arguments and options not supplied on the command line may be provided during this phase by prompting the user. Note that the interact hook is not called if the --no-interaction flag is supplied, whereas the command-event hook and the init hook are.
@@ -345,12 +382,20 @@ public function nameSomeCommand($result, CommandData $commandData)
### Status Hook ### Status Hook
**DEPRECATED**
Instead of using a Status Determiner hook, commands should simply return their exit code and result data separately using a CommandResult object.
The status hook ([StatusDeterminerInterface](src/Hooks/StatusDeterminerInterface.php)) is responsible for determing whether a command succeeded (status code 0) or failed (status code > 0). The result object returned by a command may be a compound object that contains multiple bits of information about the command result. If the result object implements [ExitCodeInterface](ExitCodeInterface.php), then the `getExitCode()` method of the result object is called to determine what the status result code for the command should be. If ExitCodeInterface is not implemented, then all of the status hooks attached to this command are executed; the first one that successfully returns a result will stop further execution of status hooks, and the result it returned will be used as the status result code for this operation. The status hook ([StatusDeterminerInterface](src/Hooks/StatusDeterminerInterface.php)) is responsible for determing whether a command succeeded (status code 0) or failed (status code > 0). The result object returned by a command may be a compound object that contains multiple bits of information about the command result. If the result object implements [ExitCodeInterface](ExitCodeInterface.php), then the `getExitCode()` method of the result object is called to determine what the status result code for the command should be. If ExitCodeInterface is not implemented, then all of the status hooks attached to this command are executed; the first one that successfully returns a result will stop further execution of status hooks, and the result it returned will be used as the status result code for this operation.
If no status hook returns any result, then success is presumed. If no status hook returns any result, then success is presumed.
### Extract Hook ### Extract Hook
**DEPRECATED**
See [RowsOfFieldsWithMetadata in output-formatters](https://github.com/consolidation/output-formatters/blob/master/src/StructuredData/RowsOfFieldsWithMetadata.php) for an alternative that is more flexible for most use cases.
The extract hook ([ExtractOutputInterface](src/Hooks/ExtractOutputInterface.php)) is responsible for determining what the actual rendered output for the command should be. The result object returned by a command may be a compound object that contains multiple bits of information about the command result. If the result object implements [OutputDataInterface](OutputDataInterface.php), then the `getOutputData()` method of the result object is called to determine what information should be displayed to the user as a result of the command's execution. If OutputDataInterface is not implemented, then all of the extract hooks attached to this command are executed; the first one that successfully returns output data will stop further execution of extract hooks. The extract hook ([ExtractOutputInterface](src/Hooks/ExtractOutputInterface.php)) is responsible for determining what the actual rendered output for the command should be. The result object returned by a command may be a compound object that contains multiple bits of information about the command result. If the result object implements [OutputDataInterface](OutputDataInterface.php), then the `getOutputData()` method of the result object is called to determine what information should be displayed to the user as a result of the command's execution. If OutputDataInterface is not implemented, then all of the extract hooks attached to this command are executed; the first one that successfully returns output data will stop further execution of extract hooks.
If no extract hook returns any data, then the result object itself is printed if it is a string; otherwise, no output is emitted (other than any produced by the command itself). If no extract hook returns any data, then the result object itself is printed if it is a string; otherwise, no output is emitted (other than any produced by the command itself).
@@ -399,8 +444,8 @@ class MyReplaceCommandHook {
/** /**
* @hook replace-command foo:bar * @hook replace-command foo:bar
* *
* Parameters must match original command method. * Parameters must match original command method.
*/ */
public function myFooBarReplacement($value) { public function myFooBarReplacement($value) {
print "Hello $value!"; print "Hello $value!";
@@ -424,6 +469,46 @@ If you want to use annotations, but still want access to the Symfony Command, e.
It is also possible to add InputInterface and/or OutputInterface parameters to any annotated method of a command file (the parameters must go before command arguments). It is also possible to add InputInterface and/or OutputInterface parameters to any annotated method of a command file (the parameters must go before command arguments).
## Parameter Injection
Just as this library will by default inject $input and/or $output at the head of the parameter list of any command function, it is also possible to add a handler to inject other objects as well.
Given an implementation of SymfonyStyleInjector similar to the example below:
```
use Consolidation\AnnotatedCommand\ParameterInjector
class SymfonyStyleInjector implements ParameterInjector
{
public function get(CommandData $commandData, $interfaceName)
{
return new MySymfonyStyle($commandData->input(), $commandData->output());
}
}
```
Then, an instance of 'MySymfonyStyle' will be provided to any command handler method that takes a SymfonyStyle parameter if the SymfonyStyleInjector is registered in your application's initialization code like so:
```
$commandProcessor->parameterInjection()->register('Symfony\Component\Console\Style\SymfonyStyle', new SymfonyStyleInjector);
```
## Handling Standard Input
Any Symfony command may use the provides StdinHandler to imlement commands that read from standard input.
```php
/**
* @command example
* @option string $file
* @default $file -
*/
public function example(InputInterface $input)
{
$data = StdinHandler::selectStream($input, 'file')->contents();
}
```
This example will read all of the data available from the stdin stream into $data, or, alternately, will read the entire contents of the file specified via the `--file=/path` option.
For more details, including examples of using the StdinHandle with a DI container, see the comments in [StdinHandler.php](src/Input/StdinHandler.php).
## API Usage ## API Usage
If you would like to use Annotated Commands to build a commandline tool, it is recommended that you use [Robo as a framework](http://robo.li/framework), as it will set up all of the various command classes for you. If you would like to integrate Annotated Commands into some other framework, see the sections below. If you would like to use Annotated Commands to build a commandline tool, it is recommended that you use [Robo as a framework](http://robo.li/framework), as it will set up all of the various command classes for you. If you would like to integrate Annotated Commands into some other framework, see the sections below.
@@ -496,7 +581,7 @@ Listeners can be used to construct command file instances as they are provided t
### Option Providers ### Option Providers
An option provider is given an opportunity to add options to a command as it is being constructed. An option provider is given an opportunity to add options to a command as it is being constructed.
``` ```
public function AnnotatedCommandFactory::addAutomaticOptionProvider(AutomaticOptionsProviderInterface $listener); public function AnnotatedCommandFactory::addAutomaticOptionProvider(AutomaticOptionsProviderInterface $listener);
``` ```
@@ -508,7 +593,3 @@ CommandInfo alterers can adjust information about a command immediately before i
``` ```
public function alterCommandInfo(CommandInfo $commandInfo, $commandFileInstance); public function alterCommandInfo(CommandInfo $commandInfo, $commandFileInstance);
``` ```
## Comparison to Existing Solutions
The existing solutions used their own hand-rolled regex-based parsers to process the contents of the DocBlock comments. consolidation/annotated-command uses the [phpdocumentor/reflection-docblock](https://github.com/phpDocumentor/ReflectionDocBlock) project (which is itself a regex-based parser) to interpret DocBlock contents.

View File

@@ -1,66 +0,0 @@
build: false
shallow_clone: true
platform: 'x86'
clone_folder: C:\projects\annotated-commands
branches:
only:
- master
## Cache composer bits
cache:
- '%LOCALAPPDATA%\Composer\files -> composer.lock'
init:
#https://github.com/composer/composer/blob/master/appveyor.yml
#- SET ANSICON=121x90 (121x90)
# Inspired by https://github.com/Codeception/base/blob/master/appveyor.yml and https://github.com/phpmd/phpmd/blob/master/appveyor.yml
install:
- cinst -y curl
- SET PATH=C:\Program Files\curl;%PATH%
#which is only needed by the test suite.
- cinst -y which
- SET PATH=C:\Program Files\which;%PATH%
- git clone -q https://github.com/acquia/DevDesktopCommon.git #For tar, cksum, ...
- SET PATH=%APPVEYOR_BUILD_FOLDER%/DevDesktopCommon/bintools-win/msys/bin;%PATH%
- SET PATH=C:\Program Files\MySql\MySQL Server 5.7\bin\;%PATH%
#Install PHP per https://blog.wyrihaximus.net/2016/11/running-php-unit-tests-on-windows-using-appveyor-and-chocolatey/
- ps: appveyor-retry cinst --ignore-checksums -y php --version ((choco search php --exact --all-versions -r | select-string -pattern $Env:php_ver_target | Select-Object -first 1) -replace '[php|]','')
- cd c:\tools\php70
- copy php.ini-production php.ini
- echo extension_dir=ext >> php.ini
- echo extension=php_openssl.dll >> php.ini
- echo date.timezone="UTC" >> php.ini
- echo variables_order="EGPCS" >> php.ini #May be unneeded.
- echo mbstring.http_input=pass >> php.ini
- echo mbstring.http_output=pass >> php.ini
- echo sendmail_path=nul >> php.ini
- echo extension=php_mbstring.dll >> php.ini
- echo extension=php_curl.dll >> php.ini
- echo extension=php_pdo_mysql.dll >> php.ini
- echo extension=php_pdo_pgsql.dll >> php.ini
- echo extension=php_pdo_sqlite.dll >> php.ini
- echo extension=php_pgsql.dll >> php.ini
- echo extension=php_gd2.dll >> php.ini
- SET PATH=C:\tools\php70;%PATH%
#Install Composer
- cd %APPVEYOR_BUILD_FOLDER%
#- appveyor DownloadFile https://getcomposer.org/composer.phar
- php -r "readfile('http://getcomposer.org/installer');" | php
#Install dependencies via Composer
- php composer.phar -q install --prefer-dist -n
- SET PATH=%APPVEYOR_BUILD_FOLDER%;%APPVEYOR_BUILD_FOLDER%/vendor/bin;%PATH%
#Create a sandbox for testing. Don't think we need this.
- mkdir c:\test_temp
test_script:
- phpunit
- php composer.phar cs
# environment variables
environment:
global:
SHELL_INTERACTIVE: true
php_ver_target: 7.0

View File

@@ -19,36 +19,95 @@
} }
}, },
"require": { "require": {
"php": ">=5.4.0", "php": ">=5.4.5",
"consolidation/output-formatters": "^3.1.12", "consolidation/output-formatters": "^3.5.1",
"psr/log": "^1", "psr/log": "^1",
"symfony/console": "^2.8|^3|^4", "symfony/console": "^2.8|^3|^4",
"symfony/event-dispatcher": "^2.5|^3|^4", "symfony/event-dispatcher": "^2.5|^3|^4",
"symfony/finder": "^2.5|^3|^4" "symfony/finder": "^2.5|^3|^4|^5"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^4.8", "phpunit/phpunit": "^6",
"satooshi/php-coveralls": "^1.0.2 | dev-master", "php-coveralls/php-coveralls": "^1",
"g1a/composer-test-scenarios": "^3",
"squizlabs/php_codesniffer": "^2.7" "squizlabs/php_codesniffer": "^2.7"
}, },
"config": { "config": {
"optimize-autoloader": true, "optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true, "sort-packages": true,
"platform": { "platform": {
"php": "5.6" "php": "7.0.8"
} }
}, },
"scripts": { "scripts": {
"cs": "phpcs --standard=PSR2 -n src", "cs": "phpcs --standard=PSR2 -n src",
"cbf": "phpcbf --standard=PSR2 -n src", "cbf": "phpcbf --standard=PSR2 -n src",
"unit": "SHELL_INTERACTIVE=true phpunit --colors=always", "unit": "SHELL_INTERACTIVE=true phpunit --colors=always",
"lint": [
"find src -name '*.php' -print0 | xargs -0 -n1 php -l",
"find tests/src -name '*.php' -print0 | xargs -0 -n1 php -l"
],
"test": [ "test": [
"@lint",
"@unit", "@unit",
"@cs" "@cs"
] ]
}, },
"extra": { "extra": {
"scenarios": {
"finder5": {
"require": {
"symfony/finder": "^5"
},
"config": {
"platform": {
"php": "7.2.5"
}
}
},
"symfony4": {
"require": {
"symfony/console": "^4.0"
},
"config": {
"platform": {
"php": "7.1.3"
}
}
},
"symfony2": {
"require": {
"symfony/console": "^2.8"
},
"require-dev": {
"phpunit/phpunit": "^4.8.36"
},
"remove": [
"php-coveralls/php-coveralls"
],
"config": {
"platform": {
"php": "5.4.8"
}
},
"scenario-options": {
"create-lockfile": "false"
}
},
"phpunit4": {
"require-dev": {
"phpunit/phpunit": "^4.8.36"
},
"remove": [
"php-coveralls/php-coveralls"
],
"config": {
"platform": {
"php": "5.4.8"
}
}
}
},
"branch-alias": { "branch-alias": {
"dev-master": "2.x-dev" "dev-master": "2.x-dev"
} }

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,10 @@
version: 2
dependencies:
- type: php
path: /
settings:
composer_options: ""
manifest_updates:
filters:
- name: ".*"
versions: "L.Y.Y"

View File

@@ -1,7 +1,7 @@
<phpunit bootstrap="vendor/autoload.php" colors="true"> <phpunit bootstrap="vendor/autoload.php" colors="true">
<testsuites> <testsuites>
<testsuite name="annotation-command"> <testsuite name="annotation-command">
<directory prefix="test" suffix=".php">tests</directory> <directory prefix="" suffix="Test.php">tests</directory>
</testsuite> </testsuite>
</testsuites> </testsuites>
<logging> <logging>

View File

@@ -9,6 +9,7 @@ use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
use Consolidation\AnnotatedCommand\Help\HelpDocumentBuilder;
/** /**
* AnnotatedCommands are created automatically by the * AnnotatedCommands are created automatically by the
@@ -32,9 +33,8 @@ class AnnotatedCommand extends Command implements HelpDocumentAlter
protected $annotationData; protected $annotationData;
protected $examples = []; protected $examples = [];
protected $topics = []; protected $topics = [];
protected $usesInputInterface;
protected $usesOutputInterface;
protected $returnType; protected $returnType;
protected $injectedClasses = [];
public function __construct($name = null) public function __construct($name = null)
{ {
@@ -153,118 +153,16 @@ class AnnotatedCommand extends Command implements HelpDocumentAlter
public function helpAlter(\DomDocument $originalDom) public function helpAlter(\DomDocument $originalDom)
{ {
$dom = new \DOMDocument('1.0', 'UTF-8'); return HelpDocumentBuilder::alter($originalDom, $this);
$dom->appendChild($commandXML = $dom->createElement('command'));
$commandXML->setAttribute('id', $this->getName());
$commandXML->setAttribute('name', $this->getName());
// Get the original <command> element and its top-level elements.
$originalCommandXML = $this->getSingleElementByTagName($dom, $originalDom, 'command');
$originalUsagesXML = $this->getSingleElementByTagName($dom, $originalCommandXML, 'usages');
$originalDescriptionXML = $this->getSingleElementByTagName($dom, $originalCommandXML, 'description');
$originalHelpXML = $this->getSingleElementByTagName($dom, $originalCommandXML, 'help');
$originalArgumentsXML = $this->getSingleElementByTagName($dom, $originalCommandXML, 'arguments');
$originalOptionsXML = $this->getSingleElementByTagName($dom, $originalCommandXML, 'options');
// Keep only the first of the <usage> elements
$newUsagesXML = $dom->createElement('usages');
$firstUsageXML = $this->getSingleElementByTagName($dom, $originalUsagesXML, 'usage');
$newUsagesXML->appendChild($firstUsageXML);
// Create our own <example> elements
$newExamplesXML = $dom->createElement('examples');
foreach ($this->examples as $usage => $description) {
$newExamplesXML->appendChild($exampleXML = $dom->createElement('example'));
$exampleXML->appendChild($usageXML = $dom->createElement('usage', $usage));
$exampleXML->appendChild($descriptionXML = $dom->createElement('description', $description));
}
// Create our own <alias> elements
$newAliasesXML = $dom->createElement('aliases');
foreach ($this->getAliases() as $alias) {
$newAliasesXML->appendChild($dom->createElement('alias', $alias));
}
// Create our own <topic> elements
$newTopicsXML = $dom->createElement('topics');
foreach ($this->getTopics() as $topic) {
$newTopicsXML->appendChild($topicXML = $dom->createElement('topic', $topic));
}
// Place the different elements into the <command> element in the desired order
$commandXML->appendChild($newUsagesXML);
$commandXML->appendChild($newExamplesXML);
$commandXML->appendChild($originalDescriptionXML);
$commandXML->appendChild($originalArgumentsXML);
$commandXML->appendChild($originalOptionsXML);
$commandXML->appendChild($originalHelpXML);
$commandXML->appendChild($newAliasesXML);
$commandXML->appendChild($newTopicsXML);
return $dom;
}
protected function getSingleElementByTagName($dom, $parent, $tagName)
{
// There should always be exactly one '<command>' element.
$elements = $parent->getElementsByTagName($tagName);
$result = $elements->item(0);
$result = $dom->importNode($result, true);
return $result;
} }
protected function setCommandArguments($commandInfo) protected function setCommandArguments($commandInfo)
{ {
$this->setUsesInputInterface($commandInfo); $this->injectedClasses = $commandInfo->getInjectedClasses();
$this->setUsesOutputInterface($commandInfo);
$this->setCommandArgumentsFromParameters($commandInfo); $this->setCommandArgumentsFromParameters($commandInfo);
return $this; return $this;
} }
/**
* Check whether the first parameter is an InputInterface.
*/
protected function checkUsesInputInterface($params)
{
/** @var \ReflectionParameter $firstParam */
$firstParam = reset($params);
return $firstParam && $firstParam->getClass() && $firstParam->getClass()->implementsInterface(
'\\Symfony\\Component\\Console\\Input\\InputInterface'
);
}
/**
* Determine whether this command wants to get its inputs
* via an InputInterface or via its command parameters
*/
protected function setUsesInputInterface($commandInfo)
{
$params = $commandInfo->getParameters();
$this->usesInputInterface = $this->checkUsesInputInterface($params);
return $this;
}
/**
* Determine whether this command wants to send its output directly
* to the provided OutputInterface, or whether it will returned
* structured output to be processed by the command processor.
*/
protected function setUsesOutputInterface($commandInfo)
{
$params = $commandInfo->getParameters();
$index = $this->checkUsesInputInterface($params) ? 1 : 0;
$this->usesOutputInterface =
(count($params) > $index) &&
$params[$index]->getClass() &&
$params[$index]->getClass()->implementsInterface(
'\\Symfony\\Component\\Console\\Output\\OutputInterface'
)
;
return $this;
}
protected function setCommandArgumentsFromParameters($commandInfo) protected function setCommandArgumentsFromParameters($commandInfo)
{ {
$args = $commandInfo->arguments()->getValues(); $args = $commandInfo->arguments()->getValues();
@@ -437,10 +335,10 @@ class AnnotatedCommand extends Command implements HelpDocumentAlter
$output $output
); );
$commandData->setUseIOInterfaces( // Fetch any classes (e.g. InputInterface / OutputInterface) that
$this->usesInputInterface, // this command's callback wants passed as a parameter and inject
$this->usesOutputInterface // it into the command data.
); $this->commandProcessor()->injectIntoCommandData($commandData, $this->injectedClasses);
// Allow the commandData to cache the list of options with // Allow the commandData to cache the list of options with
// special default values ('null' and 'true'), as these will // special default values ('null' and 'true'), as these will

View File

@@ -184,6 +184,9 @@ class AnnotatedCommandFactory implements AutomaticOptionsProviderInterface
protected function getCommandInfoListFromCache($commandFileInstance) protected function getCommandInfoListFromCache($commandFileInstance)
{ {
$commandInfoList = []; $commandInfoList = [];
if (!is_object($commandFileInstance)) {
return [];
}
$className = get_class($commandFileInstance); $className = get_class($commandFileInstance);
if (!$this->getDataStore()->has($className)) { if (!$this->getDataStore()->has($className)) {
return []; return [];

View File

@@ -24,4 +24,21 @@ class AnnotationData extends \ArrayObject
{ {
return array_keys($this->getArrayCopy()); return array_keys($this->getArrayCopy());
} }
public function set($key, $value = '')
{
$this->offsetSet($key, $value);
return $this;
}
public function append($key, $value = '')
{
$data = $this->offsetGet($key);
if (is_array($data)) {
$this->offsetSet($key, array_merge($data, $value));
} elseif (is_scalar($data)) {
$this->offsetSet($key, $data . $value);
}
return $this;
}
} }

View File

@@ -1,6 +1,7 @@
<?php <?php
namespace Consolidation\AnnotatedCommand; namespace Consolidation\AnnotatedCommand;
use Consolidation\OutputFormatters\Options\FormatterOptions;
use Symfony\Component\Console\Input\ArgvInput; use Symfony\Component\Console\Input\ArgvInput;
use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
@@ -14,43 +15,44 @@ class CommandData
/** var OutputInterface */ /** var OutputInterface */
protected $output; protected $output;
/** var boolean */ /** var boolean */
protected $usesInputInterface;
/** var boolean */
protected $usesOutputInterface;
/** var boolean */
protected $includeOptionsInArgs; protected $includeOptionsInArgs;
/** var array */ /** var array */
protected $specialDefaults = []; protected $specialDefaults = [];
/** @var string[] */
protected $injectedInstances = [];
/** @var FormatterOptions */
protected $formatterOptions;
public function __construct( public function __construct(
AnnotationData $annotationData, AnnotationData $annotationData,
InputInterface $input, InputInterface $input,
OutputInterface $output, OutputInterface $output
$usesInputInterface = false,
$usesOutputInterface = false
) { ) {
$this->annotationData = $annotationData; $this->annotationData = $annotationData;
$this->input = $input; $this->input = $input;
$this->output = $output; $this->output = $output;
$this->usesInputInterface = false;
$this->usesOutputInterface = false;
$this->includeOptionsInArgs = true; $this->includeOptionsInArgs = true;
} }
/** /**
* For internal use only; indicates that the function to be called * For internal use only; inject an instance to be passed back
* should be passed an InputInterface &/or an OutputInterface. * to the command callback as a parameter.
* @param booean $usesInputInterface
* @param boolean $usesOutputInterface
* @return self
*/ */
public function setUseIOInterfaces($usesInputInterface, $usesOutputInterface) public function injectInstance($injectedInstance)
{ {
$this->usesInputInterface = $usesInputInterface; array_unshift($this->injectedInstances, $injectedInstance);
$this->usesOutputInterface = $usesOutputInterface;
return $this; return $this;
} }
/**
* Provide a reference to the instances that will be added to the
* beginning of the parameter list when the command callback is invoked.
*/
public function injectedInstances()
{
return $this->injectedInstances;
}
/** /**
* For backwards-compatibility mode only: disable addition of * For backwards-compatibility mode only: disable addition of
* options on the end of the arguments list. * options on the end of the arguments list.
@@ -66,6 +68,16 @@ class CommandData
return $this->annotationData; return $this->annotationData;
} }
public function formatterOptions()
{
return $this->formatterOptions;
}
public function setFormatterOptions($formatterOptions)
{
$this->formatterOptions = $formatterOptions;
}
public function input() public function input()
{ {
return $this->input; return $this->input;
@@ -170,14 +182,8 @@ class CommandData
// will be the command name. The Application alters the // will be the command name. The Application alters the
// input definition to match, adding a 'command' argument // input definition to match, adding a 'command' argument
// to the beginning. // to the beginning.
array_shift($args); if ($this->input->hasArgument('command')) {
array_shift($args);
if ($this->usesOutputInterface) {
array_unshift($args, $this->output());
}
if ($this->usesInputInterface) {
array_unshift($args, $this->input());
} }
return $args; return $args;

View File

@@ -27,6 +27,15 @@ use Symfony\Component\Finder\Finder;
* To discover global commands: * To discover global commands:
* *
* $commandFiles = $discovery->discover($drupalRoot, '\Drupal'); * $commandFiles = $discovery->discover($drupalRoot, '\Drupal');
*
* WARNING:
*
* This class is deprecated. Commandfile discovery is complicated, and does
* not work from within phar files. It is recommended to instead use a static
* list of command classes as shown in https://github.com/g1a/starter/blob/master/example
*
* For a better alternative when implementing a plugin mechanism, see
* https://robo.li/extending/#register-command-files-via-psr-4-autoloading
*/ */
class CommandFileDiscovery class CommandFileDiscovery
{ {
@@ -42,6 +51,8 @@ class CommandFileDiscovery
protected $searchDepth = 2; protected $searchDepth = 2;
/** @var bool */ /** @var bool */
protected $followLinks = false; protected $followLinks = false;
/** @var string[] */
protected $strippedNamespaces;
public function __construct() public function __construct()
{ {
@@ -125,6 +136,32 @@ class CommandFileDiscovery
return $this; return $this;
} }
/**
* Set a particular namespace part to ignore. This is useful in plugin
* mechanisms where the plugin is placed by Composer.
*
* For example, Drush extensions are placed in `./drush/Commands`.
* If the Composer installer path is `"drush/Commands/contrib/{$name}": ["type:drupal-drush"]`,
* then Composer will place the command files in `drush/Commands/contrib`.
* The namespace should not be any different in this instance than if
* the extension were placed in `drush/Commands`, though, so Drush therefore
* calls `ignoreNamespacePart('contrib', 'Commands')`. This causes the
* `contrib` component to be removed from the namespace if it follows
* the namespace `Commands`. If the '$base' parameter is not specified, then
* the ignored portion of the namespace may appear anywhere in the path.
*/
public function ignoreNamespacePart($ignore, $base = '')
{
$replacementPart = '\\';
if (!empty($base)) {
$replacementPart .= $base . '\\';
}
$ignoredPart = $replacementPart . $ignore . '\\';
$this->strippedNamespaces[$ignoredPart] = $replacementPart;
return $this;
}
/** /**
* Add one more location to the search location list. * Add one more location to the search location list.
* *
@@ -205,7 +242,32 @@ class CommandFileDiscovery
$this->discoverCommandFiles("$directory/src", $itemsNamespace) $this->discoverCommandFiles("$directory/src", $itemsNamespace)
); );
} }
return $commandFiles; return $this->fixNamespaces($commandFiles);
}
/**
* fixNamespaces will alter the namespaces in the commandFiles
* result to remove the Composer placement directory, if any.
*/
protected function fixNamespaces($commandFiles)
{
// Do nothing unless the client told us to remove some namespace components.
if (empty($this->strippedNamespaces)) {
return $commandFiles;
}
// Strip out any part of the namespace the client did not want.
// @see CommandFileDiscovery::ignoreNamespacePart
return array_map(
function ($fqcn) {
return str_replace(
array_keys($this->strippedNamespaces),
array_values($this->strippedNamespaces),
$fqcn
);
},
$commandFiles
);
} }
/** /**
@@ -304,8 +366,8 @@ class CommandFileDiscovery
foreach ($finder as $file) { foreach ($finder as $file) {
$relativePathName = $file->getRelativePathname(); $relativePathName = $file->getRelativePathname();
$relativeNamespaceAndClassname = str_replace( $relativeNamespaceAndClassname = str_replace(
['/', '.php'], ['/', '-', '.php'],
['\\', ''], ['\\', '_', ''],
$relativePathName $relativePathName
); );
$classname = $this->joinNamespace([$baseNamespace, $relativeNamespaceAndClassname]); $classname = $this->joinNamespace([$baseNamespace, $relativeNamespaceAndClassname]);

View File

@@ -31,16 +31,18 @@ class CommandProcessor implements LoggerAwareInterface
{ {
use LoggerAwareTrait; use LoggerAwareTrait;
/** var HookManager */ /** @var HookManager */
protected $hookManager; protected $hookManager;
/** var FormatterManager */ /** @var FormatterManager */
protected $formatterManager; protected $formatterManager;
/** var callable */ /** @var PrepareFormatterOptions[] */
protected $displayErrorFunction;
/** var PrepareFormatterOptions[] */
protected $prepareOptionsList = []; protected $prepareOptionsList = [];
/** var boolean */ /** @var boolean */
protected $passExceptions; protected $passExceptions;
/** @var ResultWriter */
protected $resultWriter;
/** @var ParameterInjection */
protected $parameterInjection;
public function __construct(HookManager $hookManager) public function __construct(HookManager $hookManager)
{ {
@@ -56,6 +58,32 @@ class CommandProcessor implements LoggerAwareInterface
return $this->hookManager; return $this->hookManager;
} }
public function resultWriter()
{
if (!$this->resultWriter) {
$this->setResultWriter(new ResultWriter());
}
return $this->resultWriter;
}
public function setResultWriter($resultWriter)
{
$this->resultWriter = $resultWriter;
}
public function parameterInjection()
{
if (!$this->parameterInjection) {
$this->setParameterInjection(new ParameterInjection());
}
return $this->parameterInjection;
}
public function setParameterInjection($parameterInjection)
{
$this->parameterInjection = $parameterInjection;
}
public function addPrepareFormatter(PrepareFormatter $preparer) public function addPrepareFormatter(PrepareFormatter $preparer)
{ {
$this->prepareOptionsList[] = $preparer; $this->prepareOptionsList[] = $preparer;
@@ -64,13 +92,13 @@ class CommandProcessor implements LoggerAwareInterface
public function setFormatterManager(FormatterManager $formatterManager) public function setFormatterManager(FormatterManager $formatterManager)
{ {
$this->formatterManager = $formatterManager; $this->formatterManager = $formatterManager;
$this->resultWriter()->setFormatterManager($formatterManager);
return $this; return $this;
} }
public function setDisplayErrorFunction(callable $fn) public function setDisplayErrorFunction(callable $fn)
{ {
$this->displayErrorFunction = $fn; $this->resultWriter()->setDisplayErrorFunction($fn);
return $this;
} }
/** /**
@@ -169,6 +197,9 @@ class CommandProcessor implements LoggerAwareInterface
return $validated; return $validated;
} }
// Once we have validated the optins, create the formatter options.
$this->createFormatterOptions($commandData);
$replaceDispatcher = new ReplaceCommandHookDispatcher($this->hookManager(), $names); $replaceDispatcher = new ReplaceCommandHookDispatcher($this->hookManager(), $names);
if ($this->logger) { if ($this->logger) {
$replaceDispatcher->setLogger($this->logger); $replaceDispatcher->setLogger($this->logger);
@@ -188,119 +219,6 @@ class CommandProcessor implements LoggerAwareInterface
return $processDispatcher->process($result, $commandData); return $processDispatcher->process($result, $commandData);
} }
/**
* Handle the result output and status code calculation.
*/
public function handleResults(OutputInterface $output, $names, $result, CommandData $commandData)
{
$statusCodeDispatcher = new StatusDeterminerHookDispatcher($this->hookManager(), $names);
$status = $statusCodeDispatcher->determineStatusCode($result);
// If the result is an integer and no separate status code was provided, then use the result as the status and do no output.
if (is_integer($result) && !isset($status)) {
return $result;
}
$status = $this->interpretStatusCode($status);
// Get the structured output, the output stream and the formatter
$extractDispatcher = new ExtracterHookDispatcher($this->hookManager(), $names);
$structuredOutput = $extractDispatcher->extractOutput($result);
$output = $this->chooseOutputStream($output, $status);
if ($status != 0) {
return $this->writeErrorMessage($output, $status, $structuredOutput, $result);
}
if ($this->dataCanBeFormatted($structuredOutput) && isset($this->formatterManager)) {
return $this->writeUsingFormatter($output, $structuredOutput, $commandData);
}
return $this->writeCommandOutput($output, $structuredOutput);
}
protected function dataCanBeFormatted($structuredOutput)
{
if (!isset($this->formatterManager)) {
return false;
}
return
is_object($structuredOutput) ||
is_array($structuredOutput);
}
/**
* Run the main command callback
*/
protected function runCommandCallback($commandCallback, CommandData $commandData)
{
$result = false;
try {
$args = $commandData->getArgsAndOptions();
$result = call_user_func_array($commandCallback, $args);
} catch (\Exception $e) {
$result = $this->commandErrorForException($e);
}
return $result;
}
/**
* Determine the formatter that should be used to render
* output.
*
* If the user specified a format via the --format option,
* then always return that. Otherwise, return the default
* format, unless --pipe was specified, in which case
* return the default pipe format, format-pipe.
*
* n.b. --pipe is a handy option introduced in Drush 2
* (or perhaps even Drush 1) that indicates that the command
* should select the output format that is most appropriate
* for use in scripts (e.g. to pipe to another command).
*
* @return string
*/
protected function getFormat(FormatterOptions $options)
{
// In Symfony Console, there is no way for us to differentiate
// between the user specifying '--format=table', and the user
// not specifying --format when the default value is 'table'.
// Therefore, we must make --field always override --format; it
// cannot become the default value for --format.
if ($options->get('field')) {
return 'string';
}
$defaults = [];
if ($options->get('pipe')) {
return $options->get('pipe-format', [], 'tsv');
}
return $options->getFormat($defaults);
}
/**
* Determine whether we should use stdout or stderr.
*/
protected function chooseOutputStream(OutputInterface $output, $status)
{
// If the status code indicates an error, then print the
// result to stderr rather than stdout
if ($status && ($output instanceof ConsoleOutputInterface)) {
return $output->getErrorOutput();
}
return $output;
}
/**
* Call the formatter to output the provided data.
*/
protected function writeUsingFormatter(OutputInterface $output, $structuredOutput, CommandData $commandData)
{
$formatterOptions = $this->createFormatterOptions($commandData);
$format = $this->getFormat($formatterOptions);
$this->formatterManager->write(
$output,
$format,
$structuredOutput,
$formatterOptions
);
return 0;
}
/** /**
* Create a FormatterOptions object for use in writing the formatted output. * Create a FormatterOptions object for use in writing the formatted output.
* @param CommandData $commandData * @param CommandData $commandData
@@ -313,51 +231,38 @@ class CommandProcessor implements LoggerAwareInterface
foreach ($this->prepareOptionsList as $preparer) { foreach ($this->prepareOptionsList as $preparer) {
$preparer->prepare($commandData, $formatterOptions); $preparer->prepare($commandData, $formatterOptions);
} }
$commandData->setFormatterOptions($formatterOptions);
return $formatterOptions; return $formatterOptions;
} }
/** /**
* Description * Handle the result output and status code calculation.
* @param OutputInterface $output
* @param int $status
* @param string $structuredOutput
* @param mixed $originalResult
* @return type
*/ */
protected function writeErrorMessage($output, $status, $structuredOutput, $originalResult) public function handleResults(OutputInterface $output, $names, $result, CommandData $commandData)
{ {
if (isset($this->displayErrorFunction)) { $statusCodeDispatcher = new StatusDeterminerHookDispatcher($this->hookManager(), $names);
call_user_func($this->displayErrorFunction, $output, $structuredOutput, $status, $originalResult); $extractDispatcher = new ExtracterHookDispatcher($this->hookManager(), $names);
} else {
$this->writeCommandOutput($output, $structuredOutput); return $this->resultWriter()->handle($output, $result, $commandData, $statusCodeDispatcher, $extractDispatcher);
}
return $status;
} }
/** /**
* If the result object is a string, then print it. * Run the main command callback
*/ */
protected function writeCommandOutput( protected function runCommandCallback($commandCallback, CommandData $commandData)
OutputInterface $output, {
$structuredOutput $result = false;
) { try {
// If there is no formatter, we will print strings, $args = $this->parameterInjection()->args($commandData);
// but can do no more than that. $result = call_user_func_array($commandCallback, $args);
if (is_string($structuredOutput)) { } catch (\Exception $e) {
$output->writeln($structuredOutput); $result = $this->commandErrorForException($e);
} }
return 0; return $result;
} }
/** public function injectIntoCommandData($commandData, $injectedClasses)
* If a status code was set, then return it; otherwise,
* presume success.
*/
protected function interpretStatusCode($status)
{ {
if (isset($status)) { $this->parameterInjection()->injectIntoCommandData($commandData, $injectedClasses);
return $status;
}
return 0;
} }
} }

View File

@@ -0,0 +1,71 @@
<?php
namespace Consolidation\AnnotatedCommand;
/**
* Return a CommandResult as the result of a command to pass both an exit
* code and result data from a command.
*
* Usage:
*
* return CommandResult::dataWithExitCode(new RowsOfFields($rows), 1);
*
* The CommandResult can also be used to unambiguously return just
* an exit code or just output data.
*
* Exit code only:
*
* return CommandResult::dataWithExitCode(1);
*
* Data only:
*
* return CommandResult::data(new RowsOfFields($rows));
*
* Historically, it has always been possible to return an integer to indicate
* that the result is an exit code, and other return types (typically array
* / ArrayObjects) indicating actual data with an implicit exit code of 0.
* Using a CommandResult is preferred, though, as it allows the result of the
* function to be unambiguously specified without type-based interpretation.
*
* @package Consolidation\AnnotatedCommand
*/
class CommandResult implements ExitCodeInterface, OutputDataInterface
{
protected $data;
protected $exitCode;
protected function __construct($data = null, $exitCode = 0)
{
$this->data = $data;
$this->exitCode = $exitCode;
}
public static function exitCode($exitCode)
{
return new self(null, $exitCode);
}
public static function data($data)
{
return new self($data);
}
public static function dataWithExitCode($data, $exitCode)
{
return new self($data, $exitCode);
}
public function getExitCode()
{
return $this->exitCode;
}
public function getOutputData()
{
return $this->data;
}
public function setOutputData($data)
{
$this->data = $data;
}
}

View File

@@ -0,0 +1,76 @@
<?php
namespace Consolidation\AnnotatedCommand\Help;
use Symfony\Component\Console\Application;
use Symfony\Component\Console\Descriptor\XmlDescriptor;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Consolidation\AnnotatedCommand\AnnotatedCommand;
class HelpDocumentBuilder
{
public static function alter(\DomDocument $originalDom, AnnotatedCommand $command)
{
$dom = new \DOMDocument('1.0', 'UTF-8');
$dom->appendChild($commandXML = $dom->createElement('command'));
$commandXML->setAttribute('id', $command->getName());
$commandXML->setAttribute('name', $command->getName());
// Get the original <command> element and its top-level elements.
$originalCommandXML = static::getSingleElementByTagName($dom, $originalDom, 'command');
$originalUsagesXML = static::getSingleElementByTagName($dom, $originalCommandXML, 'usages');
$originalDescriptionXML = static::getSingleElementByTagName($dom, $originalCommandXML, 'description');
$originalHelpXML = static::getSingleElementByTagName($dom, $originalCommandXML, 'help');
$originalArgumentsXML = static::getSingleElementByTagName($dom, $originalCommandXML, 'arguments');
$originalOptionsXML = static::getSingleElementByTagName($dom, $originalCommandXML, 'options');
// Keep only the first of the <usage> elements
$newUsagesXML = $dom->createElement('usages');
$firstUsageXML = static::getSingleElementByTagName($dom, $originalUsagesXML, 'usage');
$newUsagesXML->appendChild($firstUsageXML);
// Create our own <example> elements
$newExamplesXML = $dom->createElement('examples');
foreach ($command->getExampleUsages() as $usage => $description) {
$newExamplesXML->appendChild($exampleXML = $dom->createElement('example'));
$exampleXML->appendChild($usageXML = $dom->createElement('usage', $usage));
$exampleXML->appendChild($descriptionXML = $dom->createElement('description', $description));
}
// Create our own <alias> elements
$newAliasesXML = $dom->createElement('aliases');
foreach ($command->getAliases() as $alias) {
$newAliasesXML->appendChild($dom->createElement('alias', $alias));
}
// Create our own <topic> elements
$newTopicsXML = $dom->createElement('topics');
foreach ($command->getTopics() as $topic) {
$newTopicsXML->appendChild($topicXML = $dom->createElement('topic', $topic));
}
// Place the different elements into the <command> element in the desired order
$commandXML->appendChild($newUsagesXML);
$commandXML->appendChild($newExamplesXML);
$commandXML->appendChild($originalDescriptionXML);
$commandXML->appendChild($originalArgumentsXML);
$commandXML->appendChild($originalOptionsXML);
$commandXML->appendChild($originalHelpXML);
$commandXML->appendChild($newAliasesXML);
$commandXML->appendChild($newTopicsXML);
return $dom;
}
protected static function getSingleElementByTagName($dom, $parent, $tagName)
{
// There should always be exactly one '<command>' element.
$elements = $parent->getElementsByTagName($tagName);
$result = $elements->item(0);
$result = $dom->importNode($result, true);
return $result;
}
}

View File

@@ -4,6 +4,10 @@ namespace Consolidation\AnnotatedCommand\Hooks;
/** /**
* A StatusDeterminer maps from a result to a status exit code. * A StatusDeterminer maps from a result to a status exit code.
* *
* @deprecated. Instead of using a Status Determiner hook, commands
* should simply return their exit code and result data separately
* using a CommandResult object.
*
* @see HookManager::addStatusDeterminer() * @see HookManager::addStatusDeterminer()
*/ */
interface StatusDeterminerInterface interface StatusDeterminerInterface

View File

@@ -0,0 +1,34 @@
<?php
namespace Consolidation\AnnotatedCommand\Input;
/**
* StdinAwareInterface should be implemented by classes that read from
* standard input. This class contains facilities to redirect stdin to
* instead read from a file, e.g. in response to an option or argument
* value.
*
* Using StdinAwareInterface is preferable to reading from php://stdin
* directly, as it provides a mechanism to instead inject an instance
* of StdinHandler that reads from a file, e.g. in tests.
*
* n.b. If the standard input handler is fetched prior to any code
* injecting an stdin handler, you will get an object that is configured
* to read from php://stdin.
*/
interface StdinAwareInterface
{
/**
* Sets the standard input handler.
*
* @param StdinHandler
*/
public function setStdinHandler(StdinHandler $stdin);
/**
* Returns the standard input handler.
*
* @return StdinHandler
*/
public function stdin();
}

View File

@@ -0,0 +1,30 @@
<?php
namespace Consolidation\AnnotatedCommand\Input;
/**
* StdinAwareTrait provides the implementation for StdinAwareInterface.
*/
trait StdinAwareTrait
{
protected $stdinHandler;
/**
* @inheritdoc
*/
public function setStdinHandler(StdinHandler $stdin)
{
$this->stdinHandler = $stdin;
}
/**
* @inheritdoc
*/
public function stdin()
{
if (!$this->stdinHandler) {
$this->stdinHandler = new StdinHandler();
}
return $this->stdinHandler;
}
}

View File

@@ -0,0 +1,247 @@
<?php
namespace Consolidation\AnnotatedCommand\Input;
use Symfony\Component\Console\Input\StreamableInputInterface;
use Symfony\Component\Console\Input\InputInterface;
/**
* StdinHandler is a thin wrapper around php://stdin. It provides
* methods for redirecting input from a file, possibly conditionally
* under the control of an Input object.
*
* Example trivial usage (always reads from stdin):
*
* class Example implements StdinAwareInterface
* {
* /**
* * @command cat
* * @param string $file
* * @default $file -
* * /
* public function cat()
* {
* print($this->stdin()->contents());
* }
* }
*
* Command that reads from stdin or file via an option:
*
* /**
* * @command cat
* * @param string $file
* * @default $file -
* * /
* public function cat(InputInterface $input)
* {
* $data = $this->stdin()->select($input, 'file')->contents();
* }
*
* Command that reads from stdin or file via an option:
*
* /**
* * @command cat
* * @option string $file
* * @default $file -
* * /
* public function cat(InputInterface $input)
* {
* $data = $this->stdin()->select($input, 'file')->contents();
* }
*
* It is also possible to inject the selected stream into the input object,
* e.g. if you want the contents of the source file to be fed to any Question
* helper et. al. that the $input object is used with.
*
* /**
* * @command example
* * @option string $file
* * @default $file -
* * /
* public function example(InputInterface $input)
* {
* $this->stdin()->setStream($input, 'file');
* }
*
*
* Inject an alternate source for standard input in tests. Presumes that
* the object under test gets a reference to the StdinHandler via dependency
* injection from the container.
*
* $container->get('stdinHandler')->redirect($pathToTestStdinFileFixture);
*
* You may also inject your stdin file fixture stream into the $input object
* as usual, and then use it with 'select()' or 'setStream()' as shown above.
*
* Finally, this class may also be used in absence of a dependency injection
* container by using the static 'selectStream()' method:
*
* /**
* * @command example
* * @option string $file
* * @default $file -
* * /
* public function example(InputInterface $input)
* {
* $data = StdinHandler::selectStream($input, 'file')->contents();
* }
*
* To test a method that uses this technique, simply inject your stdin
* fixture into the $input object in your test:
*
* $input->setStream(fopen($pathToFixture, 'r'));
*/
class StdinHandler
{
protected $path;
protected $stream;
public static function selectStream(InputInterface $input, $optionOrArg)
{
$handler = new Self();
return $handler->setStream($input, $optionOrArg);
}
/**
* hasPath returns 'true' if the stdin handler has a path to a file.
*
* @return bool
*/
public function hasPath()
{
// Once the stream has been opened, we mask the existence of the path.
return !$this->hasStream() && !empty($this->path);
}
/**
* hasStream returns 'true' if the stdin handler has opened a stream.
*
* @return bool
*/
public function hasStream()
{
return !empty($this->stream);
}
/**
* path returns the path to any file that was set as a redirection
* source, or `php://stdin` if none have been.
*
* @return string
*/
public function path()
{
return $this->path ?: 'php://stdin';
}
/**
* close closes the input stream if it was opened.
*/
public function close()
{
if ($this->hasStream()) {
fclose($this->stream);
$this->stream = null;
}
return $this;
}
/**
* redirect specifies a path to a file that should serve as the
* source to read from. If the input path is '-' or empty,
* then output will be taken from php://stdin (or whichever source
* was provided via the 'redirect' method).
*
* @return $this
*/
public function redirect($path)
{
if ($this->pathProvided($path)) {
$this->path = $path;
}
return $this;
}
/**
* select chooses the source of the input stream based on whether or
* not the user provided the specified option or argument on the commandline.
* Stdin is selected if there is no user selection.
*
* @param InputInterface $input
* @param string $optionOrArg
* @return $this
*/
public function select(InputInterface $input, $optionOrArg)
{
$this->redirect($this->getOptionOrArg($input, $optionOrArg));
if (!$this->hasPath() && ($input instanceof StreamableInputInterface)) {
$this->stream = $input->getStream();
}
return $this;
}
/**
* getStream opens and returns the stdin stream (or redirect file).
*/
public function getStream()
{
if (!$this->hasStream()) {
$this->stream = fopen($this->path(), 'r');
}
return $this->stream;
}
/**
* setStream functions like 'select', and also sets up the $input
* object to read from the selected input stream e.g. when used
* with a question helper.
*/
public function setStream(InputInterface $input, $optionOrArg)
{
$this->select($input, $optionOrArg);
if ($input instanceof StreamableInputInterface) {
$stream = $this->getStream();
$input->setStream($stream);
}
return $this;
}
/**
* contents reads the entire contents of the standard input stream.
*
* @return string
*/
public function contents()
{
// Optimization: use file_get_contents if we have a path to a file
// and the stream has not been opened yet.
if (!$this->hasStream()) {
return file_get_contents($this->path());
}
$stream = $this->getStream();
stream_set_blocking($stream, false); // TODO: We did this in backend invoke. Necessary here?
$contents = stream_get_contents($stream);
$this->close();
return $contents;
}
/**
* Returns 'true' if a path was specfied, and that path was not '-'.
*/
protected function pathProvided($path)
{
return !empty($path) && ($path != '-');
}
protected function getOptionOrArg(InputInterface $input, $optionOrArg)
{
if ($input->hasOption($optionOrArg)) {
return $input->getOption($optionOrArg);
}
return $input->getArgument($optionOrArg);
}
}

View File

@@ -0,0 +1,57 @@
<?php
namespace Consolidation\AnnotatedCommand;
/**
* Prepare parameter list for execurion. Handle injection of any
* special values (e.g. $input and $output) into the parameter list.
*/
class ParameterInjection implements ParameterInjector
{
public function __construct()
{
$this->register('Symfony\Component\Console\Input\InputInterface', $this);
$this->register('Symfony\Component\Console\Output\OutputInterface', $this);
}
public function register($interfaceName, ParameterInjector $injector)
{
$this->injectors[$interfaceName] = $injector;
}
public function args($commandData)
{
return array_merge(
$commandData->injectedInstances(),
$commandData->getArgsAndOptions()
);
}
public function injectIntoCommandData($commandData, $injectedClasses)
{
foreach ($injectedClasses as $injectedClass) {
$injectedInstance = $this->getInstanceToInject($commandData, $injectedClass);
$commandData->injectInstance($injectedInstance);
}
}
protected function getInstanceToInject(CommandData $commandData, $interfaceName)
{
if (!isset($this->injectors[$interfaceName])) {
return null;
}
return $this->injectors[$interfaceName]->get($commandData, $interfaceName);
}
public function get(CommandData $commandData, $interfaceName)
{
switch ($interfaceName) {
case 'Symfony\Component\Console\Input\InputInterface':
return $commandData->input();
case 'Symfony\Component\Console\Output\OutputInterface':
return $commandData->output();
}
return null;
}
}

View File

@@ -0,0 +1,10 @@
<?php
namespace Consolidation\AnnotatedCommand;
/**
* Provide an object for the specified interface or class name.
*/
interface ParameterInjector
{
public function get(CommandData $commandData, $interfaceName);
}

View File

@@ -20,7 +20,7 @@ class CommandInfo
/** /**
* Serialization schema version. Incremented every time the serialization schema changes. * Serialization schema version. Incremented every time the serialization schema changes.
*/ */
const SERIALIZATION_SCHEMA_VERSION = 3; const SERIALIZATION_SCHEMA_VERSION = 4;
/** /**
* @var \ReflectionMethod * @var \ReflectionMethod
@@ -88,6 +88,11 @@ class CommandInfo
*/ */
protected $returnType; protected $returnType;
/**
* @var string[]
*/
protected $injectedClasses = [];
/** /**
* Create a new CommandInfo class for a particular method of a class. * Create a new CommandInfo class for a particular method of a class.
* *
@@ -203,6 +208,18 @@ class CommandInfo
return $this->returnType; return $this->returnType;
} }
public function getInjectedClasses()
{
$this->parseDocBlock();
return $this->injectedClasses;
}
public function setInjectedClasses($injectedClasses)
{
$this->injectedClasses = $injectedClasses;
return $this;
}
public function setReturnType($returnType) public function setReturnType($returnType)
{ {
$this->returnType = $returnType; $this->returnType = $returnType;
@@ -634,6 +651,11 @@ class CommandInfo
if ($this->lastParameterIsOptionsArray()) { if ($this->lastParameterIsOptionsArray()) {
array_pop($params); array_pop($params);
} }
while (!empty($params) && ($params[0]->getClass() != null)) {
$param = array_shift($params);
$injectedClass = $param->getClass()->getName();
array_unshift($this->injectedClasses, $injectedClass);
}
foreach ($params as $param) { foreach ($params as $param) {
$this->addParameterToResult($result, $param); $this->addParameterToResult($result, $param);
} }

View File

@@ -29,7 +29,7 @@ class CommandInfoDeserializer
isset($cache['method_name']) && isset($cache['method_name']) &&
isset($cache['mtime']) && isset($cache['mtime']) &&
($cache['schema'] > 0) && ($cache['schema'] > 0) &&
($cache['schema'] <= CommandInfo::SERIALIZATION_SCHEMA_VERSION) && ($cache['schema'] == CommandInfo::SERIALIZATION_SCHEMA_VERSION) &&
self::cachedMethodExists($cache); self::cachedMethodExists($cache);
} }
@@ -45,6 +45,7 @@ class CommandInfoDeserializer
->setDescription($info_array['description']) ->setDescription($info_array['description'])
->replaceExampleUsages($info_array['example_usages']) ->replaceExampleUsages($info_array['example_usages'])
->setReturnType($info_array['return_type']) ->setReturnType($info_array['return_type'])
->setInjectedClasses($info_array['injected_classes'])
; ;
$this->constructDefaultsWithDescriptions($commandInfo->arguments(), (array)$info_array['arguments']); $this->constructDefaultsWithDescriptions($commandInfo->arguments(), (array)$info_array['arguments']);
@@ -81,6 +82,7 @@ class CommandInfoDeserializer
'parameters' => [], 'parameters' => [],
'arguments' => [], 'arguments' => [],
'options' => [], 'options' => [],
'injected_classes' => [],
'mtime' => 0, 'mtime' => 0,
]; ];
} }

View File

@@ -23,6 +23,7 @@ class CommandInfoSerializer
'class' => $className, 'class' => $className,
'method_name' => $commandInfo->getMethodName(), 'method_name' => $commandInfo->getMethodName(),
'mtime' => filemtime($path), 'mtime' => filemtime($path),
'injected_classes' => [],
]; ];
// If this is a valid method / hook, then add more information. // If this is a valid method / hook, then add more information.
@@ -38,6 +39,7 @@ class CommandInfoSerializer
]; ];
$info['arguments'] = $this->serializeDefaultsWithDescriptions($commandInfo->arguments()); $info['arguments'] = $this->serializeDefaultsWithDescriptions($commandInfo->arguments());
$info['options'] = $this->serializeDefaultsWithDescriptions($commandInfo->options()); $info['options'] = $this->serializeDefaultsWithDescriptions($commandInfo->options());
$info['injected_classes'] = $commandInfo->getInjectedClasses();
} }
return $info; return $info;

View File

@@ -20,7 +20,7 @@ class BespokeDocBlockParser
'command' => 'processCommandTag', 'command' => 'processCommandTag',
'name' => 'processCommandTag', 'name' => 'processCommandTag',
'arg' => 'processArgumentTag', 'arg' => 'processArgumentTag',
'param' => 'processArgumentTag', 'param' => 'processParamTag',
'return' => 'processReturnTag', 'return' => 'processReturnTag',
'option' => 'processOptionTag', 'option' => 'processOptionTag',
'default' => 'processDefaultTag', 'default' => 'processDefaultTag',
@@ -83,6 +83,31 @@ class BespokeDocBlockParser
$this->commandInfo->setDescription($tag->getContent()); $this->commandInfo->setDescription($tag->getContent());
} }
/**
* Store the data from a @param annotation in our argument descriptions.
*/
protected function processParamTag($tag)
{
if ($tag->hasTypeVariableAndDescription($matches)) {
if ($this->ignoredParamType($matches['type'])) {
return;
}
}
return $this->processArgumentTag($tag);
}
protected function ignoredParamType($paramType)
{
// TODO: We should really only allow a couple of types here,
// e.g. 'string', 'array', 'bool'. Blacklist things we do not
// want for now to avoid breaking commands with weird types.
// Fix in the next major version.
//
// This works:
// return !in_array($paramType, ['string', 'array', 'integer', 'bool']);
return preg_match('#(InputInterface|OutputInterface)$#', $paramType);
}
/** /**
* Store the data from a @arg annotation in our argument descriptions. * Store the data from a @arg annotation in our argument descriptions.
*/ */
@@ -112,7 +137,20 @@ class BespokeDocBlockParser
{ {
$variableName = $this->commandInfo->findMatchingOption($name); $variableName = $this->commandInfo->findMatchingOption($name);
$description = static::removeLineBreaks($description); $description = static::removeLineBreaks($description);
list($description, $defaultValue) = $this->splitOutDefault($description);
$set->add($variableName, $description); $set->add($variableName, $description);
if ($defaultValue !== null) {
$set->setDefaultValue($variableName, $defaultValue);
}
}
protected function splitOutDefault($description)
{
if (!preg_match('#(.*)(Default: *)(.*)#', trim($description), $matches)) {
return [$description, null];
}
return [trim($matches[1]), $this->interpretDefaultValue(trim($matches[3]))];
} }
/** /**

View File

@@ -88,7 +88,7 @@ class FullyQualifiedClassCache
// If this is an aliased class, 'use \Foo\Bar as Baz', then adjust // If this is an aliased class, 'use \Foo\Bar as Baz', then adjust
if (strpos($usedClass, ' as ')) { if (strpos($usedClass, ' as ')) {
$unqualifiedClass = preg_replace('#.*\sas\s+#', '', $usedClass); $unqualifiedClass = preg_replace('#.*\sas\s+#', '', $usedClass);
$usedClass = preg_replace('#\s+as\s+#', '', $usedClass); $usedClass = preg_replace('#[a-zA-Z0-9]+\s+as\s+#', '', $usedClass);
} }
$result[$unqualifiedClass] = $usedClass; $result[$unqualifiedClass] = $usedClass;
} }

Some files were not shown because too many files have changed in this diff Show More