Compare commits
39 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f44b9ec8dd | ||
|
|
ad4fe1cc29 | ||
|
|
8fbf8f2152 | ||
|
|
74309fc922 | ||
|
|
a042ee67ec | ||
|
|
41ebd61c8e | ||
|
|
111781b327 | ||
|
|
74e448bf5d | ||
|
|
66b3f006e6 | ||
|
|
40df433580 | ||
|
|
499c52516e | ||
|
|
e94a365d71 | ||
|
|
e88f5f8a1a | ||
|
|
c0ce41ed2f | ||
|
|
944d5f1f88 | ||
|
|
47871d9551 | ||
|
|
46e3bf439e | ||
|
|
b858a62d42 | ||
|
|
6da42b4842 | ||
|
|
b7b128f9a7 | ||
|
|
7a9f7ec36e | ||
|
|
a7218a6666 | ||
|
|
87dc692faa | ||
|
|
042180b805 | ||
|
|
49a22ebdf0 | ||
|
|
f1d4b3915e | ||
|
|
b4bec17934 | ||
|
|
24db01729d | ||
|
|
b4fc0db4de | ||
|
|
c00fb95319 | ||
|
|
142395591e | ||
|
|
235924f80b | ||
|
|
8f8034556a | ||
|
|
f12a467099 | ||
|
|
91c2c32c0c | ||
|
|
aacff040bb | ||
|
|
e889b856bc | ||
|
|
548df6f408 | ||
|
|
2ca9eaa083 |
5
.eslintrc
Normal file
5
.eslintrc
Normal file
@@ -0,0 +1,5 @@
|
||||
// Use this file as a starting point for your project's .eslintrc.
|
||||
// Copy this file, and add rule overrides as needed.
|
||||
{
|
||||
"extends": "airbnb"
|
||||
}
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -13,6 +13,8 @@ keys.dev.pub
|
||||
/app/icehrm.key
|
||||
/app/data/*.*
|
||||
/app/data/keys/*
|
||||
!/app/data/index.php
|
||||
!/app/data/.htaccess
|
||||
icehrm.key
|
||||
cache.properties
|
||||
node_modules/*
|
||||
|
||||
2
app/data/.htaccess
Normal file
2
app/data/.htaccess
Normal file
@@ -0,0 +1,2 @@
|
||||
order deny,allow
|
||||
deny from all
|
||||
1
app/data/index.php
Normal file
1
app/data/index.php
Normal file
@@ -0,0 +1 @@
|
||||
<?php
|
||||
3
app/fileupload-new.php
Normal file
3
app/fileupload-new.php
Normal file
@@ -0,0 +1,3 @@
|
||||
<?php
|
||||
include ('config.php');
|
||||
include (APP_BASE_PATH.'fileupload-new.php');
|
||||
@@ -5,7 +5,7 @@ if(!file_exists('config.php')){
|
||||
}
|
||||
include ('config.php');
|
||||
if(!isset($_REQUEST['g']) || !isset($_REQUEST['n'])){
|
||||
header("Location:".CLIENT_BASE_URL."login.php");
|
||||
header("Location:".CLIENT_BASE_URL."login.php");
|
||||
exit();
|
||||
}
|
||||
$group = $_REQUEST['g'];
|
||||
@@ -14,7 +14,7 @@ $name= $_REQUEST['n'];
|
||||
$groups = array('admin','modules');
|
||||
|
||||
if($group == 'admin' || $group == 'modules'){
|
||||
$name = str_replace("..","",$name);
|
||||
$name = str_replace("..","",$name);
|
||||
$name = str_replace("/","",$name);
|
||||
include APP_BASE_PATH.'/'.$group.'/'.$name.'/index.php';
|
||||
}else if ($group == 'extension'){
|
||||
@@ -23,7 +23,7 @@ if($group == 'admin' || $group == 'modules'){
|
||||
$moduleName = $name;
|
||||
$moduleGroup = 'extensions';
|
||||
$extensionIndex = APP_BASE_PATH.'/../extensions/'.$name.'/web/index.php';
|
||||
include $extensionIndex;
|
||||
include APP_BASE_PATH.'extensions/wrapper.php';
|
||||
}else{
|
||||
exit();
|
||||
}
|
||||
|
||||
@@ -19,7 +19,10 @@ $isConfigFileWriteable = is_writable(CLIENT_APP_PATH."config.php");
|
||||
error_log("Config writable ".$isConfigFileWriteable);
|
||||
error_log("Config exists ".file_exists(CLIENT_APP_PATH."config.php"));
|
||||
if(!$isConfigFileWriteable){
|
||||
$errorMap[] = array("important","Configuration file [".CLIENT_APP_PATH."config.php] is not writable","Make this file writable",array("sudo touch ".CLIENT_APP_PATH."config.php","sudo chmod 777 ".CLIENT_APP_PATH."config.php"));
|
||||
$errorMap[] = array("important","Configuration file [".CLIENT_APP_PATH."config.php] is not writable","Make this file writable",array(
|
||||
"sudo touch ".CLIENT_APP_PATH."config.php","sudo chmod 755 ".CLIENT_APP_PATH."config.php",
|
||||
"sudo chown -R ".shell_exec('whoami')." ".CLIENT_APP_PATH,
|
||||
));
|
||||
}
|
||||
|
||||
$isConfigSampleFileExists = file_exists(CLIENT_APP_PATH."config.sample.php");
|
||||
@@ -48,7 +51,7 @@ if(!$isDataFolderExists){
|
||||
unlink(CLIENT_APP_PATH."data/test.txt");
|
||||
}
|
||||
if(!$isDataFolderWritable){
|
||||
$errorMap[] = array("important","Data folder is not writable","Provide wirte permission to the web server user to ".CLIENT_APP_PATH."data",array("sudo chmod 777 ".CLIENT_APP_PATH."data"));
|
||||
$errorMap[] = array("important","Data folder is not writable","Provide wirte permission to the web server user to ".CLIENT_APP_PATH."data",array("sudo chmod 755 ".CLIENT_APP_PATH."data"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
2
core/.htaccess
Normal file
2
core/.htaccess
Normal file
@@ -0,0 +1,2 @@
|
||||
order deny,allow
|
||||
deny from all
|
||||
59
core/admin/connection/index.php
Normal file
59
core/admin/connection/index.php
Normal file
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
use Classes\StatsHelper;
|
||||
use Connection\Common\ConnectionService;
|
||||
|
||||
$moduleName = 'connection';
|
||||
$moduleGroup = 'admin';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
include APP_BASE_PATH.'modulejslibs.inc.php';
|
||||
|
||||
$isIceHrmPro = false;
|
||||
if (class_exists('\\Classes\\ProVersion')) {
|
||||
$data = \Classes\ProVersion::$data;
|
||||
$isIceHrmPro = true;
|
||||
$data = json_decode($data, true);
|
||||
}
|
||||
|
||||
$employeeCount = StatsHelper::getEmployeeCount();
|
||||
$userCount = StatsHelper::getUserCount();
|
||||
$connectionService = new ConnectionService();
|
||||
?><div class="span9">
|
||||
|
||||
<ul class="nav nav-tabs" id="modTab" style="margin-bottom:0px;margin-left:5px;border-bottom: none;">
|
||||
<li class="active"><a id="tabConnection" href="#tabConnection"><?=t('Connection')?></a></li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tabConnection">
|
||||
<div class="reviewBlock" data-content="List">
|
||||
<div id="connectionData"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="dataGroup"></div>
|
||||
<?php
|
||||
$moduleData = [
|
||||
'user_level' => $user->user_level,
|
||||
'components' => [
|
||||
'employeeCount' => [
|
||||
'isIceHrmPro' => $isIceHrmPro,
|
||||
'count' => $employeeCount,
|
||||
'allowed' => $isIceHrmPro ? intval($data['employees']) : 'N/A',
|
||||
'validUntil' => $data['licenseActivated'],
|
||||
'licenseId' => $data['key'],
|
||||
],
|
||||
'systemData' => [
|
||||
'data' => $connectionService->getSystemReport(),
|
||||
'issues' => $connectionService->getSystemErrors(),
|
||||
],
|
||||
]
|
||||
];
|
||||
?>
|
||||
<script>
|
||||
initAdminConnection(<?=json_encode($moduleData)?>);
|
||||
</script>
|
||||
<?php include APP_BASE_PATH.'footer.php';?>
|
||||
|
||||
12
core/admin/connection/meta.json
Normal file
12
core/admin/connection/meta.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"label": "Ice Connect",
|
||||
"menu": "System",
|
||||
"order": "9",
|
||||
"icon": "fa-wifi",
|
||||
"user_levels": [
|
||||
"Admin"
|
||||
],
|
||||
"permissions": [],
|
||||
"model_namespace": "\\Connection\\Common\\Model",
|
||||
"manager": "\\Connection\\Admin\\Api\\ConnectionAdminManager"
|
||||
}
|
||||
@@ -28,23 +28,20 @@ include APP_BASE_PATH.'modulejslibs.inc.php';
|
||||
<div id="JobTitleForm"></div>
|
||||
<div id="JobTitleFilterForm"></div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane" id="tabPagePayGrades">
|
||||
<div id="PayGradeTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
|
||||
<div id="PayGradeForm"></div>
|
||||
<div id="PayGradeFilterForm"></div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane" id="tabPageEmploymentStatus">
|
||||
<div id="EmploymentStatusTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
|
||||
<div id="EmploymentStatusForm"></div>
|
||||
<div id="EmploymentStatusFilterForm"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="dataGroup"></div>
|
||||
<?php
|
||||
$moduleData = [
|
||||
'user_level' => $user->user_level,
|
||||
|
||||
@@ -4,17 +4,12 @@
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
|
||||
use Classes\PermissionManager;
|
||||
use Loans\Common\Model\CompanyLoan;
|
||||
use Loans\Common\Model\EmployeeCompanyLoan;
|
||||
|
||||
$moduleName = 'loans';
|
||||
$moduleGroup = 'admin';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
include APP_BASE_PATH.'modulejslibs.inc.php';
|
||||
?>
|
||||
<div class="span9">
|
||||
?><div class="span9">
|
||||
|
||||
<ul class="nav nav-tabs" id="modTab" style="margin-bottom:0px;margin-left:5px;border-bottom: none;">
|
||||
<li class="active"><a id="tabCompanyLoan" href="#tabPageCompanyLoan"><?=t('Loan Types')?></a></li>
|
||||
@@ -23,32 +18,31 @@ include APP_BASE_PATH.'modulejslibs.inc.php';
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tabPageCompanyLoan">
|
||||
<div id="CompanyLoanTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
|
||||
<div id="CompanyLoanForm"></div>
|
||||
<div id="CompanyLoanFilterForm"></div>
|
||||
<div id="CompanyLoan" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="CompanyLoanForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane" id="tabPageEmployeeCompanyLoan">
|
||||
<div id="EmployeeCompanyLoanTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
|
||||
<div id="EmployeeCompanyLoanForm"></div>
|
||||
<div id="EmployeeCompanyLoanFilterForm"></div>
|
||||
<div id="EmployeeCompanyLoan" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="EmployeeCompanyLoanForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<?php
|
||||
$moduleData = [
|
||||
'user_level' => $user->user_level,
|
||||
'permissions' => [
|
||||
'CompanyLoan' => PermissionManager::checkGeneralAccess(new CompanyLoan()),
|
||||
'EmployeeCompanyLoan' => PermissionManager::checkGeneralAccess(new EmployeeCompanyLoan()),
|
||||
]
|
||||
];
|
||||
?>
|
||||
|
||||
<script>
|
||||
initAdminLoan(<?=json_encode($moduleData)?>);
|
||||
</script>
|
||||
var modJsList = new Array();
|
||||
|
||||
modJsList['tabCompanyLoan'] = new CompanyLoanAdapter('CompanyLoan','CompanyLoan');
|
||||
modJsList['tabEmployeeCompanyLoan'] = new EmployeeCompanyLoanAdapter('EmployeeCompanyLoan','EmployeeCompanyLoan');
|
||||
|
||||
var modJs = modJsList['tabCompanyLoan'];
|
||||
|
||||
</script>
|
||||
<?php include APP_BASE_PATH.'footer.php';?>
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
<?php
|
||||
use Classes\PermissionManager;
|
||||
use Salary\Common\Model\SalaryComponentType;
|
||||
use Salary\Common\Model\SalaryComponent;
|
||||
use Salary\Common\Model\EmployeeSalary;
|
||||
|
||||
|
||||
$moduleName = 'salary';
|
||||
$moduleGroup = 'admin';
|
||||
@@ -11,7 +6,7 @@ define('MODULE_PATH',dirname(__FILE__));
|
||||
include APP_BASE_PATH.'header.php';
|
||||
include APP_BASE_PATH.'modulejslibs.inc.php';
|
||||
|
||||
/*$moduleBuilder = new \Classes\ModuleBuilder\ModuleBuilder();
|
||||
$moduleBuilder = new \Classes\ModuleBuilder\ModuleBuilder();
|
||||
|
||||
$moduleBuilder->addModuleOrGroup(new \Classes\ModuleBuilder\ModuleTab(
|
||||
'SalaryComponentType','SalaryComponentType','Salary Component Types','SalaryComponentTypeAdapter','','',true
|
||||
@@ -26,55 +21,4 @@ $moduleBuilder->addModuleOrGroup(new \Classes\ModuleBuilder\ModuleTab(
|
||||
|
||||
echo \Classes\UIManager::getInstance()->renderModule($moduleBuilder);
|
||||
|
||||
include APP_BASE_PATH.'footer.php';*/
|
||||
|
||||
?><div class="span9">
|
||||
|
||||
<ul class="nav nav-tabs" id="modTab" style="margin-bottom:0px;margin-left:5px;border-bottom: none;">
|
||||
<li class="active"><a id="tabSalaryComponentType" href="#tabSalaryComponentType"><?=t('Salary Component Types')?></a></li>
|
||||
<li><a id="tabSalaryComponent" href="#tabPageSalaryComponent"><?=t('Salary Components')?></a></li>
|
||||
<li><a id="tabEmployeeSalary" href="#tabPageEmployeeSalary"><?=t('Employee Salary Components')?></a></li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tabPageSalaryComponentType">
|
||||
<div id="SalaryComponentTypeTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
|
||||
<div id="SalaryComponentTypeForm"></div>
|
||||
<div id="SalaryComponentTypeFilterForm"></div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane" id="tabPageSalaryComponent">
|
||||
<div id="SalaryComponentTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
|
||||
<div id="SalaryComponentForm"></div>
|
||||
<div id="SalaryComponentFilterForm"></div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane" id="tabPageEmployeeSalary">
|
||||
<div id="EmployeeSalaryTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
|
||||
<div id="EmployeeSalaryForm"></div>
|
||||
<div id="EmployeeSalaryFilterForm"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<?php
|
||||
$moduleData = [
|
||||
'user_level' => $user->user_level,
|
||||
'permissions' => [
|
||||
'SalaryComponentType' => PermissionManager::checkGeneralAccess(new SalaryComponentType()),
|
||||
'SalaryComponent' => PermissionManager::checkGeneralAccess(new SalaryComponent()),
|
||||
'EmployeeSalary' => PermissionManager::checkGeneralAccess(new EmployeeSalary()),
|
||||
|
||||
]
|
||||
];
|
||||
?>
|
||||
|
||||
<script>
|
||||
initAdminSalary(<?=json_encode($moduleData)?>);
|
||||
</script>
|
||||
|
||||
|
||||
<?php include APP_BASE_PATH.'footer.php';?>
|
||||
include APP_BASE_PATH.'footer.php';
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
use Classes\ModuleBuilder\ModuleBuilder;
|
||||
use Classes\ModuleBuilder\ModuleTab;
|
||||
use Classes\UIManager;
|
||||
|
||||
$moduleName = 'settings';
|
||||
$moduleGroup = 'admin';
|
||||
@@ -32,7 +33,7 @@ if ( $notCloud ) {
|
||||
'EmailSetting', 'Setting', 'Email', 'SettingAdapter', '{"category":"Email"}', 'name', false, $options1
|
||||
));
|
||||
}
|
||||
if(!defined('LEAVE_ENABLED') || LDAP_ENABLED == true) {
|
||||
if(defined('LEAVE_ENABLED') && LEAVE_ENABLED == true) {
|
||||
$moduleBuilder->addModuleOrGroup(new ModuleTab(
|
||||
'LeaveSetting', 'Setting', 'Leave', 'SettingAdapter', '{"category":"Leave"}', 'name', false, $options1
|
||||
));
|
||||
@@ -58,7 +59,7 @@ if(!defined('SAML_ENABLED') || SAML_ENABLED == true){
|
||||
$moduleBuilder->addModuleOrGroup(new ModuleTab(
|
||||
'OtherSetting','Setting','Other','SettingAdapter','{"category":["Projects","Recruitment","Notifications","Expense","Travel","Api","Overtime"]}','name',false,$options1
|
||||
));
|
||||
echo \Classes\UIManager::getInstance()->renderModule($moduleBuilder);
|
||||
echo UIManager::getInstance()->renderModule($moduleBuilder);
|
||||
?>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
@@ -6,8 +6,6 @@ include("server.includes.inc.php");
|
||||
|
||||
if(\Classes\SettingsManager::getInstance()->getSetting('Api: REST Api Enabled') == '1') {
|
||||
|
||||
\Utils\LogManager::getInstance()->info("Request: " . $_REQUEST);
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
|
||||
http_response_code(200);
|
||||
exit();
|
||||
@@ -38,4 +36,4 @@ if(\Classes\SettingsManager::getInstance()->getSetting('Api: REST Api Enabled')
|
||||
|
||||
}else{
|
||||
echo "REST Api is not enabled. Please set 'Api: REST Api Enabled' setting to true";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,10 +13,10 @@ if(!defined('HOME_LINK_OTHERS')){
|
||||
}
|
||||
|
||||
//Version
|
||||
define('VERSION', '29.0.0.OS');
|
||||
define('CACHE_VALUE', '29.0.0.OS.2020-04021509');
|
||||
define('VERSION_NUMBER', '290000');
|
||||
define('VERSION_DATE', '02/04/2021');
|
||||
define('VERSION', '30.0.0.OS');
|
||||
define('CACHE_VALUE', '30.0.0.OS.2021-06261009');
|
||||
define('VERSION_NUMBER', '300000');
|
||||
define('VERSION_DATE', '26/06/2021');
|
||||
|
||||
if(!defined('CONTACT_EMAIL')){define('CONTACT_EMAIL','icehrm@gamonoid.com');}
|
||||
if(!defined('KEY_PREFIX')){define('KEY_PREFIX','IceHrm');}
|
||||
|
||||
@@ -139,7 +139,7 @@ $result = $uploader->handleUpload(CLIENT_BASE_PATH.'data/',$saveFileName);
|
||||
$uploadFilesToS3 = \Classes\SettingsManager::getInstance()->getSetting("Files: Upload Files to S3");
|
||||
$uploadFilesToS3Key = \Classes\SettingsManager::getInstance()->getSetting("Files: Amazon S3 Key for File Upload");
|
||||
$uploadFilesToS3Secret = \Classes\SettingsManager::getInstance()->getSetting(
|
||||
"Files: Amazone S3 Secret for File Upload"
|
||||
"Files: Amazon S3 Secret for File Upload"
|
||||
);
|
||||
$s3Bucket = \Classes\SettingsManager::getInstance()->getSetting("Files: S3 Bucket");
|
||||
$s3WebUrl = \Classes\SettingsManager::getInstance()->getSetting("Files: S3 Web Url");
|
||||
@@ -188,7 +188,7 @@ if($result['success'] == 1){
|
||||
if($uploadedToS3){
|
||||
$result['data'] = $file_url;
|
||||
}else{
|
||||
$result['data'] = CLIENT_BASE_URL.'data/'.$result['filename'];
|
||||
$result['data'] = \Classes\FileService::getInstance()->getLocalSecureUrl($result['filename']);
|
||||
}
|
||||
$result['data'] .= "|".$saveFileName;
|
||||
$result['data'] .= "|".$file->id;
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
modJsList[prop].setUser(<?=json_encode(\Classes\BaseService::getInstance()->cleanUpUser($user))?>);
|
||||
modJsList[prop].initSourceMappings();
|
||||
modJsList[prop].setBaseUrl('<?=BASE_URL?>');
|
||||
modJsList[prop].setClientUrl('<?=CLIENT_BASE_URL?>');
|
||||
modJsList[prop].setCurrentProfile(<?=json_encode($activeProfile)?>);
|
||||
modJsList[prop].setInstanceId('<?=\Classes\BaseService::getInstance()->getInstanceId()?>');
|
||||
modJsList[prop].setGoogleAnalytics(ga);
|
||||
@@ -146,7 +147,9 @@
|
||||
|
||||
|
||||
</script>
|
||||
<?php include 'popups.php';?>
|
||||
<?php
|
||||
include 'popups.php';
|
||||
?>
|
||||
<script src="<?=BASE_URL?>js/bootstrap-datatable.js"></script>
|
||||
<div id="jt" t="<?=$jwtService->create(3600)?>"></div>
|
||||
</body>
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
Contributing to Gettext
|
||||
=======================
|
||||
|
||||
Looking to contribute something to this library? Here's how you can help.
|
||||
|
||||
## Bugs
|
||||
|
||||
A bug is a demonstrable problem that is caused by the code in the repository. Good bug reports are extremely helpful – thank you!
|
||||
|
||||
Please try to be as detailed as possible in your report. Include specific information about the environment – version of PHP, version of gettext, etc, and steps required to reproduce the issue.
|
||||
|
||||
## Pull Requests
|
||||
|
||||
Good pull requests – patches, improvements, new features – are a fantastic help. New extractors or generator are welcome. Before create a pull request, please follow these instructions:
|
||||
|
||||
* The code must be PSR-2 compliant
|
||||
* Write some tests
|
||||
Contributing to Gettext
|
||||
=======================
|
||||
|
||||
Looking to contribute something to this library? Here's how you can help.
|
||||
|
||||
## Bugs
|
||||
|
||||
A bug is a demonstrable problem that is caused by the code in the repository. Good bug reports are extremely helpful – thank you!
|
||||
|
||||
Please try to be as detailed as possible in your report. Include specific information about the environment – version of PHP, version of gettext, etc, and steps required to reproduce the issue.
|
||||
|
||||
## Pull Requests
|
||||
|
||||
Good pull requests – patches, improvements, new features – are a fantastic help. New extractors or generator are welcome. Before create a pull request, please follow these instructions:
|
||||
|
||||
* The code must be PSR-2 compliant
|
||||
* Write some tests
|
||||
|
||||
@@ -1,45 +1,45 @@
|
||||
@echo off
|
||||
REM This file is part of PHP Mess Detector.
|
||||
REM
|
||||
REM Copyright (c) 2008-2012, Manuel Pichler <mapi@phpmd.org>.
|
||||
REM All rights reserved.
|
||||
REM
|
||||
REM Redistribution and use in source and binary forms, with or without
|
||||
REM modification, are permitted provided that the following conditions
|
||||
REM are met:
|
||||
REM
|
||||
REM * Redistributions of source code must retain the above copyright
|
||||
REM notice, this list of conditions and the following disclaimer.
|
||||
REM
|
||||
REM * Redistributions in binary form must reproduce the above copyright
|
||||
REM notice, this list of conditions and the following disclaimer in
|
||||
REM the documentation and/or other materials provided with the
|
||||
REM distribution.
|
||||
REM
|
||||
REM * Neither the name of Manuel Pichler nor the names of his
|
||||
REM contributors may be used to endorse or promote products derived
|
||||
REM from this software without specific prior written permission.
|
||||
REM
|
||||
REM THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
REM "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
REM LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
REM FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
REM COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
REM INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
REM BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
REM LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
REM CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRIC
|
||||
REM LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
REM ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
REM POSSIBILITY OF SUCH DAMAGE.
|
||||
REM
|
||||
REM $Id$
|
||||
REM
|
||||
|
||||
if "%PHPBIN%" == "" set PHPBIN=@php_bin@
|
||||
if not exist "%PHPBIN%" if "%PHP_PEAR_PHP_BIN%" neq "" goto USE_PEAR_PATH
|
||||
GOTO RUN
|
||||
:USE_PEAR_PATH
|
||||
set PHPBIN=%PHP_PEAR_PHP_BIN%
|
||||
:RUN
|
||||
"%PHPBIN%" "@bin_dir@\phpmd" %*
|
||||
@echo off
|
||||
REM This file is part of PHP Mess Detector.
|
||||
REM
|
||||
REM Copyright (c) 2008-2012, Manuel Pichler <mapi@phpmd.org>.
|
||||
REM All rights reserved.
|
||||
REM
|
||||
REM Redistribution and use in source and binary forms, with or without
|
||||
REM modification, are permitted provided that the following conditions
|
||||
REM are met:
|
||||
REM
|
||||
REM * Redistributions of source code must retain the above copyright
|
||||
REM notice, this list of conditions and the following disclaimer.
|
||||
REM
|
||||
REM * Redistributions in binary form must reproduce the above copyright
|
||||
REM notice, this list of conditions and the following disclaimer in
|
||||
REM the documentation and/or other materials provided with the
|
||||
REM distribution.
|
||||
REM
|
||||
REM * Neither the name of Manuel Pichler nor the names of his
|
||||
REM contributors may be used to endorse or promote products derived
|
||||
REM from this software without specific prior written permission.
|
||||
REM
|
||||
REM THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
REM "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
REM LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
REM FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
REM COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
REM INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
REM BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
REM LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
REM CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRIC
|
||||
REM LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
REM ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
REM POSSIBILITY OF SUCH DAMAGE.
|
||||
REM
|
||||
REM $Id$
|
||||
REM
|
||||
|
||||
if "%PHPBIN%" == "" set PHPBIN=@php_bin@
|
||||
if not exist "%PHPBIN%" if "%PHP_PEAR_PHP_BIN%" neq "" goto USE_PEAR_PATH
|
||||
GOTO RUN
|
||||
:USE_PEAR_PATH
|
||||
set PHPBIN=%PHP_PEAR_PHP_BIN%
|
||||
:RUN
|
||||
"%PHPBIN%" "@bin_dir@\phpmd" %*
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,2 +1,2 @@
|
||||
+----------------------------------------------------------------------------------+
|
||||
+----------------------------------------------------------------------------------+
|
||||
+----------------------------------------------------------------------------------+
|
||||
@@ -1,6 +1,6 @@
|
||||
1 / 10 [+++++>------------------------------------------------------] 10.00%
|
||||
2 / 10 [+++++++++++>------------------------------------------------] 20.00%
|
||||
3 / 10 [+++++++++++++++++>------------------------------------------] 30.00%
|
||||
4 / 10 [+++++++++++++++++++++++>------------------------------------] 40.00%
|
||||
5 / 10 [+++++++++++++++++++++++++++++>------------------------------] 50.00%
|
||||
1 / 10 [+++++>------------------------------------------------------] 10.00%
|
||||
2 / 10 [+++++++++++>------------------------------------------------] 20.00%
|
||||
3 / 10 [+++++++++++++++++>------------------------------------------] 30.00%
|
||||
4 / 10 [+++++++++++++++++++++++>------------------------------------] 40.00%
|
||||
5 / 10 [+++++++++++++++++++++++++++++>------------------------------] 50.00%
|
||||
10 / 10 [+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>] 100.00%
|
||||
@@ -1,3 +1,3 @@
|
||||
+-----+
|
||||
| foo |
|
||||
+-----+
|
||||
| foo |
|
||||
+-----+
|
||||
@@ -1,4 +1,4 @@
|
||||
13 / 42 [+++++++++++++++++++>----------------------------------------] 30.95%
|
||||
26 / 42 [+++++++++++++++++++++++++++++++++++++++>--------------------] 61.90%
|
||||
39 / 42 [+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>] 92.86%
|
||||
13 / 42 [+++++++++++++++++++>----------------------------------------] 30.95%
|
||||
26 / 42 [+++++++++++++++++++++++++++++++++++++++>--------------------] 61.90%
|
||||
39 / 42 [+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>] 92.86%
|
||||
42 / 42 [+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>] 100.00%
|
||||
@@ -1,10 +1,10 @@
|
||||
10 / 100 [+++++>----------------------------------------------------] 10.00%
|
||||
20 / 100 [+++++++++++>----------------------------------------------] 20.00%
|
||||
30 / 100 [+++++++++++++++++>----------------------------------------] 30.00%
|
||||
40 / 100 [+++++++++++++++++++++++>----------------------------------] 40.00%
|
||||
50 / 100 [++++++++++++++++++++++++++++>-----------------------------] 50.00%
|
||||
60 / 100 [++++++++++++++++++++++++++++++++++>-----------------------] 60.00%
|
||||
70 / 100 [++++++++++++++++++++++++++++++++++++++++>-----------------] 70.00%
|
||||
80 / 100 [++++++++++++++++++++++++++++++++++++++++++++++>-----------] 80.00%
|
||||
90 / 100 [++++++++++++++++++++++++++++++++++++++++++++++++++++>-----] 90.00%
|
||||
10 / 100 [+++++>----------------------------------------------------] 10.00%
|
||||
20 / 100 [+++++++++++>----------------------------------------------] 20.00%
|
||||
30 / 100 [+++++++++++++++++>----------------------------------------] 30.00%
|
||||
40 / 100 [+++++++++++++++++++++++>----------------------------------] 40.00%
|
||||
50 / 100 [++++++++++++++++++++++++++++>-----------------------------] 50.00%
|
||||
60 / 100 [++++++++++++++++++++++++++++++++++>-----------------------] 60.00%
|
||||
70 / 100 [++++++++++++++++++++++++++++++++++++++++>-----------------] 70.00%
|
||||
80 / 100 [++++++++++++++++++++++++++++++++++++++++++++++>-----------] 80.00%
|
||||
90 / 100 [++++++++++++++++++++++++++++++++++++++++++++++++++++>-----] 90.00%
|
||||
100 / 100 [+++++++++++++++++++++++++++++++++++++++++++++++++++++++++>] 100.00%
|
||||
@@ -1,40 +1,40 @@
|
||||
2.50 / 100.00 [+>--------------------------------------------------] 2.50%
|
||||
5.00 / 100.00 [++>-------------------------------------------------] 5.00%
|
||||
7.50 / 100.00 [+++>------------------------------------------------] 7.50%
|
||||
10.00 / 100.00 [+++++>----------------------------------------------] 10.00%
|
||||
12.50 / 100.00 [++++++>---------------------------------------------] 12.50%
|
||||
15.00 / 100.00 [+++++++>--------------------------------------------] 15.00%
|
||||
17.50 / 100.00 [+++++++++>------------------------------------------] 17.50%
|
||||
20.00 / 100.00 [++++++++++>-----------------------------------------] 20.00%
|
||||
22.50 / 100.00 [+++++++++++>----------------------------------------] 22.50%
|
||||
25.00 / 100.00 [++++++++++++>---------------------------------------] 25.00%
|
||||
27.50 / 100.00 [++++++++++++++>-------------------------------------] 27.50%
|
||||
30.00 / 100.00 [+++++++++++++++>------------------------------------] 30.00%
|
||||
32.50 / 100.00 [++++++++++++++++>-----------------------------------] 32.50%
|
||||
35.00 / 100.00 [++++++++++++++++++>---------------------------------] 35.00%
|
||||
37.50 / 100.00 [+++++++++++++++++++>--------------------------------] 37.50%
|
||||
40.00 / 100.00 [++++++++++++++++++++>-------------------------------] 40.00%
|
||||
42.50 / 100.00 [++++++++++++++++++++++>-----------------------------] 42.50%
|
||||
45.00 / 100.00 [+++++++++++++++++++++++>----------------------------] 45.00%
|
||||
47.50 / 100.00 [++++++++++++++++++++++++>---------------------------] 47.50%
|
||||
50.00 / 100.00 [+++++++++++++++++++++++++>--------------------------] 50.00%
|
||||
52.50 / 100.00 [+++++++++++++++++++++++++++>------------------------] 52.50%
|
||||
55.00 / 100.00 [++++++++++++++++++++++++++++>-----------------------] 55.00%
|
||||
57.50 / 100.00 [+++++++++++++++++++++++++++++>----------------------] 57.50%
|
||||
60.00 / 100.00 [+++++++++++++++++++++++++++++++>--------------------] 60.00%
|
||||
62.50 / 100.00 [++++++++++++++++++++++++++++++++>-------------------] 62.50%
|
||||
65.00 / 100.00 [+++++++++++++++++++++++++++++++++>------------------] 65.00%
|
||||
67.50 / 100.00 [+++++++++++++++++++++++++++++++++++>----------------] 67.50%
|
||||
70.00 / 100.00 [++++++++++++++++++++++++++++++++++++>---------------] 70.00%
|
||||
72.50 / 100.00 [+++++++++++++++++++++++++++++++++++++>--------------] 72.50%
|
||||
75.00 / 100.00 [++++++++++++++++++++++++++++++++++++++>-------------] 75.00%
|
||||
77.50 / 100.00 [++++++++++++++++++++++++++++++++++++++++>-----------] 77.50%
|
||||
80.00 / 100.00 [+++++++++++++++++++++++++++++++++++++++++>----------] 80.00%
|
||||
82.50 / 100.00 [++++++++++++++++++++++++++++++++++++++++++>---------] 82.50%
|
||||
85.00 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++>-------] 85.00%
|
||||
87.50 / 100.00 [+++++++++++++++++++++++++++++++++++++++++++++>------] 87.50%
|
||||
90.00 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++++>-----] 90.00%
|
||||
92.50 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++++++>---] 92.50%
|
||||
95.00 / 100.00 [+++++++++++++++++++++++++++++++++++++++++++++++++>--] 95.00%
|
||||
97.50 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++++++++>-] 97.50%
|
||||
2.50 / 100.00 [+>--------------------------------------------------] 2.50%
|
||||
5.00 / 100.00 [++>-------------------------------------------------] 5.00%
|
||||
7.50 / 100.00 [+++>------------------------------------------------] 7.50%
|
||||
10.00 / 100.00 [+++++>----------------------------------------------] 10.00%
|
||||
12.50 / 100.00 [++++++>---------------------------------------------] 12.50%
|
||||
15.00 / 100.00 [+++++++>--------------------------------------------] 15.00%
|
||||
17.50 / 100.00 [+++++++++>------------------------------------------] 17.50%
|
||||
20.00 / 100.00 [++++++++++>-----------------------------------------] 20.00%
|
||||
22.50 / 100.00 [+++++++++++>----------------------------------------] 22.50%
|
||||
25.00 / 100.00 [++++++++++++>---------------------------------------] 25.00%
|
||||
27.50 / 100.00 [++++++++++++++>-------------------------------------] 27.50%
|
||||
30.00 / 100.00 [+++++++++++++++>------------------------------------] 30.00%
|
||||
32.50 / 100.00 [++++++++++++++++>-----------------------------------] 32.50%
|
||||
35.00 / 100.00 [++++++++++++++++++>---------------------------------] 35.00%
|
||||
37.50 / 100.00 [+++++++++++++++++++>--------------------------------] 37.50%
|
||||
40.00 / 100.00 [++++++++++++++++++++>-------------------------------] 40.00%
|
||||
42.50 / 100.00 [++++++++++++++++++++++>-----------------------------] 42.50%
|
||||
45.00 / 100.00 [+++++++++++++++++++++++>----------------------------] 45.00%
|
||||
47.50 / 100.00 [++++++++++++++++++++++++>---------------------------] 47.50%
|
||||
50.00 / 100.00 [+++++++++++++++++++++++++>--------------------------] 50.00%
|
||||
52.50 / 100.00 [+++++++++++++++++++++++++++>------------------------] 52.50%
|
||||
55.00 / 100.00 [++++++++++++++++++++++++++++>-----------------------] 55.00%
|
||||
57.50 / 100.00 [+++++++++++++++++++++++++++++>----------------------] 57.50%
|
||||
60.00 / 100.00 [+++++++++++++++++++++++++++++++>--------------------] 60.00%
|
||||
62.50 / 100.00 [++++++++++++++++++++++++++++++++>-------------------] 62.50%
|
||||
65.00 / 100.00 [+++++++++++++++++++++++++++++++++>------------------] 65.00%
|
||||
67.50 / 100.00 [+++++++++++++++++++++++++++++++++++>----------------] 67.50%
|
||||
70.00 / 100.00 [++++++++++++++++++++++++++++++++++++>---------------] 70.00%
|
||||
72.50 / 100.00 [+++++++++++++++++++++++++++++++++++++>--------------] 72.50%
|
||||
75.00 / 100.00 [++++++++++++++++++++++++++++++++++++++>-------------] 75.00%
|
||||
77.50 / 100.00 [++++++++++++++++++++++++++++++++++++++++>-----------] 77.50%
|
||||
80.00 / 100.00 [+++++++++++++++++++++++++++++++++++++++++>----------] 80.00%
|
||||
82.50 / 100.00 [++++++++++++++++++++++++++++++++++++++++++>---------] 82.50%
|
||||
85.00 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++>-------] 85.00%
|
||||
87.50 / 100.00 [+++++++++++++++++++++++++++++++++++++++++++++>------] 87.50%
|
||||
90.00 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++++>-----] 90.00%
|
||||
92.50 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++++++>---] 92.50%
|
||||
95.00 / 100.00 [+++++++++++++++++++++++++++++++++++++++++++++++++>--] 95.00%
|
||||
97.50 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++++++++>-] 97.50%
|
||||
100.00 / 100.00 [+++++++++++++++++++++++++++++++++++++++++++++++++++>] 100.00%
|
||||
@@ -1,40 +1,40 @@
|
||||
2.50 / 100.00000000 [+>--------------------------------------------] 2.50%
|
||||
5.00 / 100.00000000 [++>-------------------------------------------] 5.00%
|
||||
7.50 / 100.00000000 [+++>------------------------------------------] 7.50%
|
||||
10.00 / 100.00000000 [++++>-----------------------------------------] 10.00%
|
||||
12.50 / 100.00000000 [+++++>----------------------------------------] 12.50%
|
||||
15.00 / 100.00000000 [++++++>---------------------------------------] 15.00%
|
||||
17.50 / 100.00000000 [++++++++>-------------------------------------] 17.50%
|
||||
20.00 / 100.00000000 [+++++++++>------------------------------------] 20.00%
|
||||
22.50 / 100.00000000 [++++++++++>-----------------------------------] 22.50%
|
||||
25.00 / 100.00000000 [+++++++++++>----------------------------------] 25.00%
|
||||
27.50 / 100.00000000 [++++++++++++>---------------------------------] 27.50%
|
||||
30.00 / 100.00000000 [+++++++++++++>--------------------------------] 30.00%
|
||||
32.50 / 100.00000000 [++++++++++++++>-------------------------------] 32.50%
|
||||
35.00 / 100.00000000 [++++++++++++++++>-----------------------------] 35.00%
|
||||
37.50 / 100.00000000 [+++++++++++++++++>----------------------------] 37.50%
|
||||
40.00 / 100.00000000 [++++++++++++++++++>---------------------------] 40.00%
|
||||
42.50 / 100.00000000 [+++++++++++++++++++>--------------------------] 42.50%
|
||||
45.00 / 100.00000000 [++++++++++++++++++++>-------------------------] 45.00%
|
||||
47.50 / 100.00000000 [+++++++++++++++++++++>------------------------] 47.50%
|
||||
50.00 / 100.00000000 [++++++++++++++++++++++>-----------------------] 50.00%
|
||||
52.50 / 100.00000000 [++++++++++++++++++++++++>---------------------] 52.50%
|
||||
55.00 / 100.00000000 [+++++++++++++++++++++++++>--------------------] 55.00%
|
||||
57.50 / 100.00000000 [++++++++++++++++++++++++++>-------------------] 57.50%
|
||||
60.00 / 100.00000000 [+++++++++++++++++++++++++++>------------------] 60.00%
|
||||
62.50 / 100.00000000 [++++++++++++++++++++++++++++>-----------------] 62.50%
|
||||
65.00 / 100.00000000 [+++++++++++++++++++++++++++++>----------------] 65.00%
|
||||
67.50 / 100.00000000 [+++++++++++++++++++++++++++++++>--------------] 67.50%
|
||||
70.00 / 100.00000000 [++++++++++++++++++++++++++++++++>-------------] 70.00%
|
||||
72.50 / 100.00000000 [+++++++++++++++++++++++++++++++++>------------] 72.50%
|
||||
75.00 / 100.00000000 [++++++++++++++++++++++++++++++++++>-----------] 75.00%
|
||||
77.50 / 100.00000000 [+++++++++++++++++++++++++++++++++++>----------] 77.50%
|
||||
80.00 / 100.00000000 [++++++++++++++++++++++++++++++++++++>---------] 80.00%
|
||||
82.50 / 100.00000000 [+++++++++++++++++++++++++++++++++++++>--------] 82.50%
|
||||
85.00 / 100.00000000 [+++++++++++++++++++++++++++++++++++++++>------] 85.00%
|
||||
87.50 / 100.00000000 [++++++++++++++++++++++++++++++++++++++++>-----] 87.50%
|
||||
90.00 / 100.00000000 [+++++++++++++++++++++++++++++++++++++++++>----] 90.00%
|
||||
92.50 / 100.00000000 [++++++++++++++++++++++++++++++++++++++++++>---] 92.50%
|
||||
95.00 / 100.00000000 [+++++++++++++++++++++++++++++++++++++++++++>--] 95.00%
|
||||
97.50 / 100.00000000 [++++++++++++++++++++++++++++++++++++++++++++>-] 97.50%
|
||||
2.50 / 100.00000000 [+>--------------------------------------------] 2.50%
|
||||
5.00 / 100.00000000 [++>-------------------------------------------] 5.00%
|
||||
7.50 / 100.00000000 [+++>------------------------------------------] 7.50%
|
||||
10.00 / 100.00000000 [++++>-----------------------------------------] 10.00%
|
||||
12.50 / 100.00000000 [+++++>----------------------------------------] 12.50%
|
||||
15.00 / 100.00000000 [++++++>---------------------------------------] 15.00%
|
||||
17.50 / 100.00000000 [++++++++>-------------------------------------] 17.50%
|
||||
20.00 / 100.00000000 [+++++++++>------------------------------------] 20.00%
|
||||
22.50 / 100.00000000 [++++++++++>-----------------------------------] 22.50%
|
||||
25.00 / 100.00000000 [+++++++++++>----------------------------------] 25.00%
|
||||
27.50 / 100.00000000 [++++++++++++>---------------------------------] 27.50%
|
||||
30.00 / 100.00000000 [+++++++++++++>--------------------------------] 30.00%
|
||||
32.50 / 100.00000000 [++++++++++++++>-------------------------------] 32.50%
|
||||
35.00 / 100.00000000 [++++++++++++++++>-----------------------------] 35.00%
|
||||
37.50 / 100.00000000 [+++++++++++++++++>----------------------------] 37.50%
|
||||
40.00 / 100.00000000 [++++++++++++++++++>---------------------------] 40.00%
|
||||
42.50 / 100.00000000 [+++++++++++++++++++>--------------------------] 42.50%
|
||||
45.00 / 100.00000000 [++++++++++++++++++++>-------------------------] 45.00%
|
||||
47.50 / 100.00000000 [+++++++++++++++++++++>------------------------] 47.50%
|
||||
50.00 / 100.00000000 [++++++++++++++++++++++>-----------------------] 50.00%
|
||||
52.50 / 100.00000000 [++++++++++++++++++++++++>---------------------] 52.50%
|
||||
55.00 / 100.00000000 [+++++++++++++++++++++++++>--------------------] 55.00%
|
||||
57.50 / 100.00000000 [++++++++++++++++++++++++++>-------------------] 57.50%
|
||||
60.00 / 100.00000000 [+++++++++++++++++++++++++++>------------------] 60.00%
|
||||
62.50 / 100.00000000 [++++++++++++++++++++++++++++>-----------------] 62.50%
|
||||
65.00 / 100.00000000 [+++++++++++++++++++++++++++++>----------------] 65.00%
|
||||
67.50 / 100.00000000 [+++++++++++++++++++++++++++++++>--------------] 67.50%
|
||||
70.00 / 100.00000000 [++++++++++++++++++++++++++++++++>-------------] 70.00%
|
||||
72.50 / 100.00000000 [+++++++++++++++++++++++++++++++++>------------] 72.50%
|
||||
75.00 / 100.00000000 [++++++++++++++++++++++++++++++++++>-----------] 75.00%
|
||||
77.50 / 100.00000000 [+++++++++++++++++++++++++++++++++++>----------] 77.50%
|
||||
80.00 / 100.00000000 [++++++++++++++++++++++++++++++++++++>---------] 80.00%
|
||||
82.50 / 100.00000000 [+++++++++++++++++++++++++++++++++++++>--------] 82.50%
|
||||
85.00 / 100.00000000 [+++++++++++++++++++++++++++++++++++++++>------] 85.00%
|
||||
87.50 / 100.00000000 [++++++++++++++++++++++++++++++++++++++++>-----] 87.50%
|
||||
90.00 / 100.00000000 [+++++++++++++++++++++++++++++++++++++++++>----] 90.00%
|
||||
92.50 / 100.00000000 [++++++++++++++++++++++++++++++++++++++++++>---] 92.50%
|
||||
95.00 / 100.00000000 [+++++++++++++++++++++++++++++++++++++++++++>--] 95.00%
|
||||
97.50 / 100.00000000 [++++++++++++++++++++++++++++++++++++++++++++>-] 97.50%
|
||||
100.00 / 100.00000000 [+++++++++++++++++++++++++++++++++++++++++++++>] 100.00%
|
||||
@@ -1,40 +1,40 @@
|
||||
2.50000000 / 100.00 [+>--------------------------------------------] 2.50%
|
||||
5.00000000 / 100.00 [++>-------------------------------------------] 5.00%
|
||||
7.50000000 / 100.00 [+++>------------------------------------------] 7.50%
|
||||
10.00000000 / 100.00 [++++>-----------------------------------------] 10.00%
|
||||
12.50000000 / 100.00 [+++++>----------------------------------------] 12.50%
|
||||
15.00000000 / 100.00 [++++++>---------------------------------------] 15.00%
|
||||
17.50000000 / 100.00 [++++++++>-------------------------------------] 17.50%
|
||||
20.00000000 / 100.00 [+++++++++>------------------------------------] 20.00%
|
||||
22.50000000 / 100.00 [++++++++++>-----------------------------------] 22.50%
|
||||
25.00000000 / 100.00 [+++++++++++>----------------------------------] 25.00%
|
||||
27.50000000 / 100.00 [++++++++++++>---------------------------------] 27.50%
|
||||
30.00000000 / 100.00 [+++++++++++++>--------------------------------] 30.00%
|
||||
32.50000000 / 100.00 [++++++++++++++>-------------------------------] 32.50%
|
||||
35.00000000 / 100.00 [++++++++++++++++>-----------------------------] 35.00%
|
||||
37.50000000 / 100.00 [+++++++++++++++++>----------------------------] 37.50%
|
||||
40.00000000 / 100.00 [++++++++++++++++++>---------------------------] 40.00%
|
||||
42.50000000 / 100.00 [+++++++++++++++++++>--------------------------] 42.50%
|
||||
45.00000000 / 100.00 [++++++++++++++++++++>-------------------------] 45.00%
|
||||
47.50000000 / 100.00 [+++++++++++++++++++++>------------------------] 47.50%
|
||||
50.00000000 / 100.00 [++++++++++++++++++++++>-----------------------] 50.00%
|
||||
52.50000000 / 100.00 [++++++++++++++++++++++++>---------------------] 52.50%
|
||||
55.00000000 / 100.00 [+++++++++++++++++++++++++>--------------------] 55.00%
|
||||
57.50000000 / 100.00 [++++++++++++++++++++++++++>-------------------] 57.50%
|
||||
60.00000000 / 100.00 [+++++++++++++++++++++++++++>------------------] 60.00%
|
||||
62.50000000 / 100.00 [++++++++++++++++++++++++++++>-----------------] 62.50%
|
||||
65.00000000 / 100.00 [+++++++++++++++++++++++++++++>----------------] 65.00%
|
||||
67.50000000 / 100.00 [+++++++++++++++++++++++++++++++>--------------] 67.50%
|
||||
70.00000000 / 100.00 [++++++++++++++++++++++++++++++++>-------------] 70.00%
|
||||
72.50000000 / 100.00 [+++++++++++++++++++++++++++++++++>------------] 72.50%
|
||||
75.00000000 / 100.00 [++++++++++++++++++++++++++++++++++>-----------] 75.00%
|
||||
77.50000000 / 100.00 [+++++++++++++++++++++++++++++++++++>----------] 77.50%
|
||||
80.00000000 / 100.00 [++++++++++++++++++++++++++++++++++++>---------] 80.00%
|
||||
82.50000000 / 100.00 [+++++++++++++++++++++++++++++++++++++>--------] 82.50%
|
||||
85.00000000 / 100.00 [+++++++++++++++++++++++++++++++++++++++>------] 85.00%
|
||||
87.50000000 / 100.00 [++++++++++++++++++++++++++++++++++++++++>-----] 87.50%
|
||||
90.00000000 / 100.00 [+++++++++++++++++++++++++++++++++++++++++>----] 90.00%
|
||||
92.50000000 / 100.00 [++++++++++++++++++++++++++++++++++++++++++>---] 92.50%
|
||||
95.00000000 / 100.00 [+++++++++++++++++++++++++++++++++++++++++++>--] 95.00%
|
||||
97.50000000 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++>-] 97.50%
|
||||
2.50000000 / 100.00 [+>--------------------------------------------] 2.50%
|
||||
5.00000000 / 100.00 [++>-------------------------------------------] 5.00%
|
||||
7.50000000 / 100.00 [+++>------------------------------------------] 7.50%
|
||||
10.00000000 / 100.00 [++++>-----------------------------------------] 10.00%
|
||||
12.50000000 / 100.00 [+++++>----------------------------------------] 12.50%
|
||||
15.00000000 / 100.00 [++++++>---------------------------------------] 15.00%
|
||||
17.50000000 / 100.00 [++++++++>-------------------------------------] 17.50%
|
||||
20.00000000 / 100.00 [+++++++++>------------------------------------] 20.00%
|
||||
22.50000000 / 100.00 [++++++++++>-----------------------------------] 22.50%
|
||||
25.00000000 / 100.00 [+++++++++++>----------------------------------] 25.00%
|
||||
27.50000000 / 100.00 [++++++++++++>---------------------------------] 27.50%
|
||||
30.00000000 / 100.00 [+++++++++++++>--------------------------------] 30.00%
|
||||
32.50000000 / 100.00 [++++++++++++++>-------------------------------] 32.50%
|
||||
35.00000000 / 100.00 [++++++++++++++++>-----------------------------] 35.00%
|
||||
37.50000000 / 100.00 [+++++++++++++++++>----------------------------] 37.50%
|
||||
40.00000000 / 100.00 [++++++++++++++++++>---------------------------] 40.00%
|
||||
42.50000000 / 100.00 [+++++++++++++++++++>--------------------------] 42.50%
|
||||
45.00000000 / 100.00 [++++++++++++++++++++>-------------------------] 45.00%
|
||||
47.50000000 / 100.00 [+++++++++++++++++++++>------------------------] 47.50%
|
||||
50.00000000 / 100.00 [++++++++++++++++++++++>-----------------------] 50.00%
|
||||
52.50000000 / 100.00 [++++++++++++++++++++++++>---------------------] 52.50%
|
||||
55.00000000 / 100.00 [+++++++++++++++++++++++++>--------------------] 55.00%
|
||||
57.50000000 / 100.00 [++++++++++++++++++++++++++>-------------------] 57.50%
|
||||
60.00000000 / 100.00 [+++++++++++++++++++++++++++>------------------] 60.00%
|
||||
62.50000000 / 100.00 [++++++++++++++++++++++++++++>-----------------] 62.50%
|
||||
65.00000000 / 100.00 [+++++++++++++++++++++++++++++>----------------] 65.00%
|
||||
67.50000000 / 100.00 [+++++++++++++++++++++++++++++++>--------------] 67.50%
|
||||
70.00000000 / 100.00 [++++++++++++++++++++++++++++++++>-------------] 70.00%
|
||||
72.50000000 / 100.00 [+++++++++++++++++++++++++++++++++>------------] 72.50%
|
||||
75.00000000 / 100.00 [++++++++++++++++++++++++++++++++++>-----------] 75.00%
|
||||
77.50000000 / 100.00 [+++++++++++++++++++++++++++++++++++>----------] 77.50%
|
||||
80.00000000 / 100.00 [++++++++++++++++++++++++++++++++++++>---------] 80.00%
|
||||
82.50000000 / 100.00 [+++++++++++++++++++++++++++++++++++++>--------] 82.50%
|
||||
85.00000000 / 100.00 [+++++++++++++++++++++++++++++++++++++++>------] 85.00%
|
||||
87.50000000 / 100.00 [++++++++++++++++++++++++++++++++++++++++>-----] 87.50%
|
||||
90.00000000 / 100.00 [+++++++++++++++++++++++++++++++++++++++++>----] 90.00%
|
||||
92.50000000 / 100.00 [++++++++++++++++++++++++++++++++++++++++++>---] 92.50%
|
||||
95.00000000 / 100.00 [+++++++++++++++++++++++++++++++++++++++++++>--] 95.00%
|
||||
97.50000000 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++>-] 97.50%
|
||||
100.00000000 / 100.00 [+++++++++++++++++++++++++++++++++++++++++++++>] 100.00%
|
||||
@@ -1,4 +1,4 @@
|
||||
13 / 42 [###################>****************************************] 30.95%
|
||||
26 / 42 [#######################################>********************] 61.90%
|
||||
39 / 42 [###########################################################>] 92.86%
|
||||
13 / 42 [###################>****************************************] 30.95%
|
||||
26 / 42 [#######################################>********************] 61.90%
|
||||
39 / 42 [###########################################################>] 92.86%
|
||||
42 / 42 [###########################################################>] 100.00%
|
||||
@@ -1,3 +1,3 @@
|
||||
19 / 55 [+++++++++++++++++++&----------------------------------------] 34.55%
|
||||
38 / 55 [+++++++++++++++++++++++++++++++++++++++&--------------------] 69.09%
|
||||
19 / 55 [+++++++++++++++++++&----------------------------------------] 34.55%
|
||||
38 / 55 [+++++++++++++++++++++++++++++++++++++++&--------------------] 69.09%
|
||||
55 / 55 [+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&] 100.00%
|
||||
@@ -1,4 +1,4 @@
|
||||
13 / 42 [++++++++++++&------------------------] 30.95%
|
||||
26 / 42 [++++++++++++++++++++++++&------------] 61.90%
|
||||
39 / 42 [++++++++++++++++++++++++++++++++++++&] 92.86%
|
||||
13 / 42 [++++++++++++&------------------------] 30.95%
|
||||
26 / 42 [++++++++++++++++++++++++&------------] 61.90%
|
||||
39 / 42 [++++++++++++++++++++++++++++++++++++&] 92.86%
|
||||
42 / 42 [++++++++++++++++++++++++++++++++++++&] 100.00%
|
||||
@@ -1,8 +1,8 @@
|
||||
3 / 22 [########&******************************************************] 13.64%
|
||||
6 / 22 [#################&*********************************************] 27.27%
|
||||
9 / 22 [##########################&************************************] 40.91%
|
||||
12 / 22 [###################################&***************************] 54.55%
|
||||
15 / 22 [############################################&******************] 68.18%
|
||||
18 / 22 [#####################################################&*********] 81.82%
|
||||
21 / 22 [##############################################################&] 95.45%
|
||||
3 / 22 [########&******************************************************] 13.64%
|
||||
6 / 22 [#################&*********************************************] 27.27%
|
||||
9 / 22 [##########################&************************************] 40.91%
|
||||
12 / 22 [###################################&***************************] 54.55%
|
||||
15 / 22 [############################################&******************] 68.18%
|
||||
18 / 22 [#####################################################&*********] 81.82%
|
||||
21 / 22 [##############################################################&] 95.45%
|
||||
22 / 22 [##############################################################&] 100.00%
|
||||
@@ -1,6 +1,6 @@
|
||||
7 / 42 [123412341>98769876987698769876987698769876987698769876987698] 16.67%
|
||||
14 / 42 [1234123412341234123>9876987698769876987698769876987698769876] 33.33%
|
||||
21 / 42 [12341234123412341234123412341>987698769876987698769876987698] 50.00%
|
||||
28 / 42 [123412341234123412341234123412341234123>98769876987698769876] 66.67%
|
||||
35 / 42 [1234123412341234123412341234123412341234123412341>9876987698] 83.33%
|
||||
7 / 42 [123412341>98769876987698769876987698769876987698769876987698] 16.67%
|
||||
14 / 42 [1234123412341234123>9876987698769876987698769876987698769876] 33.33%
|
||||
21 / 42 [12341234123412341234123412341>987698769876987698769876987698] 50.00%
|
||||
28 / 42 [123412341234123412341234123412341234123>98769876987698769876] 66.67%
|
||||
35 / 42 [1234123412341234123412341234123412341234123412341>9876987698] 83.33%
|
||||
42 / 42 [12341234123412341234123412341234123412341234123412341234123>] 100.00%
|
||||
@@ -1,6 +1,6 @@
|
||||
7 / 42 [1231231---98798798798798798798798798798798798798798798798798] 16.67%
|
||||
14 / 42 [12312312312312312---9879879879879879879879879879879879879879] 33.33%
|
||||
21 / 42 [123123123123123123123123123---987987987987987987987987987987] 50.00%
|
||||
28 / 42 [1231231231231231231231231231231231231---98798798798798798798] 66.67%
|
||||
35 / 42 [12312312312312312312312312312312312312312312312---9879879879] 83.33%
|
||||
7 / 42 [1231231---98798798798798798798798798798798798798798798798798] 16.67%
|
||||
14 / 42 [12312312312312312---9879879879879879879879879879879879879879] 33.33%
|
||||
21 / 42 [123123123123123123123123123---987987987987987987987987987987] 50.00%
|
||||
28 / 42 [1231231231231231231231231231231231231---98798798798798798798] 66.67%
|
||||
35 / 42 [12312312312312312312312312312312312312312312312---9879879879] 83.33%
|
||||
42 / 42 [123123123123123123123123123123123123123123123123123123123---] 100.00%
|
||||
@@ -1,9 +1,9 @@
|
||||
Actual progress: <123123---98798798798798798798798798798798798798798798798798798798798798798> 13
|
||||
Actual progress: <12312312312312---987987987987987987987987987987987987987987987987987987987> 26
|
||||
Actual progress: <1231231231231231231231---9879879879879879879879879879879879879879879879879> 42
|
||||
Actual progress: <123123123123123123123123123123---98798798798798798798798798798798798798798> 55
|
||||
Actual progress: <123123123123123123123123123123123123123---98798798798798798798798798798798> 71
|
||||
Actual progress: <12312312312312312312312312312312312312312312312---987987987987987987987987> 104
|
||||
Actual progress: <1231231231231231231231231231231231231231231231231231231---9879879879879879> 120
|
||||
Actual progress: <123123123123123123123123123123123123123123123123123123123123123---98798798> 133
|
||||
Actual progress: <123123---98798798798798798798798798798798798798798798798798798798798798798> 13
|
||||
Actual progress: <12312312312312---987987987987987987987987987987987987987987987987987987987> 26
|
||||
Actual progress: <1231231231231231231231---9879879879879879879879879879879879879879879879879> 42
|
||||
Actual progress: <123123123123123123123123123123---98798798798798798798798798798798798798798> 55
|
||||
Actual progress: <123123123123123123123123123123123123123---98798798798798798798798798798798> 71
|
||||
Actual progress: <12312312312312312312312312312312312312312312312---987987987987987987987987> 104
|
||||
Actual progress: <1231231231231231231231231231231231231231231231231231231---9879879879879879> 120
|
||||
Actual progress: <123123123123123123123123123123123123123123123123123123123123123---98798798> 133
|
||||
Actual progress: <12312312312312312312312312312312312312312312312312312312312312312312312---> 144
|
||||
@@ -1,10 +1,10 @@
|
||||
10.0% UPLOAD /var/upload/test.php
|
||||
20.0% UPLOAD /var/upload/testing.php
|
||||
30.0% UPLOAD /var/upload/foo.php
|
||||
40.0% UPLOAD /var/upload/bar.php
|
||||
50.0% UPLOAD /var/upload/baz.png
|
||||
60.0% UPLOAD /var/upload/image.jpg
|
||||
70.0% UPLOAD /var/upload/bar.gif
|
||||
80.0% UPLOAD /var/upload/ez-logo.jpg
|
||||
90.0% UPLOAD /var/upload/ez-logo.png
|
||||
100.0% UPLOAD /var/upload/ez-components.png
|
||||
10.0% UPLOAD /var/upload/test.php
|
||||
20.0% UPLOAD /var/upload/testing.php
|
||||
30.0% UPLOAD /var/upload/foo.php
|
||||
40.0% UPLOAD /var/upload/bar.php
|
||||
50.0% UPLOAD /var/upload/baz.png
|
||||
60.0% UPLOAD /var/upload/image.jpg
|
||||
70.0% UPLOAD /var/upload/bar.gif
|
||||
80.0% UPLOAD /var/upload/ez-logo.jpg
|
||||
90.0% UPLOAD /var/upload/ez-logo.png
|
||||
100.0% UPLOAD /var/upload/ez-components.png
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
14.3% UPLOAD /var/upload/test.php
|
||||
28.6% UPLOAD /var/upload/testing.php
|
||||
42.9% UPLOAD /var/upload/foo.php
|
||||
57.1% UPLOAD /var/upload/bar.php
|
||||
71.4% UPLOAD /var/upload/baz.png
|
||||
85.7% UPLOAD /var/upload/image.jpg
|
||||
100.0% UPLOAD /var/upload/bar.gif
|
||||
14.3% UPLOAD /var/upload/test.php
|
||||
28.6% UPLOAD /var/upload/testing.php
|
||||
42.9% UPLOAD /var/upload/foo.php
|
||||
57.1% UPLOAD /var/upload/bar.php
|
||||
71.4% UPLOAD /var/upload/baz.png
|
||||
85.7% UPLOAD /var/upload/image.jpg
|
||||
100.0% UPLOAD /var/upload/bar.gif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
UPLOAD 14.29% /var/upload/test.php
|
||||
UPLOAD 28.57% /var/upload/testing.php
|
||||
UPLOAD 42.86% /var/upload/foo.php
|
||||
UPLOAD 57.14% /var/upload/bar.php
|
||||
UPLOAD 71.43% /var/upload/baz.png
|
||||
UPLOAD 85.71% /var/upload/image.jpg
|
||||
UPLOAD 100.00% /var/upload/bar.gif
|
||||
UPLOAD 14.29% /var/upload/test.php
|
||||
UPLOAD 28.57% /var/upload/testing.php
|
||||
UPLOAD 42.86% /var/upload/foo.php
|
||||
UPLOAD 57.14% /var/upload/bar.php
|
||||
UPLOAD 71.43% /var/upload/baz.png
|
||||
UPLOAD 85.71% /var/upload/image.jpg
|
||||
UPLOAD 100.00% /var/upload/bar.gif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
UPLOAD 14.29% /var/upload/test.php
|
||||
UPLOAD 28.57% /var/upload/testing.php
|
||||
UPLOAD 42.86% /var/upload/foo.php
|
||||
UPLOAD 57.14% /var/upload/bar.php
|
||||
UPLOAD 71.43% /var/upload/baz.png
|
||||
UPLOAD 85.71% /var/upload/image.jpg
|
||||
UPLOAD 100.00% /var/upload/bar.gif
|
||||
UPLOAD 14.29% /var/upload/test.php
|
||||
UPLOAD 28.57% /var/upload/testing.php
|
||||
UPLOAD 42.86% /var/upload/foo.php
|
||||
UPLOAD 57.14% /var/upload/bar.php
|
||||
UPLOAD 71.43% /var/upload/baz.png
|
||||
UPLOAD 85.71% /var/upload/image.jpg
|
||||
UPLOAD 100.00% /var/upload/bar.gif
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
2 / 10 [ööööööööööö>------------------------------------------------] 20.00%
|
||||
4 / 10 [ööööööööööööööööööööööö>------------------------------------] 40.00%
|
||||
6 / 10 [ööööööööööööööööööööööööööööööööööö>------------------------] 60.00%
|
||||
8 / 10 [ööööööööööööööööööööööööööööööööööööööööööööööö>------------] 80.00%
|
||||
2 / 10 [ööööööööööö>------------------------------------------------] 20.00%
|
||||
4 / 10 [ööööööööööööööööööööööö>------------------------------------] 40.00%
|
||||
6 / 10 [ööööööööööööööööööööööööööööööööööö>------------------------] 60.00%
|
||||
8 / 10 [ööööööööööööööööööööööööööööööööööööööööööööööö>------------] 80.00%
|
||||
10 / 10 [ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö>] 100.00%
|
||||
@@ -1,5 +1,5 @@
|
||||
2ö/ä10ü[ööööööööööö>------------------------------------------------]ß 20.00%
|
||||
4ö/ä10ü[ööööööööööööööööööööööö>------------------------------------]ß 40.00%
|
||||
6ö/ä10ü[ööööööööööööööööööööööööööööööööööö>------------------------]ß 60.00%
|
||||
8ö/ä10ü[ööööööööööööööööööööööööööööööööööööööööööööööö>------------]ß 80.00%
|
||||
2ö/ä10ü[ööööööööööö>------------------------------------------------]ß 20.00%
|
||||
4ö/ä10ü[ööööööööööööööööööööööö>------------------------------------]ß 40.00%
|
||||
6ö/ä10ü[ööööööööööööööööööööööööööööööööööö>------------------------]ß 60.00%
|
||||
8ö/ä10ü[ööööööööööööööööööööööööööööööööööööööööööööööö>------------]ß 80.00%
|
||||
10ö/ä10ü[ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö>]ß100.00%
|
||||
@@ -1,5 +1,5 @@
|
||||
2ö/ä10ü[+++++++++++>------------------------------------------------]ß 20.00%
|
||||
4ö/ä10ü[+++++++++++++++++++++++>------------------------------------]ß 40.00%
|
||||
6ö/ä10ü[+++++++++++++++++++++++++++++++++++>------------------------]ß 60.00%
|
||||
8ö/ä10ü[+++++++++++++++++++++++++++++++++++++++++++++++>------------]ß 80.00%
|
||||
2ö/ä10ü[+++++++++++>------------------------------------------------]ß 20.00%
|
||||
4ö/ä10ü[+++++++++++++++++++++++>------------------------------------]ß 40.00%
|
||||
6ö/ä10ü[+++++++++++++++++++++++++++++++++++>------------------------]ß 60.00%
|
||||
8ö/ä10ü[+++++++++++++++++++++++++++++++++++++++++++++++>------------]ß 80.00%
|
||||
10ö/ä10ü[+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>]ß100.00%
|
||||
@@ -1,11 +1,11 @@
|
||||
+----------------------------------------+----------------------+-------------+
|
||||
| Heading no. 1 | Longer heading no. 2 | Head 3 |
|
||||
+----------------------------------------+----------------------+-------------+
|
||||
| Data cell 1 | Data cell 2 | Data cell 3 |
|
||||
+----------------------------------------+----------------------+-------------+
|
||||
| Long long data cell with even more | Data cell 4 | Data cell 5 |
|
||||
| text in it... | | |
|
||||
+----------------------------------------+----------------------+-------------+
|
||||
| a b c d e f g h i j k l m n o p q r s | Data cell | Data cell |
|
||||
| t u v w x | | |
|
||||
+----------------------------------------+----------------------+-------------+
|
||||
| Heading no. 1 | Longer heading no. 2 | Head 3 |
|
||||
+----------------------------------------+----------------------+-------------+
|
||||
| Data cell 1 | Data cell 2 | Data cell 3 |
|
||||
+----------------------------------------+----------------------+-------------+
|
||||
| Long long data cell with even more | Data cell 4 | Data cell 5 |
|
||||
| text in it... | | |
|
||||
+----------------------------------------+----------------------+-------------+
|
||||
| a b c d e f g h i j k l m n o p q r s | Data cell | Data cell |
|
||||
| t u v w x | | |
|
||||
+----------------------------------------+----------------------+-------------+
|
||||
@@ -1,20 +1,20 @@
|
||||
+------------+------------+------------+
|
||||
| Heading | Longer | Head 3 |
|
||||
| no. 1 | heading | |
|
||||
| | no. 2 | |
|
||||
+------------+------------+------------+
|
||||
| Data cell | Data cell | Data cell |
|
||||
| 1 | 2 | 3 |
|
||||
+------------+------------+------------+
|
||||
| Long long | Data cell | Data cell |
|
||||
| data cell | 4 | 5 |
|
||||
| with even | | |
|
||||
| more text | | |
|
||||
| in it... | | |
|
||||
+------------+------------+------------+
|
||||
| a b c d e | Data cell | Data cell |
|
||||
| f g h i j | | |
|
||||
| k l m n o | | |
|
||||
| p q r s t | | |
|
||||
| u v w x | | |
|
||||
+------------+------------+------------+
|
||||
| Heading | Longer | Head 3 |
|
||||
| no. 1 | heading | |
|
||||
| | no. 2 | |
|
||||
+------------+------------+------------+
|
||||
| Data cell | Data cell | Data cell |
|
||||
| 1 | 2 | 3 |
|
||||
+------------+------------+------------+
|
||||
| Long long | Data cell | Data cell |
|
||||
| data cell | 4 | 5 |
|
||||
| with even | | |
|
||||
| more text | | |
|
||||
| in it... | | |
|
||||
+------------+------------+------------+
|
||||
| a b c d e | Data cell | Data cell |
|
||||
| f g h i j | | |
|
||||
| k l m n o | | |
|
||||
| p q r s t | | |
|
||||
| u v w x | | |
|
||||
+------------+------------+------------+
|
||||
@@ -1,5 +1,5 @@
|
||||
+---------+---------+---------+---------+---------+--------+
|
||||
| a | b | c | d | e | f |
|
||||
+---------+---------+---------+---------+---------+--------+
|
||||
| g | h | i | j | k | l |
|
||||
+---------+---------+---------+---------+---------+--------+
|
||||
| a | b | c | d | e | f |
|
||||
+---------+---------+---------+---------+---------+--------+
|
||||
| g | h | i | j | k | l |
|
||||
+---------+---------+---------+---------+---------+--------+
|
||||
@@ -1,5 +1,5 @@
|
||||
+---+---+---+---+---+---+
|
||||
| a | b | c | d | e | f |
|
||||
+---+---+---+---+---+---+
|
||||
| g | h | i | j | k | l |
|
||||
+---+---+---+---+---+---+
|
||||
| a | b | c | d | e | f |
|
||||
+---+---+---+---+---+---+
|
||||
| g | h | i | j | k | l |
|
||||
+---+---+---+---+---+---+
|
||||
@@ -1,11 +1,11 @@
|
||||
#########################################################################################################################
|
||||
# Parameter # Shortcut # Descrition #
|
||||
#########################################################################################################################
|
||||
# Append text to a file. This parameter takes a string value and may be used multiple times. # --append # -a #
|
||||
#########################################################################################################################
|
||||
# Prepend text to a file. This parameter takes a string value and may be used multiple times. # --prepend # -p #
|
||||
#########################################################################################################################
|
||||
# Forces the action desired without paying attention to any errors. # --force # -f #
|
||||
#########################################################################################################################
|
||||
# Silence all kinds of warnings issued by this program. # --silent # -s #
|
||||
#########################################################################################################################
|
||||
# Parameter # Shortcut # Descrition #
|
||||
#########################################################################################################################
|
||||
# Append text to a file. This parameter takes a string value and may be used multiple times. # --append # -a #
|
||||
#########################################################################################################################
|
||||
# Prepend text to a file. This parameter takes a string value and may be used multiple times. # --prepend # -p #
|
||||
#########################################################################################################################
|
||||
# Forces the action desired without paying attention to any errors. # --force # -f #
|
||||
#########################################################################################################################
|
||||
# Silence all kinds of warnings issued by this program. # --silent # -s #
|
||||
#########################################################################################################################
|
||||
@@ -1,15 +1,15 @@
|
||||
cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc
|
||||
h Parameter h Shortcut h Descrition h
|
||||
cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc
|
||||
h Append text to a file. This parameter takes a h --append h -a h
|
||||
h string value and may be used multiple times. h h h
|
||||
cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc
|
||||
h Prepend text to a file. This parameter takes a h --prepend h -p h
|
||||
h string value and may be used multiple times. h h h
|
||||
cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc
|
||||
h Forces the action desired without paying attention h --force h -f h
|
||||
h to any errors. h h h
|
||||
cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc
|
||||
h Silence all kinds of warnings issued by this h --silent h -s h
|
||||
h program. h h h
|
||||
cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc
|
||||
h Parameter h Shortcut h Descrition h
|
||||
cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc
|
||||
h Append text to a file. This parameter takes a h --append h -a h
|
||||
h string value and may be used multiple times. h h h
|
||||
cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc
|
||||
h Prepend text to a file. This parameter takes a h --prepend h -p h
|
||||
h string value and may be used multiple times. h h h
|
||||
cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc
|
||||
h Forces the action desired without paying attention h --force h -f h
|
||||
h to any errors. h h h
|
||||
cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc
|
||||
h Silence all kinds of warnings issued by this h --silent h -s h
|
||||
h program. h h h
|
||||
cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc
|
||||
@@ -1,11 +1,11 @@
|
||||
+---------+---------+---------+
|
||||
| Parameter | Shortcut | Descrition |
|
||||
+---------+---------+---------+
|
||||
| Append text to a file. This parameter takes a string value and may be used multiple times. | --append | -a |
|
||||
+---------+---------+---------+
|
||||
| Prepend text to a file. This parameter takes a string value and may be used multiple times. | --prepend | -p |
|
||||
+---------+---------+---------+
|
||||
| Forces the action desired without paying attention to any errors. | --force | -f |
|
||||
+---------+---------+---------+
|
||||
| Silence all kinds of warnings issued by this program. | --silent | -s |
|
||||
+---------+---------+---------+
|
||||
| Parameter | Shortcut | Descrition |
|
||||
+---------+---------+---------+
|
||||
| Append text to a file. This parameter takes a string value and may be used multiple times. | --append | -a |
|
||||
+---------+---------+---------+
|
||||
| Prepend text to a file. This parameter takes a string value and may be used multiple times. | --prepend | -p |
|
||||
+---------+---------+---------+
|
||||
| Forces the action desired without paying attention to any errors. | --force | -f |
|
||||
+---------+---------+---------+
|
||||
| Silence all kinds of warnings issued by this program. | --silent | -s |
|
||||
+---------+---------+---------+
|
||||
@@ -1,11 +1,11 @@
|
||||
+-----+-----+-----+
|
||||
| Par | Sho | Des |
|
||||
+-----+-----+-----+
|
||||
| App | --a | -a |
|
||||
+-----+-----+-----+
|
||||
| Pre | --p | -p |
|
||||
+-----+-----+-----+
|
||||
| For | --f | -f |
|
||||
+-----+-----+-----+
|
||||
| Sil | --s | -s |
|
||||
+-----+-----+-----+
|
||||
| Par | Sho | Des |
|
||||
+-----+-----+-----+
|
||||
| App | --a | -a |
|
||||
+-----+-----+-----+
|
||||
| Pre | --p | -p |
|
||||
+-----+-----+-----+
|
||||
| For | --f | -f |
|
||||
+-----+-----+-----+
|
||||
| Sil | --s | -s |
|
||||
+-----+-----+-----+
|
||||
@@ -1,9 +1,9 @@
|
||||
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
||||
| Some very very long data he | Short | Some very very long data he | Short |
|
||||
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
||||
| Short | Some very very long data he | Short | Some very very long data he |
|
||||
| | | | |
|
||||
| | and it becomes even much mu | | |
|
||||
| | | | |
|
||||
| | and even longer.... | | |
|
||||
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
||||
| Some very very long data he | Short | Some very very long data he | Short |
|
||||
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
||||
| Short | Some very very long data he | Short | Some very very long data he |
|
||||
| | | | |
|
||||
| | and it becomes even much mu | | |
|
||||
| | | | |
|
||||
| | and even longer.... | | |
|
||||
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
||||
@@ -1,14 +1,14 @@
|
||||
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
||||
| Some very very long data | Short | Some very very long data | Short |
|
||||
| here.... and it becomes | | here.... and it becomes | |
|
||||
| even much much longer... | | even much much longer... | |
|
||||
| and even longer.... | | and even longer.... | |
|
||||
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
||||
| Short | Some very very long data | Short | Some very very long data |
|
||||
| | here.... | | here.... and it becomes |
|
||||
| | | | even much much longer... |
|
||||
| | and it becomes even much | | and even longer.... |
|
||||
| | much longer... | | |
|
||||
| | | | |
|
||||
| | and even longer.... | | |
|
||||
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
||||
| Some very very long data | Short | Some very very long data | Short |
|
||||
| here.... and it becomes | | here.... and it becomes | |
|
||||
| even much much longer... | | even much much longer... | |
|
||||
| and even longer.... | | and even longer.... | |
|
||||
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
||||
| Short | Some very very long data | Short | Some very very long data |
|
||||
| | here.... | | here.... and it becomes |
|
||||
| | | | even much much longer... |
|
||||
| | and it becomes even much | | and even longer.... |
|
||||
| | much longer... | | |
|
||||
| | | | |
|
||||
| | and even longer.... | | |
|
||||
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
||||
@@ -1,9 +1,9 @@
|
||||
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
||||
| Some very very long data he | Short | Some very very long data he | Short |
|
||||
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
||||
| Short | Some very very long data he | Short | Some very very long data he |
|
||||
| | | | |
|
||||
| | and it becomes even much mu | | |
|
||||
| | | | |
|
||||
| | and even longer.... | | |
|
||||
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
||||
| Some very very long data he | Short | Some very very long data he | Short |
|
||||
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
||||
| Short | Some very very long data he | Short | Some very very long data he |
|
||||
| | | | |
|
||||
| | and it becomes even much mu | | |
|
||||
| | | | |
|
||||
| | and even longer.... | | |
|
||||
+-----------------------------+-----------------------------+-----------------------------+-----------------------------+
|
||||
@@ -1,12 +1,12 @@
|
||||
+-----------------------------------------------------------+-----------------------------------------------------------+
|
||||
| Short text | More short text |
|
||||
+-----------------------------------------------------------+-----------------------------------------------------------+
|
||||
| Short text | More short text |
|
||||
| Short text | More short text |
|
||||
| Short text | More short text |
|
||||
| Short text | Short text |
|
||||
| Short text | |
|
||||
| Short text | |
|
||||
| Short text | |
|
||||
| | |
|
||||
+-----------------------------------------------------------+-----------------------------------------------------------+
|
||||
| Short text | More short text |
|
||||
+-----------------------------------------------------------+-----------------------------------------------------------+
|
||||
| Short text | More short text |
|
||||
| Short text | More short text |
|
||||
| Short text | More short text |
|
||||
| Short text | Short text |
|
||||
| Short text | |
|
||||
| Short text | |
|
||||
| Short text | |
|
||||
| | |
|
||||
+-----------------------------------------------------------+-----------------------------------------------------------+
|
||||
@@ -1,5 +1,5 @@
|
||||
+----------------+----------------+----------------+----------------+----------------+-------------+
|
||||
|~~~ a ~~~|~~~ b ~~~|~~~ c ~~~|~~~ d ~~~|~~~ e ~~~|~~~ f ~~~|
|
||||
+----------------+----------------+----------------+----------------+----------------+-------------+
|
||||
|~~~ g ~~~|~~~ h ~~~|~~~ i ~~~|~~~ j ~~~|~~~ k ~~~|~~~ l ~~~|
|
||||
+----------------+----------------+----------------+----------------+----------------+-------------+
|
||||
|~~~ a ~~~|~~~ b ~~~|~~~ c ~~~|~~~ d ~~~|~~~ e ~~~|~~~ f ~~~|
|
||||
+----------------+----------------+----------------+----------------+----------------+-------------+
|
||||
|~~~ g ~~~|~~~ h ~~~|~~~ i ~~~|~~~ j ~~~|~~~ k ~~~|~~~ l ~~~|
|
||||
+----------------+----------------+----------------+----------------+----------------+-------------+
|
||||
@@ -1,5 +1,5 @@
|
||||
+-------+-------+-------+-------+-------+-------+
|
||||
|~~~a~~~|~~~b~~~|~~~c~~~|~~~d~~~|~~~e~~~|~~~f~~~|
|
||||
+-------+-------+-------+-------+-------+-------+
|
||||
|~~~g~~~|~~~h~~~|~~~i~~~|~~~j~~~|~~~k~~~|~~~l~~~|
|
||||
+-------+-------+-------+-------+-------+-------+
|
||||
|~~~a~~~|~~~b~~~|~~~c~~~|~~~d~~~|~~~e~~~|~~~f~~~|
|
||||
+-------+-------+-------+-------+-------+-------+
|
||||
|~~~g~~~|~~~h~~~|~~~i~~~|~~~j~~~|~~~k~~~|~~~l~~~|
|
||||
+-------+-------+-------+-------+-------+-------+
|
||||
@@ -1,14 +1,14 @@
|
||||
|
||||
Some very very long data Short Some very very long data Short
|
||||
here.... and it becomes here.... and it becomes
|
||||
even much much longer... even much much longer...
|
||||
and even longer.... and even longer....
|
||||
|
||||
Short Some very very long data Short Some very very long data
|
||||
here.... here.... and it becomes
|
||||
even much much longer...
|
||||
and it becomes even much and even longer....
|
||||
much longer...
|
||||
|
||||
and even longer....
|
||||
|
||||
Some very very long data Short Some very very long data Short
|
||||
here.... and it becomes here.... and it becomes
|
||||
even much much longer... even much much longer...
|
||||
and even longer.... and even longer....
|
||||
|
||||
Short Some very very long data Short Some very very long data
|
||||
here.... here.... and it becomes
|
||||
even much much longer...
|
||||
and it becomes even much and even longer....
|
||||
much longer...
|
||||
|
||||
and even longer....
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
Some very very long data Short Some very very long data Short
|
||||
here.... and it becomes even here.... and it becomes even
|
||||
much much longer... and even much much longer... and even
|
||||
longer.... longer....
|
||||
Short Some very very long data Short Some very very long data
|
||||
here.... here.... and it becomes even
|
||||
much much longer... and even
|
||||
and it becomes even much longer....
|
||||
much longer...
|
||||
|
||||
Some very very long data Short Some very very long data Short
|
||||
here.... and it becomes even here.... and it becomes even
|
||||
much much longer... and even much much longer... and even
|
||||
longer.... longer....
|
||||
Short Some very very long data Short Some very very long data
|
||||
here.... here.... and it becomes even
|
||||
much much longer... and even
|
||||
and it becomes even much longer....
|
||||
much longer...
|
||||
|
||||
and even longer....
|
||||
@@ -1,5 +1,5 @@
|
||||
+---+---+---+---+---+---+
|
||||
| a | b | c | d | e | f |
|
||||
+---+---+---+---+---+---+
|
||||
| g | h | i | j | k | l |
|
||||
+---+---+---+---+---+---+
|
||||
| a | b | c | d | e | f |
|
||||
+---+---+---+---+---+---+
|
||||
| g | h | i | j | k | l |
|
||||
+---+---+---+---+---+---+
|
||||
@@ -1,14 +1,14 @@
|
||||
------------------------------------------------------------------------------------------------------------------------
|
||||
Some very very long data Short Some very very long data Short
|
||||
here.... and it becomes even here.... and it becomes even
|
||||
much much longer... and even much much longer... and even
|
||||
longer.... longer....
|
||||
------------------------------------------------------------------------------------------------------------------------
|
||||
Short Some very very long data Short Some very very long data
|
||||
here.... here.... and it becomes even
|
||||
much much longer... and even
|
||||
and it becomes even much longer....
|
||||
much longer...
|
||||
|
||||
and even longer....
|
||||
------------------------------------------------------------------------------------------------------------------------
|
||||
Some very very long data Short Some very very long data Short
|
||||
here.... and it becomes even here.... and it becomes even
|
||||
much much longer... and even much much longer... and even
|
||||
longer.... longer....
|
||||
------------------------------------------------------------------------------------------------------------------------
|
||||
Short Some very very long data Short Some very very long data
|
||||
here.... here.... and it becomes even
|
||||
much much longer... and even
|
||||
and it becomes even much longer....
|
||||
much longer...
|
||||
|
||||
and even longer....
|
||||
------------------------------------------------------------------------------------------------------------------------
|
||||
@@ -1,11 +1,11 @@
|
||||
| Some very very long data | Short | Some very very long data | Short |
|
||||
| here.... and it becomes | | here.... and it becomes | |
|
||||
| even much much longer... | | even much much longer... | |
|
||||
| and even longer.... | | and even longer.... | |
|
||||
| Short | Some very very long data | Short | Some very very long data |
|
||||
| | here.... | | here.... and it becomes |
|
||||
| | | | even much much longer... |
|
||||
| | and it becomes even much | | and even longer.... |
|
||||
| | much longer... | | |
|
||||
| | | | |
|
||||
| Some very very long data | Short | Some very very long data | Short |
|
||||
| here.... and it becomes | | here.... and it becomes | |
|
||||
| even much much longer... | | even much much longer... | |
|
||||
| and even longer.... | | and even longer.... | |
|
||||
| Short | Some very very long data | Short | Some very very long data |
|
||||
| | here.... | | here.... and it becomes |
|
||||
| | | | even much much longer... |
|
||||
| | and it becomes even much | | and even longer.... |
|
||||
| | much longer... | | |
|
||||
| | | | |
|
||||
| | and even longer.... | | |
|
||||
@@ -1,7 +1,7 @@
|
||||
+--------------------+--------------------+-----------------------------------+
|
||||
| Non UTF-8 column 1 | Non UTF-8 column 2 | Long long long long long long |
|
||||
| | | long non UTF-8 column |
|
||||
+--------------------+--------------------+-----------------------------------+
|
||||
| Nön UTF-8 cölümn 1 | Nön UTF-8 cölümn 2 | Löng löng löng löng löng löng |
|
||||
| | | löng nön UTF-8 cölümn |
|
||||
+--------------------+--------------------+-----------------------------------+
|
||||
| Non UTF-8 column 1 | Non UTF-8 column 2 | Long long long long long long |
|
||||
| | | long non UTF-8 column |
|
||||
+--------------------+--------------------+-----------------------------------+
|
||||
| Nön UTF-8 cölümn 1 | Nön UTF-8 cölümn 2 | Löng löng löng löng löng löng |
|
||||
| | | löng nön UTF-8 cölümn |
|
||||
+--------------------+--------------------+-----------------------------------+
|
||||
@@ -1,7 +1,7 @@
|
||||
+--------------------+--------------------+-----------------------------------+
|
||||
| Nön UTF-8 cölümn 1 | Nön UTF-8 cölümn 2 | Löng löng löng löng löng löng |
|
||||
| | | löng nön UTF-8 cölümn |
|
||||
+--------------------+--------------------+-----------------------------------+
|
||||
| Non UTF-8 column 1 | Non UTF-8 column 2 | Long long long long long long |
|
||||
| | | long non UTF-8 column |
|
||||
+--------------------+--------------------+-----------------------------------+
|
||||
| Nön UTF-8 cölümn 1 | Nön UTF-8 cölümn 2 | Löng löng löng löng löng löng |
|
||||
| | | löng nön UTF-8 cölümn |
|
||||
+--------------------+--------------------+-----------------------------------+
|
||||
| Non UTF-8 column 1 | Non UTF-8 column 2 | Long long long long long long |
|
||||
| | | long non UTF-8 column |
|
||||
+--------------------+--------------------+-----------------------------------+
|
||||
171
core/lib/fpdf/changelog.htm
Normal file
171
core/lib/fpdf/changelog.htm
Normal file
@@ -0,0 +1,171 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<title>Changelog</title>
|
||||
<link type="text/css" rel="stylesheet" href="fpdf.css">
|
||||
<style type="text/css">
|
||||
dd {margin:1em 0 1em 1em}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Changelog</h1>
|
||||
<dl>
|
||||
<dt><strong>v1.83</strong> (2021-04-18)</dt>
|
||||
<dd>
|
||||
- Fixed an issue related to annotations.<br>
|
||||
</dd>
|
||||
<dt><strong>v1.82</strong> (2019-12-07)</dt>
|
||||
<dd>
|
||||
- Removed a deprecation notice under PHP 7.4.<br>
|
||||
</dd>
|
||||
<dt><strong>v1.81</strong> (2015-12-20)</dt>
|
||||
<dd>
|
||||
- Added GetPageWidth() and GetPageHeight().<br>
|
||||
- Fixed a bug in SetXY().<br>
|
||||
</dd>
|
||||
<dt><strong>v1.8</strong> (2015-11-29)</dt>
|
||||
<dd>
|
||||
- PHP 5.1.0 or higher is now required.<br>
|
||||
- The MakeFont utility now subsets fonts, which can greatly reduce font sizes.<br>
|
||||
- Added ToUnicode CMaps to improve text extraction.<br>
|
||||
- Added a parameter to AddPage() to rotate the page.<br>
|
||||
- Added a parameter to SetY() to indicate whether the x position should be reset or not.<br>
|
||||
- Added a parameter to Output() to specify the encoding of the name, and special characters are now properly encoded. Additionally the order of the first two parameters was reversed to be more logical (however the old order is still supported for compatibility).<br>
|
||||
- The Error() method now throws an exception.<br>
|
||||
- Adding contents before the first AddPage() or after Close() now raises an error.<br>
|
||||
- Outputting text with no font selected now raises an error.<br>
|
||||
</dd>
|
||||
<dt><strong>v1.7</strong> (2011-06-18)</dt>
|
||||
<dd>
|
||||
- The MakeFont utility has been completely rewritten and doesn't depend on ttf2pt1 anymore.<br>
|
||||
- Alpha channel is now supported for PNGs.<br>
|
||||
- When inserting an image, it's now possible to specify its resolution.<br>
|
||||
- Default resolution for images was increased from 72 to 96 dpi.<br>
|
||||
- When inserting a GIF image, no temporary file is used anymore if the PHP version is 5.1 or higher.<br>
|
||||
- When output buffering is enabled and the PDF is about to be sent, the buffer is now cleared if it contains only a UTF-8 BOM and/or whitespace (instead of throwing an error).<br>
|
||||
- Symbol and ZapfDingbats fonts now support underline style.<br>
|
||||
- Custom page sizes are now checked to ensure that width is smaller than height.<br>
|
||||
- Standard font files were changed to use the same format as user fonts.<br>
|
||||
- A bug in the embedding of Type1 fonts was fixed.<br>
|
||||
- A bug related to SetDisplayMode() and the current locale was fixed.<br>
|
||||
- A display issue occurring with the Adobe Reader X plug-in was fixed.<br>
|
||||
- An issue related to transparency with some versions of Adobe Reader was fixed.<br>
|
||||
- The Content-Length header was removed because it caused an issue when the HTTP server applies compression.<br>
|
||||
</dd>
|
||||
<dt><strong>v1.6</strong> (2008-08-03)</dt>
|
||||
<dd>
|
||||
- PHP 4.3.10 or higher is now required.<br>
|
||||
- GIF image support.<br>
|
||||
- Images can now trigger page breaks.<br>
|
||||
- Possibility to have different page formats in a single document.<br>
|
||||
- Document properties (author, creator, keywords, subject and title) can now be specified in UTF-8.<br>
|
||||
- Fixed a bug: when a PNG was inserted through a URL, an error sometimes occurred.<br>
|
||||
- An automatic page break in Header() doesn't cause an infinite loop any more.<br>
|
||||
- Removed some warning messages appearing with recent PHP versions.<br>
|
||||
- Added HTTP headers to reduce problems with IE.<br>
|
||||
</dd>
|
||||
<dt><strong>v1.53</strong> (2004-12-31)</dt>
|
||||
<dd>
|
||||
- When the font subdirectory is in the same directory as fpdf.php, it's no longer necessary to define the FPDF_FONTPATH constant.<br>
|
||||
- The array $HTTP_SERVER_VARS is no longer used. It could cause trouble on PHP5-based configurations with the register_long_arrays option disabled.<br>
|
||||
- Fixed a problem related to Type1 font embedding which caused trouble to some PDF processors.<br>
|
||||
- The file name sent to the browser could not contain a space character.<br>
|
||||
- The Cell() method could not print the number 0 (you had to pass the string '0').<br>
|
||||
</dd>
|
||||
<dt><strong>v1.52</strong> (2003-12-30)</dt>
|
||||
<dd>
|
||||
- Image() now displays the image at 72 dpi if no dimension is given.<br>
|
||||
- Output() takes a string as second parameter to indicate destination.<br>
|
||||
- Open() is now called automatically by AddPage().<br>
|
||||
- Inserting remote JPEG images doesn't generate an error any longer.<br>
|
||||
- Decimal separator is forced to dot in the constructor.<br>
|
||||
- Added several encodings (Turkish, Thai, Hebrew, Ukrainian and Vietnamese).<br>
|
||||
- The last line of a right-aligned MultiCell() was not correctly aligned if it was terminated by a carriage return.<br>
|
||||
- No more error message about already sent headers when outputting the PDF to the standard output from the command line.<br>
|
||||
- The underlining was going too far for text containing characters \, ( or ).<br>
|
||||
- $HTTP_ENV_VARS has been replaced by $HTTP_SERVER_VARS.<br>
|
||||
</dd>
|
||||
<dt><strong>v1.51</strong> (2002-08-03)</dt>
|
||||
<dd>
|
||||
- Type1 font support.<br>
|
||||
- Added Baltic encoding.<br>
|
||||
- The class now works internally in points with the origin at the bottom in order to avoid two bugs occurring with Acrobat 5:<br> * The line thickness was too large when printed under Windows 98 SE and ME.<br> * TrueType fonts didn't appear immediately inside the plug-in (a substitution font was used), one had to cause a window refresh to make them show up.<br>
|
||||
- It's no longer necessary to set the decimal separator as dot to produce valid documents.<br>
|
||||
- The clickable area in a cell was always on the left independently from the text alignment.<br>
|
||||
- JPEG images in CMYK mode appeared in inverted colors.<br>
|
||||
- Transparent PNG images in grayscale or true color mode were incorrectly handled.<br>
|
||||
- Adding new fonts now works correctly even with the magic_quotes_runtime option set to on.<br>
|
||||
</dd>
|
||||
<dt><strong>v1.5</strong> (2002-05-28)</dt>
|
||||
<dd>
|
||||
- TrueType font (AddFont()) and encoding support (Western and Eastern Europe, Cyrillic and Greek).<br>
|
||||
- Added Write() method.<br>
|
||||
- Added underlined style.<br>
|
||||
- Internal and external link support (AddLink(), SetLink(), Link()).<br>
|
||||
- Added right margin management and methods SetRightMargin(), SetTopMargin().<br>
|
||||
- Modification of SetDisplayMode() to select page layout.<br>
|
||||
- The border parameter of MultiCell() now lets choose borders to draw as Cell().<br>
|
||||
- When a document contains no page, Close() now calls AddPage() instead of causing a fatal error.<br>
|
||||
</dd>
|
||||
<dt><strong>v1.41</strong> (2002-03-13)</dt>
|
||||
<dd>
|
||||
- Fixed SetDisplayMode() which no longer worked (the PDF viewer used its default display).<br>
|
||||
</dd>
|
||||
<dt><strong>v1.4</strong> (2002-03-02)</dt>
|
||||
<dd>
|
||||
- PHP3 is no longer supported.<br>
|
||||
- Page compression (SetCompression()).<br>
|
||||
- Choice of page format and possibility to change orientation inside document.<br>
|
||||
- Added AcceptPageBreak() method.<br>
|
||||
- Ability to print the total number of pages (AliasNbPages()).<br>
|
||||
- Choice of cell borders to draw.<br>
|
||||
- New mode for Cell(): the current position can now move under the cell.<br>
|
||||
- Ability to include an image by specifying height only (width is calculated automatically).<br>
|
||||
- Fixed a bug: when a justified line triggered a page break, the footer inherited the corresponding word spacing.<br>
|
||||
</dd>
|
||||
<dt><strong>v1.31</strong> (2002-01-12)</dt>
|
||||
<dd>
|
||||
- Fixed a bug in drawing frame with MultiCell(): the last line always started from the left margin.<br>
|
||||
- Removed Expires HTTP header (gives trouble in some situations).<br>
|
||||
- Added Content-disposition HTTP header (seems to help in some situations).<br>
|
||||
</dd>
|
||||
<dt><strong>v1.3</strong> (2001-12-03)</dt>
|
||||
<dd>
|
||||
- Line break and text justification support (MultiCell()).<br>
|
||||
- Color support (SetDrawColor(), SetFillColor(), SetTextColor()). Possibility to draw filled rectangles and paint cell background.<br>
|
||||
- A cell whose width is declared null extends up to the right margin of the page.<br>
|
||||
- Line width is now retained from page to page and defaults to 0.2 mm.<br>
|
||||
- Added SetXY() method.<br>
|
||||
- Fixed a passing by reference done in a deprecated manner for PHP4.<br>
|
||||
</dd>
|
||||
<dt><strong>v1.2</strong> (2001-11-11)</dt>
|
||||
<dd>
|
||||
- Added font metric files and GetStringWidth() method.<br>
|
||||
- Centering and right-aligning text in cells.<br>
|
||||
- Display mode control (SetDisplayMode()).<br>
|
||||
- Added methods to set document properties (SetAuthor(), SetCreator(), SetKeywords(), SetSubject(), SetTitle()).<br>
|
||||
- Possibility to force PDF download by browser.<br>
|
||||
- Added SetX() and GetX() methods.<br>
|
||||
- During automatic page break, current abscissa is now retained.<br>
|
||||
</dd>
|
||||
<dt><strong>v1.11</strong> (2001-10-20)</dt>
|
||||
<dd>
|
||||
- PNG support doesn't require PHP4/zlib any more. Data are now put directly into PDF without any decompression/recompression stage.<br>
|
||||
- Image insertion now works correctly even with magic_quotes_runtime option set to on.<br>
|
||||
</dd>
|
||||
<dt><strong>v1.1</strong> (2001-10-07)</dt>
|
||||
<dd>
|
||||
- JPEG and PNG image support.<br>
|
||||
</dd>
|
||||
<dt><strong>v1.01</strong> (2001-10-03)</dt>
|
||||
<dd>
|
||||
- Fixed a bug involving page break: in case when Header() doesn't specify a font, the one from previous page was not restored and produced an incorrect document.<br>
|
||||
</dd>
|
||||
<dt><strong>v1.0</strong> (2001-09-17)</dt>
|
||||
<dd>
|
||||
- First version.<br>
|
||||
</dd>
|
||||
</dl>
|
||||
</body>
|
||||
</html>
|
||||
10
core/lib/fpdf/font/courier.php
Normal file
10
core/lib/fpdf/font/courier.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
$type = 'Core';
|
||||
$name = 'Courier';
|
||||
$up = -100;
|
||||
$ut = 50;
|
||||
for($i=0;$i<=255;$i++)
|
||||
$cw[chr($i)] = 600;
|
||||
$enc = 'cp1252';
|
||||
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
|
||||
?>
|
||||
10
core/lib/fpdf/font/courierb.php
Normal file
10
core/lib/fpdf/font/courierb.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
$type = 'Core';
|
||||
$name = 'Courier-Bold';
|
||||
$up = -100;
|
||||
$ut = 50;
|
||||
for($i=0;$i<=255;$i++)
|
||||
$cw[chr($i)] = 600;
|
||||
$enc = 'cp1252';
|
||||
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
|
||||
?>
|
||||
10
core/lib/fpdf/font/courierbi.php
Normal file
10
core/lib/fpdf/font/courierbi.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
$type = 'Core';
|
||||
$name = 'Courier-BoldOblique';
|
||||
$up = -100;
|
||||
$ut = 50;
|
||||
for($i=0;$i<=255;$i++)
|
||||
$cw[chr($i)] = 600;
|
||||
$enc = 'cp1252';
|
||||
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
|
||||
?>
|
||||
10
core/lib/fpdf/font/courieri.php
Normal file
10
core/lib/fpdf/font/courieri.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
$type = 'Core';
|
||||
$name = 'Courier-Oblique';
|
||||
$up = -100;
|
||||
$ut = 50;
|
||||
for($i=0;$i<=255;$i++)
|
||||
$cw[chr($i)] = 600;
|
||||
$enc = 'cp1252';
|
||||
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
|
||||
?>
|
||||
21
core/lib/fpdf/font/helvetica.php
Normal file
21
core/lib/fpdf/font/helvetica.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
$type = 'Core';
|
||||
$name = 'Helvetica';
|
||||
$up = -100;
|
||||
$ut = 50;
|
||||
$cw = array(
|
||||
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
||||
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
||||
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667,
|
||||
'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
|
||||
'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833,
|
||||
'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556,
|
||||
chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
||||
chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
|
||||
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667,
|
||||
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
||||
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556,
|
||||
chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500);
|
||||
$enc = 'cp1252';
|
||||
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
|
||||
?>
|
||||
21
core/lib/fpdf/font/helveticab.php
Normal file
21
core/lib/fpdf/font/helveticab.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
$type = 'Core';
|
||||
$name = 'Helvetica-Bold';
|
||||
$up = -100;
|
||||
$ut = 50;
|
||||
$cw = array(
|
||||
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
||||
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
||||
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722,
|
||||
'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
|
||||
'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889,
|
||||
'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556,
|
||||
chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
||||
chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
|
||||
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
|
||||
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
||||
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611,
|
||||
chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556);
|
||||
$enc = 'cp1252';
|
||||
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
|
||||
?>
|
||||
21
core/lib/fpdf/font/helveticabi.php
Normal file
21
core/lib/fpdf/font/helveticabi.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
$type = 'Core';
|
||||
$name = 'Helvetica-BoldOblique';
|
||||
$up = -100;
|
||||
$ut = 50;
|
||||
$cw = array(
|
||||
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
||||
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
||||
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722,
|
||||
'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
|
||||
'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889,
|
||||
'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556,
|
||||
chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
||||
chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
|
||||
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
|
||||
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
||||
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611,
|
||||
chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556);
|
||||
$enc = 'cp1252';
|
||||
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
|
||||
?>
|
||||
21
core/lib/fpdf/font/helveticai.php
Normal file
21
core/lib/fpdf/font/helveticai.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
$type = 'Core';
|
||||
$name = 'Helvetica-Oblique';
|
||||
$up = -100;
|
||||
$ut = 50;
|
||||
$cw = array(
|
||||
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
||||
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
||||
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667,
|
||||
'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
|
||||
'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833,
|
||||
'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556,
|
||||
chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
||||
chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
|
||||
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667,
|
||||
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
||||
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556,
|
||||
chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500);
|
||||
$enc = 'cp1252';
|
||||
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
|
||||
?>
|
||||
20
core/lib/fpdf/font/symbol.php
Normal file
20
core/lib/fpdf/font/symbol.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
$type = 'Core';
|
||||
$name = 'Symbol';
|
||||
$up = -100;
|
||||
$ut = 50;
|
||||
$cw = array(
|
||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>713,'#'=>500,'$'=>549,'%'=>833,'&'=>778,'\''=>439,'('=>333,')'=>333,'*'=>500,'+'=>549,
|
||||
','=>250,'-'=>549,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>549,'='=>549,'>'=>549,'?'=>444,'@'=>549,'A'=>722,
|
||||
'B'=>667,'C'=>722,'D'=>612,'E'=>611,'F'=>763,'G'=>603,'H'=>722,'I'=>333,'J'=>631,'K'=>722,'L'=>686,'M'=>889,'N'=>722,'O'=>722,'P'=>768,'Q'=>741,'R'=>556,'S'=>592,'T'=>611,'U'=>690,'V'=>439,'W'=>768,
|
||||
'X'=>645,'Y'=>795,'Z'=>611,'['=>333,'\\'=>863,']'=>333,'^'=>658,'_'=>500,'`'=>500,'a'=>631,'b'=>549,'c'=>549,'d'=>494,'e'=>439,'f'=>521,'g'=>411,'h'=>603,'i'=>329,'j'=>603,'k'=>549,'l'=>549,'m'=>576,
|
||||
'n'=>521,'o'=>549,'p'=>549,'q'=>521,'r'=>549,'s'=>603,'t'=>439,'u'=>576,'v'=>713,'w'=>686,'x'=>493,'y'=>686,'z'=>494,'{'=>480,'|'=>200,'}'=>480,'~'=>549,chr(127)=>0,chr(128)=>0,chr(129)=>0,chr(130)=>0,chr(131)=>0,
|
||||
chr(132)=>0,chr(133)=>0,chr(134)=>0,chr(135)=>0,chr(136)=>0,chr(137)=>0,chr(138)=>0,chr(139)=>0,chr(140)=>0,chr(141)=>0,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0,
|
||||
chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>750,chr(161)=>620,chr(162)=>247,chr(163)=>549,chr(164)=>167,chr(165)=>713,chr(166)=>500,chr(167)=>753,chr(168)=>753,chr(169)=>753,chr(170)=>753,chr(171)=>1042,chr(172)=>987,chr(173)=>603,chr(174)=>987,chr(175)=>603,
|
||||
chr(176)=>400,chr(177)=>549,chr(178)=>411,chr(179)=>549,chr(180)=>549,chr(181)=>713,chr(182)=>494,chr(183)=>460,chr(184)=>549,chr(185)=>549,chr(186)=>549,chr(187)=>549,chr(188)=>1000,chr(189)=>603,chr(190)=>1000,chr(191)=>658,chr(192)=>823,chr(193)=>686,chr(194)=>795,chr(195)=>987,chr(196)=>768,chr(197)=>768,
|
||||
chr(198)=>823,chr(199)=>768,chr(200)=>768,chr(201)=>713,chr(202)=>713,chr(203)=>713,chr(204)=>713,chr(205)=>713,chr(206)=>713,chr(207)=>713,chr(208)=>768,chr(209)=>713,chr(210)=>790,chr(211)=>790,chr(212)=>890,chr(213)=>823,chr(214)=>549,chr(215)=>250,chr(216)=>713,chr(217)=>603,chr(218)=>603,chr(219)=>1042,
|
||||
chr(220)=>987,chr(221)=>603,chr(222)=>987,chr(223)=>603,chr(224)=>494,chr(225)=>329,chr(226)=>790,chr(227)=>790,chr(228)=>786,chr(229)=>713,chr(230)=>384,chr(231)=>384,chr(232)=>384,chr(233)=>384,chr(234)=>384,chr(235)=>384,chr(236)=>494,chr(237)=>494,chr(238)=>494,chr(239)=>494,chr(240)=>0,chr(241)=>329,
|
||||
chr(242)=>274,chr(243)=>686,chr(244)=>686,chr(245)=>686,chr(246)=>384,chr(247)=>384,chr(248)=>384,chr(249)=>384,chr(250)=>384,chr(251)=>384,chr(252)=>494,chr(253)=>494,chr(254)=>494,chr(255)=>0);
|
||||
$uv = array(32=>160,33=>33,34=>8704,35=>35,36=>8707,37=>array(37,2),39=>8715,40=>array(40,2),42=>8727,43=>array(43,2),45=>8722,46=>array(46,18),64=>8773,65=>array(913,2),67=>935,68=>array(916,2),70=>934,71=>915,72=>919,73=>921,74=>977,75=>array(922,4),79=>array(927,2),81=>920,82=>929,83=>array(931,3),86=>962,87=>937,88=>926,89=>936,90=>918,91=>91,92=>8756,93=>93,94=>8869,95=>95,96=>63717,97=>array(945,2),99=>967,100=>array(948,2),102=>966,103=>947,104=>951,105=>953,106=>981,107=>array(954,4),111=>array(959,2),113=>952,114=>961,115=>array(963,3),118=>982,119=>969,120=>958,121=>968,122=>950,123=>array(123,3),126=>8764,160=>8364,161=>978,162=>8242,163=>8804,164=>8725,165=>8734,166=>402,167=>9827,168=>9830,169=>9829,170=>9824,171=>8596,172=>array(8592,4),176=>array(176,2),178=>8243,179=>8805,180=>215,181=>8733,182=>8706,183=>8226,184=>247,185=>array(8800,2),187=>8776,188=>8230,189=>array(63718,2),191=>8629,192=>8501,193=>8465,194=>8476,195=>8472,196=>8855,197=>8853,198=>8709,199=>array(8745,2),201=>8835,202=>8839,203=>8836,204=>8834,205=>8838,206=>array(8712,2),208=>8736,209=>8711,210=>63194,211=>63193,212=>63195,213=>8719,214=>8730,215=>8901,216=>172,217=>array(8743,2),219=>8660,220=>array(8656,4),224=>9674,225=>9001,226=>array(63720,3),229=>8721,230=>array(63723,10),241=>9002,242=>8747,243=>8992,244=>63733,245=>8993,246=>array(63734,9));
|
||||
?>
|
||||
21
core/lib/fpdf/font/times.php
Normal file
21
core/lib/fpdf/font/times.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
$type = 'Core';
|
||||
$name = 'Times-Roman';
|
||||
$up = -100;
|
||||
$ut = 50;
|
||||
$cw = array(
|
||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>408,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>180,'('=>333,')'=>333,'*'=>500,'+'=>564,
|
||||
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>564,'='=>564,'>'=>564,'?'=>444,'@'=>921,'A'=>722,
|
||||
'B'=>667,'C'=>667,'D'=>722,'E'=>611,'F'=>556,'G'=>722,'H'=>722,'I'=>333,'J'=>389,'K'=>722,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>556,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>722,'W'=>944,
|
||||
'X'=>722,'Y'=>722,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>469,'_'=>500,'`'=>333,'a'=>444,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778,
|
||||
'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>333,'s'=>389,'t'=>278,'u'=>500,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>480,'|'=>200,'}'=>480,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
|
||||
chr(132)=>444,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>889,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>444,chr(148)=>444,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>980,
|
||||
chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>200,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>564,chr(173)=>333,chr(174)=>760,chr(175)=>333,
|
||||
chr(176)=>400,chr(177)=>564,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>453,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>444,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
|
||||
chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>564,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
||||
chr(220)=>722,chr(221)=>722,chr(222)=>556,chr(223)=>500,chr(224)=>444,chr(225)=>444,chr(226)=>444,chr(227)=>444,chr(228)=>444,chr(229)=>444,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500,
|
||||
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>564,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>500,chr(254)=>500,chr(255)=>500);
|
||||
$enc = 'cp1252';
|
||||
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
|
||||
?>
|
||||
21
core/lib/fpdf/font/timesb.php
Normal file
21
core/lib/fpdf/font/timesb.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
$type = 'Core';
|
||||
$name = 'Times-Bold';
|
||||
$up = -100;
|
||||
$ut = 50;
|
||||
$cw = array(
|
||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>555,'#'=>500,'$'=>500,'%'=>1000,'&'=>833,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570,
|
||||
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>930,'A'=>722,
|
||||
'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>778,'I'=>389,'J'=>500,'K'=>778,'L'=>667,'M'=>944,'N'=>722,'O'=>778,'P'=>611,'Q'=>778,'R'=>722,'S'=>556,'T'=>667,'U'=>722,'V'=>722,'W'=>1000,
|
||||
'X'=>722,'Y'=>722,'Z'=>667,'['=>333,'\\'=>278,']'=>333,'^'=>581,'_'=>500,'`'=>333,'a'=>500,'b'=>556,'c'=>444,'d'=>556,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>333,'k'=>556,'l'=>278,'m'=>833,
|
||||
'n'=>556,'o'=>500,'p'=>556,'q'=>556,'r'=>444,'s'=>389,'t'=>333,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>394,'|'=>220,'}'=>394,'~'=>520,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
|
||||
chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>667,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
||||
chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>300,chr(171)=>500,chr(172)=>570,chr(173)=>333,chr(174)=>747,chr(175)=>333,
|
||||
chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>556,chr(182)=>540,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>330,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
|
||||
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>570,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
||||
chr(220)=>722,chr(221)=>722,chr(222)=>611,chr(223)=>556,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556,
|
||||
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500);
|
||||
$enc = 'cp1252';
|
||||
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
|
||||
?>
|
||||
21
core/lib/fpdf/font/timesbi.php
Normal file
21
core/lib/fpdf/font/timesbi.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
$type = 'Core';
|
||||
$name = 'Times-BoldItalic';
|
||||
$up = -100;
|
||||
$ut = 50;
|
||||
$cw = array(
|
||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>389,'"'=>555,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570,
|
||||
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>832,'A'=>667,
|
||||
'B'=>667,'C'=>667,'D'=>722,'E'=>667,'F'=>667,'G'=>722,'H'=>778,'I'=>389,'J'=>500,'K'=>667,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>611,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>667,'W'=>889,
|
||||
'X'=>667,'Y'=>611,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>570,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778,
|
||||
'n'=>556,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>556,'v'=>444,'w'=>667,'x'=>500,'y'=>444,'z'=>389,'{'=>348,'|'=>220,'}'=>348,'~'=>570,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
|
||||
chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
||||
chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>389,chr(159)=>611,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>266,chr(171)=>500,chr(172)=>606,chr(173)=>333,chr(174)=>747,chr(175)=>333,
|
||||
chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>576,chr(182)=>500,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>300,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667,
|
||||
chr(198)=>944,chr(199)=>667,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>570,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
||||
chr(220)=>722,chr(221)=>611,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556,
|
||||
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>444,chr(254)=>500,chr(255)=>444);
|
||||
$enc = 'cp1252';
|
||||
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
|
||||
?>
|
||||
21
core/lib/fpdf/font/timesi.php
Normal file
21
core/lib/fpdf/font/timesi.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
$type = 'Core';
|
||||
$name = 'Times-Italic';
|
||||
$up = -100;
|
||||
$ut = 50;
|
||||
$cw = array(
|
||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>420,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>214,'('=>333,')'=>333,'*'=>500,'+'=>675,
|
||||
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>675,'='=>675,'>'=>675,'?'=>500,'@'=>920,'A'=>611,
|
||||
'B'=>611,'C'=>667,'D'=>722,'E'=>611,'F'=>611,'G'=>722,'H'=>722,'I'=>333,'J'=>444,'K'=>667,'L'=>556,'M'=>833,'N'=>667,'O'=>722,'P'=>611,'Q'=>722,'R'=>611,'S'=>500,'T'=>556,'U'=>722,'V'=>611,'W'=>833,
|
||||
'X'=>611,'Y'=>556,'Z'=>556,'['=>389,'\\'=>278,']'=>389,'^'=>422,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>278,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>444,'l'=>278,'m'=>722,
|
||||
'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>500,'v'=>444,'w'=>667,'x'=>444,'y'=>444,'z'=>389,'{'=>400,'|'=>275,'}'=>400,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
|
||||
chr(132)=>556,chr(133)=>889,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>500,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>556,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>556,chr(148)=>556,chr(149)=>350,chr(150)=>500,chr(151)=>889,chr(152)=>333,chr(153)=>980,
|
||||
chr(154)=>389,chr(155)=>333,chr(156)=>667,chr(157)=>350,chr(158)=>389,chr(159)=>556,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>275,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>675,chr(173)=>333,chr(174)=>760,chr(175)=>333,
|
||||
chr(176)=>400,chr(177)=>675,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>523,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>611,chr(193)=>611,chr(194)=>611,chr(195)=>611,chr(196)=>611,chr(197)=>611,
|
||||
chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>667,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>675,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
||||
chr(220)=>722,chr(221)=>556,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500,
|
||||
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>675,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>444,chr(254)=>500,chr(255)=>444);
|
||||
$enc = 'cp1252';
|
||||
$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96));
|
||||
?>
|
||||
20
core/lib/fpdf/font/zapfdingbats.php
Normal file
20
core/lib/fpdf/font/zapfdingbats.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
$type = 'Core';
|
||||
$name = 'ZapfDingbats';
|
||||
$up = -100;
|
||||
$ut = 50;
|
||||
$cw = array(
|
||||
chr(0)=>0,chr(1)=>0,chr(2)=>0,chr(3)=>0,chr(4)=>0,chr(5)=>0,chr(6)=>0,chr(7)=>0,chr(8)=>0,chr(9)=>0,chr(10)=>0,chr(11)=>0,chr(12)=>0,chr(13)=>0,chr(14)=>0,chr(15)=>0,chr(16)=>0,chr(17)=>0,chr(18)=>0,chr(19)=>0,chr(20)=>0,chr(21)=>0,
|
||||
chr(22)=>0,chr(23)=>0,chr(24)=>0,chr(25)=>0,chr(26)=>0,chr(27)=>0,chr(28)=>0,chr(29)=>0,chr(30)=>0,chr(31)=>0,' '=>278,'!'=>974,'"'=>961,'#'=>974,'$'=>980,'%'=>719,'&'=>789,'\''=>790,'('=>791,')'=>690,'*'=>960,'+'=>939,
|
||||
','=>549,'-'=>855,'.'=>911,'/'=>933,'0'=>911,'1'=>945,'2'=>974,'3'=>755,'4'=>846,'5'=>762,'6'=>761,'7'=>571,'8'=>677,'9'=>763,':'=>760,';'=>759,'<'=>754,'='=>494,'>'=>552,'?'=>537,'@'=>577,'A'=>692,
|
||||
'B'=>786,'C'=>788,'D'=>788,'E'=>790,'F'=>793,'G'=>794,'H'=>816,'I'=>823,'J'=>789,'K'=>841,'L'=>823,'M'=>833,'N'=>816,'O'=>831,'P'=>923,'Q'=>744,'R'=>723,'S'=>749,'T'=>790,'U'=>792,'V'=>695,'W'=>776,
|
||||
'X'=>768,'Y'=>792,'Z'=>759,'['=>707,'\\'=>708,']'=>682,'^'=>701,'_'=>826,'`'=>815,'a'=>789,'b'=>789,'c'=>707,'d'=>687,'e'=>696,'f'=>689,'g'=>786,'h'=>787,'i'=>713,'j'=>791,'k'=>785,'l'=>791,'m'=>873,
|
||||
'n'=>761,'o'=>762,'p'=>762,'q'=>759,'r'=>759,'s'=>892,'t'=>892,'u'=>788,'v'=>784,'w'=>438,'x'=>138,'y'=>277,'z'=>415,'{'=>392,'|'=>392,'}'=>668,'~'=>668,chr(127)=>0,chr(128)=>390,chr(129)=>390,chr(130)=>317,chr(131)=>317,
|
||||
chr(132)=>276,chr(133)=>276,chr(134)=>509,chr(135)=>509,chr(136)=>410,chr(137)=>410,chr(138)=>234,chr(139)=>234,chr(140)=>334,chr(141)=>334,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0,
|
||||
chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>0,chr(161)=>732,chr(162)=>544,chr(163)=>544,chr(164)=>910,chr(165)=>667,chr(166)=>760,chr(167)=>760,chr(168)=>776,chr(169)=>595,chr(170)=>694,chr(171)=>626,chr(172)=>788,chr(173)=>788,chr(174)=>788,chr(175)=>788,
|
||||
chr(176)=>788,chr(177)=>788,chr(178)=>788,chr(179)=>788,chr(180)=>788,chr(181)=>788,chr(182)=>788,chr(183)=>788,chr(184)=>788,chr(185)=>788,chr(186)=>788,chr(187)=>788,chr(188)=>788,chr(189)=>788,chr(190)=>788,chr(191)=>788,chr(192)=>788,chr(193)=>788,chr(194)=>788,chr(195)=>788,chr(196)=>788,chr(197)=>788,
|
||||
chr(198)=>788,chr(199)=>788,chr(200)=>788,chr(201)=>788,chr(202)=>788,chr(203)=>788,chr(204)=>788,chr(205)=>788,chr(206)=>788,chr(207)=>788,chr(208)=>788,chr(209)=>788,chr(210)=>788,chr(211)=>788,chr(212)=>894,chr(213)=>838,chr(214)=>1016,chr(215)=>458,chr(216)=>748,chr(217)=>924,chr(218)=>748,chr(219)=>918,
|
||||
chr(220)=>927,chr(221)=>928,chr(222)=>928,chr(223)=>834,chr(224)=>873,chr(225)=>828,chr(226)=>924,chr(227)=>924,chr(228)=>917,chr(229)=>930,chr(230)=>931,chr(231)=>463,chr(232)=>883,chr(233)=>836,chr(234)=>836,chr(235)=>867,chr(236)=>867,chr(237)=>696,chr(238)=>696,chr(239)=>874,chr(240)=>0,chr(241)=>874,
|
||||
chr(242)=>760,chr(243)=>946,chr(244)=>771,chr(245)=>865,chr(246)=>771,chr(247)=>888,chr(248)=>967,chr(249)=>888,chr(250)=>831,chr(251)=>873,chr(252)=>927,chr(253)=>970,chr(254)=>918,chr(255)=>0);
|
||||
$uv = array(32=>32,33=>array(9985,4),37=>9742,38=>array(9990,4),42=>9755,43=>9758,44=>array(9996,28),72=>9733,73=>array(10025,35),108=>9679,109=>10061,110=>9632,111=>array(10063,4),115=>9650,116=>9660,117=>9670,118=>10070,119=>9687,120=>array(10072,7),128=>array(10088,14),161=>array(10081,7),168=>9827,169=>9830,170=>9829,171=>9824,172=>array(9312,10),182=>array(10102,31),213=>8594,214=>array(8596,2),216=>array(10136,24),241=>array(10161,14));
|
||||
?>
|
||||
1910
core/lib/fpdf/fpdf.php
Normal file
1910
core/lib/fpdf/fpdf.php
Normal file
File diff suppressed because it is too large
Load Diff
@@ -69,9 +69,9 @@ if (empty($user) || empty($user->email)) {
|
||||
$suser->Load("email = ?", array($ssoUserEmail));
|
||||
}
|
||||
|
||||
LogManager::getInstance()->info('SSO SAML User:'.print_r($suser, true));
|
||||
if (empty($suser)) {
|
||||
header("Location:" . CLIENT_BASE_URL . "login.php?f=1");
|
||||
LogManager::getInstance()->info('SSO SAML User:'.print_r($suser->email, true));
|
||||
if (empty($suser) || empty($suser->id)) {
|
||||
header("Location:" . CLIENT_BASE_URL . "logout.php");
|
||||
exit();
|
||||
}
|
||||
$ssoUserLoaded = true;
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
<?php
|
||||
$migrationList = [];
|
||||
$migrationList[] = 'v20210626_290004_add_s3_settings';
|
||||
$migrationList[] = 'v20210606_290003_system_meta_data';
|
||||
$migrationList[] = 'v20210606_290002_add_aws_region';
|
||||
$migrationList[] = 'v20210606_290001_update_s3_config';
|
||||
$migrationList[] = 'v20210402_280006_modify_attendance_rep';
|
||||
$migrationList[] = 'v20210327_280005_saml_settings';
|
||||
$migrationList[] = 'v20210228_280003_add_share_with_employee';
|
||||
|
||||
31
core/migrations/v20210606_290001_update_s3_config.php
Normal file
31
core/migrations/v20210606_290001_update_s3_config.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace Classes\Migration;
|
||||
|
||||
class v20210606_290001_update_s3_config extends AbstractMigration
|
||||
{
|
||||
|
||||
public function up()
|
||||
{
|
||||
|
||||
$sql = <<<'SQL'
|
||||
UPDATE `Settings`
|
||||
SET name = 'Files: Amazon S3 Secret for File Upload'
|
||||
WHERE name = 'Files: Amazone S3 Secret for File Upload';
|
||||
SQL;
|
||||
$this->executeQuery($sql);
|
||||
|
||||
$sql = <<<'SQL'
|
||||
UPDATE `Settings`
|
||||
SET category = 'System'
|
||||
WHERE name like 'Files:%';
|
||||
SQL;
|
||||
|
||||
return $this->executeQuery($sql);
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
31
core/migrations/v20210606_290002_add_aws_region.php
Normal file
31
core/migrations/v20210606_290002_add_aws_region.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
namespace Classes\Migration;
|
||||
|
||||
class v20210606_290002_add_aws_region extends AbstractMigration {
|
||||
|
||||
public function up(){
|
||||
|
||||
$sql[] = <<<'SQL'
|
||||
REPLACE INTO `Settings` (`name`, `value`, `description`, `meta`, `category`)
|
||||
VALUES (
|
||||
'System: AWS Region',
|
||||
'us-east-1',
|
||||
'Amazon SWS Region used for file storage',
|
||||
'',
|
||||
'System'
|
||||
);
|
||||
SQL;
|
||||
|
||||
$result = true;
|
||||
foreach ($sql as $query) {
|
||||
$result = $result && $this->executeQuery($query);
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function down(){
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
22
core/migrations/v20210606_290003_system_meta_data.php
Normal file
22
core/migrations/v20210606_290003_system_meta_data.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
namespace Classes\Migration;
|
||||
|
||||
class v20210606_290003_system_meta_data extends AbstractMigration {
|
||||
|
||||
public function up(){
|
||||
$sql = <<<'SQL'
|
||||
create table `SystemData` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(50) not null,
|
||||
`value` text default null,
|
||||
primary key (`id`),
|
||||
unique key `name` (`name`)
|
||||
) engine=innodb default charset=utf8;
|
||||
SQL;
|
||||
return $this->executeQuery($sql);
|
||||
}
|
||||
|
||||
public function down(){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
28
core/migrations/v20210626_290004_add_s3_settings.php
Normal file
28
core/migrations/v20210626_290004_add_s3_settings.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace Classes\Migration;
|
||||
|
||||
class v20210626_290004_add_s3_settings extends AbstractMigration
|
||||
{
|
||||
|
||||
public function up()
|
||||
{
|
||||
|
||||
$sql = <<<'SQL'
|
||||
REPLACE INTO `Settings` (`name`, `value`, `description`, `meta`, `category`) VALUES
|
||||
('Files: Upload Files to S3', '0', '','["value", {"label":"Value","type":"select","source":[["1","Yes"],["0","No"]]}]', 'System'),
|
||||
('Files: Amazon S3 Key for File Upload', '', 'Please provide S3 Key for uploading files','', 'System'),
|
||||
('Files: Amazon S3 Secret for File Upload', '', 'Please provide S3 Secret for uploading files','', 'System'),
|
||||
('Files: S3 Bucket', '', 'Please provide S3 Bucket name for uploading files','', 'System'),
|
||||
('Files: S3 Web Url', '', 'Please provide Url to the s3 bucket','', 'System'),
|
||||
('System: AWS Region', 'us-east-1', 'Amazon AWS Region used for file storage','', 'System');
|
||||
SQL;
|
||||
|
||||
return $this->executeQuery($sql);
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -4,9 +4,6 @@
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
|
||||
use Classes\PermissionManager;
|
||||
use Loans\Common\Model\EmployeeCompanyLoan;
|
||||
|
||||
$moduleName = 'loans';
|
||||
$moduleGroup = 'modules';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
@@ -20,27 +17,26 @@ include APP_BASE_PATH.'modulejslibs.inc.php';
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tabPageEmployeeCompanyLoan">
|
||||
<div id="EmployeeCompanyLoan" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
<div id="EmployeeCompanyLoanTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
|
||||
<div id="EmployeeCompanyLoanForm"></div>
|
||||
<div id="EmployeeCompanyLoanFilterForm"></div>
|
||||
</div>
|
||||
<div id="EmployeeCompanyLoanForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
$moduleData = [
|
||||
'user_level' => $user->user_level,
|
||||
'permissions' => [
|
||||
'EmployeeCompanyLoan' => PermissionManager::checkGeneralAccess(new EmployeeCompanyLoan()),
|
||||
]
|
||||
];
|
||||
?>
|
||||
|
||||
<script>
|
||||
initAdminLoan(<?=json_encode($moduleData)?>);
|
||||
</script>
|
||||
var modJsList = new Array();
|
||||
|
||||
modJsList['tabEmployeeCompanyLoan'] = new EmployeeCompanyLoanAdapter('EmployeeCompanyLoan','EmployeeCompanyLoan');
|
||||
modJsList['tabEmployeeCompanyLoan'].setShowAddNew(false);
|
||||
modJsList['tabEmployeeCompanyLoan'].setShowSave(false);
|
||||
modJsList['tabEmployeeCompanyLoan'].setShowDelete(false);
|
||||
modJsList['tabEmployeeCompanyLoan'].setShowEdit(true);
|
||||
|
||||
var modJs = modJsList['tabEmployeeCompanyLoan'];
|
||||
|
||||
</script>
|
||||
<?php include APP_BASE_PATH.'footer.php';?>
|
||||
|
||||
@@ -4,9 +4,6 @@
|
||||
Developer: Thilina Hasantha (http://lk.linkedin.com/in/thilinah | https://github.com/thilinah)
|
||||
*/
|
||||
|
||||
use Classes\PermissionManager;
|
||||
use Salary\Common\Model\EmployeeSalary;
|
||||
|
||||
$moduleName = 'salary';
|
||||
$moduleGroup = 'modules';
|
||||
define('MODULE_PATH',dirname(__FILE__));
|
||||
@@ -20,25 +17,32 @@ include APP_BASE_PATH.'modulejslibs.inc.php';
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tabPageEmployeeSalary">
|
||||
<div id="EmployeeSalaryTable" class="reviewBlock" data-content="List" style="padding-left:5px;"></div>
|
||||
<div id="EmployeeSalaryForm"></div>
|
||||
<div id="EmployeeSalaryFilterForm"></div>
|
||||
<div id="EmployeeSalary" class="reviewBlock" data-content="List" style="padding-left:5px;">
|
||||
|
||||
</div>
|
||||
<div id="EmployeeSalaryForm" class="reviewBlock" data-content="Form" style="padding-left:5px;display:none;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<?php
|
||||
$moduleData = [
|
||||
'user_level' => $user->user_level,
|
||||
'permissions' => [
|
||||
'EmployeeSalary' => PermissionManager::checkGeneralAccess(new EmployeeSalary()),
|
||||
]
|
||||
];
|
||||
?>
|
||||
|
||||
<script>
|
||||
initAdminSalary(<?=json_encode($moduleData)?>);
|
||||
var modJsList = new Array();
|
||||
|
||||
modJsList['tabEmployeeSalary'] = new EmployeeSalaryAdapter('EmployeeSalary');
|
||||
|
||||
<?php if(isset($modulePermissions['perm']['Add Salary']) && $modulePermissions['perm']['Add Salary'] == "No"){?>
|
||||
modJsList['tabEmployeeSalary'].setShowAddNew(false);
|
||||
<?php }?>
|
||||
<?php if(isset($modulePermissions['perm']['Delete Salary']) && $modulePermissions['perm']['Delete Salary'] == "No"){?>
|
||||
modJsList['tabEmployeeSalary'].setShowDelete(false);
|
||||
<?php }?>
|
||||
<?php if(isset($modulePermissions['perm']['Edit Salary']) && $modulePermissions['perm']['Edit Salary'] == "No"){?>
|
||||
modJsList['tabEmployeeSalary'].setShowEdit(false);
|
||||
<?php }?>
|
||||
|
||||
var modJs = modJsList['tabEmployeeSalary'];
|
||||
|
||||
</script>
|
||||
<?php include APP_BASE_PATH.'footer.php';?>
|
||||
|
||||
@@ -3,20 +3,28 @@
|
||||
use Classes\BaseService;
|
||||
use Classes\CustomFieldManager;
|
||||
use Classes\JwtTokenService;
|
||||
use Classes\MemoryCacheService;
|
||||
use Classes\Migration\MigrationManager;
|
||||
use Classes\NotificationManager;
|
||||
use Classes\RedisCacheService;
|
||||
use Classes\ReportHandler;
|
||||
use Classes\SettingsManager;
|
||||
use Model\Audit;
|
||||
use Model\BaseModel;
|
||||
use Model\DataEntryBackup;
|
||||
use Model\File;
|
||||
use Model\Notification;
|
||||
use Model\Report;
|
||||
use Model\RestAccessToken;
|
||||
use Model\Setting;
|
||||
use Utils\LogManager;
|
||||
|
||||
if (!defined("AWS_REGION")) {
|
||||
define('AWS_REGION', 'us-east-1');
|
||||
}
|
||||
include(APP_BASE_PATH.'lib/adodb512/adodb.inc.php');
|
||||
include(APP_BASE_PATH.'lib/adodb512/adodb-active-record.inc.php');
|
||||
$ADODB_ASSOC_CASE = 2;
|
||||
|
||||
include(APP_BASE_PATH.'lib/fpdf/fpdf.php');
|
||||
|
||||
//detect admin and user modules
|
||||
if (defined("MODULE_PATH")) {
|
||||
$tArr = explode("/", MODULE_PATH);
|
||||
@@ -38,13 +46,13 @@ $dbLocal = NewADOConnection('mysqli');
|
||||
$res = $dbLocal->Connect(APP_HOST, APP_USERNAME, APP_PASSWORD, APP_DB);
|
||||
|
||||
|
||||
\Model\File::SetDatabaseAdapter($dbLocal);
|
||||
\Model\Setting::SetDatabaseAdapter($dbLocal);
|
||||
\Model\Report::SetDatabaseAdapter($dbLocal);
|
||||
\Model\DataEntryBackup::SetDatabaseAdapter($dbLocal);
|
||||
\Model\Audit::SetDatabaseAdapter($dbLocal);
|
||||
\Model\Notification::SetDatabaseAdapter($dbLocal);
|
||||
\Model\RestAccessToken::SetDatabaseAdapter($dbLocal);
|
||||
File::SetDatabaseAdapter($dbLocal);
|
||||
Setting::SetDatabaseAdapter($dbLocal);
|
||||
Report::SetDatabaseAdapter($dbLocal);
|
||||
DataEntryBackup::SetDatabaseAdapter($dbLocal);
|
||||
Audit::SetDatabaseAdapter($dbLocal);
|
||||
Notification::SetDatabaseAdapter($dbLocal);
|
||||
RestAccessToken::SetDatabaseAdapter($dbLocal);
|
||||
|
||||
|
||||
$baseService = BaseService::getInstance();
|
||||
@@ -72,14 +80,19 @@ if (defined('REDIS_SERVER_URI')
|
||||
&& QUERY_CACHE_TYPE === 'redis'
|
||||
) {
|
||||
BaseService::getInstance()->setCacheService(
|
||||
new \Classes\RedisCacheService(REDIS_SERVER_URI, CLIENT_NAME)
|
||||
new RedisCacheService(REDIS_SERVER_URI, CLIENT_NAME)
|
||||
);
|
||||
} else {
|
||||
BaseService::getInstance()->setCacheService(
|
||||
new \Classes\MemoryCacheService(CLIENT_NAME)
|
||||
new MemoryCacheService(CLIENT_NAME)
|
||||
);
|
||||
}
|
||||
|
||||
$awsRegion = SettingsManager::getInstance()->getSetting("System: AWS Region");
|
||||
if (!defined("AWS_REGION")) {
|
||||
define('AWS_REGION', empty($awsRegion) ? 'us-east-1' : $awsRegion);
|
||||
}
|
||||
|
||||
$samlEnabled = SettingsManager::getInstance()->getSetting("SAML: Enabled");
|
||||
if ($samlEnabled === '1') {
|
||||
include APP_BASE_PATH . 'lib/saml2/Utilities.php';
|
||||
|
||||
@@ -3,7 +3,10 @@
|
||||
use Classes\BaseService;
|
||||
use Classes\IceResponse;
|
||||
use Classes\PasswordManager;
|
||||
use Classes\Pdf\PDFRegister;
|
||||
use Classes\SettingsManager;
|
||||
use Metadata\Common\Model\SupportedLanguage;
|
||||
use Model\File;
|
||||
use Users\Common\Model\User;
|
||||
use Utils\LogManager;
|
||||
use Classes\Exception\IceHttpException;
|
||||
@@ -173,19 +176,20 @@ try {// Domain aware input cleanup
|
||||
$type = strtolower(substr($file->filename, strrpos($file->filename, ".") + 1));
|
||||
if ($file->name == $name) {
|
||||
$ret['status'] = "SUCCESS";
|
||||
if (\Classes\SettingsManager::getInstance()->getSetting("Files: Upload Files to S3") == '1') {
|
||||
$uploadFilesToS3Key = \Classes\SettingsManager::getInstance()->getSetting("Files: Amazon S3 Key for File Upload");
|
||||
$uploadFilesToS3Secret = \Classes\SettingsManager::getInstance()->getSetting("Files: Amazone S3 Secret for File Upload");
|
||||
$file->ext = explode('.', $file->filename)[1];
|
||||
if (SettingsManager::getInstance()->getSetting("Files: Upload Files to S3") == '1') {
|
||||
$uploadFilesToS3Key = SettingsManager::getInstance()->getSetting("Files: Amazon S3 Key for File Upload");
|
||||
$uploadFilesToS3Secret = SettingsManager::getInstance()->getSetting("Files: Amazon S3 Secret for File Upload");
|
||||
$s3FileSys = new \Classes\S3FileSystem($uploadFilesToS3Key, $uploadFilesToS3Secret);
|
||||
$s3WebUrl = \Classes\SettingsManager::getInstance()->getSetting("Files: S3 Web Url");
|
||||
$s3WebUrl = SettingsManager::getInstance()->getSetting("Files: S3 Web Url");
|
||||
$fileUrl = $s3WebUrl . CLIENT_NAME . "/" . $file->filename;
|
||||
$fileUrl = $s3FileSys->generateExpiringURL($fileUrl);
|
||||
$file->filename = $fileUrl;
|
||||
|
||||
} else {
|
||||
$file->filename = CLIENT_BASE_URL . 'data/' . $file->filename;
|
||||
$file->filename = \Classes\FileService::getInstance()->getLocalSecureUrl($file->filename);
|
||||
}
|
||||
$ret['data'] = $file;
|
||||
$ret['data'] = BaseService::getInstance()->cleanUpAll($file);
|
||||
} else {
|
||||
$ret['status'] = "ERROR";
|
||||
}
|
||||
@@ -193,21 +197,49 @@ try {// Domain aware input cleanup
|
||||
$fileName = $_REQUEST['file'];
|
||||
$fileName = str_replace("..", "", $fileName);
|
||||
$fileName = str_replace("/", "", $fileName);
|
||||
$fileName = CLIENT_BASE_PATH . 'data/' . $fileName;
|
||||
if (!file_exists($fileName)) {
|
||||
|
||||
$file = new File();
|
||||
$file->Load('name = ?', array($fileName));
|
||||
|
||||
if ($fileName !== $file->name) {
|
||||
$file->Load('filename = ?', array($fileName));
|
||||
}
|
||||
|
||||
if (empty($file->id)) {
|
||||
exit;
|
||||
}
|
||||
|
||||
if (!file_exists(CLIENT_BASE_PATH . 'data/' . $file->filename)) {
|
||||
exit;
|
||||
}
|
||||
|
||||
$extension = explode('.', $file->filename)[1];
|
||||
|
||||
header('Content-Description: File Transfer');
|
||||
header('Content-Type: application/octet-stream');
|
||||
header('Content-Disposition: attachment; filename=' . basename($fileName));
|
||||
header('Content-Transfer-Encoding: binary');
|
||||
header('Expires: 0');
|
||||
header('Cache-Control: must-revalidate');
|
||||
header('Pragma: public');
|
||||
header('Content-Length: ' . filesize($fileName));
|
||||
if ('png' === $extension) {
|
||||
header('Content-Type: image/png');
|
||||
} elseif ('gif' === $extension) {
|
||||
header('Content-Type: image/png');
|
||||
} elseif ('jpg' === $extension || 'jpeg' === $extension) {
|
||||
header('Content-Type: image/jpeg');
|
||||
} elseif ('pdf' === $extension) {
|
||||
header('Content-Type: application/pdf');
|
||||
} elseif ('xml' === $extension) {
|
||||
header('Content-Type: application/xml');
|
||||
} else {
|
||||
header('Content-Type: application/octet-stream');
|
||||
header('Content-Transfer-Encoding: binary');
|
||||
header('Expires: 0');
|
||||
header('Cache-Control: must-revalidate');
|
||||
header('Pragma: public');
|
||||
}
|
||||
|
||||
header('Content-Disposition: attachment; filename=' . basename($file->filename));
|
||||
|
||||
header('Content-Length: ' . filesize(CLIENT_BASE_PATH . 'data/' . $file->filename));
|
||||
ob_clean();
|
||||
flush();
|
||||
readfile($fileName);
|
||||
readfile(CLIENT_BASE_PATH . 'data/' . $file->filename);
|
||||
exit;
|
||||
|
||||
} else if ($action == 'rsp') { // linked clicked from password change email
|
||||
@@ -305,13 +337,31 @@ try {// Domain aware input cleanup
|
||||
}
|
||||
}
|
||||
}
|
||||
try {
|
||||
echo BaseService::getInstance()->safeJsonEncode($ret);
|
||||
} catch (Exception $e) {
|
||||
LogManager::getInstance()->error($e->getMessage());
|
||||
LogManager::getInstance()->notifyException($e);
|
||||
echo json_encode(['status' => 'Error']);
|
||||
|
||||
if ($action == 'pdf') {
|
||||
$data = $_REQUEST['data'];
|
||||
$hash = $_REQUEST['h'];
|
||||
PDFRegister::init();
|
||||
$callback = PDFRegister::get($hash);
|
||||
if (empty($callback) || !$callback($data)->granted()) {
|
||||
$ret['status'] = "ERROR";
|
||||
$ret['message'] = "Invalid request";
|
||||
} else {
|
||||
$pdfBuilder = $callback($data);
|
||||
$pdf = $pdfBuilder->createPdf();
|
||||
$pdf->SetAuthor(SettingsManager::getInstance()->getSetting('Company: Name'));
|
||||
$pdf->Output();
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
echo BaseService::getInstance()->safeJsonEncode($ret);
|
||||
} catch (Exception $e) {
|
||||
LogManager::getInstance()->error($e->getMessage());
|
||||
LogManager::getInstance()->notifyException($e);
|
||||
echo json_encode(['status' => 'Error']);
|
||||
}
|
||||
}
|
||||
|
||||
} catch (IceHttpException $e) {
|
||||
http_response_code($e->getCode());
|
||||
echo json_encode(['message' => $e->getMessage()]);
|
||||
|
||||
@@ -109,11 +109,10 @@ class AttendanceStatus extends BaseModel
|
||||
$data[] = $entry;
|
||||
}
|
||||
|
||||
function cmp($a, $b)
|
||||
{
|
||||
|
||||
usort($data, function ($a, $b) {
|
||||
return $a->statusId - $b->statusId;
|
||||
}
|
||||
usort($data, "cmp");
|
||||
});
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
8
core/src/Classes/Authorizable.php
Normal file
8
core/src/Classes/Authorizable.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace Classes;
|
||||
|
||||
interface Authorizable
|
||||
{
|
||||
public function granted() : bool;
|
||||
}
|
||||
@@ -22,6 +22,7 @@ use Metadata\Common\Model\CalculationHook;
|
||||
use Model\BaseModel;
|
||||
use Model\DataEntryBackup;
|
||||
use Model\Setting;
|
||||
use Model\SystemData;
|
||||
use Modules\Common\Model\Module;
|
||||
use Permissions\Common\Model\Permission;
|
||||
use Users\Common\Model\User;
|
||||
@@ -1978,4 +1979,38 @@ END;
|
||||
$dbUser = $this->getCurrentDBUser();
|
||||
return RestApiManager::getInstance()->getAccessTokenForUser($dbUser);
|
||||
}
|
||||
|
||||
public function isSubordinateEmployee($supervisorId, $subordinateId)
|
||||
{
|
||||
$employee = new Employee();
|
||||
$employee->Load('id = ? and supervisor = ?', [$subordinateId, $supervisorId]);
|
||||
|
||||
return ($supervisorId == $employee->supervisor && $subordinateId == $employee->id);
|
||||
}
|
||||
|
||||
public function setSystemData($name, $value)
|
||||
{
|
||||
$sysData = new SystemData();
|
||||
$sysData->Load('name = ?', [$name]);
|
||||
|
||||
if (!empty($sysData->id)) {
|
||||
$sysData->value = $value;
|
||||
} else {
|
||||
$sysData->name = $name;
|
||||
$sysData->value = $value;
|
||||
}
|
||||
|
||||
return $sysData->Save();
|
||||
}
|
||||
|
||||
public function getSystemData($name)
|
||||
{
|
||||
$sysData = new SystemData();
|
||||
$sysData->Load('name = ?', [$name]);
|
||||
if (!empty($sysData->id) && $sysData->name === $name) {
|
||||
return $sysData->value;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,15 +76,20 @@ class FileService
|
||||
if (file_exists("/tmp/".$file->filename."_orig")) {
|
||||
//Resize image to 100
|
||||
|
||||
$img = new \Classes\SimpleImage("/tmp/".$file->filename."_orig");
|
||||
$img->fitToWidth(140);
|
||||
$img->save("/tmp/".$file->filename);
|
||||
try {
|
||||
$img = new \Classes\SimpleImage("/tmp/" . $file->filename . "_orig");
|
||||
$img->fitToWidth(140);
|
||||
$img->save("/tmp/" . $file->filename);
|
||||
} catch (\Exception $e) {
|
||||
LogManager::getInstance()->error($e->getTraceAsString());
|
||||
return null;
|
||||
}
|
||||
|
||||
$uploadFilesToS3Key = SettingsManager::getInstance()->getSetting(
|
||||
"Files: Amazon S3 Key for File Upload"
|
||||
);
|
||||
$uploadFilesToS3Secret = SettingsManager::getInstance()->getSetting(
|
||||
"Files: Amazone S3 Secret for File Upload"
|
||||
"Files: Amazon S3 Secret for File Upload"
|
||||
);
|
||||
$s3Bucket = SettingsManager::getInstance()->getSetting("Files: S3 Bucket");
|
||||
|
||||
@@ -132,11 +137,7 @@ class FileService
|
||||
if (empty($file->id)) {
|
||||
LogManager::getInstance()->info("Small profile image ".$profileImage->name."_small not found");
|
||||
|
||||
$largeFileUrl = $this->getFileUrl($profileImage->name);
|
||||
|
||||
file_put_contents("/tmp/".$profileImage->filename."_orig", file_get_contents($largeFileUrl));
|
||||
|
||||
if (file_exists("/tmp/".$profileImage->filename."_orig")) {
|
||||
if (file_exists(CLIENT_BASE_PATH.'data/'.$profileImage->filename)) {
|
||||
//Resize image to 100
|
||||
|
||||
$file->name = $profileImage->name."_small";
|
||||
@@ -144,16 +145,19 @@ class FileService
|
||||
$file->$signInMappingField = $profileImage->$signInMappingField;
|
||||
$file->filename = $file->name.str_replace($profileImage->name, "", $profileImage->filename);
|
||||
|
||||
$img = new \Classes\SimpleImage("/tmp/".$profileImage->filename."_orig");
|
||||
$img->fitToWidth(140);
|
||||
|
||||
$img->save(CLIENT_BASE_PATH.'data/'.$file->filename);
|
||||
$file->employee = $profileImage->employee;
|
||||
$file->file_group = 'profile_image_small';
|
||||
$file->size = filesize(CLIENT_BASE_PATH.'data/'.$file->filename);
|
||||
$file->size_text = $this->getReadableSize($file->size);
|
||||
$file->Save();
|
||||
unlink("/tmp/".$file->filename."_orig");
|
||||
try {
|
||||
$img = new \Classes\SimpleImage(CLIENT_BASE_PATH . 'data/' . $profileImage->filename);
|
||||
$img->fitToWidth(140);
|
||||
$img->save(CLIENT_BASE_PATH . 'data/' . $file->filename);
|
||||
$file->employee = $profileImage->employee;
|
||||
$file->file_group = 'profile_image_small';
|
||||
$file->size = filesize(CLIENT_BASE_PATH . 'data/' . $file->filename);
|
||||
$file->size_text = $this->getReadableSize($file->size);
|
||||
$file->Save();
|
||||
} catch (\Exception $e) {
|
||||
LogManager::getInstance()->error($e->getTraceAsString());
|
||||
return null;
|
||||
}
|
||||
|
||||
return $file;
|
||||
}
|
||||
@@ -182,7 +186,7 @@ class FileService
|
||||
"Files: Amazon S3 Key for File Upload"
|
||||
);
|
||||
$uploadFilesToS3Secret = SettingsManager::getInstance()->getSetting(
|
||||
"Files: Amazone S3 Secret for File Upload"
|
||||
"Files: Amazon S3 Secret for File Upload"
|
||||
);
|
||||
$s3FileSys = new S3FileSystem($uploadFilesToS3Key, $uploadFilesToS3Secret);
|
||||
$s3WebUrl = SettingsManager::getInstance()->getSetting("Files: S3 Web Url");
|
||||
@@ -204,7 +208,7 @@ class FileService
|
||||
$profile->image = $file->filename;
|
||||
} else {
|
||||
$fileNew = $this->checkAddSmallProfileImage($file);
|
||||
$profile->image = CLIENT_BASE_URL.'data/'.$fileNew->filename;
|
||||
$profile->image = $this->getFileUrl($fileNew->filename);
|
||||
}
|
||||
} else {
|
||||
$profile->image = $this->generateProfileImage($profile->first_name, $profile->last_name);
|
||||
@@ -225,7 +229,7 @@ class FileService
|
||||
"Files: Amazon S3 Key for File Upload"
|
||||
);
|
||||
$uploadFilesToS3Secret = SettingsManager::getInstance()->getSetting(
|
||||
"Files: Amazone S3 Secret for File Upload"
|
||||
"Files: Amazon S3 Secret for File Upload"
|
||||
);
|
||||
$s3FileSys = new S3FileSystem($uploadFilesToS3Key, $uploadFilesToS3Secret);
|
||||
$s3WebUrl = SettingsManager::getInstance()->getSetting("Files: S3 Web Url");
|
||||
@@ -241,7 +245,7 @@ class FileService
|
||||
} elseif (substr($file->filename, 0, 8) === 'https://') {
|
||||
$profile->image = $file->filename;
|
||||
} else {
|
||||
$profile->image = CLIENT_BASE_URL.'data/'.$file->filename;
|
||||
$profile->image = $this->getLocalSecureUrl($file->filename);
|
||||
}
|
||||
} else {
|
||||
$profile->image = $this->generateProfileImage($profile->first_name, $profile->last_name);
|
||||
@@ -255,6 +259,10 @@ class FileService
|
||||
$file = new File();
|
||||
$file->Load('name = ?', array($fileName));
|
||||
|
||||
if ($fileName !== $file->name) {
|
||||
$file->Load('filename = ?', array($fileName));
|
||||
}
|
||||
|
||||
$uploadFilesToS3 = SettingsManager::getInstance()->getSetting("Files: Upload Files to S3");
|
||||
|
||||
if ($uploadFilesToS3 == "1") {
|
||||
@@ -262,7 +270,7 @@ class FileService
|
||||
"Files: Amazon S3 Key for File Upload"
|
||||
);
|
||||
$uploadFilesToS3Secret = SettingsManager::getInstance()->getSetting(
|
||||
"Files: Amazone S3 Secret for File Upload"
|
||||
"Files: Amazon S3 Secret for File Upload"
|
||||
);
|
||||
$s3FileSys = new S3FileSystem($uploadFilesToS3Key, $uploadFilesToS3Secret);
|
||||
$s3WebUrl = SettingsManager::getInstance()->getSetting("Files: S3 Web Url");
|
||||
@@ -282,10 +290,22 @@ class FileService
|
||||
|
||||
return $expireUrl;
|
||||
} else {
|
||||
return CLIENT_BASE_URL.'data/'.$file->filename;
|
||||
return CLIENT_BASE_URL.'service.php?a=download&file='.$file->filename;
|
||||
}
|
||||
}
|
||||
|
||||
public function getLocalSecureUrl($fileName)
|
||||
{
|
||||
$file = new File();
|
||||
$file->Load('name = ?', array($fileName));
|
||||
|
||||
if ($fileName !== $file->name) {
|
||||
$file->Load('filename = ?', array($fileName));
|
||||
}
|
||||
|
||||
return CLIENT_BASE_URL.'service.php?a=download&file='.$file->filename;
|
||||
}
|
||||
|
||||
public function deleteProfileImage($profileId)
|
||||
{
|
||||
$file = new File();
|
||||
@@ -325,7 +345,7 @@ class FileService
|
||||
"Files: Amazon S3 Key for File Upload"
|
||||
);
|
||||
$uploadFilesToS3Secret = SettingsManager::getInstance()->getSetting(
|
||||
"Files: Amazone S3 Secret for File Upload"
|
||||
"Files: Amazon S3 Secret for File Upload"
|
||||
);
|
||||
$s3Bucket = SettingsManager::getInstance()->getSetting("Files: S3 Bucket");
|
||||
|
||||
@@ -355,7 +375,7 @@ class FileService
|
||||
"Files: Amazon S3 Key for File Upload"
|
||||
);
|
||||
$uploadFilesToS3Secret = SettingsManager::getInstance()->getSetting(
|
||||
"Files: Amazone S3 Secret for File Upload"
|
||||
"Files: Amazon S3 Secret for File Upload"
|
||||
);
|
||||
$s3Bucket = SettingsManager::getInstance()->getSetting("Files: S3 Bucket");
|
||||
|
||||
@@ -400,15 +420,34 @@ class FileService
|
||||
{
|
||||
$seed = substr($first, 0, 1);
|
||||
if (empty($last)) {
|
||||
$seed .= substr($first, -1);
|
||||
$seed .= utf8_encode(substr($first, -1));
|
||||
} else {
|
||||
$seed .= substr($last, 0, 1);
|
||||
$seed .= utf8_encode(substr($last, 0, 1));
|
||||
}
|
||||
md5($seed . $last);
|
||||
// TODO - remove code after chinese character issue is resolved
|
||||
// if(strlen($seed) != mb_strlen($seed, 'utf-8')) {
|
||||
// $char1 = substr($first, 0, 1);
|
||||
// $char1 = chr($this->uniord($char1) % 26 + 65);
|
||||
// if (empty($last)) {
|
||||
// $char2 = substr($first, -1);
|
||||
// } else {
|
||||
// $char2 = substr($last, 0, 1);
|
||||
// }
|
||||
// $char2 = chr($this->uniord($char2) % 26 + 65);
|
||||
// $seed = $char1.$char2;
|
||||
// }
|
||||
|
||||
return sprintf(
|
||||
'https://avatars.dicebear.com/api/initials/:%s.svg',
|
||||
$seed . substr(md5($first . $last), -5)
|
||||
);
|
||||
}
|
||||
|
||||
private function uniord($u)
|
||||
{
|
||||
$k = mb_convert_encoding($u, 'UCS-2LE', 'UTF-8');
|
||||
$k1 = ord(substr($k, 0, 1));
|
||||
$k2 = ord(substr($k, 1, 1));
|
||||
return $k2 * 256 + $k1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
namespace Classes\ModuleBuilderV2;
|
||||
|
||||
use Classes\BaseService;
|
||||
use Classes\PermissionManager;
|
||||
|
||||
class ModuleBuilder
|
||||
@@ -17,7 +18,7 @@ class ModuleBuilder
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->user = \Classes\BaseService::getInstance()->getCurrentUser();
|
||||
$this->user = BaseService::getInstance()->getCurrentUser();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
162
core/src/Classes/Pdf/BasePdfTemplate.php
Normal file
162
core/src/Classes/Pdf/BasePdfTemplate.php
Normal file
@@ -0,0 +1,162 @@
|
||||
<?php
|
||||
namespace Classes\Pdf;
|
||||
|
||||
use Classes\SettingsManager;
|
||||
|
||||
class BasePdfTemplate extends \FPDF
|
||||
{
|
||||
protected $title;
|
||||
protected $date;
|
||||
|
||||
const WIDTH = 210;
|
||||
|
||||
public function initialize($title)
|
||||
{
|
||||
$this->AliasNbPages();
|
||||
$this->AddPage();
|
||||
$this->SetTitle($title);
|
||||
$this->date = $date = date('c');
|
||||
}
|
||||
|
||||
// @codingStandardsIgnoreStart
|
||||
function Header()
|
||||
{
|
||||
// Logo
|
||||
try {
|
||||
$this->Image(\Classes\UIManager::getInstance()->getCompanyLogoUrl(), 10, 10, 0, 10);
|
||||
} catch (\Exception $e) {
|
||||
}
|
||||
|
||||
PdfColour::setTextColor($this, PdfColour::GREY_100);
|
||||
// Arial bold 15
|
||||
$this->SetFont('Arial', '', 9);
|
||||
// Company name
|
||||
$companyName = SettingsManager::getInstance()->getSetting('Company: Name');
|
||||
$this->Cell(30, 23, $companyName, 0, 0, 'L');
|
||||
PdfColour::setDrawColor($this, PdfColour::GREY_100);
|
||||
$this->Line(10, 26, self::WIDTH - 10, 26);
|
||||
// Line break
|
||||
$this->Ln(20);
|
||||
}
|
||||
|
||||
function Footer()
|
||||
{
|
||||
PdfColour::setTextColor($this, PdfColour::GREY_100);
|
||||
// Position at 1.5 cm from bottom
|
||||
$this->SetY(-15);
|
||||
// Arial italic 8
|
||||
$this->SetFont('Arial', 'I', 8);
|
||||
// Page number
|
||||
$this->Cell(0, 10, 'Page '.$this->PageNo().'/{nb}, Date:'.$this->date, 0, 0, 'C');
|
||||
}
|
||||
// @codingStandardsIgnoreEnd
|
||||
|
||||
public function addH1($title, $style = 'B', $textAlignment = 'C')
|
||||
{
|
||||
$this->addH($title, $style, $textAlignment, 21);
|
||||
}
|
||||
|
||||
public function addH2($title, $style = 'B', $textAlignment = 'C')
|
||||
{
|
||||
$this->addH($title, $style, $textAlignment, 17);
|
||||
}
|
||||
|
||||
public function addH3($title, $style = 'B', $textAlignment = 'C')
|
||||
{
|
||||
$this->addH($title, $style, $textAlignment, 14);
|
||||
}
|
||||
|
||||
public function addH($title, $style = 'B', $textAlignment = 'C', $fontSize = 16)
|
||||
{
|
||||
PdfColour::setTextColor($this, PdfColour::BLACK_LIGHT);
|
||||
$this->SetFont('Arial', $style, $fontSize);
|
||||
$this->Cell(0, 10, $title, 0, 1, $textAlignment);
|
||||
}
|
||||
|
||||
public function addBorderedText($text)
|
||||
{
|
||||
$this->addText($text, '', 'L', 10, PdfColour::BLACK_LIGHT, 1, PdfColour::GREY_DARK);
|
||||
}
|
||||
|
||||
public function addText(
|
||||
$text,
|
||||
$style = '',
|
||||
$textAlignment = 'L',
|
||||
$fontSize = 10,
|
||||
$color = PdfColour::BLACK_LIGHT,
|
||||
$cellBorder = 0,
|
||||
$cellBorderColor = PdfColour::GREY_DARK
|
||||
) {
|
||||
PdfColour::setTextColor($this, $color);
|
||||
$this->SetFont('Arial', $style, $fontSize);
|
||||
if ($cellBorder === 1) {
|
||||
PdfColour::setDrawColor($this, $cellBorderColor);
|
||||
}
|
||||
PdfColour::setFillColor($this, PdfColour::WHITE);
|
||||
$this->MultiCell(0, 5, $text, $cellBorder, 1, $textAlignment);
|
||||
}
|
||||
|
||||
public function addKeyValue($key, $value, $type = 'text')
|
||||
{
|
||||
PdfColour::setDrawColor($this, PdfColour::GREY_DARK);
|
||||
PdfColour::setFillColor($this, PdfColour::GREY);
|
||||
|
||||
|
||||
if ($type === 'textarea') {
|
||||
$this->Cell(0, 10, $key, 1, 1, 'L', true);
|
||||
} else {
|
||||
$this->Cell(80, 10, $key, 1, 0, 'L', true);
|
||||
}
|
||||
|
||||
PdfColour::setFillColor($this, PdfColour::WHITE);
|
||||
|
||||
if ($type === 'textarea') {
|
||||
$this->MultiCell(0, 5, $value, 1, 1, 'L');
|
||||
} elseif ($type === 'date') {
|
||||
$value = date('Y-m-d', strtotime($value));
|
||||
$this->Cell(110, 10, $value, 1, 1, 'L', true);
|
||||
} elseif ($type === 'select2multi') {
|
||||
$value = json_decode($value, true);
|
||||
$value = !empty($value) ? join(',', $value) : '';
|
||||
$this->Cell(110, 10, $value, 1, 1, 'L', true);
|
||||
} else {
|
||||
$this->Cell(110, 10, $value, 1, 1, 'L', true);
|
||||
}
|
||||
}
|
||||
|
||||
public function addKeyValueObject($key, $value)
|
||||
{
|
||||
PdfColour::setDrawColor($this, PdfColour::GREY_DARK);
|
||||
PdfColour::setFillColor($this, PdfColour::GREY);
|
||||
$this->Cell(80, 10, $key, 1, 0, 'L', true);
|
||||
|
||||
PdfColour::setFillColor($this, PdfColour::WHITE);
|
||||
$this->MultiCell(110, 10, $value, 1, 1, true);
|
||||
}
|
||||
|
||||
public function addHR($width = 0)
|
||||
{
|
||||
$this->Ln(2);
|
||||
PdfColour::setDrawColor($this, PdfColour::GREY_DARK);
|
||||
PdfColour::setFillColor($this, PdfColour::GREY_DARK);
|
||||
$this->Cell($width, 0.2, '', 0, 0, '', true);
|
||||
// Line break
|
||||
$this->Ln(3);
|
||||
}
|
||||
|
||||
public function getImageFromDataURI($dataURI)
|
||||
{
|
||||
$img = explode(',', $dataURI, 2)[1];
|
||||
return 'data://text/plain;base64,'. $img;
|
||||
}
|
||||
|
||||
public function addSignature($name, $data)
|
||||
{
|
||||
$image = $this->getImageFromDataURI($data);
|
||||
$this->Ln(10);
|
||||
$this->Image($image, $this->GetX(), $this->GetY(), 30, 0, 'png');
|
||||
$this->Ln(30);
|
||||
$this->addHR(30);
|
||||
$this->addText($name);
|
||||
}
|
||||
}
|
||||
27
core/src/Classes/Pdf/PDFRegister.php
Normal file
27
core/src/Classes/Pdf/PDFRegister.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Classes\Pdf;
|
||||
|
||||
use Forms\Common\EmployeeFormPDFBuilder;
|
||||
|
||||
class PDFRegister
|
||||
{
|
||||
protected static $register = [];
|
||||
|
||||
public static function init()
|
||||
{
|
||||
self::put('empf', function ($data) {
|
||||
return new EmployeeFormPDFBuilder($data);
|
||||
});
|
||||
}
|
||||
|
||||
public static function put($key, $callback)
|
||||
{
|
||||
self::$register[$key] = $callback;
|
||||
}
|
||||
|
||||
public static function get($key)
|
||||
{
|
||||
return self::$register[$key];
|
||||
}
|
||||
}
|
||||
8
core/src/Classes/Pdf/PdfBuilder.php
Normal file
8
core/src/Classes/Pdf/PdfBuilder.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace Classes\Pdf;
|
||||
|
||||
interface PdfBuilder
|
||||
{
|
||||
public function createPdf();
|
||||
}
|
||||
27
core/src/Classes/Pdf/PdfColour.php
Normal file
27
core/src/Classes/Pdf/PdfColour.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace Classes\Pdf;
|
||||
|
||||
class PdfColour
|
||||
{
|
||||
const GREY = [224, 224, 224];
|
||||
const GREY_DARK = [160, 160, 160];
|
||||
const WHITE = [255, 255, 255];
|
||||
const BLACK_LIGHT = [84, 84, 84];
|
||||
const GREY_100 = [100, 100, 100];
|
||||
|
||||
public static function setFillColor(\FPDF $pdf, $color)
|
||||
{
|
||||
$pdf->SetFillColor($color[0], $color[1], $color[2]);
|
||||
}
|
||||
|
||||
public static function setTextColor(\FPDF $pdf, $color)
|
||||
{
|
||||
$pdf->SetTextColor($color[0], $color[1], $color[2]);
|
||||
}
|
||||
|
||||
public static function setDrawColor(\FPDF $pdf, $color)
|
||||
{
|
||||
$pdf->SetDrawColor($color[0], $color[1], $color[2]);
|
||||
}
|
||||
}
|
||||
33
core/src/Classes/StatsHelper.php
Normal file
33
core/src/Classes/StatsHelper.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace Classes;
|
||||
|
||||
use Employees\Common\Model\Employee;
|
||||
use Users\Common\Model\User;
|
||||
|
||||
class StatsHelper
|
||||
{
|
||||
public static function getEmployeeCount()
|
||||
{
|
||||
$employee = new Employee();
|
||||
$employeeCount = $employee->DB()->Execute("select count(id) from Employees");
|
||||
if ($employeeCount) {
|
||||
$employeeCount = intval($employeeCount->fields[0]);
|
||||
return $employeeCount;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static function getUserCount()
|
||||
{
|
||||
$user = new User();
|
||||
$userCount = $user->DB()->Execute("select count(id) from Users");
|
||||
if ($userCount) {
|
||||
$userCount = intval($userCount->fields[0]);
|
||||
return $userCount;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user