diff options
author | Mike Macgirvin <mike@macgirvin.com> | 2010-08-10 16:54:36 -0700 |
---|---|---|
committer | Mike Macgirvin <mike@macgirvin.com> | 2010-08-10 16:54:36 -0700 |
commit | 06bdf8a4cfe9087573494c0b782a33d1e28ac043 (patch) | |
tree | 9ab3965bd0f0dc790bc30bee12b939e3866c82e9 /mod | |
parent | 04e65823d70d448400d3be7f0b3244ea8658834d (diff) | |
download | volse-hubzilla-06bdf8a4cfe9087573494c0b782a33d1e28ac043.tar.gz volse-hubzilla-06bdf8a4cfe9087573494c0b782a33d1e28ac043.tar.bz2 volse-hubzilla-06bdf8a4cfe9087573494c0b782a33d1e28ac043.zip |
atom auto-discover, fix image preloading in ajax
Diffstat (limited to 'mod')
-rw-r--r-- | mod/photo.php | 5 | ||||
-rw-r--r-- | mod/profile.php | 2 | ||||
-rw-r--r-- | mod/update_network.php | 10 | ||||
-rw-r--r-- | mod/update_profile.php | 16 |
4 files changed, 28 insertions, 5 deletions
diff --git a/mod/photo.php b/mod/photo.php index 6174b10ab..653ca81c2 100644 --- a/mod/photo.php +++ b/mod/photo.php @@ -112,9 +112,8 @@ function photo_init(&$a) { } header("Content-type: image/jpeg"); - header('Expires: ' . datetime_convert('UTC','UTC', 'now + 30 minutes', 'D, d M Y H:i:s' . ' GMT')); - header('Expires: ' . datetime_convert('UTC','UTC', 'now + 30 minutes', 'D, d M Y H:i:s' . ' GMT')); - header("Cache-Control: max-age=3600, must-revalidate"); + header('Expires: ' . datetime_convert('UTC','UTC', 'now + 3 months', 'D, d M Y H:i:s' . ' GMT')); +// header("Cache-Control: max-age=36000, only-if-cached"); echo $data; killme(); return; //NOTREACHED diff --git a/mod/profile.php b/mod/profile.php index 6e04724be..0cc236f95 100644 --- a/mod/profile.php +++ b/mod/profile.php @@ -63,6 +63,8 @@ function profile_init(&$a) { $profile = $a->argv[1]; } profile_load($a,$which,$profile); + $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . $a->get_baseurl() . '/dfrn_poll/' . $which .'" />'; + $a->page['htmlhead'] .= "<meta name=\"dfrn-template\" content=\"" . $a->get_baseurl() . "/profile/%s" . "\" />\r\n"; $dfrn_pages = array('request', 'confirm', 'notify', 'poll'); diff --git a/mod/update_network.php b/mod/update_network.php index 18c630fdf..1c790ead1 100644 --- a/mod/update_network.php +++ b/mod/update_network.php @@ -1,5 +1,6 @@ <?php +// See update_profile.php for documentation require_once('mod/network.php'); @@ -9,7 +10,14 @@ function update_network_content(&$a) { header("Content-type: text/html"); echo "<!DOCTYPE html><html><body>\r\n"; echo (($_GET['msie'] == 1) ? '<div>' : '<section>'); - echo str_replace("\t",' ',network_content($a,true)); + + + $text = network_content($a,true); + $pattern = "/<img([^>]*) src=\"([^\"]*)\"/"; + $replace = "<img\${1} dst=\"\${2}\""; + $text = preg_replace($pattern, $replace, $text); + + echo str_replace("\t",' ',$text); echo (($_GET['msie'] == 1) ? '</div>' : '</section>'); echo "</body></html>\r\n"; killme(); diff --git a/mod/update_profile.php b/mod/update_profile.php index 8ea86eb91..96d8376dc 100644 --- a/mod/update_profile.php +++ b/mod/update_profile.php @@ -1,5 +1,7 @@ <?php +// This page is fetched via ajax to update the profile page with +// new content while you are viewing it. require_once('mod/profile.php'); @@ -8,7 +10,19 @@ function update_profile_content(&$a) { header("Content-type: text/html"); echo "<!DOCTYPE html><html><body>\r\n"; echo (($_GET['msie'] == 1) ? '<div>' : '<section>'); - echo str_replace("\t",' ',profile_content($a,true)); + + // Grab the page inner contents, but move any image src attributes to another attribute name. + // Some browsers will prefetch all the images for the page even if we don't need them. + // The only ones we need to fetch are those for new page additions, which we'll discover + // on the client side and then swap the image back. + + + $text = profile_content($a,true); + $pattern = "/<img([^>]*) src=\"([^\"]*)\"/"; + $replace = "<img\${1} dst=\"\${2}\""; + $text = preg_replace($pattern, $replace, $text); + + echo str_replace("\t",' ',$text); echo (($_GET['msie'] == 1) ? '</div>' : '</section>'); echo "</body></html>\r\n"; killme(); |