Example #1
0
 /** 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;
             }
         }
     }
 }
Example #2
0
 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();
     }
 }
Example #3
0
//    (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);
}
Example #4
0
 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;
 }
Example #5
0
 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");
     }
 }