$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], ], ]; } } }