Your IP : 216.73.216.170


Current Path : /home/bitrix/ext_www/rg-so.yacl.site/
Upload File :
Current File : /home/bitrix/ext_www/rg-so.yacl.site/oktest.php

<?
define("NOT_CHECK_PERMISSIONS", true);
if (!$_SERVER["DOCUMENT_ROOT"]) {
    $_SERVER["DOCUMENT_ROOT"] = realpath(__DIR__);
} else {
//   die ('Script for console only');
}

require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
require_once $_SERVER["DOCUMENT_ROOT"] . '/local/php_interface/include/classes/morev/bootstrap.php';

use Bitrix\Main\Type\DateTime;
use Bitrix\Main\Loader;
use Bitrix\Highloadblock\HighloadBlockTable as HLBT;
use Bitrix\Disk\Security\DiskSecurityContext;
use Bitrix\Disk\Security\SecurityContext;
use Bitrix\Disk\Storage;
use Bitrix\Main\Localization\Loc;
use App\Lib\Storage\SettingsStorage;


Loader::includeModule('tasks');


$dq = new DocQueueHelper();
okp($dq->sendDocTo1C(8433));
/*
$taskList = \Bitrix\Tasks\Internals\TaskTable::getList([
    'filter' => ['!UF_PROJECT' => false, 'GROUP_ID' => 0],
    'select' => ['ID', 'UF_PROJECT', 'GROUP_ID'],
])->fetchAll();
foreach ($taskList as $task) {
//        okp($task);
    $groupId = Project::getGroupId($task['UF_PROJECT']);
//        okp($groupId);
    if ($groupId > 0) {
//            \Bitrix\Main\TaskTable::update($task['ID'], ['GROUP_ID' => $groupId]);
        try {
            CTaskItem::getInstance($task['ID'], 1)->update(['GROUP_ID' => $groupId]);
        } catch (Exception $e) {
            okp($task);
            okp($e->getMessage());
        }
//            okp($res);
    }
//        break;
}

//$helper = new VoteEditHelper();
//okp($helper->getActiveVote());
/*
 * foreach (Bitrix\Main\UserTable::getList(['filter' => ['ACTIVE' => 'Y'], 'select' => ['ID']]) as $user) {
            $userId = $user['ID'];
            $departments = getUserInfoById($userId, ['UF_DEPARTMENT'])['UF_DEPARTMENT'];
            if (!empty($departments)) {
                $arGroups = CUser::GetUserGroup($userId);
                $arGroups[] = 12;
                CUser::SetUserGroup($userId, $arGroups);
            } else {
                $arGroups = CUser::GetUserGroup($userId);
                $arGroups[] = 20;
                CUser::SetUserGroup($userId, $arGroups);
            }
            okp($userId . ': ' . implode(', ', $arGroups));
            okp($departments);
}

//
//$recordHelper = new HighloadBlockHelper(HLBLOCK_EXCHANGE_CALENDAR_LOG);
//$list = $recordHelper->getList([
//    'filter' => [
//        '>UF_TIME_CREATED' => DateTime::createFromUserTime('15.07.2021 10:00'),
//        '<UF_TIME_CREATED' => DateTime::createFromUserTime('18.07.2021 10:00')
//    ]
//])->fetchAll();
//$dublicates = [];
//$dublicatesCount = [];
//foreach ($list as $item) {
////    if ($item['UF_USER'] == 9697) {
//        $uniqueCode = md5($item['UF_TITLE'] . '-' . $item['UF_TIME_START'] . '-' . $item['UF_USER']);
//        $dublicates[$uniqueCode][] = $item;
//        ++$dublicatesCount[$uniqueCode];
////    }
//}
//
//foreach ($dublicates as $uniqueCode => $items) {
//    if (count($items) > 1) {
//        for ($index = 1; $index < count($items); ++$index) {
//            $record = $items[$index];
//            try {
//                if ($record['UF_TASK']) {
//                    CTaskItem::getInstance($record['UF_TASK'], 1)->delete();
//                    oklog('deleted task #' . $record['UF_TASK'] . ': ' . $record['UF_TITLE'], 'dublicates_deleted_tasks');
//                    foreach (\Bitrix\Tasks\Internals\Task\ElapsedTimeTable::getList(['filter' => ['TASK_ID' => $record['UF_TASK']]])->fetchAll() as $elapsedTime) {
//                        \Bitrix\Tasks\Internals\Task\ElapsedTimeTable::delete($elapsedTime['ID']);
//                        oklog('deleted time for task#' . $record['UF_TASK'], 'dublicates_deleted_task_times');
//                        oklog($elapsedTime, 'dublicates_deleted_task_times');
//                    }
//                }
//            } catch (Exception $e) {
//                okp('Error with deleting task . ' . $record['UF_TASK'] . ': ' . $e->getMessage());
//            }
//        }
//    }
//}
//oklog($dublicates, '_dublicates');
//oklog($dublicatesCount, '_dublicates_count');

//
//$tezis = new Tezis();
//$delay = 60;
//$maxInterval = 86400;
//$lastBotWorkedTime = \Bitrix\Main\Config\Option::get('main', 'tezisbot_worked', 0);
//$realDelay = $delay;
//if ($lastBotWorkedTime && time() - $lastBotWorkedTime > $delay) {
//    $realDelay = time() - $lastBotWorkedTime;
//}
//try {
//    if ($realDelay > $maxInterval + 60) {
//        $tezis->getLastAssignments($realDelay, $realDelay - $maxInterval);
//        \Bitrix\Main\Config\Option::set('main', 'tezisbot_worked', time() - $realDelay + $maxInterval);
//    } else {
//        $tezis->getLastAssignments($realDelay, 0);
//        \Bitrix\Main\Config\Option::set('main', 'tezisbot_worked', time());
//    }
//    oklog('Success! Delay: ' . $realDelay, 'tezis.bot.success');
//    oklog('Max interval: ' . $maxInterval, 'tezis.bot.success');
//} catch (Exception $e) {
//    oklog($e, 'tezis.bot.error');
//}
//try {
//    $tezis->getLastAssignments($realDelay, $realDelay);
//    \Bitrix\Main\Config\Option::set('main', 'tezisbot_worked', time());
//    okp('Success! ' . $realDelay);
//} catch (Exception $e) {
//    okp($e);
//}
//
//$helper = new HighloadBlockHelper(HLBLOCK_EXCHANGE_CALENDAR_LOG);
//
//$recordFields = [
//    'ID' => 105018
////    'UF_TITLE' => $event->getSubject(),
////                    'UF_TIME_CREATED' => \Bitrix\Main\Type\DateTime::createFromTimestamp(strtotime($event->getCreatedTime())),
////    'UF_DATE' => \Bitrix\Main\Type\Date::createFromTimestamp(strtotime($event->getStartTime())),
////                    'UF_TIME_START' => \Bitrix\Main\Type\DateTime::createFromTimestamp(strtotime($event->getStartTime())),
////    'UF_USER' => $id,
//];
//$record = $helper->getList([
//    'filter' => $recordFields,
//    'select' => ['*']
//])->fetch();
//okp($record);
//
//okp(getUserExchangeTasks(8842));

//okp(date('d.m.Y H:i:s', 1622200932));
//
//$helper = new HighloadBlockHelper(18);
//$res = $helper->getList(['limit' => 100, 'order' => ['ID' => 'DESC']])->fetchAll();
//okp($res);

//
//$emailList = 'KostinaOY@rusgeology.ru;LopatinskyDA@rusgeology.ru;KasatkinaEA@rusgeology.ru;KovalevDV@rusgeology.ru;SizintsevSV@rusgeology.ru;PotapovMA@rusgeology.ru;SevenkinaLN@rusgeology.ru;SizintsevaLI@rusgeology.ru;BogachkinAB@rusgeology.ru;PotapovaNN@rusgeology.ru;ZinchenkoIA@rusgeology.ru;KuznetsovaNP@rusgeology.ru;SuchilinaYV@rusgeology.ru;MartovLA@rusgeology.ru;MerkulovaNM@rusgeology.ru;KuznetsovaEV@rusgeology.ru;NosovaSA@rusgeology.ru;KatelyanskayaEA@rusgeology.ru;PopovAV1@rusgeology.ru;NosovaSA@rusgeology.ru;SamsonovMA@rusgeology.ru;MusatovVA@rusgeology.ru;GvozdkovSN@rusgeology.ru;NavrotskiyOK@rusgeology.ru;MamulinaVD@rusgeology.ru;MamulinaVD@rusgeology.ru;FedorovaEV@rusgeology.ru;KortunovaAN@rusgeology.ru;GontarevVV@rusgeology.ru;KalininVF@rusgeology.ru;VoronkovaEA1@rusgeology.ru;VoronkovIR@rusgeology.ru;SerebryakovaIA@rusgeology.ru;PisarenkoYA@rusgeology.ru;PisarenkoVY@rusgeology.ru;PolushenkoEA@rusgeology.ru;PisarenkoTV@rusgeology.ru;ScheglovVB@rusgeology.ru;StaroverovVN@rusgeology.ru;KarpovaTG@rusgeology.ru;DanilovaGL@rusgeology.ru;DunaevaMN@rusgeology.ru;OreshkinIV@rusgeology.ru;OreshkinAI@rusgeology.ru;OreshkinaTI@rusgeology.ru;KotovaKV@rusgeology.ru;NovikovSA@rusgeology.ru;HankishievVM@rusgeology.ru;DenisovaLA@rusgeology.ru;BagaevaTN@rusgeology.ru;NazarovaOV@rusgeology.ru;ZubEA@rusgeology.ru;ZemlyanskayaES@rusgeology.ru;TitarenkoAV@rusgeology.ru;UsagalievaES@rusgeology.ru;SidorkinaYD@rusgeology.ru;UsagalievSV@rusgeology.ru;SorokinaEG@rusgeology.ru;ChernyavskayaLI@rusgeology.ru;SergeevaVV@rusgeology.ru;DubrovskiyAA@rusgeology.ru;PenskayaIG@rusgeology.ru;DuhoninaAE@rusgeology.ru;SokolovaIP@rusgeology.ru;SchekuteevaOP@rusgeology.ru;TalaikovaVP@rusgeology.ru;RogozhinaIY@rusgeology.ru;KonstrMA@rusgeology.ru;MiheevSI@rusgeology.ru;SahnovaEY@rusgeology.ru;DemyanovaIF@rusgeology.ru;PetrovYV@rusgeology.ru;YurasovAG@rusgeology.ru;ZhuravskiyON@rusgeology.ru;NezametdinovRR@rusgeology.ru;KurakinaOV@rusgeology.ru;KvasovVI@rusgeology.ru;BiktimirovaNS@rusgeology.ru;SinitsynAV@rusgeology.ru;MiheevaVV@rusgeology.ru;SemenovAA@rusgeology.ru;SusAN@rusgeology.ru;MerkulovaMG@rusgeology.ru;RomanovaIV@rusgeology.ru';
//$list = explode(";", $emailList);
//foreach ($list as $item) {
//    $userId = getUserIdByEmail($item);
////    $deps = getUserInfoById($userId, ['UF_DEPARTMENT'])['UF_DEPARTMENT'];
//
//    $USER->Update($userId, ['UF_DEPARTMENT' => []]);
////    oklog($item . ' ' . $userId . '['  . implode(',', $deps) . ']', 'old_deps');
//}
////okp($newList);


/*


$helper = new HighloadBlockHelper(HLBLOCK_EXCHANGE_CALENDAR_LOG);
$taskList = \Bitrix\Tasks\Internals\TaskTable::getList([
    'filter' => [
        '!ZOMBIE' => 'Y',
        '%=TITLE' => 'Outlook: %'
    ],
    'select' => [
        'ID', 'TITLE', 'CREATED_BY', 'RESPONSIBLE_ID', 'START_DATE_PLAN'
    ],
    order => ['ID' => 'DESC']
])->fetchAll();
$currentTaskIds = [];
foreach ($helper->getList(['filter' => [], 'select' => ['UF_TASK']])->fetchAll() as $item) {
    $currentTaskIds[] = $item['UF_TASK'];
}
//okp($currentTaskIds);
foreach ($taskList as $task) {
    if (!empty($currentTaskIds) && in_array($task['ID'], $currentTaskIds)) {
//        okp('No tasks or task ' . $task['ID'] . ' already in log');
        continue;
    }
    $fields = [
        'UF_TITLE' => mb_substr($task['TITLE'], mb_strlen('Outlook: 25.03, чт ')),
        'UF_TIME_START' => $task['START_DATE_PLAN'],
        'UF_USER' => $task['RESPONSIBLE_ID'],
        'UF_TASK' => $task['ID'],
        'UF_LAST_MODIFIED' => \Bitrix\Main\Type\DateTime::createFromTimestamp(time()),
    ];
//    okp($fields);
    $res = $helper->add($fields);
    okp($res->getId());
//    break;
}

// $dzoRootId = 512;
// $entity = \Bitrix\Iblock\Model\Section::compileEntityByIblock(IBLOCK_DEPARTMENT);
// $dzoRootSection = $entity::getList([
//     'filter' => ['ID' => $dzoRootId, 'ACTIVE' => 'Y'],
//     'select' => ['ID', 'NAME', 'LEFT_MARGIN', 'RIGHT_MARGIN']
// ])->fetch();

//     $sectionList = $entity::getList([
//         'filter' => [
//             'ACTIVE' => 'Y',
//             '>=LEFT_MARGIN' => $dzoRootSection['LEFT_MARGIN'],
//             '<=RIGHT_MARGIN' => $dzoRootSection['RIGHT_MARGIN']
//         ],
//         'select' => ['ID', 'NAME', 'LEFT_MARGIN', 'RIGHT_MARGIN']
//     ])->fetchAll();

//     $sectionIds = [];
//     foreach ($sectionList as $section) {
//         $sectionIds[] = $section['ID'];
//     }
//     // okp($sectionIds);

//     $userList = \Bitrix\Main\UserTable::getList([
//         'filter' => ['ACTIVE' => 'Y', '@UF_DEPARTMENT' => $sectionIds],
//         'select' => ['ID', 'EMAIL']
//     ])->fetchAll();
//     foreach ($userList as $userInfo) {
//         echo $userInfo['EMAIL'] . "\n";
//     }


        // okp(SettingsStorage::get(
        //     SettingsStorage::UPDATE_TASKS_DATE,
        //     ''
        // ));
        // okp($var3 = SettingsStorage::get(
        //     SettingsStorage::LAST_EVENTS_DATE,
        //     ''
        // ));

//$list = CUserFieldEnum::GetList([], ['USER_FIELD_ID' => 190]);
//$helper = new HighloadBlockHelper(HLBLOCK_ACTIVITY_LIST);
//while($item = $list->Fetch()) {
//    $helper->add([
//        'UF_NAME' => $item['VALUE'],
//        'UF_SORT' => $item['SORT'],
//        'UF_LIST_ID' => $item['ID'],
//    ]);
//    okp($item);
//}
//return;
/*
$helper = new HighloadBlockHelper(HLBLOCK_ACTIVITY_LIST);
$list = $helper->getList(['filter' => [], 'select' => ['ID', 'UF_LIST_ID']])->fetchAll();
$mapReplace = [];
foreach ($list as $item) {
    if (!$item['UF_LIST_ID']) {
        continue;
    }
    $mapReplace[$item['UF_LIST_ID']] = $item['ID'];
}
////okp($mapReplace);
$taskList = \Bitrix\Tasks\Internals\TaskTable::getList([
    'filter' => [
        '!ZOMBIE' => 'Y',
        '!UF_ACTIVITY_LIST' => false,
        'UF_ACTIVE_LIST_DICT' => false
    ],
    'select' => ['ID', 'UF_ACTIVITY_LIST', 'UF_ACTIVE_LIST_DICT']
])->fetchAll();
//okp($mapReplace);
okp(count($taskList));
foreach ($taskList as $task) {
    $replacingWith = $mapReplace[$task['UF_ACTIVITY_LIST']];
    if (!$replacingWith) {
        $replacingWith = $mapReplace[110];
    }
    $res = \Bitrix\Tasks\Internals\TaskTable::update($task['ID'], [
        'UF_ACTIVE_LIST_DICT' => $replacingWith
    ]);
}

//foreach ($taskList as $task) {
//    if ($task['UF_ACTIVE_LIST_DICT'] && intval($task['UF_ACTIVE_LIST_DICT']) == 0) {
//        okp($task);
////        $res = \Bitrix\Tasks\Internals\TaskTable::update($task['ID'], [
////            'UF_ACTIVE_LIST_DICT' => 0
////        ]);
//    }
//}

//try {
//
//Loader::includeModule('tasks');
//$timeList = \Bitrix\Tasks\Internals\Task\ElapsedTimeTable::getList([
//    'filter' => [
//        'COMMENT_TEXT' => 'Встреча в аутлуке',
////        'TASK_ID' => 76760
//    ],
//    'select' => ['TASK_ID', 'SECONDS', '*'],
////    'limit' => 3,
//    'order' => [
//        'ID' => 'desc'
//    ]
//])->fetchAll();
//$taskIds = [];
//foreach ($timeList as $timeInfo) {
//    if ($timeInfo['SECONDS'] >=  24 * 3600) {
//        $taskIds[] = $timeInfo['TASK_ID'];
////        $res = \Bitrix\Tasks\Internals\Task\ElapsedTimeTable::delete($timeInfo['ID']);
//        okp($timeInfo['ID']);
//        okp($timeInfo['TASK_ID']);
//        okp($res->getErrorMessages());
////        okp($timeInfo);
//    }
//}
//okp(count($taskIds));
//$taskTableList = \Bitrix\Tasks\Internals\TaskTable::getList([
//    'filter' => ['@ID' => $taskIds],
//    'select' => ['START_DATE_PLAN', 'ID', 'END_DATE_PLAN']
//]);
//$tasks = [];
//while ($taskInfo = $taskTableList->fetch()) {
//    $tasks[$taskInfo['ID']] = $taskInfo;
//}
//foreach ($timeList as $timeInfo) {
////    okp($timeInfo);
////    $fields = [
////        'CREATED_DATE' => $tasks[$timeInfo['TASK_ID']]['START_DATE_PLAN']
////    ];
////    $res = \Bitrix\Tasks\Internals\Task\ElapsedTimeTable::update($timeInfo['ID'], $fields);
////    okp($res->getErrorMessages());
////    okp($res->getId());
//}
////okp($tasks);
////okp(count($timeList));
//} catch (Exception $exception) {
//    okp($exception->getMessage());
//}
//
//try {
//    Loader::includeModule('tasks');
//
//    $res = CUserFieldEnum::GetList([], ['USER_FIELD_ID' => 190]);
////    okp(1);
//    $all = [];
//    while ($item = $res->Fetch()) {
//        $all[$item['ID']] = [
//            'SORT' => $item['SORT'],
//            'NAME' => $item['VALUE']
//        ];
////        break;
//    }
//    okp (serialize($all));
//
//} catch (Exception $e) {
//    okp($e->getMessage());
//}
//$list = \Bitrix\Tasks\Internals\TaskTable::getList([
//    'filter' => ['!ZOMBIE' => 'Y'],
//    'select' => ['ID'],
//    'order' => ['ID' => 'ASC'],
//])->fetchAll();
//foreach ($list as $item) {
//    Bitrix\Tasks\Internals\SearchIndex::setTaskSearchIndex($item['ID']);
//}

//$test = '{"comment":"-	"}';
//okp($test);
//$test = str_replace("\t", '\t', $test);
//okp(json_decode($test, true));
//okp(Tezis::getTezisUserBitrixId('eafardukova'));

//$tezis = new Tezis();
//Loader::includeModule('im');
//$notify = CIMSettings::Get(1540);
//okp($notify);
//okp($notify['settings']['notifySchemeSendEmail']);

//okp($tezis::getTezisUserBitrixId('ROSGEOLOGIA\\\\anevseeva'));
//$tezis->getLastAssignments(3600 * 12);
//$res = $tezis->test();
//echo $res;
//echo count (json_decode($res));
//oklog(json_decode($res), 'oktest');
//$helper = new HighloadBlockHelper(17);
//$count = [];
//foreach (json_decode($res, true) as $item) {
//    if ($item['name'] == 'Endorsement') {
//        ++$count['Endorsement'];
//    } elseif ($item['name'] == 'Acquaintance') {
//        ++$count['Acquaintance'];
//    }
//}
//okp($count);
//
//$exisistingTezisTasks = \Bitrix\Tasks\Internals\TaskTable::getList([
//    'filter' => ['!UF_TEZIS_ID' => false, '!ZOMBIE' => 'Y'],
//    'select' => ['ID', 'UF_TEZIS_ID']
//])->fetchAll();
//
//$taskIds = [];
//foreach ($exisistingTezisTasks as $task) {
//    $taskIds[] = $task['UF_TEZIS_ID'];
//}
////okp($taskIds);
//
//$helper = new HighloadBlockHelper(17);
//$filter = [
//    '=%UF_CARD' => '%Task%',
//    '!@UF_CARD' => $taskIds,
//];
//$tezisTaskCards = $helper->getList([
//    'filter' => $filter,
//    'select' => ['ID', 'UF_CARD'],
//    'order' => ['ID' => 'desc']
//])->fetchAll();
//
//okp($tezisTaskCards);

//$assignmentInfo = $tezis->getTaskInfo('geo$Assignment-83df43e5-0894-3adb-061f-1c8cd89c9033', 'subExecutors');
//$tezis->proceedAssignment($assignmentInfo);
//$tezisTaskId = 'geo$Task-f359a1c7-640a-36be-3d51-167bdcb833a7';
//$taskInfo = $tezis->getTaskInfo($tezisTaskId);
//$userId = 7328;
//if (!empty($taskInfo)) {
//    $tezis->addTask($taskInfo, $userId);
//}
//$res = str_replace("\t", '\t', $res);
//$arr = json_decode($res, true);
//echo "\n" . count($arr) . "\n";
//
//foreach ($arr as $item) {
//    echo $item['finished'] . ': ' . $item['id'] . ": " . $item['card']['state'] . ', ' . $item['card']['id'] . ', '. $item['card']['finished'] . "\n";
//    echo $item['name'] . '->' . $item['outcome'] . "\n";
//}

//okp(file_get_contents('https://portal/_api/web/lists/getbytitle(\'новости\')/items'));
//
//$ch = curl_init();
//
//curl_setopt($ch, CURLOPT_URL, 'https://portal/_api/web/lists/getbytitle(\'%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8\')/items');
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
//curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_NTLM);
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
//
//curl_setopt($ch, CURLOPT_USERPWD, 'Smartofficetest1' . ':' . 'kV3QTxH7mPQt');
//
//$result = curl_exec($ch);
//okp($result);
//if (curl_errno($ch)) {
//    echo 'Error:' . curl_error($ch);
//}
//curl_close($ch);

//$tezis = new Tezis();
//okp($tezis->getLastAssignments());
//okp($tezis->checkSession('aa8a3fb2-5c52-acdf-605d-cdbac0036214'));
//okp($tezis->checkSession('27cc67e2-34fe-2d11-c76a-678ac21a8521'));
//$tezis->test();
//okp($tezis->getTaskInfo('geo$Task-5afa3cff-e01f-0a2d-dd36-ab29c4349b3a', 'edit')); // 1255677
//okp($tezis->getTaskInfo('holding$TaskType-836d02a0-68a9-4aa5-b11a-08e9b32c589b', 'edit'));

//okp(Tezis::getLastTaskComment('20075', 8661));
//$tezis->updateTezisDocTask(1);
//$userId = 8662;
//$type2 = getUserInfoById($userId, ['UF_TEZIS_DOC_TYPE_2'])['UF_TEZIS_DOC_TYPE_2'];
//okp($type2);
//$userId = 1;
//$type2 = getUserInfoById($userId, ['UF_TEZIS_DOC_TYPE_2'])['UF_TEZIS_DOC_TYPE_2'];
//okp($type2);
//
//
//foreach (['acquaintance', 'endorsement'] as $type) {
//    foreach ([8661, 8662] as $userId) {
//        CUserOptions::SetOption('tezis', 'tezis_' . $type . '_doc_day', '', false, $userId);
//        CUserOptions::SetOption('tezis', 'tezis_' . $type . '_doc_count', 0, false, $userId);
//    }
//}
//

/*
$ch = curl_init();

$baseUrl = "http://10.1.11.61:8080/app-portal/api";
$isTest = false;
if ($isTest) {
    $user = 'rest_user';
    $password = '12345678';
} else {
//    $user = 'rosgeologia\\\\ad_dgtm';
//    $password = 'AyWg%X33nrE$';
    $user = 'admin';
    $password = 'admin';
}

$options = [
    'anon' => 1,
    'u' => $user,
    'p' => $password,
    'l' => 'ru'
];

$url = "$baseUrl/login?" . http_build_query($options);

//okp($url);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$session = curl_exec($ch);
//okp($session);
//return;
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
} else {

}
$states = '
Started
DelayedStart
CompleteInWorkControllersDecision
IsControllerFilled
RemoveOtherExecutorsWoControl
FinishDateFactWoControl
HundredPercent
NotOkInControlDecision
IsExistReassignedControllersAfterImprovement
IsExistReassignedControllersBeforeExecutorAssigned
HundredPercentWoControl
Refused
FinishByInitiatorDateFact
Assigned
FinishedByInitiator
Finished
PreEnd
RemoveOtherExecutorsInWork
FinishedByInitiatorHundredPercent
IsExistReassignedControllersBeforeNotCompleted
SetExecutorSwitch
InWorkControllers
InControl
AfterImprovementRouteDecision
SetExecutorAssigned
IsSelfAssignedTask
FinishDateFact
Completed
ControlByInitiatorDecision
Canceled
NotCompleted
RemoveOtherExecutorsComplete
InWork';
//okp(str_replace(', ', "\n", $states));
curl_close($ch);
//return;

$priority = [
    '1' => 'Критический',
    '2' => 'Высокий',
    '3' => 'Обычный',
    '4' => 'Низкий',
];

if ($session) {
//	okp($session);
	$query = 'select t from geo$Task t where 1=:anon and t.updateTs > \'2020-06-01 00:00:00.000\' order by t.updateTs desc';
	$query = 'select t from geo$Task t where 1=:anon and t.description like \'%47181%\'';
//	$query = 'select t from wf$ProcState t where 1=:anon';
	$buildedQuery = http_build_query([
        'anon' => 1,
	    'q' => $query,
	    'e' => 'geo$Task',
        's' => $session,
        'view' => 'browse',
        'max' => 100,
    ]);
//	okp($query);
//	okp($buildedQuery);
    $buildedQuery = http_build_query([
        'anon' => 1,
        'q' => 'select a from geo$Assignment a
                where 1=:anon
                      and a.updateTs > \'2020-09-10 00:00:00.000\'
                      and a.finished is not null
                order by a.updateTs desc',
        'e' => 'geo$Assignment',
        's' => $session,
        'view' => 'subExecutors',
        'max' => 20,
    ]);
	$newUrl = "$baseUrl/query.json?$buildedQuery";
	// $newUrl = "$baseUrl/printDomain?s=$session&anon=1";


//	okp($newUrl);
	$ch = curl_init();

	curl_setopt($ch, CURLOPT_URL, $newUrl);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

	$result = curl_exec($ch);
	if ($decodedResult = json_decode($result, true)) {
	    foreach ($decodedResult as $item) {
	        $info = [
	            'cardId' => $item['card']['id'],
                'state' => $item['card']['state'],
                'user' => $item['user']['login']
            ];
	        okp($info);
        }
        okp($decodedResult);
    } else {
        okp($result);
    }

    curl_close($ch);
    return;
	if (mb_strlen($result)< 100) {
        okp($result);
    } else {
	    $tasks = json_decode($result, true);
        okp(count($tasks));
        if (!$tasks) {
            okp($result);
        }
	    foreach ($tasks as $taskInfo) {
	        okp(Tezis::addTask($taskInfo));
        }
//	        $url = "$baseUrl/find.json?e=" . $taskInfo['id'] . '&anon=1&s=' . $session;
//            $ch = curl_init();
//            curl_setopt($ch, CURLOPT_URL, $url);
//            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
////
//            $result = curl_exec($ch);
//            okp($result);
//            curl_close($ch);
//        }
    }

//    $url = "$baseUrl/logout?anon=1&session=$session";
//
//    curl_setopt($ch, CURLOPT_URL, $url);
//    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//
//    $result = curl_exec($ch);
//    okp($result);
//    curl_close($ch);
}

//*/