Example #1
0
        $content .= Display::return_message(get_lang('OpenIDCouldNotBeFoundPleaseRegister'));
    }
}
// Terms and conditions
if (api_get_setting('registration.allow_terms_conditions') == 'true') {
    $language = api_get_interface_language();
    $language = api_get_language_id($language);
    $term_preview = LegalManager::get_last_condition($language);
    if (!$term_preview) {
        //we load from the platform
        $language = api_get_setting('language.platform_language');
        $language = api_get_language_id($language);
        $term_preview = LegalManager::get_last_condition($language);
        //if is false we load from english
        if (!$term_preview) {
            $language = api_get_language_id('english');
            //this must work
            $term_preview = LegalManager::get_last_condition($language);
        }
    }
    // Version and language
    $form->addElement('hidden', 'legal_accept_type', $term_preview['version'] . ':' . $term_preview['language_id']);
    $form->addElement('hidden', 'legal_info', $term_preview['legal_id'] . ':' . $term_preview['language_id']);
    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 {
        $preview = LegalManager::show_last_condition($term_preview);
        $form->addElement('label', null, $preview);
    }
}
Example #2
0
 /**
  * Loads the translation files inside a plugin if exists.
  * It loads by default english see the hello world plugin
  *
  * @param string $plugin_name
  *
  * @todo add caching
  */
 public function load_plugin_lang_variables($plugin_name)
 {
     global $language_interface;
     $root = api_get_path(SYS_PLUGIN_PATH);
     $strings = null;
     // 1. Loading english if exists
     $english_path = $root . $plugin_name . "/lang/english.php";
     if (is_readable($english_path)) {
         include $english_path;
         foreach ($strings as $key => $string) {
             $GLOBALS[$key] = $string;
         }
     }
     // 2. Loading the system language
     if ($language_interface != 'english') {
         $path = $root . $plugin_name . "/lang/{$language_interface}.php";
         if (is_readable($path)) {
             include $path;
             if (!empty($strings)) {
                 foreach ($strings as $key => $string) {
                     $GLOBALS[$key] = $string;
                 }
             }
         } else {
             $interfaceLanguageId = api_get_language_id($language_interface);
             $interfaceLanguageInfo = api_get_language_info($interfaceLanguageId);
             $languageParentId = intval($interfaceLanguageInfo['parent_id']);
             if ($languageParentId > 0) {
                 $languageParentInfo = api_get_language_info($languageParentId);
                 $languageParentFolder = $languageParentInfo['dokeos_folder'];
                 $parentPath = "{$root}{$plugin_name}/lang/{$languageParentFolder}.php";
                 if (is_readable($parentPath)) {
                     include $parentPath;
                     if (!empty($strings)) {
                         foreach ($strings as $key => $string) {
                             $this->strings[$key] = $string;
                         }
                     }
                 }
             }
         }
     }
 }
Example #3
0
 /**
  * Save the new message for one event and for one language
  *
  * @param string $eventName
  * @param array $users
  * @param string $message
  * @param string $subject
  * @param string $eventMessageLanguage
  * @param int $activated
  */
 public static function save_event_type_message($event_name, $users, $message, $subject, $event_message_language, $activated)
 {
     $event_name = Database::escape_string($event_name);
     $activated = intval($activated);
     $event_message_language = Database::escape_string($event_message_language);
     // Deletes then re-adds the users linked to the event
     $sql = 'DELETE FROM ' . Database::get_main_table(TABLE_EVENT_TYPE_REL_USER) . ' WHERE event_type_name = "' . $event_name . '"	';
     Database::query($sql);
     foreach ($users as $user) {
         $sql = 'INSERT INTO ' . Database::get_main_table(TABLE_EVENT_TYPE_REL_USER) . ' (user_id,event_type_name)
                 VALUES(' . intval($user) . ',"' . $event_name . '")';
         Database::query($sql);
     }
     $language_id = api_get_language_id($event_message_language);
     // check if this template in this language already exists or not
     $sql = 'SELECT COUNT(id) as total FROM ' . Database::get_main_table(TABLE_EVENT_EMAIL_TEMPLATE) . '
             WHERE event_type_name = "' . $event_name . '" AND language_id = ' . $language_id;
     $sql = Database::store_result(Database::query($sql), 'ASSOC');
     // if already exists, we update
     if ($sql[0]["total"] > 0) {
         $sql = 'UPDATE ' . Database::get_main_table(TABLE_EVENT_EMAIL_TEMPLATE) . '
             SET message = "' . Database::escape_string($message) . '",
             subject = "' . Database::escape_string($subject) . '",
             activated = ' . $activated . '
             WHERE event_type_name = "' . $event_name . '" AND language_id = (SELECT id FROM ' . Database::get_main_table(TABLE_MAIN_LANGUAGE) . '
                 WHERE dokeos_folder = "' . $event_message_language . '")';
         Database::query($sql);
     } else {
         // else we create a new record
         // gets the language_-_id
         $lang_id = '(SELECT id FROM ' . Database::get_main_table(TABLE_MAIN_LANGUAGE) . '
                     WHERE dokeos_folder = "' . $event_message_language . '")';
         $lang_id = Database::store_result(Database::query($lang_id), 'ASSOC');
         if (!empty($lang_id[0]["id"])) {
             $sql = 'INSERT INTO ' . Database::get_main_table(TABLE_EVENT_EMAIL_TEMPLATE) . ' (event_type_name, language_id, message, subject, activated)
                 VALUES("' . $event_name . '", ' . $lang_id[0]["id"] . ', "' . Database::escape_string($message) . '", "' . Database::escape_string($subject) . '", ' . $activated . ')';
             Database::query($sql);
         }
     }
     // set activated at every save
     $sql = 'UPDATE ' . Database::get_main_table(TABLE_EVENT_EMAIL_TEMPLATE) . '
                 SET activated = ' . $activated . '
                 WHERE event_type_name = "' . $event_name . '"';
     Database::query($sql);
 }
