tdiary-contrib 3.2.2.20130518
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
+
});
|