Daily News

Home
Bit Twiddlers, Inc.
Fishtank
Fort Valley mountain house
News
Recommended books
Resume
Server statistics for alecto
Server statistics for BTI
Vehicles

Powered by Linux

Accelerated by Zend Optimizer

Microsoft Free

Accelerated by mod_gzip

Powered by PHP

Associated Press

Freshmeat

Slashdot

*/ class phpComic { //static variables, user-defined var $changeWithDate = false; //the image will update when the current date is different than the date of the stored image var $changeAfterSeconds = 43200; //if $changeWithDate = false, set this to what interval to update stored image var $imageStorePath = "/var/www/htdocs-private/spool"; //path to store stored image (be sure to modify helper script as well) var $comicHelperPath = "/private/spool"; //URL path to script that will display the image var $noComicReplacementUrl = "/phpComic.png"; //url of replacement image relative to site root //instance variables var $comic = ""; //stores the desired comic var $path = ""; //store path to stored file //comment those comics you don't want var $comicStrips = array( "dilbert" => array( "name" => "Dilbert.com", "url" => "http://www.comics.com/comics/dilbert/", "method" => "grabDilbert" ), "userfriendly" => array( "name" => "User Friendly", "url" => "http://www.userfriendly.org/", "method" => "grabUserFriendly" ), "drfun" => array( "name" => "Dr. Fun", "url" => "http://www.ibiblio.org/Dave/", "method" => "grabDrFun" ), "alleyoop" => array( "name" => "Alley Oop", "url" => "http://www.comics.com/comics/alleyoop/", "method" => "grabComicsCom", "arg" => "alleyoop" ), "arlonjanis" => array( "name" => "Arlo & Janis", "url" => "http://www.comics.com/comics/arlonjanis/", "method" => "grabComicsCom", "arg" => "arlonjanis" ), "betty" => array( "name" => "Betty", "url" => "http://www.comics.com/comics/betty/", "method" => "grabComicsCom", "arg" => "betty" ), "bignate" => array( "name" => "Big Nate", "url" => "http://www.comics.com/comics/bignate/", "method" => "grabComicsCom", "arg" => "bignate" ), "bornloser" => array( "name" => "The Born Loser", "url" => "http://www.comics.com/comics/bornloser/", "method" => "grabComicsCom", "arg" => "bornloser" ), "buckets" => array( "name" => "The Buckets", "url" => "http://www.comics.com/comics/buckets/", "method" => "grabComicsCom", "arg" => "buckets" ), "bullsnbears" => array( "name" => "Bull\$ 'N' Bear\$", "url" => "http://www.comics.com/comics/bullsnbears/", "method" => "grabComicsCom", "arg" => "bullsnbears" ), "committed" => array( "name" => "Committed", "url" => "http://www.comics.com/comics/committed/", "method" => "grabComicsCom", "arg" => "committed" ), "drabble" => array( "name" => "Drabble", "url" => "http://www.comics.com/comics/drabble/", "method" => "grabComicsCom", "arg" => "drabble" ), "fatcats" => array( "name" => "Fat Cats", "url" => "http://www.comics.com/comics/fatcats/", "method" => "grabComicsCom", "arg" => "fatcats" ), "ferdnand" => array( "name" => "Ferd'nand", "url" => "http://www.comics.com/comics/ferdnand/", "method" => "grabComicsCom", "arg" => "ferdnand" ), "forbetter" => array( "name" => "For Better or For Worse", "url" => "http://www.comics.com/comics/forbetter/", "method" => "grabComicsCom", "arg" => "forbetter" ), "franknernest" => array( "name" => "Frank & Ernest", "url" => "http://www.comics.com/comics/franknernest/", "method" => "grabComicsCom", "arg" => "franknernest" ), "geech" => array( "name" => "Geech", "url" => "http://www.comics.com/comics/geech/", "method" => "grabComicsCom", "arg" => "geech" ), "getfuzzy" => array( "name" => "Get Fuzzy", "url" => "http://www.comics.com/comics/getfuzzy/", "method" => "grabComicsCom", "arg" => "getfuzzy" ), "graffiti" => array( "name" => "Graffiti", "url" => "http://www.comics.com/comics/graffiti/", "method" => "grabComicsCom", "arg" => "graffiti" ), "grandave" => array( "name" => "Grand Avenue", "url" => "http://www.comics.com/comics/grandave/", "method" => "grabComicsCom", "arg" => "grandave" ), "grizzwells" => array( "name" => "The Grizzwells", "url" => "http://www.comics.com/comics/grizzwells/", "method" => "grabComicsCom", "arg" => "grizzwells" ), "herman" => array( "name" => "Herman", "url" => "http://www.comics.com/comics/herman/", "method" => "grabComicsCom", "arg" => "herman" ), "jumpstart" => array( "name" => "Jump Start", "url" => "http://www.comics.com/comics/jumpstart/", "method" => "grabComicsCom", "arg" => "jumpstart" ), "kitncarlyle" => array( "name" => "Kit 'N' Carlyle", "url" => "http://www.comics.com/comics/kitncarlyle/", "method" => "grabComicsCom", "arg" => "kitncarlyle" ), "lilabner" => array( "name" => "Li'l Abner", "url" => "http://www.comics.com/comics/lilabner/", "method" => "grabComicsCom", "arg" => "lilabner" ), "luann" => array( "name" => "Luann", "url" => "http://www.comics.com/comics/luann/", "method" => "grabComicsCom", "arg" => "luann" ), "lupo" => array( "name" => "Lupo Alberto", "url" => "http://www.comics.com/comics/lupo/", "method" => "grabComicsCom", "arg" => "lupo" ), "marmaduke" => array( "name" => "Marmaduke", "url" => "http://www.comics.com/comics/marmaduke/", "method" => "grabComicsCom", "arg" => "marmaduke" ), "meatloaf" => array( "name" => "Meatloaf Night", "url" => "http://www.comics.com/comics/meatloaf/", "method" => "grabComicsCom", "arg" => "meatloaf" ), "meg" => array( "name" => "Meg!", "url" => "http://www.comics.com/comics/meg/", "method" => "grabComicsCom", "arg" => "meg" ), "motley" => array( "name" => "Motley", "url" => "http://www.comics.com/comics/motley/", "method" => "grabComicsCom", "arg" => "motley" ), "nancy" => array( "name" => "Nancy", "url" => "http://www.comics.com/comics/nancy/", "method" => "grabComicsCom", "arg" => "nancy" ), "chickweed" => array( "name" => "9 Chickweed Lane", "url" => "http://www.comics.com/comics/chickweed/", "method" => "grabComicsCom", "arg" => "chickweed" ), "hedge" => array( "name" => "Over the Hedge", "url" => "http://www.comics.com/comics/hedge/", "method" => "grabComicsCom", "arg" => "hedge" ), "offsides" => array( "name" => "Offsides", "url" => "http://www.comics.com/comics/offsides/", "method" => "grabComicsCom", "arg" => "offsides" ), "peanuts" => array( "name" => "Peanuts", "url" => "http://www.comics.com/comics/peanuts/", "method" => "grabComicsCom", "arg" => "peanuts" ), "pearls" => array( "name" => "Pearls Before Swine", "url" => "http://www.comics.com/comics/pearls/", "method" => "grabComicsCom", "arg" => "pearls" ), "raisingduncan" => array( "name" => "Raising Duncan", "url" => "http://www.comics.com/comics/raisingduncan/", "method" => "grabComicsCom", "arg" => "raisingduncan" ), "randolphitch" => array( "name" => "Randolph Itch 2 a.m.", "url" => "http://www.comics.com/comics/randolphitch/", "method" => "grabComicsCom", "arg" => "randolphitch" ), "reality" => array( "name" => "Reality Check", "url" => "http://www.comics.com/comics/reality/", "method" => "grabComicsCom", "arg" => "reality" ), "ripleys" => array( "name" => "Ripley's Believe It or Not!", "url" => "http://www.comics.com/comics/ripleys/", "method" => "grabComicsCom", "arg" => "ripleys" ), "robotman" => array( "name" => "Robotman", "url" => "http://www.comics.com/comics/robotman/", "method" => "grabComicsCom", "arg" => "robotman" ), "roseisrose" => array( "name" => "Rose Is Rose", "url" => "http://www.comics.com/comics/roseisrose/", "method" => "grabComicsCom", "arg" => "roseisrose" ), "shirleynson" => array( "name" => "Shirley And Son", "url" => "http://www.comics.com/comics/shirleynson/", "method" => "grabComicsCom", "arg" => "shirleynson" ), "soup2nutz" => array( "name" => "Soup To Nutz", "url" => "http://www.comics.com/comics/soup2nutz/", "method" => "grabComicsCom", "arg" => "soup2nutz" ), "stockcartoons" => array( "name" => "StockcarToons", "url" => "http://www.comics.com/comics/stockcartoons/", "method" => "grabComicsCom", "arg" => "stockcartoons" ), "tarzan" => array( "name" => "Tarzan", "url" => "http://www.comics.com/comics/tarzan/", "method" => "grabComicsCom", "arg" => "tarzan" ), "topofworld" => array( "name" => "Top of the World!", "url" => "http://www.comics.com/comics/topofworld/", "method" => "grabComicsCom", "arg" => "topofworld" ), "warped" => array( "name" => "Warped", "url" => "http://www.comics.com/comics/warped/", "method" => "grabComicsCom", "arg" => "warped" ), "ziggy" => array( "name" => "Ziggy", "url" => "http://www.comics.com/comics/ziggy/", "method" => "grabComicsCom", "arg" => "ziggy" ), "agnes" => array( "name" => "Agnes", "url" => "http://www.comics.com/creators/agnes/", "method" => "grabComicsCreators", "arg" => "agnes" ), "andycapp" => array( "name" => "Andy Capp", "url" => "http://www.comics.com/creators/andycapp/", "method" => "grabComicsCreators", "arg" => "andycapp" ), "bc" => array( "name" => "B.C.", "url" => "http://www.comics.com/creators/bc/", "method" => "grabComicsCreators", "arg" => "bc" ), "ballardst" => array( "name" => "Ballard Street", "url" => "http://www.comics.com/creators/ballardst/", "method" => "grabComicsCreators", "arg" => "ballardst" ), "flightdeck" => array( "name" => "Flight Deck", "url" => "http://www.comics.com/creators/flightdeck/", "method" => "grabComicsCreators", "arg" => "flightdeck" ), "forheavens" => array( "name" => "For Heaven's Sake", "url" => "http://www.comics.com/creators/forheavens/", "method" => "grabComicsCreators", "arg" => "forheavens" ), "grandfathersclause" => array( "name" => "Grandfather Clause", "url" => "http://www.comics.com/creators/grandfathersclause/", "method" => "grabComicsCreators", "arg" => "grandfathersclause" ), "heathcliff" => array( "name" => "Heathcliff", "url" => "http://www.comics.com/creators/heathcliff/", "method" => "grabComicsCreators", "arg" => "heathcliff" ), "liberty" => array( "name" => "Liberty Meadows", "url" => "http://www.comics.com/creators/liberty/", "method" => "grabComicsCreators", "arg" => "liberty" ), "momma" => array( "name" => "Momma", "url" => "http://www.comics.com/creators/momma/", "method" => "grabComicsCreators", "arg" => "momma" ), "mrlowe" => array( "name" => "Mr. Lowe", "url" => "http://www.comics.com/creators/mrlowe/", "method" => "grabComicsCreators", "arg" => "mrlowe" ), "mspeach" => array( "name" => "Ms. Peach", "url" => "http://www.comics.com/creators/mspeach/", "method" => "grabComicsCreators", "arg" => "mspeach" ), "onebighappy" => array( "name" => "One Big Happy", "url" => "http://www.comics.com/creators/onebighappy/", "method" => "grabComicsCreators", "arg" => "onebighappy" ), "rawmaterial" => array( "name" => "Raw Material", "url" => "http://www.comics.com/creators/rawmaterial/", "method" => "grabComicsCreators", "arg" => "rawmaterial" ), "rubes" => array( "name" => "Rubes", "url" => "http://www.comics.com/creators/rubes/", "method" => "grabComicsCreators", "arg" => "rubes" ), "rugrats" => array( "name" => "Rugrats", "url" => "http://www.comics.com/creators/rugrats/", "method" => "grabComicsCreators", "arg" => "rugrats" ), "speedbump" => array( "name" => "Speed Bump", "url" => "http://www.comics.com/creators/speedbump/", "method" => "grabComicsCreators", "arg" => "speedbump" ), "strangebrew" => array( "name" => "Strange Brew", "url" => "http://www.comics.com/creators/strangebrew/", "method" => "grabComicsCreators", "arg" => "strangebrew" ), "tmnt" => array( "name" => "Teenage Mutant Ninja Turtles", "url" => "http://www.comics.com/creators/tmnt/", "method" => "grabComicsCreators", "arg" => "tmnt" ), "weepals" => array( "name" => "Wee Pals", "url" => "http://www.comics.com/creators/weepals/", "method" => "grabComicsCreators", "arg" => "weepals" ), "wizardofid" => array( "name" => "Wizard of Id", "url" => "http://www.comics.com/creators/wizardofid/", "method" => "grabComicsCreators", "arg" => "wizardofid" ), "zorro" => array( "name" => "Zorro", "url" => "http://www.comics.com/creators/zorro/", "method" => "grabComicsCreators", "arg" => "zorro" ), "pcnpixel" => array( "name" => "PC and Pixel", "url" => "http://www.comics.com/wash/pcnpixel/", "method" => "grabComicsWash", "arg" => "pcnpixel" ), "cheapthrills" => array( "name" => "Cheap Thrills", "url" => "http://www.comics.com/wash/cheapthrills/", "method" => "grabComicsWash", "arg" => "cheapthrills" ), "pickles" => array( "name" => "Pickles", "url" => "http://www.comics.com/wash/pickles/", "method" => "grabComicsWash", "arg" => "pickles" ), "redandrover" => array( "name" => "Red & Rover", "url" => "http://www.comics.com/wash/redandrover/", "method" => "grabComicsWash", "arg" => "redandrover" ), "thatslife" => array( "name" => "That's Life", "url" => "http://www.comics.com/wash/thatslife/", "method" => "grabComicsWash", "arg" => "thatslife" ), "gunz" => array( "name" => "'Gunz!", "url" => "http://www.mycomix.com/comic/gunz/", "method" => "grabMyComix", "arg" => "gunz" ), "gingerco" => array( "name" => "Ginger Comics", "url" => "http://www.mycomix.com/comic/gingerco/", "method" => "grabMyComix", "arg" => "gingerco" ), "squinker" => array( "name" => "squinkers", "url" => "http://www.mycomix.com/comic/squinker/", "method" => "grabMyComix", "arg" => "squinker" ), "afairyst" => array( "name" => "a fairy strip", "url" => "http://www.mycomix.com/comic/afairyst/", "method" => "grabMyComix", "arg" => "afairyst" ), "hardcore" => array( "name" => "Hardcore Documentary", "url" => "http://www.mycomix.com/comic/hardcore/", "method" => "grabMyComix", "arg" => "hardcore" ), "stnisaac" => array( "name" => "Stan 'n' Isaac", "url" => "http://www.mycomix.com/comic/stnisaac/", "method" => "grabMyComix", "arg" => "stnisaac" ), "pfctwrld" => array( "name" => "A Perfect World", "url" => "http://www.mycomix.com/comic/pfctwrld/", "method" => "grabMyComix", "arg" => "pfctwrld" ), "strange" => array( "name" => "Strange Breed", "url" => "http://www.mycomix.com/comic/strange/", "method" => "grabMyComix", "arg" => "strange" ), "abstripe" => array( "name" => "Absolute Tripe", "url" => "http://www.mycomix.com/comic/abstripe/", "method" => "grabMyComix", "arg" => "abstripe" ), "heyprofe" => array( "name" => "Hey, Professor", "url" => "http://www.mycomix.com/comic/heyprofe/", "method" => "grabMyComix", "arg" => "heyprofe" ), "stripped" => array( "name" => "Stripped Again", "url" => "http://www.mycomix.com/comic/stripped/", "method" => "grabMyComix", "arg" => "stripped" ), "algernon" => array( "name" => "Algernon's Dilemma", "url" => "http://www.mycomix.com/comic/algernon/", "method" => "grabMyComix", "arg" => "algernon" ), "hipshot" => array( "name" => "Hip Shot", "url" => "http://www.mycomix.com/comic/hipshot/", "method" => "grabMyComix", "arg" => "hipshot" ), "striptea" => array( "name" => "Striptease", "url" => "http://www.mycomix.com/comic/striptea/", "method" => "grabMyComix", "arg" => "striptea" ), "allabout" => array( "name" => "All About Eda", "url" => "http://www.mycomix.com/comic/allabout/", "method" => "grabMyComix", "arg" => "allabout" ), "hobnob" => array( "name" => "Hobnob Inn", "url" => "http://www.mycomix.com/comic/hobnob/", "method" => "grabMyComix", "arg" => "hobnob" ), "stytoons" => array( "name" => "Stytoons", "url" => "http://www.mycomix.com/comic/stytoons/", "method" => "grabMyComix", "arg" => "stytoons" ), "angers1" => array( "name" => "Angerson.com", "url" => "http://www.mycomix.com/comic/angers1/", "method" => "grabMyComix", "arg" => "angers1" ), "innies" => array( "name" => "Innies and Outties", "url" => "http://www.mycomix.com/comic/innies/", "method" => "grabMyComix", "arg" => "innies" ), "suburban" => array( "name" => "Suburban Jungle", "url" => "http://www.mycomix.com/comic/suburban/", "method" => "grabMyComix", "arg" => "suburban" ), "angsttec" => array( "name" => "Angst Technology", "url" => "http://www.mycomix.com/comic/angsttec/", "method" => "grabMyComix", "arg" => "angsttec" ), "jungle" => array( "name" => "It's a Jungle out there!", "url" => "http://www.mycomix.com/comic/jungle/", "method" => "grabMyComix", "arg" => "jungle" ), "superd2" => array( "name" => "Superdupe Kids", "url" => "http://www.mycomix.com/comic/superd2/", "method" => "grabMyComix", "arg" => "superd2" ), "artcomic" => array( "name" => "Art Comics", "url" => "http://www.mycomix.com/comic/artcomic/", "method" => "grabMyComix", "arg" => "artcomic" ), "itsgravy" => array( "name" => "It's Gravy", "url" => "http://www.mycomix.com/comic/itsgravy/", "method" => "grabMyComix", "arg" => "itsgravy" ), "teaching" => array( "name" => "Teaching Baby Paranoia", "url" => "http://www.mycomix.com/comic/teaching/", "method" => "grabMyComix", "arg" => "teaching" ), "backfo" => array( "name" => "Back Forward Comics", "url" => "http://www.mycomix.com/comic/backfo/", "method" => "grabMyComix", "arg" => "backfo" ), "eyetheat" => array( "name" => "EYE THEATER", "url" => "http://www.mycomix.com/comic/eyetheat/", "method" => "grabMyComix", "arg" => "eyetheat" ), "barclayu" => array( "name" => "Barclay, U.S.A.", "url" => "http://www.mycomix.com/comic/barclayu/", "method" => "grabMyComix", "arg" => "barclayu" ), "joeavrge" => array( "name" => "Joe Average", "url" => "http://www.mycomix.com/comic/joeavrge/", "method" => "grabMyComix", "arg" => "joeavrge" ), "badboys" => array( "name" => "The Bad Boys of Computer Science", "url" => "http://www.mycomix.com/comic/badboys/", "method" => "grabMyComix", "arg" => "badboys" ), "beepoand" => array( "name" => "Beepo and Roadkill", "url" => "http://www.mycomix.com/comic/beepoand/", "method" => "grabMyComix", "arg" => "beepoand" ), "lcd" => array( "name" => "LCD: Lowest Common Denominator", "url" => "http://www.mycomix.com/comic/lcd/", "method" => "grabMyComix", "arg" => "lcd" ), "thebel" => array( "name" => "The Beluga was - after all - just a big tease", "url" => "http://www.mycomix.com/comic/thebel/", "method" => "grabMyComix", "arg" => "thebel" ), "limpid" => array( "name" => "Limpidity", "url" => "http://www.mycomix.com/comic/limpid/", "method" => "grabMyComix", "arg" => "limpid" ), "changing" => array( "name" => "The Changing Workplace", "url" => "http://www.mycomix.com/comic/changing/", "method" => "grabMyComix", "arg" => "changing" ), "blunderc" => array( "name" => "Blunderclod!", "url" => "http://www.mycomix.com/comic/blunderc/", "method" => "grabMyComix", "arg" => "blunderc" ), "luvbites" => array( "name" => "Love Bites", "url" => "http://www.mycomix.com/comic/luvbites/", "method" => "grabMyComix", "arg" => "luvbites" ), "thecomic" => array( "name" => "The Comic", "url" => "http://www.mycomix.com/comic/thecomic/", "method" => "grabMyComix", "arg" => "thecomic" ), "bands" => array( "name" => "Boston and Shaun", "url" => "http://www.mycomix.com/comic/bands/", "method" => "grabMyComix", "arg" => "bands" ), "fiore" => array( "name" => "Mark Fiore", "url" => "http://www.mycomix.com/comic/fiore/", "method" => "grabMyComix", "arg" => "fiore" ), "thecynic" => array( "name" => "The Cynic", "url" => "http://www.mycomix.com/comic/thecynic/", "method" => "grabMyComix", "arg" => "thecynic" ), "budgetst" => array( "name" => "Budget Strips", "url" => "http://www.mycomix.com/comic/budgetst/", "method" => "grabMyComix", "arg" => "budgetst" ), "molly1" => array( "name" => "molly", "url" => "http://www.mycomix.com/comic/molly1/", "method" => "grabMyComix", "arg" => "molly1" ), "thedevil" => array( "name" => "The Devil Burns His Toast", "url" => "http://www.mycomix.com/comic/thedevil/", "method" => "grabMyComix", "arg" => "thedevil" ), "business" => array( "name" => "Business and Labor Cartoons", "url" => "http://www.mycomix.com/comic/business/", "method" => "grabMyComix", "arg" => "business" ), "mostbiz" => array( "name" => "Mostly Business", "url" => "http://www.mycomix.com/comic/mostbiz/", "method" => "grabMyComix", "arg" => "mostbiz" ), "fdream" => array( "name" => "The Falling Dream", "url" => "http://www.mycomix.com/comic/fdream/", "method" => "grabMyComix", "arg" => "fdream" ), "ctoonery" => array( "name" => "Cartoonery.com", "url" => "http://www.mycomix.com/comic/ctoonery/", "method" => "grabMyComix", "arg" => "ctoonery" ), "ninelive" => array( "name" => "Nine Lives of Catnose", "url" => "http://www.mycomix.com/comic/ninelive/", "method" => "grabMyComix", "arg" => "ninelive" ), "theferal" => array( "name" => "THE FERAL EYE", "url" => "http://www.mycomix.com/comic/theferal/", "method" => "grabMyComix", "arg" => "theferal" ), "covdish" => array( "name" => "Church of the Covered Dish", "url" => "http://www.mycomix.com/comic/covdish/", "method" => "grabMyComix", "arg" => "covdish" ), "notqui1" => array( "name" => "Not Quite Right", "url" => "http://www.mycomix.com/comic/notqui1/", "method" => "grabMyComix", "arg" => "notqui1" ), "theheret" => array( "name" => "The HERETICS", "url" => "http://www.mycomix.com/comic/theheret/", "method" => "grabMyComix", "arg" => "theheret" ), "candc" => array( "name" => "Cigarro & Cerveja", "url" => "http://www.mycomix.com/comic/candc/", "method" => "grabMyComix", "arg" => "candc" ), "nub" => array( "name" => "NUBs", "url" => "http://www.mycomix.com/comic/nub/", "method" => "grabMyComix", "arg" => "nub" ), "ims" => array( "name" => "The Internet Movie Strip", "url" => "http://www.mycomix.com/comic/ims/", "method" => "grabMyComix", "arg" => "ims" ), "committe" => array( "name" => "Committed For Life", "url" => "http://www.mycomix.com/comic/committe/", "method" => "grabMyComix", "arg" => "committe" ), "ontheout" => array( "name" => "On the Outskirts", "url" => "http://www.mycomix.com/comic/ontheout/", "method" => "grabMyComix", "arg" => "ontheout" ), "jokesonu" => array( "name" => "The Joke's on You", "url" => "http://www.mycomix.com/comic/jokesonu/", "method" => "grabMyComix", "arg" => "jokesonu" ), "cornvall" => array( "name" => "corn valley", "url" => "http://www.mycomix.com/comic/cornvall/", "method" => "grabMyComix", "arg" => "cornvall" ), "orville" => array( "name" => "Orville", "url" => "http://www.mycomix.com/comic/orville/", "method" => "grabMyComix", "arg" => "orville" ), "panels" => array( "name" => "The Panels", "url" => "http://www.mycomix.com/comic/panels/", "method" => "grabMyComix", "arg" => "panels" ), "cornered" => array( "name" => "Cornered", "url" => "http://www.mycomix.com/comic/cornered/", "method" => "grabMyComix", "arg" => "cornered" ), "pencilw" => array( "name" => "Pencil Wedgees", "url" => "http://www.mycomix.com/comic/pencilw/", "method" => "grabMyComix", "arg" => "pencilw" ), "parking" => array( "name" => "The Parking Lot is Full", "url" => "http://www.mycomix.com/comic/parking/", "method" => "grabMyComix", "arg" => "parking" ), "cottage" => array( "name" => "Cottage & Co.", "url" => "http://www.mycomix.com/comic/cottage/", "method" => "grabMyComix", "arg" => "cottage" ), "phillers" => array( "name" => "Phillers", "url" => "http://www.mycomix.com/comic/phillers/", "method" => "grabMyComix", "arg" => "phillers" ), "pcweenie" => array( "name" => "The PC Weenies", "url" => "http://www.mycomix.com/comic/pcweenie/", "method" => "grabMyComix", "arg" => "pcweenie" ), "cur" => array( "name" => "Cur", "url" => "http://www.mycomix.com/comic/cur/", "method" => "grabMyComix", "arg" => "cur" ), "pixelate" => array( "name" => "Pixelated", "url" => "http://www.mycomix.com/comic/pixelate/", "method" => "grabMyComix", "arg" => "pixelate" ), "raunchy" => array( "name" => "The Raunchy Roach Show", "url" => "http://www.mycomix.com/comic/raunchy/", "method" => "grabMyComix", "arg" => "raunchy" ), "curtoons" => array( "name" => "Curtoons", "url" => "http://www.mycomix.com/comic/curtoons/", "method" => "grabMyComix", "arg" => "curtoons" ), "plastic" => array( "name" => "Plastic", "url" => "http://www.mycomix.com/comic/plastic/", "method" => "grabMyComix", "arg" => "plastic" ), "therut1" => array( "name" => "THE RUTS", "url" => "http://www.mycomix.com/comic/therut1/", "method" => "grabMyComix", "arg" => "therut1" ), "poetink" => array( "name" => "Poet Ink.", "url" => "http://www.mycomix.com/comic/poetink/", "method" => "grabMyComix", "arg" => "poetink" ), "deraptor" => array( "name" => "DeRaptor", "url" => "http://www.mycomix.com/comic/deraptor/", "method" => "grabMyComix", "arg" => "deraptor" ), "pcorrect" => array( "name" => "Politically Correct", "url" => "http://www.mycomix.com/comic/pcorrect/", "method" => "grabMyComix", "arg" => "pcorrect" ), "thringst" => array( "name" => "Thringst", "url" => "http://www.mycomix.com/comic/thringst/", "method" => "grabMyComix", "arg" => "thringst" ), "doccrazy" => array( "name" => "Doc Crazy's Funnies", "url" => "http://www.mycomix.com/comic/doccrazy/", "method" => "grabMyComix", "arg" => "doccrazy" ), "puncmark" => array( "name" => "Punc & Mark", "url" => "http://www.mycomix.com/comic/puncmark/", "method" => "grabMyComix", "arg" => "puncmark" ), "tikaboo" => array( "name" => "Tikaboo Peak", "url" => "http://www.mycomix.com/comic/tikaboo/", "method" => "grabMyComix", "arg" => "tikaboo" ), "edwin" => array( "name" => "Edwin", "url" => "http://www.mycomix.com/comic/edwin/", "method" => "grabMyComix", "arg" => "edwin" ), "raceroad" => array( "name" => "Racetrack Road", "url" => "http://www.mycomix.com/comic/raceroad/", "method" => "grabMyComix", "arg" => "raceroad" ), "tommyand" => array( "name" => "Tommy and P.J.", "url" => "http://www.mycomix.com/comic/tommyand/", "method" => "grabMyComix", "arg" => "tommyand" ), "flemcomx" => array( "name" => "FLEM Comix", "url" => "http://www.mycomix.com/comic/flemcomx/", "method" => "grabMyComix", "arg" => "flemcomx" ), "redfeath" => array( "name" => "Red Feather Flying Car Company", "url" => "http://www.mycomix.com/comic/redfeath/", "method" => "grabMyComix", "arg" => "redfeath" ), "totale" => array( "name" => "Total Eclipsed", "url" => "http://www.mycomix.com/comic/totale/", "method" => "grabMyComix", "arg" => "totale" ), "fletcher" => array( "name" => "Fletcher's Cave", "url" => "http://www.mycomix.com/comic/fletcher/", "method" => "grabMyComix", "arg" => "fletcher" ), "reverend" => array( "name" => "Reverend Fun", "url" => "http://www.mycomix.com/comic/reverend/", "method" => "grabMyComix", "arg" => "reverend" ), "toytrunk" => array( "name" => "Toy Trunk Railroad", "url" => "http://www.mycomix.com/comic/toytrunk/", "method" => "grabMyComix", "arg" => "toytrunk" ), "framed" => array( "name" => "framed", "url" => "http://www.mycomix.com/comic/framed/", "method" => "grabMyComix", "arg" => "framed" ), "saladdaz" => array( "name" => "Salad Daze", "url" => "http://www.mycomix.com/comic/saladdaz/", "method" => "grabMyComix", "arg" => "saladdaz" ), "unicornj" => array( "name" => "Unicorn Jelly", "url" => "http://www.mycomix.com/comic/unicornj/", "method" => "grabMyComix", "arg" => "unicornj" ), "frayed" => array( "name" => "Frayed Knot", "url" => "http://www.mycomix.com/comic/frayed/", "method" => "grabMyComix", "arg" => "frayed" ), "software" => array( "name" => "Software 'Stoopid'", "url" => "http://www.mycomix.com/comic/software/", "method" => "grabMyComix", "arg" => "software" ), "weekendw" => array( "name" => "Weekend Warriors", "url" => "http://www.mycomix.com/comic/weekendw/", "method" => "grabMyComix", "arg" => "weekendw" ), "frenetic" => array( "name" => "Frenetic Wanderings", "url" => "http://www.mycomix.com/comic/frenetic/", "method" => "grabMyComix", "arg" => "frenetic" ), "somefrea" => array( "name" => "Some Freaky Tuna", "url" => "http://www.mycomix.com/comic/somefrea/", "method" => "grabMyComix", "arg" => "somefrea" ), "whatheck" => array( "name" => "Whatheck!", "url" => "http://www.mycomix.com/comic/whatheck/", "method" => "grabMyComix", "arg" => "whatheck" ), "greb" => array( "name" => "G.R.E.B", "url" => "http://www.mycomix.com/comic/greb/", "method" => "grabMyComix", "arg" => "greb" ), "southlan" => array( "name" => "Southland", "url" => "http://www.mycomix.com/comic/southlan/", "method" => "grabMyComix", "arg" => "southlan" ), "sluggy" => array( "name" => "Sluggy Freelance", "url" => "http://www.sluggy.com/", "method" => "grabSluggy" ), "pennyarcade" => array( "name" => "Penny Arcade", "url" => "http://www.penny-arcade.com/", "method" => "grabPennyArcade" ), "helpdex" => array( "name" => "Help Dex", "url" => "http://linuxtoday.com/helpdex/", "method" => "grabHelpDex" ), "spazlabs" => array( "name" => "Spaz Labs", "url" => "http://www.stonebrokestudios.com/", "method" => "grabSpazLabs" ), "goats" => array( "name" => "Goats", "url" => "http://www.goats.com/", "method" => "grabGoats" ), "jerkcity" => array( "name" => "Jerk City", "url" => "http://www.jerkcity.com/", "method" => "grabJerkCity" ), "megatokyo" => array( "name" => "Megatokyo", "url" => "http://www.megatokyo.com/", "method" => "grabMegatokyo" ), "pvp" => array( "name" => "PVP", "url" => "http://www.pvponline.com/", "method" => "grabPvp" ), "garfield" => array( "name" => "Garfield", "url" => "http://www.garfield.com/", "method" => "grabGarfield" ), "doonesbury" => array( "name" => "Doonesbury", "url" => "http://www.doonesbury.com/", "method" => "grabDoonesbury" ), "calvinhobbes" => array( "name" => "Calvin and Hobbes", "url" => "http://www.ucomics.com/calvinandhobbes/", "method" => "grabUComics", "arg" => "calvinandhobbes" ), "foxtrot" => array( "name" => "FoxTrot", "url" => "http://www.foxtrot.com/", "method" => "grabFoxTrot" ), "redmeat" => array( "name" => "RedMeat", "url" => "http://www.redmeat.com/", "method" => "grabRedMeat" ), "in2it" => array( "name" => "In2It", "url" => "http://www.in2itonline.com/", "method" => "grabIn2It" ), "diesel" => array( "name" => "Diesel", "url" => "http://dieselsweeties.com/", "method" => "grabDiesel" ), "krazylarry" => array( "name" => "Krazy Larry", "url" => "http://www.krazylarry.com/", "method" => "grabKrazyLarry" ), "superosity" => array( "name" => "Superosity", "url" => "http://www.superosity.com/", "method" => "grabSuperosity" ), "hounds" => array( "name" => "Hound's Home", "url" => "http://www.houndshome.com/", "method" => "grabHoundshome" ), "bobbins" => array( "name" => "Bobbins", "url" => "http://www.bobbins.org/", "method" => "grabBobbins" ), "reallife" => array( "name" => "Real Life", "url" => "http://www.reallifecomics.com/", "method" => "grabRealLifeComics" ), "sinfest" => array( "name" => "SinFest", "url" => "http://www.sinfest.net/", "method" => "grabSinfest" ), "crfh" => array( "name" => "College Roomies from Hell", "url" => "http://www.crfh.net/", "method" => "grabCRFH" ), "kevinkell" => array( "name" => "Kevin and Kell", "url" => "http://www.kevinandkell.com/", "method" => "grabKevinKell" ), "bruno" => array( "name" => "Bruno the Bandit", "url" => "http://www.brunothebandit.com/", "method" => "grabBruno" ), "funnyfarm" => array( "name" => "Funny Farm", "url" => "http://www.funnyfarmcomics.com/", "method" => "grabFunnyFarm" ), "avalon" => array( "name" => "Avalon", "url" => "http://www.avalonhigh.com/", "method" => "grabAvalon" ), "clancats" => array( "name" => "Clan of the Cats", "url" => "http://www.clanofthecats.com/", "method" => "grabClanCats" ), "walky" => array( "name" => "It's Walky!", "url" => "http://www.itswalky.com/", "method" => "grabWalky" ), "downearth" => array( "name" => "Down to Earth", "url" => "http://www.downtoearthcomic.com/", "method" => "grabDownEarth" ), "growup" => array( "name" => "When I Grow Up", "url" => "http://www.whenigrowup.net/", "method" => "grabGrowUp" ), "wanderingones" => array( "name" => "Wandering Ones", "url" => "http://www.wanderingones.com/", "method" => "grabWanderingOnes" ), "ssdd" => array( "name" => "SSDD", "url" => "http://www.poisonedminds.com/", "method" => "grabSSDD" ), "schlock" => array( "name" => "Schlock Mercenary", "url" => "http://www.schlockmercenary.com/", "method" => "grabSchlock" ), "melonpool" => array( "name" => "Melonpool", "url" => "http://www.melonpool.com/", "method" => "grabMelonpool" ), "soaprope" => array( "name" => "Soap On A Rope", "url" => "http://www.soaprope.com/", "method" => "grabSoapRope" ), "chuckshow" => array( "name" => "Mr. Chuck Show", "url" => "http://www.mrchuckshow.com/", "method" => "grabChuckShow" ), "lostfound" => array( "name" => "Lost & Found Investigations", "url" => "http://www.lostandfoundcomic.com/", "method" => "grabLostFound" ), "greystoneinn" => array( "name" => "Greystone Inn", "url" => "http://www.greystoneinn.net/", "method" => "grabGreystoneInn" ), "sheldon" => array( "name" => "Sheldon", "url" => "http://www.sheldoncomics.com/", "method" => "grabSheldon" ), "gpf" => array( "name" => "General Protection Fault", "url" => "http://www.gpf-comics.com/", "method" => "grabGPF" ), "coolcat" => array( "name" => "Cool Cat Studio", "url" => "http://www.coolcatstudio.com/", "method" => "grabCoolCat" ), "elflife" => array( "name" => "Elf Life", "url" => "http://www.elflife.com/", "method" => "grabElfLife" ), "exploitation" => array( "name" => "Exploitation Now", "url" => "http://www.exploitationnow.com/", "method" => "grabExploitation" ), "roadwaffles" => array( "name" => "Road Waffles", "url" => "http://www.roadwaffles.com/", "method" => "grabRoadWaffles" ), "alice" => array( "name" => "Alice", "url" => "http://www.alicecomics.com/", "method" => "grabAlice" ), "wendy" => array( "name" => "Wendy", "url" => "http://www.wendycomic.com/", "method" => "grabWendy" ), "everythingjake" => array( "name" => "Everything Jake", "url" => "http://www.everythingjake.com/", "method" => "grabEverythingJake" ), "ashfield" => array( "name" => "? - Ashfield", "url" => "http://www.ashfieldonline.com/", "method" => "grabAshfield" ), "greytown" => array( "name" => "Living in Greytown", "url" => "http://www.livingingreytown.com/", "method" => "grabGreytown" ), "pentasmal" => array( "name" => "Pentasmal", "url" => "http://www.pentasmal.com/", "method" => "grabPentasmal" ), "newshounds" => array( "name" => "Newshounds", "url" => "http://www.newshounds.com/", "method" => "grabNewshounds" ), "commongrounds" => array( "name" => "Common Grounds", "url" => "http://www.cgrounds.com/", "method" => "grabCommonGrounds" ), "mothergoose" => array( "name" => "Mother Goose & Grimm", "url" => "http://aolsvc.toonville.aol.com/main.asp?fnum=148", "method" => "grabMotherGoose" ), "lilywong" => array( "name" => "Lily Wong", "url" => "http://www.reuben.org/lilywong/", "method" => "grabLilyWong" ), "choppingblock" => array( "name" => "Chopping Block", "url" => "http://www.choppingblock.org/", "method" => "grabChoppingBlock" ), "sweethell" => array( "name" => "Hell Sweet Hell", "url" => "http://hellsweethell.keenspace.com/", "method" => "grabSweetHell" ), "urbandragon" => array( "name" => "Urban Dragon", "url" => "http://www.urbandragons.com/", "method" => "grabUrbanDragon" ), "badlands" => array( "name" => "Badlands", "url" => "http://www.stevemcgarry.com/", "method" => "grabBadlands" ), "damnkid" => array( "name" => "You Damn Kid", "url" => "http://www.youdamnkid.com/", "method" => "grabDamnKid" ), "badtech" => array( "name" => "Badtech", "url" => "http://www.badtech.com/", "method" => "grabBadtech" ), "littlegamers" => array( "name" => "Little Gamers", "url" => "http://www.gamespy.com/comics/littlegamers/", "method" => "grabLittleGamers" ), "stonesoup" => array( "name" => "Stone Soup", "url" => "http://www.ucomics.com/stonesoup/", "method" => "grabUComics", "arg" => "stonesoup" ) ); function phpComic( $comicName = "" ) { //takes the name of the comic strip to return if( empty( $comicName ) ) { //choose random comic srand( (double)microtime() * 10000000 ); $random = rand( 0, sizeof( $this->comicStrips ) - 1 ); //workaround, $this->comicStrips[$random] produced nothing $count = 0; while( list( $comicName, ) = each( $this->comicStrips ) ) { if( $count++ == $random ) { break; } } reset( $this->comicStrips ); } if( is_array( $this->comicStrips[$comicName] ) ) { $this->comic = $comicName; $this->checkAndStore(); } } //accessor methods //returns the human-readable name of the comic function name() { if( is_array( $this->comicStrips[$this->comic] ) ) { return $this->comicStrips[$this->comic]["name"]; } return ""; } //returns the base url for the comic function url() { if( is_array( $this->comicStrips[$this->comic] ) ) { return $this->comicStrips[$this->comic]["url"]; } return ""; } //returns the url to be used in an IMG SRC function imageUrl() { if( !empty( $this->path ) ) { return $this->comicHelperPath . "/" . urlencode( basename( $this->completePath() ) ); } else { return $this->noComicReplacementUrl; } } //returns the key to be sent to the constructor function key() { return $this->comic; } //returns the complete HTML IMG tag function imageHTML( $border = 0, $space = 0 ) { $path = $this->completePath(); if( file_exists( $path ) ) { list( $width, $height ) = getimagesize( $path ); return "imageUrl()."\" WIDTH=\"$width\" HEIGHT=\"$height\" ALT=\"".$this->name()."\" BORDER=\"$border\" HSPACE=\"$space\" VSPACE=\"$space\">"; } else { return "noComicReplacementUrl."\" ALT=\"phpComic\" BORDER=\"$border\" HSPACE=\"$space\" VSPACE=\"$space\">"; } } //method to return all strips as array function strips() { $returnStrips = array(); while( list( $key, $item ) = each( $this->comicStrips ) ) { $returnStrips[] = array( "key" => $key, "name" => $item["name"] ); } usort( $returnStrips, "comicStripCompare" ); return $returnStrips; } //utility methods function checkAndStore() { if( $this->checkStore() ) { //call custom method $method = $this->comicStrips[$this->comic]["method"]; $arg = $this->comicStrips[$this->comic]["arg"]; if( empty( $arg ) ) { $this->storeImage( $this->$method() ); } else { $this->storeImage( $this->$method("$arg") ); } } } function completePath() { if( empty( $this->path ) ) { $dir = dir( $this->imageStorePath ); while( $entry = $dir->read() ) { if( strstr( $entry, "comic." . $this->comic . "." ) != "" ) { $this->path = $this->imageStorePath . "/" . $entry; break; } } } return $this->path; } function checkStore() { //determines if file is out of date //if so, return true $tempPath = $this->completePath(); if( file_exists( $tempPath ) ) { if( ( $this->changeWithDate && date( "Ymd", filectime( $tempPath ) ) == date( "Ymd", time() ) ) || ( !$this->changeWithDate && ( filectime( $tempPath ) + $this->changeAfterSeconds - time() ) >= 0 ) ) { return false; } else { ; return true; } } else { return true; } } function storeImage( $file ) { //stores image to disk if( eregi( "\.(jpg|gif|png|jpe|jpeg)$", $file ) ) { $fpRead = @fopen( $file, "rb" ); if( !$fpRead ) { echo "\n"; } else { eregi( "\.([a-zA-Z]{3,4})$", $file, $array ); $imageFile = $this->imageStorePath . "/" . "comic." . $this->comic . "." . ( !empty( $array[1] ) ? $array[1] : "gif" ); $fpWrite = @fopen( $imageFile, "wb" ); if( !$fpWrite ) { echo "\n"; } else { while( !feof( $fpRead ) ) { fwrite( $fpWrite, fread( $fpRead, 4096 ) ); } $this->path = $imageFile; fclose( $fpWrite ); } fclose( $fpRead ); } } } //parsing methods function connectAndParse( $url, $findstr ) { $file = @fopen( $url, "r" ); if( !$file ) { echo "\n"; return ""; } else { while( !feof( $file ) ) { $line = fgets( $file, 1024 ); // if( strstr( $line, "&" ) == "" ) { $response = strstr( $line, $findstr ); if( $response != "" ) { $pos = strpos( $response, "&" ); $location = substr( $response, 0, $pos ); if( empty( $location ) ) { $pos = strpos( $response, "\"" ); $location = substr( $response, 0, $pos); } break; } // } } fclose( $file ); return $location; } } function connectAndParseRegexp( $url, $findstr, $regexp ) { $file = @fopen( $url, "r" ); if( !$file ) { echo "\n"; return ""; } else { while( !feof( $file ) ) { $line = fgets( $file, 1024 ); if( ereg( $regexp, $line ) == true) { $response = strstr( $line, $findstr ); if( $response != "" ) { $pos = strpos( $response, "\"" ); $location = substr( $response, 0, $pos ); if( empty( $location ) ) { $pos = strpos( $response, "'" ); $location = substr( $response, 0, $pos ); } break; } } } fclose( $file ); return $location; } } //specific comic methods function grabComicsCom( $name ) { $url = $this->connectAndParse( "http://www.comics.com/comics/$name/", "/comics/$name/archive/images/$name" ); $ret = sprintf( "%s%s", "http://www.comics.com", $url ); return $ret; } function grabComicsWash( $name ) { $url = $this->connectAndParse( "http://www.comics.com/wash/$name/", "/wash/$name/archive/images/$name" ); $ret = sprintf( "%s%s", "http://www.comics.com", $url ); return $ret; } function grabComicsCreators( $name ) { $url = $this->connectAndParse( "http://www.comics.com/creators/$name/", "/creators/$name/archive/images/$name" ); $ret = sprintf( "%s%s", "http://www.comics.com", $url ); return $ret; } function grabKingFeatures( $name ) { //grabs the cartoon fine, but wrong image; site is detecting, need to rewrite connection scripts to include referer header $url = $this->connectAndParse( "http://www.kingfeatures.com/features/comics/$name/aboutMaina.php", "http://est.rbma.com/content/" ); //echo "url: $url
\n"; return $url; } function grabMyComix( $name ) { $url = $this->connectAndParse( "http://www.mycomix.com/comic/$name/", "/images/db/$name/strip" ); $ret = sprintf( "%s%s", "http://www.mycomix.com", $url ); return $ret; } function grabUComics( $name ) { $url = $this->connectAndParse( "http://www.ucomics.com/$name/", "/7/600/1392/1dcf6501c8f9fa/images.ucomics.com/" ); echo $url; $ret = sprintf( "%s%s", "http://a136.g.akamai.net", $url ); return $ret; } function grabUserFriendly() { $currentMonth = strtolower( date ( "M" ) ); $currentYear = date( "y" ); $path = sprintf( "%s%s", $currentYear, $currentMonth ); $url = $this->connectAndParse( "http://www.userfriendly.org/static/", "http://www.userfriendly.org/cartoons/archives/$path/" ); return $url; } function grabPennyArcade() { $currentYear = date( "Y" ); $url = $this->connectAndParse( "http://www.penny-arcade.com/view.php3", "images/$currentYear/" ); $ret = sprintf( "%s%s", "http://www.penny-arcade.com/", $url ); return $ret; } function grabHelpDex() { $currentYear = date( "Y" ); $currentMonth = date( "m" ); $url = $this->connectAndParseRegexp( "http://linuxtoday.com/helpdex/", "/helpdex/$currentYear/$currentMonth/", "\\/helpdex\\/$currentYear\\/$currentMonth\\/[a-zA-Z0-9]+\\.[a-z]{3}" ); $ret = sprintf( "%s%s", "http://linuxtoday.com", $url ); return $ret; } function grabSpazLabs() { $currentYearMonth = date( "ym" ); $url = $this->connectAndParse( "http://www.stonebrokestudios.com/", "spaz/$currentYearMonth" ); $ret = sprintf( "%s%s", "http://www.stonebrokestudios.com/", $url ); return $ret; } function grabRealLifeComics() { $url = $this->connectAndParse( "http://www.reallifecomics.com/", "/comics/" ); $ret = sprintf( "%s%s", "http://www.reallifecomics.com", $url ); return $ret; } function grabSinfest() { $url = $this->connectAndParse( "http://www.sinfest.net/", "/comics" ); $ret = sprintf( "%s%s", "http://www.sinfest.net/", $url ); return $ret; } function grabKrazyLarry() { $url = $this->connectAndParse( "http://www.krazylarry.com/", "/comics" ); $ret = sprintf( "%s%s", "http://www.krazylarry.com/", $url ); return $ret; } function grabGoats() // Added by Cort { $url = $this->connectAndParse( "http://www.goats.com/", "/comix/" ); $ret = sprintf( "%s%s", "http://www.goats.com/", $url ); return $ret; } function grabJerkCity() { $ret = "http://www.jerkcity.com/today.gif"; return $ret; } function grabMegatokyo() { $url = $this->connectAndParse( "http://www.megatokyo.com/", "strips/" ); $ret = sprintf( "%s%s", "http://www.megatokyo.com/", $url ); return $ret; } function grabPvp() { $currentYear = date( "Y" ); $url = $this->connectAndParse( "http://www.pvponline.com/", "archive/$currentYear/" ); $ret = sprintf( "%s%s", "http://www.pvponline.com/", $url ); return $ret; } function grabGarfield() { $year = date("y"); $month = date("m"); $day = date("d"); $ret = "http://a136.g.akamai.net/7/600/1392/1dcf6501c8f9fa/images.ucomics.com/comics/ga/20$year/ga$year$month$day.gif"; return $ret; } function grabDoonesbury() { $url = $this->connectAndParse( "http://www.doonesbury.com/strip/dailydose/", "http://a1736.g.akamai.net/7/1736/1392/1dcf6501c8f9fa/images.ucomics.com/comics/db/" ); return $url; } function grabFoxTrot() { $url = $this->connectAndParse( "http://www.foxtrot.com/comics/index.html", "/comics/strips/ft" ); $ret = sprintf( "%s%s", "http://www.foxtrot.com", $url ); return $ret; } function grabThinHLine() { //doesn't work, has multiple comics on one page $url = $this->connectAndParse( "http://www.thinhline.com/thisweek.html", "thlcomic/" ); $ret = sprintf( "%s%s", "http://www.thinhline.com/", $url ); return $ret; } function grabRedMeat() { $ret = "http://www.redmeat.com/redmeat/current/index-1.gif"; return $ret; } function grabDilbert() { $url = $this->connectAndParse( "http://www.comics.com/comics/dilbert/", "/comics/dilbert/archive/images/dilbert" ); $ret = sprintf( "%s%s", "http://www.comics.com", $url ); return $ret; } function grabDrFun() { $ret = "http://www.ibiblio.org/Dave/Dr-Fun/latest.jpg"; return $ret; } function grabIn2It() { $currentYear = date( "Y" ); $url = $this->connectAndParse( "http://www.in2itonline.com/", "archive/$currentYear/" ); $ptr = strstr( $url, ' ' ); $url2 = substr( $url, 0, strlen( $url ) - strlen( $ptr ) ); $ret = sprintf( "%s%s", "http://www.in2itonline.com/", $url2 ); return $ret; } function grabDiesel() { return "http://dieselsweeties.com/newest.gif"; } function grabSuperosity() { $url = $this->connectAndParse( "http://www.superosity.com/", "/comics/sup" ); $ret = sprintf( "%s%s", "http://www.superosity.com", $url ); return $ret; } function grabHoundshome() { $url = $this->connectAndParse( "http://www.houndshome.com/", "/comics/hh" ); $ret = sprintf( "%s%s", "http://www.houndshome.com", $url ); return $ret; } function grabBobbins() { $url = $this->connectAndParseRegexp( "http://www.bobbins.org/", "/comics", "\\/comics\\/[0-9]{8}\\." ); $ret = sprintf( "%s%s", "http://www.bobbins.org", $url ); return $ret; } function grabSluggy() { $url = $this->connectAndParseRegexp( "http://www.sluggy.com/", "http://pics.sluggy.com/comics/", "\\/comics\\/[0-9]{6}a\\." ); return $url; } function grabCRFH() { $url = $this->connectAndParse( "http://www.crfh.net/", "/comics/crfh" ); $ret = sprintf( "%s%s", "http://www.crfh.net", $url ); return $ret; } function grabKevinKell() { $year = date( "Y" ); $url = $this->connectAndParse( "http://www.kevinandkell.com/", "$year/strips/kk" ); $ret = sprintf( "%s%s", "http://www.kevinandkell.com/", $url ); return $ret; } function grabBruno() { $url = $this->connectAndParseRegexp( "http://www.brunothebandit.com/", "/comics", "\\/comics\\/[0-9]{8}a\\." ); $ret = sprintf( "%s%s", "http://www.brunothebandit.com", $url ); return $ret; } function grabFunnyFarm() { $url = $this->connectAndParseRegexp( "http://www.funnyfarmcomics.com/", "/comics", "\\/comics\\/[0-9]{8}a\\." ); $ret = sprintf( "%s%s", "http://www.funnyfarmcomics.com", $url ); return $ret; } function grabAvalon() { $url = $this->connectAndParse( "http://www.avalonhigh.com/", "/comics/avalon" ); $ret = sprintf( "%s%s", "http://www.avalonhigh.com", $url ); return $ret; } function grabDownEarth() { $url = $this->connectAndParse( "http://www.downtoearthcomic.com/", "/comics/dte" ); $ret = sprintf( "%s%s", "http://www.downtoearthcomic.com", $url ); return $ret; } function grabGrowUp() { $url = $this->connectAndParse( "http://www.whenigrowup.net/", "/comics/wigu" ); $ret = sprintf( "%s%s", "http://www.whenigrowup.net", $url ); return $ret; } function grabWanderingOnes() { $url = $this->connectAndParse( "http://www.wanderingones.com/", "/comics/wan" ); $ret = sprintf( "%s%s", "http://www.wanderingones.com", $url ); return $ret; } function grabSSDD() { $url = $this->connectAndParse( "http://www.poisonedminds.com/", "/comics/ssdd" ); $ret = sprintf( "%s%s", "http://www.poisonedminds.com", $url ); return $ret; } function grabSchlock() { $url = $this->connectAndParse( "http://www.schlockmercenary.com/", "/comics/schlock" ); $ret = sprintf( "%s%s", "http://www.schlockmercenary.com", $url ); return $ret; } function grabDamnKid() { $url = $this->connectAndParseRegexp( "http://www.youdamnkid.com/", "ydk", "ydk[0-9]{8}\\.gif" ); $ret = sprintf( "%s%s", "http://www.youdamnkid.com/", $url ); return $ret; } function grabMelonpool() { $url = $this->connectAndParse( "http://www.melonpool.com/", "/comics/MM" ); $ret = sprintf( "%s%s", "http://www.melonpool.com", $url ); return $ret; } function grabSoapRope() { $url = $this->connectAndParse( "http://www.soaprope.com/", "/comics/soar" ); $ret = sprintf( "%s%s", "http://www.soaprope.com", $url ); return $ret; } function grabChuckShow() { $url = $this->connectAndParse( "http://www.mrchuckshow.com/", "/strips/mcs" ); $ret = sprintf( "%s%s", "http://www.mrchuckshow.com", $url ); return $ret; } function grabSheldon() { $url = $this->connectAndParse( "http://www.sheldoncomics.com/", "/comics/shel" ); $ret = sprintf( "%s%s", "http://www.sheldoncomics.com", $url ); return $ret; } function grabGPF() { $url = $this->connectAndParse( "http://www.gpf-comics.com/", "/comics/gpf" ); $ret = sprintf( "%s%s", "http://www.gpf-comics.com", $url ); return $ret; } function grabCoolCat() { $url = $this->connectAndParse( "http://www.coolcatstudio.com/", "/comics/ccs" ); $ret = sprintf( "%s%s", "http://www.coolcatstudio.com", $url ); return $ret; } function grabExploitation() { $url = $this->connectAndParse( "http://www.exploitationnow.com/", "/comics/rb" ); $ret = sprintf( "%s%s", "http://www.exploitationnow.com", $url ); return $ret; } function grabRoadWaffles() { $url = $this->connectAndParse( "http://www.roadwaffles.com/", "/comics/rw" ); $ret = sprintf( "%s%s", "http://www.roadwaffles.com", $url ); return $ret; } function grabAlice() { $url = $this->connectAndParse( "http://www.alicecomics.com/today.html", "/comics/alice" ); $ret = sprintf( "%s%s", "http://www.alicecomics.com", $url ); return $ret; } function grabWendy() { $url = $this->connectAndParse( "http://www.wendycomic.com/", "/cutecomics/cutewendy" ); $ret = sprintf( "%s%s", "http://www.wendycomic.com", $url ); return $ret; } function grabEverythingJake() { $url = $this->connectAndParse( "http://www.everythingjake.com/", "/comics/jake" ); $ret = sprintf( "%s%s", "http://www.everythingjake.com", $url ); return $ret; } function grabAshfield() { $url = $this->connectAndParse( "http://www.ashfieldonline.com/", "/comics/ash" ); $ret = sprintf( "%s%s", "http://www.ashfieldonline.com", $url ); return $ret; } function grabGreytown() { $url = $this->connectAndParse( "http://www.livingingreytown.com/", "/comics/grey" ); $ret = sprintf( "%s%s", "http://www.livingingreytown.com", $url ); return $ret; } function grabMotherGoose() { $url = $this->connectAndParse( "http://aolsvc.toonville.aol.com/main.asp?fnum=148", "/Content1/Grimmy/" ); $ret = sprintf( "%s%s", "http://aolsvc.toonville.aol.com", $url ); return $ret; } function grabSweetHell() { $url = $this->connectAndParse( "http://hellsweethell.keenspace.com/", "/comics/hsh" ); $ret = sprintf( "%s%s", "http://hellsweethell.keenspace.com", $url ); return $ret; } function grabNewshounds() { $url = $this->connectAndParse( "http://www.newshounds.com/", "/comics/nh" ); $ret = sprintf( "%s%s", "http://www.newshounds.com", $url ); return $ret; } function grabClanCats() { $url = $this->connectAndParseRegexp( "http://www.clanofthecats.com/", "/comics", "\\/comics\\/[0-9]{8}" ); $ret = sprintf( "%s%s", "http://www.clanofthecats.com", $url ); return $ret; } function grabWalky() { $url = $this->connectAndParseRegexp( "http://www.itswalky.com/", "/comics", "\\/comics\\/[0-9]{8}a\\." ); $ret = sprintf( "%s%s", "http://www.itswalky.com", $url ); return $ret; } function grabLostFound() { $url = $this->connectAndParseRegexp( "http://www.lostandfoundcomic.com/", "/comics", "\\/comics\\/[0-9]{8}\\." ); $ret = sprintf( "%s%s", "http://www.lostandfoundcomic.com/", $url ); return $ret; } function grabGreystoneInn() { $url = $this->connectAndParseRegexp( "http://www.greystoneinn.net/", "/comics", "\\/comics\\/[0-9]{8}\\." ); $ret = sprintf( "%s%s", "http://www.greystoneinn.net", $url ); return $ret; } function grabElfLife() { $url = $this->connectAndParseRegexp( "http://www.elflife.com/", "/comics", "\\/comics\\/[0-9]{8}m\\." ); $ret = sprintf( "%s%s", "http://www.elflife.com", $url ); return $ret; } function grabPentasmal() { $url = $this->connectAndParseRegexp( "http://www.pentasmal.com/", "/comics", "\\/comics\\/[0-9]{8}\\." ); $ret = sprintf( "%s%s", "http://www.pentasmal.com", $url ); return $ret; } function grabCommonGrounds() { $url = $this->connectAndParseRegexp( "http://www.cgrounds.com/", "/comics", "\\/comics\\/[0-9]{8}\\." ); $ret = sprintf( "%s%s", "http://www.cgrounds.com", $url ); return $ret; } function grabLilyWong() { $url = $this->connectAndParseRegexp( "http://www.reuben.org/lilywong/", "http://www.reuben.org/lilywong/archive/", "\\/archive\\/[0-9]{4}\\/[0-9]{6}\\." ); return $url; } function grabUrbanDragon() { $url = $this->connectAndParseRegexp( "http://www.urbandragons.com/strip/index.php3", "http://www.urbandragons.com/strip/archive/", "\\/strip\\/archive\\/[0-9]{6}\\." ); return $url; } function grabChoppingBlock() { $url = $this->connectAndParseRegexp( "http://www.choppingblock.org/", "/comics", "\\/comics\\/[0-9]{8}\\." ); $ret = sprintf( "%s%s", "http://www.choppingblock.org", $url ); return $ret; } function grabBadlands() { $url = $this->connectAndParseRegexp( "http://www.stevemcgarry.com/archive/badlands.asp", "http://www.stevemcgarry.com/badlands/archive/", "\\/badlands\\/archive\\/[0-9]{6}\\." ); return $url; } function grabBadtech() { $url = $this->connectAndParse( "http://www.newsforge.com/", "http://images.newsforge.com/cartoons/bt/" ); return $url; } function grabLittleGamers() { $url = $this->connectAndParseRegexp( "http://www.gamespy.com/comics/littlegamers/", "comics/", "comics\\/[0-9]{8}\\." ); $ret = sprintf( "%s%s", "http://www.gamespy.com/comics/littlegamers/", $url ); return $ret; } } //used by phpComic->strips() to sort comics by name function comicStripCompare( $a, $b ) { if( strtolower( $a["name"] ) == strtolower( $b["name"] ) ) return 0; return ( strtolower( $a["name"] ) < strtolower( $b["name"] ) ) ? -1 : 1; } ?>