diff options
Diffstat (limited to 'views/default')
-rw-r--r-- | views/default/js/initialise_elgg.php | 93 | ||||
-rw-r--r-- | views/default/js/languages.php | 9 | ||||
-rw-r--r-- | views/default/js/languages/en.php | 2 | ||||
-rw-r--r-- | views/default/page_elements/html_begin.php | 2 | ||||
-rw-r--r-- | views/default/page_elements/html_begin_admin.php | 2 | ||||
-rw-r--r-- | views/default/scripts/initialize_elgg.php | 45 |
6 files changed, 108 insertions, 45 deletions
diff --git a/views/default/js/initialise_elgg.php b/views/default/js/initialise_elgg.php index 6b7a318e7..b6c3f7ecd 100644 --- a/views/default/js/initialise_elgg.php +++ b/views/default/js/initialise_elgg.php @@ -1,3 +1,50 @@ +<?php +/** + * Bootstrap Elgg javascript + */ +global $CONFIG; + +//Include library files +$lib_files = array( + //core + 'elgglib', + + //libraries + 'security', + 'languages', + 'ajax', + 'session', + + //ui + 'ui', + 'ui.widgets', +); + +foreach($lib_files as $file) { + include("{$CONFIG->path}engine/js/lib/$file.js"); +} + +//Include classes +$model_files = array( + 'ElggEntity', + + 'ElggUser', +); + +foreach($model_files as $file) { + include("{$CONFIG->path}engine/js/classes/$file.js"); +} + +/** + * Finally, set some values that are cacheable + */ +?> + +elgg.version = '<?php echo get_version(); ?>'; +elgg.release = '<?php echo get_version(true); ?>'; +elgg.config.wwwroot = '<?php echo elgg_get_site_url(); ?>'; +elgg.security.interval = 5 * 60 * 1000; <?php //TODO make this configurable ?> + $(document).ready(function () { // COLLAPSABLE WIDGETS (on Dashboard? & Profile pages) @@ -79,6 +126,8 @@ $(document).ready(function () { $(this).next(".likes_list").animate({opacity: "toggle", top: topPosition}, 500); } }); + + elgg_system_message(); }); /* end document ready function */ @@ -196,50 +245,6 @@ function widget_moreinfo() { }); }; -// COOKIES -jQuery.cookie = function(name, value, options) { - if (typeof value != 'undefined') { // name and value given, set cookie - options = options || {}; - if (value === null) { - value = ''; - options.expires = -1; - } - var expires = ''; - if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { - var date; - if (typeof options.expires == 'number') { - date = new Date(); - date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); - } else { - date = options.expires; - } - expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE - } - // CAUTION: Needed to parenthesize options.path and options.domain - // in the following expressions, otherwise they evaluate to undefined - // in the packed version for some reason. - var path = options.path ? '; path=' + (options.path) : ''; - var domain = options.domain ? '; domain=' + (options.domain) : ''; - var secure = options.secure ? '; secure' : ''; - document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); - - } else { // only name given, get cookie - var cookieValue = null; - if (document.cookie && document.cookie != '') { - var cookies = document.cookie.split(';'); - for (var i = 0; i < cookies.length; i++) { - var cookie = jQuery.trim(cookies[i]); - // Does this cookie string begin with the name we want? - if (cookie.substring(0, name.length + 1) == (name + '=')) { - cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); - break; - } - } - } - return cookieValue; - } -}; - // ELGG DROP DOWN MENU $.fn.elgg_dropdownmenu = function(options) { diff --git a/views/default/js/languages.php b/views/default/js/languages.php new file mode 100644 index 000000000..34367aaf1 --- /dev/null +++ b/views/default/js/languages.php @@ -0,0 +1,9 @@ +<?php
+/**
+ * @uses $vars['language']
+ */
+global $CONFIG;
+
+$language = $vars['language'];
+
+echo json_encode($CONFIG->translations[$language]);
\ No newline at end of file diff --git a/views/default/js/languages/en.php b/views/default/js/languages/en.php new file mode 100644 index 000000000..afcf4bb7f --- /dev/null +++ b/views/default/js/languages/en.php @@ -0,0 +1,2 @@ +<?php
+echo elgg_view('js/languages', array('language' => 'en'));
\ No newline at end of file diff --git a/views/default/page_elements/html_begin.php b/views/default/page_elements/html_begin.php index 37a9999f0..9b4e79268 100644 --- a/views/default/page_elements/html_begin.php +++ b/views/default/page_elements/html_begin.php @@ -56,8 +56,8 @@ $release = get_version(true); <script type="text/javascript" src="<?php echo elgg_get_site_url(); ?>_css/js.php?lastcache=<?php echo $vars['config']->lastcache; ?>&js=initialise_elgg&viewtype=<?php echo $vars['view']; ?>"></script> <?php + echo elgg_view('scripts/initialize_elgg'); echo $feedref; - ?> <?php diff --git a/views/default/page_elements/html_begin_admin.php b/views/default/page_elements/html_begin_admin.php index 34a70b60e..fcb61c25c 100644 --- a/views/default/page_elements/html_begin_admin.php +++ b/views/default/page_elements/html_begin_admin.php @@ -25,7 +25,9 @@ $release = get_version(true); <script type="text/javascript" src="<?php echo elgg_get_site_url(); ?>_css/js.php?lastcache=<?php echo $vars['config']->lastcache; ?>&js=initialise_elgg&viewtype=<?php echo $vars['view']; ?>"></script> <?php + echo elgg_view('scripts/initialize_elgg'); echo $feedref; + if (elgg_view_exists('metatags')) { echo elgg_view('metatags', $vars); } diff --git a/views/default/scripts/initialize_elgg.php b/views/default/scripts/initialize_elgg.php new file mode 100644 index 000000000..03d5adc5a --- /dev/null +++ b/views/default/scripts/initialize_elgg.php @@ -0,0 +1,45 @@ +<?php +/** + * + */ + +?> +<script type="text/javascript"> +/** + * Don't want to cache these -- they could change for every request + */ +elgg.config.lastcache = <?php echo (int)($vars['config']->lastcache); ?>; + +elgg.security.token.__elgg_ts = <?php echo $ts = time(); ?>; +elgg.security.token.__elgg_token = '<?php echo generate_action_token($ts); ?>'; + +<?php +$page_owner = elgg_get_page_owner(); + +if ($page_owner instanceof ElggEntity) { + $page_owner_json = array(); + foreach ($page_owner->getExportableValues() as $v) { + $page_owner_json[$v] = $page_owner->$v; + } + + $page_owner_json['subtype'] = $page_owner->getSubtype(); + $page_owner_json['url'] = $page_owner->getURL(); + + echo 'elgg.page_owner = '.json_encode($page_owner_json).';'; +} + +$user = get_loggedin_user(); + +if ($user instanceof ElggUser) { + $user_json = array(); + foreach ($user->getExportableValues() as $v) { + $user_json[$v] = $user->$v; + } + + $user_json['subtype'] = $user->getSubtype(); + $user_json['url'] = $user->getURL(); + + echo 'elgg.session.user = new elgg.ElggUser('.json_encode($user_json).');'; +} +?>; +</script>
\ No newline at end of file |