. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ ob_start(); $result = ['success' => true, 'errorMsg' => '']; if (!$installer->checkPermission()) { $result['success'] = false; $error = $installer->getLastPermissionError(); $urls = array_keys($error); $group = []; foreach ($error as $folder => $permission) { $group[implode('-', $permission)][] = $folder; } ksort($group); $instruction = ''; $instructionSU = ''; $changeOwner = true; foreach($group as $permission => $folders) { if ($permission == '0644-0755') { $folders = ''; } $instruction .= $systemHelper ->getPermissionCommands([$folders, ''], explode('-', $permission), false, null, $changeOwner) . "
"; $instructionSU .= $systemHelper ->getPermissionCommands([$folders, ''], explode('-', $permission), true, null, $changeOwner) . "
"; if ($changeOwner) { $changeOwner = false; } } $result['errorMsg'] = $langs['messages']['Permission denied to'] . ':
'.implode('
', $urls).'
'; $result['errorFixInstruction'] = str_replace( '"{C}"' , $instruction, $langs['messages']['permissionInstruction']) . "
" . str_replace( '{CSU}' , $instructionSU, $langs['messages']['operationNotPermitted']); } ob_clean(); echo json_encode($result);