diff --git a/core/permissions/app_defaults.php b/core/permissions/app_defaults.php new file mode 100644 index 0000000000..7c9502ff27 --- /dev/null +++ b/core/permissions/app_defaults.php @@ -0,0 +1,58 @@ +select($sql, null, 'column'); + if ($num_rows == 0) { + + //get the $apps array from the installed apps from the core and mod directories + $config_list = glob($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/*/*/app_config.php"); + $x = 0; + foreach ($config_list as &$config_path) { + include($config_path); + $x++; + } + + //restore default permissions + $x = 0; + foreach ($apps as $row) { + if (is_array($row['permissions']) && @sizeof($row['permissions']) != 0) { + foreach ($row['permissions'] as $permission) { + if ($permission['groups']) { + foreach ($permission['groups'] as $group_name) { + $array['permissions'][$x]['permission_uuid'] = uuid(); + $array['permissions'][$x]['permission_name'] = $permission['name']; + $array['permissions'][$x]['application_name'] = $row['name']; + $array['permissions'][$x]['application_uuid'] = $row['uuid']; + $x++; + } + } + } + } + } + + //save the data to the database + if (is_array($array) && @sizeof($array)) { + //grant temporary permissions + $p = new permissions; + $p->add('permission_add', 'temp'); + + //execute insert + $database = new database; + $database->app_name = 'permissions'; + $database->app_uuid = 'ce1498a0-46e2-487d-85de-4eec7122a984'; + $database->save($array); + unset($array); + + //revoke temporary permissions + $p->delete('permission_add', 'temp'); + } + + } + +} + +?>