// Determine whether we have an error $error = isset($allData['errors']) && count($allData['errors']) || isset($eufVals['errors']) && count($eufVals['errors']) || count($extraErrors); // Update Userclass - only if its the user changing their own data (admins can do it another way) if (isset($allData['data']['user_class'])) { unset($changedUserData['user_class']); // We always recalculate this if (FALSE === $adminEdit) { // Make sure admin can't edit another's user classes if (!is_object($e_userclass)) { $e_userclass = new user_class(); } $ucList = $e_userclass->get_editable_classes(USERCLASS_LIST, TRUE); // List of classes which this user can edit if (count($ucList)) { $nid = $e_userclass->mergeClassLists($udata['user_class'], $ucList, $allData['data']['user_class'], TRUE); $nid = $e_userclass->stripFixedClasses($nid); $nid = implode(',', $nid); // echo "Userclass data - new: {$nid}, old: {$udata['user_baseclasslist']}, editable: ".implode(',',$ucList).", entered: {$allData['data']['user_class']}<br />"; if ($nid != $udata['user_baseclasslist']) { if (US_DEBUG) { $admin_log->e_log_event(10, debug_backtrace(), "DEBUG", "Usersettings test", "Write back classes; old list: {$udata['user_class']}; new list: " . $nid, false, LOG_TO_ROLLING); } $changedUserData['user_class'] = $nid; } } } } // All key fields validated here // ----------------------------- // $inp - UID of user whose data is being changed (may not be the currently logged in user) if (!$error && count($changedUserData) || count($changedEUFData)) {