Daily News
Home
Bit Twiddlers, Inc.
Fishtank
Fort Valley mountain house
News
Recommended books
Resume
Server statistics for alecto
Server statistics for BTI
Vehicles
Associated Press
Freshmeat
Slashdot
/* // class.phpComic.php // // Lastmod: 2001-02-07 */ 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; } ?>