/demo.php
PHP | 146 lines | 91 code | 41 blank | 14 comment | 0 complexity | e827379fb65b447d0e67e9114e799f85 MD5 | raw file
- <?php
- require_once('bootstrap.php');
- $transport = new Everyman\Neo4j\Transport('localhost', '7474');
- $client = new Everyman\Neo4j\Client($transport);
- //$dimensionIndex = new Everyman\Neo4j\Index\NodeIndex($client, 'dimensions');
- $usernames = array('bill', 'allen', 'jake', 'mike', 'bob');
- $userNode = new UserNode($client);
- $users = generateNodeData($userNode, $usernames);
- var_dump($users);
- $groupnames = array('admins', 'records', 'managers', 'project leads', 'field', 'accounting', 'coops');
- $groupNode = new GroupNode($client);
- $groups = generateNodeData($groupNode, $groupnames);
- var_dump($groups);
- $companyNames = array('bluesun', 'ibm', 'microsoft');
- $companyNode = new CompanyNode($client);
- $companies = generateNodeData($companyNode, $companyNames);
- var_dump($companies);
- //pr("\n\n\nstarting rels...\n");
- /*
- $groupRelMap = array();
- addRel($map, $groupNode, $groups, 'admins', 'managers');
- addRel($map, $groupNode, $groups, 'admins', 'records');
- addRel($map, $groupNode, $groups, 'managers', 'project leads');
- addRel($map, $groupNode, $groups, 'managers', 'field');
- addRel($map, $groupNode, $groups, 'managers', 'accounting');
- addRel($map, $groupNode, $groups, 'field', 'coops');
- //var_dump($map);
- */
- $companyNode->select(array_search('bluesun', $companies));
- $companyNode->addChild(array_search('admins', $groups));
- $companyNode->addChild(array_search('managers', $groups));
- $companyNode->addChild(array_search('records', $groups));
- $companyNode->addChild(array_search('field', $groups));
- $groupNode->select(array_search('managers', $groups));
- $groupNode->addChild(array_search('project leads', $groups));
- $groupNode->select(array_search('field', $groups));
- $groupNode->addChild(array_search('coops', $groups));
- $groupNode->select(array_search('records', $groups));
- $groupNode->addChild(array_search('accounting', $groups));
- $userNode->select(array_search('bill', $users));
- $userNode->addParent(array_search('admins', $groups));
- $userNode->select(array_search('allen', $users));
- $userNode->addParent(array_search('managers', $groups));
- $userNode->select(array_search('mike', $users));
- $userNode->addParent(array_search('accounting', $groups));
- $userNode->select(array_search('bob', $users));
- $userNode->addParent(array_search('field', $groups));
- $userNode->select(array_search('jake', $users));
- $userNode->addParent(array_search('field', $groups));
- $filenames = array('index.html', 'readme.txt', 'stub1.pdf', 'stub2.pdf', 'totrevenue.csv');
- $fileNode = new FileNode($client);
- $files = generateNodeData($fileNode, $filenames);
- var_dump($files);
- $dirnames = array('bluesundocs', 'external', 'internal', 'public', 'financials', 'payroll', 'bobspay');
- $dirNode = new DirectoryNode($client);
- $dirs = generateNodeData($dirNode, $dirnames);
- var_dump($dirs);
- $dirNode->select(array_search('bluesundocs', $dirs));
- $dirNode->addChild(array_search('external', $dirs));
- $dirNode->select(array_search('bluesundocs', $dirs));
- $dirNode->addChild(array_search('internal', $dirs));
- $dirNode->addChild(array_search('readme.txt', $files));
- $dirNode->select(array_search('external', $dirs));
- $dirNode->addChild(array_search('public', $dirs));
- $dirNode->select(array_search('internal', $dirs));
- $dirNode->addChild(array_search('financials', $dirs));
- $dirNode->select(array_search('financials', $dirs));
- $dirNode->addChild(array_search('payroll', $dirs));
- $dirNode->select(array_search('payroll', $dirs));
- $dirNode->addChild(array_search('bobspay', $dirs));
- $fileNode->select(array_search('index.html', $files));
- $fileNode->addParent(array_search('public', $dirs));
- $dirNode->select(array_search('bobspay', $dirs));
- $dirNode->addChild(array_search('stub1.pdf', $files));
- $dirNode->addChild(array_search('stub2.pdf', $files));
- $dirNode->addChild(array_search('totrevenue.csv', $files));
- $actionnames = array('root', 'readall', 'writeall', 'executeall', 'emailall');
- $actionNode = new ActionNode($client);
- $actions = generateNodeData($actionNode, $actionnames);
- var_dump($actions);
- $actionNode->select(array_search('root', $actions));
- $actionNode->addChild(array_search('readall', $actions));
- $actionNode->addChild(array_search('writeall', $actions));
- $actionNode->addChild(array_search('executeall', $actions));
- $actionNode->addChild(array_search('emailall', $actions));
- $statusnames = array('root', 'classified', 'highpriority', 'priority', 'lowpriority');
- $statusNode = new StatusNode($client);
- $statuses = generateNodeData($statusNode, $statusnames);
- var_dump($statuses);
- $statusNode->select(array_search('root', $statuses));
- $statusNode->addChild(array_search('classified', $statuses));
- $statusNode->select(array_search('classified', $statuses));
- $statusNode->addChild(array_search('highpriority', $statuses));
- $statusNode->select(array_search('highpriority', $statuses));
- $statusNode->addChild(array_search('priority', $statuses));
- $statusNode->select(array_search('priority', $statuses));
- $statusNode->addChild(array_search('lowpriority', $statuses));
- // Access node 1
- // Bob is granted view action on bobs pay
- $access = new ACLAccess($client);
- $access->insert(array_search('bob', $users), array_search('bobspay', $dirs), array_search('readall', $actions));
- pr('Access ID 1 = ' . $access->getId());
- $access->insert(array_search('admins', $groups), array_search('bluesundocs', $dirs), array_search('root', $actions));
- pr('Access ID 2 = ' . $access->getId());
- pr('DONE');