Your IP : 216.73.216.170


Current Path : /home/bitrix/ext_www/rgc.yacl.site/
Upload File :
Current File : /home/bitrix/ext_www/rgc.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");

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 Dgtl\Kanban\StagesTable;
use Dgtl\Kanban\TimeLineTable;
echo '<pre>';

try {
    Loader::includeModule('tasks');

    $projectId = 15359;
    $json = getJsonByTree(getJsonForGantt($projectId), true);
    okp($json);
//    $list = CIBlockElement::GetList([], ['IBLOCK_ID' => IBLOCK_PROJECT, '!PROPERTY_IS_TPI' => false], false, false, ['ID', 'IBLOCK_ID', 'NAME', 'PROPERTY_RP']);
//    while ($project = $list->Fetch()) {
//        $rp = $project['PROPERTY_RP_VALUE'];
//        $taskList = CTasks::GetList([], ['UF_PROJECT' => $project['ID'], '!ZOMBIE' => 'Y'], ['ID', 'CREATED_BY']);
//        while ($task = $taskList->Fetch()) {
//            if ($task['CREATED_BY'] != $rp) {
//                CTaskItem::getInstance($task['ID'], 1)->update(['CREATED_BY' => $rp]);
//            }
//        }
////        okp($project);
////        break;
//    }

//        $userId = 1;
//        $taskId = 98267;
//        okp(\Bitrix\Tasks\Internals\TaskTable::getMap());
//        $taskItem = CTaskItem::getInstance('98267', 1);
//        Bitrix\Tasks\Manager\Task::update($userId, $taskId, ['SE_PARAMETER' => [['CODE' => \CTasks::PARAMETER_PROJECT_PLAN_FROM_SUBTASKS, 'VALUE' => 'Y']]]);

//        $taskId = 98119;
//        $dependsTaskId = 98118;
//    okp(\Bitrix\Tasks\Internals\Task\ProjectDependenceTable::createLink($taskId, $dependsTaskId));
//    okp(Project::addByTemplate(15283));

//    $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;
//    }
//    okp(count($taskList));

//    Bitrix\Main\Loader::includeModule('iblock');
//    $filter = ['IBLOCK_ID' => IBLOCK_PROJECT];
//    $select = ['ID', 'NAME', 'IBLOCK_ID', 'CREATED_BY', 'PROPERTY_ACCOMPLICES', 'PROPERTY_ACCESS'];
//    $list = CIBlockElement::GetList([], $filter, false, false, $select);
//    while ($project = $list->Fetch()) {
//        $accomplices = $project['PROPERTY_ACCOMPLICES_VALUE'];
//        $accessed = $project['PROPERTY_ACCESS_VALUE'];
////        okp($project['ID']);
////        okp(array_diff($accomplices, $accessed));
//        foreach ($accomplices as $userId) {
//            if (!in_array($userId, $project['PROPERTY_ACCESS_VALUE'])) {
//                Project::giveAccess($project['ID'], $userId);
////                okp($project['ID'] . ' -> ' . $userId);
//            }
//        }
//    }

//    Loader::includeModule('tasks');
//    $taskCountList = \Bitrix\Tasks\Internals\TaskTable::getList([
//        'filter' => ['!UF_PROJECT' => false, '!ZOMBIE' => 'Y'],
//        'select' => ['CNT', 'UF_PROJECT', 'STATUS'],
//        'runtime' => [
//            new \Bitrix\Main\Entity\ExpressionField('CNT', 'COUNT(*)')
//        ],
//    ])->fetchAll();
//    okp($taskCountList);
//    $connection = \Bitrix\Main\Application::getConnection();
//    okp($connection->query($query)->fetchAll());
// SQL: delete from b_tasks_stages where entity_type = 'P';
//    okp(TimeLineTable::getStages());
//    $entityId = 0;
//    StagesTable::add(array(
//        'SYSTEM_TYPE' => 'PERIOD_ROOT',
//        'SORT' => 9999,
//        'ENTITY_ID' => $entityId,
//        'ENTITY_TYPE' => StagesTable::WORK_MODE_TIMELINE,
//        'COLOR' => 'a2a8b0' // светло-серый
//        'TITLE' => 'Корневые задачи',
//    ));
//    StagesTable::add(array(
//        'SYSTEM_TYPE' => 'PERIOD45',
//        'TITLE' => 'В этом месяце',
//        'SORT' => 450,
//        'ENTITY_ID' => $entityId,
//        'ENTITY_TYPE' => StagesTable::WORK_MODE_TIMELINE,
//        'COLOR' => 'e3f299' // светло-зеленый
//    ));
//    StagesTable::add(array(
//        'SYSTEM_TYPE' => 'PERIOD7',
//        'TITLE' => 'Больше года',
//        'SORT' => 700,
//        'ENTITY_ID' => $entityId,
//        'ENTITY_TYPE' => StagesTable::WORK_MODE_TIMELINE,
//        'COLOR' => 'e3c6bb' // грязно-розовый
//    ));

} catch (Exception $e) {
    okp($e->getMessage());
}