/**
 * Gets the current interface language.
 * @param bool $purified (optional)	When it is true, a purified (refined)
 * language value will be returned, for example 'french' instead of 'french_unicode'.
 * @return string					The current language of the interface.
 */
function api_get_interface_language($purified = false, $check_sub_language = false)
{
    global $language_interface;
    if (empty($language_interface)) {
        return 'english';
    }
    if ($check_sub_language) {
        static $parent_language_name = null;
        if (!isset($parent_language_name)) {
            // 2. The current language is a sub language so we grab the father's
            // setting according to the internalization_database/name_order_convetions.php file
            $language_id = api_get_language_id($language_interface);
            $language_info = api_get_language_info($language_id);
            if (!empty($language_id) && !empty($language_info)) {
                if (!empty($language_info['parent_id'])) {
                    $language_info = api_get_language_info($language_info['parent_id']);
                    $parent_language_name = $language_info['english_name'];
                    if (!empty($parent_language_name)) {
                        return $parent_language_name;
                    }
                }
                return $language_info['english_name'];
            }
            return 'english';
        } else {
            return $parent_language_name;
        }
    } else {
        // 2. Normal way
        $interface_language = $purified ? api_purify_language_id($language_interface) : $language_interface;
    }
    return $interface_language;
}
Example #5
0
                Security::clear_token();
                $tok = Security::get_token();
                header('Location: legal_list.php?action=show_message&message=' . urlencode($message) . '&sec_token=' . $tok);
                exit;
            } elseif ($submit == 'preview') {
                $defaults['type'] = $type;
                $defaults['content'] = $content;
                $defaults['changes'] = $changes;
                $term_preview = $defaults;
                $term_preview['type'] = intval($_POST['type']);
            } else {
                $my_lang = $_POST['language'];
                if (isset($_POST['language'])) {
                    $all_langs = api_get_languages();
                    if (in_array($my_lang, $all_langs['folder'])) {
                        $language = api_get_language_id($my_lang);
                        $term_preview = LegalManager::get_last_condition($language);
                        $defaults = $term_preview;
                        if (!$term_preview) {
                            // there are not terms and conditions
                            $term_preview['type'] = -1;
                            $defaults['type'] = 0;
                        }
                    }
                }
            }
        }
    }
}
$form->setDefaults($defaults);
if (isset($_POST['send'])) {
Example #6
0
 /**
  * Hook for the get_lang() function to check for plugin-defined language terms
  * @param string $name of the language variable we are looking for
  *
  * @return string The translated language term of the plugin
  */
 public function get_lang($name)
 {
     // Check whether the language strings for the plugin have already been
     // loaded. If so, no need to load them again.
     if (is_null($this->strings)) {
         global $language_interface;
         $root = api_get_path(SYS_PLUGIN_PATH);
         $plugin_name = $this->get_name();
         $interfaceLanguageId = api_get_language_id($language_interface);
         $interfaceLanguageInfo = api_get_language_info($interfaceLanguageId);
         $languageParentId = !empty($interfaceLanguageInfo['parent_id']) ? intval($interfaceLanguageInfo['parent_id']) : 0;
         //1. Loading english if exists
         $english_path = $root . $plugin_name . "/lang/english.php";
         if (is_readable($english_path)) {
             $strings = array();
             include $english_path;
             $this->strings = $strings;
         }
         $path = $root . $plugin_name . "/lang/{$language_interface}.php";
         //2. Loading the system language
         if (is_readable($path)) {
             include $path;
             if (!empty($strings)) {
                 foreach ($strings as $key => $string) {
                     $this->strings[$key] = $string;
                 }
             }
         } elseif ($languageParentId > 0) {
             $languageParentInfo = api_get_language_info($languageParentId);
             $languageParentFolder = $languageParentInfo['dokeos_folder'];
             $parentPath = "{$root}{$plugin_name}/lang/{$languageParentFolder}.php";
             if (is_readable($parentPath)) {
                 include $parentPath;
                 if (!empty($strings)) {
                     foreach ($strings as $key => $string) {
                         $this->strings[$key] = $string;
                     }
                 }
             }
         }
     }
     if (isset($this->strings[$name])) {
         return $this->strings[$name];
     }
     return get_lang($name);
 }
Example #7
0
// Terms and conditions
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);

    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) {
            $language = api_get_language_id('english'); //this must work
            $term_preview = LegalManager::get_last_condition($language);
        }
    }

    // Version and language
    $form->addElement('hidden', 'legal_accept_type', $term_preview['version'] . ':' . $term_preview['language_id']);
    $form->addElement('hidden', 'legal_info', $term_preview['legal_id'] . ':' . $term_preview['language_id']);

    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 {
        $preview = LegalManager::show_last_condition($term_preview);
        $form->addElement('label', null, $preview);
    }