778 lines
44 KiB
PHP
778 lines
44 KiB
PHP
<?
|
||
|
||
namespace controller\themes\merakomis;
|
||
|
||
|
||
use common\Image;
|
||
use core\lang\structure\LangVariable as V;
|
||
use ModuleBZ\Form;
|
||
use ModuleBZ\Form\Input\Text;
|
||
use ModuleBZ\Form\Input\Textarea;
|
||
use ModuleBZ\Layout\Row;
|
||
use ms\ms\structure\msTo;
|
||
use ms\Portal;
|
||
use ms\portal\Section;
|
||
use ms\table\Filter;
|
||
use themes\Merakomis;
|
||
use themes\merakomis\Emp;
|
||
use themes\merakomis\emp\Rules;
|
||
use themes\merakomis\Emp\structure\eEmpGroup;
|
||
use themes\merakomis\structure\eContentPage;
|
||
use themes\merakomis as Theme;
|
||
use themes\merakomis\Team\structure\Lang as Vars;
|
||
|
||
|
||
class Api {
|
||
|
||
static function ping(){
|
||
echo 'pong';
|
||
}
|
||
static function migrate(){
|
||
$q = "SHOW FULL PROCESSLIST";
|
||
$r = \DB::executeString($q);
|
||
while($l = \DB::fetch($r)){
|
||
echo '<pre>';
|
||
echo var_dump($l);
|
||
echo '</pre>';
|
||
}
|
||
|
||
exit;
|
||
//$q = "SELECT * FROM `tmerakomisemp` LIMIT 100";
|
||
$q = "SHOW COLUMNS FROM `tmerakomisemp`";
|
||
$q = "ALTER TABLE tmerakomisemp CHANGE tMerakomisEmp_tg_acc tMerakomisEmp_tg_acc VARCHAR(31) NOT NULL DEFAULT ''";
|
||
$r = \DB::executeString($q);
|
||
echo '<pre>';
|
||
echo var_dump($q,$r,mysqli_error(\DB::$DB));
|
||
echo '</pre>';
|
||
while($l = \DB::fetch($r)){
|
||
echo '<pre>';
|
||
echo var_dump($l);
|
||
echo '</pre>';
|
||
}
|
||
}
|
||
static function replaceTableNames(){
|
||
exit;
|
||
//*
|
||
// Показывать ли все ошибки
|
||
error_reporting(E_ALL);
|
||
ini_set('display_errors',true);
|
||
/*/
|
||
ini_set('display_errors','Off');
|
||
/**/
|
||
$x = file_get_contents("C:\Users\Helios 300\Desktop\merakomis to module (1).sql");
|
||
echo '<pre>';
|
||
echo var_dump(strlen($x));
|
||
echo '</pre>';
|
||
foreach (Merakomis::$modules as $m){
|
||
$class = Merakomis::$module_prefix.'\\'.$m;
|
||
$tb = $class::$table_name;
|
||
$tb2 = strtolower($tb);
|
||
$x = str_replace($tb2,$tb,$x);
|
||
}
|
||
file_put_contents("C:\Users\Helios 300\Desktop\merakomis to module (2).sql",$x);
|
||
}
|
||
static function getNotifyCount(){
|
||
$res = ['view'=>true];
|
||
if($_COOKIE['viewed'.date('Ymd')]) {
|
||
$res['view'] = false;
|
||
} else {
|
||
$x = Emp::getBirthday();
|
||
$res['view'] = boolval( count($x['dates']) );
|
||
}
|
||
echo je($res);
|
||
}
|
||
static function viewedNotify(){
|
||
\Core::setCookie('viewed'.date('Ymd'),'1',time()+60*60*24);
|
||
}
|
||
|
||
|
||
static function test(){
|
||
//$r = Merakomis::mail("v.gvozdikov@merakom.ru","Виктор","111",'222');;
|
||
//$r = Merakomis::mail("starosta-91@ya.ru","Виктор","111",'222');;
|
||
$res= [];
|
||
|
||
$x = Merakomis::encryptNumber(50000);
|
||
$y = Merakomis::decryptNumber($x);
|
||
|
||
echo '[';
|
||
for($i=0;$i<100;$i++){
|
||
$res[] = Merakomis::encryptNumber($i);
|
||
echo $i.' => "'.$res[$i].'",';
|
||
}
|
||
echo ']';
|
||
|
||
$x = [0 => "ZjRTRHliUDJJZlMvb1BVNHRzOERtdz09",1 => "eVgxVnNxTmkxMUd0ZWcvSzFaSXdqQT09",2 => "UGF0eXNqcFVtTFpaajE0b1RTWE8zdz09",3 => "RThRdE1FNmpIci85QTZ3YmFwUjZWdz09",4 => "eGovemV5S2xWTGZSSWs0a2I4dGh5UT09",5 => "T0pWQUdTcndGbjRMWG5KdkxCSG54dz09",6 => "TkNPMUVtSWF1R2gyd1duUXBxcVcxQT09",7 => "UGZDeG40dU9vSEZiMHJFWEMvVTJTUT09",8 => "VVRzb1V5Mk1SK0JQM0tOWDFzVkV1QT09",9 => "Zzk4dGZYRGNPNjNJVm0vWnlQd05Hdz09",10 => "YlYvcXF5WGJPMUpxVXBNemRkLzlVQT09",11 => "TllpTEd1QWtWbCtuU3hGN243NzJtdz09",12 => "WDkzL2wwTHlnRVhVWTBFT3d2VVJPUT09",13 => "QjFrRW1tOTQ1K1B5cWRpRXpkMXFmUT09",14 => "NWQ4QjZvN2hrOGhvOTl1RDcyVStxQT09",15 => "NThDbVdISXN4YU85cWcxSHpxMWFUdz09",16 => "eDFVeUFxT3pTNVpqYXVRMXRpUUFrZz09",17 => "K1VZU3dmUWNjcWg3QzJydytTK1J4dz09",18 => "c0xKZUg3bThVcitBdGhYRW0xbm5aZz09",19 => "VXdpN1Fkd3Q4SytFb2VvQmdGQVBsZz09",20 => "MFRWVG9rR1c3dy9ZUXRCekluU1Ridz09",21 => "UG1odlBwZFFhVE5zc2JLWmI2ZDl3UT09",22 => "VXJYeFBZSDJYMmQ5SkhvU3BIRGZudz09",23 => "S0FkcXM5N2FmVzFNM3lCZS8vTG8yUT09",24 => "VDdwSnZlK25OSjVMQmlTWHZYaWMzQT09",25 => "VUNYUmQwOW4vUUtyYnRnRXJsV3kzdz09",26 => "eVpURnEwaEtITUEvaS9GZ1oyeHVnQT09",27 => "aEs2a3c1NFhmOG1CRjhtcEEyUnIrZz09",28 => "d1FqbnZaTU05T1c0WVJTS0xYcDBNQT09",29 => "VC9uVEZuUm16VnZPTWc3RXYzSTYvQT09",30 => "Sk9ySWhaNmdHU0ZVVk9Od1VTMWduUT09",31 => "NWxVaVFiWDBCc2NGYkRORzZxM1Fydz09",32 => "djdwSDMyK21tMlMyK3o4OUhTblpFZz09",33 => "YzZiU0NBcVpUd0ZXcmNqQ1dYOXowdz09",34 => "b3IveGFaT0ZHMlh5UjVCazhHQkJqQT09",35 => "Vm16T0FlSnNaenFlN1l0WU1rcVZudz09",36 => "YjhadzZPQ1pVVy9lYS9EYlkyRXp2dz09",37 => "aUxibDZnRktPVEg2VWFtUzYzTTZRQT09",38 => "c1NEcnhJQWk4UTk0WEU4Z0JMRyswZz09",39 => "N0d2T1F2Q2tqamVpeHhzdEtTZ2p0QT09",40 => "aXZDV1RTN3oxa2p2TVFwSjRRRXJOUT09",41 => "V1FZZWlpcFR2UUlFR0FpUExUZHVMQT09",42 => "aXdYUHU4OE1SbzlHeHV5RDdlVWZndz09",43 => "Z0NzYkl3TFRnUDNLT09yMTZ6V0d5UT09",44 => "dDJ3NFlBT3kzeVNBWGNLT3ZCMjlmUT09",45 => "b3M3Nld0SlZGYTFQcEpUSXg1cEdmUT09",46 => "NHQxM29oTExwUERHZk9iQkxnT3dNdz09",47 => "WXdUTjhOeUd1QUc2YkxLeUIzUVBIQT09",48 => "QmZrb2xyRUQ4ajVaMkg1TUw1NmZxdz09",49 => "bGVxUU1aUUdqVUVkbHN3SWF0MTRvZz09",50 => "dVA5OU9BT09sOTg5Znhycmw0aUYvQT09",51 => "TCtGRTRaZWs1UE1FeFZ3RFE3MFJJQT09",52 => "OVJsOSt2NXZLWWIveG5EZjlCcThPdz09",53 => "c3JOeHJIbFVDT2NVMUlpaHhyOU1NQT09",54 => "c3NNcXBja2RKUjVXWksvN0JLUGNHZz09",55 => "cnBDNTFzTFE2OU12dXpzMVJUdEpudz09",56 => "b3J5VU9lNEFMdVFTUExRVHFYRENTQT09",57 => "cWdTUThYcVJMYk5CTmdML1h5SlpMQT09",58 => "cjBWT2w2bEtuODdxUVBJb1ROT3E1QT09",59 => "ZGRUTnM3blNSZWt5cDVqYUJzWGJUUT09",60 => "NEtDa1pteG1pZFBzUGNNNTMyNU1xZz09",61 => "SWlZaHNZTXhtaUJ2NlYyREJYVUZMUT09",62 => "UzR6K0RGZjk4cUF5cFp3VTFWSGZxUT09",63 => "ZFVaTkcxcWdSOGlicjBkWVgrYTVRZz09",64 => "cURWVmkrTlVtSUhuR1ZqU2xyejErdz09",65 => "UWdpU0d3QzA5NDVlNUI0M09QbnB0QT09",66 => "bDZNKzYxZ090SEZmL3o2V1Axd0h6UT09",67 => "RkExUVpqTU81N1VhMGZuMTBwSzdNZz09",68 => "cCtCU2pQdmFBNjNmc3ozVFo5aDVNdz09",69 => "UnY0ZTVUNTB4citGMytjQmMvVSs5QT09",70 => "SkdTWUpqY1Q3dGdvODlJNFZYeGk0dz09",71 => "aTJtSzNRelQzekYzQVdZcEFXN056UT09",72 => "ZVE5dkRmUjlLUktXME45WHhDTzlaZz09",73 => "TTYwdHJTeTk3a0JNUEhEa3RIZ0E1UT09",74 => "THJzWHNWV01aT3NiaEpLdXhyYnJadz09",75 => "UXI4L3JUUkp0MmkxQyttMnpGWVlzZz09",76 => "dHBaMERmWDBEMW1iTkhIWS9STE5BQT09",77 => "Y1hMdTdycVFoYzk1SjVEbTV4U29CUT09",78 => "VTkwVzJ5ZEtBWms3WnZjTFdIdWtrZz09",79 => "UXpkNllxN3crbVBmQk1tQXJvbzA3dz09",80 => "R3p6ZE1TNm5WZ3pjSDA1WFVKRE5uZz09",81 => "SlZpcndhalhuMzBOWi9DcWZ1UmF2QT09",82 => "QTY4QzFyN0t1WjQzTjR0MURqZHNOdz09",83 => "OVhJejdac2RmTXpFYzhUWmZJZzdMZz09",84 => "eDZ3SWtWTHZhQnFjT3RXK1ExaVdmUT09",85 => "L0pRUldJTEZ5TE1WU1VkUGNBSm9TZz09",86 => "bDk5M0dxWXRTeEwwK3BXeGgxYlRIUT09",87 => "M1cyL01WRThFNHZya1RiQm1sWnZmdz09",88 => "WExTeFRLNTFzeDVLUGxLM24vMzdSdz09",89 => "bk9iQVZwNUg1RlQyU3ZCWVBvNDVIUT09",90 => "VUwza0VMbUdpWTJoUWVLc2t1WGdnQT09",91 => "bUNMUndxWnJhT244SFFLUnFxRmhQQT09",92 => "MzlReTcyQmlMTm1RREtjeDNGbWFYZz09",93 => "SndLZ2J1NVAxMFBhSE9hQXM2OFljUT09",94 => "Q3B5a1RDdlY2dWFpcUVtY24rRlpidz09",95 => "cUUxZjdPZGlTdktFWTJ0TTJ3allzQT09",96 => "NjdyQlFEeTV6Sm5hNU5SclFaUVp2Zz09",97 => "NExCb1FnY2xuVVN3cXdmSmZvSWFIQT09",98 => "S3U1cng3U1RqUzgxSGtvbnRHVFRoZz09",99 => "eUVtS3Q5Y2wzTEEvakRhQVFHcUZpUT09",];
|
||
foreach($x as $v){
|
||
echo $v.'-'.Merakomis::decryptNumber($v).'<br/>';
|
||
}
|
||
|
||
}
|
||
static function setTitleEdit(){
|
||
$res = [];
|
||
if(Emp::$IS_AUTH){
|
||
|
||
}
|
||
echo je($res);
|
||
}
|
||
static function getTitleEdit(){
|
||
$res = [];
|
||
|
||
$res['title'] = Merakomis::$data[$_POST['title']];
|
||
$res['text'] = Merakomis::$data[$_POST['text']];
|
||
|
||
$form = new Form();
|
||
$form->addRow((new Row())
|
||
->addColumn(((new Text())
|
||
->setName($_POST['title'])
|
||
->setValue($res['title'])
|
||
->setClassAll('c-100')
|
||
->setLabel($c = 'Заголовок')
|
||
->setPlaceholder($c)
|
||
))
|
||
->addColumn(((new Textarea())
|
||
->setName($_POST['text'])
|
||
->setValue($res['text'])
|
||
->setClassAll('c-100')
|
||
->setLabel($c = 'Текст')
|
||
->setPlaceholder($c)
|
||
->setIsHtmlEditor(true)
|
||
->setTinyMCEApiKey(Theme::$TINY_MCE_KEY)
|
||
->setTinyMCEImageUploadUrl(Theme::$TINY_MCE_IMAGE_UPLOAD_URL)
|
||
))
|
||
->addColumn(((new Form\Input\Submit())
|
||
->setClassAll('c-100')
|
||
->setClassName('blue')
|
||
->setPlaceholder($c = 'Сохранить')
|
||
))
|
||
);
|
||
|
||
$res['form'] = $form->toJSON();
|
||
|
||
echo je($res);
|
||
}
|
||
|
||
|
||
static function sendFeedback(){
|
||
$res =[];
|
||
if(Emp::$IS_AUTH) {
|
||
$mess = [
|
||
'Новая обратная связь',
|
||
'Тема: '.$_POST['title'],
|
||
'Текст: '.$_POST['text'],
|
||
'Сотрудник: '.Emp::$data[Emp::$NAME],
|
||
'Skype: '.Emp::$data[Emp::$SKYPE],
|
||
'Email: '.Emp::$data[Emp::$EMAIL],
|
||
];
|
||
$mess = implode("<br/>",$mess);
|
||
$res['mess'] = $mess;
|
||
|
||
|
||
$r = Theme::sendMailAdmin($mess,"Новая обратная связь");
|
||
if($r['send']) {
|
||
$res['notify']['content'] = 'Сообщение отправлено';
|
||
$res['notify']['color'] = 0;
|
||
} else {
|
||
$res['notify']['content'] = 'Не удалось отправить сообщение ';
|
||
$res['notify']['color'] = 1;
|
||
}
|
||
}
|
||
echo je($res);
|
||
}
|
||
static function upload_image(){
|
||
$res =[];
|
||
if(Emp::$IS_AUTH) {
|
||
$res = Image::upload(['base64' => false]);
|
||
}
|
||
echo je($res);
|
||
}
|
||
static function upload_pdf(){
|
||
$res =[];
|
||
if(Emp::$IS_AUTH) {
|
||
$res = Image::upload(['base64' => true,'isFile'=>true]);
|
||
}
|
||
echo je($res);
|
||
}
|
||
|
||
static function formThankYou(){
|
||
include_once(\Site::$absPath.'/jade/windows/thankyou.php');
|
||
}
|
||
|
||
static function sendForm(){
|
||
|
||
$mess =
|
||
(($c = $_POST['name']) ?'<b>Тема</b>: '.$c.'<br/>':'').
|
||
(($c = $_POST['comment']) ?'<b>Комментарий</b>: '.nl2br($c).'<br/>':'').
|
||
'';
|
||
|
||
$files = [];
|
||
foreach ($_FILES as $v){
|
||
$file = dirname(__FILE__).'/'.$v['name'];
|
||
if (move_uploaded_file($v['tmp_name'], $file)) {
|
||
$files[] = $file;
|
||
}
|
||
}
|
||
|
||
$res['mess'] = $mess;
|
||
try {
|
||
Theme::sendMailAdmin($mess,'Новая обратная связь',$files);
|
||
} finally {
|
||
foreach ($files as $v) {
|
||
unlink($v);
|
||
}
|
||
}
|
||
/**/
|
||
|
||
echo je($res);
|
||
|
||
}
|
||
|
||
|
||
|
||
static function saveFilter(){
|
||
$res = [];
|
||
if(Emp::$IS_AUTH){
|
||
$res = Filter::addFilterForToOid(
|
||
$_POST['name'],
|
||
$_POST['data']['table'],
|
||
$_POST['filter'],
|
||
msTo::MERAKOMBIS_EMP,
|
||
Emp::$AUTH_ID
|
||
);
|
||
}
|
||
echo je($res);
|
||
}
|
||
static function updateFilter(){
|
||
$res = [];
|
||
if(Emp::$IS_AUTH){
|
||
$id = intval($_POST['id']);
|
||
$filter = Filter::getByID($id);
|
||
if($filter[Filter::$OID]==Emp::$AUTH_ID and $filter[Filter::$TO]==msTo::MERAKOMBIS_EMP) {
|
||
Filter::updateById($id, [
|
||
Filter::$DATA => je($_POST['data'])
|
||
]);
|
||
$res['notify']['content'] = 'Успешно обновлено';
|
||
}
|
||
}
|
||
echo je($res);
|
||
}
|
||
static function removeFilter(){
|
||
$res = [];
|
||
if(Emp::$IS_AUTH){
|
||
$id = intval($_POST['id']);
|
||
$filter = Filter::getByID($id);
|
||
if($filter[Filter::$OID]==Emp::$AUTH_ID and $filter[Filter::$TO]==msTo::MERAKOMBIS_EMP) {
|
||
$res = Filter::deleteByID($id);
|
||
}
|
||
}
|
||
echo je($res);
|
||
}
|
||
|
||
|
||
static function setNewOptions(){
|
||
$data = [
|
||
Merakomis::$_STAFF_SUBTITLE_1 => 'Сводные данные',
|
||
Merakomis::$_STAFF_SUBTITLE_2 => 'Заработная плата и ставка',
|
||
Merakomis::$_STAFF_SUBTITLE_3 => 'Информация о детях',
|
||
Merakomis::$_STAFF_SUBTITLE_4 => 'Аттестация сотрудников в регулирующих органах',
|
||
Merakomis::$_STAFF_SUBTITLE_5 => 'Анализ нерабочих дней',
|
||
Merakomis::$_STAFF_TEXT_1 => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.',
|
||
Merakomis::$_STAFF_TEXT_2 => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.',
|
||
Merakomis::$_STAFF_TEXT_3 => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.',
|
||
Merakomis::$_STAFF_TEXT_4 => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.',
|
||
Merakomis::$_STAFF_TEXT_5 => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.',
|
||
Merakomis::$_ANALYSIS_MY_1_SUBTITLE => 'Работа над проектами',
|
||
Merakomis::$_ANALYSIS_MY_2_SUBTITLE => 'Отсутствие на рабочем месте',
|
||
Merakomis::$_CARD_SUBTITLE => 'Карточка сотрудника',
|
||
Merakomis::$_CARD_TEXT => 'В таблице представлены все данные вашей карточки сотрудника. Просим вас их проверить, и, при выявлении неточностей, написать о ней администратору, нажав ссылку «Сообщить об ошибке». Пожалуйста, поддерживайте информацию в актуальном виде. Особенно это касается номера телефона и имени аккаунта Skype, которые вы можете поправить самостоятельно.',
|
||
Merakomis::$_PROJECT_SUBTITLE => 'Информация о проекте',
|
||
Merakomis::$_PROJECT_TEXT => 'Карточка проекта, в разработке которого вы принимаете участие',
|
||
Merakomis::$_ANALYSIS_TEAM_1_SUBTITLE => 'Анализ затрат на проекты - 1',
|
||
Merakomis::$_ANALYSIS_TEAM_2_SUBTITLE => 'Анализ затрат на проекты - 2',
|
||
Merakomis::$_ANALYSIS_TEAM_3_SUBTITLE => 'Подразделы',
|
||
Merakomis::$_ANALYSIS_TEAM_4_SUBTITLE => 'Разделы',
|
||
Merakomis::$_ANALYSIS_TEAM_5_SUBTITLE => 'Команда проекта',
|
||
Merakomis::$_ANALYSIS_YEAR_1_SUBTITLE => 'Сводка часов за календарный год',
|
||
Merakomis::$_ANALYSIS_YEAR_2_SUBTITLE => 'Сводка затрат за календарный год',
|
||
Merakomis::$_ANALYSIS_COMPANY_1_SUBTITLE => 'Нагрузка на подразделения',
|
||
Merakomis::$_ANALYSIS_COMPANY_2_SUBTITLE => 'Нагрузка на сотрудников - 1',
|
||
Merakomis::$_ANALYSIS_COMPANY_3_SUBTITLE => 'Нагрузка на сотрудников - 2',
|
||
Merakomis::$_ANALYSIS_COMPANY_4_SUBTITLE => 'Анализ нерабочих дней сотрудников вашей компании',
|
||
Merakomis::$_ANALYSIS_COMPANY_4_SUBTITLE_2 => 'Анализ нерабочих дней сотрудников офиса',
|
||
];
|
||
$_POST['data'] = $data;
|
||
self::savePortalOptions();
|
||
}
|
||
static function savePortalOptions(){
|
||
$res = [];
|
||
if(Emp::$IS_AUTH){
|
||
$data = json_decode(\Site::$section[Section::$DATA],true);
|
||
foreach ($_POST['data'] as $k=>$v){
|
||
if(in_array($k,[
|
||
//MerakomBase::$_PARTNERS
|
||
])) continue;
|
||
$data[$k] = $v;
|
||
}
|
||
$r = Section::updateById(\Site::$section_id,[
|
||
Section::$DATA => je($data)
|
||
]);
|
||
|
||
$res['notify']['content'] = 'Успешно сохранено';
|
||
}
|
||
echo je($res);
|
||
}
|
||
|
||
|
||
static function getFormSettings(){
|
||
echo je(Merakomis::getFormSettings());
|
||
}
|
||
|
||
|
||
static function getAppStructure(){
|
||
|
||
//if(!Emp::$IS_AUTH) return [];
|
||
$res = [];
|
||
$isLocal = $_SERVER['HTTP_ORIGIN'] == 'http://localhost:3000';
|
||
$isTest = $isLocal;
|
||
$isAdmin = true;
|
||
$token_hash = (Emp::$IS_AUTH?Merakomis::getUploadToken():'');
|
||
//$token_hash = null;
|
||
//$profile_id = Emp::$AUTH_ID;
|
||
$panel_path = $isLocal ? '/' : '/';
|
||
|
||
$logotype = [
|
||
//'url'=>\Site::sectionUrl('content/merakomis/pics/logo/logo.black.svg',true),
|
||
'url'=>\Site::sectionUrl('content/merakomru/pics/logo/logo.black.svg',true),
|
||
'url'=>\Site::sectionUrl('content/merakomis/pics/logo_meraproject.svg',true),
|
||
//'title'=>'MeraProject',
|
||
//'subtitle'=>"MERAKOM PROJECT\nMANAGER",
|
||
];
|
||
|
||
|
||
$main_crumbs = [['name'=>'Главная','link'=>'/']];
|
||
|
||
$sortable_table = [
|
||
'sortable' => true,
|
||
'show_filter' => false,
|
||
'show_search' => false,
|
||
'show_count' => false,
|
||
'show_pagination' => false,
|
||
];
|
||
|
||
$isCanEditProjects = !Emp::isMeTopManager();
|
||
|
||
$isCanAddProjects = Rules::isProjectsAddButton();
|
||
|
||
|
||
$routes = [
|
||
|
||
['path'=>'*', 'element'=> eContentPage::MAIN, 'props'=>[],'crumbs'=>array_merge($main_crumbs),],
|
||
['path'=>'/', 'element'=> eContentPage::MAIN, 'props'=>[],'crumbs'=>array_merge($main_crumbs),],
|
||
|
||
['path'=>'projects/*', 'element'=> eContentPage::PROJECTS , 'props'=>['canEdit'=>$isCanEditProjects,'addButton'=>$isCanAddProjects,'entity'=>'project','ajaxData'=>['archive'=>0]],'crumbs'=>array_merge($main_crumbs,[['name'=>'Проекты','link'=>'projects/']]),],
|
||
//['path'=>'post/*', 'element'=> eContentPage::TABLE_PAGE, 'props'=>['entity'=>'post'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Должности','link'=>'post/']]),],
|
||
['path'=>'team/*', 'element'=> eContentPage::TABLE_PAGE, 'props'=>['entity'=>'team'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Команды','link'=>'team/']]),],
|
||
['path'=>'team/member/:id', 'element'=> eContentPage::TABLE_TEAM_MEMBER, 'props'=>['entity'=>'team.member','checkable'=>false],'crumbs'=>array_merge($main_crumbs,[['name'=>'Команды','link'=>'team/']]),],
|
||
['path'=>'emp/*', 'element'=> eContentPage::TABLE_EMP, 'props'=>['entity'=>'emp','checkable'=>false,
|
||
'archive'=>0,
|
||
'init_filter_values'=>[Emp::$ARCHIVE=>0],
|
||
'ajaxData'=>['archive'=>0]],'crumbs'=>array_merge($main_crumbs,[['name'=>'Сотрудники','link'=>'emp/']]),],
|
||
['path'=>'dictionary/absence/*', 'element'=> eContentPage::DICTIONARY, 'props'=>['entity'=>'dictionary.absence'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Причины отсутствия','link'=>'dictionary/absence/']]),],
|
||
['path'=>'dictionary/city/*', 'element'=> eContentPage::DICTIONARY, 'props'=>['entity'=>'dictionary.city'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Города','link'=>'dictionary/city/']]),],
|
||
['path'=>'dictionary/staffing/*', 'element'=> eContentPage::DICTIONARY, 'props'=>['entity'=>'dictionary.staffing'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Штатное расписание','link'=>'dictionary/staffing/']]),],
|
||
['path'=>'dictionary/empstatus/*', 'element'=> eContentPage::DICTIONARY, 'props'=>['entity'=>'dictionary.empstatus'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Статус сотрудника','link'=>'dictionary/empstatus/']]),],
|
||
['path'=>'dictionary/org/*', 'element'=> eContentPage::ORG, 'props'=>['entity'=>'dictionary.org'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Юридические лица','link'=>'dictionary/org/']]),],
|
||
['path'=>'dictionary/orgtype/*', 'element'=> eContentPage::DICTIONARY, 'props'=>['entity'=>'dictionary.orgtype'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Виды сотрудничества','link'=>'dictionary/orgtype/']]),],
|
||
['path'=>'dictionary/objtype/*', 'element'=> eContentPage::DICTIONARY, 'props'=>['entity'=>'dictionary.objtype'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Виды сотрудничества','link'=>'dictionary/orgtype/']]),],
|
||
['path'=>'dictionary/contractor/status/*', 'element'=> eContentPage::CONTRACTOR_STATUS, 'props'=>['entity'=>'dictionary.contractor.status'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Статусы контрагентов','link'=>'dictionary/contractor/status/']]),],
|
||
['path'=>'dictionary/contractor/*','element'=> eContentPage::CONTRACTOR,
|
||
'props'=>[
|
||
'checkable'=>false,
|
||
'entity'=>'dictionary.contractor',
|
||
'show_download_button'=>false,
|
||
],
|
||
'crumbs'=>array_merge($main_crumbs,[['name'=>'Контрагенты','link'=>'dictionary/contractor/']]),],
|
||
['path'=>'history/*', 'element'=> eContentPage::TABLE_PAGE, 'props'=>['entity'=>'history'],'crumbs'=>array_merge($main_crumbs,[['name'=>'История действий','link'=>'history/']]),],
|
||
['path'=>'departments/*', 'element'=> eContentPage::DEPARTMENTS, 'props'=>[],'crumbs'=>array_merge($main_crumbs,[['name'=>'Структура компании','link'=>'departments/']]),],
|
||
|
||
|
||
['path'=>'time_tracker/:emp/*', 'element'=> eContentPage::TIME, 'props'=>[],'crumbs'=>array_merge($main_crumbs,[['name'=>'Табель', 'link'=>'my/time_tracker/']]),],
|
||
['path'=>'my/time_tracker/*', 'element'=> eContentPage::TIME, 'props'=>[],'crumbs'=>array_merge($main_crumbs,[['name'=>'Мой табель', 'link'=>'my/time_tracker/']]),],
|
||
['path'=>'my/projects/*', 'element'=> eContentPage::PROJECT, 'props'=>['entity'=>'project','show_add_button'=>false,'ajaxData'=>['my'=>1]],'crumbs'=>array_merge($main_crumbs,[['name'=>'Мои проекты', 'link'=>'my/projects/']]),],
|
||
['path'=>'my/team/*', 'element'=> eContentPage::TEAM, 'props'=>[],'crumbs'=>array_merge($main_crumbs,[['name'=>'Моя команда', 'link'=>'my/team/']]),],
|
||
['path'=>'my/company/*', 'element'=> eContentPage::COMPANY, 'props'=>[
|
||
'entity'=>'emp',
|
||
'ajaxData'=>['archive'=>0,'my_company'=>1],
|
||
'show_add_button'=>false,
|
||
'show_download_button'=>false,
|
||
'checkable'=>false,
|
||
],'crumbs'=>array_merge($main_crumbs,[['name'=>'Моя компания', 'link'=>'my/company/']]),],
|
||
|
||
['path'=>'dictionary/step/', 'element'=> eContentPage::STEP, 'props'=>[],'crumbs'=>array_merge($main_crumbs,[['name'=>'Структура проекта', 'link'=>'dictionary/step/']]),],
|
||
|
||
|
||
['path'=>'my/summary/*', 'element'=> eContentPage::SUMMARY, 'props'=>[],'crumbs'=>array_merge($main_crumbs,[['name'=>'Сводный табель', 'link'=>'my/summary/']]),],
|
||
['path'=>'my/profile/*', 'element'=> eContentPage::PROFILE, 'props'=>[],'crumbs'=>array_merge($main_crumbs,[['name'=>'Моя карточка', 'link'=>'my/profile/']]),],
|
||
['path'=>'my/analysis/*', 'element'=> eContentPage::ANALYSIS, 'props'=>[],'crumbs'=>array_merge($main_crumbs,[['name'=>'Моя аналитика', 'link'=>'my/analysis/']]),],
|
||
|
||
//['path'=>'analysis/*', 'element'=> eContentPage::ANALYSIS, 'props'=>[],'crumbs'=>array_merge($main_crumbs,[['name'=>'Аналитика', 'link'=>'analysis/']]),],
|
||
['path'=>'calendar/*', 'element'=> eContentPage::CALENDAR, 'props'=>[],'crumbs'=>array_merge($main_crumbs,[['name'=>'Производственный календарь', 'link'=>'calendar/']]),],
|
||
['path'=>'public_profile/:id', 'element'=> eContentPage::PUBLIC_PROFILE, 'props'=>[],'crumbs'=>array_merge($main_crumbs,[['name'=>'Профиль', 'link'=>'']]),],
|
||
|
||
|
||
['path'=>'archive/projects/*', 'element'=> eContentPage::PROJECTS, 'props'=>['canEdit'=>$isCanEditProjects,'addButton'=>$isCanAddProjects,'archive'=>true],'crumbs'=>array_merge($main_crumbs,[['name'=>'Проекты','link'=>'projects/']]),],
|
||
['path'=>'archive/emp/*', 'element'=> eContentPage::TABLE_EMP, 'props'=>[
|
||
'archive'=>1,
|
||
'init_filter_values'=>[Emp::$ARCHIVE=>1],
|
||
],'crumbs'=>array_merge($main_crumbs,[['name'=>'Сотрудники','link'=>'emp/']]),],
|
||
|
||
|
||
['path'=>'settings/*', 'element'=> eContentPage::SETTINGS, 'props'=>['key'=>'4','title'=>'Переменные','url'=>'/getFormSettings'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Настройки','link'=>'settings/']]),],
|
||
|
||
['path'=>'calendar/day', 'element'=> eContentPage::DAYS, 'props'=>['entity'=>'day'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Дни','link'=>'team/']]),],
|
||
['path'=>'calendar/event', 'element'=> eContentPage::TABLE_PAGE, 'props'=>['entity'=>'event'],'crumbs'=>array_merge($main_crumbs,[['name'=>'События','link'=>'team/']]),],
|
||
['path'=>'pages/', 'element'=> eContentPage::TABLE_PAGE, 'props'=>['entity'=>'page'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Страницы','link'=>'team/']]),],
|
||
['path'=>'variable/', 'element'=> eContentPage::VARIABLE, 'props'=>['entity'=>'variable','checkable'=>false],'crumbs'=>array_merge($main_crumbs,[['name'=>'Страницы','link'=>'team/']]),],
|
||
['path'=>'money/fot/', 'element'=> eContentPage::FOT, 'props'=>['entity'=>'variable'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Страницы','link'=>'team/']]),],
|
||
['path'=>'money/fot/:id', 'element'=> eContentPage::EMP_FOT, 'props'=>['entity'=>'variable'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Страницы','link'=>'team/']]),],
|
||
|
||
|
||
['path'=>'analysis/:type', 'element'=> eContentPage::ANALYSIS, 'props'=>[ ],'crumbs'=>array_merge($main_crumbs,[['name'=>'Моя аналитика', 'link'=>'my/analysis/']]),],
|
||
['path'=>'analysis/:type/:subtype', 'element'=> eContentPage::ANALYSIS, 'props'=>[ ],'crumbs'=>array_merge($main_crumbs,[['name'=>'Моя аналитика', 'link'=>'my/analysis/']]),],
|
||
|
||
/*
|
||
//['path'=>'/', 'element'=>eContentPage::CHANGEBLOG_CLIENTS , 'props'=>[]],
|
||
['path'=>'', 'element'=> eContentPage::MAIN, 'props'=>[],'crumbs'=>array_merge($main_crumbs),],
|
||
['path'=>'cloud/*', 'element'=> eContentPage::TABLE_PAGE, 'props'=>['entity'=>'cloud'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Облачные документы','link'=>'cloud/']]),],
|
||
['path'=>'emp/*', 'element'=> eContentPage::TABLE_PAGE, 'props'=>['entity'=>'emp'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Сотрудники','link'=>'emp/']]),],
|
||
|
||
['path'=>'groups/*', 'element'=> eContentPage::TABLE_PAGE, 'props'=>$sortable_table+['entity'=>'group'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Группы','link'=>'groups/']]),],
|
||
['path'=>'disk/*', 'element'=> eContentPage::TABLE_PAGE, 'props'=>$sortable_table+['entity'=>'disk'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Облака','link'=>'disk/']]),],
|
||
['path'=>'cloud/groups/*', 'element'=> eContentPage::TABLE_PAGE, 'props'=>$sortable_table+['entity'=>'cloud.group'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Группы облачных файлов','link'=>'cloud/group/']]),],
|
||
|
||
['path'=>'settings/css/*', 'element'=> eContentPage::SETTINGS, 'props'=>['key'=>'0','title'=>'Настройки','url'=>'/getFormCSSSettings'],'crumbs'=>array_merge($main_crumbs, [['name'=>'Настройки','link'=>'settings/css/']]),],
|
||
['path'=>'settings/cloud/*', 'element'=> eContentPage::SETTINGS, 'props'=>['key'=>'1','title'=>'Настройки','url'=>'/getFormCloudSettings'],'crumbs'=>array_merge($main_crumbs, [['name'=>'Облачные документы','link'=>'settings/cloud/']]),],
|
||
['path'=>'settings/feedback/*', 'element'=> eContentPage::SETTINGS, 'props'=>['key'=>'2','title'=>'Настройки','url'=>'/getFormFeedbackSettings'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Обратная связь','link'=>'settings/feedback/']]),],
|
||
['path'=>'settings/search/*', 'element'=> eContentPage::SETTINGS, 'props'=>['key'=>'3','title'=>'Настройки','url'=>'/getFormSearchSettings'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Поиск','link'=>'settings/search/']]),],
|
||
['path'=>'settings/news/*', 'element'=> eContentPage::SETTINGS, 'props'=>['key'=>'4','title'=>'Настройки','url'=>'/getFormNewsSettings'],'crumbs'=>array_merge($main_crumbs,[['name'=>'Новости','link'=>'settings/news/']]),],
|
||
|
||
['path'=>'blocks/:id', 'element'=> eContentPage::TABLE_PAGE, 'props'=>$sortable_table+['entity'=>'block','ajaxData'=>['main'=>1],'formData'=>['main'=>1]],'crumbs'=>array_merge($main_crumbs,[['name'=>'Группы','link'=>'groups/']]),],
|
||
['path'=>'articles/', 'element'=> eContentPage::TABLE_PAGE, 'props'=>['entity'=>'article',],'crumbs'=>array_merge($main_crumbs,[['name'=>'Статьи','link'=>'articles/']]),],
|
||
['path'=>'articles/:id', 'element'=> eContentPage::TABLE_PAGE, 'props'=>$sortable_table+['entity'=>'article',],'crumbs'=>array_merge($main_crumbs,[['name'=>'Статьи','link'=>'articles/']]),],
|
||
*/
|
||
|
||
];
|
||
|
||
$isAdmin = Emp::isAdmin();
|
||
$isStaffing = Emp::isMeGroup(eEmpGroup::STAFF) || $isAdmin;
|
||
$isMeAnyDirector = Emp::isMeAnyDirector();
|
||
$isGeneral = Emp::isMeGroup(eEmpGroup::GENERAL);
|
||
$isAllProject = Emp::isMeGroup(eEmpGroup::ALL);
|
||
$isMeAnyDepartmentDirector = Emp::isMeAnyDepartmentDirector();
|
||
$isMeTopManager = Emp::isMeTopManager();
|
||
|
||
$isArchiveEmp = $isAdmin || $isStaffing || $isGeneral;
|
||
$isArchiveProject = $isMeAnyDirector || $isAdmin || $isGeneral || $isAllProject;
|
||
$isMenuProject = $isMeAnyDirector || $isGeneral || $isAdmin || $isAllProject;
|
||
$isStaffingMenu = $isStaffing || $isGeneral || $isAdmin;
|
||
|
||
|
||
|
||
$menu_calendar =
|
||
$isAdmin ? [
|
||
'title' => "Календарь",
|
||
'toggle'=>true,
|
||
'opened'=>true,
|
||
'submenu'=>[
|
||
//['link'=>'calendar/event/', 'title'=>'События','icon'=>'icon-settings'],
|
||
]
|
||
] : null;
|
||
;
|
||
|
||
$cabinet_submenu = [];
|
||
|
||
if(Rules::isMyTable()) $cabinet_submenu[] = ['link'=>'my/time_tracker/', 'title'=>'Мой табель','icon'=>'icon-settings'];
|
||
if(Rules::isMyProjects()) $cabinet_submenu[] = ['link'=>'my/projects/', 'title'=>'Мои проекты','icon'=>'icon-settings'];
|
||
if(Rules::isMyCompany()) $cabinet_submenu[] = ['link'=>'my/company/', 'title'=>'Моя компания','icon'=>'icon-settings'];
|
||
|
||
$menu_cabinet = $cabinet_submenu ?
|
||
[
|
||
'title' => "Личный кабинет",
|
||
'toggle'=>true,
|
||
'opened'=>true,
|
||
'submenu'=>$cabinet_submenu
|
||
] : null;
|
||
|
||
|
||
|
||
$projects_submenu = [];
|
||
if(Rules::isProjectsList()) $projects_submenu[] = ['link'=>'projects/', 'title'=>'Проекты','icon'=>'icon-settings'];
|
||
if(Rules::isProjectsContractor()) $projects_submenu[] = ['link'=>'dictionary/contractor/', 'title'=>'Контрагенты','icon'=>'icon-settings'];
|
||
|
||
|
||
$menu_projects = $projects_submenu ?
|
||
[
|
||
'title' => "Проекты",
|
||
'toggle'=>true,
|
||
'opened'=>true,
|
||
'submenu'=>$projects_submenu,
|
||
] : null;
|
||
|
||
|
||
|
||
$staff_submenu = [];
|
||
if(Rules::isStaffEmployee()) $staff_submenu[] = ['link'=>'emp/', 'title'=>'Сотрудники','icon'=>'icon-settings'];
|
||
if(Rules::isStaffAbsence()) $staff_submenu[] = ['link'=>'dictionary/absence/', 'title'=>'Причины отсутствия','icon'=>'icon-settings'];
|
||
if(Rules::isStaffStatus()) $staff_submenu[] = ['link'=>'dictionary/empstatus/', 'title'=>'Статусы сотрудников','icon'=>'icon-settings'];
|
||
if(Rules::isStaffOrgtype()) $staff_submenu[] = ['link'=>'dictionary/orgtype/', 'title'=>'Виды сотрудничества','icon'=>'icon-settings'];
|
||
|
||
$menu_staff = $staff_submenu ?
|
||
[
|
||
'title' => "Кадры",
|
||
'toggle'=>true,
|
||
'opened'=>true,
|
||
'submenu'=>$staff_submenu,
|
||
] : null;
|
||
|
||
|
||
$archive_submenu = [];
|
||
if(Rules::isArchiveProjects())$archive_submenu[] = ['link'=>'archive/projects/', 'title'=>'Проекты','icon'=>'icon-settings'];
|
||
if(Rules::isArchiveEmployee())$archive_submenu[] = ['link'=>'archive/emp/', 'title'=>'Сотрудники','icon'=>'icon-settings'];
|
||
|
||
$menu_archive = ($archive_submenu) ?
|
||
[
|
||
'title' => "Архив",
|
||
'toggle'=>true,
|
||
'opened'=>true,
|
||
'submenu'=>$archive_submenu
|
||
] : null;
|
||
|
||
|
||
|
||
$money_submenu = [];
|
||
if(Rules::isMoneyFot()) $money_submenu[] = ['link'=>'money/fot/', 'title'=>'ФОТ','icon'=>'icon-settings'];
|
||
|
||
$menu_money = $money_submenu ? [
|
||
'title' => "Бюджет",
|
||
'toggle'=>true,
|
||
'opened'=>true,
|
||
'submenu'=>$money_submenu
|
||
] : null;
|
||
|
||
|
||
|
||
$analysis_submenu = [];
|
||
if(Rules::isAnalysisMy()) $analysis_submenu[] = ['link'=>'analysis/my', 'title'=>Emp::SurnameIO(Emp::$data),'icon'=>'icon-settings'];
|
||
if(Rules::isAnalysisProjects()) $analysis_submenu[] = ['link'=>'analysis/team', 'title'=>'Мои проекты','icon'=>'icon-settings'] ;
|
||
if(Rules::isAnalysisYear()) $analysis_submenu[] = ['link'=>'analysis/year', 'title'=>'Мои проекты: годовой отчёт','icon'=>'icon-settings'] ;
|
||
if(Rules::isAnalysisFot()) $analysis_submenu[] = ['link'=>'analysis/fot', 'title'=>'Бюджет','icon'=>'icon-settings'] ;
|
||
if(Rules::isAnalysisAllProjects()) $analysis_submenu[] = ['link'=>'analysis/all_projects', 'title'=>'Все проекты','icon'=>'icon-settings'] ;
|
||
// if(Rules::isAnalysisMoscow()) $analysis_submenu[] = ['link'=>'analysis/moscow', 'title'=>'Офис Москва','icon'=>'icon-settings'] ;
|
||
// if(Rules::isAnalysisIvanovo()) $analysis_submenu[] = ['link'=>'analysis/ivanovo', 'title'=>'Офис Иваново','icon'=>'icon-settings'] ;
|
||
// if(Rules::isAnalysisNovosibirsk()) $analysis_submenu[] = ['link'=>'analysis/novosiborsk', 'title'=>'Офис Новосибирск','icon'=>'icon-settings'] ;
|
||
// if(Rules::isAnalysisKrasnodar()) $analysis_submenu[] = ['link'=>'analysis/krasnodar', 'title'=>'Офис Краснодар','icon'=>'icon-settings'] ;
|
||
// if(Rules::isAnalysisSemei()) $analysis_submenu[] = ['link'=>'analysis/semei', 'title'=>'Офис Семей','icon'=>'icon-settings'] ;
|
||
// if(Rules::isAnalysisCompany()) $analysis_submenu[] = ['link'=>'analysis/department', 'title'=>'Моё подразделение','icon'=>'icon-settings'] ;
|
||
if(Rules::isAnalysisCompany()) $analysis_submenu[] = ['link'=>'analysis/company', 'title'=>'Моя компания','icon'=>'icon-settings'] ;
|
||
if(Rules::isAnalysisStaff()) $analysis_submenu[] = ['link'=>'analysis/staff', 'title'=>'Мои кадры','icon'=>'icon-settings'] ;
|
||
|
||
|
||
|
||
$menu_analysis = $analysis_submenu ? [
|
||
'title' => "Аналитика",
|
||
'toggle'=>true,
|
||
'opened'=>true,
|
||
'submenu'=> $analysis_submenu
|
||
/*
|
||
[
|
||
['link'=>'analysis/my', 'title'=>Emp::SurnameIO(Emp::$data),'icon'=>'icon-settings'],
|
||
$isProjects ? ['link'=>'analysis/team', 'title'=>'Мои проекты','icon'=>'icon-settings'] : null,
|
||
($isGeneral || $isAdmin || $isTop) ? ['link'=>'analysis/year', 'title'=>'Мои проекты: годовой отчёт','icon'=>'icon-settings'] : null,
|
||
$isFot ? ['link'=>'analysis/fot', 'title'=>'Бюджет','icon'=>'icon-settings'] : null,
|
||
$isMoscow ? ['link'=>'analysis/moscow', 'title'=>'Офис Москва','icon'=>'icon-settings'] : null,
|
||
$isIvanovo ? ['link'=>'analysis/ivanovo', 'title'=>'Офис Иваново','icon'=>'icon-settings'] : null,
|
||
$isNovosiborsk ? ['link'=>'analysis/novosiborsk', 'title'=>'Офис Новосибирск','icon'=>'icon-settings'] : null,
|
||
$isKrasnodar ? ['link'=>'analysis/krasnodar', 'title'=>'Офис Краснодар','icon'=>'icon-settings'] : null,
|
||
$isSemei ? ['link'=>'analysis/semei', 'title'=>'Офис Семей','icon'=>'icon-settings'] : null,
|
||
$isDepartment ? ['link'=>'analysis/department', 'title'=>'Моё подразделение','icon'=>'icon-settings'] : null,
|
||
$isCompany ? ['link'=>'analysis/company', 'title'=>'Моя компания','icon'=>'icon-settings'] : null,
|
||
$isStaff ? ['link'=>'analysis/staff', 'title'=>'Мои кадры','icon'=>'icon-settings'] : null,
|
||
],
|
||
*/
|
||
] : null;
|
||
|
||
$menu_admin = Rules::isAdmin() ?
|
||
[
|
||
'title' => "Администрирование",
|
||
'toggle'=>true,
|
||
'opened'=>true,
|
||
'submenu'=>[
|
||
//['link'=>'calendar/', 'title'=>'Календарь','icon'=>'icon-settings'],
|
||
['link'=>'departments/', 'title'=>'Структура компании','icon'=>'icon-settings'],
|
||
['link'=>'dictionary/step/', 'title'=>'Структура проекта','icon'=>'icon-settings'],
|
||
['link'=>'calendar/day/', 'title'=>'Календарь','icon'=>'icon-settings'],
|
||
['link'=>'pages/', 'title'=>'Главная страница','icon'=>'icon-settings'],
|
||
['link'=>'variable/', 'title'=>'Переменные','icon'=>'icon-settings'],
|
||
['link'=>'dictionary/city/', 'title'=>'Локации','icon'=>'icon-settings'],
|
||
['link'=>'dictionary/staffing/', 'title'=>'Штатное расписание','icon'=>'icon-settings'],
|
||
['link'=>'dictionary/org/', 'title'=>'Юридические лица','icon'=>'icon-settings'],
|
||
['link'=>'dictionary/contractor/status/', 'title'=>'Статусы контрагентов','icon'=>'icon-settings'],
|
||
['link'=>'dictionary/objtype/', 'title'=>'Типология объектов','icon'=>'icon-settings'],
|
||
|
||
//['link'=>'history/', 'title'=>'Логи','icon'=>'icon-settings'],
|
||
//['link'=>'settings/', 'title'=>'Переменные','icon'=>'icon-settings'],
|
||
//['link'=>'post/', 'title'=>'Должность ?','icon'=>'icon-settings'],
|
||
|
||
],
|
||
] : null;
|
||
|
||
$allMenu = [
|
||
$menu_cabinet,
|
||
$menu_analysis,
|
||
$menu_projects,
|
||
$menu_staff,
|
||
$menu_archive,
|
||
$menu_money,
|
||
$menu_admin,
|
||
// $menu_calendar
|
||
];
|
||
$myRoutes = [
|
||
'public_profile/:id',
|
||
'team/member/:id',
|
||
//'time_tracker/:emp',
|
||
];
|
||
// my/time_tracker/50 +
|
||
// my/projects/49 +
|
||
// analysis/team/79 +
|
||
// 'team/member/:id',
|
||
// 'time_tracker/:emp',+
|
||
|
||
foreach ($allMenu as $menu) {
|
||
foreach ($menu['submenu'] as $item) {
|
||
$myRoutes[] = $item['link'];
|
||
}
|
||
}
|
||
|
||
$res = [
|
||
'options'=>[
|
||
'is_local'=>$isLocal,
|
||
'server' => $_SERVER,
|
||
'is_admin'=>Emp::isAdmin(),
|
||
'is_telegram'=>Emp::isTelegram(),
|
||
'is_telegram_id'=>boolval(Emp::$data[Emp::$TG_ACC]),
|
||
'myRoutes'=>$myRoutes,
|
||
'company'=>[
|
||
'emp'=>[
|
||
'init_filter_values'=>[Emp::$ARCHIVE=>0],
|
||
]
|
||
]
|
||
],
|
||
'routes' => $routes,
|
||
//app_background => 'https=>//picsum.photos/1920/1080',
|
||
//'default_app_background' => '',
|
||
//'app_class' => 'papaya',
|
||
//'default_app_class' => 'papaya',
|
||
'menu_hide'=>false,
|
||
'api_url_theme'=>\Site::$domen.'/api/themes.merakomis',
|
||
'domain_url' =>\Site::$domen.'',
|
||
'auth' => true,
|
||
//'token'=>$token_hash,
|
||
'account' => [
|
||
//'avatar' => \Site::sectionUrl(substr(Image::imageResize($avatar[Image::$URL],100,100,100,['crop'=>'center']),1),true),
|
||
//'id' => Emp::$AUTH_ID,
|
||
'token' => $token_hash,
|
||
'data'=>Emp::formatMyTopData(),
|
||
'rules'=>Rules::$rules,
|
||
'readOtherTableRead'=>Rules::readOtherTableRead(),
|
||
'writeOtherTableWrite'=>Rules::writeOtherTableWrite(),
|
||
'readAnalysisTableEmp'=>Rules::readOtherTableRead(),
|
||
|
||
],
|
||
'fullscreen' => true,
|
||
'url_path' => $panel_path,
|
||
/*
|
||
'header' => [
|
||
'logotype' => 'pics/logo/logo.jpg'
|
||
],
|
||
/**/
|
||
'menu' => [
|
||
'logotype' => $logotype,
|
||
'avatar' => 'pics/ava.jpg',
|
||
'avatar_link' => 'profile/1',
|
||
'menu' => [
|
||
$menu_cabinet,
|
||
$menu_analysis,
|
||
$menu_projects,
|
||
$menu_staff,
|
||
$menu_archive,
|
||
$menu_money,
|
||
$menu_admin,
|
||
// $menu_calendar
|
||
]
|
||
]
|
||
];
|
||
|
||
|
||
echo je($res);
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|