Julio Montoya 12 years ago
parent
commit
a6fba46702
3 changed files with 34 additions and 18 deletions
  1. 11 0
      main/admin/legal_list.php
  2. 12 9
      main/auth/inscription.php
  3. 11 9
      main/inc/lib/legal.lib.php

+ 11 - 0
main/admin/legal_list.php

@@ -24,6 +24,17 @@ if (isset ($_GET['action'])) {
 	Security::clear_token();
 }
 
+$legal_count = LegalManager::count();
+
+$languages = api_get_languages();
+$available_languages = count($languages['folder']);
+if ($legal_count != $available_languages) {
+    Display::display_warning_message(get_lang('YouShouldCreateTermAndConditionsForAllAvailableLanguages'));
+}
+
+//if ($legal_count < )
+
+
 $table = new SortableTable('conditions', 'count_mask', 'get_legal_data_mask',2);
 $table->set_additional_parameters($parameters);
 $table->set_header(0, get_lang('Version'), false, 'width="15px"');

+ 12 - 9
main/auth/inscription.php

@@ -236,14 +236,16 @@ if (!CustomPages::enabled()) {
     }
 
     // Forbidden to self-register
+    /*
     if (api_get_setting('allow_registration') == 'false') {
         api_not_allowed();
-    }
+    }*/
 
     //api_display_tool_title($tool_name);
     if (api_get_setting('allow_registration') == 'approval') {
         Display::display_normal_message(get_lang('YourAccountHasToBeApproved'));
     }
+    
     //if openid was not found
     if (!empty($_GET['openid_msg']) && $_GET['openid_msg'] == 'idnotfound') {
         Display::display_warning_message(get_lang('OpenIDCouldNotBeFoundPleaseRegister'));
@@ -254,15 +256,16 @@ if (!CustomPages::enabled()) {
 if (api_get_setting('allow_terms_conditions') == 'true') {
     $language = api_get_interface_language();
     $language = api_get_language_id($language);
-    $term_preview = LegalManager::get_last_condition($language);
+    $term_preview = LegalManager::get_last_condition($language);    
 
     if (!$term_preview) {
         //we load from the platform
         $language = api_get_setting('platformLanguage');
         $language = api_get_language_id($language);
         $term_preview = LegalManager::get_last_condition($language);
+        
         //if is false we load from english
-        if (!$term_preview){
+        if (!$term_preview) {
             $language = api_get_language_id('english'); //this must work
             $term_preview = LegalManager::get_last_condition($language);
         }
@@ -275,17 +278,16 @@ if (api_get_setting('allow_terms_conditions') == 'true') {
     if ($term_preview['type'] == 1) {
         $form->addElement('checkbox', 'legal_accept', null, get_lang('IHaveReadAndAgree').'&nbsp;<a href="inscription.php?legal" target="_blank">'.get_lang('TermsAndConditions').'</a>');
         $form->addRule('legal_accept',  get_lang('ThisFieldIsRequired'), 'required');
-    } else {
-        if (!empty($term_preview['content'])) {
-            $preview = LegalManager::show_last_condition($term_preview);
-            $form->addElement('label', get_lang('TermsAndConditions'), $preview);
-        }
+    } else {        
+        $preview = LegalManager::show_last_condition($term_preview);
+        $form->addElement('label', null, $preview);        
     }
 }
 
 $form->addElement('button', 'submit', get_lang('RegisterUser'));
 
 if ($form->validate()) {
+    
     $values = $form->exportValues();
     $values['username'] = api_substr($values['username'], 0, USERNAME_MAX_LENGTH); //make *sure* the login isn't too long
 
@@ -300,7 +302,7 @@ if ($form->validate()) {
     if (api_get_setting('login_is_email') == 'true') {
         $values['username'] = $values['email'];
     }
-
+    
     if ($user_already_registered_show_terms && api_get_setting('allow_terms_conditions') == 'true') {
         $user_id = $_SESSION['term_and_condition']['user_id'];
         $is_admin = UserManager::is_admin($user_id);
@@ -415,6 +417,7 @@ if ($form->validate()) {
     // Terms & Conditions
     if (api_get_setting('allow_terms_conditions') == 'true') {
         // update the terms & conditions
+        
         if (isset($values['legal_accept_type'])) {
             $cond_array = explode(':', $values['legal_accept_type']);
             if (!empty($cond_array[0]) && !empty($cond_array[1])) {

+ 11 - 9
main/inc/lib/legal.lib.php

@@ -122,7 +122,7 @@ class LegalManager {
 	 * @param array with type and content i.e array('type'=>'1', 'content'=>'hola');
 	 * @return string html preview
 	 */
-	public static function show_last_condition ($term_preview) {
+	public static function show_last_condition($term_preview) {
 		$preview = '';
 		switch ($term_preview['type']) {
 			/*// scroll box
@@ -148,13 +148,15 @@ class LegalManager {
 						</label>
 				</div>
 				</fieldset>';
-			break;*/
-			// html
+                break;*/
+            // HTML
 			case 0:
-				$preview = '<div class="legal-terms">		'.$term_preview['content'].'		</div>';
-				$preview .= '<br/>'.get_lang('ByClickingRegisterYouAgreeTermsAndConditions');
-			break;
-			// page link
+                if (!empty($term_preview['content'])) {
+                    $preview = '<div class="legal-terms">'.$term_preview['content'].'</div><br />';
+                }
+				$preview .= get_lang('ByClickingRegisterYouAgreeTermsAndConditions');
+                break;
+			// Page link
 			case 1:
 				$preview ='<fieldset>
 							 <legend>'.get_lang('TermsAndConditions').'</legend>';
@@ -166,9 +168,9 @@ class LegalManager {
 				</label>
 				</div>
 				</fieldset>';
-			break;
+                break;
 			default:
-			break;
+                break;
 		}
 		return 	$preview;
 	}