/** * Updates the member profile, saving the changes to the database * * @param $uid * @param $uname * @param $login_name * @param $name * @param $url * @param $email * @param $user_icq * @param $user_aim * @param $user_yim * @param $user_msnm * @param $user_from * @param $user_occ * @param $user_intrest * @param $user_viewemail * @param $user_avatar * @param $user_sig * @param $attachsig * @param $theme * @param $pass * @param $pass2 * @param $rank * @param $bio * @param $uorder * @param $umode * @param $notify_method * @param $notify_mode * @param $timezone_offset * @param $user_mailok * @param $language * @param $openid * @param $user_viewoid * @param $pass_expired * @param $groups */ function updateUser($uid, $uname, $login_name, $name, $url, $email, $user_icq, $user_aim, $user_yim, $user_msnm, $user_from, $user_occ, $user_intrest, $user_viewemail, $user_avatar, $user_sig, $attachsig, $theme, $pass, $pass2, $rank, $bio, $uorder, $umode, $notify_method, $notify_mode, $timezone_offset, $user_mailok, $language, $openid, $user_viewoid, $pass_expired, $groups = array() ) { global $icmsConfig, $icmsModule, $icmsConfigUser; $member_handler = icms::handler('icms_member'); $edituser =& $member_handler->getUser($uid); if ($edituser->getVar('uname') != $uname && $member_handler->getUserCount(new icms_db_criteria_Item('uname', $uname)) > 0 || $edituser->getVar('login_name') != $login_name && $member_handler->getUserCount(new icms_db_criteria_Item('login_name', $login_name)) > 0) { icms_cp_header(); echo '<div class="CPbigTitle" style="background-image: url(' . ICMS_MODULES_URL . '/system/admin/users/images/users_big.png)">' . _MD_AM_USER . '</div><br />'; echo _AM_UNAME . ' ' . $uname . ' ' . _AM_ALREADY_EXISTS; icms_cp_footer(); } else { $edituser->setVar('name', $name); $edituser->setVar('uname', $uname); $edituser->setVar('login_name', $login_name); $edituser->setVar('email', $email); $edituser->setVar('openid', $openid); $user_viewoid = (isset($user_viewoid) && $user_viewoid == 1) ? 1 : 0; $edituser->setVar('user_viewoid', $user_viewoid); $url = isset($url) ? formatURL($url) : ''; $edituser->setVar('url', $url); $edituser->setVar('user_icq', $user_icq); $edituser->setVar('user_from', $user_from); if ($icmsConfigUser['allow_htsig'] == 0) { $signature = strip_tags(icms_core_DataFilter::codeDecode($user_sig, 1)); $edituser->setVar('user_sig', icms_core_DataFilter::icms_substr($signature, 0, (int) $icmsConfigUser['sig_max_length'])); } else { $signature = icms_core_DataFilter::checkVar($user_sig, 'html', 'input'); $edituser->setVar('user_sig', $signature); } $user_viewemail = (isset($user_viewemail) && $user_viewemail == 1) ? 1 : 0; $edituser->setVar('user_viewemail', $user_viewemail); $edituser->setVar('user_aim', $user_aim); $edituser->setVar('user_yim', $user_yim); $edituser->setVar('user_msnm', $user_msnm); $attachsig = (isset($attachsig) && $attachsig == 1) ? 1 : 0; $edituser->setVar('attachsig', $attachsig); $edituser->setVar('timezone_offset', $timezone_offset); $edituser->setVar('uorder', $uorder); $edituser->setVar('umode', $umode); $edituser->setVar('notify_method', $notify_method); $edituser->setVar('notify_mode', $notify_mode); $edituser->setVar('bio', $bio); $edituser->setVar('rank', $rank); $edituser->setVar('user_occ', $user_occ); $edituser->setVar('user_intrest', $user_intrest); $edituser->setVar('user_mailok', $user_mailok); $edituser->setVar('language', $language); if ($pass2 != '') { if ($pass != $pass2) { icms_cp_header(); echo "<strong>" . _AM_STNPDNM . "</strong>"; icms_cp_footer(); exit(); } $icmspass = new icms_core_Password(); $edituser->setVar('pass_expired', $pass_expired); $pass = $icmspass->encryptPass($pass); $edituser->setVar('pass', $pass); } if (!$member_handler->insertUser($edituser)) { icms_cp_header(); echo $edituser->getHtmlErrors(); icms_cp_footer(); } else { if ($groups != array()) { $oldgroups = $edituser->getGroups(); //If the edited user is the current user and the current user WAS in the webmaster's group and is NOT in the new groups array if ($edituser->getVar('uid') == icms::$user->getVar('uid') && (in_array(XOOPS_GROUP_ADMIN, $oldgroups)) && !(in_array(XOOPS_GROUP_ADMIN, $groups))) { //Add the webmaster's group to the groups array to prevent accidentally removing oneself from the webmaster's group $groups[] = XOOPS_GROUP_ADMIN; } $member_handler = icms::handler('icms_member'); foreach ($oldgroups as $groupid) { $member_handler->removeUsersFromGroup($groupid, array($edituser->getVar('uid'))); } foreach ( $groups as $groupid) {$member_handler->addUserToGroup($groupid, $edituser->getVar('uid')); } } redirect_header('admin.php?fct=users', 1, _AM_DBUPDATED); } } exit(); }
/** * @deprecated Use displayTarea, instead * @todo Remove in version 1.4 - there are no other occurrences in the core * Enter description here ... * @param $text * @param $allowhtml * @param $smiley * @param $bbcode */ function sanitizeForPreview($text, $allowhtml = 0, $smiley = 1, $bbcode = 1) { icms_core_Debug::setDeprecated('icms_core_DataFilter->checkVar - type = text or html, options1 = input', sprintf(_CORE_REMOVE_IN_VERSION, '1.4')); $text = $this->oopsStripSlashesGPC($text); if ($allowhtml == 0) { $text = icms_core_DataFilter::htmlSpecialChars($text); } else { $text = icms_core_DataFilter::makeClickable($text); } if ($smiley == 1) { $text = icms_core_DataFilter::smiley($text); } if ($bbcode == 1) { $text = icms_core_DataFilter::codeDecode($text); } $text = icms_core_DataFilter::nl2Br($text); return $text; }