tdiary-contrib 3.2.2.20130518
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/.travis.yml +7 -0
- data/Gemfile +13 -0
- data/Gemfile.lock +35 -0
- data/README.en.md +12 -0
- data/README.md +13 -0
- data/Rakefile +41 -0
- data/doc/en/filter/spambayes.txt +3 -0
- data/doc/en/plugin.txt +1 -0
- data/doc/en/style/hatena.txt +10 -0
- data/doc/en/style/markdown.txt +16 -0
- data/doc/en/util.txt +1 -0
- data/doc/ja/filter/antirefspam.history.txt +59 -0
- data/doc/ja/filter/antirefspam.txt +86 -0
- data/doc/ja/filter/comment_key.ja.html +182 -0
- data/doc/ja/filter/spambayes.txt +3 -0
- data/doc/ja/plugin/add_bookmark.txt +50 -0
- data/doc/ja/plugin/category_to_tag.txt +21 -0
- data/doc/ja/plugin/cocoment.txt +31 -0
- data/doc/ja/plugin/google_adsense.txt +25 -0
- data/doc/ja/plugin/google_analytics.txt +7 -0
- data/doc/ja/plugin/image_detail.txt +69 -0
- data/doc/ja/plugin/image_gps.txt +36 -0
- data/doc/ja/plugin/image_gps2.txt +41 -0
- data/doc/ja/plugin/livedoor_weather.txt +105 -0
- data/doc/ja/plugin/opensearch_ad.txt +16 -0
- data/doc/ja/plugin/section_footer.txt +84 -0
- data/doc/ja/plugin/select_theme.txt +1 -0
- data/doc/ja/plugin.txt +13 -0
- data/doc/ja/style/hatena.txt +10 -0
- data/doc/ja/style/markdown.txt +13 -0
- data/doc/ja/util.txt +12 -0
- data/filter/antirefspam.rb +263 -0
- data/filter/commentkey.rb +29 -0
- data/filter/commentsize.rb +18 -0
- data/filter/hidecomment.rb +13 -0
- data/filter/iplookup.rb +55 -0
- data/filter/plugin/antirefspam.rb +59 -0
- data/filter/plugin/commentkey.rb +58 -0
- data/filter/plugin/commentsize.rb +12 -0
- data/filter/plugin/en/iplookup.rb +9 -0
- data/filter/plugin/en/spambayes.rb +123 -0
- data/filter/plugin/iplookup.rb +39 -0
- data/filter/plugin/ja/antirefspam.rb +91 -0
- data/filter/plugin/ja/commentkey.rb +17 -0
- data/filter/plugin/ja/commentsize.rb +6 -0
- data/filter/plugin/ja/iplookup.rb +9 -0
- data/filter/plugin/ja/spambayes.rb +124 -0
- data/filter/plugin/spambayes.rb +501 -0
- data/filter/plugin/zh/iplookup.rb +9 -0
- data/filter/rblcheck.rb +36 -0
- data/filter/spambayes.rb +535 -0
- data/filter/spamlookup.rb +37 -0
- data/io/dbi_io/ChangeLog +19 -0
- data/io/dbi_io/README.ja +39 -0
- data/io/dbi_io/dbi_io.rb +181 -0
- data/io/dbi_io/plugin/refererDbiIO.rb +76 -0
- data/io/dbi_io/tdiary_table.sql +42 -0
- data/js/appstore.js +109 -0
- data/js/datepicker.js +69 -0
- data/js/editor.js +82 -0
- data/js/flickr.js +157 -0
- data/js/image_ex.js +79 -0
- data/js/jquery.socialbutton.js +842 -0
- data/js/nicovideo.js +17 -0
- data/js/picasa.js +322 -0
- data/js/plugin_checker.js +71 -0
- data/js/prettify/lang-apollo.js +2 -0
- data/js/prettify/lang-clj.js +18 -0
- data/js/prettify/lang-css.js +2 -0
- data/js/prettify/lang-go.js +1 -0
- data/js/prettify/lang-hs.js +2 -0
- data/js/prettify/lang-lisp.js +3 -0
- data/js/prettify/lang-lua.js +2 -0
- data/js/prettify/lang-ml.js +2 -0
- data/js/prettify/lang-n.js +4 -0
- data/js/prettify/lang-proto.js +1 -0
- data/js/prettify/lang-scala.js +2 -0
- data/js/prettify/lang-sql.js +2 -0
- data/js/prettify/lang-tex.js +1 -0
- data/js/prettify/lang-vb.js +2 -0
- data/js/prettify/lang-vhdl.js +3 -0
- data/js/prettify/lang-wiki.js +2 -0
- data/js/prettify/lang-xq.js +3 -0
- data/js/prettify/lang-yaml.js +2 -0
- data/js/prettify/prettify.css +1 -0
- data/js/prettify/prettify.js +28 -0
- data/js/referer.js +17 -0
- data/js/show_and_hide.js +39 -0
- data/js/socialbutton.js +126 -0
- data/js/twitter_anywhere.js +28 -0
- data/js/yahoo_kousei.js +21 -0
- data/lib/bayes/convert.rb +34 -0
- data/lib/bayes.rb +232 -0
- data/lib/exifparser/BUGS +1 -0
- data/lib/exifparser/ChangeLog +169 -0
- data/lib/exifparser/README +15 -0
- data/lib/exifparser/install.rb +1015 -0
- data/lib/exifparser/lib/exifparser/makernote/canon.rb +502 -0
- data/lib/exifparser/lib/exifparser/makernote/fujifilm.rb +415 -0
- data/lib/exifparser/lib/exifparser/makernote/minolta.rb +84 -0
- data/lib/exifparser/lib/exifparser/makernote/mk_nikonflensname.rb +39 -0
- data/lib/exifparser/lib/exifparser/makernote/nikon.rb +267 -0
- data/lib/exifparser/lib/exifparser/makernote/nikon2.rb +581 -0
- data/lib/exifparser/lib/exifparser/makernote/nikonflensname.rb +438 -0
- data/lib/exifparser/lib/exifparser/makernote/olympus.rb +225 -0
- data/lib/exifparser/lib/exifparser/makernote/prove.rb +84 -0
- data/lib/exifparser/lib/exifparser/makernote/sigma.rb +237 -0
- data/lib/exifparser/lib/exifparser/pre-setup.rb +1 -0
- data/lib/exifparser/lib/exifparser/scan.rb +278 -0
- data/lib/exifparser/lib/exifparser/tag.rb +2298 -0
- data/lib/exifparser/lib/exifparser/thumbnail.rb +76 -0
- data/lib/exifparser/lib/exifparser/utils.rb +88 -0
- data/lib/exifparser/lib/exifparser.rb +265 -0
- data/lib/exifparser/sample/exifview.rb +279 -0
- data/lib/tdiary-contrib.rb +19 -0
- data/lib/wgs2tky.rb +93 -0
- data/misc/section_footer2/buzzurl.yaml +6 -0
- data/misc/section_footer2/fc2.yaml +6 -0
- data/misc/section_footer2/ldc.yaml +6 -0
- data/misc/section_footer2/retweet.yaml +7 -0
- data/misc/section_footer2/twitter.yaml +7 -0
- data/misc/section_footer2/yahoo.yaml +6 -0
- data/misc/tdiarygraph/tdiarygraph120x90e.swf +0 -0
- data/misc/tdiarygraph/tdiarygraph125x125e.swf +0 -0
- data/misc/tdiarygraph/tdiarygraph240x180e.swf +0 -0
- data/misc/tdiarygraph/tdiarygraph468x60e.swf +0 -0
- data/misc/tdiarygraph/tdiarygraph728x90e.swf +0 -0
- data/misc/tdiarytimes/tdiarytimes125x125r.swf +0 -0
- data/misc/tdiarytimes/tdiarytimes125x125r7.swf +0 -0
- data/misc/tdiarytimes/tdiarytimes125x125s.swf +0 -0
- data/misc/tdiarytimes/tdiarytimes125x30.swf +0 -0
- data/misc/tdiarytimes/tdiarytimes234x30.swf +0 -0
- data/misc/tdiarytimes/tdiarytimes468x30.swf +0 -0
- data/plugin/add_bookmark.rb +89 -0
- data/plugin/apple_webclip.rb +26 -0
- data/plugin/appstore.rb +47 -0
- data/plugin/bigpresen.rb +86 -0
- data/plugin/bitly.rb +39 -0
- data/plugin/bootstrap-navi.rb +54 -0
- data/plugin/canonical.rb +9 -0
- data/plugin/category_similar.rb +73 -0
- data/plugin/category_to_tag.rb +60 -0
- data/plugin/category_to_tagcloud.rb +172 -0
- data/plugin/cocomment.rb +37 -0
- data/plugin/code-prettify.rb +23 -0
- data/plugin/coderwall.rb +34 -0
- data/plugin/datepicker.rb +28 -0
- data/plugin/day2section.rb +20 -0
- data/plugin/del_footer.rb +111 -0
- data/plugin/description_from_body.rb +23 -0
- data/plugin/development.rb +16 -0
- data/plugin/editor.rb +11 -0
- data/plugin/en/add_bookmark.rb +20 -0
- data/plugin/en/del_footer.rb +10 -0
- data/plugin/en/git-register.rb +3 -0
- data/plugin/en/livedoor_weather.rb +25 -0
- data/plugin/en/microsummary.rb +18 -0
- data/plugin/en/nicovideo.rb +38 -0
- data/plugin/en/openid.rb +8 -0
- data/plugin/en/section_footer.rb +6 -0
- data/plugin/en/section_footer2.rb +3 -0
- data/plugin/en/socialbutton.rb +5 -0
- data/plugin/everytrail.rb +39 -0
- data/plugin/facebook_comments.rb +59 -0
- data/plugin/flickr.rb +209 -0
- data/plugin/gist.rb +16 -0
- data/plugin/git-register.rb +240 -0
- data/plugin/github_badge.rb +27 -0
- data/plugin/github_link.rb +9 -0
- data/plugin/goo_gl.rb +42 -0
- data/plugin/google_adsense.rb +132 -0
- data/plugin/google_analytics.rb +39 -0
- data/plugin/google_map.rb +168 -0
- data/plugin/google_sitemaps.rb +60 -0
- data/plugin/google_webmaster.rb +22 -0
- data/plugin/hatena_bookmark_nocomment.rb +9 -0
- data/plugin/hatena_star.rb +66 -0
- data/plugin/hb_footer.rb +255 -0
- data/plugin/hb_footer4sec.rb +244 -0
- data/plugin/hb_footer4sec_js.rb +30 -0
- data/plugin/hide_comment_form.rb +4 -0
- data/plugin/hide_sidebar_iphone.rb +21 -0
- data/plugin/iddy.rb +81 -0
- data/plugin/image_detail.rb +143 -0
- data/plugin/image_ex.rb +462 -0
- data/plugin/image_gps.rb +128 -0
- data/plugin/inline_wiki.rb +6 -0
- data/plugin/instagr.rb +64 -0
- data/plugin/ja/add_bookmark.rb +20 -0
- data/plugin/ja/del_footer.rb +10 -0
- data/plugin/ja/flickr.rb +62 -0
- data/plugin/ja/git-register.rb +3 -0
- data/plugin/ja/google_sitemaps.rb +35 -0
- data/plugin/ja/livedoor_weather.rb +25 -0
- data/plugin/ja/microsummary.rb +18 -0
- data/plugin/ja/nicovideo.rb +41 -0
- data/plugin/ja/openid.rb +7 -0
- data/plugin/ja/section_footer.rb +6 -0
- data/plugin/ja/section_footer2.rb +4 -0
- data/plugin/ja/socialbutton.rb +6 -0
- data/plugin/jdate.rb +20 -0
- data/plugin/jholiday.rb +16 -0
- data/plugin/jmonth.rb +20 -0
- data/plugin/jquery_ui_theme.rb +55 -0
- data/plugin/jroku.rb +28 -0
- data/plugin/jyear.rb +37 -0
- data/plugin/latlonglab_route.rb +25 -0
- data/plugin/lazy_referer.rb +38 -0
- data/plugin/livedoor_weather.rb +180 -0
- data/plugin/make_link.rb +44 -0
- data/plugin/makerss_category.rb +43 -0
- data/plugin/makerss_comment.rb +35 -0
- data/plugin/microsummary.rb +62 -0
- data/plugin/mm_footer.rb +215 -0
- data/plugin/monthly_autopagerize.rb +67 -0
- data/plugin/my_hotentry.rb +132 -0
- data/plugin/navi_day.rb +118 -0
- data/plugin/navi_this_month.rb +15 -0
- data/plugin/nicovideo.rb +115 -0
- data/plugin/notify_miniblog.rb +134 -0
- data/plugin/ogp.rb +55 -0
- data/plugin/ohmsha_estore.rb +71 -0
- data/plugin/openid.rb +90 -0
- data/plugin/opensearch_ad.rb +33 -0
- data/plugin/picasa.rb +56 -0
- data/plugin/plugin_checker.rb +41 -0
- data/plugin/popit.rb +22 -0
- data/plugin/prettify.rb +19 -0
- data/plugin/prezi.rb +10 -0
- data/plugin/profile.rb +222 -0
- data/plugin/puboo.rb +93 -0
- data/plugin/pygments_css.rb +76 -0
- data/plugin/rating.rb +419 -0
- data/plugin/recent_estraier.rb +50 -0
- data/plugin/recent_tweet.rb +71 -0
- data/plugin/retweet.rb +86 -0
- data/plugin/rubykaigi.rb +99 -0
- data/plugin/search-bing.rb +87 -0
- data/plugin/search-default.rb +264 -0
- data/plugin/search-google-custom.rb +60 -0
- data/plugin/search-yahoo-websearch.rb +121 -0
- data/plugin/search-yahoo.rb +109 -0
- data/plugin/section_footer.rb +195 -0
- data/plugin/section_footer2.rb +278 -0
- data/plugin/section_permalink.rb +73 -0
- data/plugin/section_permalink_anchor.rb +39 -0
- data/plugin/select_style.rb +42 -0
- data/plugin/select_theme.rb +90 -0
- data/plugin/show_and_hide.rb +77 -0
- data/plugin/slideshare.rb +10 -0
- data/plugin/socialbutton.rb +60 -0
- data/plugin/tatsu_zine.rb +93 -0
- data/plugin/tdiarygraph_flashstyle.rb +296 -0
- data/plugin/tdiarytimes.rb +166 -0
- data/plugin/tdiarytimes2.rb +406 -0
- data/plugin/tdiarytimes_flashstyle.rb +263 -0
- data/plugin/tdiarytimes_textstyle.rb +290 -0
- data/plugin/title_anchor.rb +16 -0
- data/plugin/tweet_quote.rb +106 -0
- data/plugin/twitpic.rb +10 -0
- data/plugin/twitter.rb +46 -0
- data/plugin/twitter_anywhere.rb +209 -0
- data/plugin/twitter_badge.rb +42 -0
- data/plugin/twitter_js.rb +59 -0
- data/plugin/ustream.rb +19 -0
- data/plugin/vimeo.rb +14 -0
- data/plugin/volatile.rb +89 -0
- data/plugin/vote.rb +100 -0
- data/plugin/wikiloc.rb +27 -0
- data/plugin/windex.rb +512 -0
- data/plugin/yahoo_kousei.rb +79 -0
- data/plugin/yahoo_map.rb +97 -0
- data/plugin/youtube.rb +33 -0
- data/plugin/yshop.rb +189 -0
- data/plugin/zenback.rb +46 -0
- data/spec/apple_webclip_spec.rb +46 -0
- data/spec/fixtures/friendfeed.xml +2 -0
- data/spec/fixtures/github.json +1 -0
- data/spec/fixtures/twitter.xml +73 -0
- data/spec/gist_spec.rb +16 -0
- data/spec/github_link_spec.rb +39 -0
- data/spec/google_analytics_spec.rb +60 -0
- data/spec/jdate_spec.rb +23 -0
- data/spec/jmonth_spec.rb +28 -0
- data/spec/jyear_spec.rb +21 -0
- data/spec/my_hotentry_spec.rb +78 -0
- data/spec/openid_spec.rb +246 -0
- data/spec/opensearch_ad_spec.rb +50 -0
- data/spec/profile_spec.rb +88 -0
- data/spec/rcov.opts +2 -0
- data/spec/spec_helper.rb +223 -0
- data/spec/title_anchor_spec.rb +39 -0
- data/spec/twitter_js_spec.rb +116 -0
- data/spec/youtube_spec.rb +20 -0
- data/style/hatena_style.rb +1011 -0
- data/style/markdown_style.rb +239 -0
- data/style/wikiext_style.rb +21 -0
- data/tdiary-contrib.gemspec +25 -0
- data/util/clean-spam/README.ja +1 -0
- data/util/clean-spam/tdiary-comment-clean +46 -0
- data/util/clean-spam/tdiary-comment-clean2 +81 -0
- data/util/clean-spam/tdiary-referer-clean +46 -0
- data/util/convert_pstore.rb +82 -0
- data/util/estraier-search/ChangeLog +36 -0
- data/util/estraier-search/README.ja +114 -0
- data/util/estraier-search/en/estraier-register.rb +3 -0
- data/util/estraier-search/estraier-register.rb +298 -0
- data/util/estraier-search/estraier-search.rb +273 -0
- data/util/estraier-search/estraier.rhtml +73 -0
- data/util/estraier-search/estraier.rxml +23 -0
- data/util/estraier-search/i.estraier.rhtml +31 -0
- data/util/estraier-search/ja/estraier-register.rb +3 -0
- data/util/image-gallery/README.ja +27 -0
- data/util/image-gallery/image-gallery.rb +523 -0
- data/util/image-gallery/image-gallery.rb.euc-jp +523 -0
- data/util/image-gallery/js/SmoothGallery/Changelog +52 -0
- data/util/image-gallery/js/SmoothGallery/css/ReMooz.css +186 -0
- data/util/image-gallery/js/SmoothGallery/css/img/carrow1.gif +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/carrow2.gif +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/closebox.gif +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/closebox.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/fleche1.gif +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/fleche1.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/fleche2.gif +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/fleche2.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/loading-bar-black.gif +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/open.gif +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/open.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_e.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_n.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_ne.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_nw.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_s.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_se.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_sw.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/remo_bg_w.png +0 -0
- data/util/image-gallery/js/SmoothGallery/css/img/spinner.gif +0 -0
- data/util/image-gallery/js/SmoothGallery/css/jd.gallery.css +371 -0
- data/util/image-gallery/js/SmoothGallery/css/layout.css +91 -0
- data/util/image-gallery/js/SmoothGallery/license.txt +621 -0
- data/util/image-gallery/js/SmoothGallery/resizer.php +113 -0
- data/util/image-gallery/js/SmoothGallery/scripts/Changelog +52 -0
- data/util/image-gallery/js/SmoothGallery/scripts/History.Routing.js +126 -0
- data/util/image-gallery/js/SmoothGallery/scripts/History.js +109 -0
- data/util/image-gallery/js/SmoothGallery/scripts/ReMooz.js +364 -0
- data/util/image-gallery/js/SmoothGallery/scripts/jd.gallery.js +843 -0
- data/util/image-gallery/js/SmoothGallery/scripts/jd.gallery.set.js +183 -0
- data/util/image-gallery/js/SmoothGallery/scripts/jd.gallery.transitions.js +90 -0
- data/util/image-gallery/js/SmoothGallery/scripts/jdgalleryresize.js +828 -0
- data/util/image-gallery/js/SmoothGallery/scripts/license.txt +621 -0
- data/util/image-gallery/js/SmoothGallery/scripts/mootools-1.2-more.js +103 -0
- data/util/image-gallery/js/SmoothGallery/scripts/mootools-1.2.1-core-yc.js +349 -0
- data/util/image-gallery/js/SmoothGallery/scripts/resizer.php +113 -0
- data/util/image-gallery/misc/plugin/recent_image.rb +406 -0
- data/util/image-gallery/skel/gallery.rhtml +154 -0
- data/util/image-gallery/skel/gallery.rhtml.euc-jp +154 -0
- data/util/image-gallery/tdiary.conf.igsample +8 -0
- data/util/image-gallery/theme/image-gallery.css +85 -0
- data/util/image2flickr.rb +282 -0
- data/util/posttdiary/README.ja +12 -0
- data/util/posttdiary/posttdiary-ex.rb +1155 -0
- data/util/posttdiary/posttdiary.rb +245 -0
- data/util/rast-search/ChangeLog +55 -0
- data/util/rast-search/README.ja +99 -0
- data/util/rast-search/en/rast-register.rb +3 -0
- data/util/rast-search/i.rast.rhtml +33 -0
- data/util/rast-search/ja/rast-register.rb +3 -0
- data/util/rast-search/rast-register.rb +326 -0
- data/util/rast-search/rast-search.rb +249 -0
- data/util/rast-search/rast.rhtml +66 -0
- data/util/rast-search/rast.rxml +21 -0
- data/util/section_link/README +11 -0
- data/util/section_link/misc/plugin/section_link.rb +68 -0
- data/util/section_link/misc/plugin/section_link_anchor.rb +38 -0
- data/util/section_link/tdiary/tdiary_day_ext.rb +21 -0
- data/util/section_link/tdiary/tdiaryext_style.rb +36 -0
- data/util/section_link/tdiary/wikiext_style.rb +36 -0
- data/util/tdiary-for-ruby1.9/compatible.rb +97 -0
- data/util/tdiary-for-ruby1.9/tdiary-2.2.0.patch +98 -0
- data/util/tdiary-for-ruby1.9/tdiary-2.3.1.patch +212 -0
- data/util/tdiary-grep/README +4 -0
- data/util/tdiary-grep/grep.rb +445 -0
- data/util/tdiary-mode/http.el +130 -0
- data/util/tdiary-mode/tdiary-mode.el +613 -0
- data/util/tdiary-vim/ChangeLog +25 -0
- data/util/tdiary-vim/README +60 -0
- data/util/tdiary-vim/tdiary.vim +350 -0
- data/util/tdiarysearch/README.en +53 -0
- data/util/tdiarysearch/README.ja +99 -0
- data/util/tdiarysearch/search.rb +504 -0
- metadata +497 -0
@@ -0,0 +1,113 @@
|
|
1
|
+
<?php
|
2
|
+
/* ----------------------------------------------------------------
|
3
|
+
Script coming with JonDesign's SmoothGallery (http://smoothgallery.jondesign.net).
|
4
|
+
|
5
|
+
It is an adapted version of
|
6
|
+
http://sneak.co.nz/2006/10/27/dynamic-image-resizing/
|
7
|
+
which is itself an improvement of the original script from
|
8
|
+
Timothy Crowe's 'veryraw' website, with caching additions added by Trent Davies:
|
9
|
+
http://veryraw.com/history/2005/03/image-resizing-with-php/
|
10
|
+
|
11
|
+
Thanks to:
|
12
|
+
Tim Novinger for finding the image extension problem (fixed by an strtolower())
|
13
|
+
---------------------------------------------------------------- */
|
14
|
+
|
15
|
+
$max_height = 1000;
|
16
|
+
$max_width = 2000;
|
17
|
+
if (isset($_GET["imgfile"]))
|
18
|
+
{
|
19
|
+
if (function_exists(get_magic_quotes_gpc) && get_magic_quotes_gpc())
|
20
|
+
{
|
21
|
+
$image = stripslashes( $_GET["imgfile"] );
|
22
|
+
} else $image = $_GET["imgfile"];
|
23
|
+
if (isset($_GET["max_width"])) { if($_GET["max_width"] < 2000) $max_width = $_GET["max_width"]; }
|
24
|
+
if (isset($_GET["max_height"])) { if($_GET["max_height"] < 1000) $max_height = $_GET["max_height"]; }
|
25
|
+
|
26
|
+
if (strrchr($image, '/')) {
|
27
|
+
$filename = substr(strrchr($image, '/'), 1); // remove folder references
|
28
|
+
} else {
|
29
|
+
$filename = $image;
|
30
|
+
}
|
31
|
+
|
32
|
+
$size = getimagesize($image);
|
33
|
+
$width = $size[0];
|
34
|
+
$height = $size[1];
|
35
|
+
|
36
|
+
// get the ratio needed
|
37
|
+
$x_ratio = $max_width / $width;
|
38
|
+
$y_ratio = $max_height / $height;
|
39
|
+
|
40
|
+
// if image already meets criteria, load current values in
|
41
|
+
// if not, use ratios to load new size info
|
42
|
+
if (($width <= $max_width) && ($height <= $max_height) ) {
|
43
|
+
$tn_width = $width;
|
44
|
+
$tn_height = $height;
|
45
|
+
} else if (($x_ratio * $height) < $max_height) {
|
46
|
+
$tn_height = ceil($x_ratio * $height);
|
47
|
+
$tn_width = $max_width;
|
48
|
+
} else {
|
49
|
+
$tn_width = ceil($y_ratio * $width);
|
50
|
+
$tn_height = $max_height;
|
51
|
+
}
|
52
|
+
|
53
|
+
/* Caching additions by Trent Davies */
|
54
|
+
// first check cache
|
55
|
+
// cache must be world-readable
|
56
|
+
$resized = 'cache/'.$tn_width.'x'.$tn_height.'-'.$filename;
|
57
|
+
$imageModified = @filemtime($image);
|
58
|
+
$thumbModified = @filemtime($resized);
|
59
|
+
|
60
|
+
header("Content-type: image/jpeg");
|
61
|
+
|
62
|
+
// if thumbnail is newer than image then output cached thumbnail and exit
|
63
|
+
if($imageModified<$thumbModified) {
|
64
|
+
header("Last-Modified: ".gmdate("D, d M Y H:i:s",$thumbModified)." GMT");
|
65
|
+
readfile($resized);
|
66
|
+
exit;
|
67
|
+
}
|
68
|
+
|
69
|
+
// read image
|
70
|
+
$ext = strtolower(substr(strrchr($image, '.'), 1)); // get the file extension
|
71
|
+
switch ($ext) {
|
72
|
+
case 'jpg': // jpg
|
73
|
+
$src = imagecreatefromjpeg($image) or notfound();
|
74
|
+
break;
|
75
|
+
case 'png': // png
|
76
|
+
$src = imagecreatefrompng($image) or notfound();
|
77
|
+
break;
|
78
|
+
case 'gif': // gif
|
79
|
+
$src = imagecreatefromgif($image) or notfound();
|
80
|
+
break;
|
81
|
+
default:
|
82
|
+
notfound();
|
83
|
+
}
|
84
|
+
|
85
|
+
// set up canvas
|
86
|
+
$dst = imagecreatetruecolor($tn_width,$tn_height);
|
87
|
+
|
88
|
+
imageantialias ($dst, true);
|
89
|
+
|
90
|
+
// copy resized image to new canvas
|
91
|
+
imagecopyresampled ($dst, $src, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height);
|
92
|
+
|
93
|
+
/* Sharpening adddition by Mike Harding */
|
94
|
+
// sharpen the image (only available in PHP5.1)
|
95
|
+
/*if (function_exists("imageconvolution")) {
|
96
|
+
$matrix = array( array( -1, -1, -1 ),
|
97
|
+
array( -1, 32, -1 ),
|
98
|
+
array( -1, -1, -1 ) );
|
99
|
+
$divisor = 24;
|
100
|
+
$offset = 0;
|
101
|
+
|
102
|
+
imageconvolution($dst, $matrix, $divisor, $offset);
|
103
|
+
}*/
|
104
|
+
|
105
|
+
// send the header and new image
|
106
|
+
imagejpeg($dst, null, 90);
|
107
|
+
imagejpeg($dst, $resized, 90); // write the thumbnail to cache as well...
|
108
|
+
|
109
|
+
// clear out the resources
|
110
|
+
imagedestroy($src);
|
111
|
+
imagedestroy($dst);
|
112
|
+
}
|
113
|
+
?>
|
@@ -0,0 +1,52 @@
|
|
1
|
+
v1.0:
|
2
|
+
* Initial release
|
3
|
+
|
4
|
+
v1.0.1:
|
5
|
+
* Fixed bug in jd.gallery.js that prevented more than 10 images in
|
6
|
+
carousel.
|
7
|
+
* Fixed bug in resizer.php that prevented filenames with extensions in
|
8
|
+
uppercase.
|
9
|
+
|
10
|
+
v1.2:
|
11
|
+
* Fixed thumbGenerator name
|
12
|
+
* Fixed jumping thumbnails bug
|
13
|
+
* In options:
|
14
|
+
- Added useExternalCarousel (boolean, with carouselElement as an element)
|
15
|
+
- Added populateFrom option (element)
|
16
|
+
- Added showCarouselLabel option (boolean)
|
17
|
+
- Added activateCarouselScroller (boolean)
|
18
|
+
- Added slideInfoZoneSlide (boolean)
|
19
|
+
* Switched to mootools 1.11
|
20
|
+
* Added plugin support for digitarald's history manager
|
21
|
+
* Made a version compatible with name-spaced mootools (to be used with prototype, jquery or others)
|
22
|
+
|
23
|
+
v2.0:
|
24
|
+
* Code got cleaner, with some refactored functions. Should still be 80% backward-compatible.
|
25
|
+
* Gallery Set (to select which gallery you want to see and switch between galleries) mode.
|
26
|
+
> (replaces the buggy picture wall in earlier betas).
|
27
|
+
* Changed populate functions (more modular)
|
28
|
+
* Added Flush and recreate functions for slides and carousel
|
29
|
+
* Added transitions engine
|
30
|
+
* Real preloader for the slides.
|
31
|
+
* Preloader for the carousel thanks to Tomocchino's preloader class.
|
32
|
+
* In options:
|
33
|
+
- Added options related to new features
|
34
|
+
- Added thumbIdleOpacity (float)
|
35
|
+
- Allowed carouselElement to be an ID of the element (string)
|
36
|
+
- Added thumbCloseCarousel (boolean)
|
37
|
+
- Added carouselHorizontal (boolean) to prevent spliting the carousel in multiple lines if it's horizontal (default: true)
|
38
|
+
* Transitions (change the effect using defaultTransition option):
|
39
|
+
- Old default is fade.
|
40
|
+
- Real Cross-Fading for transparent PNGs: crossfade.
|
41
|
+
- Fading to background: fadebg.
|
42
|
+
- Some example of a neat fade&slide effect: fadeslideleft.
|
43
|
+
- Continuous scrolling :
|
44
|
+
+ continuoushorizontal
|
45
|
+
+ continuousvertical
|
46
|
+
|
47
|
+
v2.1beta1:
|
48
|
+
* Compatible with mootools 1.2
|
49
|
+
* Fixed carouselHorizontal
|
50
|
+
* Fixed external carousel bug
|
51
|
+
* Update History manager from Digitarald
|
52
|
+
* Added plugin support for digitarald's ReMooz (demozoom.html to see it)
|
@@ -0,0 +1,126 @@
|
|
1
|
+
/**
|
2
|
+
* History.Routing
|
3
|
+
*
|
4
|
+
* @version 2.0
|
5
|
+
*
|
6
|
+
* @license MIT License
|
7
|
+
* @author Harald Kirschner <mail [at] digitarald.de>
|
8
|
+
* @copyright 2008 Author
|
9
|
+
*/
|
10
|
+
|
11
|
+
History.implement(new Options());
|
12
|
+
|
13
|
+
History.implement({
|
14
|
+
|
15
|
+
options: {
|
16
|
+
separator: ';'
|
17
|
+
},
|
18
|
+
|
19
|
+
routes: [],
|
20
|
+
|
21
|
+
register: function(route) {
|
22
|
+
if (this.routes.push(route) == 1) this.addEvent('changed', this.match);
|
23
|
+
},
|
24
|
+
|
25
|
+
unregister: function(route) {
|
26
|
+
this.routes.remove(route);
|
27
|
+
},
|
28
|
+
|
29
|
+
match: function(state, previous, manual) {
|
30
|
+
if (!manual) this.routes.each(Function.methodize('match', this.state));
|
31
|
+
},
|
32
|
+
|
33
|
+
generate: function() {
|
34
|
+
return this.routes.map(Function.methodize('generate')).clean().join(this.options.separator);
|
35
|
+
},
|
36
|
+
|
37
|
+
update: function() {
|
38
|
+
return this.setState(this.generate());
|
39
|
+
}
|
40
|
+
|
41
|
+
});
|
42
|
+
|
43
|
+
History.Route = new Class({
|
44
|
+
|
45
|
+
Implements: [Events, Options],
|
46
|
+
|
47
|
+
/**
|
48
|
+
* pattern: Regular expression that matches the string updated from onGenerate
|
49
|
+
* defaults: Default values array, initially empty.
|
50
|
+
* flags: When regexp is a String, this is the second argument for new RegExp.
|
51
|
+
* skipDefaults: default true; generate is not called when current values are similar to the default values.
|
52
|
+
* generate: Should return the string for the state string, values are first argument
|
53
|
+
* onMatch: Will be called when the regexp matches, with the new values as argument.
|
54
|
+
*/
|
55
|
+
options: {
|
56
|
+
skipDefaults: true,
|
57
|
+
defaults: [],
|
58
|
+
pattern: null,
|
59
|
+
flags: '',
|
60
|
+
generate: function(values) {
|
61
|
+
return values[0];
|
62
|
+
},
|
63
|
+
onMatch: $empty
|
64
|
+
},
|
65
|
+
|
66
|
+
initialize: function(options){
|
67
|
+
this.setOptions(options);
|
68
|
+
this.pattern = this.options.pattern || '(.*)';
|
69
|
+
if ($type(this.pattern) == 'string') this.pattern = new RegExp(this.pattern, this.options.flags);
|
70
|
+
this.values = this.defaults = this.options.defaults.slice();
|
71
|
+
History.register(this);
|
72
|
+
return this;
|
73
|
+
},
|
74
|
+
|
75
|
+
setValues: function(values) {
|
76
|
+
if (this.values.toString() == values.toString()) return this;
|
77
|
+
this.values = values;
|
78
|
+
History.update();
|
79
|
+
return this;
|
80
|
+
},
|
81
|
+
|
82
|
+
setValue: function(index, value) {
|
83
|
+
if (this.values[index] == value) return this;
|
84
|
+
this.values[index] = value;
|
85
|
+
History.update();
|
86
|
+
return this;
|
87
|
+
},
|
88
|
+
|
89
|
+
build: function(values) {
|
90
|
+
var tmp = this.values.slice();
|
91
|
+
this.values = values;
|
92
|
+
var state = History.generate();
|
93
|
+
this.values = tmp;
|
94
|
+
return state;
|
95
|
+
},
|
96
|
+
|
97
|
+
destroy: function() {
|
98
|
+
History.unregister(this);
|
99
|
+
},
|
100
|
+
|
101
|
+
generate: function() {
|
102
|
+
if (this.options.skipDefaultMatch && (String(this.values) == String(this.defaults))) return null;
|
103
|
+
return this.options.generate.call(this, this.values);
|
104
|
+
},
|
105
|
+
|
106
|
+
match: function(state) {
|
107
|
+
var bits = state.match(this.pattern);
|
108
|
+
var defaults = this.defaults;
|
109
|
+
if (bits) {
|
110
|
+
bits.splice(0, 1);
|
111
|
+
for (var i = 0, j = bits.length; i < j; i++) bits[i] = $pick(bits[i], defaults[i] || null);
|
112
|
+
if (String(bits) != String(defaults)) this.values = bits;
|
113
|
+
} else {
|
114
|
+
this.values = this.defaults.slice();
|
115
|
+
}
|
116
|
+
this.fireEvent('onMatch', [this.values, this.defaults]);
|
117
|
+
}
|
118
|
+
|
119
|
+
});
|
120
|
+
|
121
|
+
Function.methodize = function(name) {
|
122
|
+
var args = Array.slice(arguments, 1);
|
123
|
+
return function(obj) {
|
124
|
+
return obj[name].apply(obj, args);
|
125
|
+
};
|
126
|
+
};
|
@@ -0,0 +1,109 @@
|
|
1
|
+
/**
|
2
|
+
* History
|
3
|
+
*
|
4
|
+
* @version 1.0
|
5
|
+
*
|
6
|
+
* @license MIT License
|
7
|
+
* @author Harald Kirschner <mail [at] digitarald.de>
|
8
|
+
* @copyright 2008 Author
|
9
|
+
*/
|
10
|
+
|
11
|
+
var History = $extend(history, {
|
12
|
+
|
13
|
+
implement: function(obj) {
|
14
|
+
return $extend(this, obj);
|
15
|
+
}
|
16
|
+
|
17
|
+
});
|
18
|
+
|
19
|
+
History.implement(new Events($empty));
|
20
|
+
|
21
|
+
History.implement({
|
22
|
+
|
23
|
+
state: null,
|
24
|
+
|
25
|
+
start: function() {
|
26
|
+
if (this.started) return this;
|
27
|
+
this.state = this.getHash();
|
28
|
+
if (Browser.Engine.trident) {
|
29
|
+
var iframe = new Element('iframe', {
|
30
|
+
'src': "javascript:'<html></html>'",
|
31
|
+
'styles': {
|
32
|
+
'position': 'absolute',
|
33
|
+
'top': '-1000px'
|
34
|
+
}
|
35
|
+
}).inject(document.body).contentWindow;
|
36
|
+
var writeState = function(state) {
|
37
|
+
iframe.document.write('<html><body onload="top.History.$listener(\'', encodeURIComponent(state) ,'\');">Moo!</body></html>');
|
38
|
+
iframe.document.close();
|
39
|
+
};
|
40
|
+
$extend(this, {
|
41
|
+
'$listener': function(state) {
|
42
|
+
state = decodeURIComponent(state);
|
43
|
+
if (this.state != state) this.setHash(state).changeState(state);
|
44
|
+
}.bind(this),
|
45
|
+
'setState': function(state, force) {
|
46
|
+
if (this.state != state || force) {
|
47
|
+
if (!force) this.setHash(state).changeState(state, true);
|
48
|
+
writeState(state);
|
49
|
+
}
|
50
|
+
return this;
|
51
|
+
},
|
52
|
+
'trace': function() {
|
53
|
+
var state = this.getHash();
|
54
|
+
if (state != this.state) writeState(state);
|
55
|
+
}
|
56
|
+
});
|
57
|
+
var check = (function() {
|
58
|
+
if (iframe.document && iframe.document.body) {
|
59
|
+
check = $clear(check);
|
60
|
+
if (!iframe.document.body.innerHTML) this.setState(this.state);
|
61
|
+
}
|
62
|
+
}).periodical(50, this);
|
63
|
+
} else {
|
64
|
+
if (Browser.Engine.presto915) {
|
65
|
+
new Element('img', {
|
66
|
+
'src': "javascript:location.href='javascript:History.trace();';",
|
67
|
+
'styles': {
|
68
|
+
'position': 'absolute',
|
69
|
+
'top': '-1000px'
|
70
|
+
}
|
71
|
+
}).inject(document.body);
|
72
|
+
}
|
73
|
+
}
|
74
|
+
this.trace.periodical(150, this);
|
75
|
+
this.started = true;
|
76
|
+
return this;
|
77
|
+
},
|
78
|
+
|
79
|
+
changeState: function(state, manual) {
|
80
|
+
var stateOld = this.state;
|
81
|
+
this.state = state;
|
82
|
+
this.fireEvent('changed', [state, stateOld, manual]);
|
83
|
+
},
|
84
|
+
|
85
|
+
trace: function() {
|
86
|
+
var state = this.getHash();
|
87
|
+
if (state != this.state) this.changeState(state);
|
88
|
+
},
|
89
|
+
|
90
|
+
getHash: function() {
|
91
|
+
var href = location.href, pos = href.indexOf('#') + 1;
|
92
|
+
return (pos) ? href.substr(pos) : '';
|
93
|
+
},
|
94
|
+
|
95
|
+
setHash: function(state) {
|
96
|
+
location.hash = '#' + state;
|
97
|
+
return this;
|
98
|
+
},
|
99
|
+
|
100
|
+
setState: function(state) {
|
101
|
+
if (this.state !== state) this.setHash(state).changeState(state, true);
|
102
|
+
return this;
|
103
|
+
},
|
104
|
+
|
105
|
+
getState: function() {
|
106
|
+
return this.state;
|
107
|
+
}
|
108
|
+
|
109
|
+
});
|