aboutsummaryrefslogtreecommitdiff
path: root/views
diff options
context:
space:
mode:
Diffstat (limited to 'views')
-rw-r--r--views/default/js/initialise_elgg.php93
-rw-r--r--views/default/js/languages.php9
-rw-r--r--views/default/js/languages/en.php2
-rw-r--r--views/default/page_elements/html_begin.php2
-rw-r--r--views/default/page_elements/html_begin_admin.php2
-rw-r--r--views/default/scripts/initialize_elgg.php45
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; ?>&amp;js=initialise_elgg&amp;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; ?>&amp;js=initialise_elgg&amp;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