| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- Lib::loadClass('RouteBase');
- Lib::loadClass('Router');
- Lib::loadClass('Response');
- Lib::loadClass('UI');
- Lib::loadClass('SchemaFactory');
- class Route_Storage_AclReinstall extends RouteBase {
- public function handleAuth() {
- if (!User::logged()) {
- User::authByRequest();
- }
- }
- public function defaultAction() {
- UI::gora();
- UI::startContainer();
- try {
- $namespace = V::get('namespace', '', $_GET);
- if (empty($namespace)) throw new Exception("Missing param namespace");
- echo UI::h('h3', [], $namespace);
- Lib::loadClass('Schema_SystemObjectFieldStorageAcl');
- $objFieldAcl = new Schema_SystemObjectFieldStorageAcl();
- $objFieldAcl->updateCache($namespace);
- DBG::nicePrint([
- 'idInstance' => ACL::getInstanceId($namespace),
- 'rootInstance' => ACL::getRootNamespace($namespace),
- 'conf' => ACL::fetchInstanceConfig($namespace),
- 'table' => ACL::getInstanceTable($namespace),
- ], "dbg");
- {
- $item = SchemaFactory::loadDefaultObject('SystemObject')->getItem($namespace, [ 'propertyName' => '*,field' ]);
- if ('AntAcl' === $item['_type']) {
- $dbName = DB::getPDO()->getDatabaseName();
- $sqlFunBody = ACL::generateIsInstanceFunctionBody($namespace, $item);
- DBG::nicePrint($sqlFunBody, "\$sqlFunBody");
- DB::getPDO()->execSql(" DROP FUNCTION IF EXISTS `{$dbName}`.`isInstance_{$namespace}` ");
- // CREATE
- // [DEFINER = { user | CURRENT_USER }]
- // FUNCTION sp_name ([func_parameter[,...]])
- // RETURNS type
- // [characteristic ...] routine_body
- DB::getPDO()->execSql("
- CREATE DEFINER=`root`@`localhost`
- FUNCTION `{$dbName}`.`isInstance_{$namespace}` ( pk INT(11) )
- RETURNS TINYINT(1)
- {$sqlFunBody}
- ");
- }
- }
- } catch (Exception $e) {
- UI::alert('danger', "Error #" . $e->getCode() . "|" . $e->getLine() . ": " . $e->getMessage());
- DBG::log($e);
- }
- UI::endContainer();
- UI::dol();
- }
- }
|