]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #2210 - using new functions for registering the core js and css files
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Thu, 4 Nov 2010 00:52:46 +0000 (00:52 +0000)
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Thu, 4 Nov 2010 00:52:46 +0000 (00:52 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@7233 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/lib/elgglib.php
engine/lib/views.php
views/default/friends/picker.php
views/default/page_elements/html_begin.php

index 7dd4852273fb3e19930263ee9b5cc25fd87eb26c..e65af1cbdf77f018333f4999e1f053cf039d2c5a 100644 (file)
@@ -150,6 +150,8 @@ function elgg_register_external_file($type, $url, $id, $location) {
                return false;
        }
 
+       $url = elgg_format_url($url);
+
        if (!isset($CONFIG->externals)) {
                $CONFIG->externals = array();
        }
index c70489117075ae712fd93fb66d1854fa73a7796b..9d10862eeed70513873f4cea6e06da9fd55c9ab6 100644 (file)
@@ -1345,6 +1345,22 @@ function elgg_is_valid_view_type($view_type) {
        return in_array($view_type, $CONFIG->view_types);
 }
 
+/**
+ * Add the core Elgg head elements that could be cached
+ */
+function elgg_views_register_core_head_elements() {
+       global $CONFIG;
+
+       $base = elgg_get_site_url();
+       $lastcache = $CONFIG->lastcache;
+       $viewtype = elgg_get_viewtype();
+
+       $url = "{$base}_css/js.php?lastcache=$lastcache&js=initialise_elgg&viewtype=$viewtype";
+       elgg_register_js($url, 'initialise_elgg');
+
+       $url = "{$base}_css/css.css?lastcache=$lastcache&viewtype=$viewtype";
+       elgg_register_css($url, 'elgg');
+}
 
 /**
  * Initialize viewtypes on system boot event
@@ -1361,6 +1377,13 @@ function elgg_views_boot() {
        elgg_view_register_simplecache('js/friendsPickerv1');
        elgg_view_register_simplecache('js/initialise_elgg');
 
+       $base = elgg_get_site_url();
+       elgg_register_js("{$base}vendors/jquery/jquery-1.4.2.min.js", 'jquery');
+       elgg_register_js("{$base}vendors/jquery/jquery-ui-1.7.2.min.js", 'jquery-ui');
+       elgg_register_js("{$base}vendors/jquery/jquery.form.js", 'jquery.form');
+
+       register_elgg_event_handler('pagesetup', 'system', 'elgg_views_register_core_head_elements');
+
        // discover the built-in view types
        // @todo cache this
        $view_path = $CONFIG->viewpath;
index 9e1d556f6c8292f3f55f6a45a0abd4daedbe1587..78c10e3949d66bc02c329f44e356e04c2acc2912 100644 (file)
@@ -9,9 +9,11 @@
  * @uses $vars['entities'] The array of ElggUser objects
  */
 
-// Let the system know that the friends picker is in use
-global $pickerinuse;
-$pickerinuse = true;
+$base = elgg_get_site_url();
+$viewtype = elgg_get_viewtype();
+elgg_register_js("{$base}vendors/jquery/jquery.easing.1.3.packed.js", 'jquery.easing');
+elgg_register_js("{$base}_css/js.php?lastcache={$vars['config']->lastcache}&js=friendsPickerv1&viewtype=$viewtype", 'friendsPicker');
+
 $chararray = elgg_echo('friendspicker:chararray');
 
 // Initialise internalname
@@ -22,8 +24,12 @@ if (!isset($vars['internalname'])) {
 }
 
 // Are we highlighting default or all?
-if (empty($vars['highlight'])) $vars['highlight'] = 'default';
-if ($vars['highlight'] != 'all') $vars['highlight'] = 'default';
+if (empty($vars['highlight'])) {
+       $vars['highlight'] = 'default';
+}
+if ($vars['highlight'] != 'all') {
+       $vars['highlight'] = 'default';
+}
 
 // Initialise values
 if (!isset($vars['value'])) {
@@ -45,7 +51,9 @@ if (isset($vars['callback'])) {
 // We need to count the number of friends pickers on the page.
 if (!isset($vars['friendspicker'])) {
        global $friendspicker;
-       if (!isset($friendspicker)) $friendspicker = 0;
+       if (!isset($friendspicker)) {
+               $friendspicker = 0;
+       }
        $friendspicker++;
 } else {
        $friendspicker = $vars['friendspicker'];
index 9b4e792683727367b0a47ea9cb9e97960c942868..ebd4c008a5a770f44824df986110e3f93a11f474 100644 (file)
@@ -35,6 +35,9 @@ END;
        $feedref = "";
 }
 
+$js = elgg_get_js('head');
+$css = elgg_get_css();
+
 // we won't trust server configuration but specify utf-8
 header('Content-type: text/html; charset=utf-8');
 
@@ -50,29 +53,19 @@ $release = get_version(true);
        <title><?php echo $title; ?></title>
        <link rel="SHORTCUT ICON" href="<?php echo elgg_get_site_url(); ?>_graphics/favicon.ico" />
 
-       <script type="text/javascript" src="<?php echo elgg_get_site_url(); ?>vendors/jquery/jquery-1.4.2.min.js"></script>
-       <script type="text/javascript" src="<?php echo elgg_get_site_url(); ?>vendors/jquery/jquery-ui-1.7.2.min.js"></script>
-       <script type="text/javascript" src="<?php echo elgg_get_site_url(); ?>vendors/jquery/jquery.form.js"></script>
-       <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
-       global $pickerinuse;
-       if (isset($pickerinuse) && $pickerinuse == true) {
+foreach ($js as $script) {
 ?>
-       <!-- only needed on pages where we have friends collections and/or the friends picker -->
-       <script type="text/javascript" src="<?php echo elgg_get_site_url(); ?>vendors/jquery/jquery.easing.1.3.packed.js"></script>
-       <script type="text/javascript" src="<?php echo elgg_get_site_url(); ?>_css/js.php?lastcache=<?php echo $vars['config']->lastcache; ?>&amp;js=friendsPickerv1&amp;viewtype=<?php echo $vars['view']; ?>"></script>
+       <script type="text/javascript" src="<?php echo $script; ?>"></script>
 <?php
-       }
-?>
-       <!-- include the default css file -->
-       <link rel="stylesheet" href="<?php echo elgg_get_site_url(); ?>_css/css.css?lastcache=<?php echo $vars['config']->lastcache; ?>&amp;viewtype=<?php echo $vars['view']; ?>" type="text/css" />
+}
 
+foreach ($css as $link) {
+?>
+       <link rel="stylesheet" href="<?php echo $link; ?>" type="text/css" />
+<?php
+}
+?>
        <!--[if IE 6]>
                <link rel="stylesheet" type="text/css" href="<?php echo elgg_get_site_url(); ?>views/default/css_ie6.php" />
        <![endif]-->
@@ -81,7 +74,10 @@ $release = get_version(true);
                <link rel="stylesheet" type="text/css" href="<?php echo elgg_get_site_url(); ?>views/default/css_ie.php" />
        <![endif]-->
 <?php
-       echo elgg_view('metatags', $vars);
+
+echo elgg_view('scripts/initialize_elgg');
+echo $feedref;
+echo elgg_view('metatags', $vars);
 ?>
 </head>