{"SOURCE":"ReportMaster: Ubilling 1.3.7 rev 8868","REPORTID":"rm1644066758","REPORTCODE":"REPORT_NAME=\"\u0412\u0456\u0434\u043e\u043c\u0456 \u043d\u0430\u043c \u0431\u0443\u0434\u0438\u043d\u043a\u0438\"\nREPORT_TYPE=\"ONEPUNCH\"\nREPORT_ALLOWADMINS=\"\"\nREPORT_QUERY=\"knownbuilds\"\nREPORT_ONTB=\"1\"\nREPORT_AOTD=\"0\"\nREPORT_ICON=\"notesacc.jpg\"\n","OPSCRIPT":{"id":"2","alias":"knownbuilds","name":"\u0412\u0456\u0434\u043e\u043c\u0456 \u043d\u0430\u043c \u0431\u0443\u0434\u0438\u043d\u043a\u0438 (RM)","content":"$reportUrl = '?module=reportmaster&view=rm1644066758';\r\n    $controls = wf_Link($reportUrl, wf_img('skins\/icon_build.gif') . ' \u0411\u0443\u0434\u0438\u043d\u043a\u0438 \u0437 \u0406\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430\u043c\u0438', false, 'ubButton') . ' ';\r\n    $controls .= wf_Link($reportUrl . '&ukv=true', wf_img('skins\/ukv\/tv.png') . ' \u0411\u0443\u0434\u0438\u043d\u043a\u0438 \u0437 \u043a\u0430\u0431\u0435\u043b\u044c\u043d\u0438\u043c', false, 'ubButton');\r\n    show_window('', $controls);\r\n\r\n    if (!ubRouting::checkGet('ukv')) {\r\n        $buildReport = new ReportBuilds();\r\n        show_window('\u0411\u0443\u0434\u0438\u043d\u043a\u0438 \u0432 \u044f\u043a\u0438\u0445 \u0431\u0443\u0432\u0430\u0454 \u0406\u043d\u0442\u0435\u0440\u043d\u0435\u0442', $buildReport->renderBuilds());\r\n    } else {\r\n        if (ubRouting::checkGet('ajax')) {\r\n            $ukv = new UkvSystem();\r\n            $allUkvUsers = $ukv->getUsers();\r\n            $addrTmp = array();\r\n            if (!empty($allUkvUsers)) {\r\n                foreach ($allUkvUsers as $io => $each) {\r\n                    if (!isset($addrTmp[$each['city']][$each['street']][$each['build']])) {\r\n                        $addrTmp[$each['city']][$each['street']][$each['build']] = 1;\r\n                    } else {\r\n                        $addrTmp[$each['city']][$each['street']][$each['build']] ++;\r\n                    }\r\n                }\r\n            }\r\n\r\n            $json = new wf_JqDtHelper();\r\n            if (!empty($addrTmp)) {\r\n                foreach ($addrTmp as $eachCity => $streets) {\r\n                    if (!empty($streets)) {\r\n                        foreach ($streets as $eachStreet => $builds) {\r\n                            if (!empty($builds)) {\r\n                                foreach ($builds as $eachBuild => $usersCount) {\r\n                                    $data[] = $eachCity;\r\n                                    $data[] = $eachStreet;\r\n                                    $data[] = $eachBuild;\r\n                                    $data[] = $usersCount;\r\n                                    $json->addRow($data);\r\n                                    unset($data);\r\n                                }\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            $json->getJson();\r\n        } else {\r\n            $columns = array(__('City'), __('Street'), __('Build'), __('Users'));\r\n            $opts = '\"order\": [[ 0, \"desc\" ]]';\r\n            show_window('\u0411\u0443\u0434\u0438\u043d\u043a\u0438 \u0432 \u044f\u043a\u0438\u0445 \u0431\u0443\u0432\u0430\u0454 \u041a\u0422\u0411', wf_JqDtLoader($columns, $reportUrl . '&ukv=true&ajax=true', false, __('Builds'), 100, $opts));\r\n        }\r\n    }"}}