//okp($USER->CanDoOperation('view_event_log'));
//
//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);
//}

// $vhelper = new VoteEditHelper();
// okp($vhelper->checkRights(5, 10568));
// $helper = new HighloadBlockHelper('DQDocs');
// foreach ($helper->getList(['select' => ['UF_PRIORITY', 'ID']])->fetchAll() as $item) {
//     if (!$item['UF_PRIORITY']) {
// //        okp($item);
//         $helper->update($item['ID'], ['UF_PRIORITY' => 440]);
//     }
// }

//$dqHelper = new DocQueueHelper();
//$dqHelper->getDocList();

//$helper = new VoteEditHelper();
//okp($helper->getActiveVote(1));
//okp($helper->getActiveVote(7328));

////okp(getUserDepartmentsChainIds(1));
////okp(getUserDepartmentsChainIds(7328));
//foreach ($helper->getCurrentVotes() as $vote) {
//    okp($vote['ID']);
//    okp($helper->checkRights($vote['ID'], '7328'));
////    okp($vote);
//}
//
//foreach ($helper->getCurrentVotes() as $vote) {
//    okp($vote['ID']);
//    okp($helper->checkRights($vote['ID'], '1'));
////    okp($vote);
//}
//
//
//okp($helper->getUserAdGroups(7328));

//$str = 'Оперативное совещание под председательством Генерального директора АО "Росгео" С.Н. Горькова';
//$sqlStr = $DB->ForSql($str);
//okp($sqlStr);
//okp($sqlStr == $str);
//
//$item = $helper->getList(['filter' => ['=ID' => '21140']])->fetch();
//$titleItem = $item['UF_TITLE'];
//okp($titleItem);
//okp($titleItem == $sqlStr);
//
//$item = $helper->getList(['filter' => ['UF_TITLE' => $titleItem], 'select' => ['ID', 'UF_TITLE']])->fetch();
//okp($item);
//getUserExchangeCalendarEvents(9537);
//
//
//$recordHelper = new HighloadBlockHelper(HLBLOCK_EXCHANGE_CALENDAR_LOG);
//$recordFromExchangeTitle = 'такие \ дела, что ух /][\';/.,mzxcvbm!@#$%^&*()_+=-09897645321`~|\|\/?.,><!"№;%:?**?';
//$tryRecord = $recordHelper->getList(['filter' => ['UF_TITLE' => $DB->ForSql($recordFromExchangeTitle)], 'order' => ['ID' => 'DESC'], 'limit' => 1])->fetch();
//okp($tryRecord);
//$realRecord = $recordHelper->getList(['filter' => [], 'order' => ['ID' => 'DESC'], 'limit' => 1])->fetch();
//$realTitle = $realRecord['UF_TITLE'];
//okp($realRecord);
//



