Ejemplo n.º 1
0
 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';
 }
Ejemplo n.º 2
0
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();
    }
}