Go to the documentation of this file.00001 <?php
00002
00008 class User_Extend extends oxAdminDetails
00009 {
00016 public function render()
00017 {
00018 parent::render();
00019
00020 $soxId = oxConfig::getParameter( "oxid" );
00021 if ( $soxId != "-1" && isset( $soxId ) ) {
00022
00023 $oUser = oxNew( "oxuser" );
00024 $oUser->load( $soxId );
00025
00026
00027 $oCountry = oxNew( "oxCountry" );
00028 $oCountry->loadInLang( oxLang::getInstance()->getObjectTplLanguage(), $oUser->oxuser__oxcountryid->value );
00029 $oUser->oxuser__oxcountry = new oxField( $oCountry->oxcountry__oxtitle->value);
00030
00031 $this->_aViewData["edit"] = $oUser;
00032 }
00033
00034 if ( !$this->_allowAdminEdit( $soxId ) ) {
00035 $this->_aViewData['readonly'] = true;
00036 }
00037
00038 return "user_extend.tpl";
00039 }
00040
00046 public function save()
00047 {
00048
00049 $soxId = oxConfig::getParameter( "oxid" );
00050
00051 if ( !$this->_allowAdminEdit( $soxId ) )
00052 return false;
00053
00054 $aParams = oxConfig::getParameter( "editval" );
00055
00056 $oUser = oxNew( "oxuser" );
00057 if ( $soxId != "-1" ) {
00058 $oUser->load( $soxId );
00059 } else {
00060 $aParams['oxuser__oxid'] = null;
00061 }
00062
00063
00064 $aParams['oxuser__oxactive'] = $oUser->oxuser__oxactive->value;
00065
00066 $blNewsParams = oxConfig::getParameter( "editnews" );
00067 if ( isset( $blNewsParams ) ) {
00068 $oNewsSubscription = $oUser->getNewsSubscription();
00069 $oNewsSubscription->setOptInStatus( (int) $blNewsParams );
00070 $oNewsSubscription->setOptInEmailStatus( (int) oxConfig::getParameter( "emailfailed" ) );
00071 }
00072
00073 $oUser->assign( $aParams );
00074 $oUser->save();
00075
00076
00077 if ( $soxId == "-1" ) {
00078 oxSession::setVar( "saved_oxid", $oUser->getId() );
00079 }
00080 }
00081 }