Changeset 713304
- Timestamp:
- 05/15/2013 08:27:16 AM (13 years ago)
- Location:
- spider-invasion/trunk
- Files:
-
- 2 edited
-
readme.txt (modified) (2 diffs)
-
spider-invasion.php (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
spider-invasion/trunk/readme.txt
r713220 r713304 15 15 Spiders are showing up at random locations on your web page as your post get older. 16 16 17 Demo page & Blog: http://www.mendoweb.be/blog/wordpress-plugin-spider-invasion/ 18 17 19 = Note that your post should be at least 1 year old for spiders to appear. = 18 19 20 Demo page & Blog: http://www.mendoweb.be/blog/wordpress-plugin-spider-invasion/21 20 22 21 == Installation == … … 28 27 == Changelog == 29 28 29 = 0.3 = 30 * spiders invade old archive pages too 31 * more spiders for huge web pages 32 * compressed JS code 33 30 34 = 0.2 = 31 35 * added fix for PHP version < 5.3 -
spider-invasion/trunk/spider-invasion.php
r713061 r713304 2 2 /* 3 3 Plugin Name: Spider Invasion! 4 Version: 0. 24 Version: 0.3 5 5 Plugin URI: http://www.mendoweb.be/blog/wordpress-plugin-spider-invasion/ 6 6 Description: Spiders invade your oldest posts. The older the post, the more spiders you get. … … 29 29 $datetime_d1 = date_create( $d1 ); 30 30 $interval = date_diff( $datetime_d2, $datetime_d1 ); 31 return 1*$interval->format( '%y' );31 return (int) $interval->format( '%y' ); 32 32 */ 33 33 // compatible with PHP 5.2 and lower … … 37 37 38 38 function spider_invasion_js() { 39 if( !is_single() ) return;39 if( !is_single() && !is_archive() ) return; 40 40 $date_post = get_the_date( 'Ymd' ); 41 41 if( empty( $date_post ) ) return; … … 46 46 $invade_content = FALSE; 47 47 $max_density = 800*800; 48 $min_density = 1800*1800; 48 49 $plugin_images_dir = plugins_url( 'images' , __FILE__ ); 50 $compressJS = TRUE; 49 51 50 $str = <<<JS 52 echo '<!-- start spider invasion -->'; 53 if($compressJS) { 54 $str = <<<JS 51 55 <script> 56 function getRandomPosition(e){var t=document.body.offsetHeight-e.clientHeight;var n=document.body.offsetWidth-e.clientWidth;var r=Math.floor(Math.random()*t);var i=Math.floor(Math.random()*n);return[r,i]} 57 function spawnSpider(){var e="$plugin_images_dir/cute-spider-"+(Math.floor(Math.random()*3)+1)+".png";var t=document.createElement("img");t.setAttribute("style","opacity:0.5;position:absolute;");t.setAttribute("src",e);document.body.appendChild(t);var n=getRandomPosition(t);var r="$invade_content";if(r===""){var i=document.getElementById("content");if(i!=null&&n[1]>i.offsetLeft-t.clientHeight&&n[1]<i.offsetLeft+i.offsetWidth&&n[0]>i.offsetTop&&n[0]<i.offsetTop+i.offsetHeight){t.setAttribute("style","display:none;")}}t.style.top=n[0]+"px";t.style.left=n[1]+"px"} 58 window.onload=function(){var e=document.body.offsetHeight*document.body.offsetWidth;var t=Math.floor(e/$max_density);var n=Math.floor(e/$min_density);var r=$nb_spiders>t?t<1?1:t:Math.floor($nb_spiders);r=$nb_spiders<n?n:$nb_spiders;for(i=0;i<r;++i)spawnSpider()} 59 </script> 60 JS; 61 } 62 else { 63 $str = <<<JS 64 <script> 65 function getRandomPosition(element) { 66 var x = document.body.offsetHeight-element.clientHeight; 67 var y = document.body.offsetWidth-element.clientWidth; 68 var randomX = Math.floor(Math.random()*x); 69 var randomY = Math.floor(Math.random()*y); 70 return [randomX,randomY]; 71 } 52 72 function getRandomPosition(element) { 53 73 var x = document.body.offsetHeight-element.clientHeight; … … 80 100 window.onload = function() { 81 101 var surface = document.body.offsetHeight*document.body.offsetWidth; 82 var density = Math.floor(surface/$max_density); 83 var nbSpiders = $nb_spiders > density ? (density < 1 ? 1 : density) : Math.floor($nb_spiders); 102 var densityMax = Math.floor(surface/$max_density); 103 var densityMin = Math.floor(surface/$min_density); 104 var nbSpiders = $nb_spiders > densityMax ? (densityMax < 1 ? 1 : densityMax) : Math.floor($nb_spiders); 105 nbSpiders = $nb_spiders < densityMin ? densityMin : $nb_spiders; 84 106 for(i=0;i<nbSpiders;++i) spawnSpider(); 85 107 } 86 108 </script> 87 109 JS; 110 } 88 111 echo $str; 112 echo '<!-- end spider invasion --> 113 '; 89 114 } 90 115 add_action('wp_head', 'spider_invasion_js');
Note: See TracChangeset
for help on using the changeset viewer.