📄 test.php
字号:
<?php$debug=1;require_once("gacl_admin.inc.php");$test = $gacl->add_group_object(10, 'user','10');$gacl->showarray($test);$test = $gacl->add_group_object(10, 'user','10');$gacl->showarray($test);$test = $gacl->del_group_object(10, 'user','10');$gacl->showarray($test);$test = $gacl->del_group_object(10, 'user','10');$gacl->showarray($test);//$test = $gacl->acl_query('system','login','users','john_doe',NULL, NULL, NULL, NULL, TRUE);//showarray($test);/*$test = $gacl_api->get_group_objects(14,'ARO','RECURSE');showarray($test);$test = $gacl_api->get_group_objects(14,'ARO');showarray($test);*//*$group_ids = array(14);$test = $gacl_api->acl_get_group_path($group_ids);showarray($test);$test = $gacl_api->get_group_objects(14,'ARO');showarray($test);*///$gacl_api->clean_path_to_root(ARO);//$gacl_api->clean_path_to_root(AXO);/*$gacl_api->add_acl( array('system' => array('login', 'enabled', 'login')), array('users' => array(1)), array(10,12,10), NULL, NULL, TRUE, TRUE, 666, 'NOTE');*//*$gacl_api->is_conflicting_acl( array('system' => array('login')), array('accounts' => array(1)), array(99), array('projects' => array(99)), array(99));*///$gacl_api->consolidated_edit_acl('system', 'add_pop','accounts',1, 99);//$gacl_api->search_acl('system','add_pop','accounts',1, 'Browsers','projects',5599,'Projects',99);/*$gacl_api->shift_acl( 18, array('accounts' => array(1)), array(14), array('projects' => array(5599)), array(23), array('system' => array('add_pop')) );*//*$gacl_api->append_acl( 18, array('accounts' => array(1,2,3,4)), array(14), array('projects' => array(5599)), array(23), array('system' => array('add_pop')) );*//*$gacl_api->add_acl( array('system' => array(99)), array('accounts' => array(99)), array(99), array('projects' => array(99)), array(99), TRUE, TRUE, 666, 'NOTE');*///$rows = $rs->GetRows();//showarray($rows);/*$query = ' SELECT a.value AS a_value, a.name AS a_name, b.value AS b_value, b.name AS b_name, c.value AS c_value, c.name AS c_name, d.value AS d_value, d.name AS d_name FROM aco_sections a, aco b, aro_sections c, aro d WHERE a.value=b.section_value AND c.value=d.section_value ORDER BY a.value, b.value, c.value, d.value';//$rs = $db->Execute($query);//$rows = $rs->GetRows();$rs = $db->pageexecute($query, 100, 2);showarray($rows);$rows = $rs->GetRows();showarray($rows);*///$test=$gacl-> acl_query('system', 'email_pw', 'users', '1');//showarray($test);//Test object deleting.//$gacl_api->del_object(10,'ARO', TRUE);//$gacl_api->del_object_section(10,'ACO',TRUE);/*//Test AXO's//function acl_query($aco_section_value, $aco_value, $aro_section_value, $aro_value, $axo_section_value=NULL, $axo_value=NULL, $root_aro_group_id=NULL, $root_axo_group_id=NULL) {$test1= acl_query('system','login','users', '1');showarray($test1);$test2=acl_query('system','login','users', '1','projects','1');showarray($test2);*///Test subtree'ing/*$test=acl_get_groups('test_section2','user1',0);showarray($test);$test=acl_get_groups('test_section2','user1');showarray($test);*//*//require_once('../Cache_Lite.php');require_once('./profiler.inc');$profiler = new Profiler(true,true);$options = array( 'caching' => true, 'cacheDir' => '/tmp/phpgacl_cache', 'lifeTime' => 100);//$Cache_Lite = new Hashed_Cache_Lite($options);$Cache_Lite = new Cache_Lite($options);$data = '0123456789';$Cache_Lite->save($data,'123');$profiler->startTimer( "acl_query()");//Test memory caching.for ($i=0; $i < 2; $i++) { //$Cache_Lite->save($data,'123'.$i); $data = $Cache_Lite->get('123'); //echo "$data<br>\n";}$profiler->stopTimer( "acl_query()");$profiler->printTimers();*//*//Test multi-layer ACOs$test = acl_query(array(21,19), 10);showarray($test);*///Stress test./*//Cleanup$aco_section_id = $gacl_api->get_aco_section_section_id("Stress Test");$del_aco_ids = $gacl_api->get_aco($aco_section_id);foreach ($del_aco_ids as $del_aco_id) { $gacl_api->del_aco($del_aco_id);}$gacl_api->del_aco_section($aco_section_id);$aro_section_id = $gacl_api->get_aro_section_section_id("Stress Test");$del_aro_ids = $gacl_api->get_aro($aro_section_id);foreach ($del_aro_ids as $del_aro_id) { $gacl_api->del_aro($del_aro_id);}$gacl_api->del_aro_section($aro_section_id);//Get all ACLs$query = "select id from acl";$rs = $db->GetCol($query);foreach($rs as $del_acl_id) { $gacl_api->del_acl($del_acl_id);}*//*$max_aco=10;$max_aro=50;$max_acl=100;$min_rand_aco=1;$max_rand_aco=9;$min_rand_aro=1;$max_rand_aro=9;//Seed random. srand ((float) microtime() * 10000000);//Grab ACO Section_id$aco_section_id = $gacl_api->get_aco_section_section_id("Stress Test");if (!$aco_section_id) { //Add an ACO section. $aco_section_id = $gacl_api->add_aco_section("Stress Test", 999,999); $gacl_api->debug_text("Stress Test: ACO Section ID: $aco_section_id");}//Add 100 random ACO'sif ($aco_section_id) { for ($i=0; $i < $max_aco; $i++) { $aco_id = $gacl_api->get_aco_id("Stress Test ACO #$i"); if (!$aco_id) { //Add ACO. $aco_id = $gacl_api->add_aco($aco_section_id, "Stress Test ACO #$i",$i, $i); } }}$aco_ids = $gacl_api->get_aco($aco_section_id);//showarray($aco_ids);//Grab ARO section id$aro_section_id = $gacl_api->get_aro_section_section_id("Stress Test");if (!$aro_section_id) { //Add an ACO section. $aro_section_id = $gacl_api->add_aro_section("Stress Test", 999,999); $gacl_api->debug_text("Stress Test: ARO Section ID: $aro_section_id");}//Add 10,000 random ARO'sif ($aro_section_id) { for ($i=0; $i < $max_aro; $i++) { $aro_id = $gacl_api->get_aro_id("Stress Test ARO #$i"); if (!$aro_id) { //Add ARO. $aro_id = $gacl_api->add_aro($aro_section_id, "Stress Test ARO #$i",$i, $i); } }}$aro_ids = $gacl_api->get_aro($aro_section_id);//showarray($aro_ids);//Create random ACL's using the above stress test ACO/AROsif (count($aco_ids) > 1 AND count($aro_ids) > 1) { for ($i=0; $i < $max_acl; $i++) { //Get random ACO IDS $rand_aco_keys = array_rand($aco_ids, mt_rand($min_rand_aco, $max_rand_aco) ); unset($rand_aco_ids); foreach ($rand_aco_keys as $rand_aco_key) { $rand_aco_ids[] = $aco_ids[$rand_aco_key]; } //Get random ARO IDS $rand_aro_keys = array_rand($aro_ids, mt_rand($min_rand_aro, $max_rand_aro)); unset($rand_aro_ids); foreach ($rand_aro_keys as $rand_aro_key) { $rand_aro_ids[] = $aro_ids[$rand_aro_key]; } //Random ALLOW $allow = mt_rand(0,1); $gacl_api->debug_text("Inserting ACL with ". count($rand_aco_ids) ." ACOs and ". count($rand_aro_ids) ." AROs - Allow: $allow"); $gacl_api->add_acl($rand_aco_ids, $rand_aro_ids, NULL, $allow, 1); }} //Create much more Decoy data$max_aco=100;$max_aro=4000;$max_acl=1000;$min_rand_aco=1;$max_rand_aco=10;$min_rand_aro=1;$max_rand_aro=10;//Seed random. srand ((float) microtime() * 10000000);//Grab ACO Section_id$aco_section_id = $gacl_api->get_aco_section_section_id("Stress Test Decoy");if (!$aco_section_id) { //Add an ACO section. $aco_section_id = $gacl_api->add_aco_section("Stress Test Decoy", 1000,1000); $gacl_api->debug_text("Stress Test: ACO Section ID: $aco_section_id");}//Add 100 random ACO'sif ($aco_section_id) { for ($i=0; $i < $max_aco; $i++) { $aco_id = $gacl_api->get_aco_id("Stress Test Decoy ACO #$i"); if (!$aco_id) { //Add ACO. $aco_id = $gacl_api->add_aco($aco_section_id, "Stress Test ACO Decoy #$i",$i, $i); } }}$aco_ids = $gacl_api->get_aco($aco_section_id);//showarray($aco_ids);//Grab ARO section id$aro_section_id = $gacl_api->get_aro_section_section_id("Stress Test Decoy");if (!$aro_section_id) { //Add an ACO section. $aro_section_id = $gacl_api->add_aro_section("Stress Test Decoy", 1000,1000); $gacl_api->debug_text("Stress Test: ARO Section ID: $aro_section_id");}//Add 10,000 random ARO'sif ($aro_section_id) { for ($i=0; $i < $max_aro; $i++) { $aro_id = $gacl_api->get_aro_id("Stress Test Decoy ARO #$i"); if (!$aro_id) { //Add ARO. $aro_id = $gacl_api->add_aro($aro_section_id, "Stress Test Decoy ARO #$i",$i, $i); } }}$aro_ids = $gacl_api->get_aro($aro_section_id);//showarray($aro_ids);//Create random ACL's using the above stress test ACO/AROsif (count($aco_ids) > 1 AND count($aro_ids) > 1) { for ($i=0; $i < $max_acl; $i++) { //Get random ACO IDS $rand_aco_keys = array_rand($aco_ids, mt_rand($min_rand_aco, $max_rand_aco) ); unset($rand_aco_ids); foreach ($rand_aco_keys as $rand_aco_key) { $rand_aco_ids[] = $aco_ids[$rand_aco_key]; } //Get random ARO IDS $rand_aro_keys = array_rand($aro_ids, mt_rand($min_rand_aro, $max_rand_aro)); unset($rand_aro_ids); foreach ($rand_aro_keys as $rand_aro_key) { $rand_aro_ids[] = $aro_ids[$rand_aro_key]; } //Random ALLOW $allow = mt_rand(0,1); $gacl_api->debug_text("Inserting ACL with ". count($rand_aco_ids) ." ACOs and ". count($rand_aro_ids) ." AROs - Allow: $allow"); $gacl_api->add_acl($rand_aco_ids, $rand_aro_ids, NULL, $allow, 1); }} *//*//Test subtree'ing$aco_id=10;$aro_id=22;$root_group_id=30;$test=acl_query($aco_id,$aro_id,$root_group_id);showarray($test);$aco_id=10;$aro_id=22;$root_group_id=33;$test=acl_query($aco_id,$aro_id,$root_group_id);showarray($test);*//*//Populate the ARO's$max_aros = 100;for ($i=0; $i < $max_aros; $i++) { $aro_id = $gacl_api->add_aro(41,"$i First $i Last", $i, $i); if ($aro_id) { $gacl_api->debug_text("ARO ID: $aro_id"); } else { $gacl_api->debug_text("Insert ARO ID FAILED!"); }}*/?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -