00001 <?php 00002 00007 class Register extends User 00008 { 00014 protected $_sThisTemplate = 'page/account/register.tpl'; 00015 00021 protected $_sSuccessTemplate = 'page/account/register_success.tpl'; 00022 00028 protected $_sConfirmTemplate = 'page/account/register_confirm.tpl'; 00029 00034 protected $_blIsOrderStep = false; 00035 00041 protected $_iViewIndexState = VIEW_INDEXSTATE_NOINDEXNOFOLLOW; 00042 00049 public function render() 00050 { 00051 parent::render(); 00052 00053 // checking registration status 00054 if ( $this->isEnabledPrivateSales() && $this->isConfirmed() ) { 00055 $sTemplate = $this->_sConfirmTemplate; 00056 } elseif ( $this->getRegistrationStatus() ) { 00057 $sTemplate = $this->_sSuccessTemplate; 00058 } else { 00059 $sTemplate = $this->_sThisTemplate; 00060 } 00061 00062 return $sTemplate; 00063 } 00064 00070 public function getRegistrationError() 00071 { 00072 return oxConfig::getParameter( 'newslettererror' ); 00073 } 00074 00080 public function getRegistrationStatus() 00081 { 00082 return oxConfig::getParameter( 'success' ); 00083 } 00084 00092 public function isFieldRequired( $sField ) 00093 { 00094 if ( $aMustFillFields = $this->getMustFillFields() ) { 00095 if ( isset( $aMustFillFields[$sField] ) ) { 00096 return true; 00097 } 00098 } 00099 00100 return false; 00101 } 00102 00110 public function confirmRegistration() 00111 { 00112 $oUser = oxNew( 'oxuser' ); 00113 if ( $oUser->loadUserByUpdateId( $this->getUpdateId() ) ) { 00114 00115 // resetting update key parameter 00116 $oUser->setUpdateKey( true ); 00117 00118 // saving .. 00119 $oUser->oxuser__oxactive = new oxField( 1 ); 00120 $oUser->save(); 00121 00122 // forcing user login 00123 oxSession::setVar( 'usr', $oUser->getId() ); 00124 00125 // redirecting to confirmation page 00126 return 'register?confirmstate=1'; 00127 } else { 00128 // confirmation failed 00129 oxRegistry::get("oxUtilsView")->addErrorToDisplay( 'REGISTER_ERRLINKEXPIRED', false, true ); 00130 00131 // redirecting to confirmation page 00132 return 'account'; 00133 } 00134 } 00135 00141 public function getUpdateId() 00142 { 00143 return oxConfig::getParameter( 'uid' ); 00144 } 00145 00151 public function isConfirmed() 00152 { 00153 return (bool) oxConfig::getParameter( "confirmstate" ); 00154 } 00155 00161 public function getBreadCrumb() 00162 { 00163 $aPaths = array(); 00164 $aPath = array(); 00165 00166 $aPath['title'] = oxRegistry::getLang()->translateString( 'REGISTER', oxRegistry::getLang()->getBaseLanguage(), false ); 00167 $aPath['link'] = $this->getLink(); 00168 $aPaths[] = $aPath; 00169 00170 return $aPaths; 00171 } 00172 00173 00174 }