Plugin Directory

Changeset 713304


Ignore:
Timestamp:
05/15/2013 08:27:16 AM (13 years ago)
Author:
matthewbe
Message:
  • spiders invade old archive pages too
  • more spiders for huge web pages
  • compressed JS code
Location:
spider-invasion/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • spider-invasion/trunk/readme.txt

    r713220 r713304  
    1515Spiders are showing up at random locations on your web page as your post get older.
    1616
     17Demo page & Blog: http://www.mendoweb.be/blog/wordpress-plugin-spider-invasion/
     18
    1719= 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/
    2120
    2221== Installation ==
     
    2827== Changelog ==
    2928
     29= 0.3 =
     30* spiders invade old archive pages too
     31* more spiders for huge web pages
     32* compressed JS code
     33
    3034= 0.2 =
    3135* added fix for PHP version < 5.3
  • spider-invasion/trunk/spider-invasion.php

    r713061 r713304  
    22/*
    33Plugin Name: Spider Invasion!
    4 Version: 0.2
     4Version: 0.3
    55Plugin URI: http://www.mendoweb.be/blog/wordpress-plugin-spider-invasion/
    66Description: Spiders invade your oldest posts. The older the post, the more spiders you get.
     
    2929    $datetime_d1 = date_create( $d1 );
    3030    $interval = date_diff( $datetime_d2, $datetime_d1 );
    31     return 1*$interval->format( '%y' );
     31    return (int) $interval->format( '%y' );
    3232    */
    3333    // compatible with PHP 5.2 and lower
     
    3737
    3838function spider_invasion_js() {
    39     if( !is_single() ) return;
     39    if( !is_single() && !is_archive() ) return;
    4040    $date_post = get_the_date( 'Ymd' );
    4141    if( empty( $date_post ) ) return;
     
    4646    $invade_content = FALSE;
    4747    $max_density = 800*800;
     48    $min_density = 1800*1800;
    4849    $plugin_images_dir = plugins_url( 'images' , __FILE__ );
     50    $compressJS = TRUE;
    4951   
    50     $str = <<<JS
     52    echo '<!-- start spider invasion -->';
     53    if($compressJS) {
     54        $str = <<<JS
    5155<script>
     56function 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]}
     57function 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"}
     58window.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>
     60JS;
     61    }
     62    else {
     63        $str = <<<JS
     64<script>
     65function 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}
    5272function getRandomPosition(element) {
    5373    var x = document.body.offsetHeight-element.clientHeight;
     
    80100window.onload = function() {
    81101    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;
    84106    for(i=0;i<nbSpiders;++i) spawnSpider();
    85107}
    86108</script>
    87109JS;
     110    }
    88111    echo $str;
     112    echo '<!-- end spider invasion -->
     113';
    89114}
    90115add_action('wp_head', 'spider_invasion_js');
Note: See TracChangeset for help on using the changeset viewer.