902 lines
46 KiB
PHP
902 lines
46 KiB
PHP
|
|
<?
|
|||
|
|
|
|||
|
|
namespace themes;
|
|||
|
|
|
|||
|
|
use core\Columns;
|
|||
|
|
use core\site\Theme;
|
|||
|
|
use core\site\theme\structure\eThemeOption;
|
|||
|
|
use core\Token;
|
|||
|
|
use ModuleBZ\Form\Input\Submit;
|
|||
|
|
use ModuleBZ\Form\Input\Text;
|
|||
|
|
use ModuleBZ\Form\Input\Textarea;
|
|||
|
|
use ModuleBZ\Layout\Column;
|
|||
|
|
use ModuleBZ\Layout\Row;
|
|||
|
|
use ModuleBZ\Layout\Title;
|
|||
|
|
use Mpdf\Tag\P;
|
|||
|
|
use PHPMailer\PHPMailer\PHPMailer;
|
|||
|
|
use themes\merakomis\Emp;
|
|||
|
|
|
|||
|
|
class Merakomis extends Theme {
|
|||
|
|
static $name = 'Merakomis';
|
|||
|
|
static $themeUrl = 'merakomis';
|
|||
|
|
|
|||
|
|
const PAGE_ADMIN = 'cms';
|
|||
|
|
const PAGE_ACCEPT = 'accept';
|
|||
|
|
|
|||
|
|
const CURRENCY = '₽';
|
|||
|
|
//-- Рабочие переменные
|
|||
|
|
|
|||
|
|
static $IS_TEST = false;
|
|||
|
|
static $TINY_MCE_KEY = '60vsy7x42oflvd2aqbpvnaz1c3ega0bkep1xkjr7qbf53x18';
|
|||
|
|
static $TINY_MCE_IMAGE_UPLOAD_URL = '';
|
|||
|
|
|
|||
|
|
static $_ADMIN_EMAIL = 'admin_email';
|
|||
|
|
static $_COMPANY_TABLE_SUBTITLE = 'company_table_subtitle';
|
|||
|
|
static $_COMPANY_TABLE_TEXT = 'company_table_text';
|
|||
|
|
static $_PROJECT_TABLE_TEXT = 'project_table_text';
|
|||
|
|
static $_PROJECT_TABLE_SUBTITLE = 'project_table_subtitle';
|
|||
|
|
static $_PROJECT_TABLE_ARCHIVE_TEXT = 'project_table_archive_text';
|
|||
|
|
static $_PROJECT_TABLE_ARCHIVE_SUBTITLE = 'project_table_archive_subtitle';
|
|||
|
|
static $_CONTRACTOR_TABLE_TEXT = 'contractor_table_text';
|
|||
|
|
static $_CONTRACTOR_TABLE_SUBTITLE = 'contractor_table_subtitle';
|
|||
|
|
static $_TEAM_TABLE_TEXT = 'team_table_text';
|
|||
|
|
static $_TEAM_TABLE_SUBTITLE = 'team_table_subtitle';
|
|||
|
|
static $_EMP_TABLE_TEXT = 'emp_table_text';
|
|||
|
|
static $_EMP_TABLE_SUBTITLE = 'emp_table_subtitle';
|
|||
|
|
static $_EMP_TABLE_ARCHIVE_TEXT = 'emp_table_archive_text';
|
|||
|
|
static $_EMP_TABLE_ARCHIVE_SUBTITLE = 'emp_table_archive_subtitle';
|
|||
|
|
static $_ABSENCE_TABLE_TEXT = 'absence_table_text';
|
|||
|
|
static $_ABSENCE_TABLE_SUBTITLE = 'absence_table_subtitle';
|
|||
|
|
static $_EMP_STATUS_TABLE_TEXT = 'emp_status_table_text';
|
|||
|
|
static $_EMP_STATUS_TABLE_SUBTITLE = 'emp_status_table_subtitle';
|
|||
|
|
static $_ORG_TYPE_TABLE_TEXT = 'org_type_table_text';
|
|||
|
|
static $_ORG_TYPE_TABLE_SUBTITLE = 'org_type_table_subtitle';
|
|||
|
|
static $_CITY_TABLE_TEXT = 'city_table_text';
|
|||
|
|
static $_CITY_TABLE_SUBTITLE = 'city_table_subtitle';
|
|||
|
|
static $_DEPARTMENTS_TABLE_TEXT = 'departments_table_text';
|
|||
|
|
static $_DEPARTMENTS_TABLE_SUBTITLE = 'departments_table_subtitle';
|
|||
|
|
static $_STAFFING_TABLE_TEXT = 'staffing_table_text';
|
|||
|
|
static $_STAFFING_TABLE_SUBTITLE = 'staffing_table_subtitle';
|
|||
|
|
static $_ORG_TABLE_TEXT = 'org_table_text';
|
|||
|
|
static $_ORG_TABLE_SUBTITLE = 'org_table_subtitle';
|
|||
|
|
static $_CONTRACTOR_STATUS_TABLE_TEXT = 'contractor_status_table_text';
|
|||
|
|
static $_CONTRACTOR_STATUS_TABLE_SUBTITLE = 'contractor_status_table_subtitle';
|
|||
|
|
static $_STEP_TABLE_TEXT = 'step_table_text';
|
|||
|
|
static $_STEP_TABLE_SUBTITLE = 'step_table_subtitle';
|
|||
|
|
static $_ANALYSIS_MY_1_SUBTITLE = 'analysis_my_1_subtitle';
|
|||
|
|
static $_ANALYSIS_MY_1 = 'analysis_my_1';
|
|||
|
|
static $_ANALYSIS_MY_2_SUBTITLE = 'analysis_my_2_subtitle';
|
|||
|
|
static $_ANALYSIS_MY_2 = 'analysis_my_2';
|
|||
|
|
static $_ANALYSIS_YEAR_1 = 'analysis_year_1';
|
|||
|
|
static $_ANALYSIS_YEAR_2 = 'analysis_year_2';
|
|||
|
|
static $_ANALYSIS_OFFICE_1 = 'analysis_office_1';
|
|||
|
|
static $_ANALYSIS_OFFICE_2 = 'analysis_office_2';
|
|||
|
|
static $_ANALYSIS_OFFICE_3 = 'analysis_office_3';
|
|||
|
|
static $_ANALYSIS_DEPARTMENT_1 = 'analysis_department_1';
|
|||
|
|
static $_ANALYSIS_DEPARTMENT_2 = 'analysis_department_2';
|
|||
|
|
static $_ANALYSIS_DEPARTMENT_3 = 'analysis_department_3';
|
|||
|
|
static $_ANALYSIS_COMPANY_1 = 'analysis_company_1';
|
|||
|
|
static $_ANALYSIS_COMPANY_2 = 'analysis_company_2';
|
|||
|
|
static $_ANALYSIS_COMPANY_3 = 'analysis_company_3';
|
|||
|
|
static $_ANALYSIS_COMPANY_4 = 'analysis_company_4';
|
|||
|
|
static $_ANALYSIS_COMPANY_5 = 'analysis_company_5';
|
|||
|
|
static $_ANALYSIS_COMPANY_6 = 'analysis_company_6';
|
|||
|
|
static $_MY_TABLE_1 = 'my_table_1';
|
|||
|
|
static $_MY_TABLE_2 = 'my_table_2';
|
|||
|
|
static $_MY_TABLE_3 = 'my_table_3';
|
|||
|
|
static $_PER_HOUR = 'per_hour';
|
|||
|
|
static $_K1 = 'k1';
|
|||
|
|
static $_K2 = 'k2';
|
|||
|
|
static $_STRUCTURE_COMPANY_SUBTITLE = 'structure_company_subtitle';
|
|||
|
|
static $_STRUCTURE_COMPANY_TEXT = 'structure_company_text';
|
|||
|
|
static $_CARD_SUBTITLE = 'card_subtitle';
|
|||
|
|
static $_CARD_TEXT = 'card_text';
|
|||
|
|
static $_STAFF_SUBTITLE_1 = 'staff_subtitle_1';
|
|||
|
|
static $_STAFF_SUBTITLE_2 = 'staff_subtitle_2';
|
|||
|
|
static $_STAFF_SUBTITLE_3 = 'staff_subtitle_3';
|
|||
|
|
static $_STAFF_SUBTITLE_4 = 'staff_subtitle_4';
|
|||
|
|
static $_STAFF_SUBTITLE_5 = 'staff_subtitle_5';
|
|||
|
|
static $_STAFF_TEXT_1 = 'staff_text_1';
|
|||
|
|
static $_STAFF_TEXT_2 = 'staff_text_2';
|
|||
|
|
static $_STAFF_TEXT_3 = 'staff_text_3';
|
|||
|
|
static $_STAFF_TEXT_4 = 'staff_text_4';
|
|||
|
|
static $_STAFF_TEXT_5 = 'staff_text_5';
|
|||
|
|
static $_PROJECT_SUBTITLE = 'project_subtitle';
|
|||
|
|
static $_PROJECT_TEXT = 'project_text';
|
|||
|
|
static $_ANALYSIS_TEAM_1 = 'analysis_team_1';
|
|||
|
|
static $_ANALYSIS_TEAM_2 = 'analysis_team_2';
|
|||
|
|
static $_ANALYSIS_TEAM_3 = 'analysis_team_3';
|
|||
|
|
static $_ANALYSIS_TEAM_4 = 'analysis_team_4';
|
|||
|
|
static $_ANALYSIS_TEAM_5 = 'analysis_team_5';
|
|||
|
|
static $_ANALYSIS_TEAM_6 = 'analysis_team_6';
|
|||
|
|
static $_ANALYSIS_TEAM_7 = 'analysis_team_7';
|
|||
|
|
static $_ANALYSIS_TEAM_8 = 'analysis_team_8';
|
|||
|
|
static $_ANALYSIS_TEAM_9 = 'analysis_team_9';
|
|||
|
|
static $_ANALYSIS_TEAM_10 = 'analysis_team_10';
|
|||
|
|
static $_ANALYSIS_TEAM_11 = 'analysis_team_11';
|
|||
|
|
static $_ANALYSIS_TEAM_12 = 'analysis_team_12';
|
|||
|
|
static $_ANALYSIS_TEAM_1_SUBTITLE = 'analysis_team_1_subtitle';
|
|||
|
|
static $_ANALYSIS_TEAM_2_SUBTITLE = 'analysis_team_2_subtitle';
|
|||
|
|
static $_ANALYSIS_TEAM_3_SUBTITLE = 'analysis_team_3_subtitle';
|
|||
|
|
static $_ANALYSIS_TEAM_4_SUBTITLE = 'analysis_team_4_subtitle';
|
|||
|
|
static $_ANALYSIS_TEAM_5_SUBTITLE = 'analysis_team_5_subtitle';
|
|||
|
|
static $_ANALYSIS_TEAM_6_SUBTITLE = 'analysis_team_6_subtitle';
|
|||
|
|
static $_ANALYSIS_TEAM_7_SUBTITLE = 'analysis_team_7_subtitle';
|
|||
|
|
static $_ANALYSIS_TEAM_8_SUBTITLE = 'analysis_team_8_subtitle';
|
|||
|
|
static $_ANALYSIS_TEAM_9_SUBTITLE = 'analysis_team_9_subtitle';
|
|||
|
|
static $_ANALYSIS_TEAM_10_SUBTITLE = 'analysis_team_10_subtitle';
|
|||
|
|
static $_ANALYSIS_TEAM_11_SUBTITLE = 'analysis_team_11_subtitle';
|
|||
|
|
static $_ANALYSIS_TEAM_12_SUBTITLE = 'analysis_team_12_subtitle';
|
|||
|
|
static $_ANALYSIS_YEAR_1_SUBTITLE = 'analysis_year_1_subtitle';
|
|||
|
|
static $_ANALYSIS_YEAR_2_SUBTITLE = 'analysis_year_2_subtitle';
|
|||
|
|
static $_ANALYSIS_COMPANY_1_SUBTITLE = 'analysis_company_1_subtitle';
|
|||
|
|
static $_ANALYSIS_COMPANY_2_SUBTITLE = 'analysis_company_2_subtitle';
|
|||
|
|
static $_ANALYSIS_COMPANY_3_SUBTITLE = 'analysis_company_3_subtitle';
|
|||
|
|
static $_ANALYSIS_COMPANY_4_SUBTITLE = 'analysis_company_4_subtitle';
|
|||
|
|
static $_ANALYSIS_COMPANY_4_SUBTITLE_2 = 'analysis_company_4_subtitle_2';
|
|||
|
|
static $_ANALYSIS_COMPANY_5_SUBTITLE = 'analysis_company_5_subtitle';
|
|||
|
|
static $_ANALYSIS_COMPANY_6_SUBTITLE = 'analysis_company_6_subtitle';
|
|||
|
|
static $_FOT_TITLE = 'fot_title';
|
|||
|
|
static $_FOT_TITLE_2 = 'fot_title_2';
|
|||
|
|
static $_FOT_TEXT = 'fot_text';
|
|||
|
|
static $_FOT_TEXT_2 = 'fot_text_2';
|
|||
|
|
static $_FOT_TABLE_TITLE_1 = 'fot_table_title_1';
|
|||
|
|
static $_FOT_TABLE_TITLE_2 = 'fot_table_title_2';
|
|||
|
|
static $_FOT_TABLE_SUBTITLE_1 = 'fot_table_subtitle_1';
|
|||
|
|
static $_FOT_TABLE_SUBTITLE_2 = 'fot_table_subtitle_2';
|
|||
|
|
static $_VARIABLE_TABLE_SUBTITLE = 'variable_table_subtitle';
|
|||
|
|
static $_VARIABLE_TABLE_TEXT = 'variable_table_text';
|
|||
|
|
static $_BUDGET_TITLE = 'budget_title';
|
|||
|
|
static $_BUDGET_SUBTITLE = 'budget_subtitle';
|
|||
|
|
static $_BUDGET_TITLE2 = 'budget_title';
|
|||
|
|
static $_BUDGET_SUBTITLE2 = 'budget_subtitle';
|
|||
|
|
static $_ALL_PROJECTS_TITLE = 'all_projects_title'; static $ALL_PROJECTS_TITLE;
|
|||
|
|
static $_ALL_PROJECTS_TEXT = 'all_projects_text'; static $ALL_PROJECTS_TEXT;
|
|||
|
|
|
|||
|
|
static $ADMIN_EMAIL;
|
|||
|
|
static $COMPANY_TABLE_SUBTITLE;
|
|||
|
|
static $COMPANY_TABLE_TEXT;
|
|||
|
|
static $PROJECT_TABLE_TEXT;
|
|||
|
|
static $PROJECT_TABLE_SUBTITLE;
|
|||
|
|
static $PROJECT_TABLE_ARCHIVE_TEXT;
|
|||
|
|
static $PROJECT_TABLE_ARCHIVE_SUBTITLE;
|
|||
|
|
static $CONTRACTOR_TABLE_TEXT;
|
|||
|
|
static $CONTRACTOR_TABLE_SUBTITLE;
|
|||
|
|
static $TEAM_TABLE_TEXT;
|
|||
|
|
static $TEAM_TABLE_SUBTITLE;
|
|||
|
|
static $EMP_TABLE_TEXT;
|
|||
|
|
static $EMP_TABLE_SUBTITLE;
|
|||
|
|
static $EMP_TABLE_ARCHIVE_TEXT;
|
|||
|
|
static $EMP_TABLE_ARCHIVE_SUBTITLE;
|
|||
|
|
static $ABSENCE_TABLE_TEXT;
|
|||
|
|
static $ABSENCE_TABLE_SUBTITLE;
|
|||
|
|
static $EMP_STATUS_TABLE_TEXT;
|
|||
|
|
static $EMP_STATUS_TABLE_SUBTITLE;
|
|||
|
|
static $ORG_TYPE_TABLE_TEXT;
|
|||
|
|
static $ORG_TYPE_TABLE_SUBTITLE;
|
|||
|
|
static $CITY_TABLE_TEXT;
|
|||
|
|
static $CITY_TABLE_SUBTITLE;
|
|||
|
|
static $DEPARTMENTS_TABLE_TEXT;
|
|||
|
|
static $DEPARTMENTS_TABLE_SUBTITLE;
|
|||
|
|
static $STAFFING_TABLE_TEXT;
|
|||
|
|
static $STAFFING_TABLE_SUBTITLE;
|
|||
|
|
static $ORG_TABLE_TEXT;
|
|||
|
|
static $ORG_TABLE_SUBTITLE;
|
|||
|
|
static $CONTRACTOR_STATUS_TABLE_TEXT;
|
|||
|
|
static $CONTRACTOR_STATUS_TABLE_SUBTITLE;
|
|||
|
|
static $STEP_TABLE_TEXT;
|
|||
|
|
static $STEP_TABLE_SUBTITLE;
|
|||
|
|
static $ANALYSIS_MY_1_SUBTITLE;
|
|||
|
|
static $ANALYSIS_MY_1;
|
|||
|
|
static $ANALYSIS_MY_2_SUBTITLE;
|
|||
|
|
static $ANALYSIS_MY_2;
|
|||
|
|
static $ANALYSIS_YEAR_1;
|
|||
|
|
static $ANALYSIS_YEAR_2;
|
|||
|
|
static $ANALYSIS_OFFICE_1;
|
|||
|
|
static $ANALYSIS_OFFICE_2;
|
|||
|
|
static $ANALYSIS_OFFICE_3;
|
|||
|
|
static $ANALYSIS_DEPARTMENT_1;
|
|||
|
|
static $ANALYSIS_DEPARTMENT_2;
|
|||
|
|
static $ANALYSIS_DEPARTMENT_3;
|
|||
|
|
static $ANALYSIS_COMPANY_1;
|
|||
|
|
static $ANALYSIS_COMPANY_2;
|
|||
|
|
static $ANALYSIS_COMPANY_3;
|
|||
|
|
static $ANALYSIS_COMPANY_4;
|
|||
|
|
static $ANALYSIS_COMPANY_5;
|
|||
|
|
static $ANALYSIS_COMPANY_6;
|
|||
|
|
static $MY_TABLE_1;
|
|||
|
|
static $MY_TABLE_2;
|
|||
|
|
static $MY_TABLE_3;
|
|||
|
|
static $PER_HOUR;
|
|||
|
|
static $K1;
|
|||
|
|
static $K2;
|
|||
|
|
static $STRUCTURE_COMPANY_SUBTITLE;
|
|||
|
|
static $STRUCTURE_COMPANY_TEXT;
|
|||
|
|
static $CARD_SUBTITLE;
|
|||
|
|
static $CARD_TEXT;
|
|||
|
|
static $STAFF_SUBTITLE_1;
|
|||
|
|
static $STAFF_SUBTITLE_2;
|
|||
|
|
static $STAFF_SUBTITLE_3;
|
|||
|
|
static $STAFF_SUBTITLE_4;
|
|||
|
|
static $STAFF_SUBTITLE_5;
|
|||
|
|
static $STAFF_TEXT_1;
|
|||
|
|
static $STAFF_TEXT_2;
|
|||
|
|
static $STAFF_TEXT_3;
|
|||
|
|
static $STAFF_TEXT_4;
|
|||
|
|
static $STAFF_TEXT_5;
|
|||
|
|
static $PROJECT_SUBTITLE;
|
|||
|
|
static $PROJECT_TEXT;
|
|||
|
|
static $ANALYSIS_TEAM_1;
|
|||
|
|
static $ANALYSIS_TEAM_2;
|
|||
|
|
static $ANALYSIS_TEAM_3;
|
|||
|
|
static $ANALYSIS_TEAM_4;
|
|||
|
|
static $ANALYSIS_TEAM_5;
|
|||
|
|
static $ANALYSIS_TEAM_6;
|
|||
|
|
static $ANALYSIS_TEAM_7;
|
|||
|
|
static $ANALYSIS_TEAM_8;
|
|||
|
|
static $ANALYSIS_TEAM_9;
|
|||
|
|
static $ANALYSIS_TEAM_10;
|
|||
|
|
static $ANALYSIS_TEAM_11;
|
|||
|
|
static $ANALYSIS_TEAM_12;
|
|||
|
|
static $ANALYSIS_TEAM_1_SUBTITLE;
|
|||
|
|
static $ANALYSIS_TEAM_2_SUBTITLE;
|
|||
|
|
static $ANALYSIS_TEAM_3_SUBTITLE;
|
|||
|
|
static $ANALYSIS_TEAM_4_SUBTITLE;
|
|||
|
|
static $ANALYSIS_TEAM_5_SUBTITLE;
|
|||
|
|
static $ANALYSIS_TEAM_6_SUBTITLE;
|
|||
|
|
static $ANALYSIS_TEAM_7_SUBTITLE;
|
|||
|
|
static $ANALYSIS_TEAM_8_SUBTITLE;
|
|||
|
|
static $ANALYSIS_TEAM_9_SUBTITLE;
|
|||
|
|
static $ANALYSIS_TEAM_10_SUBTITLE;
|
|||
|
|
static $ANALYSIS_TEAM_11_SUBTITLE;
|
|||
|
|
static $ANALYSIS_TEAM_12_SUBTITLE;
|
|||
|
|
static $ANALYSIS_YEAR_1_SUBTITLE;
|
|||
|
|
static $ANALYSIS_YEAR_2_SUBTITLE;
|
|||
|
|
static $ANALYSIS_COMPANY_1_SUBTITLE;
|
|||
|
|
static $ANALYSIS_COMPANY_2_SUBTITLE;
|
|||
|
|
static $ANALYSIS_COMPANY_3_SUBTITLE;
|
|||
|
|
static $ANALYSIS_COMPANY_4_SUBTITLE;
|
|||
|
|
static $ANALYSIS_COMPANY_4_SUBTITLE_2;
|
|||
|
|
static $ANALYSIS_COMPANY_5_SUBTITLE;
|
|||
|
|
static $ANALYSIS_COMPANY_6_SUBTITLE;
|
|||
|
|
|
|||
|
|
static $FOT_TITLE;
|
|||
|
|
static $FOT_TEXT;
|
|||
|
|
static $FOT_TITLE_2;
|
|||
|
|
static $FOT_TEXT_2;
|
|||
|
|
static $FOT_TABLE_TITLE_1;
|
|||
|
|
static $FOT_TABLE_TITLE_2;
|
|||
|
|
static $FOT_TABLE_SUBTITLE_1;
|
|||
|
|
static $FOT_TABLE_SUBTITLE_2;
|
|||
|
|
|
|||
|
|
static $VARIABLE_TABLE_SUBTITLE;
|
|||
|
|
static $VARIABLE_TABLE_TEXT;
|
|||
|
|
static $BUDGET_TITLE;
|
|||
|
|
static $BUDGET_SUBTITLE;
|
|||
|
|
static $BUDGET_TITLE2;
|
|||
|
|
static $BUDGET_SUBTITLE2;
|
|||
|
|
|
|||
|
|
static $LOGS = [];
|
|||
|
|
|
|||
|
|
static function addLog($text)
|
|||
|
|
{
|
|||
|
|
$diff = microtime(true) - self::$START_TIME;
|
|||
|
|
self::$START_TIME = microtime(true);
|
|||
|
|
self::$LOGS[] = [
|
|||
|
|
'text' => $text,
|
|||
|
|
'diff' => round($diff, 5),
|
|||
|
|
];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
static $module_prefix = 'themes\merakomis';
|
|||
|
|
static $modules = [
|
|||
|
|
'day',
|
|||
|
|
'dictionary\absence',
|
|||
|
|
'dictionary\city',
|
|||
|
|
'dictionary\contractor',
|
|||
|
|
'dictionary\contractor\status',
|
|||
|
|
'dictionary\department',
|
|||
|
|
'dictionary\empstatus',
|
|||
|
|
'dictionary\objtype',
|
|||
|
|
'dictionary\org',
|
|||
|
|
'dictionary\orgtype',
|
|||
|
|
'dictionary\staffing',
|
|||
|
|
'dictionary\step',
|
|||
|
|
'dictionary\section',
|
|||
|
|
'emp\group',
|
|||
|
|
'emp\children',
|
|||
|
|
'emp',
|
|||
|
|
'event',
|
|||
|
|
'fot',
|
|||
|
|
'fot\budget',
|
|||
|
|
'history',
|
|||
|
|
'page',
|
|||
|
|
'post',
|
|||
|
|
'project',
|
|||
|
|
'project\section',
|
|||
|
|
'team\member',
|
|||
|
|
'team',
|
|||
|
|
'time\absence',
|
|||
|
|
'time\cache',
|
|||
|
|
'time',
|
|||
|
|
'variable',
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
|
|||
|
|
static function getUploadToken(){
|
|||
|
|
$res = 'merakomis_'.\Site::$owner_id.'_'.time();
|
|||
|
|
$token = Token::getOneEqualByColumn(Token::$ACCOUNT,\Site::$owner_id);
|
|||
|
|
if(!$token){
|
|||
|
|
$r = Token::insert([
|
|||
|
|
Token::$ACCOUNT=>\Site::$owner_id,
|
|||
|
|
Token::$HASH => $res,
|
|||
|
|
]);
|
|||
|
|
} else {
|
|||
|
|
$res = $token[Token::$HASH];
|
|||
|
|
}
|
|||
|
|
return $res;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
static function getFormSettings(){
|
|||
|
|
$data = self::$data;
|
|||
|
|
|
|||
|
|
$tables = [
|
|||
|
|
['Моя компания', self::$_COMPANY_TABLE_SUBTITLE, self::$_COMPANY_TABLE_TEXT,],
|
|||
|
|
['Проекты', self::$_PROJECT_TABLE_SUBTITLE, self::$_PROJECT_TABLE_TEXT,],
|
|||
|
|
['Контрагенты', self::$_CONTRACTOR_TABLE_SUBTITLE, self::$_CONTRACTOR_TABLE_TEXT,],
|
|||
|
|
['Команда проекта', self::$_TEAM_TABLE_SUBTITLE, self::$_TEAM_TABLE_TEXT,],
|
|||
|
|
['Сотрудники', self::$_EMP_TABLE_SUBTITLE, self::$_EMP_TABLE_TEXT,],
|
|||
|
|
['Причины отсутствия', self::$_ABSENCE_TABLE_SUBTITLE, self::$_ABSENCE_TABLE_TEXT,],
|
|||
|
|
['Статус сотрудников', self::$_EMP_STATUS_TABLE_SUBTITLE, self::$_EMP_STATUS_TABLE_TEXT,],
|
|||
|
|
['Виды сотрудничества', self::$_ORG_TYPE_TABLE_SUBTITLE, self::$_ORG_TYPE_TABLE_TEXT,],
|
|||
|
|
['Локации', self::$_CITY_TABLE_SUBTITLE, self::$_CITY_TABLE_TEXT,],
|
|||
|
|
['Структура компании', self::$_DEPARTMENTS_TABLE_SUBTITLE, self::$_DEPARTMENTS_TABLE_TEXT,],
|
|||
|
|
['Штатное расписание', self::$_STAFFING_TABLE_SUBTITLE, self::$_STAFFING_TABLE_TEXT,],
|
|||
|
|
['Юридические лица', self::$_ORG_TABLE_SUBTITLE, self::$_ORG_TABLE_TEXT,],
|
|||
|
|
['Статус контрагентов', self::$_CONTRACTOR_STATUS_TABLE_SUBTITLE, self::$_CONTRACTOR_STATUS_TABLE_TEXT,],
|
|||
|
|
['Структура проекта', self::$_STEP_TABLE_SUBTITLE, self::$_STEP_TABLE_TEXT,],
|
|||
|
|
];
|
|||
|
|
$res['title'] = ['title'=>'Проекты','subtitle'=>Merakomis::$PROJECT_TABLE_SUBTITLE,'text'=>Merakomis::$PROJECT_TABLE_TEXT];
|
|||
|
|
//
|
|||
|
|
|
|||
|
|
|
|||
|
|
$form = (new \ModuleBZ\Form());
|
|||
|
|
|
|||
|
|
$form->addRow((new Row())
|
|||
|
|
// ->addColumn(((new Column())->addTitle(new Title('Финансы') )))
|
|||
|
|
->addColumn(((new Text())
|
|||
|
|
->setName(self::$_ADMIN_EMAIL)
|
|||
|
|
->setValue(self::$ADMIN_EMAIL)
|
|||
|
|
->setClassAll('c-100')
|
|||
|
|
->setLabel($c = 'Email для уведомлений')
|
|||
|
|
->setPlaceholder($c)
|
|||
|
|
)));
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
$form->addRow((new Row())
|
|||
|
|
->addColumn(((new Column())->addTitle(new Title('Финансы') )))
|
|||
|
|
->addColumn(((new Text())
|
|||
|
|
->setName(self::$_PER_HOUR)
|
|||
|
|
->setValue(self::$PER_HOUR)
|
|||
|
|
->setClassAll('c-100')
|
|||
|
|
->setLabel($c = 'Ставка в час')
|
|||
|
|
->setPlaceholder($c)
|
|||
|
|
))
|
|||
|
|
->addColumn(((new Text())
|
|||
|
|
->setName(self::$_K1)
|
|||
|
|
->setValue(self::$K1)
|
|||
|
|
->setClassAll('c-100')
|
|||
|
|
->setLabel($c = 'k1')
|
|||
|
|
->setPlaceholder($c)
|
|||
|
|
))
|
|||
|
|
->addColumn(((new Text())
|
|||
|
|
->setName(self::$_K2)
|
|||
|
|
->setValue(self::$K2)
|
|||
|
|
->setClassAll('c-100')
|
|||
|
|
->setLabel($c = 'k2')
|
|||
|
|
->setPlaceholder($c)
|
|||
|
|
))
|
|||
|
|
|
|||
|
|
);
|
|||
|
|
*/
|
|||
|
|
/*
|
|||
|
|
foreach ($tables as $v) {
|
|||
|
|
$k1 = $v[1];
|
|||
|
|
$k2 = $v[2];
|
|||
|
|
|
|||
|
|
$form->addRow((new Row())
|
|||
|
|
->addColumn(((new Column())->addTitle(new Title($v[0]) )))
|
|||
|
|
->addColumn(((new Text())
|
|||
|
|
->setName($k1)
|
|||
|
|
->setValue($data[$k1])
|
|||
|
|
->setClassAll('c-100')
|
|||
|
|
->setLabel($c = 'Заголовок таблицы «'.$v[0].'»')
|
|||
|
|
->setPlaceholder($c)
|
|||
|
|
))
|
|||
|
|
->addColumn(((new TextArea())
|
|||
|
|
->setName($k2)
|
|||
|
|
->setValue($data[$k2])
|
|||
|
|
->setClassAll('c-100')
|
|||
|
|
->setLabel($c = 'Описание таблицы «'.$v[0].'»')
|
|||
|
|
->setPlaceholder($c)
|
|||
|
|
->setAutoHeight(true)
|
|||
|
|
))
|
|||
|
|
);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
$analysis = [
|
|||
|
|
'ФИО'=>[
|
|||
|
|
self::$_ANALYSIS_MY_1=>'Работа над проектами',
|
|||
|
|
self::$_ANALYSIS_MY_2=>'Отсутствие на рабочем месте',
|
|||
|
|
],
|
|||
|
|
'Мои проекты'=>[
|
|||
|
|
self::$_ANALYSIS_TEAM_1=>'Анализ затрат на проекты - 1',
|
|||
|
|
self::$_ANALYSIS_TEAM_2=>'Анализ затрат на проекты - 2',
|
|||
|
|
self::$_ANALYSIS_TEAM_3=>'Подразделы',
|
|||
|
|
self::$_ANALYSIS_TEAM_4=>'Разделы',
|
|||
|
|
self::$_ANALYSIS_TEAM_5=>'Команда проекта',
|
|||
|
|
],
|
|||
|
|
'Мои проекты: годовой отчёт'=>[
|
|||
|
|
|
|||
|
|
self::$_ANALYSIS_YEAR_1=>'Сводка часов за календарный год',
|
|||
|
|
self::$_ANALYSIS_YEAR_2=>'Сводка затрат за календарный год',
|
|||
|
|
],
|
|||
|
|
'Моё подразделение'=>[
|
|||
|
|
|
|||
|
|
self::$_ANALYSIS_DEPARTMENT_1=>'Нагрузка на подразделения',
|
|||
|
|
self::$_ANALYSIS_DEPARTMENT_2=>'Сотрудники',
|
|||
|
|
self::$_ANALYSIS_DEPARTMENT_3=>'Анализ нерабочих дней сотрудников вашего подразделения',
|
|||
|
|
],
|
|||
|
|
'Моя компания'=>[
|
|||
|
|
self::$_ANALYSIS_COMPANY_1=>'Нагрузка на подразделения',
|
|||
|
|
self::$_ANALYSIS_COMPANY_2=>'Нагрузка на сотрудников - 1',
|
|||
|
|
self::$_ANALYSIS_COMPANY_3=>'Нагрузка на сотрудников - 2',
|
|||
|
|
self::$_ANALYSIS_COMPANY_4=>'Анализ нерабочих дней сотрудников вашей компании',
|
|||
|
|
],
|
|||
|
|
'Мой табель'=>[
|
|||
|
|
self::$_MY_TABLE_1=>'Сводный табель',
|
|||
|
|
self::$_MY_TABLE_2=>'Выбранный проект',
|
|||
|
|
self::$_MY_TABLE_3=>'Информация',
|
|||
|
|
],
|
|||
|
|
];
|
|||
|
|
$form->addRow((new Row())
|
|||
|
|
->addColumn(((new Column())->addTitle(new Title('Аналитика') )))
|
|||
|
|
);
|
|||
|
|
foreach ($analysis as $title=>$a){
|
|||
|
|
|
|||
|
|
$form->addRow((new Row())
|
|||
|
|
->addColumn(((new Column())->addTitle(new Title($title) )))
|
|||
|
|
);
|
|||
|
|
foreach ($a as $k=>$v){
|
|||
|
|
|
|||
|
|
$form->addRow((new Row())
|
|||
|
|
->addColumn(((new Text())
|
|||
|
|
->setName($k)
|
|||
|
|
->setValue($data[$k])
|
|||
|
|
->setClassAll('c-100')
|
|||
|
|
->setLabel($c = $v)
|
|||
|
|
->setPlaceholder($c)
|
|||
|
|
)));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
$form->addRow((new Row())
|
|||
|
|
->addColumn(((new Submit())
|
|||
|
|
->setName('save')
|
|||
|
|
->setValue('1')
|
|||
|
|
->setPlaceholder('Сохранить')
|
|||
|
|
->setClassName('blue')
|
|||
|
|
->setClassAll('c-100')
|
|||
|
|
))
|
|||
|
|
)
|
|||
|
|
;
|
|||
|
|
return $form->toJSON();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
static function fprice($x,$options = []){
|
|||
|
|
return number_format($x,$options['round']??0,"."," ").($options['currency']??" ₽");
|
|||
|
|
}
|
|||
|
|
static function fbool($x){
|
|||
|
|
return (boolval($x)?'Да':'Нет');
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
static function getChartColor($x){
|
|||
|
|
$arr = ['#00589C', '#59B90F', '#BD9768','#1C303B','#676E77','#BFBFBF'];
|
|||
|
|
//$arr = ['#59B90F', '#BD9768', '#0D71BE',];
|
|||
|
|
return $arr[$x] ? : $arr[ array_key_last($arr) ];
|
|||
|
|
}
|
|||
|
|
static function getGraphColor($x){
|
|||
|
|
$arr = ['#59B90F', '#BD9768', '#0D71BE', '#8AA0B2', '#B2DF8A', '#A6CEE3', '#BE5A0D', '#0FAEB9', '#10846C', '#8B71B9',];
|
|||
|
|
//$arr = ['#59B90F', '#BD9768', '#0D71BE',];
|
|||
|
|
return $arr[$x] ? : $arr[ array_key_last($arr) ];
|
|||
|
|
}
|
|||
|
|
static function getGraphClasses(){
|
|||
|
|
$classes = [
|
|||
|
|
//'color-green',
|
|||
|
|
//'color-brown',
|
|||
|
|
];
|
|||
|
|
for($i=1;$i<=10;$i++){
|
|||
|
|
$classes[] = 'chart-color'.$i;
|
|||
|
|
}
|
|||
|
|
return $classes;
|
|||
|
|
}
|
|||
|
|
static function graphClass(&$array,$isSort = true,$isReverse = false,$isPercent = false){
|
|||
|
|
if($isSort) {
|
|||
|
|
usort($array, function ($x, $y) {
|
|||
|
|
return $x['value'] <=> $y['value'];
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
if($isReverse){
|
|||
|
|
$array = array_reverse($array);
|
|||
|
|
}
|
|||
|
|
if($isPercent){
|
|||
|
|
$total = 0;
|
|||
|
|
$last = count($array)-1;
|
|||
|
|
foreach ($array as $k=>$v){
|
|||
|
|
$isLast = $k==$last;
|
|||
|
|
if($isLast){
|
|||
|
|
if($isReverse) {
|
|||
|
|
$total += $v['value'];
|
|||
|
|
} else{
|
|||
|
|
$array[$k]['value'] = 100-$total;
|
|||
|
|
}
|
|||
|
|
} else {
|
|||
|
|
$total += $v['value'];
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
if($isReverse and $array[0]) {
|
|||
|
|
$array[0]['value'] += 100-$total;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
$classes = self::getGraphClasses();
|
|||
|
|
foreach ($array as $k=>&$value){
|
|||
|
|
$value['class'] = $classes[$k];
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
static function getMonth($x){
|
|||
|
|
switch(intval($x)){
|
|||
|
|
case 1: return "январь"; break;
|
|||
|
|
case 2: return "февраль"; break;
|
|||
|
|
case 3: return "март"; break;
|
|||
|
|
case 4: return "апрель"; break;
|
|||
|
|
case 5: return "май"; break;
|
|||
|
|
case 6: return "июнь"; break;
|
|||
|
|
case 7: return "июль"; break;
|
|||
|
|
case 8: return "август"; break;
|
|||
|
|
case 9: return "сентябрь"; break;
|
|||
|
|
case 10: return "октябрь"; break;
|
|||
|
|
case 11: return "ноябрь"; break;
|
|||
|
|
case 12: return "декабрь"; break;
|
|||
|
|
default : return"";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
static function fdate($x){
|
|||
|
|
if($x=='0000-00-00') return '';
|
|||
|
|
if(!$x) return '';
|
|||
|
|
$x = is_numeric($x) ? $x : strtotime($x);
|
|||
|
|
return date('d.m.Y',$x).' г.';
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
static function mail($to,$name,$message,$subject){
|
|||
|
|
|
|||
|
|
$mail_res = false;
|
|||
|
|
try {
|
|||
|
|
$mail = new PHPMailer(true);
|
|||
|
|
|
|||
|
|
$mail->isSMTP(); //Send using SMTP
|
|||
|
|
$mail->Host = 'smtp.mail.ru'; //Set the SMTP server to send through
|
|||
|
|
$mail->SMTPAuth = true; //Enable SMTP authentication
|
|||
|
|
$mail->Username = $from = 'admin@merakom.ru'; //SMTP username
|
|||
|
|
$mail->Password = 'enAwSLSrJpWePnypPF0B'; //SMTP password
|
|||
|
|
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; //Enable implicit TLS encryption
|
|||
|
|
$mail->Port = 465; //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS`
|
|||
|
|
$mail->CharSet = PHPMailer::CHARSET_UTF8;
|
|||
|
|
|
|||
|
|
//Recipients
|
|||
|
|
$mail->setFrom($from, 'Мераком');
|
|||
|
|
$mail->addAddress($to, $name); //Add a recipient
|
|||
|
|
|
|||
|
|
//Content
|
|||
|
|
$mail->isHTML(true); //Set email format to HTML
|
|||
|
|
$mail->Subject = $subject;
|
|||
|
|
$mail->Body = $message;
|
|||
|
|
//if(IS_PUBLIC) {
|
|||
|
|
$mail_res = $mail->send();
|
|||
|
|
//}
|
|||
|
|
} catch (\Exception $exception){
|
|||
|
|
return null;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
$from = 'no-reply@'.($_SERVER['HTTP_HOST']);
|
|||
|
|
$headers = 'From: Merakom <'.$from .'>';//. "\r\n" .
|
|||
|
|
//'Reply-To: '.$from . "\r\n" .
|
|||
|
|
//'To: '.$to.''. "\r\n" .
|
|||
|
|
//'X-Mailer: PHP/' . phpversion();
|
|||
|
|
'';
|
|||
|
|
return [
|
|||
|
|
'headers'=>$headers,
|
|||
|
|
'message'=>$message,
|
|||
|
|
'subject'=>$subject,
|
|||
|
|
'res'=>$mail_res,
|
|||
|
|
//mail($to, $subject, $message, $headers),
|
|||
|
|
];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
static function sendMailAdmin($html,$subject='',$files = null){
|
|||
|
|
$emais = [
|
|||
|
|
'test@module.bz',
|
|||
|
|
'admin@merakom.ru',
|
|||
|
|
//self::$ADMIN_EMAIL,
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
$a = explode(",",self::$ADMIN_EMAIL);
|
|||
|
|
foreach ($a as $email){
|
|||
|
|
$email = trim($email);
|
|||
|
|
if($email) $emais[] = $email;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
$res = [];
|
|||
|
|
foreach ($emais as $email) {
|
|||
|
|
if(!$email) continue;
|
|||
|
|
$r = self::mail(
|
|||
|
|
$email, // email
|
|||
|
|
'Администратор',
|
|||
|
|
$html,
|
|||
|
|
$subject
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
if($r){
|
|||
|
|
$res['send'][] = $r;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return $res;
|
|||
|
|
}
|
|||
|
|
static function boolString($x){
|
|||
|
|
return boolval($x)?'Да':'Нет';
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
static $START_TIME;
|
|||
|
|
static function prepare() {
|
|||
|
|
self::$START_TIME = microtime(true);
|
|||
|
|
$isLocal = (in_array($_SERVER['HTTP_ORIGIN'],['http://localhost','http://localhost:3000']));
|
|||
|
|
self::$TINY_MCE_IMAGE_UPLOAD_URL = \Site::$domen.'/api/themes.merakomis/upload_image/';
|
|||
|
|
self::$IS_TEST = $isLocal;
|
|||
|
|
parent::prepare();
|
|||
|
|
Emp::init();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
static function decimalToHide($number) {
|
|||
|
|
if ($number == 0) {
|
|||
|
|
return '0';
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
$digits = '0123456789ABCDEFGHIJ'; // символы для base-20
|
|||
|
|
$result = '';
|
|||
|
|
$isNegative = $number < 0;
|
|||
|
|
$number = abs($number);
|
|||
|
|
|
|||
|
|
while ($number > 0) {
|
|||
|
|
$remainder = $number % 20;
|
|||
|
|
$result = $digits[$remainder] . $result;
|
|||
|
|
$number = (int)($number / 20);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return $isNegative ? '-' . $result : $result;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
static function encryptNumber($number) {
|
|||
|
|
$key = 'sex';
|
|||
|
|
// Убедимся, что это число (или строка с числом)
|
|||
|
|
if (!is_numeric($number)) {
|
|||
|
|
return '0';
|
|||
|
|
//throw new InvalidArgumentException("Ожидается числовое значение");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
$number = round($number, 2);
|
|||
|
|
$numberStr = (string) $number; // например, "123.456"
|
|||
|
|
$method = 'AES-128-CBC';
|
|||
|
|
$iv = substr(hash('sha256', $key, true), 0, 16); // IV из ключа (для примера)
|
|||
|
|
$encrypted = openssl_encrypt($numberStr, $method, $key, 0, $iv);
|
|||
|
|
|
|||
|
|
if ($encrypted === false) {
|
|||
|
|
//throw new RuntimeException("Шифрование не удалось");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return base64_encode($encrypted); // возвращаем в виде строки
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
static function decryptNumber($encryptedString) {
|
|||
|
|
$key = 'sex';
|
|||
|
|
$method = 'AES-128-CBC';
|
|||
|
|
$iv = substr(hash('sha256', $key, true), 0, 16);
|
|||
|
|
$encrypted = base64_decode($encryptedString);
|
|||
|
|
|
|||
|
|
$decrypted = openssl_decrypt($encrypted, $method, $key, 0, $iv);
|
|||
|
|
|
|||
|
|
if ($decrypted === false) {
|
|||
|
|
//throw new RuntimeException("Дешифрование не удалось");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Преобразуем обратно в число (float или int)
|
|||
|
|
return $decrypted + 0; // автоматически станет float, если есть точка
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
static function hideToDecimal($base20) {
|
|||
|
|
$base20 = trim($base20);
|
|||
|
|
$isNegative = ($base20[0] == '-');
|
|||
|
|
if ($isNegative) {
|
|||
|
|
$base20 = substr($base20, 1);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
$digits = '0123456789ABCDEFGHIJ';
|
|||
|
|
$result = 0;
|
|||
|
|
|
|||
|
|
for ($i = 0; $i < strlen($base20); $i++) {
|
|||
|
|
$char = $base20[$i];
|
|||
|
|
$value = strpos($digits, $char);
|
|||
|
|
|
|||
|
|
if ($value === false) {
|
|||
|
|
//throw new InvalidArgumentException("Недопустимый символ в base-20: $char");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
$result = $result * 20 + $value;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return $isNegative ? -$result : $result;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
public static function getOptions(): array
|
|||
|
|
{
|
|||
|
|
if (static::$options) return static::$options;
|
|||
|
|
else {
|
|||
|
|
$data = static::$data;
|
|||
|
|
return static::$options = [
|
|||
|
|
|
|||
|
|
self::$_PROJECT_TABLE_TEXT => [ eThemeOption::ID => $data[self::$_PROJECT_TABLE_TEXT], ],
|
|||
|
|
self::$_PROJECT_TABLE_SUBTITLE => [ eThemeOption::ID => $data[self::$_PROJECT_TABLE_SUBTITLE], ],
|
|||
|
|
self::$_CONTRACTOR_TABLE_TEXT => [ eThemeOption::ID => $data[self::$_CONTRACTOR_TABLE_TEXT], ],
|
|||
|
|
self::$_CONTRACTOR_TABLE_SUBTITLE => [ eThemeOption::ID => $data[self::$_CONTRACTOR_TABLE_SUBTITLE], ],
|
|||
|
|
self::$_TEAM_TABLE_TEXT => [ eThemeOption::ID => $data[self::$_TEAM_TABLE_TEXT], ],
|
|||
|
|
self::$_TEAM_TABLE_SUBTITLE => [ eThemeOption::ID => $data[self::$_TEAM_TABLE_SUBTITLE], ],
|
|||
|
|
self::$_EMP_TABLE_TEXT => [ eThemeOption::ID => $data[self::$_EMP_TABLE_TEXT], ],
|
|||
|
|
self::$_EMP_TABLE_SUBTITLE => [ eThemeOption::ID => $data[self::$_EMP_TABLE_SUBTITLE], ],
|
|||
|
|
self::$_ABSENCE_TABLE_TEXT => [ eThemeOption::ID => $data[self::$_ABSENCE_TABLE_TEXT], ],
|
|||
|
|
self::$_ABSENCE_TABLE_SUBTITLE => [ eThemeOption::ID => $data[self::$_ABSENCE_TABLE_SUBTITLE], ],
|
|||
|
|
self::$_EMP_STATUS_TABLE_TEXT => [ eThemeOption::ID => $data[self::$_EMP_STATUS_TABLE_TEXT], ],
|
|||
|
|
self::$_EMP_STATUS_TABLE_SUBTITLE => [ eThemeOption::ID => $data[self::$_EMP_STATUS_TABLE_SUBTITLE], ],
|
|||
|
|
self::$_ORG_TYPE_TABLE_TEXT => [ eThemeOption::ID => $data[self::$_ORG_TYPE_TABLE_TEXT], ],
|
|||
|
|
self::$_ORG_TYPE_TABLE_SUBTITLE => [ eThemeOption::ID => $data[self::$_ORG_TYPE_TABLE_SUBTITLE], ],
|
|||
|
|
self::$_CITY_TABLE_TEXT => [ eThemeOption::ID => $data[self::$_CITY_TABLE_TEXT], ],
|
|||
|
|
self::$_CITY_TABLE_SUBTITLE => [ eThemeOption::ID => $data[self::$_CITY_TABLE_SUBTITLE], ],
|
|||
|
|
self::$_DEPARTMENTS_TABLE_TEXT => [ eThemeOption::ID => $data[self::$_DEPARTMENTS_TABLE_TEXT], ],
|
|||
|
|
self::$_DEPARTMENTS_TABLE_SUBTITLE => [ eThemeOption::ID => $data[self::$_DEPARTMENTS_TABLE_SUBTITLE], ],
|
|||
|
|
self::$_STAFFING_TABLE_TEXT => [ eThemeOption::ID => $data[self::$_STAFFING_TABLE_TEXT], ],
|
|||
|
|
self::$_STAFFING_TABLE_SUBTITLE => [ eThemeOption::ID => $data[self::$_STAFFING_TABLE_SUBTITLE], ],
|
|||
|
|
self::$_ORG_TABLE_TEXT => [ eThemeOption::ID => $data[self::$_ORG_TABLE_TEXT], ],
|
|||
|
|
self::$_ORG_TABLE_SUBTITLE => [ eThemeOption::ID => $data[self::$_ORG_TABLE_SUBTITLE], ],
|
|||
|
|
self::$_CONTRACTOR_STATUS_TABLE_SUBTITLE => [ eThemeOption::ID => $data[self::$_CONTRACTOR_STATUS_TABLE_SUBTITLE], ],
|
|||
|
|
self::$_CONTRACTOR_STATUS_TABLE_TEXT => [ eThemeOption::ID => $data[self::$_CONTRACTOR_STATUS_TABLE_TEXT], ],
|
|||
|
|
self::$_COMPANY_TABLE_SUBTITLE => [ eThemeOption::ID => $data[self::$_COMPANY_TABLE_SUBTITLE], ],
|
|||
|
|
self::$_COMPANY_TABLE_TEXT => [ eThemeOption::ID => $data[self::$_COMPANY_TABLE_TEXT], ],
|
|||
|
|
self::$_STEP_TABLE_TEXT => [ eThemeOption::ID => $data[self::$_STEP_TABLE_TEXT], ],
|
|||
|
|
self::$_STEP_TABLE_SUBTITLE => [ eThemeOption::ID => $data[self::$_STEP_TABLE_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_MY_1_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_MY_1_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_MY_1 => [ eThemeOption::ID => $data[self::$_ANALYSIS_MY_1], ],
|
|||
|
|
self::$_ANALYSIS_MY_2_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_MY_2_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_MY_2 => [ eThemeOption::ID => $data[self::$_ANALYSIS_MY_2], ],
|
|||
|
|
self::$_ANALYSIS_YEAR_1 => [ eThemeOption::ID => $data[self::$_ANALYSIS_YEAR_1], ],
|
|||
|
|
self::$_ANALYSIS_YEAR_2 => [ eThemeOption::ID => $data[self::$_ANALYSIS_YEAR_2], ],
|
|||
|
|
self::$_ANALYSIS_OFFICE_1 => [ eThemeOption::ID => $data[self::$_ANALYSIS_OFFICE_1], ],
|
|||
|
|
self::$_ANALYSIS_OFFICE_2 => [ eThemeOption::ID => $data[self::$_ANALYSIS_OFFICE_2], ],
|
|||
|
|
self::$_ANALYSIS_OFFICE_3 => [ eThemeOption::ID => $data[self::$_ANALYSIS_OFFICE_3], ],
|
|||
|
|
self::$_ANALYSIS_DEPARTMENT_1 => [ eThemeOption::ID => $data[self::$_ANALYSIS_DEPARTMENT_1], ],
|
|||
|
|
self::$_ANALYSIS_DEPARTMENT_2 => [ eThemeOption::ID => $data[self::$_ANALYSIS_DEPARTMENT_2], ],
|
|||
|
|
self::$_ANALYSIS_DEPARTMENT_3 => [ eThemeOption::ID => $data[self::$_ANALYSIS_DEPARTMENT_3], ],
|
|||
|
|
self::$_ANALYSIS_COMPANY_1 => [ eThemeOption::ID => $data[self::$_ANALYSIS_COMPANY_1], ],
|
|||
|
|
self::$_ANALYSIS_COMPANY_2 => [ eThemeOption::ID => $data[self::$_ANALYSIS_COMPANY_2], ],
|
|||
|
|
self::$_ANALYSIS_COMPANY_3 => [ eThemeOption::ID => $data[self::$_ANALYSIS_COMPANY_3], ],
|
|||
|
|
self::$_ANALYSIS_COMPANY_4 => [ eThemeOption::ID => $data[self::$_ANALYSIS_COMPANY_4], ],
|
|||
|
|
self::$_ANALYSIS_COMPANY_5 => [ eThemeOption::ID => $data[self::$_ANALYSIS_COMPANY_5], ],
|
|||
|
|
self::$_ANALYSIS_COMPANY_6 => [ eThemeOption::ID => $data[self::$_ANALYSIS_COMPANY_6], ],
|
|||
|
|
self::$_MY_TABLE_1 => [ eThemeOption::ID => $data[self::$_MY_TABLE_1], ],
|
|||
|
|
self::$_MY_TABLE_2 => [ eThemeOption::ID => $data[self::$_MY_TABLE_2], ],
|
|||
|
|
self::$_MY_TABLE_3 => [ eThemeOption::ID => $data[self::$_MY_TABLE_3], ],
|
|||
|
|
self::$_PER_HOUR => [ eThemeOption::ID => $data[self::$_PER_HOUR], ],
|
|||
|
|
self::$_K1 => [ eThemeOption::ID => $data[self::$_K1], ],
|
|||
|
|
self::$_K2 => [ eThemeOption::ID => $data[self::$_K2], ],
|
|||
|
|
self::$_STRUCTURE_COMPANY_SUBTITLE => [ eThemeOption::ID => $data[self::$_STRUCTURE_COMPANY_SUBTITLE], ],
|
|||
|
|
self::$_STRUCTURE_COMPANY_TEXT => [ eThemeOption::ID => $data[self::$_STRUCTURE_COMPANY_TEXT], ],
|
|||
|
|
self::$_CARD_SUBTITLE => [ eThemeOption::ID => $data[self::$_CARD_SUBTITLE], ],
|
|||
|
|
self::$_CARD_TEXT => [ eThemeOption::ID => $data[self::$_CARD_TEXT], ],
|
|||
|
|
self::$_STAFF_SUBTITLE_1 => [ eThemeOption::ID => $data[self::$_STAFF_SUBTITLE_1], ],
|
|||
|
|
self::$_STAFF_SUBTITLE_2 => [ eThemeOption::ID => $data[self::$_STAFF_SUBTITLE_2], ],
|
|||
|
|
self::$_STAFF_SUBTITLE_3 => [ eThemeOption::ID => $data[self::$_STAFF_SUBTITLE_3], ],
|
|||
|
|
self::$_STAFF_SUBTITLE_4 => [ eThemeOption::ID => $data[self::$_STAFF_SUBTITLE_4], ],
|
|||
|
|
self::$_STAFF_SUBTITLE_5 => [ eThemeOption::ID => $data[self::$_STAFF_SUBTITLE_5], ],
|
|||
|
|
self::$_STAFF_TEXT_1 => [ eThemeOption::ID => $data[self::$_STAFF_TEXT_1], ],
|
|||
|
|
self::$_STAFF_TEXT_2 => [ eThemeOption::ID => $data[self::$_STAFF_TEXT_2], ],
|
|||
|
|
self::$_STAFF_TEXT_3 => [ eThemeOption::ID => $data[self::$_STAFF_TEXT_3], ],
|
|||
|
|
self::$_STAFF_TEXT_4 => [ eThemeOption::ID => $data[self::$_STAFF_TEXT_4], ],
|
|||
|
|
self::$_STAFF_TEXT_5 => [ eThemeOption::ID => $data[self::$_STAFF_TEXT_5], ],
|
|||
|
|
self::$_PROJECT_SUBTITLE => [ eThemeOption::ID => $data[self::$_PROJECT_SUBTITLE], ],
|
|||
|
|
self::$_PROJECT_TEXT => [ eThemeOption::ID => $data[self::$_PROJECT_TEXT], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_1 => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_1], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_2 => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_2], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_3 => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_3], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_4 => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_4], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_5 => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_5], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_6 => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_6], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_7 => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_7], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_8 => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_8], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_9 => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_9], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_10 => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_10], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_11 => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_11], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_12 => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_12], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_1_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_1_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_2_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_2_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_3_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_3_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_4_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_4_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_5_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_5_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_6_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_6_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_7_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_7_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_8_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_8_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_9_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_9_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_10_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_10_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_11_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_11_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_TEAM_12_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_TEAM_12_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_YEAR_1_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_YEAR_1_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_YEAR_2_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_YEAR_2_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_COMPANY_1_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_COMPANY_1_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_COMPANY_2_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_COMPANY_2_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_COMPANY_3_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_COMPANY_3_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_COMPANY_4_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_COMPANY_4_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_COMPANY_4_SUBTITLE_2 => [ eThemeOption::ID => $data[self::$_ANALYSIS_COMPANY_4_SUBTITLE_2], ],
|
|||
|
|
self::$_ANALYSIS_COMPANY_5_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_COMPANY_5_SUBTITLE], ],
|
|||
|
|
self::$_ANALYSIS_COMPANY_6_SUBTITLE => [ eThemeOption::ID => $data[self::$_ANALYSIS_COMPANY_6_SUBTITLE], ],
|
|||
|
|
self::$_PROJECT_TABLE_ARCHIVE_TEXT => [ eThemeOption::ID => $data[self::$_PROJECT_TABLE_ARCHIVE_TEXT], ],
|
|||
|
|
self::$_PROJECT_TABLE_ARCHIVE_SUBTITLE => [ eThemeOption::ID => $data[self::$_PROJECT_TABLE_ARCHIVE_SUBTITLE], ],
|
|||
|
|
self::$_EMP_TABLE_ARCHIVE_TEXT => [ eThemeOption::ID => $data[self::$_EMP_TABLE_ARCHIVE_TEXT], ],
|
|||
|
|
self::$_EMP_TABLE_ARCHIVE_SUBTITLE => [ eThemeOption::ID => $data[self::$_EMP_TABLE_ARCHIVE_SUBTITLE], ],
|
|||
|
|
self::$_FOT_TITLE => [ eThemeOption::ID => $data[self::$_FOT_TITLE], ],
|
|||
|
|
self::$_FOT_TEXT => [ eThemeOption::ID => $data[self::$_FOT_TEXT], ],
|
|||
|
|
self::$_FOT_TITLE_2 => [ eThemeOption::ID => $data[self::$_FOT_TITLE_2], ],
|
|||
|
|
self::$_FOT_TEXT_2 => [ eThemeOption::ID => $data[self::$_FOT_TEXT_2], ],
|
|||
|
|
self::$_VARIABLE_TABLE_SUBTITLE => [ eThemeOption::ID => $data[self::$_VARIABLE_TABLE_SUBTITLE], ],
|
|||
|
|
self::$_VARIABLE_TABLE_TEXT => [ eThemeOption::ID => $data[self::$_VARIABLE_TABLE_TEXT], ],
|
|||
|
|
self::$_FOT_TABLE_TITLE_1 => [ eThemeOption::ID => $data[self::$_FOT_TABLE_TITLE_1], ],
|
|||
|
|
self::$_FOT_TABLE_TITLE_2 => [ eThemeOption::ID => $data[self::$_FOT_TABLE_TITLE_2], ],
|
|||
|
|
self::$_FOT_TABLE_SUBTITLE_1 => [ eThemeOption::ID => $data[self::$_FOT_TABLE_SUBTITLE_1], ],
|
|||
|
|
self::$_FOT_TABLE_SUBTITLE_2 => [ eThemeOption::ID => $data[self::$_FOT_TABLE_SUBTITLE_2], ],
|
|||
|
|
self::$_ADMIN_EMAIL => [ eThemeOption::ID => $data[self::$ADMIN_EMAIL], ],
|
|||
|
|
self::$_BUDGET_TITLE => [ eThemeOption::ID => $data[self::$BUDGET_TITLE], ],
|
|||
|
|
self::$_BUDGET_SUBTITLE => [ eThemeOption::ID => $data[self::$BUDGET_SUBTITLE], ],
|
|||
|
|
self::$_BUDGET_TITLE2 => [ eThemeOption::ID => $data[self::$BUDGET_TITLE2], ],
|
|||
|
|
self::$_BUDGET_SUBTITLE2 => [ eThemeOption::ID => $data[self::$BUDGET_SUBTITLE2], ],
|
|||
|
|
self::$_ALL_PROJECTS_TITLE => [ eThemeOption::ID => $data[self::$ALL_PROJECTS_TITLE], ],
|
|||
|
|
self::$_ALL_PROJECTS_TEXT => [ eThemeOption::ID => $data[self::$ALL_PROJECTS_TEXT], ],
|
|||
|
|
];
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|