Compare commits
2 Commits
v26.6.0.OS
...
upgrade_to
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
067af27b76 | ||
|
|
96b0ad8496 |
27
.gitignore
vendored
27
.gitignore
vendored
@@ -1,12 +1,17 @@
|
||||
/.settings
|
||||
/.buildpath
|
||||
/.project
|
||||
/.idea/
|
||||
/build
|
||||
/deployment/clients/dev/data/
|
||||
/deployment/clients/test/data/
|
||||
/deployment/clients/local/data/
|
||||
/.vagrant
|
||||
/app/config.php
|
||||
/app/data/*
|
||||
.settings
|
||||
.buildpath
|
||||
.project
|
||||
.idea/
|
||||
build
|
||||
deployment/clients/dev/data/
|
||||
deployment/clients/test/data/
|
||||
deployment/clients/local/data/
|
||||
.vagrant
|
||||
app/config.php
|
||||
app/data/*
|
||||
cache.properties
|
||||
node_modules/*
|
||||
web/dist/*.map
|
||||
web/admin/dist/*.map
|
||||
web/modules/dist/*.map
|
||||
.gitkeep
|
||||
|
||||
5
Vagrantfile
vendored
5
Vagrantfile
vendored
@@ -21,9 +21,8 @@ Vagrant.configure(2) do |config|
|
||||
config.vm.hostname = "icehrm.open"
|
||||
|
||||
config.hostsupdater.aliases = [
|
||||
"app.dev",
|
||||
"app.app.dev",
|
||||
"clients.app.dev"
|
||||
"app.icehrm-open.test",
|
||||
"clients.icehrm-open.test"
|
||||
]
|
||||
|
||||
end
|
||||
|
||||
45
build.xml
45
build.xml
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="icehrm-pro" default="build">
|
||||
<project name="icehrm" default="build">
|
||||
<!-- By default, we assume all tools to be on the $PATH -->
|
||||
<property name="toolsdir" value="${basedir}/tools/"/>
|
||||
<property name="destination" value="${basedir}/build/app"/>
|
||||
@@ -11,7 +11,7 @@
|
||||
<property name="installpath" value="/var/www/apps.gamonoid.com/icehrm-open-core"/>
|
||||
|
||||
<target name="build-ci"
|
||||
depends="prepare,lint,phpcs,copyapp,phpunit"
|
||||
depends="prepare,lint,phpcs-ci,copyapp,phpunit"
|
||||
description=""/>
|
||||
|
||||
<target name="build"
|
||||
@@ -80,7 +80,6 @@
|
||||
<exec executable="${toolsdir}phploc">
|
||||
<arg value="--count-tests" />
|
||||
<arg path="${basedir}/core/src" />
|
||||
<arg path="${basedir}/test" />
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
@@ -94,7 +93,6 @@
|
||||
<arg value="--log-xml" />
|
||||
<arg path="${basedir}/build/logs/phploc.xml" />
|
||||
<arg path="${basedir}/core/src" />
|
||||
<arg path="${basedir}/test" />
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
@@ -145,7 +143,7 @@
|
||||
<target name="phpcs-ci"
|
||||
depends="prepare"
|
||||
description="Find coding standard violations using PHP_CodeSniffer and log result in XML format. Intended for usage within a continuous integration environment.">
|
||||
<exec executable="${toolsdir}phpcs" output="/dev/null">
|
||||
<exec executable="${toolsdir}phpcs" output="/dev/null" failonerror="true">
|
||||
<arg value="--report=checkstyle" />
|
||||
<arg value="--report-file=${basedir}/build/logs/checkstyle.xml" />
|
||||
<arg value="--standard=PSR2" />
|
||||
@@ -181,12 +179,41 @@
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="phpunit-sa"
|
||||
description="Run unit tests with PHPUnit">
|
||||
<exec executable="${toolsdir}phpunit" failonerror="true">
|
||||
<arg value="--configuration"/>
|
||||
<arg path="${basedir}/phpunit.xml"/>
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="phpdox"
|
||||
depends=""
|
||||
description="Generate project documentation using phpDox">
|
||||
<exec executable="${toolsdir}phpdox"/>
|
||||
</target>
|
||||
|
||||
<target name="copyjs"
|
||||
description="Copy generated assets">
|
||||
|
||||
<delete includeemptydirs="true">
|
||||
<fileset dir="${destination}">
|
||||
<include name="web/admin/dist/**"/>
|
||||
<include name="web/modules/dist/**"/>
|
||||
<include name="web/dist/**"/>
|
||||
</fileset>
|
||||
</delete>
|
||||
|
||||
<copy todir="${destination}" overwrite="true">
|
||||
<fileset dir="${origin}">
|
||||
<include name="web/admin/dist/**"/>
|
||||
<include name="web/modules/dist/**"/>
|
||||
<include name="web/dist/**"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
</target>
|
||||
|
||||
<target name="copyapp"
|
||||
description="Copy generated files to QA app">
|
||||
|
||||
@@ -199,6 +226,11 @@
|
||||
<copy todir="${destination}" overwrite="true">
|
||||
<fileset dir="${origin}">
|
||||
<include name="**/*"/>
|
||||
<exclude name="node_modules/**"/>
|
||||
<exclude name="web/admin/src/**"/>
|
||||
<exclude name="web/modules/src/**"/>
|
||||
<exclude name="web/api/**"/>
|
||||
<exclude name="web/api-common/**"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
@@ -219,6 +251,9 @@
|
||||
<include name="cache.properties"/>
|
||||
<include name="phpdox.xml"/>
|
||||
<include name="phpunit.xml"/>
|
||||
<include name="web/admin/dist/*.map"/>
|
||||
<include name="web/modules/dist/*.map"/>
|
||||
<include name="web/dist/*.map"/>
|
||||
</fileset>
|
||||
</delete>
|
||||
|
||||
|
||||
743
cache.properties
743
cache.properties
@@ -1,244 +1,499 @@
|
||||
#Sun Apr 29 05:47:35 CEST 2018
|
||||
/Users/Thilina/Projects/icehrm/src/Expenses/Common/Model/EmployeeExpenseApproval.php=db8eedd8fb151769acded489e9d616c1
|
||||
/Users/Thilina/Projects/icehrm/src/Attendance/Common/Calculations/BasicOvertimeCalculator.php=9c96ae3f71796029d3f93e5c63783f53
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Email/SNSEmailSender.php=fa905e3ab63ea745c591e744d6741b6b
|
||||
/Users/Thilina/Projects/icehrm/src/Salary/Common/Model/SalaryComponent.php=31e89f1115de7986cd790c8e113ab6d5
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Email/EmailSender.php=03a98d7d1bcc56a77cc5b3bfa46b79fd
|
||||
/Users/Thilina/Projects/icehrm/test/bootstrap.php=391db040530140c40c84cbbc65645d58
|
||||
/Users/Thilina/Projects/icehrm/src/Utils/InputCleaner.php=e86fcb9daf1d32a4328edf40a31152f8
|
||||
/Users/Thilina/Projects/icehrm/src/Projects/Common/Model/Project.php=05b1cd967d67cb977558f2567d7f6cb6
|
||||
/Users/Thilina/Projects/icehrm/src/Model/DataEntryBackup.php=9ab3a7d48dbdd377a90c505cf692c17e
|
||||
/Users/Thilina/Projects/icehrm/src/Qualifications/Common/Model/Skill.php=e1441a2526e24a7ada7d20b36ff9e355
|
||||
/Users/Thilina/Projects/icehrm/src/Permissions/Admin/Api/PermissionsAdminManager.php=c66e06b926b4006e8a2d7f2e77e0f1fa
|
||||
/Users/Thilina/Projects/icehrm/src/Metadata/Common/Model/Province.php=4a718577000772ab7591a2586f7c75c8
|
||||
/Users/Thilina/Projects/icehrm/src/Loans/Common/Model/EmployeeCompanyLoan.php=abc8959df2ec0f3e19ff6da12c3163f9
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Approval/ApprovalStatus.php=7a3bc0a73f237eb677254b245887f48f
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/FileService.php=806ff6c25c7654c30e99b0418e1c1475
|
||||
/Users/Thilina/Projects/icehrm/src/Dashboard/User/Api/DashboardActionManager.php=3f797cf4807ad5cd4f881607142df049
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Cron/Task/EmailSenderTask.php=f0c93e7c807706922cb812723e51bd09
|
||||
/Users/Thilina/Projects/icehrm/src/Attendance/Admin/Api/AttendanceUtil.php=34fe63a4c0f954451afae6c359ea5b38
|
||||
/Users/Thilina/Projects/icehrm/src/Payroll/Common/Model/Deduction.php=1e49d0fd8d4673e3fd094cfb0e467df4
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Reports/PayrollDataExport.php=83bd6faa73c75667ecf25091c3729abc
|
||||
/Users/Thilina/Projects/icehrm/src/Employees/Common/Model/Employee.php=f8814257c241892fcf45e1d409d6ab1b
|
||||
/Users/Thilina/Projects/icehrm/src/Metadata/Admin/Api/MetadataAdminManager.php=9f383f9c34ec98a8e2e701825c548a8a
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Reports/NewHiresEmployeeReport.php=64eab525953538d481dab6052dd76d81
|
||||
/Users/Thilina/Projects/icehrm/src/Payroll/Common/Model/DeductionGroup.php=c35db5b88aa4b0c7d78b8444688931b5
|
||||
/Users/Thilina/Projects/icehrm/src/Utils/Math/EvalMathFuncs.php=d6f7c26eab307d205ee8483d87a380cb
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/ModuleBuilder/ModuleTabGroup.php=d81cfc2b3dcad2f57317b1274c884d95
|
||||
/Users/Thilina/Projects/icehrm/src/Model/RestAccessToken.php=77c292675944ff887fc8b4c3f7b6da94
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/LDAPManager.php=e88dd0634a6ca372564faa5a1d540796
|
||||
/Users/Thilina/Projects/icehrm/src/Expenses/Admin/Api/ExpensesAdminManager.php=ef6961e298a55379ec4dfff8b9db77fc
|
||||
/Users/Thilina/Projects/icehrm/src/Dashboard/User/Api/DashboardModulesManager.php=2e8968121b445353ee864c76c44483d3
|
||||
/Users/Thilina/Projects/icehrm/src/Model/UserReport.php=0a8a8476e3088011cc54fda139567b56
|
||||
/Users/Thilina/Projects/icehrm/src/Travel/Common/Model/EmployeeTravelRecordApproval.php=d84b2a1323f3663806cc30545e748cd4
|
||||
/Users/Thilina/Projects/icehrm/src/Metadata/Common/Model/SupportedLanguage.php=3ec1220796f6e33641998a33f036d709
|
||||
/Users/Thilina/Projects/icehrm/src/TimeSheets/Common/Model/QTDays.php=32a00e65a966331b776dc37cc0609edf
|
||||
/Users/Thilina/Projects/icehrm/src/Salary/Common/Model/EmployeeSalary.php=ec80c4e8280d23568df79f59d1b32de8
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/SimpleImage.php=fdfb7b2e71e14975ebce16de44ea9dee
|
||||
/Users/Thilina/Projects/icehrm/src/Expenses/User/Api/ExpensesModulesManager.php=4860a1fbb24f4074a6918b2c0b973e80
|
||||
/Users/Thilina/Projects/icehrm/src/Employees/User/Api/EmployeesActionManager.php=7f495266d28737c779e1e9ab3c61e0db
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Approval/ApproveAdminActionManager.php=3c26b53f0e5141b8f4a033cbbd4c622e
|
||||
/Users/Thilina/Projects/icehrm/src/Settings/Admin/Api/SettingsAdminManager.php=5e5df0056db6f9593128720581feca18
|
||||
/Users/Thilina/Projects/icehrm/src/Travel/User/Api/TravelModulesManager.php=94c9204a67e99af9133cd2aa371cb6da
|
||||
/Users/Thilina/Projects/icehrm/test/unit/UserAttendanceActionManagerUnit.php=1d71d366a13f253ef6931aa87202ac42
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Reports/OvertimeRequestReport.php=3cd3bc887da768a32bfc61c152489528
|
||||
/Users/Thilina/Projects/icehrm/src/Employees/User/Api/EmployeesModulesManager.php=ad9ab05afd9cf551870352dba82e6d69
|
||||
/Users/Thilina/Projects/icehrm/test/helper/EmployeeTestDataHelper.php=65ec2048653c9e4e4359d9b6967a860d
|
||||
/Users/Thilina/Projects/icehrm/test/integration/ApprovalStatusIntegration.php=8b9243e5cbb302513d906ff9de246acd
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Reports/EmployeeTimeSheetData.php=9d612ee603fdf4e6b710eec725da2656
|
||||
/Users/Thilina/Projects/icehrm/src/Payroll/Common/Model/PayrollData.php=f1a49da4e6e5a91695dd96c9585e1686
|
||||
/Users/Thilina/Projects/icehrm/src/TimeSheets/User/Api/TimeSheetsInitialize.php=d47372f12494019c1004a04cbe57013d
|
||||
/Users/Thilina/Projects/icehrm/src/Modules/Admin/Api/ModulesAdminManager.php=ef70889c3b3b9eae52800ce3a326d540
|
||||
/Users/Thilina/Projects/icehrm/src/Modules/Common/Model/Module.php=8f0d1680087f555f5628c53236c7625f
|
||||
/Users/Thilina/Projects/icehrm/src/Expenses/Common/Model/ExpensesPaymentMethod.php=338ce9cabb90a291e88b940756b06701
|
||||
/Users/Thilina/Projects/icehrm/src/Company/Common/Model/Timezone.php=50aff3bc39221658c35041abdc55ad98
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Reports/OvertimeSummaryReport.php=16d9e2f10de82f25d0965e2d327086b9
|
||||
/Users/Thilina/Projects/icehrm/src/Data/Common/Model/DataImport.php=a6af4d8acd5585932823889509cca581
|
||||
/Users/Thilina/Projects/icehrm/src/FieldNames/Common/Model/FieldNameMapping.php=73bd1da0f6e51329dbe12930bb566ccd
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Reports/ActiveEmployeeReport.php=261180dfbe69ab83d9d63646111695ba
|
||||
/Users/Thilina/Projects/icehrm/test/unit/LanguageManagerUnit.php=ebb20febce875350bfddd7f0358e6ad0
|
||||
/Users/Thilina/Projects/icehrm/src/Utils/LogManager.php=144ebae4d0ff60f0fd21e79a45aa6e6a
|
||||
/Users/Thilina/Projects/icehrm/src/Dependents/Common/Model/EmployeeDependent.php=1f4b6cd6dfbc14269b53dbbac3730f9e
|
||||
/Users/Thilina/Projects/icehrm/src/Data/Admin/Import/PayrollDataImporter.php=7350ec94ef8a70ba6c263e53c70c7073
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Reports/ExpenseReport.php=397c8deb446994b64e2b9fef2845bb89
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Reports/OvertimeReport.php=f630ae5402ec7957f42b64fa46cd1923
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Reports/EmployeeLeaveEntitlementReport.php=9be41bfeb88fd0171028203f6513c799
|
||||
/Users/Thilina/Projects/icehrm/src/Projects/User/Api/ProjectsModulesManager.php=4fc0463507ca7768a1e493d703ac2581
|
||||
/Users/Thilina/Projects/icehrm/src/Permissions/Common/Model/Permission.php=0745dd3786e95cfc5265c32f47f4ee4a
|
||||
/Users/Thilina/Projects/icehrm/src/Overtime/Admin/Api/OvertimeActionManager.php=0b039c008daf52e64f9ce827eabdd25a
|
||||
/Users/Thilina/Projects/icehrm/src/Salary/User/Api/SalaryModulesManager.php=050d077e79532353a7d12a7221829b7c
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Cron/IceTask.php=cc9b1481e824fd967eb503248eb92e29
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Reports/EmployeeTimesheetReport.php=8661944cf39b10c441841a8af72cb988
|
||||
/Users/Thilina/Projects/icehrm/src/EmergencyContacts/User/Api/EmergencyContactModulesManager.php=527888466137dad3da5c6bf5b7bf9b28
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/SettingsManager.php=ebed24cde74d7fb33cca4ba156389760
|
||||
/Users/Thilina/Projects/icehrm/src/Qualifications/Common/Model/EmployeeLanguage.php=66127455502fb29181324c1cc25f93c4
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Approval/ApproveCommonActionManager.php=c1b7efb8c4f3fe8199c7e0d6fdd1ccce
|
||||
/Users/Thilina/Projects/icehrm/src/Overtime/Common/Model/EmployeeOvertime.php=50c166318a354b05dc2ae0e442d43a33
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/User/Api/ReportsModulesManager.php=1645b61be16b96d0085510f6a2d30b68
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/RestApiManager.php=c53180aa40576c5fe8c519b2b0a39e32
|
||||
/Users/Thilina/Projects/icehrm/src/Payroll/Common/Model/Payroll.php=5c7eb622aade003f693275944e041cc7
|
||||
/Users/Thilina/Projects/icehrm/src/Attendance/Admin/Api/AttendanceActionManager.php=9045182bc0854647219b0a0418c37ffd
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Api/PDFReportBuilder.php=fbbc196b5ea432671667bcc239d8bf54
|
||||
/Users/Thilina/Projects/icehrm/src/Employees/Rest/EmployeeRestEndPoint.php=5a006d8637a05d63f19e130b37bdd97d
|
||||
/Users/Thilina/Projects/icehrm/src/Model/File.php=8211922ac309e1c3e5fc316a90bc0bf0
|
||||
/Users/Thilina/Projects/icehrm/src/Data/Admin/Api/AbstractDataImporter.php=315bf5eec45aa13e174d412014e2237f
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/NotificationManager.php=a739fd4177892d44e78efed1641072cc
|
||||
/Users/Thilina/Projects/icehrm/src/Utils/SessionUtils.php=f5c4db2214dfb4d8bf5b9bfe5edb1bac
|
||||
/Users/Thilina/Projects/icehrm/src/Travel/Admin/Api/TravelActionManager.php=0e2fdd403d3456ebda102d554349e9f4
|
||||
/Users/Thilina/Projects/icehrm/src/Payroll/Common/Model/PayrollColumn.php=0f2e8fd9b44c038f163ae646d3c6f4b6
|
||||
/Users/Thilina/Projects/icehrm/src/Travel/Common/Model/EmployeeTravelRecord.php=5366a1927bd94630217ffbc9386ff605
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Reports/TravelRequestReport.php=c4bdd4c88f4a7b15c8091a0dcbb5018a
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/StatusChangeLogManager.php=b091e855d9800eea9d4190e0c75e3e8c
|
||||
/Users/Thilina/Projects/icehrm/src/Qualifications/Admin/Api/QualificationsAdminManager.php=3037d64a2344a497ff0ceea52265d2a6
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Reports/EmployeeLeavesReport.php=bd5efb4666ca4103a2e7e98aa24e1c83
|
||||
/Users/Thilina/Projects/icehrm/src/TimeSheets/User/Api/TimeSheetsActionManager.php=ef271183cf6e71d8db24b8d3369e19b9
|
||||
/Users/Thilina/Projects/icehrm/src/Expenses/Common/Model/ExpensesCategory.php=e9c0e170b950a39994d0a33d5981374f
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Email/SwiftMailer.php=eca37dc0add437ae1089c695b5074b90
|
||||
/Users/Thilina/Projects/icehrm/src/Data/Admin/Import/AttendanceDataImporter.php=dc4dec4294b9feac08a5f996b85cab85
|
||||
/Users/Thilina/Projects/icehrm/src/Salary/Common/Model/PayrollEmployee.php=1a01bd60d1f82fc6f3eeb1875006f659
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Crypt/AesCtr.php=4897c7fe9a510f38eeb91046127d79f7
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/AbstractModuleManager.php=5bb9fc5859bdd790753277a47752b0b9
|
||||
/Users/Thilina/Projects/icehrm/src/Metadata/Common/Model/ImmigrationStatus.php=f0dc9a94bcc487df21d53387ae8e89ba
|
||||
/Users/Thilina/Projects/icehrm/src/Salary/Admin/Api/SalaryAdminManager.php=8bedb5d82608974feedd1c094cac64fa
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Api/ClassBasedReportBuilder.php=fc77219539745bdb6364fc81bdda2516
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/BaseService.php=e0de0276b6a8b58a4e318848a45439b6
|
||||
/Users/Thilina/Projects/icehrm/src/Payroll/Common/Model/PayrollColumnTemplate.php=cb69bf4717cfbaf0f395b931296efd9a
|
||||
/Users/Thilina/Projects/icehrm/src/Expenses/Admin/Api/ExpensesActionManager.php=2997346b4574ccd83e564c338e38b189
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Reports/EmployeeTimeTrackReport.php=eddda882fae0c258e97fb50aafe21061
|
||||
/Users/Thilina/Projects/icehrm/src/Metadata/Common/Model/Nationality.php=0f0cd1d95496f95ac9de08aa15e6b6a4
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/ReportHandler.php=80b280cae34fdfbee864b05b07c6789a
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/User/Reports/ExpenseReport.php=7c8d187bc57175a92b8bc0fa33e501f0
|
||||
/Users/Thilina/Projects/icehrm/src/Overtime/Admin/Api/OvertimeAdminManager.php=7ae7776e6445429a1f0158a5efd38c04
|
||||
/Users/Thilina/Projects/icehrm/src/Salary/Common/Model/SalaryComponentType.php=d96878a0b1547f44731830526306ab56
|
||||
/Users/Thilina/Projects/icehrm/src/Travel/Common/Model/EmployeeImmigration.php=1dcb690d0045699a1aa65eda033f9adf
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/MenuItemTemplate.php=7ad7eb3a874ec729ec1baf0760f0b4ed
|
||||
/Users/Thilina/Projects/icehrm/src/Employees/Admin/Api/EmployeesAdminManager.php=15e983c78e17191ced1a7eec13be0d3e
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Cron/CronUtils.php=b55a1fe1c4ed55dc582e208b341f52b4
|
||||
/Users/Thilina/Projects/icehrm/src/Overtime/Common/Model/EmployeeOvertimeApproval.php=edd2eedebb9f62a44f0e588c615654ce
|
||||
/Users/Thilina/Projects/icehrm/src/Qualifications/Common/Model/EmployeeSkill.php=a02c5ceda0489aba4ed47df010d4892e
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Reports/EmployeeAttendanceReport.php=a20c94c986fa57c52daebbcbf4fa1f3f
|
||||
/Users/Thilina/Projects/icehrm/src/Overtime/User/Api/OvertimeActionManager.php=f6d2c26500ed9e10b90bb5826d6c124e
|
||||
/Users/Thilina/Projects/icehrm/src/Projects/Common/Model/Client.php=666b6d5ad575ddd9ccc198f5e98e1211
|
||||
/Users/Thilina/Projects/icehrm/src/Dependents/User/Api/DependentsModulesManager.php=409b6ea72b6ce0319bb12df6458d2bef
|
||||
/Users/Thilina/Projects/icehrm/src/Jobs/Common/Model/JobTitle.php=4765635589eb4cc84cec2e578faa1557
|
||||
/Users/Thilina/Projects/icehrm/src/Model/Cron.php=4f3da95d8dd8e6b4642e6a2c6390c5fe
|
||||
/Users/Thilina/Projects/icehrm/src/Projects/Admin/Api/ProjectsAdminManager.php=8f20c5277a8560a69318263166b804e3
|
||||
/Users/Thilina/Projects/icehrm/src/Loans/Common/Model/CompanyLoan.php=6e1e409dd612f22b47c6ffdcda4fe3a0
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Migration/MigrationManager.php=10ce5f1187ed06d2b12820a0d9d7e90a
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Api/ReportsAdminManager.php=be16482fcb8d6714f13618407acf25a5
|
||||
/Users/Thilina/Projects/icehrm/src/Utils/CalendarTools.php=9f60bf1aaa928a02163680da60ac255c
|
||||
/Users/Thilina/Projects/icehrm/src/Data/Admin/Api/DataAdminManager.php=3913dc1f43ae1965956c420d0d9084c8
|
||||
/Users/Thilina/Projects/icehrm/src/TimeSheets/Common/Model/EmployeeTimeEntry.php=f69d37222ff6d528b5dde53fcbb5b3a8
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/UIManager.php=03b64742f6595dedce18bba1372d4b20
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/MemcacheService.php=e07916b1c628686162c19fa26aad93d5
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/User/Reports/EmployeeTimesheetReport.php=2ec16a7dccb131862f295ad97db9067b
|
||||
/Users/Thilina/Projects/icehrm/src/Metadata/Common/Model/Country.php=f772b574b2b1310977a50daf9d2a51ef
|
||||
/Users/Thilina/Projects/icehrm/src/Model/Audit.php=31e7780e4e210a8c840188d2015d2e01
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Approval/ApproveModuleActionManager.php=834a7aad3a07c194a0a830cc353daec9
|
||||
/Users/Thilina/Projects/icehrm/src/Loans/Admin/Api/LoansAdminManager.php=0954d425f553598a6f3a9dbefc19fb45
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/SubActionManager.php=7523ec5017da87c8d7d3e4438310d96f
|
||||
/Users/Thilina/Projects/icehrm/src/Model/ApproveModel.php=7f15abbdae78812f15d65e7a165f6115
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/CustomFieldManager.php=7259e4d11e73fdd04984097e00233203
|
||||
/Users/Thilina/Projects/icehrm/src/Payroll/Admin/Api/PayrollActionManager.php=177d85ae36ed00f8a42d9bb9e8f9aa1a
|
||||
/Users/Thilina/Projects/icehrm/src/Loans/User/Api/LoansModulesManager.php=4f0650c7b4ab3ec6c241bd32c680dfca
|
||||
/Users/Thilina/Projects/icehrm/src/Utils/Math/EvalMathStack.php=4b86e2041c19d8ef8eaf7f4ea630e116
|
||||
/Users/Thilina/Projects/icehrm/src/Users/Admin/Api/UsersAdminManager.php=695662b7186616d4379d0a588b5130e6
|
||||
/Users/Thilina/Projects/icehrm/src/Qualifications/Common/Model/Language.php=c904c6e3e2e167f5e79afffabf94716a
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Macaw.php=5a2f26ffcb41c9f42af776a91c283572
|
||||
/Users/Thilina/Projects/icehrm/src/Attendance/Common/Model/AttendanceStatus.php=ad80af2d596e584a3ab60a5fce4aac09
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Email/SMTPEmailSender.php=0df2a519ce3a2d61d486b9527782f72b
|
||||
/Users/Thilina/Projects/icehrm/src/FieldNames/Admin/Api/FieldNamesAdminManager.php=5eca8c33ccd8d9fc1c4e5b7fa81ed93c
|
||||
/Users/Thilina/Projects/icehrm/src/Payroll/Common/Model/PayFrequency.php=9207a551d667bab9734aa041e02a1be1
|
||||
/Users/Thilina/Projects/icehrm/src/Metadata/Common/Model/CurrencyType.php=e9f5f17d4e18a706e4c4068f253c01ac
|
||||
/Users/Thilina/Projects/icehrm/src/Employees/Common/Model/EmployeeApproval.php=481ddd171d66e644bb442ab02e97b097
|
||||
/Users/Thilina/Projects/icehrm/src/Data/Admin/Api/DataImporter.php=ad94e2de98e11c1d3f0f0b32c46f358c
|
||||
/Users/Thilina/Projects/icehrm/src/Expenses/Common/Model/EmployeeExpense.php=29d2dccb5d009d392c4b8f44c59fcdd8
|
||||
/Users/Thilina/Projects/icehrm/test/TestTemplate.php=8e6ff185d587f339892a9a720e2bfa5f
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Crypt/Aes.php=d0b15a04faf73b0ff35efc308d09b6e7
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/LanguageManager.php=8df5d6d62bae8a5e14ab1cd486325af3
|
||||
/Users/Thilina/Projects/icehrm/src/Qualifications/Common/Model/Education.php=6f992ef2bb13951f3c52f5209d73733b
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/User/Reports/EmployeeLeavesReport.php=0bd5801ac4c9803db53198c68904d5f5
|
||||
/Users/Thilina/Projects/icehrm/src/TimeSheets/Common/Model/EmployeeTimeSheet.php=2a4e685315485e4933df5d2ba856d8fb
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/User/Reports/ClientProjectTimeReport.php=f860b3cff536b5074bb7d1e193c1c41d
|
||||
/Users/Thilina/Projects/icehrm/src/Expenses/User/Api/ExpensesActionManager.php=c8ce93f6877fd2cdbc963b5c38708f04
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/User/Reports/EmployeeAttendanceReport.php=600c1feca3eab6d724ac9661f2f514d5
|
||||
/Users/Thilina/Projects/icehrm/src/Utils/Math/EvalMath.php=476cb2ee5306966d7cd7bee2f3202559
|
||||
/Users/Thilina/Projects/icehrm/src/Model/Migration.php=3f11c6dfaa18d4a6dcb2caa8d3677121
|
||||
/Users/Thilina/Projects/icehrm/src/Data/Common/Model/DataImportFile.php=a0b3f8410e80862ba79aa9d8fed383d7
|
||||
/Users/Thilina/Projects/icehrm/src/Travel/User/Api/TravelActionManager.php=e6241358886dc00138506f3bc4d13346
|
||||
/Users/Thilina/Projects/icehrm/src/Company/Common/Model/CompanyStructure.php=a1957202858bc093b29e8dfe48955cc6
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Migration/AbstractMigration.php=324fe15e15a0ca2b0f50f4029ae10548
|
||||
/Users/Thilina/Projects/icehrm/src/Qualifications/Common/Model/EmployeeCertification.php=96045388cba569f4ea9617dc8fbeded6
|
||||
/Users/Thilina/Projects/icehrm/src/Payroll/Common/Model/PayslipTemplate.php=cc9bf7552cfccd84a0b9b1431f224f1f
|
||||
/Users/Thilina/Projects/icehrm/test/test.includes.php=d87bcd9386b3271b62818e2b86df6c28
|
||||
/Users/Thilina/Projects/icehrm/src/Company/Admin/Api/CompanyAdminManager.php=484a8b669d5fed117f1f40f289f2c6f4
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Email/PHPMailer.php=54789d10177cc5075cb4d50838b05821
|
||||
/Users/Thilina/Projects/icehrm/src/Qualifications/Common/Model/EmployeeEducation.php=8ba4cbc034b5ee23d593cc3352cf46a9
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Reports/TerminatedEmployeeReport.php=1b8b58d6e85eb77e45aaf44f426025ea
|
||||
/Users/Thilina/Projects/icehrm/src/Users/Admin/Api/UsersEmailSender.php=87247955c331115e482aa3e577eca0b4
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/IceConstants.php=5f7497997d12c27dab080b6f34640df1
|
||||
/Users/Thilina/Projects/icehrm/test/test.config.php=2d82ac9b697f10bb9bd6d760f63d2be4
|
||||
/Users/Thilina/Projects/icehrm/src/Travel/Common/Model/ImmigrationDocument.php=c0636d2ce3e7d89d9e4ebb00c8d1450f
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/ModuleBuilder/ModuleBuilder.php=29fed2a27587032060efc02c7a30a838
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/User/Reports/PayslipReport.php=a7197be66726cf126c196bf6beccb907
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/User/Reports/EmployeeTimeTrackReport.php=ce6f2b098845233342c336f837001554
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Api/PDFReportBuilderInterface.php=cc049c4c1b86e5a5e4fd99ddf24e563d
|
||||
/Users/Thilina/Projects/icehrm/src/Qualifications/User/Api/QualificationsModulesManager.php=e668d64139ecc146af9ebaea2f91e1fe
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/RestEndPoint.php=86136262a2e2a8f45564d17123dd5812
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/S3FileSystem.php=6308aca72380cef1981625946b59652f
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Cron/Task/EmailIceTask.php=b754a286061db310b3f18677946d7b43
|
||||
/Users/Thilina/Projects/icehrm/src/Data/Admin/Import/EmployeeDataImporter.php=d1b66e2d042335df792fa8913d363d5f
|
||||
/Users/Thilina/Projects/icehrm/src/Projects/Common/Model/EmployeeProject.php=b0de956de8ec4c423604195b96f57df9
|
||||
/Users/Thilina/Projects/icehrm/src/Model/Report.php=498c96015d1be2b31d8cd0bcedea7fab
|
||||
/Users/Thilina/Projects/icehrm/src/Metadata/Common/Model/CustomFieldValue.php=a9b7d8db9ee113345298ba49f9354be8
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/Cron/IceCron.php=edb023962095493d7daa728793ceaf9c
|
||||
/Users/Thilina/Projects/icehrm/src/Settings/Admin/Api/SettingsInitialize.php=148bc391f5d101121f915a590f991a6b
|
||||
/Users/Thilina/Projects/icehrm/src/Dashboard/Admin/Api/DashboardActionManager.php=5e8e996f9f4b77f1fbd10e026a5d1351
|
||||
/Users/Thilina/Projects/icehrm/src/Payroll/Admin/Api/PayrollAdminManager.php=9bac9a6ed8406c9eb6fe7ef666aee482
|
||||
/Users/Thilina/Projects/icehrm/src/Jobs/Admin/Api/JobsAdminManager.php=12546328edffcc5bda7e84f6a8c56d9e
|
||||
/Users/Thilina/Projects/icehrm/src/Jobs/Common/Model/PayGrade.php=55f2f83ff22136154b14460b6b37632a
|
||||
/Users/Thilina/Projects/icehrm/src/EmergencyContacts/Common/Model/EmergencyContact.php=6ec07210d94e695732c6d1a6a0fb34be
|
||||
/Users/Thilina/Projects/icehrm/src/Employees/Admin/Api/EmployeesActionManager.php=63c6ccf63f54eab8556c893cf47f983c
|
||||
/Users/Thilina/Projects/icehrm/src/Metadata/Common/Model/CalculationHook.php=bbfa6f83e4042db9640b67c131274118
|
||||
/Users/Thilina/Projects/icehrm/src/Users/Common/Model/User.php=cc9b6c966b40678574fdd35bb1f16cb2
|
||||
/Users/Thilina/Projects/icehrm/src/Users/Admin/Api/UsersActionManager.php=b65c97c665190f9fb011cc8d0b97888c
|
||||
/Users/Thilina/Projects/icehrm/src/Attendance/User/Api/AttendanceModulesManager.php=f1b34fae71cc963e197b41ed2ca032ca
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/IceResponse.php=bb74495c33fab87e96f72b610cfd5374
|
||||
/Users/Thilina/Projects/icehrm/src/Qualifications/Common/Model/Certification.php=e81a7f90a10799d97a918e2cb071c1a9
|
||||
/Users/Thilina/Projects/icehrm/src/Model/BaseModel.php=d932a9bb126c174000b9c51a8cb4d2f6
|
||||
/Users/Thilina/Projects/icehrm/src/Model/StatusChangeLog.php=0745140bddda3f06915dcfcc6ac97ce8
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/AbstractInitialize.php=841a38244ca1d44b008f67a6b45df348
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/User/Reports/EmployeeTimeSheetData.php=2d6e95947963949b1c5150269d7527f7
|
||||
/Users/Thilina/Projects/icehrm/src/Data/Admin/Api/DataActionManager.php=82f3ced08b946ca6e10a83c6e07475db
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/User/Reports/OvertimeReport.php=431965980b2458019398d2ed6d7fc39a
|
||||
/Users/Thilina/Projects/icehrm/src/Metadata/Common/Model/Ethnicity.php=5f5935cdeab1b41ac0d2db9f6973f6b0
|
||||
/Users/Thilina/Projects/icehrm/test/integration/MigrationManagerIntegration.php=f0f5bccf120067b34396f1e61fd6d20a
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Api/CSVReportBuilderInterface.php=6ada9a15e850c09162fc75020d6b00e4
|
||||
/Users/Thilina/Projects/icehrm/src/Payroll/Common/Model/PayrollCalculations.php=70d1b733b1adbb6c6a2ea0dcec89efca
|
||||
/Users/Thilina/Projects/icehrm/src/Travel/Admin/Api/TravelAdminManager.php=9b3c6e369e2264d2bc9fca122e8ed90c
|
||||
/Users/Thilina/Projects/icehrm/src/Model/ReportFile.php=0a766e94902b5473ef1fa24583cf2481
|
||||
/Users/Thilina/Projects/icehrm/src/Modules/Admin/Api/ModulesActionManager.php=c4d592d8930201a883a5d1ea71a037af
|
||||
/Users/Thilina/Projects/icehrm/src/Model/IceEmail.php=02bd3cd01cb37ab05d763e468cba3835
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Api/ReportBuilderInterface.php=dd7e723c48ec4f97db98ffec0d0f39cb
|
||||
/Users/Thilina/Projects/icehrm/src/TimeSheets/User/Api/TimeSheetsModulesManager.php=63a8c4364cd579be46b60a2e83f8f87f
|
||||
/Users/Thilina/Projects/icehrm/src/Employees/Common/Model/ArchivedEmployee.php=6056e5073538c0d7a22dea52b6c25374
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Api/ReportBuilder.php=9b0e8e996157caebcf17a2a342ba0f6e
|
||||
/Users/Thilina/Projects/icehrm/src/Users/Common/Model/UserRole.php=8d7dbcdf68c2c5a7a4d4f73dbb07d63b
|
||||
/Users/Thilina/Projects/icehrm/src/Salary/Common/Model/PayFrequency.php=fab16310b7db7bb9aace5a6b038c9d2a
|
||||
/Users/Thilina/Projects/icehrm/src/Model/Notification.php=0b06b249e456508d5a8ce06b453efe6b
|
||||
/Users/Thilina/Projects/icehrm/src/Attendance/Admin/Api/AttendanceDashboardManager.php=c08fc7c021dd0c0780851c308225291f
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/User/Reports/TravelRequestReport.php=810d405042307fe9c6ca82e082c3673e
|
||||
/Users/Thilina/Projects/icehrm/src/Attendance/Common/Model/Attendance.php=aa0945e6fc70e6e3418d0e09f7110082
|
||||
/Users/Thilina/Projects/icehrm/src/Employees/Common/Model/EmploymentStatus.php=11365db49528f08847e0dfbf1b31472d
|
||||
/Users/Thilina/Projects/icehrm/src/Attendance/Admin/Api/AttendanceAdminManager.php=21e4a22a3eb290704181e5a4a7a5df7a
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/HistoryManager.php=4741dd856bb81ec2e27bd016afb8e042
|
||||
/Users/Thilina/Projects/icehrm/src/Dashboard/Admin/Api/DashboardAdminManager.php=800b72969de1b8c311a8e1b7d2940c79
|
||||
/Users/Thilina/Projects/icehrm/src/Overtime/User/Api/OvertimeModulesManager.php=b29d52a4e3f021cdd786f41cbf1b9837
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/User/Reports/OvertimeSummaryReport.php=3918d7210957040977b8a43c580abae0
|
||||
/Users/Thilina/Projects/icehrm/src/Classes/ModuleBuilder/ModuleTab.php=89136363d7520967c2d42e175052f4d5
|
||||
/Users/Thilina/Projects/icehrm/src/Reports/Admin/Api/CSVReportBuilder.php=5c5f7175cc2aff776388c3281cea9cf3
|
||||
/Users/Thilina/Projects/icehrm/src/Model/Setting.php=5b9440e9211662f5ed69f29794b6054d
|
||||
/Users/Thilina/Projects/icehrm/src/FieldNames/Common/Model/CustomField.php=88578da07f1f07bae868e17b4a8e4cf7
|
||||
/Users/Thilina/Projects/icehrm/src/Attendance/User/Api/AttendanceActionManager.php=feaa97dd192e7faec2045aba7dc03125
|
||||
/Users/Thilina/Projects/icehrm/src/Overtime/Common/Model/OvertimeCategory.php=e9c90b23155e3fe1c7d9dd9cef462d1e
|
||||
/Users/Thilina/Projects/icehrm/src/Attendance/Common/Calculations/CaliforniaOvertimeCalculator.php=a1a5ff46939030747f505710fbd49ffd
|
||||
#Fri Feb 01 06:41:09 GMT+00:00 2019
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/Admin/Api/AttendanceUtil.php=34fe63a4c0f954451afae6c359ea5b38
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/ClientProjectTimeReport.php=f860b3cff536b5074bb7d1e193c1c41d
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/S3FileSystem.php=6308aca72380cef1981625946b59652f
|
||||
/vagrant/core/src/Classes/AbstractInitialize.php=a6e16a53a0178bc30b27dcf3684fbdad
|
||||
/vagrant/core/src/Reports/User/Reports/EmployeeTimeSheetData.php=2d6e95947963949b1c5150269d7527f7
|
||||
/vagrant/core/src/Classes/ReportHandler.php=80b280cae34fdfbee864b05b07c6789a
|
||||
/vagrant/core/src/Classes/Migration/AbstractMigration.php=324fe15e15a0ca2b0f50f4029ae10548
|
||||
/vagrant/core/src/Classes/Crypt/AesCtr.php=4897c7fe9a510f38eeb91046127d79f7
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Approval/ApproveAdminActionManager.php=01eaf59752e8379205bc52f3278f96fc
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Data/Admin/Api/DataActionManager.php=82f3ced08b946ca6e10a83c6e07475db
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Utils/CalendarTools.php=9f60bf1aaa928a02163680da60ac255c
|
||||
/vagrant/core/src/Data/Admin/Api/DataAdminManager.php=3913dc1f43ae1965956c420d0d9084c8
|
||||
/vagrant/core/src/Travel/User/Api/TravelActionManager.php=d055895c69bafe0b6855566dc4054699
|
||||
/vagrant/core/src/Reports/Admin/Reports/ExpenseReport.php=397c8deb446994b64e2b9fef2845bb89
|
||||
/vagrant/core/src/Metadata/Common/Model/CurrencyType.php=0fc8e338a2f0f149ac24757427470971
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Common/Model/Nationality.php=639ee9f14c53032ff26e7105c2219593
|
||||
/vagrant/core/src/Classes/Migration/MigrationManager.php=b2a6fae32ad9370a4e3375a623330fa7
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Projects/Common/Model/EmployeeProject.php=b0de956de8ec4c423604195b96f57df9
|
||||
/vagrant/core/src/Classes/Cron/IceCron.php=217fba4cf5ce69cdf734447f6a45b356
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Dashboard/Admin/Api/DashboardAdminManager.php=800b72969de1b8c311a8e1b7d2940c79
|
||||
/Users/Thilina/Projects/icehrm-open/test/bootstrap.php=0e9cfabb3aec1ac52ecf4d27334f2624
|
||||
/vagrant/core/src/Reports/Admin/Reports/EmployeeTimesheetReport.php=8661944cf39b10c441841a8af72cb988
|
||||
/vagrant/core/src/Company/Admin/Api/CompanyAdminManager.php=484a8b669d5fed117f1f40f289f2c6f4
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/User/Api/QualificationsModulesManager.php=e668d64139ecc146af9ebaea2f91e1fe
|
||||
/vagrant/core/src/Loans/Common/Model/EmployeeCompanyLoan.php=abc8959df2ec0f3e19ff6da12c3163f9
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Common/Model/Province.php=0ff661394cbcfec7f514f2d5eae7ca25
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Salary/User/Api/SalaryModulesManager.php=050d077e79532353a7d12a7221829b7c
|
||||
/vagrant/core/src/Utils/Math/EvalMathFuncs.php=d6f7c26eab307d205ee8483d87a380cb
|
||||
/vagrant/core/src/Metadata/Common/Model/Nationality.php=639ee9f14c53032ff26e7105c2219593
|
||||
/vagrant/core/src/Data/Common/Model/DataImport.php=a6af4d8acd5585932823889509cca581
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/EmployeeTimeTrackReport.php=eddda882fae0c258e97fb50aafe21061
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/FieldNames/Admin/Api/FieldNamesAdminManager.php=5eca8c33ccd8d9fc1c4e5b7fa81ed93c
|
||||
/vagrant/core/src/Projects/Common/Model/Project.php=05b1cd967d67cb977558f2567d7f6cb6
|
||||
/Users/Thilina/Projects/icehrm-open/test/integration/ApprovalStatusIntegration.php=8b9243e5cbb302513d906ff9de246acd
|
||||
/Users/Thilina/Projects/icehrm-open/test/TestTemplate.php=8e6ff185d587f339892a9a720e2bfa5f
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Employees/Admin/Api/EmployeesAdminManager.php=15e983c78e17191ced1a7eec13be0d3e
|
||||
/vagrant/core/src/Payroll/Common/Model/PayrollCalculations.php=70d1b733b1adbb6c6a2ea0dcec89efca
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Data/Query/DataQuery.php=eae53f27055f569d43fd2cad06b7beff
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/EmployeeDetailsReport.php=1e415e088afc4fc56e3cbf77af8f84c5
|
||||
/vagrant/core/src/Dashboard/Admin/Api/DashboardActionManager.php=5e8e996f9f4b77f1fbd10e026a5d1351
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/BaseService.php=92bd3a9bb4e7eb84e079b0db75d5f752
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Approval/ApprovalStatus.php=7a3bc0a73f237eb677254b245887f48f
|
||||
/vagrant/core/src/Model/Audit.php=6259d9e1d7e7777bb8cde096bdc742aa
|
||||
/vagrant/core/src/Utils/Math/EvalMathStack.php=4b86e2041c19d8ef8eaf7f4ea630e116
|
||||
/vagrant/core/src/Reports/Admin/Reports/PayrollDataExport.php=83bd6faa73c75667ecf25091c3729abc
|
||||
/vagrant/test/integration/ApprovalStatusIntegration.php=cff0c3e3e051bf87d6a5313655b741cd
|
||||
/vagrant/core/src/Employees/Common/Model/EmployeeApproval.php=481ddd171d66e644bb442ab02e97b097
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/EmergencyContacts/Common/Model/EmergencyContact.php=6ec07210d94e695732c6d1a6a0fb34be
|
||||
/vagrant/core/src/Users/Common/Model/User.php=ad497e45b540b026aa80fa58f5055cc1
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Company/Common/Model/CompanyStructure.php=a1957202858bc093b29e8dfe48955cc6
|
||||
/Users/Thilina/Projects/icehrm-open/test/test.includes.php=66d627b31f3f6b76f1739a54e7d9fd9f
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Approval/ApproveModuleActionManager.php=834a7aad3a07c194a0a830cc353daec9
|
||||
/vagrant/core/src/Reports/User/Reports/TravelRequestReport.php=810d405042307fe9c6ca82e082c3673e
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Users/Common/Model/UserRole.php=9f9021a51c94b25e203cc3c0322c80d7
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Common/Model/Payroll.php=8aa76dfc05183abe955552b15e3c4351
|
||||
/vagrant/core/src/Classes/PermissionManager.php=149c16e23f9066538e9c7a0ee3bb397f
|
||||
/vagrant/core/src/Employees/User/Api/EmployeesActionManager.php=e34f4fe38b3e0eb45cb65232fa6ec359
|
||||
/vagrant/core/src/Classes/Email/SwiftMailer.php=eca37dc0add437ae1089c695b5074b90
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/EmployeeLeaveEntitlementReport.php=9be41bfeb88fd0171028203f6513c799
|
||||
/vagrant/core/src/Projects/Admin/Api/ProjectsAdminManager.php=8f20c5277a8560a69318263166b804e3
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/EmployeeTimeSheetData.php=2d6e95947963949b1c5150269d7527f7
|
||||
/vagrant/core/src/Employees/User/Api/EmployeesModulesManager.php=ad9ab05afd9cf551870352dba82e6d69
|
||||
/vagrant/core/src/Reports/Admin/Reports/EmployeeTimeSheetData.php=9d612ee603fdf4e6b710eec725da2656
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Travel/User/Api/TravelActionManager.php=d055895c69bafe0b6855566dc4054699
|
||||
/vagrant/core/src/Metadata/Common/Model/ImmigrationStatus.php=f0dc9a94bcc487df21d53387ae8e89ba
|
||||
/vagrant/test/test.config.php=68587cbb63b8a37dc07fdac177eb23a4
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Employees/Common/Model/Employee.php=1e8f3958597a1d2f138e927115671538
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/IceResponse.php=bb74495c33fab87e96f72b610cfd5374
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/OvertimeSummaryReport.php=3918d7210957040977b8a43c580abae0
|
||||
/vagrant/core/src/Travel/Common/Model/ImmigrationDocument.php=c0636d2ce3e7d89d9e4ebb00c8d1450f
|
||||
/vagrant/core/src/Reports/Admin/Reports/OvertimeSummaryReport.php=16d9e2f10de82f25d0965e2d327086b9
|
||||
/vagrant/core/src/Jobs/Common/Model/PayGrade.php=9cc01a86f03deb884884681a73deb27a
|
||||
/vagrant/core/src/Classes/RestEndPoint.php=48bd6506bb12af195f32d65c0ae635f2
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Admin/Api/PayrollActionManager.php=c95c4e2ae643a16b8e59fa73dc1f0193
|
||||
/vagrant/core/src/Data/Admin/Import/EmployeeDataImporter.php=d1b66e2d042335df792fa8913d363d5f
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/TimeSheets/User/Api/TimeSheetsModulesManager.php=63a8c4364cd579be46b60a2e83f8f87f
|
||||
/vagrant/test/bootstrap.php=0e9cfabb3aec1ac52ecf4d27334f2624
|
||||
/vagrant/core/src/Salary/Common/Model/PayrollEmployee.php=1a01bd60d1f82fc6f3eeb1875006f659
|
||||
/vagrant/core/src/Employees/Admin/Api/EmployeesAdminManager.php=15e983c78e17191ced1a7eec13be0d3e
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/Common/Model/EmployeeLanguage.php=66127455502fb29181324c1cc25f93c4
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Model/Cron.php=9e638c23f7cb93500a1b1f1ef4edf86f
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Utils/SessionUtils.php=cdb9d769cf1f51bab1462ddac2387e81
|
||||
/vagrant/core/src/Classes/Cron/Task/EmailIceTask.php=b754a286061db310b3f18677946d7b43
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Overtime/Common/Model/EmployeeOvertime.php=4275d184646684892b289524b33cf9d7
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Macaw.php=5a2f26ffcb41c9f42af776a91c283572
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/StaffDirectory/Common/Model/StaffDirectory.php=73f3c132e741460f200be3b3100833f6
|
||||
/vagrant/core/src/Jobs/Admin/Api/JobsAdminManager.php=12546328edffcc5bda7e84f6a8c56d9e
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Overtime/User/Api/OvertimeModulesManager.php=b29d52a4e3f021cdd786f41cbf1b9837
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/Common/Model/Attendance.php=aa0945e6fc70e6e3418d0e09f7110082
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Employees/Common/Model/EmploymentStatus.php=6e72924fac0cecc49aaf070389f8d73a
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Modules/Common/Model/Module.php=6930680c77dfbcd410e1425c76511c16
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Data/Common/Model/DataImport.php=a6af4d8acd5585932823889509cca581
|
||||
/vagrant/core/src/Modules/Admin/Api/ModulesActionManager.php=a4f9c92a8f6de83ed72c5f775369b883
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Dependents/User/Api/DependentsModulesManager.php=409b6ea72b6ce0319bb12df6458d2bef
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Salary/Common/Model/PayFrequency.php=fab16310b7db7bb9aace5a6b038c9d2a
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/FileService.php=b948c3e305263af82269976e01af17c4
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Crypt/AesCtr.php=4897c7fe9a510f38eeb91046127d79f7
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/FieldNames/Common/Model/CustomField.php=32400d304e8064e69624311c3c80dffb
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Common/Model/Country.php=be5371104ea0bbfa7132201d5e31e62f
|
||||
/vagrant/core/src/EmergencyContacts/Common/Model/EmergencyContact.php=6ec07210d94e695732c6d1a6a0fb34be
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Settings/Admin/Api/SettingsAdminManager.php=5e5df0056db6f9593128720581feca18
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Common/Model/Ethnicity.php=5f5935cdeab1b41ac0d2db9f6973f6b0
|
||||
/vagrant/core/src/TimeSheets/User/Api/TimeSheetsPayrollUtils.php=85db5b3cf330d2010ac14aaff1bccc2a
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/EmployeeLeavesReport.php=bd5efb4666ca4103a2e7e98aa24e1c83
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Employees/User/Api/EmployeesModulesManager.php=ad9ab05afd9cf551870352dba82e6d69
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Cron/IceCron.php=217fba4cf5ce69cdf734447f6a45b356
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Data/Admin/Api/DataImporter.php=ad94e2de98e11c1d3f0f0b32c46f358c
|
||||
/vagrant/core/src/Loans/User/Api/LoansModulesManager.php=4f0650c7b4ab3ec6c241bd32c680dfca
|
||||
/Users/Thilina/Projects/icehrm-open/test/unit/UserAttendanceActionManagerUnit.php=1d71d366a13f253ef6931aa87202ac42
|
||||
/vagrant/core/src/Attendance/Common/Calculations/BasicOvertimeCalculator.php=9c96ae3f71796029d3f93e5c63783f53
|
||||
/vagrant/core/src/Reports/Admin/Api/PDFReportBuilder.php=fbbc196b5ea432671667bcc239d8bf54
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Api/PDFReportBuilderInterface.php=cc049c4c1b86e5a5e4fd99ddf24e563d
|
||||
/vagrant/core/src/Reports/Admin/Api/CSVReportBuilderInterface.php=6ada9a15e850c09162fc75020d6b00e4
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/Common/Model/AttendanceStatus.php=ad80af2d596e584a3ab60a5fce4aac09
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Common/Model/CurrencyType.php=0fc8e338a2f0f149ac24757427470971
|
||||
/vagrant/test/integration/MigrationManagerIntegration.php=f0f5bccf120067b34396f1e61fd6d20a
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Salary/Common/Model/PayrollEmployee.php=1a01bd60d1f82fc6f3eeb1875006f659
|
||||
/vagrant/core/src/Reports/User/Reports/ExpenseReport.php=7c8d187bc57175a92b8bc0fa33e501f0
|
||||
/vagrant/core/src/Model/UserReport.php=0a8a8476e3088011cc54fda139567b56
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/LanguageManager.php=e019a01be56a46a93177a50340fc3eea
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/Common/Model/Education.php=327f74726fca1a976e2fc6272ffecdea
|
||||
/vagrant/core/src/TimeSheets/Common/Model/QTDays.php=32a00e65a966331b776dc37cc0609edf
|
||||
/vagrant/core/src/TimeSheets/User/Api/TimeSheetsInitialize.php=d47372f12494019c1004a04cbe57013d
|
||||
/Users/Thilina/Projects/icehrm-open/test/helper/EmployeeTestDataHelper.php=65ec2048653c9e4e4359d9b6967a860d
|
||||
/vagrant/core/src/Classes/Approval/ApprovalStatus.php=7a3bc0a73f237eb677254b245887f48f
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/User/Api/AttendanceModulesManager.php=f1b34fae71cc963e197b41ed2ca032ca
|
||||
/vagrant/core/src/Reports/User/Reports/OvertimeReport.php=431965980b2458019398d2ed6d7fc39a
|
||||
/vagrant/core/src/Overtime/User/Api/OvertimeActionManager.php=5ace85f1fdbd23f5adc8d089f2d6b5fa
|
||||
/vagrant/core/src/Model/File.php=3bc6c71925ad1e20721ffd63567c7783
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Overtime/Admin/Api/OvertimeAdminManager.php=701c52c0bca0b0d89c5bb8e7cbafac8e
|
||||
/vagrant/core/src/Settings/Admin/Api/SettingsInitialize.php=148bc391f5d101121f915a590f991a6b
|
||||
/vagrant/core/src/Utils/SessionUtils.php=cdb9d769cf1f51bab1462ddac2387e81
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Cron/CronUtils.php=b55a1fe1c4ed55dc582e208b341f52b4
|
||||
/vagrant/core/src/Reports/Admin/Api/CSVReportBuilder.php=5c5f7175cc2aff776388c3281cea9cf3
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Projects/User/Api/ProjectsModulesManager.php=4fc0463507ca7768a1e493d703ac2581
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Common/Model/PayrollColumn.php=0f2e8fd9b44c038f163ae646d3c6f4b6
|
||||
/vagrant/core/src/Classes/SimpleImage.php=fdfb7b2e71e14975ebce16de44ea9dee
|
||||
/vagrant/core/src/Dashboard/User/Api/DashboardActionManager.php=3f797cf4807ad5cd4f881607142df049
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/SettingsManager.php=ebed24cde74d7fb33cca4ba156389760
|
||||
/vagrant/core/src/FieldNames/Common/Model/FieldNameMapping.php=e3e81b3a4e0f6c74cd687038632107d8
|
||||
/vagrant/core/src/Reports/Admin/Reports/NewHiresEmployeeReport.php=64eab525953538d481dab6052dd76d81
|
||||
/vagrant/core/src/Classes/Email/SNSEmailSender.php=fa905e3ab63ea745c591e744d6741b6b
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Model/ApproveModel.php=97c98d153a6cca455cbeb0b637eac098
|
||||
/vagrant/core/src/Jobs/Common/Model/JobTitle.php=2f24525e14942c7f284a44c8e416cd34
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Loans/Common/Model/EmployeeCompanyLoan.php=abc8959df2ec0f3e19ff6da12c3163f9
|
||||
/vagrant/core/src/Loans/Common/Model/CompanyLoan.php=cca60a4d5fa1189cdbd35146b010a2c7
|
||||
/vagrant/core/src/Reports/User/Reports/PayslipReport.php=7582da680dd305d073faf95d268083cd
|
||||
/vagrant/core/src/Classes/FileService.php=b948c3e305263af82269976e01af17c4
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Employees/Common/Model/ArchivedEmployee.php=6056e5073538c0d7a22dea52b6c25374
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/Common/Model/Skill.php=293e642127ea74960ebd79d81f11b0f9
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Model/Notification.php=fe1cf65671434bc29c8d17a78577e1f3
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Common/Model/SupportedLanguage.php=3ec1220796f6e33641998a33f036d709
|
||||
/vagrant/core/src/FieldNames/Admin/Api/FieldNamesAdminManager.php=5eca8c33ccd8d9fc1c4e5b7fa81ed93c
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/TimeSheets/User/Api/TimeSheetsPayrollUtils.php=85db5b3cf330d2010ac14aaff1bccc2a
|
||||
/vagrant/core/src/Reports/Admin/Reports/EmployeeTimeTrackReport.php=eddda882fae0c258e97fb50aafe21061
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/StaffDirectory/Rest/StaffDirectoryRestEndPoint.php=ba417b136c9c65cd5096c3bde7d141c2
|
||||
/vagrant/core/src/Classes/Approval/ApproveCommonActionManager.php=c1b7efb8c4f3fe8199c7e0d6fdd1ccce
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Api/ReportBuilderInterface.php=dd7e723c48ec4f97db98ffec0d0f39cb
|
||||
/vagrant/core/src/Reports/Admin/Reports/EmployeeDetailsReport.php=1e415e088afc4fc56e3cbf77af8f84c5
|
||||
/vagrant/core/src/Qualifications/Common/Model/Skill.php=293e642127ea74960ebd79d81f11b0f9
|
||||
/Users/Thilina/Projects/icehrm-open/test/integration/MigrationManagerIntegration.php=f0f5bccf120067b34396f1e61fd6d20a
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/Common/Model/EmployeeEducation.php=8ba4cbc034b5ee23d593cc3352cf46a9
|
||||
/vagrant/core/src/Overtime/Common/Model/OvertimeCategory.php=49198d964e954be3d427e3a7a29a6443
|
||||
/vagrant/core/src/Data/Admin/Import/PayrollDataImporter.php=7350ec94ef8a70ba6c263e53c70c7073
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/TravelRequestReport.php=c4bdd4c88f4a7b15c8091a0dcbb5018a
|
||||
/vagrant/core/src/Classes/Email/SMTPEmailSender.php=0df2a519ce3a2d61d486b9527782f72b
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/EmployeeTimesheetReport.php=2ec16a7dccb131862f295ad97db9067b
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Utils/Math/EvalMathFuncs.php=d6f7c26eab307d205ee8483d87a380cb
|
||||
/vagrant/core/src/Qualifications/Common/Model/EmployeeCertification.php=96045388cba569f4ea9617dc8fbeded6
|
||||
/vagrant/core/src/Classes/AbstractModuleManager.php=69d73f9f71155445c32222050528b2e0
|
||||
/vagrant/core/src/Classes/Approval/ApproveModuleActionManager.php=834a7aad3a07c194a0a830cc353daec9
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Cron/Task/EmailIceTask.php=b754a286061db310b3f18677946d7b43
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/ActiveEmployeeReport.php=261180dfbe69ab83d9d63646111695ba
|
||||
/vagrant/core/src/Classes/Macaw.php=5a2f26ffcb41c9f42af776a91c283572
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/Common/Calculations/CaliforniaOvertimeCalculator.php=a1a5ff46939030747f505710fbd49ffd
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/Common/Model/EmployeeSkill.php=a02c5ceda0489aba4ed47df010d4892e
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/EmployeeAttendanceReport.php=600c1feca3eab6d724ac9661f2f514d5
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Users/Admin/Api/UsersAdminManager.php=695662b7186616d4379d0a588b5130e6
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Users/Admin/Api/UsersActionManager.php=52c9dc80e7d81e244b5f0ed9a90693cd
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/OvertimeReport.php=431965980b2458019398d2ed6d7fc39a
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Api/ReportsAdminManager.php=be16482fcb8d6714f13618407acf25a5
|
||||
/vagrant/core/src/Reports/User/Reports/EmployeeTimeTrackReport.php=ce6f2b098845233342c336f837001554
|
||||
/vagrant/core/src/Classes/LDAPManager.php=e88dd0634a6ca372564faa5a1d540796
|
||||
/vagrant/core/src/Classes/Email/PHPMailer.php=54789d10177cc5075cb4d50838b05821
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Company/Common/Model/Timezone.php=50aff3bc39221658c35041abdc55ad98
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Data/DataReader.php=b788e0ab03f397f845ee49427f9689da
|
||||
/vagrant/core/src/Utils/LogManager.php=144ebae4d0ff60f0fd21e79a45aa6e6a
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Utils/Math/EvalMathStack.php=4b86e2041c19d8ef8eaf7f4ea630e116
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Model/IceEmail.php=02bd3cd01cb37ab05d763e468cba3835
|
||||
/vagrant/core/src/Users/Admin/Api/UsersAdminManager.php=695662b7186616d4379d0a588b5130e6
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Model/UserReport.php=0a8a8476e3088011cc54fda139567b56
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Data/Admin/Import/EmployeeDataImporter.php=d1b66e2d042335df792fa8913d363d5f
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Travel/Common/Model/EmployeeImmigration.php=1dcb690d0045699a1aa65eda033f9adf
|
||||
/vagrant/core/src/Classes/UIManager.php=b43c282c50f732086e6cc07381794cf6
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Overtime/Admin/Api/OvertimePayrollUtils.php=839c6f828000c302512d8d3058286506
|
||||
/vagrant/core/src/Model/ApproveModel.php=97c98d153a6cca455cbeb0b637eac098
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Api/ReportBuilder.php=9b0e8e996157caebcf17a2a342ba0f6e
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Loans/Admin/Api/LoansAdminManager.php=0954d425f553598a6f3a9dbefc19fb45
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/OvertimeRequestReport.php=3cd3bc887da768a32bfc61c152489528
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Admin/Api/MetadataAdminManager.php=9f383f9c34ec98a8e2e701825c548a8a
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Data/Query/FieldMapping.php=59bf4b2160b88d4ceb3729588b341b64
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/HistoryManager.php=4741dd856bb81ec2e27bd016afb8e042
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Overtime/Common/Model/EmployeeOvertimeApproval.php=edd2eedebb9f62a44f0e588c615654ce
|
||||
/vagrant/core/src/Qualifications/Common/Model/Language.php=16759d70f3d52e38cbe81abed9b220d8
|
||||
/vagrant/core/src/Attendance/Admin/Api/AttendanceDashboardManager.php=c08fc7c021dd0c0780851c308225291f
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Email/SNSEmailSender.php=fa905e3ab63ea745c591e744d6741b6b
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Modules/Admin/Api/ModulesAdminManager.php=e0bc5316cc3c7c6e214761c54e738e9c
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/TerminatedEmployeeReport.php=1b8b58d6e85eb77e45aaf44f426025ea
|
||||
/vagrant/core/src/Model/Notification.php=fe1cf65671434bc29c8d17a78577e1f3
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Migration/AbstractMigration.php=324fe15e15a0ca2b0f50f4029ae10548
|
||||
/vagrant/core/src/Dashboard/User/Api/DashboardModulesManager.php=2e8968121b445353ee864c76c44483d3
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Loans/User/Api/LoansModulesManager.php=4f0650c7b4ab3ec6c241bd32c680dfca
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Modules/Admin/Api/ModulesActionManager.php=a4f9c92a8f6de83ed72c5f775369b883
|
||||
/vagrant/core/src/Classes/CustomFieldManager.php=ed6fd78e1a485b2dc05e4fe683ec4731
|
||||
/vagrant/core/src/Loans/Admin/Api/LoansAdminManager.php=0954d425f553598a6f3a9dbefc19fb45
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/Admin/Api/AttendanceActionManager.php=ebf11e8f9395c7ef272b08c8f1fcd22c
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/Common/Model/Certification.php=39426e51081f6385feb4803f6a62e937
|
||||
/vagrant/core/src/Reports/Admin/Reports/EmployeeAttendanceReport.php=a20c94c986fa57c52daebbcbf4fa1f3f
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/TimeSheets/Common/Model/QTDays.php=32a00e65a966331b776dc37cc0609edf
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Api/PDFReportBuilder.php=fbbc196b5ea432671667bcc239d8bf54
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Cron/Task/EmailSenderTask.php=f0c93e7c807706922cb812723e51bd09
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/ExpenseReport.php=397c8deb446994b64e2b9fef2845bb89
|
||||
/vagrant/core/src/Dashboard/Admin/Api/DashboardAdminManager.php=800b72969de1b8c311a8e1b7d2940c79
|
||||
/vagrant/core/src/Classes/ModuleBuilder/ModuleTab.php=89136363d7520967c2d42e175052f4d5
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Dependents/Common/Model/EmployeeDependent.php=1f4b6cd6dfbc14269b53dbbac3730f9e
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Utils/Math/EvalMath.php=bdae5673431ca215e080d3b0aa0f74c8
|
||||
/vagrant/core/src/Utils/CalendarTools.php=9f60bf1aaa928a02163680da60ac255c
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Jobs/Common/Model/JobTitle.php=2f24525e14942c7f284a44c8e416cd34
|
||||
/vagrant/core/src/StaffDirectory/User/Api/StaffDirectoryModulesManager.php=01de49a245a08bcf9a770bcee9331136
|
||||
/vagrant/core/src/Classes/Cron/Task/EmailSenderTask.php=f0c93e7c807706922cb812723e51bd09
|
||||
/vagrant/core/src/Reports/User/Reports/ClientProjectTimeReport.php=f860b3cff536b5074bb7d1e193c1c41d
|
||||
/vagrant/core/src/Reports/User/Api/ReportsModulesManager.php=1645b61be16b96d0085510f6a2d30b68
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/AbstractInitialize.php=a6e16a53a0178bc30b27dcf3684fbdad
|
||||
/vagrant/core/src/Salary/Admin/Api/SalaryAdminManager.php=8bedb5d82608974feedd1c094cac64fa
|
||||
/vagrant/core/src/Employees/Common/Model/EmploymentStatus.php=6e72924fac0cecc49aaf070389f8d73a
|
||||
/vagrant/core/src/Classes/HistoryManager.php=4741dd856bb81ec2e27bd016afb8e042
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Loans/Common/Model/CompanyLoan.php=cca60a4d5fa1189cdbd35146b010a2c7
|
||||
/vagrant/core/src/Travel/Admin/Api/TravelActionManager.php=3a1057fd319a38ff8eecf55b4879d517
|
||||
/vagrant/core/src/Projects/Common/Model/Client.php=e4ee80d40f4bbcd94516d767b639f4e4
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Api/CSVReportBuilder.php=5c5f7175cc2aff776388c3281cea9cf3
|
||||
/vagrant/core/src/Reports/Admin/Api/PDFReportBuilderInterface.php=cc049c4c1b86e5a5e4fd99ddf24e563d
|
||||
/vagrant/core/src/Overtime/User/Api/OvertimeModulesManager.php=b29d52a4e3f021cdd786f41cbf1b9837
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Permissions/Admin/Api/PermissionsAdminManager.php=c66e06b926b4006e8a2d7f2e77e0f1fa
|
||||
/vagrant/core/src/Attendance/Common/Calculations/CaliforniaOvertimeCalculator.php=a1a5ff46939030747f505710fbd49ffd
|
||||
/Users/Thilina/Projects/icehrm-open/test/test.config.php=68587cbb63b8a37dc07fdac177eb23a4
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Dashboard/Admin/Api/DashboardActionManager.php=5e8e996f9f4b77f1fbd10e026a5d1351
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/PayslipReport.php=7582da680dd305d073faf95d268083cd
|
||||
/vagrant/core/src/Salary/Common/Model/EmployeeSalary.php=f7d994ee11b471fff1a6d522d0c62232
|
||||
/vagrant/core/src/Classes/BaseService.php=92bd3a9bb4e7eb84e079b0db75d5f752
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/EmployeeTimesheetReport.php=8661944cf39b10c441841a8af72cb988
|
||||
/vagrant/core/src/Settings/Admin/Api/SettingsAdminManager.php=5e5df0056db6f9593128720581feca18
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Employees/Common/Model/EmployeeApproval.php=481ddd171d66e644bb442ab02e97b097
|
||||
/vagrant/core/src/Permissions/Common/Model/Permission.php=0745dd3786e95cfc5265c32f47f4ee4a
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Utils/LogManager.php=144ebae4d0ff60f0fd21e79a45aa6e6a
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Dashboard/User/Api/DashboardModulesManager.php=2e8968121b445353ee864c76c44483d3
|
||||
/vagrant/core/src/Users/Admin/Api/UsersEmailSender.php=44ef76064fa528f8c88b0cf6b6e9b448
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/StaffDirectory/User/Api/StaffDirectoryModulesManager.php=01de49a245a08bcf9a770bcee9331136
|
||||
/vagrant/core/src/StaffDirectory/Rest/StaffDirectoryRestEndPoint.php=ba417b136c9c65cd5096c3bde7d141c2
|
||||
/vagrant/core/src/Payroll/Common/Model/PayslipTemplate.php=cc9bf7552cfccd84a0b9b1431f224f1f
|
||||
/vagrant/core/src/Classes/Email/EmailSender.php=7a77f7e9c4622634bddd8ac1ff7b6fa3
|
||||
/vagrant/test/test.includes.php=66d627b31f3f6b76f1739a54e7d9fd9f
|
||||
/vagrant/core/src/Attendance/Common/Model/AttendanceStatus.php=ad80af2d596e584a3ab60a5fce4aac09
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/Admin/Api/QualificationsAdminManager.php=3037d64a2344a497ff0ceea52265d2a6
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/EmergencyContacts/User/Api/EmergencyContactModulesManager.php=527888466137dad3da5c6bf5b7bf9b28
|
||||
/vagrant/core/src/Classes/MemcacheService.php=e07916b1c628686162c19fa26aad93d5
|
||||
/vagrant/core/src/Payroll/Common/Model/PayrollData.php=f1a49da4e6e5a91695dd96c9585e1686
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Migration/MigrationManager.php=b2a6fae32ad9370a4e3375a623330fa7
|
||||
/vagrant/core/src/Classes/IceResponse.php=bb74495c33fab87e96f72b610cfd5374
|
||||
/vagrant/core/src/Classes/Cron/Task/DocumentExpiryNotificationTask.php=c5f29d1d3ea8b984b442fee8d07d08a1
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Data/Admin/Api/DataAdminManager.php=3913dc1f43ae1965956c420d0d9084c8
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/Rest/AttendanceRestEndPoint.php=98b5f7f6dc8bfe0fb0eddbc8f894837b
|
||||
/vagrant/core/src/Utils/Math/EvalMath.php=bdae5673431ca215e080d3b0aa0f74c8
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Salary/Admin/Api/SalaryAdminManager.php=8bedb5d82608974feedd1c094cac64fa
|
||||
/vagrant/core/src/Classes/IceConstants.php=76b653fed16d089de7da45fe4dfd32a0
|
||||
/vagrant/core/src/Overtime/Admin/Api/OvertimeAdminManager.php=701c52c0bca0b0d89c5bb8e7cbafac8e
|
||||
/vagrant/core/src/Classes/ModuleBuilder/ModuleBuilder.php=29fed2a27587032060efc02c7a30a838
|
||||
/vagrant/test/unit/LanguageManagerUnit.php=ebb20febce875350bfddd7f0358e6ad0
|
||||
/vagrant/core/src/Metadata/Common/Model/CalculationHook.php=14b41df5f777aa74832b359d43d45140
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Cron/Task/DocumentExpiryNotificationTask.php=c5f29d1d3ea8b984b442fee8d07d08a1
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/CustomFieldManager.php=ed6fd78e1a485b2dc05e4fe683ec4731
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Overtime/Admin/Api/OvertimeActionManager.php=63ef6d09e21234f0ee963106c417a196
|
||||
/vagrant/core/src/Reports/Admin/Api/ReportBuilder.php=9b0e8e996157caebcf17a2a342ba0f6e
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Overtime/Common/Model/OvertimeCategory.php=49198d964e954be3d427e3a7a29a6443
|
||||
/vagrant/core/src/Classes/Data/Query/FieldMapping.php=59bf4b2160b88d4ceb3729588b341b64
|
||||
/vagrant/core/src/Classes/MenuItemTemplate.php=7ad7eb3a874ec729ec1baf0760f0b4ed
|
||||
/vagrant/core/src/Projects/User/Api/ProjectsModulesManager.php=4fc0463507ca7768a1e493d703ac2581
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/PermissionManager.php=149c16e23f9066538e9c7a0ee3bb397f
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/Admin/Api/AttendanceDashboardManager.php=c08fc7c021dd0c0780851c308225291f
|
||||
/vagrant/core/src/Payroll/Common/Model/Deduction.php=1e49d0fd8d4673e3fd094cfb0e467df4
|
||||
/vagrant/core/src/Employees/Common/Model/ArchivedEmployee.php=6056e5073538c0d7a22dea52b6c25374
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Jobs/Common/Model/PayGrade.php=9cc01a86f03deb884884681a73deb27a
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Email/SwiftMailer.php=eca37dc0add437ae1089c695b5074b90
|
||||
/vagrant/core/src/Data/Admin/Api/AbstractDataImporter.php=315bf5eec45aa13e174d412014e2237f
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Model/BaseModel.php=18a7c31592c280ad3e6d2fdee42e1514
|
||||
/vagrant/core/src/Metadata/Common/Model/SupportedLanguage.php=3ec1220796f6e33641998a33f036d709
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Model/Migration.php=3f11c6dfaa18d4a6dcb2caa8d3677121
|
||||
/vagrant/core/src/TimeSheets/User/Api/TimeSheetsModulesManager.php=63a8c4364cd579be46b60a2e83f8f87f
|
||||
/vagrant/core/src/Classes/SubActionManager.php=efcd05491fde9cd1f19c7baf8d09669a
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/Admin/Api/AttendanceAdminManager.php=21e4a22a3eb290704181e5a4a7a5df7a
|
||||
/vagrant/core/src/Employees/Common/Model/Employee.php=1e8f3958597a1d2f138e927115671538
|
||||
/vagrant/core/src/Qualifications/Common/Model/EmployeeLanguage.php=66127455502fb29181324c1cc25f93c4
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Projects/Common/Model/Project.php=05b1cd967d67cb977558f2567d7f6cb6
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/RestEndPoint.php=48bd6506bb12af195f32d65c0ae635f2
|
||||
/vagrant/core/src/Reports/Admin/Api/ReportBuilderInterface.php=dd7e723c48ec4f97db98ffec0d0f39cb
|
||||
/vagrant/core/src/Employees/Admin/Api/EmployeesActionManager.php=422c05fab85d0c9f398a8c71fdef6758
|
||||
/vagrant/core/src/Classes/NotificationManager.php=e1bf4227b181f06feed9ed678a80ad2a
|
||||
/vagrant/core/src/Attendance/Rest/AttendanceRestEndPoint.php=98b5f7f6dc8bfe0fb0eddbc8f894837b
|
||||
/vagrant/core/src/Model/BaseModel.php=18a7c31592c280ad3e6d2fdee42e1514
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/Common/Model/Language.php=16759d70f3d52e38cbe81abed9b220d8
|
||||
/vagrant/core/src/Model/Migration.php=3f11c6dfaa18d4a6dcb2caa8d3677121
|
||||
/vagrant/core/src/Employees/Rest/EmployeeRestEndPoint.php=c133d71de94b3c13fac97f9d1061ce06
|
||||
/vagrant/core/src/Dependents/User/Api/DependentsModulesManager.php=409b6ea72b6ce0319bb12df6458d2bef
|
||||
/vagrant/core/src/Salary/Common/Model/PayFrequency.php=fab16310b7db7bb9aace5a6b038c9d2a
|
||||
/vagrant/core/src/Travel/Admin/Api/TravelAdminManager.php=9b3c6e369e2264d2bc9fca122e8ed90c
|
||||
/vagrant/core/src/Classes/Cron/CronUtils.php=b55a1fe1c4ed55dc582e208b341f52b4
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/ModuleBuilder/ModuleBuilder.php=29fed2a27587032060efc02c7a30a838
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Company/Admin/Api/CompanyAdminManager.php=484a8b669d5fed117f1f40f289f2c6f4
|
||||
/vagrant/core/src/Qualifications/Common/Model/Education.php=327f74726fca1a976e2fc6272ffecdea
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/NotificationManager.php=e1bf4227b181f06feed9ed678a80ad2a
|
||||
/vagrant/core/src/Classes/LanguageManager.php=e019a01be56a46a93177a50340fc3eea
|
||||
/vagrant/core/src/Classes/Data/Query/Filter.php=3ec1fa1e59c0cbc0955dd3f2f738d1c3
|
||||
/vagrant/core/src/Metadata/Common/Model/Country.php=be5371104ea0bbfa7132201d5e31e62f
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/TimeSheets/Common/Model/EmployeeTimeEntry.php=f69d37222ff6d528b5dde53fcbb5b3a8
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Overtime/User/Api/OvertimeActionManager.php=5ace85f1fdbd23f5adc8d089f2d6b5fa
|
||||
/vagrant/core/src/Travel/Common/Model/EmployeeImmigration.php=1dcb690d0045699a1aa65eda033f9adf
|
||||
/vagrant/test/unit/UserAttendanceActionManagerUnit.php=1d71d366a13f253ef6931aa87202ac42
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Model/StatusChangeLog.php=0745140bddda3f06915dcfcc6ac97ce8
|
||||
/vagrant/core/src/Reports/Admin/Reports/AssetUsageReport.php=176cc5363c46aee80f4fc1802b0d29c3
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Users/Common/Model/User.php=ad497e45b540b026aa80fa58f5055cc1
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Data/Admin/Api/AbstractDataImporter.php=315bf5eec45aa13e174d412014e2237f
|
||||
/vagrant/core/src/Metadata/Admin/Api/MetadataAdminManager.php=9f383f9c34ec98a8e2e701825c548a8a
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Travel/Admin/Api/TravelActionManager.php=3a1057fd319a38ff8eecf55b4879d517
|
||||
/vagrant/core/src/Metadata/Common/Model/Ethnicity.php=5f5935cdeab1b41ac0d2db9f6973f6b0
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Salary/Common/Model/SalaryComponentType.php=d96878a0b1547f44731830526306ab56
|
||||
/vagrant/core/src/Metadata/Common/Model/CustomFieldValue.php=a5d9109aa3b465bf98ba0b04ce5d0430
|
||||
/vagrant/core/src/Model/Report.php=498c96015d1be2b31d8cd0bcedea7fab
|
||||
/vagrant/core/src/Classes/SettingsManager.php=ebed24cde74d7fb33cca4ba156389760
|
||||
/vagrant/core/src/Payroll/Admin/Api/PayrollAdminManager.php=9bac9a6ed8406c9eb6fe7ef666aee482
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Jobs/Admin/Api/JobsAdminManager.php=12546328edffcc5bda7e84f6a8c56d9e
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Api/ReportsModulesManager.php=1645b61be16b96d0085510f6a2d30b68
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Email/EmailSender.php=7a77f7e9c4622634bddd8ac1ff7b6fa3
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/TimeSheets/User/Api/TimeSheetsActionManager.php=ef271183cf6e71d8db24b8d3369e19b9
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Model/Report.php=498c96015d1be2b31d8cd0bcedea7fab
|
||||
/vagrant/core/src/Classes/Cron/IceTask.php=cc9b1481e824fd967eb503248eb92e29
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Employees/Admin/Api/EmployeesActionManager.php=422c05fab85d0c9f398a8c71fdef6758
|
||||
/vagrant/core/src/Model/StatusChangeLog.php=0745140bddda3f06915dcfcc6ac97ce8
|
||||
/vagrant/core/src/Attendance/User/Api/AttendanceModulesManager.php=f1b34fae71cc963e197b41ed2ca032ca
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Employees/Rest/EmployeeRestEndPoint.php=c133d71de94b3c13fac97f9d1061ce06
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/User/Api/AttendanceActionManager.php=feaa97dd192e7faec2045aba7dc03125
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Employees/User/Api/EmployeesActionManager.php=e34f4fe38b3e0eb45cb65232fa6ec359
|
||||
/vagrant/core/src/Classes/StatusChangeLogManager.php=b091e855d9800eea9d4190e0c75e3e8c
|
||||
/vagrant/core/src/Reports/Admin/Reports/TravelRequestReport.php=c4bdd4c88f4a7b15c8091a0dcbb5018a
|
||||
/vagrant/core/src/Permissions/Admin/Api/PermissionsAdminManager.php=c66e06b926b4006e8a2d7f2e77e0f1fa
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Travel/Admin/Api/TravelAdminManager.php=9b3c6e369e2264d2bc9fca122e8ed90c
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/IceConstants.php=76b653fed16d089de7da45fe4dfd32a0
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Crypt/Aes.php=d0b15a04faf73b0ff35efc308d09b6e7
|
||||
/vagrant/core/src/Reports/User/Reports/OvertimeSummaryReport.php=3918d7210957040977b8a43c580abae0
|
||||
/Users/Thilina/Projects/icehrm-open/test/unit/LanguageManagerUnit.php=ebb20febce875350bfddd7f0358e6ad0
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Model/Setting.php=f24f377a9590eb8ead2400b186f18a80
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Model/File.php=3bc6c71925ad1e20721ffd63567c7783
|
||||
/vagrant/core/src/Reports/Admin/Reports/OvertimeReport.php=f630ae5402ec7957f42b64fa46cd1923
|
||||
/vagrant/core/src/Qualifications/Common/Model/EmployeeSkill.php=a02c5ceda0489aba4ed47df010d4892e
|
||||
/vagrant/core/src/Travel/Common/Model/EmployeeTravelRecordApproval.php=d84b2a1323f3663806cc30545e748cd4
|
||||
/vagrant/core/src/Reports/Admin/Reports/EmployeeLeaveEntitlementReport.php=9be41bfeb88fd0171028203f6513c799
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/ExpenseReport.php=7c8d187bc57175a92b8bc0fa33e501f0
|
||||
/vagrant/core/src/Data/Common/Model/DataImportFile.php=a0b3f8410e80862ba79aa9d8fed383d7
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Common/Model/PayslipTemplate.php=cc9bf7552cfccd84a0b9b1431f224f1f
|
||||
/vagrant/core/src/Payroll/Common/Model/DeductionGroup.php=c35db5b88aa4b0c7d78b8444688931b5
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Api/ClassBasedReportBuilder.php=fc77219539745bdb6364fc81bdda2516
|
||||
/vagrant/core/src/TimeSheets/Common/Model/EmployeeTimeEntry.php=f69d37222ff6d528b5dde53fcbb5b3a8
|
||||
/vagrant/core/src/Classes/ModuleBuilder/ModuleTabGroup.php=d81cfc2b3dcad2f57317b1274c884d95
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Travel/User/Api/TravelModulesManager.php=94c9204a67e99af9133cd2aa371cb6da
|
||||
/vagrant/core/src/Projects/Common/Model/EmployeeProject.php=b0de956de8ec4c423604195b96f57df9
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/TimeSheets/Common/Model/EmployeeTimeSheet.php=2a4e685315485e4933df5d2ba856d8fb
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Users/Admin/Api/UsersEmailSender.php=44ef76064fa528f8c88b0cf6b6e9b448
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/RestApiManager.php=c53180aa40576c5fe8c519b2b0a39e32
|
||||
/vagrant/core/src/Travel/Common/Model/EmployeeTravelRecord.php=5366a1927bd94630217ffbc9386ff605
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Travel/Common/Model/EmployeeTravelRecordApproval.php=d84b2a1323f3663806cc30545e748cd4
|
||||
/vagrant/core/src/Reports/Admin/Api/ReportsAdminManager.php=be16482fcb8d6714f13618407acf25a5
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Travel/Common/Model/EmployeeTravelRecord.php=5366a1927bd94630217ffbc9386ff605
|
||||
/vagrant/core/src/Users/Common/Model/UserRole.php=9f9021a51c94b25e203cc3c0322c80d7
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Common/Model/Deduction.php=1e49d0fd8d4673e3fd094cfb0e467df4
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Approval/ApproveCommonActionManager.php=c1b7efb8c4f3fe8199c7e0d6fdd1ccce
|
||||
/vagrant/core/src/Payroll/Common/Model/PayrollColumnTemplate.php=cb69bf4717cfbaf0f395b931296efd9a
|
||||
/vagrant/core/src/StaffDirectory/Common/Model/StaffDirectory.php=73f3c132e741460f200be3b3100833f6
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Common/Model/PayrollCalculations.php=70d1b733b1adbb6c6a2ea0dcec89efca
|
||||
/vagrant/core/src/Classes/Data/DataReader.php=b788e0ab03f397f845ee49427f9689da
|
||||
/vagrant/core/src/Data/Admin/Api/DataActionManager.php=82f3ced08b946ca6e10a83c6e07475db
|
||||
/vagrant/test/helper/EmployeeTestDataHelper.php=65ec2048653c9e4e4359d9b6967a860d
|
||||
/vagrant/core/src/Payroll/Common/Model/PayrollColumn.php=0f2e8fd9b44c038f163ae646d3c6f4b6
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Common/Model/PayrollData.php=f1a49da4e6e5a91695dd96c9585e1686
|
||||
/vagrant/core/src/Reports/User/Reports/EmployeeTimesheetReport.php=2ec16a7dccb131862f295ad97db9067b
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/PayrollDataExport.php=83bd6faa73c75667ecf25091c3729abc
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/TravelRequestReport.php=810d405042307fe9c6ca82e082c3673e
|
||||
/vagrant/core/src/Modules/Admin/Api/ModulesAdminManager.php=e0bc5316cc3c7c6e214761c54e738e9c
|
||||
/vagrant/core/src/Company/Common/Model/CompanyStructure.php=a1957202858bc093b29e8dfe48955cc6
|
||||
/vagrant/core/src/Qualifications/Common/Model/Certification.php=39426e51081f6385feb4803f6a62e937
|
||||
/vagrant/core/src/Reports/Admin/Reports/EmployeeLeavesReport.php=bd5efb4666ca4103a2e7e98aa24e1c83
|
||||
/vagrant/core/src/FieldNames/Common/Model/CustomField.php=32400d304e8064e69624311c3c80dffb
|
||||
/vagrant/core/src/EmergencyContacts/User/Api/EmergencyContactModulesManager.php=527888466137dad3da5c6bf5b7bf9b28
|
||||
/vagrant/core/src/Data/Admin/Import/AttendanceDataImporter.php=dc4dec4294b9feac08a5f996b85cab85
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Data/Admin/Import/AttendanceDataImporter.php=dc4dec4294b9feac08a5f996b85cab85
|
||||
/vagrant/core/src/Company/Common/Model/Timezone.php=50aff3bc39221658c35041abdc55ad98
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Model/RestAccessToken.php=77c292675944ff887fc8b4c3f7b6da94
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Model/ReportFile.php=0a766e94902b5473ef1fa24583cf2481
|
||||
/vagrant/core/src/Classes/RestApiManager.php=c53180aa40576c5fe8c519b2b0a39e32
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/MemcacheService.php=e07916b1c628686162c19fa26aad93d5
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Projects/Admin/Api/ProjectsAdminManager.php=8f20c5277a8560a69318263166b804e3
|
||||
/vagrant/core/src/Model/IceEmail.php=02bd3cd01cb37ab05d763e468cba3835
|
||||
/vagrant/core/src/Salary/Common/Model/SalaryComponent.php=31e89f1115de7986cd790c8e113ab6d5
|
||||
/vagrant/core/src/Dependents/Common/Model/EmployeeDependent.php=1f4b6cd6dfbc14269b53dbbac3730f9e
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/NewHiresEmployeeReport.php=64eab525953538d481dab6052dd76d81
|
||||
/vagrant/core/src/Travel/User/Api/TravelModulesManager.php=94c9204a67e99af9133cd2aa371cb6da
|
||||
/vagrant/core/src/Reports/Admin/Api/ClassBasedReportBuilder.php=fc77219539745bdb6364fc81bdda2516
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Common/Model/DeductionGroup.php=c35db5b88aa4b0c7d78b8444688931b5
|
||||
/vagrant/core/src/Modules/Common/Model/Module.php=6930680c77dfbcd410e1425c76511c16
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Common/Model/ImmigrationStatus.php=f0dc9a94bcc487df21d53387ae8e89ba
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Data/Query/Filter.php=3ec1fa1e59c0cbc0955dd3f2f738d1c3
|
||||
/vagrant/core/src/TimeSheets/Common/Model/EmployeeTimeSheet.php=2a4e685315485e4933df5d2ba856d8fb
|
||||
/vagrant/core/src/Classes/S3FileSystem.php=6308aca72380cef1981625946b59652f
|
||||
/vagrant/core/src/Salary/User/Api/SalaryModulesManager.php=050d077e79532353a7d12a7221829b7c
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Attendance/Common/Calculations/BasicOvertimeCalculator.php=9c96ae3f71796029d3f93e5c63783f53
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Travel/Common/Model/ImmigrationDocument.php=c0636d2ce3e7d89d9e4ebb00c8d1450f
|
||||
/vagrant/core/src/Attendance/Admin/Api/AttendanceAdminManager.php=21e4a22a3eb290704181e5a4a7a5df7a
|
||||
/vagrant/core/src/Users/Admin/Api/UsersActionManager.php=52c9dc80e7d81e244b5f0ed9a90693cd
|
||||
/vagrant/core/src/Model/RestAccessToken.php=77c292675944ff887fc8b4c3f7b6da94
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/MenuItemTemplate.php=7ad7eb3a874ec729ec1baf0760f0b4ed
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Common/Model/CalculationHook.php=14b41df5f777aa74832b359d43d45140
|
||||
/vagrant/core/src/Qualifications/Admin/Api/QualificationsAdminManager.php=3037d64a2344a497ff0ceea52265d2a6
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Common/Model/PayrollColumnTemplate.php=cb69bf4717cfbaf0f395b931296efd9a
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/SimpleImage.php=fdfb7b2e71e14975ebce16de44ea9dee
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Settings/Admin/Api/SettingsInitialize.php=148bc391f5d101121f915a590f991a6b
|
||||
/vagrant/core/src/Overtime/Admin/Api/OvertimeActionManager.php=63ef6d09e21234f0ee963106c417a196
|
||||
/vagrant/core/src/Attendance/Admin/Api/AttendanceActionManager.php=ebf11e8f9395c7ef272b08c8f1fcd22c
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Utils/InputCleaner.php=e86fcb9daf1d32a4328edf40a31152f8
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/EmployeeTimeSheetData.php=9d612ee603fdf4e6b710eec725da2656
|
||||
/vagrant/core/src/Data/Admin/Api/DataImporter.php=ad94e2de98e11c1d3f0f0b32c46f358c
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Model/Audit.php=6259d9e1d7e7777bb8cde096bdc742aa
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/UIManager.php=b43c282c50f732086e6cc07381794cf6
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Email/SMTPEmailSender.php=0df2a519ce3a2d61d486b9527782f72b
|
||||
/vagrant/core/src/Qualifications/Common/Model/EmployeeEducation.php=8ba4cbc034b5ee23d593cc3352cf46a9
|
||||
/vagrant/core/src/Metadata/Common/Model/Province.php=0ff661394cbcfec7f514f2d5eae7ca25
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/SubActionManager.php=efcd05491fde9cd1f19c7baf8d09669a
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Cron/IceTask.php=cc9b1481e824fd967eb503248eb92e29
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/AbstractModuleManager.php=69d73f9f71155445c32222050528b2e0
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Projects/Common/Model/Client.php=e4ee80d40f4bbcd94516d767b639f4e4
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Permissions/Common/Model/Permission.php=0745dd3786e95cfc5265c32f47f4ee4a
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/OvertimeSummaryReport.php=16d9e2f10de82f25d0965e2d327086b9
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Dashboard/User/Api/DashboardActionManager.php=3f797cf4807ad5cd4f881607142df049
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/StatusChangeLogManager.php=b091e855d9800eea9d4190e0c75e3e8c
|
||||
/vagrant/core/src/Reports/User/Reports/EmployeeAttendanceReport.php=600c1feca3eab6d724ac9661f2f514d5
|
||||
/vagrant/core/src/Model/Setting.php=f24f377a9590eb8ead2400b186f18a80
|
||||
/vagrant/core/src/Payroll/Admin/Api/PayrollActionManager.php=c95c4e2ae643a16b8e59fa73dc1f0193
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/EmployeeTimeTrackReport.php=ce6f2b098845233342c336f837001554
|
||||
/vagrant/core/src/Overtime/Common/Model/EmployeeOvertimeApproval.php=edd2eedebb9f62a44f0e588c615654ce
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/User/Reports/EmployeeLeavesReport.php=0bd5801ac4c9803db53198c68904d5f5
|
||||
/vagrant/core/src/Reports/Admin/Reports/TerminatedEmployeeReport.php=1b8b58d6e85eb77e45aaf44f426025ea
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Salary/Common/Model/SalaryComponent.php=31e89f1115de7986cd790c8e113ab6d5
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/EmployeeAttendanceReport.php=a20c94c986fa57c52daebbcbf4fa1f3f
|
||||
/vagrant/test/TestTemplate.php=8e6ff185d587f339892a9a720e2bfa5f
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/AssetUsageReport.php=176cc5363c46aee80f4fc1802b0d29c3
|
||||
/vagrant/core/src/Attendance/Admin/Api/AttendanceUtil.php=34fe63a4c0f954451afae6c359ea5b38
|
||||
/vagrant/core/src/Classes/Approval/ApproveAdminActionManager.php=01eaf59752e8379205bc52f3278f96fc
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Metadata/Common/Model/CustomFieldValue.php=a5d9109aa3b465bf98ba0b04ce5d0430
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Data/Admin/Import/PayrollDataImporter.php=7350ec94ef8a70ba6c263e53c70c7073
|
||||
/vagrant/core/src/Overtime/Common/Model/EmployeeOvertime.php=4275d184646684892b289524b33cf9d7
|
||||
/vagrant/core/src/Classes/Crypt/Aes.php=d0b15a04faf73b0ff35efc308d09b6e7
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/LDAPManager.php=e88dd0634a6ca372564faa5a1d540796
|
||||
/vagrant/core/src/Reports/Admin/Reports/OvertimeRequestReport.php=3cd3bc887da768a32bfc61c152489528
|
||||
/vagrant/core/src/Reports/Admin/Reports/ActiveEmployeeReport.php=261180dfbe69ab83d9d63646111695ba
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/Email/PHPMailer.php=54789d10177cc5075cb4d50838b05821
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/ModuleBuilder/ModuleTab.php=89136363d7520967c2d42e175052f4d5
|
||||
/vagrant/core/src/TimeSheets/User/Api/TimeSheetsActionManager.php=ef271183cf6e71d8db24b8d3369e19b9
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/TimeSheets/User/Api/TimeSheetsInitialize.php=d47372f12494019c1004a04cbe57013d
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Reports/OvertimeReport.php=f630ae5402ec7957f42b64fa46cd1923
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Common/Model/PayFrequency.php=9207a551d667bab9734aa041e02a1be1
|
||||
/vagrant/core/src/Classes/Data/Query/DataQuery.php=eae53f27055f569d43fd2cad06b7beff
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Qualifications/Common/Model/EmployeeCertification.php=96045388cba569f4ea9617dc8fbeded6
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Model/DataEntryBackup.php=9ab3a7d48dbdd377a90c505cf692c17e
|
||||
/vagrant/core/src/Attendance/User/Api/AttendanceActionManager.php=feaa97dd192e7faec2045aba7dc03125
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/ModuleBuilder/ModuleTabGroup.php=d81cfc2b3dcad2f57317b1274c884d95
|
||||
/vagrant/core/src/Utils/InputCleaner.php=e86fcb9daf1d32a4328edf40a31152f8
|
||||
/vagrant/core/src/Salary/Common/Model/SalaryComponentType.php=d96878a0b1547f44731830526306ab56
|
||||
/vagrant/core/src/Payroll/Common/Model/PayFrequency.php=9207a551d667bab9734aa041e02a1be1
|
||||
/vagrant/core/src/Overtime/Admin/Api/OvertimePayrollUtils.php=839c6f828000c302512d8d3058286506
|
||||
/vagrant/core/src/Attendance/Common/Model/Attendance.php=aa0945e6fc70e6e3418d0e09f7110082
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Classes/ReportHandler.php=80b280cae34fdfbee864b05b07c6789a
|
||||
/vagrant/core/src/Model/ReportFile.php=0a766e94902b5473ef1fa24583cf2481
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/FieldNames/Common/Model/FieldNameMapping.php=e3e81b3a4e0f6c74cd687038632107d8
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Reports/Admin/Api/CSVReportBuilderInterface.php=6ada9a15e850c09162fc75020d6b00e4
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Data/Common/Model/DataImportFile.php=a0b3f8410e80862ba79aa9d8fed383d7
|
||||
/vagrant/core/src/Qualifications/User/Api/QualificationsModulesManager.php=e668d64139ecc146af9ebaea2f91e1fe
|
||||
/vagrant/core/src/Payroll/Common/Model/Payroll.php=8aa76dfc05183abe955552b15e3c4351
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Payroll/Admin/Api/PayrollAdminManager.php=9bac9a6ed8406c9eb6fe7ef666aee482
|
||||
/vagrant/core/src/Reports/User/Reports/EmployeeLeavesReport.php=0bd5801ac4c9803db53198c68904d5f5
|
||||
/Users/Thilina/Projects/icehrm-open/core/src/Salary/Common/Model/EmployeeSalary.php=f7d994ee11b471fff1a6d522d0c62232
|
||||
/vagrant/core/src/Model/Cron.php=9e638c23f7cb93500a1b1f1ef4edf86f
|
||||
/vagrant/core/src/Model/DataEntryBackup.php=9ab3a7d48dbdd377a90c505cf692c17e
|
||||
|
||||
@@ -1,24 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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.
|
||||
|
||||
iCE Hrm is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with iCE Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'attendance_monitor';
|
||||
|
||||
@@ -1,24 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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.
|
||||
|
||||
iCE Hrm is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with iCE Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'company_structure';
|
||||
|
||||
@@ -1,85 +1,15 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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.
|
||||
|
||||
iCE Hrm is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with iCE Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'dashboard';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
include APP_BASE_PATH.'modulejslibs.inc.php';
|
||||
|
||||
$invoices = [];
|
||||
$numOfUnpaidInvoices = 0;
|
||||
if (class_exists('\\Billing\\Admin\\Api\\BillingActionManager')) {
|
||||
$billingActionManager = new \Billing\Admin\Api\BillingActionManager();
|
||||
|
||||
$invoices = $billingActionManager->getInvoices(null)->getData();
|
||||
if(!empty($invoices)){
|
||||
$invoices = json_decode(json_encode($invoices));
|
||||
}
|
||||
|
||||
foreach($invoices as $inv){
|
||||
if($inv->status == "Sent"){
|
||||
$numOfUnpaidInvoices++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
?><div class="span9">
|
||||
<div class="row">
|
||||
<?php if($numOfUnpaidInvoices == 1){?>
|
||||
<div class="callout callout-warning lead" style="font-size: 14px;">
|
||||
<h4>You have a pending invoice</h4>
|
||||
<p style="font-weight: bold;">
|
||||
You have a pending invoice. Please make you complete the payment so we can provide a better service.
|
||||
<br/>
|
||||
<br/>
|
||||
<a href="<?=CLIENT_BASE_URL?>?g=admin&n=billing&m=admin_System#tabInvoice" class="btn btn-success btm-xs"><i class="fa fa-checkout"></i> Make a Payment</a>
|
||||
</p>
|
||||
</div>
|
||||
<?php }else if($numOfUnpaidInvoices > 1){?>
|
||||
<div class="callout callout-danger lead" style="font-size: 14px;">
|
||||
<h4>You have <?=$numOfUnpaidInvoices?> pending invoices</h4>
|
||||
<p style="font-weight: bold;">
|
||||
You have <?=$numOfUnpaidInvoices?> pending invoice. None of your employees are currently allowed to login. Please make sure you complete payments to all the invoices to restore your service.
|
||||
Please logout and login after completing the payment to get your service restored.
|
||||
<br/>
|
||||
<br/>
|
||||
<a href="<?=CLIENT_BASE_URL?>?g=admin&n=billing&m=admin_System#tabInvoice" class="btn btn-success btm-xs"><i class="fa fa-checkout"></i> Make a Payment</a>
|
||||
</p>
|
||||
</div>
|
||||
<?php }?>
|
||||
|
||||
<?php if(\Utils\SessionUtils::getSessionObject('account_locked') == "1"){?>
|
||||
<div class="callout callout-danger lead" style="font-size: 14px;">
|
||||
<h4>Your Trial Has Expired</h4>
|
||||
<p style="font-weight: bold;">
|
||||
Your Icehrm Trial has expired. Please upgrade subscription to continue. If not upgraded your account will be deleted with in few days.
|
||||
<br/>
|
||||
<br/>
|
||||
<a href="<?=CLIENT_BASE_URL?>?g=admin&n=billing&m=admin_System" class="btn btn-success btm-xs"><i class="fa fa-checkout"></i> Upgrade Subscription</a>
|
||||
</p>
|
||||
</div>
|
||||
<?php }?>
|
||||
|
||||
<?php
|
||||
$moduleManagers = \Classes\BaseService::getInstance()->getModuleManagers();
|
||||
|
||||
@@ -5,7 +5,7 @@ This file is part of Ice Framework.
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'fieldnames';
|
||||
|
||||
@@ -1,24 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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.
|
||||
|
||||
iCE Hrm is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with iCE Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
$moduleName = 'jobs';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
|
||||
@@ -1,24 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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.
|
||||
|
||||
iCE Hrm is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with iCE Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'CompanyLoans';
|
||||
|
||||
@@ -18,7 +18,7 @@ along with Ice Framework. If not, see <http://www.gnu.org/licenses/>.
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'metadata';
|
||||
|
||||
@@ -1,24 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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.
|
||||
|
||||
iCE Hrm is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with iCE Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'Modules';
|
||||
|
||||
@@ -1,27 +1,10 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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.
|
||||
|
||||
iCE Hrm is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with iCE Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'travel';
|
||||
$moduleName = 'overtime';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
include APP_BASE_PATH.'modulejslibs.inc.php';
|
||||
|
||||
@@ -1,24 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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.
|
||||
|
||||
iCE Hrm is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with iCE Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'Permissions';
|
||||
|
||||
@@ -1,24 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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.
|
||||
|
||||
iCE Hrm is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with iCE Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'projects';
|
||||
|
||||
@@ -1,24 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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.
|
||||
|
||||
iCE Hrm is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with iCE Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'company_structure';
|
||||
|
||||
@@ -1,24 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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.
|
||||
|
||||
iCE Hrm is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with iCE Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'settings';
|
||||
|
||||
@@ -1,24 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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.
|
||||
|
||||
iCE Hrm is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with iCE Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'travel';
|
||||
|
||||
@@ -4,11 +4,20 @@ Your account in <b>IceHrm</b> has been created on <a href="#_url_#">#_url_#</a><
|
||||
<b>Please find your account information below:</b><br/><br/>
|
||||
Username: <b>#_username_#</b><br/>
|
||||
Email: <b>#_email_#</b> (You can use, username or email to login)<br/>
|
||||
Password: <b>#_password_#</b> (Strongly advised to change this password once logged in)<br/>
|
||||
Temporary Password: <b>#_password_#</b> (Strongly advised to change this password once logged in)<br/>
|
||||
<br/>
|
||||
|
||||
|
||||
To get started, follow this link: <b><a href="#_url_#">#_url_#</a></b><br/><br/>
|
||||
Login to IceHrm here: (<b><a href="#_url_#">#_url_#</a></b>)<br/>
|
||||
<table class="body-action" align="center" width="100%" cellpadding="0" cellspacing="0" style="font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; -webkit-box-sizing: border-box; box-sizing: border-box; width: 100%; margin: 30px auto; padding: 0; text-align: center;">
|
||||
<tr>
|
||||
<td align="center" style="font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; -webkit-box-sizing: border-box; box-sizing: border-box;">
|
||||
<div style="font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; -webkit-box-sizing: border-box; box-sizing: border-box;">
|
||||
<a href="#_url_#" class="button" style="font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; -webkit-box-sizing: border-box; box-sizing: border-box; display: inline-block; width: 200px; border-radius: 3px; color: #ffffff; font-size: 15px; line-height: 45px; text-align: center; text-decoration: none; -webkit-text-size-adjust: none; mso-hide: all; background-color: #22BC66;" target="_blank">Get Started</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<font face="Arial, sans-serif" size="1" color="#4a4a4a">
|
||||
THIS IS AN AUTOMATED EMAIL - REPLIES WILL BE SENT TO #_adminEmail_#
|
||||
|
||||
@@ -1,24 +1,7 @@
|
||||
<?php
|
||||
/*
|
||||
This file is part of iCE Hrm.
|
||||
|
||||
iCE Hrm 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.
|
||||
|
||||
iCE Hrm is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with iCE Hrm. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
Copyright (c) 2018 [Glacies UG, Berlin, Germany] (http://glacies.de)
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
|
||||
$moduleName = 'users';
|
||||
|
||||
@@ -13,10 +13,10 @@ if(!defined('HOME_LINK_OTHERS')){
|
||||
}
|
||||
|
||||
//Version
|
||||
define('VERSION', '24.0.0.OS');
|
||||
define('CACHE_VALUE', '24.0.0.OS');
|
||||
define('VERSION_NUMBER', '2400');
|
||||
define('VERSION_DATE', '26/06/2018');
|
||||
define('VERSION', '26.1.0.OS');
|
||||
define('CACHE_VALUE', '26.1.0.OS');
|
||||
define('VERSION_NUMBER', '2610');
|
||||
define('VERSION_DATE', '31/01/2019');
|
||||
|
||||
if(!defined('CONTACT_EMAIL')){define('CONTACT_EMAIL','icehrm@gamonoid.com');}
|
||||
if(!defined('KEY_PREFIX')){define('KEY_PREFIX','IceHrm');}
|
||||
|
||||
@@ -10,7 +10,6 @@ if(!$crons){
|
||||
|
||||
\Utils\LogManager::getInstance()->info(CLIENT_NAME." cron count :".count($crons));
|
||||
foreach($crons as $cron){
|
||||
$count++;
|
||||
$iceCron = new \Classes\Cron\IceCron($cron);
|
||||
\Utils\LogManager::getInstance()->info(CLIENT_NAME." check cron :".$cron->name);
|
||||
if($iceCron->isRunNow()){
|
||||
|
||||
312
core/data/payroll/Ghana-Payroll.txt
Normal file
312
core/data/payroll/Ghana-Payroll.txt
Normal file
@@ -0,0 +1,312 @@
|
||||
{
|
||||
"name": "Ghana Payroll Calculation",
|
||||
"description": "",
|
||||
"deductions": [
|
||||
{
|
||||
"id": "101",
|
||||
"name": "Housing Allowance (10%)",
|
||||
"componentType": "[]",
|
||||
"component": "[\"1\"]",
|
||||
"payrollColumn": null,
|
||||
"rangeAmounts": "[{\"lowerCondition\":\"No Lower Limit\",\"lowerLimit\":0,\"upperCondition\":\"No Upper Limit\",\"upperLimit\":0,\"amount\":\"X*0.1\",\"id\":\"rangeAmounts_1\"}]"
|
||||
},
|
||||
{
|
||||
"id": "102",
|
||||
"name": "Overtime Allowance (10%)",
|
||||
"componentType": "[]",
|
||||
"component": "[\"1\"]",
|
||||
"payrollColumn": null,
|
||||
"rangeAmounts": "[{\"lowerCondition\":\"No Lower Limit\",\"lowerLimit\":0,\"upperCondition\":\"No Upper Limit\",\"upperLimit\":0,\"amount\":\"X*0.1\",\"id\":\"rangeAmounts_1\"}]"
|
||||
},
|
||||
{
|
||||
"id": "103",
|
||||
"name": "SSNIT",
|
||||
"componentType": "[]",
|
||||
"component": "[\"1\"]",
|
||||
"payrollColumn": null,
|
||||
"rangeAmounts": "[{\"lowerCondition\":\"No Lower Limit\",\"lowerLimit\":0,\"upperCondition\":\"No Upper Limit\",\"upperLimit\":0,\"amount\":\"X*0.055\",\"id\":\"rangeAmounts_1\"}]"
|
||||
},
|
||||
{
|
||||
"id": "104",
|
||||
"name": "Tax - Ghana",
|
||||
"componentType": "[]",
|
||||
"component": "[]",
|
||||
"payrollColumn": null,
|
||||
"rangeAmounts": ""
|
||||
},
|
||||
{
|
||||
"id": "106",
|
||||
"name": "Next 108 GHC",
|
||||
"componentType": "[]",
|
||||
"component": "[]",
|
||||
"payrollColumn": "112",
|
||||
"rangeAmounts": "[{\"lowerCondition\":\"gte\",\"lowerLimit\":\"216\",\"upperCondition\":\"lt\",\"upperLimit\":\"324\",\"amount\":\"X*0.05\",\"id\":\"rangeAmounts_1\"},{\"lowerCondition\":\"gte\",\"lowerLimit\":\"324\",\"upperCondition\":\"No Upper Limit\",\"upperLimit\":0,\"amount\":\"5.4\",\"id\":\"rangeAmounts_2\"}]"
|
||||
},
|
||||
{
|
||||
"id": "107",
|
||||
"name": "Next 151 GHC",
|
||||
"componentType": "[]",
|
||||
"component": "[]",
|
||||
"payrollColumn": "112",
|
||||
"rangeAmounts": "[{\"lowerCondition\":\"gte\",\"lowerLimit\":\"324\",\"upperCondition\":\"lt\",\"upperLimit\":\"475\",\"amount\":\"(X-324) * 0.1\",\"id\":\"rangeAmounts_1\"},{\"lowerCondition\":\"gte\",\"lowerLimit\":\"259\",\"upperCondition\":\"No Upper Limit\",\"upperLimit\":0,\"amount\":\"15.10\",\"id\":\"rangeAmounts_2\"}]"
|
||||
},
|
||||
{
|
||||
"id": "108",
|
||||
"name": "Next 2765 GHC",
|
||||
"componentType": "[]",
|
||||
"component": "[]",
|
||||
"payrollColumn": "112",
|
||||
"rangeAmounts": "[{\"lowerCondition\":\"gte\",\"lowerLimit\":\"475\",\"upperCondition\":\"lt\",\"upperLimit\":\"3240\",\"amount\":\"(X - 475) * 0.175\",\"id\":\"rangeAmounts_1\"},{\"lowerCondition\":\"gte\",\"lowerLimit\":\"3240\",\"upperCondition\":\"No Upper Limit\",\"upperLimit\":0,\"amount\":\"483.88\",\"id\":\"rangeAmounts_2\"}]"
|
||||
},
|
||||
{
|
||||
"id": "111",
|
||||
"name": "Remaining after 3240 GHC",
|
||||
"componentType": "[]",
|
||||
"component": "[]",
|
||||
"payrollColumn": "112",
|
||||
"rangeAmounts": "[{\"lowerCondition\":\"gte\",\"lowerLimit\":\"3240\",\"upperCondition\":\"No Upper Limit\",\"upperLimit\":0,\"amount\":\"(X-3240)*0.25\",\"id\":\"rangeAmounts_1\"}]"
|
||||
}
|
||||
],
|
||||
"columns": [
|
||||
{
|
||||
"id": "105",
|
||||
"name": "GH - Salary (Basic)",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[\"1\"]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "1",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "106",
|
||||
"name": "GH - Housing Allowance",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[\"101\"]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "2",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "107",
|
||||
"name": "GH - Overtime Allowance",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[\"102\"]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "3",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "108",
|
||||
"name": "GH - Total",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[\"106\",\"107\",\"105\"]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "4",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "109",
|
||||
"name": "GH - SSNIT",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[\"103\"]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "5",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "112",
|
||||
"name": "GH - Taxable Income",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[\"106\",\"105\"]",
|
||||
"sub_columns": "[\"109\"]",
|
||||
"colorder": "7",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "113",
|
||||
"name": "GH - Next 108 GHC",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[\"106\"]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "9",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "114",
|
||||
"name": "GH - Next 151 GHC",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[\"107\"]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "10",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "115",
|
||||
"name": "GH - Next 2765 GHC",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[\"108\"]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "11",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "120",
|
||||
"name": "GH - Remaining after 3240 GHC",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[\"111\"]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "12",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "121",
|
||||
"name": "GH - Overtime Allow. Tax",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "13",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "[{\"name\":\"O\",\"column\":\"107\",\"id\":\"calculation_columns_1\"}]",
|
||||
"calculation_function": "O*0.05"
|
||||
},
|
||||
{
|
||||
"id": "122",
|
||||
"name": "GH - Total (PAYE Tax)",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[\"113\",\"114\",\"115\",\"121\",\"120\"]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "14",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "123",
|
||||
"name": "GH - Deductions - Sub Total",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[\"109\",\"122\"]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "15",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "125",
|
||||
"name": "GH - Final Total",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[\"108\"]",
|
||||
"sub_columns": "[\"123\"]",
|
||||
"colorder": "16",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
}
|
||||
],
|
||||
"salaryComponents": [
|
||||
{
|
||||
"id": "1",
|
||||
"name": "Basic Salary",
|
||||
"componentType": "1",
|
||||
"details": null
|
||||
}
|
||||
],
|
||||
"salaryComponentTypes": [
|
||||
{
|
||||
"id": "1",
|
||||
"code": "B001",
|
||||
"name": "Basic"
|
||||
}
|
||||
],
|
||||
"samplePayroll": {
|
||||
"name": "Germany Payroll Calculation",
|
||||
"pay_period": "4",
|
||||
"columns": "[\"126\",\"127\",\"131\",\"129\",\"128\",\"133\",\"130\",\"132\"]",
|
||||
"date_start": "2017-08-01",
|
||||
"date_end": "2017-08-31",
|
||||
"status": "Draft"
|
||||
},
|
||||
"payslipTemplate": {
|
||||
"name": "Sample Payslip Template",
|
||||
"data": "[{\"type\":\"Company Logo\",\"payrollColumn\":\"NULL\",\"label\":\"\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_1\"},{\"type\":\"Company Name\",\"payrollColumn\":\"NULL\",\"label\":\"\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_2\"},{\"type\":\"Separators\",\"payrollColumn\":\"NULL\",\"label\":\"\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_5\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"126\",\"label\":\"Basic Salary\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_3\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"127\",\"label\":\"Car Allowance\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_4\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"130\",\"label\":\"Payment for Hours Worked\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_6\"},{\"type\":\"Separators\",\"payrollColumn\":\"NULL\",\"label\":\"\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_7\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"131\",\"label\":\"Gross Pay\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_8\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"132\",\"label\":\"Tax 19%\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_9\"},{\"type\":\"Separators\",\"payrollColumn\":\"NULL\",\"label\":\"\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_10\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"133\",\"label\":\"Net Pay\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_11\"}]",
|
||||
"status": null,
|
||||
"created": "2017-09-08 21:12:40",
|
||||
"updated": "2017-09-08 21:12:40"
|
||||
}
|
||||
}
|
||||
188
core/data/payroll/Sample-Country-Payroll.txt
Normal file
188
core/data/payroll/Sample-Country-Payroll.txt
Normal file
@@ -0,0 +1,188 @@
|
||||
{
|
||||
"name": "Sample Country Payroll",
|
||||
"description": "",
|
||||
"deductions": [
|
||||
{
|
||||
"id": "112",
|
||||
"name": "DE - Tax",
|
||||
"componentType": "[]",
|
||||
"component": "[]",
|
||||
"payrollColumn": "131",
|
||||
"rangeAmounts": "[{\"lowerCondition\":\"No Lower Limit\",\"lowerLimit\":0,\"upperCondition\":\"No Upper Limit\",\"upperLimit\":0,\"amount\":\"X * 0.19\",\"id\":\"rangeAmounts_1\"}]"
|
||||
}
|
||||
],
|
||||
"columns": [
|
||||
{
|
||||
"id": "126",
|
||||
"name": "DE - Basic Salary",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[\"1\"]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "1",
|
||||
"editable": "Yes",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "127",
|
||||
"name": "DE - Car Allowance",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[\"3\"]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "2",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "128",
|
||||
"name": "DE - Hours Worked per Month",
|
||||
"calculation_hook": "AttendanceUtil_getTimeWorkedHours",
|
||||
"salary_components": "[]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "3",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "129",
|
||||
"name": "DE - Hourly Pay",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[\"5\"]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "4",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "130",
|
||||
"name": "DE - Payment for Hours Worked",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "5",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "[{\"name\":\"X\",\"column\":\"128\",\"id\":\"calculation_columns_1\"},{\"name\":\"Y\",\"column\":\"129\",\"id\":\"calculation_columns_2\"}]",
|
||||
"calculation_function": "X * Y"
|
||||
},
|
||||
{
|
||||
"id": "131",
|
||||
"name": "DE - Gross Salary",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[\"126\",\"127\",\"130\"]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "6",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "132",
|
||||
"name": "DE - Tax",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[\"112\"]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "7",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "133",
|
||||
"name": "DE - Net Salary",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[\"131\"]",
|
||||
"sub_columns": "[\"132\"]",
|
||||
"colorder": "8",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
}
|
||||
],
|
||||
"salaryComponents": [
|
||||
{
|
||||
"id": "1",
|
||||
"name": "Basic Salary",
|
||||
"componentType": "1",
|
||||
"details": null
|
||||
},
|
||||
{
|
||||
"id": "3",
|
||||
"name": "Car Allowance",
|
||||
"componentType": "2",
|
||||
"details": null
|
||||
},
|
||||
{
|
||||
"id": "5",
|
||||
"name": "Regular Hourly Pay",
|
||||
"componentType": "3",
|
||||
"details": null
|
||||
}
|
||||
],
|
||||
"salaryComponentTypes": [
|
||||
{
|
||||
"id": "1",
|
||||
"code": "B001",
|
||||
"name": "Basic"
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"code": "B002",
|
||||
"name": "Allowance"
|
||||
},
|
||||
{
|
||||
"id": "3",
|
||||
"code": "B003",
|
||||
"name": "Hourly"
|
||||
}
|
||||
],
|
||||
"samplePayroll": {
|
||||
"name": "Sample Country Payroll",
|
||||
"pay_period": "4",
|
||||
"columns": "[\"126\",\"127\",\"131\",\"129\",\"128\",\"133\",\"130\",\"132\"]",
|
||||
"date_start": "2017-08-01",
|
||||
"date_end": "2017-08-31",
|
||||
"status": "Draft"
|
||||
},
|
||||
"payslipTemplate": {
|
||||
"name": "Sample Payslip Template",
|
||||
"data": "[{\"type\":\"Company Logo\",\"payrollColumn\":\"NULL\",\"label\":\"\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_1\"},{\"type\":\"Company Name\",\"payrollColumn\":\"NULL\",\"label\":\"\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_2\"},{\"type\":\"Separators\",\"payrollColumn\":\"NULL\",\"label\":\"\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_5\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"126\",\"label\":\"Basic Salary\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_3\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"127\",\"label\":\"Car Allowance\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_4\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"130\",\"label\":\"Payment for Hours Worked\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_6\"},{\"type\":\"Separators\",\"payrollColumn\":\"NULL\",\"label\":\"\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_7\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"131\",\"label\":\"Gross Pay\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_8\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"132\",\"label\":\"Tax 19%\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_9\"},{\"type\":\"Separators\",\"payrollColumn\":\"NULL\",\"label\":\"\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_10\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"133\",\"label\":\"Net Pay\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_11\"}]",
|
||||
"status": null,
|
||||
"created": "2017-09-08 21:12:40",
|
||||
"updated": "2017-09-08 21:12:40"
|
||||
}
|
||||
}
|
||||
264
core/data/payroll/SriLanka-Payroll.txt
Normal file
264
core/data/payroll/SriLanka-Payroll.txt
Normal file
@@ -0,0 +1,264 @@
|
||||
{
|
||||
"name": "Sri Lanka Payroll Calculation",
|
||||
"description": "",
|
||||
"deductions": [
|
||||
{
|
||||
"id": "1",
|
||||
"name": "EPF Employee Contribution",
|
||||
"componentType": "[]",
|
||||
"component": "[]",
|
||||
"payrollColumn": "7",
|
||||
"rangeAmounts": "[{\"lowerCondition\":\"No Lower Limit\",\"lowerLimit\":\"0\",\"upperCondition\":\"No Upper Limit\",\"upperLimit\":\"0\",\"amount\":\"X*0.08\",\"id\":\"rangeAmounts_1\"}]"
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"name": "EPF Employer Contribution",
|
||||
"componentType": "[]",
|
||||
"component": "[]",
|
||||
"payrollColumn": "7",
|
||||
"rangeAmounts": "[{\"lowerCondition\":\"No Lower Limit\",\"lowerLimit\":\"0\",\"upperCondition\":\"No Upper Limit\",\"upperLimit\":\"0\",\"amount\":\"X*0.12\",\"id\":\"rangeAmounts_1\"}]"
|
||||
},
|
||||
{
|
||||
"id": "3",
|
||||
"name": "ETF Employer Contribution",
|
||||
"componentType": "[]",
|
||||
"component": "[]",
|
||||
"payrollColumn": "7",
|
||||
"rangeAmounts": "[{\"lowerCondition\":\"No Lower Limit\",\"lowerLimit\":\"0\",\"upperCondition\":\"No Upper Limit\",\"upperLimit\":\"0\",\"amount\":\"X*0.03\",\"id\":\"rangeAmounts_1\"}]"
|
||||
},
|
||||
{
|
||||
"id": "4",
|
||||
"name": "PAYE Tax",
|
||||
"componentType": "[]",
|
||||
"component": "[]",
|
||||
"payrollColumn": "12",
|
||||
"rangeAmounts": "[{\"lowerCondition\":\"No Lower Limit\",\"lowerLimit\":\"0\",\"upperCondition\":\"lte\",\"upperLimit\":\"62500\",\"amount\":\"0\",\"id\":\"rangeAmounts_1\"},{\"lowerCondition\":\"gt\",\"lowerLimit\":\"62500\",\"upperCondition\":\"lte\",\"upperLimit\":\"104167\",\"amount\":\"X*0.04 - 2500\",\"id\":\"rangeAmounts_2\"},{\"lowerCondition\":\"gt\",\"lowerLimit\":\"104167\",\"upperCondition\":\"lte\",\"upperLimit\":\"145833\",\"amount\":\"X*0.08 - 6667\",\"id\":\"rangeAmounts_3\"},{\"lowerCondition\":\"gt\",\"lowerLimit\":\"145833\",\"upperCondition\":\"lte\",\"upperLimit\":\"187500\",\"amount\":\"X*0.12-12500\",\"id\":\"rangeAmounts_4\"},{\"lowerCondition\":\"gt\",\"lowerLimit\":\"187500\",\"upperCondition\":\"No Upper Limit\",\"upperLimit\":\"0\",\"amount\":\"X*0.16 - 20000\",\"id\":\"rangeAmounts_5\"}]"
|
||||
},
|
||||
{
|
||||
"id": "5",
|
||||
"name": "Stamp Duty",
|
||||
"componentType": "[]",
|
||||
"component": "[]",
|
||||
"payrollColumn": "12",
|
||||
"rangeAmounts": "[{\"lowerCondition\":\"No Lower Limit\",\"lowerLimit\":\"0\",\"upperCondition\":\"lte\",\"upperLimit\":\"25000\",\"amount\":\"0\",\"id\":\"rangeAmounts_1\"},{\"lowerCondition\":\"gt\",\"lowerLimit\":\"25000\",\"upperCondition\":\"No Upper Limit\",\"upperLimit\":\"0\",\"amount\":\"25\",\"id\":\"rangeAmounts_2\"}]"
|
||||
}
|
||||
],
|
||||
"columns": [
|
||||
{
|
||||
"id": "5",
|
||||
"name": "LK - Basic Salary",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[\"1\"]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "5",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "6",
|
||||
"name": "LK - Fixed Allowance",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[\"2\"]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "6",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "7",
|
||||
"name": "LK - Gross Pay",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[\"5\",\"6\"]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "7",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "8",
|
||||
"name": "LK - EPF Employee Contribution",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[\"1\"]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "8",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "9",
|
||||
"name": "LK - EPF Employer Contribution",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[\"2\"]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "9",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "10",
|
||||
"name": "LK - ETF Employer Contribution",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[\"3\"]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "10",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "11",
|
||||
"name": "LK - Total EPF 20%",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[\"8\",\"9\"]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "11",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "12",
|
||||
"name": "LK - Total for PAYE",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[\"7\"]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "12",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "13",
|
||||
"name": "LK - PAYE Tax",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[\"4\"]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "13",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "14",
|
||||
"name": "LK - Stamp Duty",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[\"5\"]",
|
||||
"add_columns": "[]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "14",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "15",
|
||||
"name": "LK - Total Deductions",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[\"8\",\"13\",\"14\"]",
|
||||
"sub_columns": "[]",
|
||||
"colorder": "15",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
},
|
||||
{
|
||||
"id": "16",
|
||||
"name": "LK - Salary to Bank",
|
||||
"calculation_hook": null,
|
||||
"salary_components": "[]",
|
||||
"deductions": "[]",
|
||||
"add_columns": "[\"7\"]",
|
||||
"sub_columns": "[\"15\"]",
|
||||
"colorder": "16",
|
||||
"editable": "No",
|
||||
"enabled": "Yes",
|
||||
"default_value": "0.00",
|
||||
"calculation_columns": "",
|
||||
"calculation_function": ""
|
||||
}
|
||||
],
|
||||
"salaryComponents": [
|
||||
{
|
||||
"id": "1",
|
||||
"name": "Basic Salary",
|
||||
"componentType": "1",
|
||||
"details": null
|
||||
},
|
||||
{
|
||||
"id": "2",
|
||||
"name": "Fixed Allowance",
|
||||
"componentType": "1",
|
||||
"details": null
|
||||
}
|
||||
],
|
||||
"salaryComponentTypes": [
|
||||
{
|
||||
"id": "1",
|
||||
"code": "B001",
|
||||
"name": "Basic"
|
||||
}
|
||||
],
|
||||
"samplePayroll": {
|
||||
"name": "Sri Lanka Payroll Sample",
|
||||
"pay_period": "4",
|
||||
"columns": "[\"5\",\"8\",\"9\",\"10\",\"6\",\"7\",\"13\",\"16\",\"14\",\"15\",\"11\",\"12\"]",
|
||||
"date_start": "2016-03-01",
|
||||
"date_end": "2016-03-31",
|
||||
"status": "Draft"
|
||||
},
|
||||
"payslipTemplate": {
|
||||
"name": "Sri Lanka - Default Payslip",
|
||||
"data": "[{\"type\":\"Company Logo\",\"payrollColumn\":\"NULL\",\"label\":\"\",\"text\":\"\",\"fontSize\":\"Normal\",\"fontStyle\":\"Normal\",\"fontColor\":\"#000000\",\"status\":\"Show\",\"id\":\"data_1\"},{\"type\":\"Company Name\",\"payrollColumn\":\"NULL\",\"label\":\"\",\"text\":\"\",\"fontSize\":\"Normal\",\"fontStyle\":\"Normal\",\"fontColor\":\"\",\"status\":\"Show\",\"id\":\"data_2\"},{\"type\":\"Separators\",\"payrollColumn\":\"NULL\",\"label\":\"\",\"text\":\"\",\"fontSize\":\"Normal\",\"fontStyle\":\"Normal\",\"fontColor\":\"\",\"status\":\"Show\",\"id\":\"data_8\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"5\",\"label\":\"Basic Salary\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_3\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"6\",\"label\":\"Fixed Allowance\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_4\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"7\",\"label\":\"Gross Pay\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_11\"},{\"type\":\"Separators\",\"payrollColumn\":\"NULL\",\"label\":\"\",\"text\":\"\",\"fontSize\":\"Normal\",\"fontStyle\":\"Normal\",\"fontColor\":\"\",\"status\":\"Show\",\"id\":\"data_9\"},{\"type\":\"Text\",\"payrollColumn\":\"NULL\",\"label\":\"\",\"text\":\"Deductions\",\"status\":\"Show\",\"id\":\"data_13\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"8\",\"label\":\"EPF Employee Contribution\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_6\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"13\",\"label\":\"PAYE Tax\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_14\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"14\",\"label\":\"Stamp Duty\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_15\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"15\",\"label\":\"Total Deductions\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_16\"},{\"type\":\"Separators\",\"payrollColumn\":\"NULL\",\"label\":\"\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_17\"},{\"type\":\"Text\",\"payrollColumn\":\"NULL\",\"label\":\"\",\"text\":\"Employer Contributions\",\"status\":\"Show\",\"id\":\"data_18\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"9\",\"label\":\"EPF Employer Contribution\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_19\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"7\",\"label\":\"ETF Employer Contribution\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_20\"},{\"type\":\"Separators\",\"payrollColumn\":\"7\",\"label\":\"\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_21\"},{\"type\":\"Text\",\"payrollColumn\":\"7\",\"label\":\"\",\"text\":\"Totals\",\"status\":\"Show\",\"id\":\"data_22\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"11\",\"label\":\"Total EPF 20%\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_23\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"12\",\"label\":\"Total for PAYE\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_24\"},{\"type\":\"Payroll Column\",\"payrollColumn\":\"16\",\"label\":\"Net Salary\",\"text\":\"\",\"status\":\"Show\",\"id\":\"data_25\"}]",
|
||||
"status": null,
|
||||
"created": "2016-06-29 22:07:12",
|
||||
"updated": "2016-06-29 22:07:12"
|
||||
}
|
||||
}
|
||||
@@ -30,8 +30,6 @@
|
||||
modJsList[prop].setNoJSONRequests('<?=$noJSONRequests?>');
|
||||
}
|
||||
}
|
||||
var timeUtils = new TimeUtils();
|
||||
timeUtils.setServerGMToffset('<?=$diffHoursBetweenServerTimezoneWithGMT?>');
|
||||
|
||||
var clientUrl = '<?=CLIENT_BASE_URL?>';
|
||||
|
||||
|
||||
@@ -7,10 +7,24 @@ if(!file_exists($logoFileName)){
|
||||
?><!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<?php if (!empty(\Classes\BaseService::getInstance()->getGAKey())) { ?>
|
||||
<!-- Google Analytics -->
|
||||
<script>
|
||||
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
|
||||
ga('create', '<?=\Classes\BaseService::getInstance()->getGAKey()?>', 'auto');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
<script async src='https://www.google-analytics.com/analytics.js'></script>
|
||||
<!-- End Google Analytics -->
|
||||
<?php } else { ?>
|
||||
<script>window.ga = [];</script>
|
||||
<?php } ?>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<title><?=$meta->title?></title>
|
||||
<title><?=$companyName?></title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="">
|
||||
<link rel="shortcut icon" href="https://icehrm.s3.amazonaws.com/images/icon16.png">
|
||||
<meta name="author" content="">
|
||||
|
||||
<link rel="image_src" href="<?=!empty($meta->imageUrl)?$meta->imageUrl:$logoFileUrl?>"/>
|
||||
@@ -20,76 +34,20 @@ if(!file_exists($logoFileName)){
|
||||
<meta property="og:description" content="<?=$meta->description?>"/>
|
||||
|
||||
|
||||
<link href="<?=BASE_URL?>themecss/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>themecss/font-awesome.min.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>themecss/ionicons.min.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>dist/third-party.css?v=<?=$cssVersion?>" rel="stylesheet">
|
||||
<script type="text/javascript" src="<?=BASE_URL?>dist/third-party.js?v=<?=$jsVersion?>"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>dist/common.js?v=<?=$jsVersion?>"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" src="<?=BASE_URL?>js/jquery2.0.2.min.js"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>js/jquery-ui.js"></script>
|
||||
|
||||
<script src="<?=BASE_URL?>themejs/bootstrap.js"></script>
|
||||
<script src="<?=BASE_URL?>js/jquery.placeholder.js"></script>
|
||||
<script src="<?=BASE_URL?>js/base64.js"></script>
|
||||
|
||||
|
||||
<script src="<?=BASE_URL?>js/bootstrap-datepicker.js"></script>
|
||||
<!-- Can not bundle - Start-->
|
||||
<script src="<?=BASE_URL?>js/jquery.timepicker.js"></script>
|
||||
<script src="<?=BASE_URL?>js/bootstrap-datetimepicker.js"></script>
|
||||
<script src="<?=BASE_URL?>js/fullcalendar.min.js"></script>
|
||||
<script src="<?=BASE_URL?>js/select2/select2.min.js"></script>
|
||||
<script src="<?=BASE_URL?>js/bootstrap-colorpicker-2.1.1/js/bootstrap-colorpicker.min.js"></script>
|
||||
|
||||
|
||||
|
||||
<link href="<?=BASE_URL?>themecss/datatables/dataTables.bootstrap.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>css/jquery.timepicker.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>css/datepicker.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>css/bootstrap-datetimepicker.min.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>css/fullcalendar.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>js/select2/select2.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>js/bootstrap-colorpicker-2.1.1/css/bootstrap-colorpicker.min.css" rel="stylesheet">
|
||||
|
||||
|
||||
<link href="<?=BASE_URL?>themecss/AdminLTE.css" rel="stylesheet">
|
||||
|
||||
<script src="<?=BASE_URL?>themejs/plugins/datatables/jquery.dataTables.js"></script>
|
||||
<script src="<?=BASE_URL?>themejs/plugins/datatables/dataTables.bootstrap.js"></script>
|
||||
<script src="<?=BASE_URL?>themejs/AdminLTE/app.js"></script>
|
||||
|
||||
|
||||
<link href="<?=BASE_URL?>css/style.css?v=<?=$cssVersion?>" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript" src="<?=BASE_URL?>bower_components/tinymce/tinymce.min.js"></script>
|
||||
<link href="<?=BASE_URL?>bower_components/simplemde/dist/simplemde.min.css" rel="stylesheet">
|
||||
<script type="text/javascript" src="<?=BASE_URL?>bower_components/simplemde/dist/simplemde.min.js"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>js/signature_pad.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/CrockfordInheritance.v0.1.js"></script>
|
||||
|
||||
<script type="text/javascript" src="<?=BASE_URL?>api/Base.js?v=<?=$jsVersion?>"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>api/AdapterBase.js?v=<?=$jsVersion?>"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>api/FormValidation.js?v=<?=$jsVersion?>"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>api/Notifications.js?v=<?=$jsVersion?>"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>api/TimeUtils.js?v=<?=$jsVersion?>"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>api/AesCrypt.js?v=<?=$jsVersion?>"></script>
|
||||
<?php include APP_BASE_PATH.'/modulejslibs.inc.php';?>
|
||||
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<link href="<?=BASE_URL?>bower_components/flag-icon-css/css/flag-icon.min.css" rel="stylesheet">
|
||||
<!-- Can not bundle - End-->
|
||||
<script type="text/javascript" src="<?=BASE_URL.'admin/dist/candidates.js'?>?v=<?=$jsVersion?>"></script>
|
||||
<script>
|
||||
var baseUrl = '<?=CLIENT_BASE_URL?>service.php';
|
||||
var CLIENT_BASE_URL = '<?=CLIENT_BASE_URL?>';
|
||||
</script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>js/app-global.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -42,13 +42,8 @@
|
||||
|
||||
|
||||
//Other static js objects
|
||||
|
||||
var timeUtils = new TimeUtils();
|
||||
timeUtils.setServerGMToffset('<?=$diffHoursBetweenServerTimezoneWithGMT?>');
|
||||
|
||||
var notificationManager = new NotificationManager();
|
||||
notificationManager.setBaseUrl('<?=CLIENT_BASE_URL?>service.php');
|
||||
notificationManager.setTimeUtils(timeUtils);
|
||||
var timeUtils = setupTimeUtils('<?=$diffHoursBetweenServerTimezoneWithGMT?>');
|
||||
var notificationManager = setupNotifications('<?=CLIENT_BASE_URL?>service.php');
|
||||
|
||||
<?php
|
||||
$notificationTemplates = array();
|
||||
|
||||
@@ -18,7 +18,7 @@ along with Ice Framework. If not, see <http://www.gnu.org/licenses/>.
|
||||
------------------------------------------------------------------
|
||||
|
||||
Original work Copyright (c) 2012 [Gamonoid Media Pvt. Ltd]
|
||||
Developer: Thilina Hasantha (thilina.hasantha[at]gmail.com / facebook.com/thilinah)
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
if (!defined('MODULE_NAME')) {
|
||||
define('MODULE_NAME', $moduleName);
|
||||
@@ -94,6 +94,7 @@ $chatUserProfile = \Classes\UIManager::getInstance()->getCurrentProfile();
|
||||
?><!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<?php if (!empty(\Classes\BaseService::getInstance()->getGAKey())) { ?>
|
||||
<!-- Google Analytics -->
|
||||
<script>
|
||||
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
|
||||
@@ -102,6 +103,9 @@ $chatUserProfile = \Classes\UIManager::getInstance()->getCurrentProfile();
|
||||
</script>
|
||||
<script async src='https://www.google-analytics.com/analytics.js'></script>
|
||||
<!-- End Google Analytics -->
|
||||
<?php } else { ?>
|
||||
<script>window.ga = [];</script>
|
||||
<?php } ?>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<title><?=$companyName?></title>
|
||||
@@ -110,84 +114,20 @@ $chatUserProfile = \Classes\UIManager::getInstance()->getCurrentProfile();
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<link href="<?=BASE_URL?>themecss/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>themecss/font-awesome.min.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>themecss/ionicons.min.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>bower_components/material-design-icons/iconfont/material-icons.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>dist/third-party.css?v=<?=$cssVersion?>" rel="stylesheet">
|
||||
<script type="text/javascript" src="<?=BASE_URL?>dist/third-party.js?v=<?=$jsVersion?>"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>dist/common.js?v=<?=$jsVersion?>"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript" src="<?=BASE_URL?>js/jquery2.0.2.min.js"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>js/jquery-ui.js"></script>
|
||||
|
||||
<script src="<?=BASE_URL?>themejs/bootstrap.js"></script>
|
||||
<script src="<?=BASE_URL?>js/jquery.placeholder.js"></script>
|
||||
<script src="<?=BASE_URL?>js/base64.js"></script>
|
||||
|
||||
|
||||
<script src="<?=BASE_URL?>js/bootstrap-datepicker.js"></script>
|
||||
<!-- Can not bundle - Start-->
|
||||
<script src="<?=BASE_URL?>js/jquery.timepicker.js"></script>
|
||||
<script src="<?=BASE_URL?>js/bootstrap-datetimepicker.js"></script>
|
||||
<script src="<?=BASE_URL?>js/select2/select2.min.js"></script>
|
||||
<script src="<?=BASE_URL?>js/bootstrap-colorpicker-2.1.1/js/bootstrap-colorpicker.min.js"></script>
|
||||
|
||||
<!--fullcaledar-->
|
||||
|
||||
<link href="<?=BASE_URL?>js/fullcaledar/fullcalendar.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>js/fullcaledar/fullcalendar.print.css" rel="stylesheet" media="print">
|
||||
<script src="<?=BASE_URL?>js/fullcaledar/lib/moment.min.js"></script>
|
||||
<script src="<?=BASE_URL?>js/fullcaledar/fullcalendar.min.js"></script>
|
||||
|
||||
<script src="<?=BASE_URL?>js/clipboard.js"></script>
|
||||
|
||||
<link href="<?=BASE_URL?>themecss/datatables/dataTables.bootstrap.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>css/jquery.timepicker.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>css/datepicker.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>css/bootstrap-datetimepicker.min.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>js/select2/select2.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>js/bootstrap-colorpicker-2.1.1/css/bootstrap-colorpicker.min.css" rel="stylesheet">
|
||||
<link href="<?=BASE_URL?>bower_components/flag-icon-css/css/flag-icon.min.css" rel="stylesheet">
|
||||
<!-- Can not bundle - End-->
|
||||
|
||||
<link href="<?=BASE_URL?>themecss/AdminLTE.css" rel="stylesheet">
|
||||
|
||||
<script src="<?=BASE_URL?>themejs/plugins/datatables/jquery.dataTables.js?v=<?=$jsVersion?>"></script>
|
||||
<script src="<?=BASE_URL?>themejs/plugins/datatables/dataTables.bootstrap.js?v=<?=$jsVersion?>"></script>
|
||||
<script src="<?=BASE_URL?>themejs/AdminLTE/app.js?v=<?=$jsVersion?>"></script>
|
||||
|
||||
|
||||
<link href="<?=BASE_URL?>css/style.css?v=<?=$cssVersion?>" rel="stylesheet">
|
||||
|
||||
<script type="text/javascript" src="<?=BASE_URL?>bower_components/tinymce/tinymce.min.js"></script>
|
||||
<link href="<?=BASE_URL?>bower_components/simplemde/dist/simplemde.min.css" rel="stylesheet">
|
||||
<script type="text/javascript" src="<?=BASE_URL?>bower_components/simplemde/dist/simplemde.min.js"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>bower_components/inputmask/dist/min/jquery.inputmask.bundle.min.js"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>js/signature_pad.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/CrockfordInheritance.v0.1.js"></script>
|
||||
|
||||
<script type="text/javascript" src="<?=BASE_URL?>api/Base.js?v=<?=$jsVersion?>"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>api/AdapterBase.js?v=<?=$jsVersion?>"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>api/FormValidation.js?v=<?=$jsVersion?>"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>api/Notifications.js?v=<?=$jsVersion?>"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>api/TimeUtils.js?v=<?=$jsVersion?>"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>api/ConversationsAdapter.js?v=<?=$jsVersion?>"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>api/AesCrypt.js?v=<?=$jsVersion?>"></script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>api/SocialShare.js?v=<?=$jsVersion?>"></script>
|
||||
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="<?=BASE_URL?>js/html5shiv.js"></script>
|
||||
<script src="<?=BASE_URL?>js/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<script>
|
||||
var baseUrl = '<?=CLIENT_BASE_URL?>service.php';
|
||||
var CLIENT_BASE_URL = '<?=CLIENT_BASE_URL?>';
|
||||
</script>
|
||||
<script type="text/javascript" src="<?=BASE_URL?>js/app-global.js"></script>
|
||||
|
||||
</head>
|
||||
<body class="skin-blue" data-turbolinks="false">
|
||||
@@ -214,6 +154,9 @@ $chatUserProfile = \Classes\UIManager::getInstance()->getCurrentProfile();
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<?php if(\Classes\UIManager::getInstance()->getCurrentLanguageCode() === 'ar') {?>
|
||||
<link href="<?=BASE_URL?>css/rtl.css" rel="stylesheet">
|
||||
<?php } ?>
|
||||
<div class="wrapper row-offcanvas row-offcanvas-left">
|
||||
<div id="iceloader" style="
|
||||
width: 100%;
|
||||
|
||||
1962
core/lang/ar.po
Normal file
1962
core/lang/ar.po
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1903,3 +1903,60 @@ msgstr "Gespräche"
|
||||
|
||||
msgid "Start Now"
|
||||
msgstr "Jetzt anfangen"
|
||||
|
||||
msgid "Company Assets"
|
||||
msgstr "Betriebsvermögen"
|
||||
|
||||
msgid "Asset Types"
|
||||
msgstr "Asset-Typ"
|
||||
|
||||
msgid "Asset Name"
|
||||
msgstr "Asset-Name"
|
||||
|
||||
msgid "Performance"
|
||||
msgstr "Performance"
|
||||
|
||||
msgid "Performance Review"
|
||||
msgstr "Leistungsbeurteilung"
|
||||
|
||||
msgid "Performance Reviews"
|
||||
msgstr "Leistungsbeurteilungen"
|
||||
|
||||
msgid "Review"
|
||||
msgstr "Rezension"
|
||||
|
||||
msgid "Reviews"
|
||||
msgstr "Bewertungen"
|
||||
|
||||
msgid "Review Feedback"
|
||||
msgstr "Rückmeldung überprüfen"
|
||||
|
||||
msgid "Review Template"
|
||||
msgstr "Vorlage überprüfen"
|
||||
|
||||
msgid "Template"
|
||||
msgstr "Vorlage"
|
||||
|
||||
msgid "Review Date"
|
||||
msgstr "Prüfungsdatum"
|
||||
|
||||
msgid "Self Assessment Due On"
|
||||
msgstr "Selbsteinschätzung fällig am"
|
||||
|
||||
msgid "Review Period Start"
|
||||
msgstr "Überprüfungszeitraum starten"
|
||||
|
||||
msgid "Review Period End"
|
||||
msgstr "Periodenende überprüfen"
|
||||
|
||||
msgid "Attendees"
|
||||
msgstr "Teilnehmer"
|
||||
|
||||
msgid "Performance Reviews Coordinated by Me"
|
||||
msgstr "Performance Reviews koordiniert von mir"
|
||||
|
||||
msgid "Provide Feedback"
|
||||
msgstr "Rückmeldung geben"
|
||||
|
||||
msgid "Review Status"
|
||||
msgstr "Überprüfen Sie den Status"
|
||||
|
||||
@@ -1903,3 +1903,60 @@ msgstr "Conversations"
|
||||
|
||||
msgid "Start Now"
|
||||
msgstr "Start Now"
|
||||
|
||||
msgid "Company Assets"
|
||||
msgstr "Company Assets"
|
||||
|
||||
msgid "Asset Types"
|
||||
msgstr "Asset Types"
|
||||
|
||||
msgid "Asset Name"
|
||||
msgstr "Asset Name"
|
||||
|
||||
msgid "Performance"
|
||||
msgstr "Performance"
|
||||
|
||||
msgid "Performance Review"
|
||||
msgstr "Performance Review"
|
||||
|
||||
msgid "Performance Reviews"
|
||||
msgstr "Performance Reviews"
|
||||
|
||||
msgid "Review"
|
||||
msgstr "Review"
|
||||
|
||||
msgid "Reviews"
|
||||
msgstr "Reviews"
|
||||
|
||||
msgid "Review Feedback"
|
||||
msgstr "Review Feedback"
|
||||
|
||||
msgid "Review Template"
|
||||
msgstr "Review Template"
|
||||
|
||||
msgid "Template"
|
||||
msgstr "Template"
|
||||
|
||||
msgid "Review Date"
|
||||
msgstr "Review Date"
|
||||
|
||||
msgid "Self Assessment Due On"
|
||||
msgstr "Self Assessment Due On"
|
||||
|
||||
msgid "Review Period Start"
|
||||
msgstr "Review Period Start"
|
||||
|
||||
msgid "Review Period End"
|
||||
msgstr "Review Period End"
|
||||
|
||||
msgid "Attendees"
|
||||
msgstr "Attendees"
|
||||
|
||||
msgid "Performance Reviews Coordinated by Me"
|
||||
msgstr "Performance Reviews Coordinated by Me"
|
||||
|
||||
msgid "Provide Feedback"
|
||||
msgstr "Provide Feedback"
|
||||
|
||||
msgid "Review Status"
|
||||
msgstr "Review Status"
|
||||
|
||||
621
core/lang/es.po
621
core/lang/es.po
File diff suppressed because it is too large
Load Diff
1962
core/lang/fi.po
Normal file
1962
core/lang/fi.po
Normal file
File diff suppressed because it is too large
Load Diff
645
core/lang/fr.po
645
core/lang/fr.po
File diff suppressed because it is too large
Load Diff
@@ -1903,3 +1903,60 @@ msgstr "conversazioni"
|
||||
|
||||
msgid "Start Now"
|
||||
msgstr "Avviare ora"
|
||||
|
||||
msgid "Company Assets"
|
||||
msgstr "I beni aziendali"
|
||||
|
||||
msgid "Asset Types"
|
||||
msgstr "Tipi di cespite"
|
||||
|
||||
msgid "Asset Name"
|
||||
msgstr "Asset Nome"
|
||||
|
||||
msgid "Performance"
|
||||
msgstr "Prestazione"
|
||||
|
||||
msgid "Performance Review"
|
||||
msgstr "Valutazione delle prestazioni"
|
||||
|
||||
msgid "Performance Reviews"
|
||||
msgstr "Recensioni sulle prestazioni"
|
||||
|
||||
msgid "Review"
|
||||
msgstr "Revisione"
|
||||
|
||||
msgid "Reviews"
|
||||
msgstr "Recensioni"
|
||||
|
||||
msgid "Review Feedback"
|
||||
msgstr "Rivedi il feedback"
|
||||
|
||||
msgid "Review Template"
|
||||
msgstr "Modello di recensione"
|
||||
|
||||
msgid "Template"
|
||||
msgstr "Modello"
|
||||
|
||||
msgid "Review Date"
|
||||
msgstr "Data della recensione"
|
||||
|
||||
msgid "Self Assessment Due On"
|
||||
msgstr "Autovalutazione dovuta"
|
||||
|
||||
msgid "Review Period Start"
|
||||
msgstr "Esaminare l'inizio del periodo"
|
||||
|
||||
msgid "Review Period End"
|
||||
msgstr "Revisione periodo fine"
|
||||
|
||||
msgid "Attendees"
|
||||
msgstr "I partecipanti"
|
||||
|
||||
msgid "Performance Reviews Coordinated by Me"
|
||||
msgstr "Recensioni sulle prestazioni coordinate da me"
|
||||
|
||||
msgid "Provide Feedback"
|
||||
msgstr "Fornire un feedback"
|
||||
|
||||
msgid "Review Status"
|
||||
msgstr "Verifica lo stato"
|
||||
|
||||
@@ -1903,3 +1903,60 @@ msgstr "会話"
|
||||
|
||||
msgid "Start Now"
|
||||
msgstr "今すぐ開始"
|
||||
|
||||
msgid "Company Assets"
|
||||
msgstr "会社の資産"
|
||||
|
||||
msgid "Asset Types"
|
||||
msgstr "資産タイプ"
|
||||
|
||||
msgid "Asset Name"
|
||||
msgstr "資産名"
|
||||
|
||||
msgid "Performance"
|
||||
msgstr "パフォーマンス"
|
||||
|
||||
msgid "Performance Review"
|
||||
msgstr "人事考課"
|
||||
|
||||
msgid "Performance Reviews"
|
||||
msgstr "パフォーマンス・レビュー"
|
||||
|
||||
msgid "Review"
|
||||
msgstr "レビュー"
|
||||
|
||||
msgid "Reviews"
|
||||
msgstr "レビュー"
|
||||
|
||||
msgid "Review Feedback"
|
||||
msgstr "フィードバックを確認する"
|
||||
|
||||
msgid "Review Template"
|
||||
msgstr "レビューテンプレート"
|
||||
|
||||
msgid "Template"
|
||||
msgstr "テンプレート"
|
||||
|
||||
msgid "Review Date"
|
||||
msgstr "レビュー日"
|
||||
|
||||
msgid "Self Assessment Due On"
|
||||
msgstr "セルフアセスメントの期限"
|
||||
|
||||
msgid "Review Period Start"
|
||||
msgstr "審査期間の開始"
|
||||
|
||||
msgid "Review Period End"
|
||||
msgstr "期間終了の確認"
|
||||
|
||||
msgid "Attendees"
|
||||
msgstr "出席者"
|
||||
|
||||
msgid "Performance Reviews Coordinated by Me"
|
||||
msgstr "私が調整したパフォーマンスレビュー"
|
||||
|
||||
msgid "Provide Feedback"
|
||||
msgstr "フィードバックを提供します"
|
||||
|
||||
msgid "Review Status"
|
||||
msgstr "審査ステータス"
|
||||
|
||||
1962
core/lang/nl.po
Normal file
1962
core/lang/nl.po
Normal file
File diff suppressed because it is too large
Load Diff
1962
core/lang/no.po
Normal file
1962
core/lang/no.po
Normal file
File diff suppressed because it is too large
Load Diff
697
core/lang/pl.po
697
core/lang/pl.po
File diff suppressed because it is too large
Load Diff
1962
core/lang/pt.po
Normal file
1962
core/lang/pt.po
Normal file
File diff suppressed because it is too large
Load Diff
1962
core/lang/sr.po
Normal file
1962
core/lang/sr.po
Normal file
File diff suppressed because it is too large
Load Diff
1962
core/lang/sv.po
Normal file
1962
core/lang/sv.po
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1903,3 +1903,60 @@ msgstr "对话"
|
||||
|
||||
msgid "Start Now"
|
||||
msgstr "现在开始"
|
||||
|
||||
msgid "Company Assets"
|
||||
msgstr "公司资产"
|
||||
|
||||
msgid "Asset Types"
|
||||
msgstr "资产类型"
|
||||
|
||||
msgid "Asset Name"
|
||||
msgstr "资产名称"
|
||||
|
||||
msgid "Performance"
|
||||
msgstr "性能"
|
||||
|
||||
msgid "Performance Review"
|
||||
msgstr "性能评估"
|
||||
|
||||
msgid "Performance Reviews"
|
||||
msgstr "绩效评估"
|
||||
|
||||
msgid "Review"
|
||||
msgstr "评论"
|
||||
|
||||
msgid "Reviews"
|
||||
msgstr "评测"
|
||||
|
||||
msgid "Review Feedback"
|
||||
msgstr "回顾反馈"
|
||||
|
||||
msgid "Review Template"
|
||||
msgstr "审核模板"
|
||||
|
||||
msgid "Template"
|
||||
msgstr "模板"
|
||||
|
||||
msgid "Review Date"
|
||||
msgstr "审核日期"
|
||||
|
||||
msgid "Self Assessment Due On"
|
||||
msgstr "到期的自我评估"
|
||||
|
||||
msgid "Review Period Start"
|
||||
msgstr "查看期间开始"
|
||||
|
||||
msgid "Review Period End"
|
||||
msgstr "查看期末"
|
||||
|
||||
msgid "Attendees"
|
||||
msgstr "与会者"
|
||||
|
||||
msgid "Performance Reviews Coordinated by Me"
|
||||
msgstr "性能评估由我协调"
|
||||
|
||||
msgid "Provide Feedback"
|
||||
msgstr "提供反馈信息"
|
||||
|
||||
msgid "Review Status"
|
||||
msgstr "审核状态"
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
../gettext/languages/bin/export-plural-rules
|
||||
4
core/lib/composer/vendor/bin/export-plural-rules
vendored
Executable file
4
core/lib/composer/vendor/bin/export-plural-rules
vendored
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
include 'export-plural-rules.php';
|
||||
@@ -1 +0,0 @@
|
||||
../gettext/languages/bin/export-plural-rules.php
|
||||
234
core/lib/composer/vendor/bin/export-plural-rules.php
vendored
Executable file
234
core/lib/composer/vendor/bin/export-plural-rules.php
vendored
Executable file
@@ -0,0 +1,234 @@
|
||||
<?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;
|
||||
}
|
||||
}
|
||||
1
core/lib/composer/vendor/bin/markdown
vendored
1
core/lib/composer/vendor/bin/markdown
vendored
@@ -1 +0,0 @@
|
||||
../cebe/markdown/bin/markdown
|
||||
170
core/lib/composer/vendor/bin/markdown
vendored
Executable file
170
core/lib/composer/vendor/bin/markdown
vendored
Executable file
@@ -0,0 +1,170 @@
|
||||
#!/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);
|
||||
}
|
||||
1
core/lib/composer/vendor/bin/phpunit
vendored
1
core/lib/composer/vendor/bin/phpunit
vendored
@@ -1 +0,0 @@
|
||||
../phpunit/phpunit/phpunit
|
||||
53
core/lib/composer/vendor/bin/phpunit
vendored
Executable file
53
core/lib/composer/vendor/bin/phpunit
vendored
Executable file
@@ -0,0 +1,53 @@
|
||||
#!/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();
|
||||
1
core/lib/composer/vendor/bin/robo
vendored
1
core/lib/composer/vendor/bin/robo
vendored
@@ -1 +0,0 @@
|
||||
../consolidation/robo/robo
|
||||
22
core/lib/composer/vendor/bin/robo
vendored
Executable file
22
core/lib/composer/vendor/bin/robo
vendored
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/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);
|
||||
@@ -1 +0,0 @@
|
||||
../../src
|
||||
157
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Config.php
vendored
Normal file
157
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Config.php
vendored
Normal file
@@ -0,0 +1,157 @@
|
||||
<?php
|
||||
|
||||
namespace Consolidation\Config;
|
||||
|
||||
use Dflydev\DotAccessData\Data;
|
||||
|
||||
class Config implements ConfigInterface
|
||||
{
|
||||
|
||||
/**
|
||||
* @var Data
|
||||
*/
|
||||
protected $config;
|
||||
|
||||
/**
|
||||
* TODO: make this private in 2.0 to prevent being saved as an array
|
||||
* Making private now breaks backward compatibility
|
||||
*
|
||||
* @var Data
|
||||
*/
|
||||
protected $defaults;
|
||||
|
||||
/**
|
||||
* Create a new configuration object, and initialize it with
|
||||
* the provided nested array containing configuration data.
|
||||
*
|
||||
* @param array $data - Config data to store
|
||||
*/
|
||||
public function __construct(array $data = null)
|
||||
{
|
||||
$this->config = new Data($data);
|
||||
$this->setDefaults(new Data());
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function has($key)
|
||||
{
|
||||
return ($this->config->has($key));
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function get($key, $defaultFallback = null)
|
||||
{
|
||||
if ($this->has($key)) {
|
||||
return $this->config->get($key);
|
||||
}
|
||||
return $this->getDefault($key, $defaultFallback);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function set($key, $value)
|
||||
{
|
||||
$this->config->set($key, $value);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function import($data)
|
||||
{
|
||||
return $this->replace($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function replace($data)
|
||||
{
|
||||
$this->config = new Data($data);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function combine($data)
|
||||
{
|
||||
if (!empty($data)) {
|
||||
$this->config->import($data, true);
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function export()
|
||||
{
|
||||
return $this->config->export();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function hasDefault($key)
|
||||
{
|
||||
return $this->getDefaults()->has($key);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getDefault($key, $defaultFallback = null)
|
||||
{
|
||||
return $this->hasDefault($key) ? $this->getDefaults()->get($key) : $defaultFallback;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function setDefault($key, $value)
|
||||
{
|
||||
$this->getDefaults()->set($key, $value);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the class $defaults property and ensure it's a Data object
|
||||
* TODO: remove Data object validation in 2.0
|
||||
*
|
||||
* @return Data
|
||||
*/
|
||||
protected function getDefaults()
|
||||
{
|
||||
// Ensure $this->defaults is a Data object (not an array)
|
||||
if (!$this->defaults instanceof Data) {
|
||||
$this->setDefaults($this->defaults);
|
||||
}
|
||||
return $this->defaults;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the $defaults class parameter
|
||||
* TODO: remove support for array in 2.0 as this would currently break backward compatibility
|
||||
*
|
||||
* @param Data|array $defaults
|
||||
*
|
||||
* @throws \Exception
|
||||
*/
|
||||
protected function setDefaults($defaults)
|
||||
{
|
||||
if (is_array($defaults)) {
|
||||
$this->defaults = new Data($defaults);
|
||||
} elseif ($defaults instanceof Data) {
|
||||
$this->defaults = $defaults;
|
||||
} else {
|
||||
throw new \Exception("Unknown type provided for \$defaults");
|
||||
}
|
||||
}
|
||||
}
|
||||
105
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/ConfigInterface.php
vendored
Normal file
105
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/ConfigInterface.php
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
namespace Consolidation\Config;
|
||||
|
||||
interface ConfigInterface
|
||||
{
|
||||
/**
|
||||
* Determine if a non-default config value exists.
|
||||
*/
|
||||
public function has($key);
|
||||
|
||||
/**
|
||||
* Fetch a configuration value
|
||||
*
|
||||
* @param string $key Which config item to look up
|
||||
* @param string|null $defaultFallback Fallback default value to use when
|
||||
* configuration object has neither a value nor a default. Use is
|
||||
* discouraged; use default context in ConfigOverlay, or provide defaults
|
||||
* using a config processor.
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function get($key, $defaultFallback = null);
|
||||
|
||||
/**
|
||||
* Set a config value
|
||||
*
|
||||
* @param string $key
|
||||
* @param mixed $value
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function set($key, $value);
|
||||
|
||||
/**
|
||||
* Import configuration from the provided nexted array, replacing whatever
|
||||
* was here previously. No processing is done on the provided data.
|
||||
*
|
||||
* @deprecated Use 'replace'. Dflydev\DotAccessData\Data::import() merges, which is confusing, since this method replaces.
|
||||
*
|
||||
* @param array $data
|
||||
* @return Config
|
||||
*/
|
||||
public function import($data);
|
||||
|
||||
/**
|
||||
* Load configuration from the provided nexted array, replacing whatever
|
||||
* was here previously. No processing is done on the provided data.
|
||||
*
|
||||
* TODO: This will become a required method in version 2.0. Adding now
|
||||
* would break clients that implement ConfigInterface.
|
||||
*
|
||||
* @param array $data
|
||||
* @return Config
|
||||
*/
|
||||
// public function replace($data);
|
||||
|
||||
/**
|
||||
* Import configuration from the provided nexted array, merging with whatever
|
||||
* was here previously. No processing is done on the provided data.
|
||||
* Any data provided to the combine() method will overwrite existing data
|
||||
* with the same key.
|
||||
*
|
||||
* TODO: This will become a required method in version 2.0. Adding now
|
||||
* would break clients that implement ConfigInterface.
|
||||
*
|
||||
* @param array $data
|
||||
* @return Config
|
||||
*/
|
||||
// public function combine($data);
|
||||
|
||||
/**
|
||||
* Export all configuration as a nested array.
|
||||
*/
|
||||
public function export();
|
||||
|
||||
/**
|
||||
* Return the default value for a given configuration item.
|
||||
*
|
||||
* @param string $key
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function hasDefault($key);
|
||||
|
||||
/**
|
||||
* Return the default value for a given configuration item.
|
||||
*
|
||||
* @param string $key
|
||||
* @param mixed $defaultFallback
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function getDefault($key, $defaultFallback = null);
|
||||
|
||||
/**
|
||||
* Set the default value for a configuration setting. This allows us to
|
||||
* set defaults either before or after more specific configuration values
|
||||
* are loaded. Keeping defaults separate from current settings also
|
||||
* allows us to determine when a setting has been overridden.
|
||||
*
|
||||
* @param string $key
|
||||
* @param string $value
|
||||
*/
|
||||
public function setDefault($key, $value);
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
namespace Consolidation\Config;
|
||||
|
||||
interface GlobalOptionDefaultValuesInterface
|
||||
{
|
||||
/**
|
||||
* Return an associative array of option-key => default-value
|
||||
*/
|
||||
public function getGlobalOptionDefaultValues();
|
||||
}
|
||||
127
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Inject/ConfigForCommand.php
vendored
Normal file
127
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Inject/ConfigForCommand.php
vendored
Normal file
@@ -0,0 +1,127 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Inject;
|
||||
|
||||
use Consolidation\Config\ConfigInterface;
|
||||
use Consolidation\Config\Util\ConfigFallback;
|
||||
|
||||
use Symfony\Component\Console\ConsoleEvents;
|
||||
use Symfony\Component\Console\Event\ConsoleCommandEvent;
|
||||
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||
use Symfony\Component\Console\Application;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
|
||||
class ConfigForCommand implements EventSubscriberInterface
|
||||
{
|
||||
protected $config;
|
||||
protected $application;
|
||||
|
||||
public function __construct(ConfigInterface $config)
|
||||
{
|
||||
$this->config = $config;
|
||||
}
|
||||
|
||||
public function setApplication(Application $application)
|
||||
{
|
||||
$this->application = $application;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public static function getSubscribedEvents()
|
||||
{
|
||||
return [ConsoleEvents::COMMAND => 'injectConfiguration'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Before a Console command runs, inject configuration settings
|
||||
* for this command into the default value of the options of
|
||||
* this command.
|
||||
*
|
||||
* @param \Symfony\Component\Console\Event\ConsoleCommandEvent $event
|
||||
*/
|
||||
public function injectConfiguration(ConsoleCommandEvent $event)
|
||||
{
|
||||
$command = $event->getCommand();
|
||||
$this->injectConfigurationForGlobalOptions($event->getInput());
|
||||
$this->injectConfigurationForCommand($command, $event->getInput());
|
||||
|
||||
$targetOfHelpCommand = $this->getHelpCommandTarget($command, $event->getInput());
|
||||
if ($targetOfHelpCommand) {
|
||||
$this->injectConfigurationForCommand($targetOfHelpCommand, $event->getInput());
|
||||
}
|
||||
}
|
||||
|
||||
protected function injectConfigurationForGlobalOptions($input)
|
||||
{
|
||||
if (!$this->application) {
|
||||
return;
|
||||
}
|
||||
|
||||
$configGroup = new ConfigFallback($this->config, 'options');
|
||||
|
||||
$definition = $this->application->getDefinition();
|
||||
$options = $definition->getOptions();
|
||||
|
||||
return $this->injectConfigGroupIntoOptions($configGroup, $options, $input);
|
||||
}
|
||||
|
||||
protected function injectConfigurationForCommand($command, $input)
|
||||
{
|
||||
$commandName = $command->getName();
|
||||
$commandName = str_replace(':', '.', $commandName);
|
||||
$configGroup = new ConfigFallback($this->config, $commandName, 'command.', '.options.');
|
||||
|
||||
$definition = $command->getDefinition();
|
||||
$options = $definition->getOptions();
|
||||
|
||||
return $this->injectConfigGroupIntoOptions($configGroup, $options, $input);
|
||||
}
|
||||
|
||||
protected function injectConfigGroupIntoOptions($configGroup, $options, $input)
|
||||
{
|
||||
foreach ($options as $option => $inputOption) {
|
||||
$key = str_replace('.', '-', $option);
|
||||
$value = $configGroup->get($key);
|
||||
if ($value !== null) {
|
||||
if (is_bool($value) && ($value == true)) {
|
||||
$input->setOption($key, $value);
|
||||
} elseif ($inputOption->acceptValue()) {
|
||||
$inputOption->setDefault($value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected function getHelpCommandTarget($command, $input)
|
||||
{
|
||||
if (($command->getName() != 'help') || (!isset($this->application))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->fixInputForSymfony2($command, $input);
|
||||
|
||||
// Symfony Console helpfully swaps 'command_name' and 'command'
|
||||
// depending on whether the user entered `help foo` or `--help foo`.
|
||||
// One of these is always `help`, and the other is the command we
|
||||
// are actually interested in.
|
||||
$nameOfCommandToDescribe = $input->getArgument('command_name');
|
||||
if ($nameOfCommandToDescribe == 'help') {
|
||||
$nameOfCommandToDescribe = $input->getArgument('command');
|
||||
}
|
||||
return $this->application->find($nameOfCommandToDescribe);
|
||||
}
|
||||
|
||||
protected function fixInputForSymfony2($command, $input)
|
||||
{
|
||||
// Symfony 3.x prepares $input for us; Symfony 2.x, on the other
|
||||
// hand, passes it in prior to binding with the command definition,
|
||||
// so we have to go to a little extra work. It may be inadvisable
|
||||
// to do these steps for commands other than 'help'.
|
||||
if (!$input->hasArgument('command_name')) {
|
||||
$command->ignoreValidationErrors();
|
||||
$command->mergeApplicationDefinition();
|
||||
$input->bind($command->getDefinition());
|
||||
}
|
||||
}
|
||||
}
|
||||
47
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Inject/ConfigForSetters.php
vendored
Normal file
47
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Inject/ConfigForSetters.php
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Inject;
|
||||
|
||||
use Consolidation\Config\Util\ConfigMerge;
|
||||
|
||||
/**
|
||||
* Given an object that contains configuration methods, inject any
|
||||
* configuration found in the configuration file.
|
||||
*
|
||||
* The proper use for this method is to call setter methods of the
|
||||
* provided object. Using configuration to call methods that do work
|
||||
* is an abuse of this mechanism.
|
||||
*/
|
||||
class ConfigForSetters
|
||||
{
|
||||
protected $config;
|
||||
|
||||
public function __construct($config, $group, $prefix = '', $postfix = '')
|
||||
{
|
||||
if (!empty($group) && empty($postfix)) {
|
||||
$postfix = '.';
|
||||
}
|
||||
|
||||
$this->config = new ConfigMerge($config, $group, $prefix, $postfix);
|
||||
}
|
||||
|
||||
public function apply($object, $configurationKey)
|
||||
{
|
||||
$settings = $this->config->get($configurationKey);
|
||||
foreach ($settings as $setterMethod => $args) {
|
||||
$fn = [$object, $setterMethod];
|
||||
if (is_callable($fn)) {
|
||||
$result = call_user_func_array($fn, (array)$args);
|
||||
|
||||
// We require that $fn must only be used with setter methods.
|
||||
// Setter methods are required to always return $this so that
|
||||
// they may be chained. We will therefore throw an exception
|
||||
// for any setter that returns something else.
|
||||
if ($result != $object) {
|
||||
$methodDescription = get_class($object) . "::$setterMethod";
|
||||
$propertyDescription = $this->config->describe($configurationKey);
|
||||
throw new \Exception("$methodDescription did not return '\$this' when processing $propertyDescription.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
35
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Loader/ConfigLoader.php
vendored
Normal file
35
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Loader/ConfigLoader.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace Consolidation\Config\Loader;
|
||||
|
||||
/**
|
||||
* Load configuration files.
|
||||
*/
|
||||
abstract class ConfigLoader implements ConfigLoaderInterface
|
||||
{
|
||||
protected $config = [];
|
||||
protected $source = '';
|
||||
|
||||
public function getSourceName()
|
||||
{
|
||||
return $this->source;
|
||||
}
|
||||
|
||||
protected function setSourceName($source)
|
||||
{
|
||||
$this->source = $source;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function export()
|
||||
{
|
||||
return $this->config;
|
||||
}
|
||||
|
||||
public function keys()
|
||||
{
|
||||
return array_keys($this->config);
|
||||
}
|
||||
|
||||
abstract public function load($path);
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace Consolidation\Config\Loader;
|
||||
|
||||
/**
|
||||
* Load configuration files, and fill in any property values that
|
||||
* need to be expanded.
|
||||
*/
|
||||
interface ConfigLoaderInterface
|
||||
{
|
||||
/**
|
||||
* Convert loaded configuration into a simple php nested array.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function export();
|
||||
|
||||
/**
|
||||
* Return the top-level keys in the exported data.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function keys();
|
||||
|
||||
/**
|
||||
* Return a symbolic name for this configuration loader instance.
|
||||
*/
|
||||
public function getSourceName();
|
||||
}
|
||||
167
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Loader/ConfigProcessor.php
vendored
Normal file
167
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Loader/ConfigProcessor.php
vendored
Normal file
@@ -0,0 +1,167 @@
|
||||
<?php
|
||||
|
||||
namespace Consolidation\Config\Loader;
|
||||
|
||||
use Grasmash\Expander\Expander;
|
||||
use Consolidation\Config\Util\ArrayUtil;
|
||||
|
||||
/**
|
||||
* The config processor combines multiple configuration
|
||||
* files together, and processes them as necessary.
|
||||
*/
|
||||
class ConfigProcessor
|
||||
{
|
||||
protected $processedConfig = [];
|
||||
protected $unprocessedConfig = [];
|
||||
protected $expander;
|
||||
|
||||
public function __construct($expander = null)
|
||||
{
|
||||
$this->expander = $expander ?: new Expander();
|
||||
}
|
||||
|
||||
/**
|
||||
* Extend the configuration to be processed with the
|
||||
* configuration provided by the specified loader.
|
||||
*
|
||||
* @param ConfigLoaderInterface $loader
|
||||
*/
|
||||
public function extend(ConfigLoaderInterface $loader)
|
||||
{
|
||||
return $this->addFromSource($loader->export(), $loader->getSourceName());
|
||||
}
|
||||
|
||||
/**
|
||||
* Extend the configuration to be processed with
|
||||
* the provided nested array.
|
||||
*
|
||||
* @param array $data
|
||||
*/
|
||||
public function add($data)
|
||||
{
|
||||
$this->unprocessedConfig[] = $data;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Extend the configuration to be processed with
|
||||
* the provided nested array. Also record the name
|
||||
* of the data source, if applicable.
|
||||
*
|
||||
* @param array $data
|
||||
* @param string $source
|
||||
*/
|
||||
protected function addFromSource($data, $source = '')
|
||||
{
|
||||
if (empty($source)) {
|
||||
return $this->add($data);
|
||||
}
|
||||
$this->unprocessedConfig[$source] = $data;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Process all of the configuration that has been collected,
|
||||
* and return a nested array.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function export($referenceArray = [])
|
||||
{
|
||||
if (!empty($this->unprocessedConfig)) {
|
||||
$this->processedConfig = $this->process(
|
||||
$this->processedConfig,
|
||||
$this->fetchUnprocessed(),
|
||||
$referenceArray
|
||||
);
|
||||
}
|
||||
return $this->processedConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* To aid in debugging: return the source of each configuration item.
|
||||
* n.b. Must call this function *before* export and save the result
|
||||
* if persistence is desired.
|
||||
*/
|
||||
public function sources()
|
||||
{
|
||||
$sources = [];
|
||||
foreach ($this->unprocessedConfig as $sourceName => $config) {
|
||||
if (!empty($sourceName)) {
|
||||
$configSources = ArrayUtil::fillRecursive($config, $sourceName);
|
||||
$sources = ArrayUtil::mergeRecursiveDistinct($sources, $configSources);
|
||||
}
|
||||
}
|
||||
return $sources;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the configuration to be processed, and clear out the
|
||||
* 'unprocessed' list.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function fetchUnprocessed()
|
||||
{
|
||||
$toBeProcessed = $this->unprocessedConfig;
|
||||
$this->unprocessedConfig = [];
|
||||
return $toBeProcessed;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use a map-reduce to evaluate the items to be processed,
|
||||
* and merge them into the processed array.
|
||||
*
|
||||
* @param array $processed
|
||||
* @param array $toBeProcessed
|
||||
* @return array
|
||||
*/
|
||||
protected function process(array $processed, array $toBeProcessed, $referenceArray = [])
|
||||
{
|
||||
$toBeReduced = array_map([$this, 'preprocess'], $toBeProcessed);
|
||||
$reduced = array_reduce($toBeReduced, [$this, 'reduceOne'], $processed);
|
||||
return $this->evaluate($reduced, $referenceArray);
|
||||
}
|
||||
|
||||
/**
|
||||
* Process a single configuration file from the 'to be processed'
|
||||
* list. By default this is a no-op. Override this method to
|
||||
* provide any desired configuration preprocessing, e.g. dot-notation
|
||||
* expansion of the configuration keys, etc.
|
||||
*
|
||||
* @param array $config
|
||||
* @return array
|
||||
*/
|
||||
protected function preprocess(array $config)
|
||||
{
|
||||
return $config;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluate one item in the 'to be evaluated' list, and then
|
||||
* merge it into the processed configuration (the 'carry').
|
||||
*
|
||||
* @param array $processed
|
||||
* @param array $config
|
||||
* @return array
|
||||
*/
|
||||
protected function reduceOne(array $processed, array $config)
|
||||
{
|
||||
return ArrayUtil::mergeRecursiveDistinct($processed, $config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluate one configuration item.
|
||||
*
|
||||
* @param array $processed
|
||||
* @param array $config
|
||||
* @return array
|
||||
*/
|
||||
protected function evaluate(array $config, $referenceArray = [])
|
||||
{
|
||||
return $this->expander->expandArrayProperties(
|
||||
$config,
|
||||
$referenceArray
|
||||
);
|
||||
}
|
||||
}
|
||||
26
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Loader/YamlConfigLoader.php
vendored
Normal file
26
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Loader/YamlConfigLoader.php
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace Consolidation\Config\Loader;
|
||||
|
||||
use Symfony\Component\Yaml\Yaml;
|
||||
|
||||
/**
|
||||
* Load configuration files, and fill in any property values that
|
||||
* need to be expanded.
|
||||
*/
|
||||
class YamlConfigLoader extends ConfigLoader
|
||||
{
|
||||
public function load($path)
|
||||
{
|
||||
$this->setSourceName($path);
|
||||
|
||||
// We silently skip any nonexistent config files, so that
|
||||
// clients may simply `load` all of their candidates.
|
||||
if (!file_exists($path)) {
|
||||
$this->config = [];
|
||||
return $this;
|
||||
}
|
||||
$this->config = (array) Yaml::parse(file_get_contents($path));
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
75
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Util/ArrayUtil.php
vendored
Normal file
75
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Util/ArrayUtil.php
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Util;
|
||||
|
||||
/**
|
||||
* Useful array utilities.
|
||||
*/
|
||||
class ArrayUtil
|
||||
{
|
||||
/**
|
||||
* Merges arrays recursively while preserving.
|
||||
*
|
||||
* @param array $array1
|
||||
* @param array $array2
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @see http://php.net/manual/en/function.array-merge-recursive.php#92195
|
||||
* @see https://github.com/grasmash/bolt/blob/robo-rebase/src/Robo/Common/ArrayManipulator.php#L22
|
||||
*/
|
||||
public static function mergeRecursiveDistinct(
|
||||
array &$array1,
|
||||
array &$array2
|
||||
) {
|
||||
$merged = $array1;
|
||||
foreach ($array2 as $key => &$value) {
|
||||
$merged[$key] = self::mergeRecursiveValue($merged, $key, $value);
|
||||
}
|
||||
return $merged;
|
||||
}
|
||||
|
||||
/**
|
||||
* Process the value in an mergeRecursiveDistinct - make a recursive
|
||||
* call if needed.
|
||||
*/
|
||||
protected static function mergeRecursiveValue(&$merged, $key, $value)
|
||||
{
|
||||
if (is_array($value) && isset($merged[$key]) && is_array($merged[$key])) {
|
||||
return self::mergeRecursiveDistinct($merged[$key], $value);
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fills all of the leaf-node values of a nested array with the
|
||||
* provided replacement value.
|
||||
*/
|
||||
public static function fillRecursive(array $data, $fill)
|
||||
{
|
||||
$result = [];
|
||||
foreach ($data as $key => $value) {
|
||||
$result[$key] = $fill;
|
||||
if (self::isAssociative($value)) {
|
||||
$result[$key] = self::fillRecursive($value, $fill);
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if the provided parameter is an array, and at least
|
||||
* one key is non-numeric.
|
||||
*/
|
||||
public static function isAssociative($testArray)
|
||||
{
|
||||
if (!is_array($testArray)) {
|
||||
return false;
|
||||
}
|
||||
foreach (array_keys($testArray) as $key) {
|
||||
if (!is_numeric($key)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
51
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Util/ConfigFallback.php
vendored
Normal file
51
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Util/ConfigFallback.php
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Util;
|
||||
|
||||
/**
|
||||
* Fetch a configuration value from a configuration group. If the
|
||||
* desired configuration value is not found in the most specific
|
||||
* group named, keep stepping up to the next parent group until a
|
||||
* value is located.
|
||||
*
|
||||
* Given the following constructor inputs:
|
||||
* - $prefix = "command."
|
||||
* - $group = "foo.bar.baz"
|
||||
* - $postfix = ".options."
|
||||
* Then the `get` method will then consider, in order:
|
||||
* - command.foo.bar.baz.options
|
||||
* - command.foo.bar.options
|
||||
* - command.foo.options
|
||||
* If any of these contain an option for "$key", then return its value.
|
||||
*/
|
||||
class ConfigFallback extends ConfigGroup
|
||||
{
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function get($key)
|
||||
{
|
||||
return $this->getWithFallback($key, $this->group, $this->prefix, $this->postfix);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch an option value from a given key, or, if that specific key does
|
||||
* not contain a value, then consult various fallback options until a
|
||||
* value is found.
|
||||
*
|
||||
*/
|
||||
protected function getWithFallback($key, $group, $prefix = '', $postfix = '.')
|
||||
{
|
||||
$configKey = "{$prefix}{$group}${postfix}{$key}";
|
||||
if ($this->config->has($configKey)) {
|
||||
return $this->config->get($configKey);
|
||||
}
|
||||
if ($this->config->hasDefault($configKey)) {
|
||||
return $this->config->getDefault($configKey);
|
||||
}
|
||||
$moreGeneralGroupname = $this->moreGeneralGroupName($group);
|
||||
if ($moreGeneralGroupname) {
|
||||
return $this->getWithFallback($key, $moreGeneralGroupname, $prefix, $postfix);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
61
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Util/ConfigGroup.php
vendored
Normal file
61
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Util/ConfigGroup.php
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Util;
|
||||
|
||||
/**
|
||||
* Fetch a configuration value from a configuration group. If the
|
||||
* desired configuration value is not found in the most specific
|
||||
* group named, keep stepping up to the next parent group until a
|
||||
* value is located.
|
||||
*
|
||||
* Given the following constructor inputs:
|
||||
* - $prefix = "command."
|
||||
* - $group = "foo.bar.baz"
|
||||
* - $postfix = ".options."
|
||||
* Then the `get` method will then consider, in order:
|
||||
* - command.foo.bar.baz.options
|
||||
* - command.foo.bar.options
|
||||
* - command.foo.options
|
||||
* If any of these contain an option for "$key", then return its value.
|
||||
*/
|
||||
abstract class ConfigGroup
|
||||
{
|
||||
protected $config;
|
||||
protected $group;
|
||||
protected $prefix;
|
||||
protected $postfix;
|
||||
|
||||
public function __construct($config, $group, $prefix = '', $postfix = '.')
|
||||
{
|
||||
$this->config = $config;
|
||||
$this->group = $group;
|
||||
$this->prefix = $prefix;
|
||||
$this->postfix = $postfix;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a description of the configuration group (with prefix and postfix).
|
||||
*/
|
||||
public function describe($property)
|
||||
{
|
||||
return $this->prefix . $this->group . $this->postfix . $property;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the requested configuration key from the most specific configuration
|
||||
* group that contains it.
|
||||
*/
|
||||
abstract public function get($key);
|
||||
|
||||
/**
|
||||
* Given a group name, such as "foo.bar.baz", return the next configuration
|
||||
* group in the fallback hierarchy, e.g. "foo.bar".
|
||||
*/
|
||||
protected function moreGeneralGroupName($group)
|
||||
{
|
||||
$result = preg_replace('#\.[^.]*$#', '', $group);
|
||||
if ($result != $group) {
|
||||
return $result;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
34
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Util/ConfigMerge.php
vendored
Normal file
34
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Util/ConfigMerge.php
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Util;
|
||||
|
||||
/**
|
||||
* Works like 'getWithFallback', but merges results from all applicable
|
||||
* groups. Settings from most specific group take precedence.
|
||||
*/
|
||||
class ConfigMerge extends ConfigGroup
|
||||
{
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function get($key)
|
||||
{
|
||||
return $this->getWithMerge($key, $this->group, $this->prefix, $this->postfix);
|
||||
}
|
||||
|
||||
/**
|
||||
* Merge available configuration from each configuration group.
|
||||
*/
|
||||
public function getWithMerge($key, $group, $prefix = '', $postfix = '.')
|
||||
{
|
||||
$configKey = "{$prefix}{$group}${postfix}{$key}";
|
||||
$result = $this->config->get($configKey, []);
|
||||
if (!is_array($result)) {
|
||||
throw new \UnexpectedValueException($configKey . ' must be a list of settings to apply.');
|
||||
}
|
||||
$moreGeneralGroupname = $this->moreGeneralGroupName($group);
|
||||
if ($moreGeneralGroupname) {
|
||||
$result += $this->getWithMerge($key, $moreGeneralGroupname, $prefix, $postfix);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
203
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Util/ConfigOverlay.php
vendored
Normal file
203
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Util/ConfigOverlay.php
vendored
Normal file
@@ -0,0 +1,203 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Util;
|
||||
|
||||
use Consolidation\Config\Config;
|
||||
use Consolidation\Config\ConfigInterface;
|
||||
|
||||
/**
|
||||
* Overlay different configuration objects that implement ConfigInterface
|
||||
* to make a priority-based, merged configuration object.
|
||||
*
|
||||
* Note that using a ConfigOverlay hides the defaults stored in each
|
||||
* individual configuration context. When using overlays, always call
|
||||
* getDefault / setDefault on the ConfigOverlay object itself.
|
||||
*/
|
||||
class ConfigOverlay implements ConfigInterface
|
||||
{
|
||||
protected $contexts = [];
|
||||
|
||||
const DEFAULT_CONTEXT = 'default';
|
||||
const PROCESS_CONTEXT = 'process';
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->contexts[self::DEFAULT_CONTEXT] = new Config();
|
||||
$this->contexts[self::PROCESS_CONTEXT] = new Config();
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a named configuration object to the configuration overlay.
|
||||
* Configuration objects added LAST have HIGHEST priority, with the
|
||||
* exception of the fact that the process context always has the
|
||||
* highest priority.
|
||||
*
|
||||
* If a context has already been added, its priority will not change.
|
||||
*/
|
||||
public function addContext($name, ConfigInterface $config)
|
||||
{
|
||||
$process = $this->contexts[self::PROCESS_CONTEXT];
|
||||
unset($this->contexts[self::PROCESS_CONTEXT]);
|
||||
$this->contexts[$name] = $config;
|
||||
$this->contexts[self::PROCESS_CONTEXT] = $process;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a placeholder context that will be prioritized higher than
|
||||
* existing contexts. This is done to ensure that contexts added
|
||||
* later will maintain a higher priority if the placeholder context
|
||||
* is later relaced with a different configuration set via addContext().
|
||||
*
|
||||
* @param string $name
|
||||
* @return $this
|
||||
*/
|
||||
public function addPlaceholder($name)
|
||||
{
|
||||
return $this->addContext($name, new Config());
|
||||
}
|
||||
|
||||
/**
|
||||
* Increase the priority of the named context such that it is higher
|
||||
* in priority than any existing context except for the 'process'
|
||||
* context.
|
||||
*
|
||||
* @param string $name
|
||||
* @return $this
|
||||
*/
|
||||
public function increasePriority($name)
|
||||
{
|
||||
$config = $this->getContext($name);
|
||||
unset($this->contexts[$name]);
|
||||
return $this->addContext($name, $config);
|
||||
}
|
||||
|
||||
public function hasContext($name)
|
||||
{
|
||||
return isset($this->contexts[$name]);
|
||||
}
|
||||
|
||||
public function getContext($name)
|
||||
{
|
||||
if ($this->hasContext($name)) {
|
||||
return $this->contexts[$name];
|
||||
}
|
||||
return new Config();
|
||||
}
|
||||
|
||||
public function removeContext($name)
|
||||
{
|
||||
unset($this->contexts[$name]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine if a non-default config value exists.
|
||||
*/
|
||||
public function findContext($key)
|
||||
{
|
||||
foreach (array_reverse($this->contexts) as $name => $config) {
|
||||
if ($config->has($key)) {
|
||||
return $config;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function has($key)
|
||||
{
|
||||
return $this->findContext($key) != false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function get($key, $default = null)
|
||||
{
|
||||
$context = $this->findContext($key);
|
||||
if ($context) {
|
||||
return $context->get($key, $default);
|
||||
}
|
||||
return $default;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function set($key, $value)
|
||||
{
|
||||
$this->contexts[self::PROCESS_CONTEXT]->set($key, $value);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function import($data)
|
||||
{
|
||||
$this->unsupported(__FUNCTION__);
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function replace($data)
|
||||
{
|
||||
$this->unsupported(__FUNCTION__);
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function combine($data)
|
||||
{
|
||||
$this->unsupported(__FUNCTION__);
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
protected function unsupported($fn)
|
||||
{
|
||||
throw new \Exception("The method '$fn' is not supported for the ConfigOverlay class.");
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function export()
|
||||
{
|
||||
$export = [];
|
||||
foreach ($this->contexts as $name => $config) {
|
||||
$export = array_merge_recursive($export, $config->export());
|
||||
}
|
||||
return $export;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function hasDefault($key)
|
||||
{
|
||||
return $this->contexts[self::DEFAULT_CONTEXT]->has($key);
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function getDefault($key, $default = null)
|
||||
{
|
||||
return $this->contexts[self::DEFAULT_CONTEXT]->get($key, $default);
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function setDefault($key, $value)
|
||||
{
|
||||
$this->contexts[self::DEFAULT_CONTEXT]->set($key, $value);
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
96
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Util/EnvConfig.php
vendored
Normal file
96
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/src/Util/EnvConfig.php
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Util;
|
||||
|
||||
use Consolidation\Config\Config;
|
||||
use Consolidation\Config\ConfigInterface;
|
||||
|
||||
/**
|
||||
* Provide a configuration object that fetches values from environment
|
||||
* variables.
|
||||
*/
|
||||
class EnvConfig implements ConfigInterface
|
||||
{
|
||||
/** @var string */
|
||||
protected $prefix;
|
||||
|
||||
/**
|
||||
* EnvConfig constructor
|
||||
*
|
||||
* @param $prefix The string to appear before every environment
|
||||
* variable key. For example, if the prefix is 'MYAPP_', then
|
||||
* the key 'foo.bar' will be fetched from the environment variable
|
||||
* MYAPP_FOO_BAR.
|
||||
*/
|
||||
public function __construct($prefix)
|
||||
{
|
||||
// Ensure that the prefix is always uppercase, and always
|
||||
// ends with a '_', regardless of the form the caller provided.
|
||||
$this->prefix = strtoupper(rtrim($prefix, '_')) . '_';
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function has($key)
|
||||
{
|
||||
return $this->get($key) !== null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function get($key, $defaultFallback = null)
|
||||
{
|
||||
$envKey = $this->prefix . strtoupper(strtr($key, '.-', '__'));
|
||||
$envKey = str_replace($this->prefix . $this->prefix, $this->prefix, $envKey);
|
||||
return getenv($envKey) ?: $defaultFallback;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function set($key, $value)
|
||||
{
|
||||
throw new \Exception('Cannot call "set" on environmental configuration.');
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function import($data)
|
||||
{
|
||||
// no-op
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function export()
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function hasDefault($key)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function getDefault($key, $defaultFallback = null)
|
||||
{
|
||||
return $defaultFallback;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function setDefault($key, $value)
|
||||
{
|
||||
throw new \Exception('Cannot call "setDefault" on environmental configuration.');
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
../../tests
|
||||
130
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/ConfigForCommandTest.php
vendored
Normal file
130
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/ConfigForCommandTest.php
vendored
Normal file
@@ -0,0 +1,130 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Inject;
|
||||
|
||||
use Consolidation\Config\Config;
|
||||
use Consolidation\TestUtils\MyFooCommand;
|
||||
use Symfony\Component\Console\Application;
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Input\ArgvInput;
|
||||
use Symfony\Component\Console\Input\StringInput;
|
||||
use Symfony\Component\Console\Output\BufferedOutput;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
class ConfigForCommandTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
protected $config;
|
||||
|
||||
protected function setUp()
|
||||
{
|
||||
$data = [
|
||||
// Global options
|
||||
'options' => [
|
||||
'global' => 'from-config',
|
||||
],
|
||||
// Define some configuration settings for the options for
|
||||
// the commands my:foo and my:bar.
|
||||
'command' => [
|
||||
'my' => [
|
||||
// commands.my.options.* apply to all my:* commands.
|
||||
'options' => [
|
||||
'dir' => '/etc/common',
|
||||
'priority' => 'normal',
|
||||
],
|
||||
'foo' => [
|
||||
// commands.my.foo.options.* apply only to the my:foo command.
|
||||
'options' => [
|
||||
'name' => 'baz',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
$this->config = new Config($data);
|
||||
}
|
||||
|
||||
public function testInjection()
|
||||
{
|
||||
$command = new MyFooCommand();
|
||||
$input = new StringInput('my:foo');
|
||||
|
||||
list($status, $output) = $this->runCommandViaApplication($command, $input);
|
||||
|
||||
$expectedOutput = <<< EOT
|
||||
Enter my:foo
|
||||
dir: /etc/common
|
||||
name: baz
|
||||
other: fish
|
||||
EOT;
|
||||
|
||||
$this->assertEquals(0, $status);
|
||||
$this->assertEquals($expectedOutput, $output);
|
||||
}
|
||||
|
||||
public function testInjectionWithOverride()
|
||||
{
|
||||
$command = new MyFooCommand();
|
||||
$input = new StringInput('my:foo --name=Fred');
|
||||
|
||||
list($status, $output) = $this->runCommandViaApplication($command, $input);
|
||||
|
||||
$expectedOutput = <<< EOT
|
||||
Enter my:foo
|
||||
dir: /etc/common
|
||||
name: Fred
|
||||
other: fish
|
||||
EOT;
|
||||
|
||||
$this->assertEquals(0, $status);
|
||||
$this->assertEquals($expectedOutput, $output);
|
||||
}
|
||||
|
||||
public function testHelpDefaultInjection()
|
||||
{
|
||||
$command = new MyFooCommand();
|
||||
$input = new StringInput('help my:foo');
|
||||
|
||||
list($status, $output) = $this->runCommandViaApplication($command, $input);
|
||||
|
||||
$expectedOutput = <<< EOT
|
||||
What is the name of the thing we are naming [default: "baz"]
|
||||
EOT;
|
||||
|
||||
$this->assertEquals(0, $status);
|
||||
$this->assertContains($expectedOutput, $output);
|
||||
|
||||
$expectedOutput = <<< EOT
|
||||
A certain global option. [default: "from-config"]
|
||||
EOT;
|
||||
|
||||
$this->assertContains($expectedOutput, $output);
|
||||
}
|
||||
|
||||
protected function runCommandViaApplication($command, $input)
|
||||
{
|
||||
$application = new Application('TestApplication', '0.0.0');
|
||||
$application->getDefinition()
|
||||
->addOption(
|
||||
new InputOption('--global', null, InputOption::VALUE_REQUIRED, 'A certain global option.', 'hardcoded')
|
||||
);
|
||||
|
||||
$output = new BufferedOutput();
|
||||
|
||||
$configInjector = new ConfigForCommand($this->config);
|
||||
$configInjector->setApplication($application);
|
||||
|
||||
$eventDispatcher = new \Symfony\Component\EventDispatcher\EventDispatcher();
|
||||
$eventDispatcher->addSubscriber($configInjector);
|
||||
$application->setDispatcher($eventDispatcher);
|
||||
|
||||
$application->setAutoExit(false);
|
||||
$application->add($command);
|
||||
|
||||
$statusCode = $application->run($input, $output);
|
||||
$commandOutput = trim($output->fetch());
|
||||
|
||||
return [$statusCode, $commandOutput];
|
||||
}
|
||||
}
|
||||
87
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/ConfigForSettersTest.php
vendored
Normal file
87
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/ConfigForSettersTest.php
vendored
Normal file
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Inject;
|
||||
|
||||
use Consolidation\Config\Config;
|
||||
use Consolidation\TestUtils\ApplyConfigTestTarget;
|
||||
|
||||
class ConfigForSettersTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
public function testApplyConfig()
|
||||
{
|
||||
$data = [
|
||||
// Define some configuration settings for the configuration
|
||||
// of some task \My\Tasks\Operations\Frobulate.
|
||||
'task' => [
|
||||
'Operations' => [
|
||||
// task.Operations.settings apply to all tasks in
|
||||
// any *.Tass.Operations namespace.
|
||||
'settings' => [
|
||||
'dir' => '/base/dir',
|
||||
],
|
||||
'Frobulate' => [
|
||||
// task.Operations.Frobulate.settings applies only
|
||||
// the Frobulate task.
|
||||
'settings' => [
|
||||
'dir' => '/override/dir',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
$config = new Config($data);
|
||||
|
||||
$applicator = new ConfigForSetters($config, 'Operations.Frobulate', 'task.');
|
||||
|
||||
$testTarget = new ApplyConfigTestTarget();
|
||||
|
||||
$applicator->apply($testTarget, 'settings');
|
||||
|
||||
$this->assertEquals('/override/dir', $testTarget->getDir());
|
||||
$this->assertEquals(null, $testTarget->getBad());
|
||||
}
|
||||
|
||||
public function testApplyBadConfig()
|
||||
{
|
||||
$data = [
|
||||
// Define some configuration settings for the configuration
|
||||
// of some task \My\Tasks\Operations\Frobulate.
|
||||
'task' => [
|
||||
'Operations' => [
|
||||
// task.Operations.settings apply to all tasks in
|
||||
// any *.Tass.Operations namespace.
|
||||
'settings' => [
|
||||
'dir' => '/base/dir',
|
||||
],
|
||||
'Frobulate' => [
|
||||
// task.Operations.Frobulate.settings applies only
|
||||
// the Frobulate task.
|
||||
'settings' => [
|
||||
'bad' => 'fire truck',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
$config = new Config($data);
|
||||
|
||||
$applicator = new ConfigForSetters($config, 'Operations.Frobulate', 'task.');
|
||||
|
||||
$testTarget = new ApplyConfigTestTarget();
|
||||
|
||||
$exceptionMessage = '';
|
||||
try
|
||||
{
|
||||
$applicator->apply($testTarget, 'settings');
|
||||
}
|
||||
catch (\Exception $e)
|
||||
{
|
||||
$exceptionMessage = $e->getMessage();
|
||||
}
|
||||
// We would prefer it if bad methods were never called; unfortunately,
|
||||
// declaring the return type of a method cannot be done in a reliable
|
||||
// way (via reflection) until php 7, so we allow these methods to be
|
||||
// called for now.
|
||||
$this->assertEquals('fire truck', $testTarget->getBad());
|
||||
$this->assertEquals('Consolidation\\TestUtils\\ApplyConfigTestTarget::bad did not return \'$this\' when processing task.Operations.Frobulate.settings.', $exceptionMessage);
|
||||
}
|
||||
}
|
||||
91
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/ConfigGroupTest.php
vendored
Normal file
91
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/ConfigGroupTest.php
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Util;
|
||||
|
||||
use Consolidation\Config\Config;
|
||||
|
||||
class ConfigGroupTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
protected $config;
|
||||
|
||||
protected function setUp()
|
||||
{
|
||||
$data = [
|
||||
// Define some configuration settings for the options for
|
||||
// the commands my:foo and my:bar.
|
||||
'command' => [
|
||||
'my' => [
|
||||
// commands.my.options.* apply to all my:* commands.
|
||||
'options' => [
|
||||
'path' => '/etc/common',
|
||||
'priority' => 'normal',
|
||||
],
|
||||
'foo' => [
|
||||
// commands.my.foo.options.* apply only to the my:foo command.
|
||||
'options' => [
|
||||
'name' => 'baz',
|
||||
],
|
||||
],
|
||||
'bar' => [
|
||||
// Similarly, commands.my.bar.options is for the my:bar command.
|
||||
'options' => [
|
||||
'priority' => 'high',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
// Define some configuration settings for the configuration
|
||||
// of some task \My\Tasks\Operations\Frobulate.
|
||||
'task' => [
|
||||
'Operations' => [
|
||||
// task.Operations.settings apply to all tasks in
|
||||
// any *.Tass.Operations namespace.
|
||||
'settings' => [
|
||||
'dir' => '/base/dir',
|
||||
],
|
||||
'Frobulate' => [
|
||||
// task.Operations.Frobulate.settings applies only
|
||||
// the Frobulate task.
|
||||
'settings' => [
|
||||
'object' => 'fire truck',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
$this->config = new Config($data);
|
||||
}
|
||||
|
||||
public function testDotNotation()
|
||||
{
|
||||
// Test the test
|
||||
$this->assertEquals('baz', $this->config->get('command.my.foo.options.name'));
|
||||
}
|
||||
|
||||
public function testFallback()
|
||||
{
|
||||
$fooFallback = new ConfigFallback($this->config, 'my.foo', 'command.', '.options.');
|
||||
$barFallback = new ConfigFallback($this->config, 'my.bar', 'command.', '.options.');
|
||||
|
||||
$this->assertEquals(null, $barFallback->get('name'));
|
||||
$this->assertEquals('baz', $fooFallback->get('name'));
|
||||
$this->assertEquals('high', $barFallback->get('priority'));
|
||||
|
||||
$this->assertEquals('normal', $fooFallback->get('priority'));
|
||||
$this->assertEquals('/etc/common', $barFallback->get('path'));
|
||||
$this->assertEquals('/etc/common', $fooFallback->get('path'));
|
||||
}
|
||||
|
||||
public function testMerge()
|
||||
{
|
||||
$frobulateMerge = new ConfigMerge($this->config, 'Operations.Frobulate', 'task.');
|
||||
|
||||
$settings = $frobulateMerge->get('settings');
|
||||
$this->assertEquals('fire truck', $settings['object']);
|
||||
$this->assertEquals('/base/dir', $settings['dir']);
|
||||
$keys = array_keys($settings);
|
||||
sort($keys);
|
||||
$this->assertEquals('dir,object', implode(',', $keys));
|
||||
}
|
||||
}
|
||||
|
||||
29
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/ConfigLoaderTest.php
vendored
Normal file
29
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/ConfigLoaderTest.php
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Loader;
|
||||
|
||||
class ConfigLoaderTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
public function testConfigLoader()
|
||||
{
|
||||
$loader = new YamlConfigLoader();
|
||||
|
||||
// Assert that our test data exists (test the test)
|
||||
$path = __DIR__ . '/data/config-1.yml';
|
||||
$this->assertTrue(file_exists($path));
|
||||
|
||||
$loader->load($path);
|
||||
|
||||
$configFile = basename($loader->getSourceName());
|
||||
$this->assertEquals('config-1.yml', $configFile);
|
||||
|
||||
// Make sure that the data we loaded contained the expected keys
|
||||
$keys = $loader->keys();
|
||||
sort($keys);
|
||||
$keysString = implode(',', $keys);
|
||||
$this->assertEquals('c,m', $keysString);
|
||||
|
||||
$configData = $loader->export();
|
||||
$this->assertEquals('foo', $configData['c']);
|
||||
$this->assertEquals('1', $configData['m'][0]);
|
||||
}
|
||||
}
|
||||
168
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/ConfigOverlayTest.php
vendored
Normal file
168
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/ConfigOverlayTest.php
vendored
Normal file
@@ -0,0 +1,168 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Util;
|
||||
|
||||
use Consolidation\Config\Config;
|
||||
use Consolidation\Config\Loader\ConfigProcessor;
|
||||
use Consolidation\Config\Loader\YamlConfigLoader;
|
||||
|
||||
class ConfigOverlayTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
protected $overlay;
|
||||
|
||||
protected function setUp()
|
||||
{
|
||||
$aliasContext = new Config();
|
||||
$aliasContext->import([
|
||||
'hidden-by-a' => 'alias hidden-by-a',
|
||||
'hidden-by-process' => 'alias hidden-by-process',
|
||||
'options' =>[
|
||||
'a-a' => 'alias-a',
|
||||
],
|
||||
'command' => [
|
||||
'foo' => [
|
||||
'bar' => [
|
||||
'command' => [
|
||||
'options' => [
|
||||
'a-b' => 'alias-b',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
]);
|
||||
|
||||
$configFileContext = new Config();
|
||||
$configFileContext->import([
|
||||
'hidden-by-cf' => 'config-file hidden-by-cf',
|
||||
'hidden-by-a' => 'config-file hidden-by-a',
|
||||
'hidden-by-process' => 'config-file hidden-by-process',
|
||||
'options' =>[
|
||||
'cf-a' => 'config-file-a',
|
||||
],
|
||||
'command' => [
|
||||
'foo' => [
|
||||
'bar' => [
|
||||
'command' => [
|
||||
'options' => [
|
||||
'cf-b' => 'config-file-b',
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
],
|
||||
]);
|
||||
|
||||
$this->overlay = new ConfigOverlay();
|
||||
$this->overlay->set('hidden-by-process', 'process-h');
|
||||
$this->overlay->addContext('cf', $configFileContext);
|
||||
$this->overlay->addContext('a', $aliasContext);
|
||||
$this->overlay->setDefault('df-a', 'default');
|
||||
$this->overlay->setDefault('hidden-by-a', 'default hidden-by-a');
|
||||
$this->overlay->setDefault('hidden-by-cf', 'default hidden-by-cf');
|
||||
$this->overlay->setDefault('hidden-by-process', 'default hidden-by-process');
|
||||
}
|
||||
|
||||
public function testGetPriority()
|
||||
{
|
||||
$this->assertEquals('process-h', $this->overlay->get('hidden-by-process'));
|
||||
$this->assertEquals('config-file hidden-by-cf', $this->overlay->get('hidden-by-cf'));
|
||||
$this->assertEquals('alias hidden-by-a', $this->overlay->get('hidden-by-a'));
|
||||
}
|
||||
|
||||
public function testDefault()
|
||||
{
|
||||
$this->assertEquals('alias-a', $this->overlay->get('options.a-a'));
|
||||
$this->assertEquals('alias-a', $this->overlay->get('options.a-a', 'ignored'));
|
||||
$this->assertEquals('default', $this->overlay->getDefault('df-a', 'ignored'));
|
||||
$this->assertEquals('nsv', $this->overlay->getDefault('a-a', 'nsv'));
|
||||
|
||||
$this->overlay->setDefault('df-a', 'new value');
|
||||
$this->assertEquals('new value', $this->overlay->getDefault('df-a', 'ignored'));
|
||||
}
|
||||
|
||||
public function testExport()
|
||||
{
|
||||
$data = $this->overlay->export();
|
||||
|
||||
$this->assertEquals('config-file-a', $data['options']['cf-a']);
|
||||
$this->assertEquals('alias-a', $data['options']['a-a']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testImport()
|
||||
{
|
||||
$data = $this->overlay->import(['a' => 'value']);
|
||||
}
|
||||
|
||||
public function testMaintainPriority()
|
||||
{
|
||||
// Get and re-add the 'cf' context. Its priority should not change.
|
||||
$configFileContext = $this->overlay->getContext('cf');
|
||||
$this->overlay->addContext('cf', $configFileContext);
|
||||
|
||||
// These asserts are the same as in testGetPriority
|
||||
$this->assertEquals('process-h', $this->overlay->get('hidden-by-process'));
|
||||
$this->assertEquals('config-file hidden-by-cf', $this->overlay->get('hidden-by-cf'));
|
||||
$this->assertEquals('alias hidden-by-a', $this->overlay->get('hidden-by-a'));
|
||||
}
|
||||
|
||||
public function testChangePriority()
|
||||
{
|
||||
// Increase the priority of the 'cf' context. Now, it should have a higher
|
||||
// priority than the 'alias' context, but should still have a lower
|
||||
// priority than the 'process' context.
|
||||
$this->overlay->increasePriority('cf');
|
||||
|
||||
// These asserts are the same as in testGetPriority
|
||||
$this->assertEquals('process-h', $this->overlay->get('hidden-by-process'));
|
||||
$this->assertEquals('config-file hidden-by-cf', $this->overlay->get('hidden-by-cf'));
|
||||
|
||||
// This one has changed: the config-file value is now found instead
|
||||
// of the alias value.
|
||||
$this->assertEquals('config-file hidden-by-a', $this->overlay->get('hidden-by-a'));
|
||||
}
|
||||
|
||||
public function testPlaceholder()
|
||||
{
|
||||
$this->overlay->addPlaceholder('lower');
|
||||
|
||||
$higherContext = new Config();
|
||||
$higherContext->import(['priority-test' => 'higher']);
|
||||
|
||||
$lowerContext = new Config();
|
||||
$lowerContext->import(['priority-test' => 'lower']);
|
||||
|
||||
// Usually 'lower' would have the highest priority, since it is
|
||||
// added last. However, our earlier call to 'addPlaceholder' reserves
|
||||
// a spot for it, so the 'higher' context will end up with a higher
|
||||
// priority.
|
||||
$this->overlay->addContext('higher', $higherContext);
|
||||
$this->overlay->addContext('lower', $lowerContext);
|
||||
$this->assertEquals('higher', $this->overlay->get('priority-test', 'neither'));
|
||||
|
||||
// Test to see that we can change the value of the 'higher' context,
|
||||
// and the change will be reflected in the overlay.
|
||||
$higherContext->set('priority-test', 'changed');
|
||||
$this->assertEquals('changed', $this->overlay->get('priority-test', 'neither'));
|
||||
|
||||
// Test to see that the 'process' context still has the highest priority.
|
||||
$this->overlay->set('priority-test', 'process');
|
||||
$higherContext->set('priority-test', 'ignored');
|
||||
$this->assertEquals('process', $this->overlay->get('priority-test', 'neither'));
|
||||
}
|
||||
|
||||
public function testDoesNotHave()
|
||||
{
|
||||
$context = $this->overlay->getContext('no-such-context');
|
||||
$data = $context->export();
|
||||
$this->assertEquals('[]', json_encode($data));
|
||||
|
||||
$this->assertTrue(!$this->overlay->has('no-such-key'));
|
||||
$this->assertTrue(!$this->overlay->hasDefault('no-such-default'));
|
||||
|
||||
$this->assertEquals('no-such-value', $this->overlay->get('no-such-key', 'no-such-value'));
|
||||
|
||||
}
|
||||
}
|
||||
152
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/ConfigProcessorTest.php
vendored
Normal file
152
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/ConfigProcessorTest.php
vendored
Normal file
@@ -0,0 +1,152 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Loader;
|
||||
|
||||
use Consolidation\TestUtils\TestLoader;
|
||||
|
||||
class ConfigProcessorTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
public function testConfigProcessorAdd()
|
||||
{
|
||||
$config1 = [
|
||||
'c' => 'foo',
|
||||
'm' => [1],
|
||||
];
|
||||
$config2 = [
|
||||
'b' => '${c}bar',
|
||||
'm' => [2],
|
||||
];
|
||||
$config3 = [
|
||||
'a' => '${b}baz',
|
||||
'm' => [3],
|
||||
];
|
||||
|
||||
$processor = new ConfigProcessor();
|
||||
$processor->add($config1);
|
||||
$processor->add($config2);
|
||||
$processor->add($config3);
|
||||
|
||||
$data = $processor->export();
|
||||
$this->assertEquals('foo', $data['c']);
|
||||
$this->assertEquals('foobar', $data['b']);
|
||||
$this->assertEquals('foobarbaz', $data['a']);
|
||||
}
|
||||
|
||||
public function processorForConfigMergeTest($provideSourceNames)
|
||||
{
|
||||
$config1 = [
|
||||
'm' => [
|
||||
'x' => 'x-1',
|
||||
'y' => [
|
||||
'r' => 'r-1',
|
||||
's' => 's-1',
|
||||
't' => 't-1',
|
||||
],
|
||||
'z' => 'z-1',
|
||||
],
|
||||
];
|
||||
$config2 = [
|
||||
'm' => [
|
||||
'w' => 'w-2',
|
||||
'y' => [
|
||||
'q' => 'q-2',
|
||||
's' => 's-2',
|
||||
],
|
||||
'z' => 'z-2',
|
||||
],
|
||||
];
|
||||
$config3 = [
|
||||
'm' => [
|
||||
'v' => 'v-3',
|
||||
'y' => [
|
||||
't' => 't-3',
|
||||
'u' => 'u-3',
|
||||
],
|
||||
'z' => 'z-3',
|
||||
],
|
||||
];
|
||||
|
||||
$processor = new ConfigProcessor();
|
||||
$testLoader = new TestLoader();
|
||||
|
||||
$testLoader->set($config1);
|
||||
$testLoader->setSourceName($provideSourceNames ? 'c-1' : '');
|
||||
$processor->extend($testLoader);
|
||||
|
||||
$testLoader->set($config2);
|
||||
$testLoader->setSourceName($provideSourceNames ? 'c-2' : '');
|
||||
$processor->extend($testLoader);
|
||||
|
||||
$testLoader->set($config3);
|
||||
$testLoader->setSourceName($provideSourceNames ? 'c-3' : '');
|
||||
$processor->extend($testLoader);
|
||||
|
||||
return $processor;
|
||||
}
|
||||
|
||||
public function testConfigProcessorMergeAssociative()
|
||||
{
|
||||
$processor = $this->processorForConfigMergeTest(false);
|
||||
$data = $processor->export();
|
||||
$this->assertEquals('{"m":{"x":"x-1","y":{"r":"r-1","s":"s-2","t":"t-3","q":"q-2","u":"u-3"},"z":"z-3","w":"w-2","v":"v-3"}}', json_encode($data));
|
||||
}
|
||||
|
||||
public function testConfigProcessorMergeAssociativeWithSourceNames()
|
||||
{
|
||||
$processor = $this->processorForConfigMergeTest(true);
|
||||
$sources = $processor->sources();
|
||||
$data = $processor->export();
|
||||
$this->assertEquals('{"m":{"x":"x-1","y":{"r":"r-1","s":"s-2","t":"t-3","q":"q-2","u":"u-3"},"z":"z-3","w":"w-2","v":"v-3"}}', json_encode($data));
|
||||
$this->assertEquals('c-1', $sources['m']['x']);
|
||||
$this->assertEquals('c-1', $sources['m']['y']['r']);
|
||||
$this->assertEquals('c-2', $sources['m']['w']);
|
||||
$this->assertEquals('c-2', $sources['m']['y']['s']);
|
||||
$this->assertEquals('c-3', $sources['m']['z']);
|
||||
$this->assertEquals('c-3', $sources['m']['y']['u']);
|
||||
}
|
||||
|
||||
public function testConfiProcessorSources()
|
||||
{
|
||||
$processor = new ConfigProcessor();
|
||||
$loader = new YamlConfigLoader();
|
||||
$processor->extend($loader->load(__DIR__ . '/data/config-1.yml'));
|
||||
$processor->extend($loader->load(__DIR__ . '/data/config-2.yml'));
|
||||
$processor->extend($loader->load(__DIR__ . '/data/config-3.yml'));
|
||||
|
||||
$sources = $processor->sources();
|
||||
|
||||
$data = $processor->export();
|
||||
$this->assertEquals('foo', $data['c']);
|
||||
$this->assertEquals('foobar', $data['b']);
|
||||
$this->assertEquals('foobarbaz', $data['a']);
|
||||
|
||||
$this->assertEquals('3', $data['m'][0]);
|
||||
|
||||
$this->assertEquals( __DIR__ . '/data/config-3.yml', $sources['a']);
|
||||
$this->assertEquals( __DIR__ . '/data/config-2.yml', $sources['b']);
|
||||
$this->assertEquals( __DIR__ . '/data/config-1.yml', $sources['c']);
|
||||
$this->assertEquals( __DIR__ . '/data/config-3.yml', $sources['m']);
|
||||
}
|
||||
|
||||
public function testConfiProcessorSourcesLoadInReverseOrder()
|
||||
{
|
||||
$processor = new ConfigProcessor();
|
||||
$loader = new YamlConfigLoader();
|
||||
$processor->extend($loader->load(__DIR__ . '/data/config-3.yml'));
|
||||
$processor->extend($loader->load(__DIR__ . '/data/config-2.yml'));
|
||||
$processor->extend($loader->load(__DIR__ . '/data/config-1.yml'));
|
||||
|
||||
$sources = $processor->sources();
|
||||
|
||||
$data = $processor->export();
|
||||
$this->assertEquals('foo', $data['c']);
|
||||
$this->assertEquals('foobar', $data['b']);
|
||||
$this->assertEquals('foobarbaz', $data['a']);
|
||||
|
||||
$this->assertEquals('1', $data['m'][0]);
|
||||
|
||||
$this->assertEquals( __DIR__ . '/data/config-3.yml', $sources['a']);
|
||||
$this->assertEquals( __DIR__ . '/data/config-2.yml', $sources['b']);
|
||||
$this->assertEquals( __DIR__ . '/data/config-1.yml', $sources['c']);
|
||||
$this->assertEquals( __DIR__ . '/data/config-1.yml', $sources['m']);
|
||||
}
|
||||
}
|
||||
140
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/ConfigTest.php
vendored
Normal file
140
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/ConfigTest.php
vendored
Normal file
@@ -0,0 +1,140 @@
|
||||
<?php
|
||||
namespace Consolidation\Config;
|
||||
|
||||
use Consolidation\Config\Loader\ConfigProcessor;
|
||||
use Consolidation\Config\Loader\YamlConfigLoader;
|
||||
|
||||
class ConfigTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
public function testSetters()
|
||||
{
|
||||
// Pointless tests just to ensure everything is covered.
|
||||
$config = new Config();
|
||||
$config->set('foo', 'bar');
|
||||
$data = $config->export();
|
||||
$this->assertEquals('{"foo":"bar"}', json_encode($data));
|
||||
}
|
||||
|
||||
public function testCombine()
|
||||
{
|
||||
// Pointless tests just to ensure everything is covered.
|
||||
$config = new Config();
|
||||
$config->set('foo', 'bar');
|
||||
$config->set('baz', 'boz');
|
||||
$config2 = new Config();
|
||||
$config2->set('foo', 'fu');
|
||||
$config2->set('new', 'blue');
|
||||
$config->combine($config2->export());
|
||||
$this->assertEquals('fu', $config->get('foo'));
|
||||
$this->assertEquals('boz', $config->get('baz'));
|
||||
$this->assertEquals('blue', $config->get('new'));
|
||||
}
|
||||
|
||||
public function testDefault()
|
||||
{
|
||||
$data = [
|
||||
'a' => 'foo',
|
||||
'b' => 'bar',
|
||||
'c' => 'boz',
|
||||
];
|
||||
|
||||
$foo = ["foo" => "bar"];
|
||||
|
||||
$config = new Config($data);
|
||||
|
||||
$config->setDefault('c', 'other');
|
||||
$config->setDefault('d', 'other');
|
||||
$config->setDefault('f', $foo);
|
||||
|
||||
$this->assertEquals('foo', $config->get('a'));
|
||||
$this->assertEquals('boz', $config->get('c'));
|
||||
$this->assertEquals('other', $config->get('d'));
|
||||
$this->assertEquals('other', $config->getDefault('c'));
|
||||
$this->assertEquals('', $config->get('e'));
|
||||
$this->assertEquals('bar', $config->get('f.foo'));
|
||||
$this->assertEquals('{"foo":"bar"}', json_encode($config->get('f')));
|
||||
}
|
||||
|
||||
public function testDefaultsArray()
|
||||
{
|
||||
$data = ['a' => 'foo', 'b' => 'bar', 'c' => 'boz',];
|
||||
$defaults = ['d' => 'foo', 'e' => 'bar', 'f' => 'boz',];
|
||||
|
||||
// Create reflection class to test private methods
|
||||
$configClass = new \ReflectionClass("Consolidation\Config\Config");
|
||||
|
||||
// $defaults
|
||||
$defaultsProperty = $configClass->getProperty("defaults");
|
||||
$defaultsProperty->setAccessible(true);
|
||||
|
||||
// $getDefaults
|
||||
$getDefaultsMethod = $configClass->getMethod("getDefaults");
|
||||
$getDefaultsMethod->setAccessible(true);
|
||||
|
||||
// Test the config class
|
||||
$config = new Config($data);
|
||||
|
||||
// Set $config::defaults to an array to test getter and setter
|
||||
$defaultsProperty->setValue($config, $defaults);
|
||||
$this->assertTrue(is_array($defaultsProperty->getValue($config)));
|
||||
$this->assertInstanceOf('Dflydev\DotAccessData\Data',
|
||||
$getDefaultsMethod->invoke($config));
|
||||
|
||||
// Set $config::defaults to a string to test exception
|
||||
$defaultsProperty->setValue($config, "foo.bar");
|
||||
$this->setExpectedException("Exception");
|
||||
$getDefaultsMethod->invoke($config);
|
||||
}
|
||||
|
||||
public function testConfigurationWithCrossFileReferences()
|
||||
{
|
||||
$config = new Config();
|
||||
$processor = new ConfigProcessor();
|
||||
$loader = new YamlConfigLoader();
|
||||
$processor->extend($loader->load(__DIR__ . '/data/config-1.yml'));
|
||||
$processor->extend($loader->load(__DIR__ . '/data/config-2.yml'));
|
||||
$processor->extend($loader->load(__DIR__ . '/data/config-3.yml'));
|
||||
|
||||
// Does not fail if configuration file cannot be found
|
||||
$processor->extend($loader->load(__DIR__ . '/data/no-such-file.yml'));
|
||||
|
||||
// We must capture the sources before exporting, as export
|
||||
// dumps this information.
|
||||
$sources = $processor->sources();
|
||||
|
||||
$config->import($processor->export());
|
||||
|
||||
$this->assertEquals(implode(',', $config->get('m')), '3');
|
||||
$this->assertEquals($config->get('a'), 'foobarbaz');
|
||||
|
||||
$this->assertEquals($sources['a'], __DIR__ . '/data/config-3.yml');
|
||||
$this->assertEquals($sources['b'], __DIR__ . '/data/config-2.yml');
|
||||
$this->assertEquals($sources['c'], __DIR__ . '/data/config-1.yml');
|
||||
}
|
||||
|
||||
public function testConfigurationWithReverseOrderCrossFileReferences()
|
||||
{
|
||||
$config = new Config();
|
||||
$processor = new ConfigProcessor();
|
||||
$loader = new YamlConfigLoader();
|
||||
$processor->extend($loader->load(__DIR__ . '/data/config-3.yml'));
|
||||
$processor->extend($loader->load(__DIR__ . '/data/config-2.yml'));
|
||||
$processor->extend($loader->load(__DIR__ . '/data/config-1.yml'));
|
||||
|
||||
$sources = $processor->sources();
|
||||
$config->import($processor->export());
|
||||
|
||||
$this->assertEquals(implode(',', $config->get('m')), '1');
|
||||
|
||||
if (strpos($config->get('a'), '$') !== false) {
|
||||
throw new \PHPUnit_Framework_SkippedTestError(
|
||||
'Evaluation of cross-file references in reverse order not supported.'
|
||||
);
|
||||
}
|
||||
$this->assertEquals($config->get('a'), 'foobarbaz');
|
||||
|
||||
$this->assertEquals($sources['a'], __DIR__ . '/data/config-3.yml');
|
||||
$this->assertEquals($sources['b'], __DIR__ . '/data/config-2.yml');
|
||||
$this->assertEquals($sources['c'], __DIR__ . '/data/config-1.yml');
|
||||
}
|
||||
}
|
||||
3
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/data/config-1.yml
vendored
Normal file
3
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/data/config-1.yml
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
c: foo
|
||||
m:
|
||||
- 1
|
||||
3
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/data/config-2.yml
vendored
Normal file
3
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/data/config-2.yml
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
b: ${c}bar
|
||||
m:
|
||||
- 2
|
||||
3
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/data/config-3.yml
vendored
Normal file
3
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/data/config-3.yml
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
a: ${b}baz
|
||||
m:
|
||||
- 3
|
||||
23
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/scripts/install-scenario
vendored
Executable file
23
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/scripts/install-scenario
vendored
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCENARIO=$1
|
||||
ACTION=${2-install}
|
||||
|
||||
dir=dependencies/${SCENARIO}
|
||||
if [ -z "$SCENARIO" ] ; then
|
||||
SCENARIO=default
|
||||
dir=.
|
||||
fi
|
||||
|
||||
|
||||
if [ ! -d "$dir" ] ; then
|
||||
echo "Requested scenario '${SCENARIO}' does not exist."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Switch to ${SCENARIO} scenario"
|
||||
|
||||
set -ex
|
||||
|
||||
composer -n --working-dir=$dir ${ACTION} --prefer-dist --no-scripts
|
||||
composer -n --working-dir=$dir info
|
||||
66
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/scripts/prep-dependencies
vendored
Executable file
66
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/scripts/prep-dependencies
vendored
Executable file
@@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# This script is called automatically on every `composer update`.
|
||||
# See "post-update-cmd" in the "scripts" section of composer.json.
|
||||
#
|
||||
# This script will create a derived composer.json / composer.lock
|
||||
# pair for every test scenario. Test scenarios are defined in the
|
||||
# "scenarios" file, which should be customized to suit the needs
|
||||
# of the project.
|
||||
#
|
||||
|
||||
SELF_DIRNAME="`dirname -- "$0"`"
|
||||
source ${SELF_DIRNAME}/scenarios
|
||||
|
||||
echo
|
||||
echo "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
|
||||
echo "::"
|
||||
echo ":: Update dependencies for the following scenarios:"
|
||||
echo "::"
|
||||
echo ":: ${SCENARIOS}"
|
||||
echo "::"
|
||||
echo "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
|
||||
echo
|
||||
|
||||
set -ex
|
||||
|
||||
for SCENARIO in ${SCENARIOS} ; do
|
||||
|
||||
dir=dependencies/${SCENARIO}
|
||||
|
||||
# Define indirect variable names
|
||||
stability_variable="stability_${SCENARIO}"
|
||||
requirement_variable="requirement_${SCENARIO}"
|
||||
platform_php_variable="platform_php_${SCENARIO}"
|
||||
|
||||
echo "### Create $dir/composer.json for ${SCENARIO} scenario"
|
||||
mkdir -p $dir
|
||||
cp composer.json $dir
|
||||
|
||||
# Then set our own platform php version if applicable (otherwise unset it)
|
||||
composer -n --working-dir=$dir config platform.php "${!platform_php_variable---unset}"
|
||||
|
||||
# Temporarily set our vendor directory to 'vendor'
|
||||
composer -n --working-dir=$dir config vendor-dir vendor
|
||||
|
||||
# Set an appropriate minimum stability for this version of Symfony
|
||||
composer -n --working-dir=$dir config minimum-stability "${!stability_variable-stable}"
|
||||
|
||||
# Add a constraint to limit the Symfony version
|
||||
composer -n --working-dir=$dir require --dev --no-update "${!requirement_variable}"
|
||||
|
||||
# Create the composer.lock file. Ignore the vendor directory created.
|
||||
composer -n --working-dir=$dir update --no-scripts
|
||||
|
||||
# Set the vendor directory to its final desired location.
|
||||
composer -n --working-dir=$dir config vendor-dir '../../vendor'
|
||||
|
||||
# The 'autoload' section specifies directory paths that are relative
|
||||
# to the composer.json file. We will drop in some symlinks so that
|
||||
# these paths will resolve as if the composer.json were in the root.
|
||||
for target in $AUTOLOAD_DIRECTORIES ; do
|
||||
ln -s -f ../../$target $dir
|
||||
done
|
||||
|
||||
done
|
||||
12
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/scripts/scenarios
vendored
Executable file
12
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/scripts/scenarios
vendored
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCENARIOS="symfony2 symfony3 symfony4"
|
||||
|
||||
AUTOLOAD_DIRECTORIES='src tests'
|
||||
|
||||
platform_php_symfony2='5.4'
|
||||
platform_php_symfony3='5.6'
|
||||
|
||||
requirement_symfony2='symfony/console:^2.8'
|
||||
requirement_symfony3='symfony/console:^3'
|
||||
requirement_symfony4='symfony/console:^4'
|
||||
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
namespace Consolidation\TestUtils;
|
||||
|
||||
class ApplyConfigTestTarget
|
||||
{
|
||||
protected $dir;
|
||||
protected $value;
|
||||
|
||||
/**
|
||||
* A proper setter for the 'dir' property
|
||||
*/
|
||||
public function dir($dir)
|
||||
{
|
||||
$this->dir = $dir;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* A getter for the 'dir' property that we will use to
|
||||
* determine if the setter was called.
|
||||
*/
|
||||
public function getDir()
|
||||
{
|
||||
return $this->dir;
|
||||
}
|
||||
|
||||
/**
|
||||
* A bad setter that does not return $this.
|
||||
*/
|
||||
public function bad($value)
|
||||
{
|
||||
$this->value = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* A getter for the bad setter.
|
||||
*/
|
||||
public function getBad()
|
||||
{
|
||||
return $this->value;
|
||||
}
|
||||
}
|
||||
47
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/src/MyFooCommand.php
vendored
Normal file
47
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/src/MyFooCommand.php
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
namespace Consolidation\TestUtils;
|
||||
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
|
||||
class MyFooCommand extends Command
|
||||
{
|
||||
protected function configure()
|
||||
{
|
||||
$this
|
||||
->setName('my:foo')
|
||||
->setDescription('My foo command.')
|
||||
->setHelp('This command tests command option injection by echoing its options')
|
||||
->addOption(
|
||||
'other',
|
||||
null,
|
||||
InputOption::VALUE_REQUIRED,
|
||||
'Some other option',
|
||||
'fish'
|
||||
)
|
||||
->addOption(
|
||||
'name',
|
||||
null,
|
||||
InputOption::VALUE_REQUIRED,
|
||||
'What is the name of the thing we are naming',
|
||||
'George'
|
||||
)
|
||||
->addOption(
|
||||
'dir',
|
||||
null,
|
||||
InputOption::VALUE_REQUIRED,
|
||||
'What is the base directory to use for this command',
|
||||
'/default/path'
|
||||
);
|
||||
}
|
||||
|
||||
protected function execute(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
$output->writeln('Enter my:foo');
|
||||
$output->writeln('dir: ' . $input->getOption('dir'));
|
||||
$output->writeln('name: ' . $input->getOption('name'));
|
||||
$output->writeln('other: ' . $input->getOption('other'));
|
||||
}
|
||||
}
|
||||
36
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/src/TestLoader.php
vendored
Normal file
36
core/lib/composer/vendor/consolidation/config/scenarios/symfony2/tests/src/TestLoader.php
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace Consolidation\TestUtils;
|
||||
|
||||
use Consolidation\Config\Loader\ConfigLoaderInterface;
|
||||
|
||||
class TestLoader implements ConfigLoaderInterface
|
||||
{
|
||||
protected $data;
|
||||
protected $sourceName;
|
||||
|
||||
public function set($data)
|
||||
{
|
||||
$this->data = $data;
|
||||
}
|
||||
|
||||
public function setSourceName($name)
|
||||
{
|
||||
$this->sourceName = $name;
|
||||
}
|
||||
|
||||
public function export()
|
||||
{
|
||||
return $this->data;
|
||||
}
|
||||
|
||||
public function keys()
|
||||
{
|
||||
return array_keys($this->data);
|
||||
}
|
||||
|
||||
public function getSourceName()
|
||||
{
|
||||
return $this->sourceName;
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
../../src
|
||||
157
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/Config.php
vendored
Normal file
157
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/Config.php
vendored
Normal file
@@ -0,0 +1,157 @@
|
||||
<?php
|
||||
|
||||
namespace Consolidation\Config;
|
||||
|
||||
use Dflydev\DotAccessData\Data;
|
||||
|
||||
class Config implements ConfigInterface
|
||||
{
|
||||
|
||||
/**
|
||||
* @var Data
|
||||
*/
|
||||
protected $config;
|
||||
|
||||
/**
|
||||
* TODO: make this private in 2.0 to prevent being saved as an array
|
||||
* Making private now breaks backward compatibility
|
||||
*
|
||||
* @var Data
|
||||
*/
|
||||
protected $defaults;
|
||||
|
||||
/**
|
||||
* Create a new configuration object, and initialize it with
|
||||
* the provided nested array containing configuration data.
|
||||
*
|
||||
* @param array $data - Config data to store
|
||||
*/
|
||||
public function __construct(array $data = null)
|
||||
{
|
||||
$this->config = new Data($data);
|
||||
$this->setDefaults(new Data());
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function has($key)
|
||||
{
|
||||
return ($this->config->has($key));
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function get($key, $defaultFallback = null)
|
||||
{
|
||||
if ($this->has($key)) {
|
||||
return $this->config->get($key);
|
||||
}
|
||||
return $this->getDefault($key, $defaultFallback);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function set($key, $value)
|
||||
{
|
||||
$this->config->set($key, $value);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function import($data)
|
||||
{
|
||||
return $this->replace($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function replace($data)
|
||||
{
|
||||
$this->config = new Data($data);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function combine($data)
|
||||
{
|
||||
if (!empty($data)) {
|
||||
$this->config->import($data, true);
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function export()
|
||||
{
|
||||
return $this->config->export();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function hasDefault($key)
|
||||
{
|
||||
return $this->getDefaults()->has($key);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getDefault($key, $defaultFallback = null)
|
||||
{
|
||||
return $this->hasDefault($key) ? $this->getDefaults()->get($key) : $defaultFallback;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function setDefault($key, $value)
|
||||
{
|
||||
$this->getDefaults()->set($key, $value);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the class $defaults property and ensure it's a Data object
|
||||
* TODO: remove Data object validation in 2.0
|
||||
*
|
||||
* @return Data
|
||||
*/
|
||||
protected function getDefaults()
|
||||
{
|
||||
// Ensure $this->defaults is a Data object (not an array)
|
||||
if (!$this->defaults instanceof Data) {
|
||||
$this->setDefaults($this->defaults);
|
||||
}
|
||||
return $this->defaults;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the $defaults class parameter
|
||||
* TODO: remove support for array in 2.0 as this would currently break backward compatibility
|
||||
*
|
||||
* @param Data|array $defaults
|
||||
*
|
||||
* @throws \Exception
|
||||
*/
|
||||
protected function setDefaults($defaults)
|
||||
{
|
||||
if (is_array($defaults)) {
|
||||
$this->defaults = new Data($defaults);
|
||||
} elseif ($defaults instanceof Data) {
|
||||
$this->defaults = $defaults;
|
||||
} else {
|
||||
throw new \Exception("Unknown type provided for \$defaults");
|
||||
}
|
||||
}
|
||||
}
|
||||
105
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/ConfigInterface.php
vendored
Normal file
105
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/ConfigInterface.php
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
namespace Consolidation\Config;
|
||||
|
||||
interface ConfigInterface
|
||||
{
|
||||
/**
|
||||
* Determine if a non-default config value exists.
|
||||
*/
|
||||
public function has($key);
|
||||
|
||||
/**
|
||||
* Fetch a configuration value
|
||||
*
|
||||
* @param string $key Which config item to look up
|
||||
* @param string|null $defaultFallback Fallback default value to use when
|
||||
* configuration object has neither a value nor a default. Use is
|
||||
* discouraged; use default context in ConfigOverlay, or provide defaults
|
||||
* using a config processor.
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function get($key, $defaultFallback = null);
|
||||
|
||||
/**
|
||||
* Set a config value
|
||||
*
|
||||
* @param string $key
|
||||
* @param mixed $value
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function set($key, $value);
|
||||
|
||||
/**
|
||||
* Import configuration from the provided nexted array, replacing whatever
|
||||
* was here previously. No processing is done on the provided data.
|
||||
*
|
||||
* @deprecated Use 'replace'. Dflydev\DotAccessData\Data::import() merges, which is confusing, since this method replaces.
|
||||
*
|
||||
* @param array $data
|
||||
* @return Config
|
||||
*/
|
||||
public function import($data);
|
||||
|
||||
/**
|
||||
* Load configuration from the provided nexted array, replacing whatever
|
||||
* was here previously. No processing is done on the provided data.
|
||||
*
|
||||
* TODO: This will become a required method in version 2.0. Adding now
|
||||
* would break clients that implement ConfigInterface.
|
||||
*
|
||||
* @param array $data
|
||||
* @return Config
|
||||
*/
|
||||
// public function replace($data);
|
||||
|
||||
/**
|
||||
* Import configuration from the provided nexted array, merging with whatever
|
||||
* was here previously. No processing is done on the provided data.
|
||||
* Any data provided to the combine() method will overwrite existing data
|
||||
* with the same key.
|
||||
*
|
||||
* TODO: This will become a required method in version 2.0. Adding now
|
||||
* would break clients that implement ConfigInterface.
|
||||
*
|
||||
* @param array $data
|
||||
* @return Config
|
||||
*/
|
||||
// public function combine($data);
|
||||
|
||||
/**
|
||||
* Export all configuration as a nested array.
|
||||
*/
|
||||
public function export();
|
||||
|
||||
/**
|
||||
* Return the default value for a given configuration item.
|
||||
*
|
||||
* @param string $key
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function hasDefault($key);
|
||||
|
||||
/**
|
||||
* Return the default value for a given configuration item.
|
||||
*
|
||||
* @param string $key
|
||||
* @param mixed $defaultFallback
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function getDefault($key, $defaultFallback = null);
|
||||
|
||||
/**
|
||||
* Set the default value for a configuration setting. This allows us to
|
||||
* set defaults either before or after more specific configuration values
|
||||
* are loaded. Keeping defaults separate from current settings also
|
||||
* allows us to determine when a setting has been overridden.
|
||||
*
|
||||
* @param string $key
|
||||
* @param string $value
|
||||
*/
|
||||
public function setDefault($key, $value);
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
namespace Consolidation\Config;
|
||||
|
||||
interface GlobalOptionDefaultValuesInterface
|
||||
{
|
||||
/**
|
||||
* Return an associative array of option-key => default-value
|
||||
*/
|
||||
public function getGlobalOptionDefaultValues();
|
||||
}
|
||||
127
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/Inject/ConfigForCommand.php
vendored
Normal file
127
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/Inject/ConfigForCommand.php
vendored
Normal file
@@ -0,0 +1,127 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Inject;
|
||||
|
||||
use Consolidation\Config\ConfigInterface;
|
||||
use Consolidation\Config\Util\ConfigFallback;
|
||||
|
||||
use Symfony\Component\Console\ConsoleEvents;
|
||||
use Symfony\Component\Console\Event\ConsoleCommandEvent;
|
||||
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||
use Symfony\Component\Console\Application;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
|
||||
class ConfigForCommand implements EventSubscriberInterface
|
||||
{
|
||||
protected $config;
|
||||
protected $application;
|
||||
|
||||
public function __construct(ConfigInterface $config)
|
||||
{
|
||||
$this->config = $config;
|
||||
}
|
||||
|
||||
public function setApplication(Application $application)
|
||||
{
|
||||
$this->application = $application;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public static function getSubscribedEvents()
|
||||
{
|
||||
return [ConsoleEvents::COMMAND => 'injectConfiguration'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Before a Console command runs, inject configuration settings
|
||||
* for this command into the default value of the options of
|
||||
* this command.
|
||||
*
|
||||
* @param \Symfony\Component\Console\Event\ConsoleCommandEvent $event
|
||||
*/
|
||||
public function injectConfiguration(ConsoleCommandEvent $event)
|
||||
{
|
||||
$command = $event->getCommand();
|
||||
$this->injectConfigurationForGlobalOptions($event->getInput());
|
||||
$this->injectConfigurationForCommand($command, $event->getInput());
|
||||
|
||||
$targetOfHelpCommand = $this->getHelpCommandTarget($command, $event->getInput());
|
||||
if ($targetOfHelpCommand) {
|
||||
$this->injectConfigurationForCommand($targetOfHelpCommand, $event->getInput());
|
||||
}
|
||||
}
|
||||
|
||||
protected function injectConfigurationForGlobalOptions($input)
|
||||
{
|
||||
if (!$this->application) {
|
||||
return;
|
||||
}
|
||||
|
||||
$configGroup = new ConfigFallback($this->config, 'options');
|
||||
|
||||
$definition = $this->application->getDefinition();
|
||||
$options = $definition->getOptions();
|
||||
|
||||
return $this->injectConfigGroupIntoOptions($configGroup, $options, $input);
|
||||
}
|
||||
|
||||
protected function injectConfigurationForCommand($command, $input)
|
||||
{
|
||||
$commandName = $command->getName();
|
||||
$commandName = str_replace(':', '.', $commandName);
|
||||
$configGroup = new ConfigFallback($this->config, $commandName, 'command.', '.options.');
|
||||
|
||||
$definition = $command->getDefinition();
|
||||
$options = $definition->getOptions();
|
||||
|
||||
return $this->injectConfigGroupIntoOptions($configGroup, $options, $input);
|
||||
}
|
||||
|
||||
protected function injectConfigGroupIntoOptions($configGroup, $options, $input)
|
||||
{
|
||||
foreach ($options as $option => $inputOption) {
|
||||
$key = str_replace('.', '-', $option);
|
||||
$value = $configGroup->get($key);
|
||||
if ($value !== null) {
|
||||
if (is_bool($value) && ($value == true)) {
|
||||
$input->setOption($key, $value);
|
||||
} elseif ($inputOption->acceptValue()) {
|
||||
$inputOption->setDefault($value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected function getHelpCommandTarget($command, $input)
|
||||
{
|
||||
if (($command->getName() != 'help') || (!isset($this->application))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->fixInputForSymfony2($command, $input);
|
||||
|
||||
// Symfony Console helpfully swaps 'command_name' and 'command'
|
||||
// depending on whether the user entered `help foo` or `--help foo`.
|
||||
// One of these is always `help`, and the other is the command we
|
||||
// are actually interested in.
|
||||
$nameOfCommandToDescribe = $input->getArgument('command_name');
|
||||
if ($nameOfCommandToDescribe == 'help') {
|
||||
$nameOfCommandToDescribe = $input->getArgument('command');
|
||||
}
|
||||
return $this->application->find($nameOfCommandToDescribe);
|
||||
}
|
||||
|
||||
protected function fixInputForSymfony2($command, $input)
|
||||
{
|
||||
// Symfony 3.x prepares $input for us; Symfony 2.x, on the other
|
||||
// hand, passes it in prior to binding with the command definition,
|
||||
// so we have to go to a little extra work. It may be inadvisable
|
||||
// to do these steps for commands other than 'help'.
|
||||
if (!$input->hasArgument('command_name')) {
|
||||
$command->ignoreValidationErrors();
|
||||
$command->mergeApplicationDefinition();
|
||||
$input->bind($command->getDefinition());
|
||||
}
|
||||
}
|
||||
}
|
||||
47
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/Inject/ConfigForSetters.php
vendored
Normal file
47
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/Inject/ConfigForSetters.php
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Inject;
|
||||
|
||||
use Consolidation\Config\Util\ConfigMerge;
|
||||
|
||||
/**
|
||||
* Given an object that contains configuration methods, inject any
|
||||
* configuration found in the configuration file.
|
||||
*
|
||||
* The proper use for this method is to call setter methods of the
|
||||
* provided object. Using configuration to call methods that do work
|
||||
* is an abuse of this mechanism.
|
||||
*/
|
||||
class ConfigForSetters
|
||||
{
|
||||
protected $config;
|
||||
|
||||
public function __construct($config, $group, $prefix = '', $postfix = '')
|
||||
{
|
||||
if (!empty($group) && empty($postfix)) {
|
||||
$postfix = '.';
|
||||
}
|
||||
|
||||
$this->config = new ConfigMerge($config, $group, $prefix, $postfix);
|
||||
}
|
||||
|
||||
public function apply($object, $configurationKey)
|
||||
{
|
||||
$settings = $this->config->get($configurationKey);
|
||||
foreach ($settings as $setterMethod => $args) {
|
||||
$fn = [$object, $setterMethod];
|
||||
if (is_callable($fn)) {
|
||||
$result = call_user_func_array($fn, (array)$args);
|
||||
|
||||
// We require that $fn must only be used with setter methods.
|
||||
// Setter methods are required to always return $this so that
|
||||
// they may be chained. We will therefore throw an exception
|
||||
// for any setter that returns something else.
|
||||
if ($result != $object) {
|
||||
$methodDescription = get_class($object) . "::$setterMethod";
|
||||
$propertyDescription = $this->config->describe($configurationKey);
|
||||
throw new \Exception("$methodDescription did not return '\$this' when processing $propertyDescription.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
35
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/Loader/ConfigLoader.php
vendored
Normal file
35
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/Loader/ConfigLoader.php
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace Consolidation\Config\Loader;
|
||||
|
||||
/**
|
||||
* Load configuration files.
|
||||
*/
|
||||
abstract class ConfigLoader implements ConfigLoaderInterface
|
||||
{
|
||||
protected $config = [];
|
||||
protected $source = '';
|
||||
|
||||
public function getSourceName()
|
||||
{
|
||||
return $this->source;
|
||||
}
|
||||
|
||||
protected function setSourceName($source)
|
||||
{
|
||||
$this->source = $source;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function export()
|
||||
{
|
||||
return $this->config;
|
||||
}
|
||||
|
||||
public function keys()
|
||||
{
|
||||
return array_keys($this->config);
|
||||
}
|
||||
|
||||
abstract public function load($path);
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace Consolidation\Config\Loader;
|
||||
|
||||
/**
|
||||
* Load configuration files, and fill in any property values that
|
||||
* need to be expanded.
|
||||
*/
|
||||
interface ConfigLoaderInterface
|
||||
{
|
||||
/**
|
||||
* Convert loaded configuration into a simple php nested array.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function export();
|
||||
|
||||
/**
|
||||
* Return the top-level keys in the exported data.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function keys();
|
||||
|
||||
/**
|
||||
* Return a symbolic name for this configuration loader instance.
|
||||
*/
|
||||
public function getSourceName();
|
||||
}
|
||||
167
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/Loader/ConfigProcessor.php
vendored
Normal file
167
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/Loader/ConfigProcessor.php
vendored
Normal file
@@ -0,0 +1,167 @@
|
||||
<?php
|
||||
|
||||
namespace Consolidation\Config\Loader;
|
||||
|
||||
use Grasmash\Expander\Expander;
|
||||
use Consolidation\Config\Util\ArrayUtil;
|
||||
|
||||
/**
|
||||
* The config processor combines multiple configuration
|
||||
* files together, and processes them as necessary.
|
||||
*/
|
||||
class ConfigProcessor
|
||||
{
|
||||
protected $processedConfig = [];
|
||||
protected $unprocessedConfig = [];
|
||||
protected $expander;
|
||||
|
||||
public function __construct($expander = null)
|
||||
{
|
||||
$this->expander = $expander ?: new Expander();
|
||||
}
|
||||
|
||||
/**
|
||||
* Extend the configuration to be processed with the
|
||||
* configuration provided by the specified loader.
|
||||
*
|
||||
* @param ConfigLoaderInterface $loader
|
||||
*/
|
||||
public function extend(ConfigLoaderInterface $loader)
|
||||
{
|
||||
return $this->addFromSource($loader->export(), $loader->getSourceName());
|
||||
}
|
||||
|
||||
/**
|
||||
* Extend the configuration to be processed with
|
||||
* the provided nested array.
|
||||
*
|
||||
* @param array $data
|
||||
*/
|
||||
public function add($data)
|
||||
{
|
||||
$this->unprocessedConfig[] = $data;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Extend the configuration to be processed with
|
||||
* the provided nested array. Also record the name
|
||||
* of the data source, if applicable.
|
||||
*
|
||||
* @param array $data
|
||||
* @param string $source
|
||||
*/
|
||||
protected function addFromSource($data, $source = '')
|
||||
{
|
||||
if (empty($source)) {
|
||||
return $this->add($data);
|
||||
}
|
||||
$this->unprocessedConfig[$source] = $data;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Process all of the configuration that has been collected,
|
||||
* and return a nested array.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function export($referenceArray = [])
|
||||
{
|
||||
if (!empty($this->unprocessedConfig)) {
|
||||
$this->processedConfig = $this->process(
|
||||
$this->processedConfig,
|
||||
$this->fetchUnprocessed(),
|
||||
$referenceArray
|
||||
);
|
||||
}
|
||||
return $this->processedConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* To aid in debugging: return the source of each configuration item.
|
||||
* n.b. Must call this function *before* export and save the result
|
||||
* if persistence is desired.
|
||||
*/
|
||||
public function sources()
|
||||
{
|
||||
$sources = [];
|
||||
foreach ($this->unprocessedConfig as $sourceName => $config) {
|
||||
if (!empty($sourceName)) {
|
||||
$configSources = ArrayUtil::fillRecursive($config, $sourceName);
|
||||
$sources = ArrayUtil::mergeRecursiveDistinct($sources, $configSources);
|
||||
}
|
||||
}
|
||||
return $sources;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the configuration to be processed, and clear out the
|
||||
* 'unprocessed' list.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function fetchUnprocessed()
|
||||
{
|
||||
$toBeProcessed = $this->unprocessedConfig;
|
||||
$this->unprocessedConfig = [];
|
||||
return $toBeProcessed;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use a map-reduce to evaluate the items to be processed,
|
||||
* and merge them into the processed array.
|
||||
*
|
||||
* @param array $processed
|
||||
* @param array $toBeProcessed
|
||||
* @return array
|
||||
*/
|
||||
protected function process(array $processed, array $toBeProcessed, $referenceArray = [])
|
||||
{
|
||||
$toBeReduced = array_map([$this, 'preprocess'], $toBeProcessed);
|
||||
$reduced = array_reduce($toBeReduced, [$this, 'reduceOne'], $processed);
|
||||
return $this->evaluate($reduced, $referenceArray);
|
||||
}
|
||||
|
||||
/**
|
||||
* Process a single configuration file from the 'to be processed'
|
||||
* list. By default this is a no-op. Override this method to
|
||||
* provide any desired configuration preprocessing, e.g. dot-notation
|
||||
* expansion of the configuration keys, etc.
|
||||
*
|
||||
* @param array $config
|
||||
* @return array
|
||||
*/
|
||||
protected function preprocess(array $config)
|
||||
{
|
||||
return $config;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluate one item in the 'to be evaluated' list, and then
|
||||
* merge it into the processed configuration (the 'carry').
|
||||
*
|
||||
* @param array $processed
|
||||
* @param array $config
|
||||
* @return array
|
||||
*/
|
||||
protected function reduceOne(array $processed, array $config)
|
||||
{
|
||||
return ArrayUtil::mergeRecursiveDistinct($processed, $config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluate one configuration item.
|
||||
*
|
||||
* @param array $processed
|
||||
* @param array $config
|
||||
* @return array
|
||||
*/
|
||||
protected function evaluate(array $config, $referenceArray = [])
|
||||
{
|
||||
return $this->expander->expandArrayProperties(
|
||||
$config,
|
||||
$referenceArray
|
||||
);
|
||||
}
|
||||
}
|
||||
26
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/Loader/YamlConfigLoader.php
vendored
Normal file
26
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/Loader/YamlConfigLoader.php
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace Consolidation\Config\Loader;
|
||||
|
||||
use Symfony\Component\Yaml\Yaml;
|
||||
|
||||
/**
|
||||
* Load configuration files, and fill in any property values that
|
||||
* need to be expanded.
|
||||
*/
|
||||
class YamlConfigLoader extends ConfigLoader
|
||||
{
|
||||
public function load($path)
|
||||
{
|
||||
$this->setSourceName($path);
|
||||
|
||||
// We silently skip any nonexistent config files, so that
|
||||
// clients may simply `load` all of their candidates.
|
||||
if (!file_exists($path)) {
|
||||
$this->config = [];
|
||||
return $this;
|
||||
}
|
||||
$this->config = (array) Yaml::parse(file_get_contents($path));
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
75
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/Util/ArrayUtil.php
vendored
Normal file
75
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/Util/ArrayUtil.php
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Util;
|
||||
|
||||
/**
|
||||
* Useful array utilities.
|
||||
*/
|
||||
class ArrayUtil
|
||||
{
|
||||
/**
|
||||
* Merges arrays recursively while preserving.
|
||||
*
|
||||
* @param array $array1
|
||||
* @param array $array2
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @see http://php.net/manual/en/function.array-merge-recursive.php#92195
|
||||
* @see https://github.com/grasmash/bolt/blob/robo-rebase/src/Robo/Common/ArrayManipulator.php#L22
|
||||
*/
|
||||
public static function mergeRecursiveDistinct(
|
||||
array &$array1,
|
||||
array &$array2
|
||||
) {
|
||||
$merged = $array1;
|
||||
foreach ($array2 as $key => &$value) {
|
||||
$merged[$key] = self::mergeRecursiveValue($merged, $key, $value);
|
||||
}
|
||||
return $merged;
|
||||
}
|
||||
|
||||
/**
|
||||
* Process the value in an mergeRecursiveDistinct - make a recursive
|
||||
* call if needed.
|
||||
*/
|
||||
protected static function mergeRecursiveValue(&$merged, $key, $value)
|
||||
{
|
||||
if (is_array($value) && isset($merged[$key]) && is_array($merged[$key])) {
|
||||
return self::mergeRecursiveDistinct($merged[$key], $value);
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fills all of the leaf-node values of a nested array with the
|
||||
* provided replacement value.
|
||||
*/
|
||||
public static function fillRecursive(array $data, $fill)
|
||||
{
|
||||
$result = [];
|
||||
foreach ($data as $key => $value) {
|
||||
$result[$key] = $fill;
|
||||
if (self::isAssociative($value)) {
|
||||
$result[$key] = self::fillRecursive($value, $fill);
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if the provided parameter is an array, and at least
|
||||
* one key is non-numeric.
|
||||
*/
|
||||
public static function isAssociative($testArray)
|
||||
{
|
||||
if (!is_array($testArray)) {
|
||||
return false;
|
||||
}
|
||||
foreach (array_keys($testArray) as $key) {
|
||||
if (!is_numeric($key)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
51
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/Util/ConfigFallback.php
vendored
Normal file
51
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/Util/ConfigFallback.php
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Util;
|
||||
|
||||
/**
|
||||
* Fetch a configuration value from a configuration group. If the
|
||||
* desired configuration value is not found in the most specific
|
||||
* group named, keep stepping up to the next parent group until a
|
||||
* value is located.
|
||||
*
|
||||
* Given the following constructor inputs:
|
||||
* - $prefix = "command."
|
||||
* - $group = "foo.bar.baz"
|
||||
* - $postfix = ".options."
|
||||
* Then the `get` method will then consider, in order:
|
||||
* - command.foo.bar.baz.options
|
||||
* - command.foo.bar.options
|
||||
* - command.foo.options
|
||||
* If any of these contain an option for "$key", then return its value.
|
||||
*/
|
||||
class ConfigFallback extends ConfigGroup
|
||||
{
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function get($key)
|
||||
{
|
||||
return $this->getWithFallback($key, $this->group, $this->prefix, $this->postfix);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch an option value from a given key, or, if that specific key does
|
||||
* not contain a value, then consult various fallback options until a
|
||||
* value is found.
|
||||
*
|
||||
*/
|
||||
protected function getWithFallback($key, $group, $prefix = '', $postfix = '.')
|
||||
{
|
||||
$configKey = "{$prefix}{$group}${postfix}{$key}";
|
||||
if ($this->config->has($configKey)) {
|
||||
return $this->config->get($configKey);
|
||||
}
|
||||
if ($this->config->hasDefault($configKey)) {
|
||||
return $this->config->getDefault($configKey);
|
||||
}
|
||||
$moreGeneralGroupname = $this->moreGeneralGroupName($group);
|
||||
if ($moreGeneralGroupname) {
|
||||
return $this->getWithFallback($key, $moreGeneralGroupname, $prefix, $postfix);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
61
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/Util/ConfigGroup.php
vendored
Normal file
61
core/lib/composer/vendor/consolidation/config/scenarios/symfony4/src/Util/ConfigGroup.php
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
namespace Consolidation\Config\Util;
|
||||
|
||||
/**
|
||||
* Fetch a configuration value from a configuration group. If the
|
||||
* desired configuration value is not found in the most specific
|
||||
* group named, keep stepping up to the next parent group until a
|
||||
* value is located.
|
||||
*
|
||||
* Given the following constructor inputs:
|
||||
* - $prefix = "command."
|
||||
* - $group = "foo.bar.baz"
|
||||
* - $postfix = ".options."
|
||||
* Then the `get` method will then consider, in order:
|
||||
* - command.foo.bar.baz.options
|
||||
* - command.foo.bar.options
|
||||
* - command.foo.options
|
||||
* If any of these contain an option for "$key", then return its value.
|
||||
*/
|
||||
abstract class ConfigGroup
|
||||
{
|
||||
protected $config;
|
||||
protected $group;
|
||||
protected $prefix;
|
||||
protected $postfix;
|
||||
|
||||
public function __construct($config, $group, $prefix = '', $postfix = '.')
|
||||
{
|
||||
$this->config = $config;
|
||||
$this->group = $group;
|
||||
$this->prefix = $prefix;
|
||||
$this->postfix = $postfix;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a description of the configuration group (with prefix and postfix).
|
||||
*/
|
||||
public function describe($property)
|
||||
{
|
||||
return $this->prefix . $this->group . $this->postfix . $property;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the requested configuration key from the most specific configuration
|
||||
* group that contains it.
|
||||
*/
|
||||
abstract public function get($key);
|
||||
|
||||
/**
|
||||
* Given a group name, such as "foo.bar.baz", return the next configuration
|
||||
* group in the fallback hierarchy, e.g. "foo.bar".
|
||||
*/
|
||||
protected function moreGeneralGroupName($group)
|
||||
{
|
||||
$result = preg_replace('#\.[^.]*$#', '', $group);
|
||||
if ($result != $group) {
|
||||
return $result;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user