function storeDatabaseValue($name, $value, $triggers = true) { global $_CB_framework, $_PLUGINS; if ($this->id && isset($this->{$name})) { $ui = $_CB_framework->getUi(); $user = new moscomprofilerUser($this->_db); $oldUserComplete = new moscomprofilerUser($this->_db); foreach (array_keys(get_object_vars($this)) as $k) { if (substr($k, 0, 1) != '_') { $user->{$k} = $this->{$k}; $oldUserComplete->{$k} = $this->{$k}; } } if ($name != 'password') { $user->password = null; } // In case of Password, save cleartext value for the onAfter event: $currentvalue = $user->{$name}; if ($triggers) { if ($ui == 1) { $_PLUGINS->trigger('onBeforeUserUpdate', array(&$user, &$user, &$oldUserComplete, &$oldUserComplete)); } elseif ($ui == 2) { $_PLUGINS->trigger('onBeforeUpdateUser', array(&$user, &$user, &$oldUserComplete)); } } // In case of Password, hashed value: $user->{$name} = $value; $return = $user->store(); if ($name == 'password') { // In case of Password, cleartext value for the onAfter event: $user->{$name} = $currentvalue; } if ($triggers) { if ($return) { if ($ui == 1) { $_PLUGINS->trigger('onAfterUserUpdate', array(&$user, &$user, $oldUserComplete)); } elseif ($ui == 2) { $_PLUGINS->trigger('onAfterUpdateUser', array(&$user, &$user, $oldUserComplete)); } } } // Check if error is present in temporary user object: $error = $user->getError(); if ($error) { // Pass error to current user object so can be output properly: $this->_error = $error; } unset($user, $oldUserComplete); return $return; } return false; }
function userSave( $option, $uid ) { global $_CB_framework, $_CB_database, $_POST, $_PLUGINS; // simple spoof check security cbSpoofCheck( 'userEdit' ); // check rights to access: if ( $uid == null ) { echo _UE_USER_PROFILE_NOT; return; } $msg = cbCheckIfUserCanPerformUserTask( $uid, 'allowModeratorsUserEdit' ); if ( $msg ) { echo $msg; return; } $_PLUGINS->loadPluginGroup('user'); // Get current user state: $userComplete = new moscomprofilerUser( $_CB_database ); if ( ! $userComplete->load( (int) $uid ) ) { echo _UE_USER_PROFILE_NOT; return; } // Update lastupdatedate of profile by user: if ( $_CB_framework->myId() == $uid ) { $userComplete->lastupdatedate = $_CB_framework->dateDbOfNow(); } // Store new user state: $saveResult = $userComplete->saveSafely( $_POST, $_CB_framework->getUi(), 'edit' ); if ( ! $saveResult ) { $regErrorMSG = $userComplete->getError(); echo "<script type=\"text/javascript\">alert('" . str_replace( '\\\\n', '\\n', addslashes( strip_tags( str_replace( '<br />', '\n', $regErrorMSG ) ) ) ) . "'); </script>\n"; // userEdit( $option, $uid, _UE_UPDATE, $userComplete->getError() ); HTML_comprofiler::userEdit( $userComplete, $option, _UE_UPDATE, $regErrorMSG ); return; } cbRedirectToProfile( $uid, _USER_DETAILS_SAVE ); }
function saveUser( $option ) { global $_CB_framework, $_CB_database, $_POST, $_PLUGINS; $this->_importNeeded(); $this->_importNeededSave(); if ( ! ( isset( $_POST['approved'] ) && isset( $_POST['confirmed'] ) && isset( $_POST['username'] ) ) ) { echo "<script type=\"text/javascript\"> alert('" . addslashes( CBTxt::T('Not Authorized') ) ."'); window.history.go(-1);</script>\n"; exit; } // Check rights to access: $myGid = userGID( $_CB_framework->myId() ); $userIdPosted = (int) cbGetParam($_POST, "id", 0 ); if ( $userIdPosted == 0 ) { $_POST['id'] = null; } $adminGroups = $_CB_framework->acl->mapGroupNamesToValues( array( 'Administrator', 'Superadministrator' ) ); if ( $userIdPosted != 0 ) { $msg = checkCBpermissions( array( $userIdPosted ), 'save', in_array( $myGid, $adminGroups ) ); } else { $msg = checkCBpermissions( null, 'save', in_array( $myGid, $adminGroups ) ); } if ($msg) { echo "<script type=\"text/javascript\"> alert('" . addslashes( $msg ) . "'); window.history.go(-1);</script>\n"; exit; } $_PLUGINS->loadPluginGroup('user'); // Get current user state: $userComplete = new moscomprofilerUser( $_CB_database ); if ( $userIdPosted != 0 ) { if ( ! $userComplete->load( (int) $userIdPosted ) ) { echo "<script type=\"text/javascript\"> alert('" . addslashes( _UE_USER_PROFILE_NOT ) . "'); window.history.go(-1);</script>\n"; return; } } // Store new user state: $saveResult = $userComplete->saveSafely( $_POST, $_CB_framework->getUi(), 'edit' ); if ( ! $saveResult ) { $regErrorMSG = $userComplete->getError(); $msg = checkCBpermissions( array( $userComplete->id ), "edit", true ); if ($msg) { echo "<script type=\"text/javascript\"> alert('" . addslashes( $msg ) ."'); window.history.go(-1);</script>\n"; exit; } echo "<script type=\"text/javascript\">alert('" . str_replace( '\\\\n', '\\n', addslashes( strip_tags( str_replace( '<br />', '\\n', $regErrorMSG ) ) ) ) . "'); </script>\n"; global $_CB_Backend_task; $_CB_Backend_task = 'edit'; // so the toolbar comes up... $_PLUGINS->loadPluginGroup( 'user' ); // resets plugin errors $usersView = _CBloadView( 'user' ); $usersView->edituser( $userComplete, $option, ( $userComplete->user_id != null ? '0' : '1' ), $_POST ); // echo "<script type=\"text/javascript\">alert('" . addslashes( str_replace( '<br />', '\n', $userComplete->getError() ) ) . "'); window.history.go(-1);</script>\n"; return; } // Checks-in the row: $userComplete->checkin(); cbRedirect( $_CB_framework->backendUrl( "index.php?option=$option&task=showusers" ), sprintf(CBTxt::T('Successfully Saved User: %s'), $userComplete->username) ); }