* You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * * Copyright (c) 2013 (original work) Open Assessment Technologies SA (under the project TAO-PRODUCT); * * */ use oat\taoDacSimple\model\DataBaseAccess; use oat\generis\model\data\permission\PermissionManager; use oat\taoDacSimple\model\PermissionProvider; use oat\taoDacSimple\model\AdminService; $persistence = common_persistence_Manager::getPersistence('default'); $schemaManager = $persistence->getDriver()->getSchemaManager(); $schema = $schemaManager->createSchema(); $fromSchema = clone $schema; $table = $schema->createtable(DataBaseAccess::TABLE_PRIVILEGES_NAME); $table->addColumn('user_id', "string", array("notnull" => null, "length" => 255)); $table->addColumn('resource_id', "string", array("notnull" => null, "length" => 255)); $table->addColumn('privilege', "string", array("notnull" => null, "length" => 255)); $table->setPrimaryKey(array("user_id", "resource_id", "privilege")); $queries = $persistence->getPlatform()->getMigrateSchemaSql($fromSchema, $schema); foreach ($queries as $query) { $persistence->exec($query); } $impl = new PermissionProvider(); PermissionManager::setPermissionModel($impl); $rights = $impl->getSupportedRights(); foreach (PermissionProvider::getSupportedRootClasses() as $class) { AdminService::addPermissionToClass($class, INSTANCE_ROLE_BACKOFFICE, $rights); }