//\PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'xlsx');
//$ch = curl_init();
//
//$url = 'http://sb-t-1c-web01/PGO_SevZap_Buh_artit_2/hs/sof';
//$method = '/CreateUniverseDoc';
//$login = 'GurenchukVA';
//$data = [
//    'ID_SO' => 1156,
//    'Link_SO' => 'https://dmcopy.rusgeology.ru/dq/queue/detail.php?id=1156',
//    'CreationDT' => date('Y-m-d\TH:i:s.000\Z', strtotime('2021-04-02 14:08:37')),
//    'Description_SO' => 'Nice try',
//    'SO_TYPE' => 'type1',
//    'Organization_Data' => [
//        'Org_Inn' => '7801601373',
//        'KPP' => '780101001'
//    ],
//    'Files' => [
//        [
//            'Name' => 'Информационное письмо доступ к базам сотрудников СП.pdf',
//            'Link' => 'https://dmcopy.rusgeology.ru/upload/uf/e35/e354092bb7ca5e4c9adbad1731ffa25d.pdf'
//        ]
//    ],
//    'UserName' => '//ROSGEOLOGIA/' . $login
//];
//
//$data = [
//    'ID_SO' => 56,
//    'Link_SO' => 'https://dmcopy.rusgeology.ru/dq/queue/detail.php?id=28',
//    'CreationDT' => '2021-04-02 14:08:37',//date('Y-m-d\TH:i:s.000\Z', strtotime('2021-04-02 14:08:37')),
//    'Description_SO' => 'Nice try',
//    'SO_TYPE' => 'type1',
//    'Organization_Data' => [
//        'Org_Inn' => '7724294887',
//        'KPP' => '772801001'
//    ],
//    'Files' => [
//        'Name' => 'https://dmcopy.rusgeology.ru/upload/uf/e35/e354092bb7ca5e4c9adbad1731ffa25d.pdf, Информационное письмо доступ к базам сотрудников СП.pdf',
//    ],
//];
//
//$encodedData = json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
//echo $encodedData . "\n";
//echo $url . $method . "\n";
//curl_setopt($ch, CURLOPT_URL, $url . $method);
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//curl_setopt($ch, CURLOPT_POST, 1);
//curl_setopt($ch, CURLOPT_POSTFIELDS, $encodedData);
//curl_setopt($ch, CURLOPT_USERPWD, 'SmartOffice:123');
//
//$headers = array();
//$headers[] = 'Content-Type: application/json';
//curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
//
//$result = curl_exec($ch);
//if (curl_errno($ch)) {
//    echo 'Error:' . curl_error($ch);
//}
//okp($result);
//okp(json_decode($result));
//curl_close($ch);
//
//Loader::includeModule('tasks');
// update exchange event log
//$helper = new HighloadBlockHelper(HLBLOCK_EXCHANGE_CALENDAR_LOG);
//$allItems = $helper->getList(['select' => ['ID', 'UF_TIME_START']])->fetchAll();
//foreach ($allItems as $item) {
//    $helper->update($item['ID'], ['UF_DATE' => \Bitrix\Main\Type\Date::createFromTimestamp(strtotime($item['UF_TIME_START']))]);
//}
//$managers = getAllManagers(1);
//okp($managers);
//array_walk($managers, function ($value, $key) {
//    echo getUserLinkById($value) . "\n";
//});

//
//
////okp(date('d.m.Y 12:00:00', getClientTime()));
//$entity = \Bitrix\Iblock\Model\Section::compileEntityByIblock(IBLOCK_DEPARTMENT);
//$bs = new CIBlockSection;
//$dzoRootId = '990';
//$dzoRootSection = $entity::getList([
//    'filter' => ['ID' => $dzoRootId, 'ACTIVE' => 'Y'],
//    'select' => ['ID', 'NAME', 'LEFT_MARGIN', 'RIGHT_MARGIN']
//])->fetch();
//$sectionId = '';
//$subdeps = $entity::getList([
//    'filter' => [
//        'ACTIVE' => 'Y',
//        '>=LEFT_MARGIN' => $dzoRootSection['LEFT_MARGIN'],
//        '<=RIGHT_MARGIN' => $dzoRootSection['RIGHT_MARGIN']
//    ],
//    'select' => ['ID', 'NAME', 'LEFT_MARGIN', 'RIGHT_MARGIN']
//])->fetchAll();
//$depIds = [];
//foreach ($subdeps as $dep) {
//    $depIds[] = $dep['ID'];
//}
//okp('[' . implode(',', $depIds) . ']');
//$userList = \Bitrix\Main\UserTable::getList([
//    'filter' => ['ACTIVE' => 'Y', '@UF_DEPARTMENT' => $depIds],
//    'select' => ['ID', 'LAST_NAME', 'NAME', 'LOGIN'],
//])->fetchAll();
//okp(count($userList));
//okp($userList);

//$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_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;
}

//$helper = new HighloadBlockHelper(HLBLOCK_ACTIVITY_LIST);
//$list = $helper->getList(['filter' => [], 'select' => ['ID', 'UF_LIST_ID']])->fetchAll();
//$mapReplace = [];
//foreach ($list as $item) {
//    $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();
//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
//    ]);
//}

//$taskList = \Bitrix\Tasks\Internals\TaskTable::getList([
//    'filter' => [
//        '!ZOMBIE' => 'Y',
//        '!UF_ACTIVE_LIST_DICT' => false,
//        'ID' => 52051
//    ],
//    'select' => ['ID', 'UF_ACTIVITY_LIST', 'UF_ACTIVE_LIST_DICT']
//])->fetchAll();
//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
//        ]);
//    }
//}
//okp(getActivityName('a{1:1}'));
//okp(getActivityName(0));
//okp(getActivityName(2));

//$tezis = new Tezis();
//okp($tezis->getSessionId());
//$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);
}

//*/


echo '</pre>';