/** init data for form, INTERNAL * this methods init the data for the form, for example groups */ function _initForm() { // agb text $context = $this->_environment->getCurrentContextItem(); $text_array = $context->getAGBTextArray(); $language = $context->getLanguage(); if ($language == 'user') { $language = getSelectedLanguage(); } if (!empty($text_array[mb_strtoupper($language, 'UTF-8')])) { $this->_agb_text = $this->_environment->getTextConverter()->cleanDataFromTextArea($text_array[mb_strtoupper($language, 'UTF-8')]); } else { foreach ($text_array as $key => $value) { if (!empty($value)) { $this->_agb_text = $this->_environment->getTextConverter()->cleanDataFromTextArea($text_array[mb_strtoupper($key, 'UTF-8')]); $this->_agb_text .= '<br/><br/><b>' . $this->_translator->getMessage('AGB_NO_AGS_FOUND_IN_SELECTED_LANGUAGE') . '</b>'; break; } } } }
function execute() { $success = false; $class_params = array(); $class_params['environment'] = $this->_environment; $form = $this->_class_factory->getClass(HOME_MEMBER2_FORM, $class_params); unset($class_params); // Load form data from postvars if (!empty($this->_post_vars)) { $form->setFormPost($this->_post_vars); } if (!empty($this->_get_vars)) { $form->setFormGet($this->_get_vars); } $form->prepareForm(); $form->loadValues(); // cancel if (!empty($this->_command) and isOption($this->_command, $this->_translator->getMessage('COMMON_CANCEL_BUTTON'))) { $this->_redirect_back(); } // Save item if (!empty($this->_command) and isOption($this->_command, $this->_translator->getMessage('ACCOUNT_GET_BUTTON'))) { $correct = $form->check(); if ($correct) { if (isset($this->_post_vars['auth_source']) and !empty($this->_post_vars['auth_source'])) { $auth_source = $this->_post_vars['auth_source']; } else { include_once 'functions/error_functions.php'; trigger_error('lost auth source', E_USER_ERROR); } $portal_item = $this->_environment->getCurrentPortalItem(); $auth_source_item = $portal_item->getAuthSource($auth_source); $redirect_to_login = true; // CAS if ($auth_source_item->getSourceType() == 'CAS') { $redirect_to_login = false; } elseif ($auth_source_item->getSourceType() == 'Typo3') { $redirect_to_login = false; } elseif ($auth_source_item->getSourceType() == 'Joomla') { $redirect_to_login = false; } elseif ($auth_source_item->getSourceType() == 'MYSQL') { $redirect_to_login = false; } elseif ($auth_source_item->getSourceType() == 'LDAP') { $redirect_to_login = false; } elseif ($auth_source_item->isCommSyDefault()) { $redirect_to_login = false; } if ($redirect_to_login) { // if someting is wrong $params = $this->_environment->getCurrentParameterArray(); unset($params['cs_modus']); redirect($this->_environment->getCurrentContextID(), 'home', 'index', $params); exit; } // Create new item $authentication = $this->_environment->getAuthenticationObject(); $new_account = $authentication->getNewItem(); $new_account->setUserID($this->_post_vars['user_id']); $new_account->setFirstname($this->_post_vars['firstname']); $new_account->setLastname($this->_post_vars['lastname']); $new_account->setLanguage($this->_post_vars['language']); $new_account->setEmail($this->_post_vars['email']); $new_account->setPortalID($this->_environment->getCurrentPortalID()); $new_account->setAuthSourceID($auth_source); $save_only_user = true; $authentication->save($new_account, $save_only_user); $portal_user = $authentication->getUserItem(); $error = $authentication->getErrorMessage(); if (empty($error)) { $success = true; $portal_item = $this->_environment->getCurrentPortalItem(); if ($this->_environment->getCurrentContextItem()->withAGB() and $this->_environment->getCurrentContextItem()->withAGBDatasecurity()) { if ($this->_post_vars['terms_of_use']) { $portal_user->setAGBAcceptance(); } } if ($portal_item->getConfigurationHideMailByDefault()) { // hide $portal_user->setDefaultMailNotVisible(); } else { $portal_user->setDefaultMailVisible(); } #if ( $portal_item->checkNewMembersAlways() # or $portal_item->checkNewMembersSometimes() # ) { # // portal: generate and save task # $task_manager = $environment->getTaskManager(); # $task_item = $task_manager->getNewItem(); # $task_item->setContextID($portal_item->getItemID()); # $task_item->getCreatorItem($portal_user); # $task_item->setTitle('TASK_USER_REQUEST'); # $task_item->setStatus('REQUEST'); # $task_item->setItem($portal_user); # $task_item->save(); #} // portal: send mail to moderators in different languages $user_list = $portal_item->getModeratorList(); $email_addresses = array(); $user_item = $user_list->getFirst(); $recipients = ''; $language = $portal_item->getLanguage(); while ($user_item) { $want_mail = $user_item->getAccountWantMail(); if (!empty($want_mail) and $want_mail == 'yes') { if ($language == 'user' and $user_item->getLanguage() != 'browser') { $email_addresses[$user_item->getLanguage()][] = $user_item->getEmail(); } elseif ($language == 'user' and $user_item->getLanguage() == 'browser') { $email_addresses[$this->_environment->getSelectedLanguage()][] = $user_item->getEmail(); } else { $email_addresses[$language][] = $user_item->getEmail(); } $recipients .= $user_item->getFullname() . LF; } $user_item = $user_list->getNext(); } $save_language = $this->_translator->getSelectedLanguage(); foreach ($email_addresses as $key => $value) { $this->_translator->setSelectedLanguage($key); if (count($value) > 0) { include_once 'classes/cs_mail.php'; $mail = new cs_mail(); $mail->set_to(implode(',', $value)); $server_item = $this->_environment->getServerItem(); $default_sender_address = $server_item->getDefaultSenderAddress(); if (!empty($default_sender_address)) { $mail->set_from_email($default_sender_address); } else { $mail->set_from_email('@'); } $mail->set_from_name($this->_translator->getMessage('SYSTEM_MAIL_MESSAGE', $portal_item->getTitle())); $mail->set_reply_to_name($portal_user->getFullname()); $mail->set_reply_to_email($portal_user->getEmail()); $mail->set_subject($this->_translator->getMessage('USER_GET_MAIL_SUBJECT', $portal_user->getFullname())); $body = $this->_translator->getMessage('MAIL_AUTO', $this->_translator->getDateInLang(getCurrentDateTimeInMySQL()), $this->_translator->getTimeInLang(getCurrentDateTimeInMySQL())); $body .= LF . LF; $temp_language = $portal_user->getLanguage(); if ($temp_language == 'browser') { $temp_language = $this->_environment->getSelectedLanguage(); } $body .= $this->_translator->getMessage('USER_GET_MAIL_BODY', $portal_user->getFullname(), $portal_user->getUserID(), $portal_user->getEmail(), $this->_translator->getLanguageLabelTranslated($temp_language)); unset($temp_language); $body .= LF . LF; # if ( !$portal_item->checkNewMembersNever() # or $portal_item->checkNewMembersSometimes() # ) { # $check_message = 'YES'; # } else { $check_message = 'NO'; # } switch ($check_message) { case 'YES': $body .= $this->_translator->getMessage('USER_GET_MAIL_STATUS_YES'); break; case 'NO': $body .= $this->_translator->getMessage('USER_GET_MAIL_STATUS_NO'); break; default: break; } $body .= LF . LF; if (!empty($_POST['explanation'])) { $body .= $this->_translator->getMessage('MAIL_COMMENT_BY', $portal_user->getFullname(), ''); $body .= LF . LF; } $body .= $this->_translator->getMessage('MAIL_SEND_TO', $recipients); $body .= LF; $body .= 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?cid=' . $portal_item->getItemID() . '&mod=account&fct=index' . '&selstatus=1'; $mail->set_message($body); $mail->send(); } } $this->_translator->setSelectedLanguage($save_language); // activate user #$login = false; #if ($portal_item->checkNewMembersNever()) { $portal_user->makeUser(); $portal_user->save(); $current_user = $portal_user; $this->_environment->setCurrentUserItem($current_user); #$this->setCurrentUser($this->_environment->getCurrentUserItem()); #$login = true; #} // send email to user if ($current_user->isUser()) { if (!$this->_environment->inPortal()) { // change translation context $this->_translator->setContext('portal'); $current_portal = $this->_environment->getCurrentPortalItem(); $this->_translator->setEmailTextArray($current_portal->getEmailTextArray()); $this->_translator->setSelectedLanguage($current_portal->getLanguage()); } $mod_text = ''; $mod_list = $portal_item->getContactModeratorList(); if (!$mod_list->isEmpty()) { $mod_item = $mod_list->getFirst(); $contact_moderator = $mod_item; while ($mod_item) { if (!empty($mod_text)) { $mod_text .= ',' . LF; } $mod_text .= $mod_item->getFullname(); $mod_text .= ' (' . $mod_item->getEmail() . ')'; $mod_item = $mod_list->getNext(); } } $language = getSelectedLanguage(); $this->_translator->setSelectedLanguage($language); include_once 'classes/cs_mail.php'; $mail = new cs_mail(); $mail->set_to($current_user->getEmail()); $mail->set_from_name($this->_translator->getMessage('SYSTEM_MAIL_MESSAGE', $portal_item->getTitle())); $server_item = $this->_environment->getServerItem(); $default_sender_address = $server_item->getDefaultSenderAddress(); if (!empty($default_sender_address)) { $mail->set_from_email($default_sender_address); } else { $user_manager = $this->_environment->getUserManager(); $root_user = $user_manager->getRootUser(); $root_mail_address = $root_user->getEmail(); if (!empty($root_mail_address)) { $mail->set_from_email($root_mail_address); } else { $mail->set_from_email('@'); } } if (!empty($contact_moderator)) { $mail->set_reply_to_email($contact_moderator->getEmail()); $mail->set_reply_to_name($contact_moderator->getFullname()); } $mail->set_subject($this->_translator->getMessage('MAIL_SUBJECT_USER_ACCOUNT_FREE', $portal_item->getTitle())); $body = $this->_translator->getMessage('MAIL_AUTO', $this->_translator->getDateInLang(getCurrentDateTimeInMySQL()), $this->_translator->getTimeInLang(getCurrentDateTimeInMySQL())); $body .= LF . LF; $body .= $this->_translator->getEmailMessage('MAIL_BODY_HELLO', $current_user->getFullname()); $body .= LF . LF; $body .= $this->_translator->getEmailMessage('MAIL_BODY_USER_STATUS_USER', $portal_user->getUserID(), $portal_item->getTitle()); $body .= LF . LF; if (empty($contact_moderator)) { $body .= $this->_translator->getMessage('SYSTEM_MAIL_REPLY_INFO') . LF; $body .= $mod_text; $body .= LF . LF; } else { $body .= $this->_translator->getEmailMessage('MAIL_BODY_CIAO', $contact_moderator->getFullname(), $portal_item->getTitle()); $body .= LF . LF; } $body .= 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?cid=' . $this->_environment->getCurrentContextID(); $mail->set_message($body); $mail->send(); if (!$this->_environment->inPortal()) { // change translation context back $current_context = $this->_environment->getCurrentContextItem(); if ($current_context->isProjectRoom()) { $this->_translator->setContext('project'); } else { $this->_translator->setContext('community'); } $this->_translator->setEmailTextArray($current_context->getEmailTextArray()); $this->_translator->setSelectedLanguage($current_context->getLanguage()); } } // login in user #if ($login) { $session = $this->_environment->getSessionItem(); #if ($session->issetValue('last_step')) { #$last_step = $session->getValue('last_step'); #$session->unsetValue('last_step'); #} $cookie = $session->getValue('cookie'); include_once 'classes/cs_session_item.php'; global $session; // for PHP5 and TBD !!!!!!!!!! $session = new cs_session_item(); $session->createSessionID($_POST['user_id']); if ($cookie == '1') { $session->setValue('cookie', 2); } else { $session->setValue('cookie', 0); } // save portal id in session to be sure, that user didn't // switch between portals $session->setValue('commsy_id', $this->_environment->getCurrentPortalID()); // auth_source if (empty($auth_source)) { $auth_source = $authentication->getAuthSourceItemID(); } $session->setValue('auth_source', $auth_source); $this->_environment->setSessionItem($session); } } } if (!$success) { return $this->_show_form($form); } else { $this->_redirect_back(); } }
// (at your option) any later version. // // CommSy is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You have received a copy of the GNU General Public License // along with CommSy. include_once('functions/language_functions.php'); $commsy = $environment->getCurrentContextItem(); $text_array = $commsy->getAGBTextArray(); break; $language = $commsy->getLanguage(); if ( $language == 'user' ) { $language = getSelectedLanguage(); } $text = $environment->getTextConverter()->cleanDataFromTextArea($text_array[mb_strtoupper($language, 'UTF-8')]); $params = array(); $params['environment'] = $environment; $params['with_modifying_actions'] = false; $text_view = $class_factory->getClass(TEXT_VIEW,$params); unset($params); $text_view->setText($text); if ( $environment->inPortal() ) { $page->addAGBView($text_view); $page->setShowAGBs(); } else { $page->add($text_view); }
public function registerUser($session_id, $context_id, $firstname, $lastname, $email, $identification, $password, $tou) { $xml = ""; $valid = true; $errorArray = array(); if ($this->_isSessionValid($session_id)) { $this->_environment->setCurrentContextID($context_id); $contextItem = $this->_environment->getCurrentContextItem(); $translator = $this->_environment->getTranslationObject(); // check email if (!isEmailValid($email)) { $valid = false; $errorArray['email'] = $translator->getMessage('USER_EMAIL_ERROR'); } // check tou if ($contextItem->withAGB() && $contextItem->withAGBDatasecurity()) { if (!$tou) { $valid = false; $errorArray['tou'] = $translator->getMessage('CONFIGURATION_AGB_ACCEPT_ERROR'); } } // get the commsy authentication source $authSourceList = $contextItem->getAuthSourceList(); if (isset($authSourceList) && !empty($authSourceList)) { $authSourceItem = $authSourceList->getFirst(); $found = false; while ($authSourceItem and !$found) { if ($authSourceItem->isCommSyDefault()) { $found = true; } else { $authSourceItem = $authSourceList->getNext(); } } } //$authSourceItem = $contextItem->getAuthDefault(); // check password security if ($authSourceItem->getPasswordLength() > 0) { if (mb_strlen($password) < $authSourceItem->getPasswordLength()) { $valid = false; $errorArray['password_length'] = $translator->getMessage('USER_NEW_PASSWORD_LENGTH_ERROR', $authSourceItem->getPasswordLength()); } } if ($authSourceItem->getPasswordSecureBigchar() == 1) { if (!preg_match('~[A-Z]+~u', $password)) { $valid = false; $errorArray['password_bigchar'] = $translator->getMessage('USER_NEW_PASSWORD_BIGCHAR_ERROR'); } } if ($authSourceItem->getPasswordSecureSpecialchar() == 1) { if (!preg_match('~[^a-zA-Z0-9]+~u', $password)) { $valid = false; $errorArray['password_specialchar'] = $translator->getMessage('USER_NEW_PASSWORD_SPECIALCHAR_ERROR'); } } if ($authSourceItem->getPasswordSecureNumber() == 1) { if (!preg_match('~[0-9]+~u', $password)) { $valid = false; $errorArray['password_number'] = $translator->getMessage('USER_NEW_PASSWORD_NUMBER_ERROR'); } } if ($authSourceItem->getPasswordSecureSmallchar() == 1) { if (!preg_match('~[a-z]+~u', $password)) { $valid = false; $errorArray['password_smallchar'] = $translator->getMessage('USER_NEW_PASSWORD_SMALLCHAR_ERROR'); } } // check for unique user id $authentication = $this->_environment->getAuthenticationObject(); if (!$authentication->is_free($identification, $authSourceItem->getItemId())) { $valid = false; $errorArray['user_id'] = $translator->getMessage('USER_USER_ID_ERROR', $identification); } else { if (withUmlaut($identification)) { $valid = false; $errorArray['user_id'] = $translator->getMessage('USER_USER_ID_ERROR_UMLAUT', $identification); } } if ($valid) { // create user $textConverter = $this->_environment->getTextConverter(); $firstname = $textConverter->sanitizeHTML($firstname); $lastname = $textConverter->sanitizeHTML($lastname); $newAccount = $authentication->getNewItem(); $newAccount->setUserID($identification); $newAccount->setPassword($password); $newAccount->setFirstname($firstname); $newAccount->setLastname($lastname); $newAccount->setLanguage("browser"); $newAccount->setEmail($email); $newAccount->setPortalID($context_id); $newAccount->setAuthSourceId($authSourceItem->getItemId()); $authentication->save($newAccount, false); if ($authentication->getErrorMessage() == "") { $portalUserItem = $authentication->getUserItem(); // tou if ($contextItem->withAGB() && $contextItem->withAGBDatasecurity()) { if ($tou) { $portalUserItem->setAGBAcceptance(); } } // password expiration if ($contextItem->isPasswordExpirationActive()) { $portalUser->setPasswordExpireDate($contextItem->getPasswordExpiration()); } // send mail to moderators $savedLanguage = $translator->getSelectedLanguage(); $moderatorList = $contextItem->getModeratorList(); $emailArray = array(); $moderatorItem = $moderatorList->getFirst(); $recipients = ""; $language = $contextItem->getLanguage(); while ($moderatorItem) { $wantMail = $moderatorItem->getAccountWantMail(); if (!empty($wantMail) && $wantMail == 'yes') { if ($language == "user" && $moderatorItem->getLanguage() != "browser") { $emailArray[$moderatorItem->getLanguage()][] = $moderatorItem->getEmail(); } else { if ($language == "user" && $moderatorItem->getLanguage() == "browser") { $emailArray[$language][] = $moderatorItem->getEmail(); } } $recipients .= $moderatorItem->getFullname() . LF; } $moderatorItem = $moderatorList->getNext(); } foreach ($emailArray as $language => $addresses) { $translator->setSelectedLanguage($language); if (sizeof($addresses) > 0) { include_once 'classees/cs_mail.php'; $mail = new cs_mail(); $mail->set_to(implode(',', $addresses)); $serverItem = $this->environment->getServerItem(); $defaultSenderAddress = $serverItem->getDefaultSenderAddress(); if (!empty($defaultSenderAddress)) { $mail->set_from_email($defaultSenderAddress); } else { $mail->set_from_mail('@'); } $mail->set_from_name($translator->getMessage("SYSTEM_MAIL_MESSAGE", $contextItem->getTitle())); $mail->set_reply_to_name($portalUser->getFullname()); $mail->set_reply_to_email($portalUser->getEmail()); $mail->set_subject($translator->getMessage("USER_GET_MAIL_SUBJECT", $portalUser->getFullname())); $body = $translator->getMessage("MAIL_AUTO", $translator->getDateInLang(getCurrentDateTimeInMySQL()), $translator->getTimeInLang(getCurrentDateTimeInMySQL())); $body .= LF . LF; $tempLanguage = $portalUser->getLanguage(); if ($tempLanguage == "browser") { $tempLanguage = $this->_environment->getSelectedLanguage(); } // data security if ($contextItem->getHideAccountname()) { $userId = "XXX " . $translator->getMessage("COMMON_DATASECURITY"); } else { $userId = $portalUser->getUserID(); } $body .= $translator->getMessage("USER_GET_MAIL_BODY", $portalUser->getFullname(), $userid, $portalUser->getEmail(), $translator->getLanguageLabelTranslated($tempLanguage)); $body .= LF . LF; $body .= $translator->getMessage("USER_GET_MAIL_STATUS_NO"); $body .= LF . LF; $body .= $translator->getMessage("MAIL_SEND_TO", $recipients); $body .= LF; $body .= "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["PHP_SELF"] . "?cid=" . $contextItem->getItemID() . "&mod=account&fct=index&selstatus=1"; $mail->set_message($body); $mail->send(); $translator->setSelectedLanguage($savedLanguage); // activate user $portalUser->makeUser(); $portalUser->save(); $this->_environment->setcurrentUserItem($portalUser); // send mail to user if ($portalUser->isUser()) { $modText = ""; $modList = $contextItem->getContactModeratorList(); if ($modList->isEmpty()) { $modItem = $modList->getFirst(); $contactModerator = $modItem; while ($modItem) { if (!empty($modText)) { $modText .= ',' . LF; } $modText .= $modItem->getFullname(); $modText .= " (" . $modItem->getEmail() . ")"; $modItem = $modList->getNext(); } } $language = getSelectedLanguage(); $translator->setSelectedLanguage($language); include_once "classes/cs_mail.php"; $mail = new cs_mail(); $mail->set_to($portalUser->getEmail()); $mail->set_from_name($translator->getMessage("SYSTEM_MAIL_MESSAGE", $contextItem->getTitle())); $serverItem = $this->_environment->getServerItem(); $defaultSenderAddress = $serverItem->getDefaultSenderAddress(); if (!empty($defaultSenderAddress)) { $mail->set_from_email($defaultSenderAddress); } else { $userManager = $this->_environment->getUserManager(); $rootUser = $userManager->getRootUser(); $rootMailAddress = $rootUser->getEmail(); if (!empty($rootMailAddress)) { $mail->set_from_email($rootMailAddress); } else { $mail->set_from_email('@'); } } if (!empty($contactModerator)) { $mail->set_reply_to_email($contactModerator->getEmail()); $mail->set_reply_to_name($contactModerator->getFullname()); } $mail->set_subject($translator->getMessage("MAIL_SUBJECT_USER_ACCOUNT_FREE", $contextItem->getTitle())); $body = $translator->getMessage("MAIL_AUTO", $translator->getDateInLang(getCurrentDateTimeInMySQL()), $translator->getTimeInLang(getCurrentDateTimeInMySQL())); $body .= LF . LF; $body .= $translator->getEmailMEssage("MAIL_BODY_HELLO", $portalUser->getFullname()); $body .= LF . LF; $body .= $translator->getEmailMessage("MAIL_BODY_USER_STATUS_USER", $portalUser->getUserID(), $contextItem->getTitle()); $body .= LF . LF; if (empty($contactModerator)) { $body .= $translator->getMessage("SYSTEM_MAIL_REPLY_INFO") . LF; $body .= $modText; $body .= LF . LF; } else { $body .= $translator->getEmailMessage("MAIL_BODY_CIAO", $contactModerator->getFullname(), $contextItem->getTitle()); $body .= LF . LF; } $body .= "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["PHP_SELF"] . "?cid=" . $this->_environment->getCurrentContextID(); $mail->set_message($body); $mail->send(); } } } } else { $errorArray['account'] = ''; } } if (sizeof($errorArray) > 0) { $xml = "<errors>\n"; foreach ($errorArray as $code => $description) { $xml .= "<" . $code . "><![CDATA[" . $description . "]]></" . $code . ">\n"; } $xml .= "</errors>"; } else { $xml = "<success></success>"; } $xml = $this->_encode_output($xml); } else { return new SoapFault('ERROR', 'Session (' . $session_id . ') not valid!'); } return $xml; }
public function actionIndex() { $current_user = $this->_environment->getCurrentUserItem(); $current_context = $this->_environment->getCurrentContextItem(); $portal_user = $this->_environment->getPortalUserItem(); // portal AGB - redirected in commy.php to portal context /* * $current_context = $environment->getCurrentContextItem(); if (!$current_context->isPortal() && !$current_context->isServer()) { $portal_user = $current_user->getRelatedCommSyUserItem(); if ( isset($portal_user) and $portal_user->isUser() and !$portal_user->isRoot() ) { $current_portal = $environment->getCurrentPortalItem(); $user_agb_date = $portal_user->getAGBAcceptanceDate(); $portal_agb_date = $current_portal->getAGBChangeDate(); if ( $user_agb_date < $portal_agb_date && $current_portal->getAGBStatus() == 1 ) { redirect($current_portal->getItemID(), "agb", "index"); } } } */ // check for agb $showAGB = false; if (($current_user->isUser() or $portal_user->isUser()) && !$current_user->isRoot()) { $user_agb_date = $current_user->getAGBAcceptanceDate(); $context_agb_date = $current_context->getAGBChangeDate(); if ($user_agb_date < $context_agb_date && $current_context->getAGBStatus() == 1) { $showAGB = true; } else { if ($portal_user->isUser() && $current_context->getAGBStatus() == 1) { $showAGB = true; } } } if ($showAGB) { if (empty($_POST)) { $currentContext = $this->_environment->getCurrentContextItem(); $textArray = $currentContext->getAGBTextArray(); $language = $currentContext->getLanguage(); if ($language == "user") { $language = getSelectedLanguage(); } if (!empty($textArray[mb_strtoupper($language, 'UTF-8')])) { //$text = $this->_environment->getTextConverter()->cleanDataFromTextArea($textArray[mb_strtoupper($language, 'UTF-8')]); $text = $textArray[mb_strtoupper($language, 'UTF-8')]; } else { foreach ($textArray as $key => $value) { if (!empty($value)) { //$text = $this->_environment->getTextConverter()->cleanDataFromTextArea($textArray[mb_strtoupper($key, 'UTF-8')]); $text = $textArray[mb_strtoupper($key, 'UTF-8')]; $translator = $this->_environment->getTranslationObject(); $text .= '<br/><br/><b>' . $translator->getMessage('AGB_NO_AGS_FOUND_IN_SELECTED_LANGUAGE') . '</b>'; } } } $this->assign("agb", "text", $text); } else { $postSubmitArray = array_values($_POST["submit"]); $command = $postSubmitArray[0]; $translator = $this->_environment->getTranslationObject(); $environment = $this->_environment; if (isOption($command, $translator->getMessage('AGB_ACCEPTANCE_BUTTON'))) { $current_user = $environment->getCurrentUserItem(); $current_user->setAGBAcceptance(); $current_user->save(); $session_item = $environment->getSessionItem(); $history = $session_item->getValue('history'); /* if ( !empty($history[0]['context']) and $history[0]['module'] != 'agb' ) { $params = $history[0]['parameter']; unset($params['cs_modus']); redirect($history[0]['context'],$history[0]['module'],$history[0]['function'],$params); } elseif ( !empty($history[1]['context']) ) { $params = $history[1]['parameter']; unset($params['cs_modus']); redirect($history[1]['context'],$history[1]['module'],$history[1]['function'],$params); } else { redirect($environment->getCurrentContextID(),'home','index',array()); }*/ redirect($environment->getCurrentContextID(), 'home', 'index', array()); exit; } elseif (isOption($command, $translator->getMessage('AGB_ACCEPTANCE_NOT_BUTTON')) or isOption($command, $translator->getMessage('AGB_ACCEPTANCE_NOT_BUTTON_ROOM')) or isOption($command, $translator->getMessage('AGB_ACCEPTANCE_NOT_BUTTON_PORTAL')) or isOption($command, $translator->getMessage('COMMON_CANCEL_BUTTON'))) { $session_item = $environment->getSessionItem(); $history = $session_item->getValue('history'); // zur Seite leiten if (!empty($history[0]['context']) and $history[0]['module'] != 'agb' and !isOption($command, $translator->getMessage('COMMON_CANCEL_BUTTON'))) { // Raum betreten $params = $history[0]['parameter']; unset($params['cs_modus']); redirect($history[0]['context'], $history[0]['module'], $history[0]['function'], $params); } elseif (!empty($history[1]['context']) and !isOption($command, $translator->getMessage('COMMON_CANCEL_BUTTON'))) { // zurück in vorigen Raum $params = $history[1]['parameter']; unset($params['cs_modus']); if ($history[1]['context'] == $environment->getCurrentContextID() and isOption($command, $translator->getMessage('COMMON_CANCEL_BUTTON'))) { redirect($environment->getCurrentPortalID(), 'home', 'index', array('room_id' => $environment->getCurrentContextID())); } else { redirect($history[1]['context'], $history[1]['module'], $history[1]['function'], $params); } } else { $session_manager = $environment->getSessionManager(); include_once 'pages/context_logout.php'; } exit; } } /* $this->setHeadline($this->_translator->getMessage('AGB_CHANGE_TITLE')); $this->_form->addText('agb_text','',$this->_agb_text); if ( !($this->_environment->getCurrentModule() == 'agb' and $this->_environment->getCurrentFunction() == 'index') ) { $this->_form->addEmptyLine(); if ( !$this->_environment->inPortal() ) { $this->_form->addButtonBar('option', $this->_translator->getMessage('AGB_ACCEPTANCE_BUTTON'), $this->_translator->getMessage('COMMON_CANCEL_BUTTON'), $this->_translator->getMessage('AGB_ACCEPTANCE_NOT_BUTTON_ROOM')); } else { if($this->_environment->getCurrentUserItem()->getCreationDate() > getCurrentDateTimeMinusMinutesInMySQL(1) ) { $this->_form->addHidden('is_no_user', '1'); $this->_form->addButtonBar('option', $this->_translator->getMessage('AGB_ACCEPTANCE_BUTTON'), $this->_translator->getMessage('COMMON_CANCEL_BUTTON')); } else { $this->_form->addButtonBar('option', $this->_translator->getMessage('AGB_ACCEPTANCE_BUTTON'), $this->_translator->getMessage('COMMON_CANCEL_BUTTON'), $this->_translator->getMessage('AGB_ACCEPTANCE_NOT_BUTTON_PORTAL')); } } }*/ } else { redirect($this->_environment->getCurrentContextID(), "home", "index"); } }