function doOperation(&$dbHandler, $argsObj, $operation) { $rights = implode("','", array_keys($argsObj->grant)); $op = new stdClass(); $op->role = new tlRole(); $op->role->rights = tlRight::getAll($dbHandler, "WHERE description IN ('{$rights}')"); $op->role->name = $argsObj->rolename; $op->role->description = $argsObj->notes; $op->role->dbID = $argsObj->roleid; $op->userFeedback = null; $op->template = 'rolesEdit.tpl'; $result = $op->role->writeToDB($dbHandler); if ($result >= tl::OK) { $auditCfg = null; switch ($operation) { case 'doCreate': $auditCfg['msg'] = "audit_role_created"; $auditCfg['activity'] = "CREATE"; break; case 'doUpdate': $auditCfg['msg'] = "audit_role_saved"; $auditCfg['activity'] = "SAVE"; break; } logAuditEvent(TLS($auditCfg['msg'], $argsObj->rolename), $auditCfg['activity'], $op->role->dbID, "roles"); $op->template = null; } else { $op->userFeedback = getRoleErrorMessage($result); } return $op; }