function sc_signup_userclass_subscribe() { global $pref, $e_userclass, $USERCLASS_SUBSCRIBE_START, $USERCLASS_SUBSCRIBE_END, $signupData; $ret = ""; if ($pref['signup_option_class']) { if (!is_object($e_userclass)) { require_once e_HANDLER . 'userclass_class.php'; $e_userclass = new user_class(); } $ucList = $e_userclass->get_editable_classes(); // List of classes which this user can edit $ret = ''; if (!$ucList) { return; } /* function show_signup_class($treename, $classnum, $current_value, $nest_level) { global $USERCLASS_SUBSCRIBE_ROW, $e_userclass, $tp; $tmp = explode(',',$current_value); $search = array('{USERCLASS_ID}', '{USERCLASS_NAME}', '{USERCLASS_DESCRIPTION}', '{USERCLASS_INDENT}', '{USERCLASS_CHECKED}'); $replace = array($classnum, $tp->toHTML($e_userclass->uc_get_classname($classnum), FALSE, 'defs'), $tp->toHTML($e_userclass->uc_get_classdescription($classnum), FALSE, 'defs'), " style='text-indent:".(1.2*$nest_level)."em'", ( in_array($classnum, $tmp) ? " checked='checked'" : '')); return str_replace($search, $replace, $USERCLASS_SUBSCRIBE_ROW); }*/ $ret = $USERCLASS_SUBSCRIBE_START; $ret .= $e_userclass->vetted_tree('class', array($this, 'show_signup_class'), varset($signupData['user_class'], ''), 'editable, no-excludes'); $ret .= $USERCLASS_SUBSCRIBE_END; return $ret; } }
$eufVals = $ue->userExtendedValidateAll($_POST['ue'], varset($_POST['hide'], TRUE)); // Validate the extended user fields $changedEUFData['data'] = validatorClass::findChanges($eufVals['data'], $udata, FALSE); } // 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; } } } }
function sc_userclasses($parm) { global $e_userclass; $tp = e107::getParser(); $pref = e107::getPref(); $ret = ""; if (ADMIN && $this->var['user_id'] != USERID) { return ""; } 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 (as array) $ret = ''; if (!count($ucList)) { return; } $is_checked = array(); foreach ($ucList as $cid) { if (check_class($cid, $this->var['user_class'])) { $is_checked[$cid] = $cid; } if (isset($_POST['class'])) { // $is_checked[$cid] = in_array($cid, $_POST['class']); } } $inclass = implode(',', $is_checked); // $ret = "<table style='width:95%;margin-left:0px'><tr><td class='defaulttext'>"; $ret .= $e_userclass->vetted_tree('class', array($e_userclass, checkbox_desc), $inclass, 'editable'); // $ret .= "</td></tr></table>\n"; return $ret; }