public static function getSourceOfUser() { $request = Ioc::getDI()->getShared('request'); $data = $request->getRawBody(); if (isset($data)) { $data = json_decode($data, true); } $source = ''; $refer = $request->getServer('HTTP_REFERER'); $host = $request->getServer('HTTP_HOST'); if (isset($data['source'])) { // 尝试通过api json数据来获取source return $source = $data['source']; } if ($request->getPost('source')) { // 没有api数据,尝试从表单获取,看其是否填了source字段 return $source = $request->getPost('source'); } if (isset($refer)) { // api json和表单都没有,尝试通过HTTP_REFERER来判断 return $source = self::checkLoginSourceOfUser($refer); } if (isset($host)) { // 通过HTTP_HOST来尝试判断 return $source = self::checkLoginSourceOfUser($host); } return $source = 'DEFAULT'; }
function importTree($name, $node, $parentId) { if ($node['type'] == 'and' || $node['type'] == 'or') { $setApi = new Set(['name' => $name, 'type' => $node['type'], 'parent' => $parentId]); $id = $setApi->addAction()['id']; if (isset($node['children'])) { foreach ($node['children'] as $child) { importTree($name, $child, $id); } } } else { $iocApi = new Ioc(['name' => $node['name'], 'type' => $node['type'], 'value' => json_encode($node['value'])]); $id = $iocApi->addAction()['id']; $setApi = new Set(['name' => $name, 'type' => 'ioc', 'parent' => $parentId, 'ioc' => $id]); $setApi->addAction(); } }