summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--build/apt/.gitignore5
-rw-r--r--build/apt/DEBIAN/control16
-rwxr-xr-xbuild/apt/DEBIAN/postinst143
-rwxr-xr-xbuild/apt/DEBIAN/prerm30
-rw-r--r--build/apt/DEBIAN/templates68
-rw-r--r--build/apt/README25
-rw-r--r--build/apt/TODO7
-rwxr-xr-xbuild/apt/build/build.sh236
-rw-r--r--build/apt/build/makejar.diff17
-rwxr-xr-xbuild/apt/build/run.sh28
-rwxr-xr-xbuild/apt/build/test.sh52
-rwxr-xr-xbuild/apt/do.sh127
-rw-r--r--build/apt/etc/etherpad/etherpad.properties16
-rw-r--r--build/apt/etc/etherpad/properties/admin-password0
-rw-r--r--build/apt/etc/etherpad/properties/database-host0
-rw-r--r--build/apt/etc/etherpad/properties/database-name0
-rw-r--r--build/apt/etc/etherpad/properties/database-password0
-rw-r--r--build/apt/etc/etherpad/properties/database-port0
-rw-r--r--build/apt/etc/etherpad/properties/database-username0
-rw-r--r--build/apt/etc/etherpad/properties/is-production0
-rw-r--r--build/apt/etc/etherpad/properties/port0
-rwxr-xr-xbuild/apt/etc/init.d/etherpad235
-rw-r--r--etherpad/etc/etherpad.localdev-default.properties1
-rw-r--r--etherpad/src/etherpad/admin/plugins.js6
-rw-r--r--etherpad/src/etherpad/control/admincontrol.js17
-rw-r--r--etherpad/src/etherpad/globals.js6
-rw-r--r--etherpad/src/etherpad/pro/pro_utils.js5
-rw-r--r--etherpad/src/main.js32
-rw-r--r--etherpad/src/plugins/fileUpload/controllers/fileUpload.js87
-rw-r--r--etherpad/src/plugins/fileUpload/hooks.js11
-rw-r--r--etherpad/src/plugins/fileUpload/main.js19
-rw-r--r--etherpad/src/plugins/fileUpload/models.js95
-rw-r--r--etherpad/src/plugins/fileUpload/templates/fileUpload.ejs (renamed from etherpad/src/templates/pro/admin/manage-billing.ejs)33
-rw-r--r--etherpad/src/plugins/fileUpload/templates/fileUploaded.ejs5
-rw-r--r--etherpad/src/plugins/twitterStyleTags/controllers/tagBrowser.js26
-rw-r--r--etherpad/src/plugins/twitterStyleTags/static/css/tagBrowser.css2
-rw-r--r--etherpad/src/plugins/twitterStyleTags/templates/tagBrowser.ejs36
-rw-r--r--etherpad/src/static/css/beta.css49
-rw-r--r--etherpad/src/static/css/connection_diagnostics.css13
-rw-r--r--etherpad/src/static/css/fluxbb.css55
-rw-r--r--etherpad/src/static/css/home-opensource.css4
-rw-r--r--etherpad/src/static/css/home.css264
-rw-r--r--etherpad/src/static/css/pad.css1000
-rw-r--r--etherpad/src/static/css/pad2_ejs.css92
-rw-r--r--etherpad/src/static/css/pne-manual.css143
-rw-r--r--etherpad/src/static/css/pricing.css153
-rw-r--r--etherpad/src/static/css/pro/payment-required.css39
-rw-r--r--etherpad/src/static/css/stats.css71
-rw-r--r--etherpad/src/static/css/store/eepnet-checkout.css284
-rw-r--r--etherpad/src/static/css/store/ondemand-billing.css170
-rw-r--r--etherpad/src/static/css/store/store.css90
-rw-r--r--etherpad/src/static/img/about/appjet-logo-large.gifbin11045 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/appjet-logo-medium.pngbin4127 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/investors/mitchkapor.jpgbin30223 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/investors/pb.jpgbin23929 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/investors/pg.jpgbin28915 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/investors/sanjeev.jpgbin23342 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/investors/seth.jpgbin27346 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/people/aaron-david-iphones-thumb.jpgbin145654 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/people/aaron-david-iphones.jpgbin145654 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/people/aaron-google-air.jpgbin163592 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/people/aaron-headshot-thumb.jpgbin11310 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/people/aaron-headshot.jpgbin83517 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/people/aaron-headshot2-thumb.jpgbin29884 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/people/aaron-headshot2.jpgbin99738 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/people/aaron-headshot3-thumb.jpgbin27864 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/people/aaron-headshot3.jpgbin195114 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/people/daniel-headshot-thumb.jpgbin21991 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/people/david-headshot-thumb.jpgbin18650 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/people/david-headshot.jpgbin63296 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/people/davy-headshot.jpgbin20175 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/people/jd-headshot-thumb.jpgbin13008 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/people/jd-headshot.jpgbin37777 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/people/rhonda-headshot-thumb.jpgbin17360 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/people/rhonda-headshot.jpgbin133259 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/pier38.pngbin66877 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/quote-close.pngbin1361 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/quote-open.pngbin1341 -> 0 bytes
-rw-r--r--etherpad/src/static/img/about/screencastpreview800x600.jpgbin248364 -> 0 bytes
-rw-r--r--etherpad/src/static/img/account/betawarn.jpgbin13535 -> 0 bytes
-rw-r--r--etherpad/src/static/img/acecarets/000000.gifbin41 -> 0 bytes
-rw-r--r--etherpad/src/static/img/acecarets/666666.gifbin41 -> 0 bytes
-rw-r--r--etherpad/src/static/img/acecarets/999999.gifbin41 -> 0 bytes
-rw-r--r--etherpad/src/static/img/acecarets/default.gifbin43 -> 0 bytes
-rw-r--r--etherpad/src/static/img/apr09/backgrad.pngbin2276 -> 0 bytes
-rw-r--r--etherpad/src/static/img/apr09/black35.pngbin221 -> 0 bytes
-rw-r--r--etherpad/src/static/img/apr09/blank.gifbin129 -> 0 bytes
-rw-r--r--etherpad/src/static/img/apr09/modalbar.gifbin145 -> 0 bytes
-rw-r--r--etherpad/src/static/img/apr09/newpadicon.gifbin89 -> 0 bytes
-rw-r--r--etherpad/src/static/img/apr09/shadbot.pngbin149 -> 0 bytes
-rw-r--r--etherpad/src/static/img/apr09/shadleft.pngbin142 -> 0 bytes
-rw-r--r--etherpad/src/static/img/apr09/shadleftbot.pngbin172 -> 0 bytes
-rw-r--r--etherpad/src/static/img/apr09/shadlefttop.pngbin929 -> 0 bytes
-rw-r--r--etherpad/src/static/img/apr09/shadright.pngbin136 -> 0 bytes
-rw-r--r--etherpad/src/static/img/apr09/shadrightbot.pngbin174 -> 0 bytes
-rw-r--r--etherpad/src/static/img/apr09/shadrighttop.pngbin954 -> 0 bytes
-rw-r--r--etherpad/src/static/img/apr09/topbar.gifbin180 -> 0 bytes
-rw-r--r--etherpad/src/static/img/apr09/topbarlogo.gifbin1784 -> 0 bytes
-rw-r--r--etherpad/src/static/img/apr09/widthfull.gifbin104 -> 0 bytes
-rw-r--r--etherpad/src/static/img/apr09/widthfullactive.gifbin104 -> 0 bytes
-rw-r--r--etherpad/src/static/img/apr09/widthlim.gifbin102 -> 0 bytes
-rw-r--r--etherpad/src/static/img/apr09/widthlimactive.gifbin102 -> 0 bytes
-rw-r--r--etherpad/src/static/img/billing/amex.gifbin995 -> 0 bytes
-rw-r--r--etherpad/src/static/img/billing/creditcard.gifbin1229 -> 0 bytes
-rw-r--r--etherpad/src/static/img/billing/csc-help.gifbin9430 -> 0 bytes
-rw-r--r--etherpad/src/static/img/billing/disc.gifbin370 -> 0 bytes
-rw-r--r--etherpad/src/static/img/billing/invoice.gifbin424 -> 0 bytes
-rw-r--r--etherpad/src/static/img/billing/mc.gifbin1370 -> 0 bytes
-rw-r--r--etherpad/src/static/img/billing/paypal.gifbin812 -> 0 bytes
-rw-r--r--etherpad/src/static/img/billing/visa.gifbin724 -> 0 bytes
-rw-r--r--etherpad/src/static/img/blog/posts/new-features/fullwidth.gifbin7328 -> 0 bytes
-rw-r--r--etherpad/src/static/img/blog/posts/new-features/importexport.gifbin9758 -> 0 bytes
-rw-r--r--etherpad/src/static/img/blog/posts/new-features/richtext.gifbin2146 -> 0 bytes
-rw-r--r--etherpad/src/static/img/blog/posts/new-features/viewzoom.gifbin8257 -> 0 bytes
-rw-r--r--etherpad/src/static/img/blog/posts/pricing-survey-results.pngbin12994 -> 0 bytes
-rw-r--r--etherpad/src/static/img/blog/posts/pricing-survey.pngbin10589 -> 0 bytes
-rw-r--r--etherpad/src/static/img/blog/posts/time-slider-screenshot.gifbin6544 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/bg/home-features-bottom.gifbin308 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/bg/home-features-free-bottom.gifbin298 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/bg/home-features-paid-top.gifbin459 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/bg/home-features-top.gifbin489 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/bg/home-nav-selected.pngbin195 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/bg/home-screencast.pngbin5738 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/bg/home2.pngbin367 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/bg/product-nav-selected-white.pngbin196 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/bg/product-nav-selected.pngbin198 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/btn/createpad-home.gifbin5839 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/btn/createpad-large.gifbin6614 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/btn/intro-screencast.pngbin815 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/btn/intro-testimonials.pngbin816 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/btn/learnmore.gifbin3103 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/btn/signup-home-2.gifbin5827 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/btn/signup-home-3.gifbin5735 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/btn/signup-home-4.gifbin5818 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/btn/signup-home.gifbin5815 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/btn/uses-more.gifbin1485 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/gfx/32/114.pngbin2424 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/gfx/32/15.pngbin2904 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/gfx/32/65.pngbin3028 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/gfx/32/78.pngbin2208 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/gfx/bullet.gifbin55 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/gfx/home-logo2.gifbin7136 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/gfx/home-screencast.pngbin65832 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/gfx/plane.gifbin56 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/gfx/product-logo.gifbin2222 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/gfx/screenshot.gifbin23708 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/gfx/use-meetings.gifbin10521 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/gfx/use-meetings.pngbin25506 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/gfx/use-programming.gifbin13655 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/gfx/use-programming.pngbin56154 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/gfx/use-writing.gifbin22275 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/gfx/use-writing.pngbin38264 -> 0 bytes
-rw-r--r--etherpad/src/static/img/davy/txt/home-button.gifbin4749 -> 0 bytes
-rw-r--r--etherpad/src/static/img/featuretour/code.gifbin27794 -> 0 bytes
-rw-r--r--etherpad/src/static/img/featuretour/edits.gifbin24788 -> 0 bytes
-rw-r--r--etherpad/src/static/img/featuretour/editsandusers.gifbin21815 -> 0 bytes
-rw-r--r--etherpad/src/static/img/featuretour/padlock.pngbin13061 -> 0 bytes
-rw-r--r--etherpad/src/static/img/featuretour/revisions.gifbin20820 -> 0 bytes
-rw-r--r--etherpad/src/static/img/featuretour/users.gifbin8843 -> 0 bytes
-rw-r--r--etherpad/src/static/img/feb09/framedheaderback.gifbin606 -> 0 bytes
-rw-r--r--etherpad/src/static/img/feb09/framedheaderlogo.gifbin8177 -> 0 bytes
-rw-r--r--etherpad/src/static/img/feb09/home_firstp.gifbin7754 -> 0 bytes
-rw-r--r--etherpad/src/static/img/feb09/home_firstp.pngbin15320 -> 0 bytes
-rw-r--r--etherpad/src/static/img/feb09/home_firstp2.gifbin7919 -> 0 bytes
-rw-r--r--etherpad/src/static/img/feb09/home_h1.gifbin11332 -> 0 bytes
-rw-r--r--etherpad/src/static/img/feb09/home_h1.pngbin28857 -> 0 bytes
-rw-r--r--etherpad/src/static/img/feb09/home_newpadbutton.gifbin6828 -> 0 bytes
-rw-r--r--etherpad/src/static/img/feb09/home_newpadbutton.pngbin10554 -> 0 bytes
-rw-r--r--etherpad/src/static/img/feb09/home_newpadbutton2.gifbin7112 -> 0 bytes
-rw-r--r--etherpad/src/static/img/feb09/home_newpadbutton_eepnet.gifbin5442 -> 0 bytes
-rw-r--r--etherpad/src/static/img/feb09/hometop_back.gifbin2743 -> 0 bytes
-rw-r--r--etherpad/src/static/img/feb09/nav1.gifbin10901 -> 0 bytes
-rw-r--r--etherpad/src/static/img/feb09/nav1_back.gifbin150 -> 0 bytes
-rw-r--r--etherpad/src/static/img/feb09/nav2.gifbin17028 -> 0 bytes
-rw-r--r--etherpad/src/static/img/feb09/screencast.gifbin20091 -> 0 bytes
-rw-r--r--etherpad/src/static/img/home/etherpad-mainheader1.jpgbin48871 -> 0 bytes
-rw-r--r--etherpad/src/static/img/home/headergradient.gifbin246 -> 0 bytes
-rw-r--r--etherpad/src/static/img/home/homeheader1.jpgbin33227 -> 0 bytes
-rw-r--r--etherpad/src/static/img/home/homeheader2.jpgbin33259 -> 0 bytes
-rw-r--r--etherpad/src/static/img/home/leftgrad.gifbin113 -> 0 bytes
-rw-r--r--etherpad/src/static/img/home/pencilpaperback.pngbin83487 -> 0 bytes
-rw-r--r--etherpad/src/static/img/home/screencapture1.gifbin106694 -> 0 bytes
-rw-r--r--etherpad/src/static/img/home/underdevicon.gifbin98 -> 0 bytes
-rw-r--r--etherpad/src/static/img/icon/downarrow.gifbin376 -> 0 bytes
-rw-r--r--etherpad/src/static/img/icon/feed.gifbin1135 -> 0 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/bottomareagfx.gifbin1045 -> 0 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/connectionindicator.gifbin1185 -> 0 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/docbarstates.pngbin3314 -> 0 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/docbarstates2.pngbin4902 -> 0 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/docbarstates3.pngbin4990 -> 0 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/docpaneledge.pngbin589 -> 0 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/docpanelmiddle.pngbin240 -> 0 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/editbar.gifbin4667 -> 0 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/editbar2.gifbin9156 -> 0 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/icon_import_export.gifbin0 -> 96 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/icon_pad_options.gifbin0 -> 67 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/icon_saved_revisions.gifbin0 -> 81 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/icon_security.gifbin0 -> 87 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/icon_time_slider.gifbin0 -> 92 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/ok_or_cancel.gifbin0 -> 1630 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/overlay.pngbin141 -> 0 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/padtop.gifbin8055 -> 0 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/padtop2.gifbin6168 -> 0 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/padtop3.gifbin7511 -> 0 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/padtop4.gifbin8192 -> 0 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/padtop5.gifbin8964 -> 3917 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/padtopback.gifbin553 -> 0 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/roundcorner_left.gifbin0 -> 147 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/roundcorner_right.gifbin0 -> 156 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/roundcorner_right_orange.gifbin0 -> 196 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/sharebox2.gifbin8836 -> 0 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/sharebox3.gifbin6056 -> 0 bytes
-rw-r--r--etherpad/src/static/img/jun09/pad/syncing2.gifbin172 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/bold.gifbin70 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/doc.pngbin3317 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/html.pngbin3468 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/italic.gifbin73 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/leftarrow.gifbin1016 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/leftarrow2.gifbin950 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/link.gifbin622 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/link.pngbin3323 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/odt.gifbin405 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/odt.pngbin3341 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/padlock.gifbin1053 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/padlockopen.gifbin109 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/passwordlocked.gifbin1053 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/passwordlocked_cropped.gifbin114 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/passwordnone.gifbin636 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/paypal.gifbin3794 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/pdf.pngbin3320 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/redo.gifbin78 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/txt.pngbin3139 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/underline.gifbin81 -> 0 bytes
-rw-r--r--etherpad/src/static/img/may09/undo.gifbin79 -> 0 bytes
-rw-r--r--etherpad/src/static/img/miniplane.gifbin70 -> 0 bytes
-rw-r--r--etherpad/src/static/img/misc/diagnostic-links.gifbin10132 -> 0 bytes
-rw-r--r--etherpad/src/static/img/misc/traclogo.gifbin5684 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/atlonglast.gifbin4901 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/banner1.jpgbin19897 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/banner2.jpgbin45052 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/banner3.jpgbin38726 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/banner4.jpgbin39563 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/banner5.gifbin24046 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/banner6.gifbin23655 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/banner7.gifbin24352 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/banner8.gifbin24724 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/banner9.gifbin24363 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/bannerback5.gifbin2957 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/bannerback6.gifbin2140 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/bodyback1.gifbin488 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/bodyback2.gifbin560 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/bodyback3.gifbin608 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/bodyback4.gifbin964 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/bodyback5.gifbin579 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/bodybacktop1.gifbin2991 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/computers.gifbin27542 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/computers2.gifbin27434 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/glossyblue.gifbin1521 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/glossyblue2.gifbin994 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/glossyblueh.gifbin920 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/insetrect.gifbin7056 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/minilogo1-05e.gifbin2201 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/minilogo1-07f.gifbin2252 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/minilogo3.jpgbin12805 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/minitopback1.gifbin954 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/minitopback2.gifbin1598 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/minitopbar1-05e.gifbin284 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/minitopbar2-05e.gifbin330 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/minitopbar2-07f.gifbin330 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/minitopbar3.jpgbin12805 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/minitopbar4.gifbin2818 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/minitoplogo1.gifbin4184 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/minitoplogo2.gifbin3255 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/newpadmain.gifbin1172 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/newpadmainback.gifbin801 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/newpadmainbackh.gifbin801 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/pageshot.pngbin151570 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/pageshotmini.pngbin80505 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/sidehead-gradhilite.gifbin288 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/tinytriangle.gifbin62 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/topnav1.gifbin12521 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/topnav2.gifbin11286 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/topnav3.gifbin12363 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/topnav4.gifbin11803 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/topnav5.gifbin11650 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/topnav6.gifbin11295 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/topnavback1.gifbin1594 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/topnavback2.gifbin1299 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/topnavback3.gifbin380 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/usecasesnavdown.gifbin1388 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/usecasesnavdownh.gifbin1337 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/usecasesnavup.gifbin1119 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/usecasesnavuph.gifbin720 -> 0 bytes
-rw-r--r--etherpad/src/static/img/oct/watchscreencast.gifbin25840 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/animated-orb-orange-12.gifbin2614 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/backgrad.pngbin1290 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/backshadow/backshadow-940-20-eee-20.gifbin1052 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-20.gifbin1052 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-40.gifbin1009 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-60.gifbin1123 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/backshadow/botshadow-940-20-eee-20.gifbin1746 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/etherpad-logo-small-grad.gifbin1537 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/etherpad-logo-small.gifbin6664 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/etherpad-logo-small2.gifbin6646 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/expandy-arrow-down.gifbin500 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/expandy-arrow-right.gifbin296 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/expandy-arrow6-down-active.gifbin57 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/expandy-arrow6-down.gifbin57 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/expandy-arrow6-right-active.gifbin61 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/expandy-arrow6-right.gifbin61 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/header-revgrad.gifbin598 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/newpad.gifbin251 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/orb-greenred-12.gifbin1105 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/padbg1.jpgbin120888 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/padbg2.jpgbin44119 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/padbg3.jpgbin12577 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/padbg4.jpgbin12696 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/padbg5.jpgbin8158 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/padhead1.jpgbin13413 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/padhead2.jpgbin14104 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/padhead3.jpgbin6750 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/pencil-icon-small-blue.gifbin84 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/sidehead-grad.gifbin292 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/timeslider/button_depressed.pngbin4610 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/timeslider/button_undepressed.pngbin4625 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/timeslider/crushed_pause.pngbin2876 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/timeslider/crushed_play.pngbin2946 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/timeslider/crushed_play_button.pngbin4305 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/timeslider/current_location.gifbin1502 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/timeslider/pause.gifbin3320 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/timeslider/play.gifbin3297 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/timeslider/star.gifbin3511 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pad/timeslider/timeslider_mockup.pngbin4860 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pricing/free.gifbin7419 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pricing/group.gifbin6783 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pricing/on-demand.gifbin5791 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pricing/private-network.gifbin4677 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pricing/support.gifbin2028 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pro/billing/cards-button.gifbin9524 -> 0 bytes
-rw-r--r--etherpad/src/static/img/pro/header/pro-header-back.gifbin213 -> 0 bytes
-rw-r--r--etherpad/src/static/img/tinyplane.gifbin59 -> 0 bytes
-rw-r--r--etherpad/src/static/img/wavejet.jpgbin55379 -> 0 bytes
-rwxr-xr-xetherpad/src/static/swf/vidplayer.swfbin41390 -> 0 bytes
-rw-r--r--etherpad/src/templates/admin/pluginmanager.ejs60
-rw-r--r--etherpad/src/templates/beta/signup.ejs63
-rw-r--r--etherpad/src/templates/email/eepnet_license_info.ejs72
-rw-r--r--etherpad/src/templates/email/eepnet_purchase_receipt.ejs93
-rw-r--r--etherpad/src/templates/email/pro_beta_invite.ejs23
-rw-r--r--etherpad/src/templates/email/pro_payment_failure.ejs26
-rw-r--r--etherpad/src/templates/email/pro_payment_receipt.ejs55
-rw-r--r--etherpad/src/templates/framed/framedheader-pro.ejs6
-rw-r--r--etherpad/src/templates/main/home.ejs14
-rw-r--r--etherpad/src/templates/pad/create_body_rafter.ejs23
-rw-r--r--etherpad/src/templates/pad/exporthtml.ejs28
-rw-r--r--etherpad/src/templates/pad/pad_body.ejs69
-rw-r--r--etherpad/src/templates/pad/pad_body2.ejs46
-rw-r--r--etherpad/src/templates/pad/pad_content.ejs300
-rw-r--r--etherpad/src/templates/pad/pad_download_link.ejs27
-rw-r--r--etherpad/src/templates/pad/padfull_body.ejs32
-rw-r--r--etherpad/src/templates/pad/padslider_body.ejs41
-rw-r--r--etherpad/src/templates/pad/total_users_exceeded.ejs29
-rw-r--r--etherpad/src/templates/pro-help/billing.ejs45
-rw-r--r--etherpad/src/templates/pro-help/essentials.ejs18
-rw-r--r--etherpad/src/templates/pro/account/create-admin-account.ejs37
-rw-r--r--etherpad/src/templates/pro/account/global-multi-domain-recover-email.ejs27
-rw-r--r--etherpad/src/templates/pro/account/guest-knock.ejs27
-rw-r--r--etherpad/src/templates/pro/account/signin-guest.ejs51
-rw-r--r--etherpad/src/templates/pro/admin/admin.ejs15
-rw-r--r--etherpad/src/templates/pro/admin/billing-invoices.ejs45
-rw-r--r--etherpad/src/templates/pro/admin/pne-config.ejs33
-rw-r--r--etherpad/src/templates/pro/admin/pne-dashboard.ejs40
-rw-r--r--etherpad/src/templates/pro/admin/pne-license-manager.ejs132
-rw-r--r--etherpad/src/templates/pro/admin/pne-shell.ejs33
-rw-r--r--etherpad/src/templates/pro/admin/pro-config.ejs55
-rw-r--r--etherpad/src/templates/pro/admin/single-invoice.ejs47
-rw-r--r--etherpad/src/templates/pro/pro-payment-required.ejs51
-rw-r--r--etherpad/src/templates/statistics/stat_page.ejs89
-rw-r--r--etherpad/src/templates/store/csc-help.ejs23
-rw-r--r--etherpad/src/templates/store/eepnet-checkout/billing-info.ejs183
-rw-r--r--etherpad/src/templates/store/eepnet-checkout/cart.ejs119
-rw-r--r--etherpad/src/templates/store/eepnet-checkout/checkout-template.ejs38
-rw-r--r--etherpad/src/templates/store/eepnet-checkout/confirmation.ejs33
-rw-r--r--etherpad/src/templates/store/eepnet-checkout/license-info.ejs40
-rw-r--r--etherpad/src/templates/store/eepnet-checkout/purchase.ejs33
-rw-r--r--etherpad/src/templates/store/eepnet-checkout/receipt.ejs43
-rw-r--r--etherpad/src/templates/store/eepnet-checkout/summary.ejs91
-rw-r--r--etherpad/src/templates/store/eepnet-checkout/support-contract.ejs41
-rw-r--r--etherpad/src/templates/store/eepnet_download.ejs43
-rw-r--r--etherpad/src/templates/store/eepnet_eval_nextsteps.ejs40
-rw-r--r--etherpad/src/templates/store/eepnet_eval_signup.ejs125
-rw-r--r--infrastructure/framework-src/modules/faststatic.js26
-rw-r--r--infrastructure/lib/commons-fileupload-1.2.1-javadoc.jarbin0 -> 275779 bytes
-rw-r--r--infrastructure/lib/commons-fileupload-1.2.1-sources.jarbin0 -> 73721 bytes
-rw-r--r--infrastructure/lib/commons-fileupload-1.2.1.jarbin0 -> 57779 bytes
-rw-r--r--infrastructure/lib/commons-io-1.4-javadoc.jarbin0 -> 499643 bytes
-rw-r--r--infrastructure/lib/commons-io-1.4-sources.jarbin0 -> 163177 bytes
-rw-r--r--infrastructure/lib/commons-io-1.4.jarbin0 -> 109043 bytes
398 files changed, 1472 insertions, 4972 deletions
diff --git a/.gitignore b/.gitignore
index e48532d..d0995e3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,4 @@ etherpad/src/static/js/cssmanager_client.js
etherpad/src/static/js/domline_client.js
etherpad/src/static/js/easysync2_client.js
etherpad/src/static/js/linestylefilter_client.js
+etherpad/*.log
diff --git a/build/apt/.gitignore b/build/apt/.gitignore
new file mode 100644
index 0000000..50139f0
--- /dev/null
+++ b/build/apt/.gitignore
@@ -0,0 +1,5 @@
+*~
+.tmp*
+.build*
+.package*
+.revision*
diff --git a/build/apt/DEBIAN/control b/build/apt/DEBIAN/control
new file mode 100644
index 0000000..0129652
--- /dev/null
+++ b/build/apt/DEBIAN/control
@@ -0,0 +1,16 @@
+Package: etherpad-%BRANCH%
+Priority: optional
+Section: web
+Maintainer: penSec.IT UG (haftungsbeschränkt) <etherpad@pensec.it>
+Architecture: all
+Version: 1.0-%REVISION%
+Depends: debconf (>= 0.2.17), sun-java6-jre, scala, mysql-server, mysql-client, libmysql-java, bash
+Description: Etherpad is...
+ EtherPad is the only web-based word processor that allows people to work
+ together in really real-time.
+ .
+ When multiple people edit the same document simultaneously, any changes are
+ instantly reflected on everyone's screen. The result is a new and productive
+ way to collaborate on text documents, useful for meeting notes, drafting
+ sessions, education, team programming, and more.
+
diff --git a/build/apt/DEBIAN/postinst b/build/apt/DEBIAN/postinst
new file mode 100755
index 0000000..f872508
--- /dev/null
+++ b/build/apt/DEBIAN/postinst
@@ -0,0 +1,143 @@
+#!/bin/bash
+
+################################################################################
+#
+# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt)
+# http://www.pensec.it
+# mail@pensec.it
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+#
+################################################################################
+
+
+
+set -e
+. /usr/share/debconf/confmodule
+
+if [ -n "$ETHERPAD_DEBUG" ]; then
+ echo "now debugging $0 $@"
+ set -x
+fi
+
+db_version 2.0
+
+
+
+
+
+#####
+#
+# Propts the user for a configuration value and writes it into a property file
+#
+# @param $1 Name of the debconfig template to prompt
+# @param $2 File to write the answer to
+# @param $3 deprecated
+#
+function configuration_property() {
+ TEMPLATE="${1}"
+ PROPERTY_FILE="/etc/etherpad/properties/${2}"
+ PLACEHOLDER="${3}"
+
+ PROPERTY=""
+ if [ -f "${PROPERTY_FILE}" ]; then
+ PROPERTY=`cat "${PROPERTY_FILE}"`
+ fi
+ db_input high "etherpad-%BRANCH%/${TEMPLATE}" || true
+ db_go
+
+ db_get "etherpad-%BRANCH%/${TEMPLATE}"
+ if [ "" != "$RET" ]; then
+ PROPERTY="$RET"
+ fi
+
+ echo "${PROPERTY}" > "${PROPERTY_FILE}"
+}
+#
+#####
+
+
+
+case "$1" in
+
+ configure)
+
+ # Create system user
+ if ! getent passwd etherpad > /dev/null ; then
+ echo 'Adding system-user for etherpad' 1>&2
+ adduser --system --group --quiet \
+ --home /usr/share/etherpad --no-create-home \
+ --disabled-login --force-badname etherpad
+ fi
+
+
+ # Give user the rights to write into the log & data directory
+ if [ -d "/var/log/etherpad" ]; then
+ EMPTY_STATEMENT="true"
+ else
+ mkdir -p "/var/log/etherpad"
+ fi
+ chown -R etherpad:etherpad "/var/log/etherpad"
+
+ if [ -d "/usr/share/etherpad/etherpad/data" ]; then
+ EMPTY_STATEMENT="true"
+ else
+ mkdir -p "/usr/share/etherpad/etherpad/data"
+ fi
+ chown -R etherpad:etherpad "/usr/share/etherpad/etherpad/data"
+
+
+ # Give user the rights do write everywhere, did not yet figure
+ # out which rights are necessary, exactly
+ chown -R etherpad:etherpad "/usr/share/etherpad"
+ ;;
+
+esac
+
+
+
+#####
+#
+# Get configuration properties
+#
+configuration_property "is_production" "is-production" "IS_PRODUCTION"
+configuration_property "admin_password" "admin-password" "ADMIN_PASSWORD"
+configuration_property "port" "port" "PORT"
+configuration_property "database_host" "database-host" "DATABASE_HOST"
+configuration_property "database_port" "database-port" "DATABASE_PORT"
+configuration_property "database_name" "database-name" "DATABASE_NAME"
+configuration_property "database_username" "database-username" "DATABASE_USERNAME"
+configuration_property "database_password" "database-password" "DATABASE_PASSWORD"
+#
+#####
+
+
+
+
+
+#####
+#
+# MySQL-Autosetup should be discussed. Simply calling setup-myql-db.sh is
+# insufficient
+#
+# # Auto-setup database
+# db_input medium "etherpad-%BRANCH%/setup_database" || true
+# db_go
+#
+# db_get "etherpad-%BRANCH%/setup_database"
+# if [ "$RET" = "true" ]; then
+# # TODO
+# fi
+#
+#####
+
diff --git a/build/apt/DEBIAN/prerm b/build/apt/DEBIAN/prerm
new file mode 100755
index 0000000..9a9f516
--- /dev/null
+++ b/build/apt/DEBIAN/prerm
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+################################################################################
+#
+# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt)
+# http://www.pensec.it
+# mail@pensec.it
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+#
+################################################################################
+
+
+
+set -e
+
+# Remove log+data directories, otherwise uninstall will fail
+rm -rf /var/log/etherpad
+rm -rf /usr/share/etherpad/etherpad/data
+
diff --git a/build/apt/DEBIAN/templates b/build/apt/DEBIAN/templates
new file mode 100644
index 0000000..d7c6f36
--- /dev/null
+++ b/build/apt/DEBIAN/templates
@@ -0,0 +1,68 @@
+Template: etherpad-%BRANCH%/is_production
+Type: boolean
+Default: false
+Description: Install as production mode?
+ Do you wish to install etherpad in production mode?
+ .
+ Note: be aware that etherpad is under active development and not yet ready
+ for general deployment!
+
+Template: etherpad-%BRANCH%/admin_password
+Type: password
+Default: password
+Description: etherpad administration password
+ Please insert the administration password, default is password.
+
+Template: etherpad-%BRANCH%/port
+Type: string
+Default: 9000
+Description: etherpad tcp port
+ Please insert the port on which etherpad should listen, default is 9000. You
+ cannot use privileged ports (<= 1024).
+ .
+ If you want to make etherpad available on port 80/443 use etherpad-proxy which
+ will install a webserver (like nginx or apache) to proxy dynamic etherpad
+ contents and serve static contents directly.
+
+Template: etherpad-%BRANCH%/setup_database
+Type: boolean
+Default: false
+Description: Do yo want etherpad to create a database for you?
+ Do you want to use the database wizard to setup a database for etherpad to
+ use?
+ .
+ Note: This wizard only works with local mysql installations. If you want to use
+ a remote mysql database, then answer no and edit
+ /etc/etherpad/etherpad.properties appropriatly.
+
+Template: etherpad-%BRANCH%/database_host
+Type: string
+Default: localhost
+Description: MySQL database hostname
+ Please insert the database hostname, default is localhost.
+
+Template: etherpad-%BRANCH%/database_port
+Type: string
+Default: 3306
+Description: MySQL database port
+ Please insert the database port, default is 3306.
+
+Template: etherpad-%BRANCH%/database_name
+Type: string
+Default: etherpad
+Description: MySQL database name
+ Please insert the database name, default is etherpad.
+
+Template: etherpad-%BRANCH%/database_username
+Type: string
+Default: etherpad
+Description: MySQL database username
+ Please insert the database username, default is etherpad.
+
+Template: etherpad-%BRANCH%/database_password
+Type: password
+Default: password
+Description: MySQL database password
+ Please insert the password for the specified database user, default is
+ password.
+
diff --git a/build/apt/README b/build/apt/README
new file mode 100644
index 0000000..7dba49b
--- /dev/null
+++ b/build/apt/README
@@ -0,0 +1,25 @@
+README
+======
+
+This is a simple script to build debian packages from different etherpad
+repositories. All you have to do is call ./do.sh and select the repository to
+build from.
+
+Depending on the repository you use you have to have installed mercurial or
+git-core in addition to the following packages:
+
+ * debconf (>= 0.2.17)
+ * dpkg
+ * sun-java6-jdk
+ * scala
+ * mysql-client
+ * libmysql-java
+ * bash
+
+
+
+---
+
+If you need commercial support on etherpad don't hesitate to contact
+mail@pensec.it
+
diff --git a/build/apt/TODO b/build/apt/TODO
new file mode 100644
index 0000000..9389c82
--- /dev/null
+++ b/build/apt/TODO
@@ -0,0 +1,7 @@
+TODO
+====
+
+ * Auto-Database setup
+ * etherpad-official replaces etherpad-deprecated and etherpad-devel (and vice-
+ versa)
+
diff --git a/build/apt/build/build.sh b/build/apt/build/build.sh
new file mode 100755
index 0000000..ce308bb
--- /dev/null
+++ b/build/apt/build/build.sh
@@ -0,0 +1,236 @@
+#!/bin/bash
+
+################################################################################
+#
+# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt)
+# http://www.pensec.it
+# mail@pensec.it
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+#
+################################################################################
+
+
+
+#####
+# Build a Debian/Ubuntu Etherpad package of the source
+#
+# @param $1 (optional) If "${1}" == "rebuild" then the cached repository will be
+# purged and cloned instead of simply updated
+# @param $REPOSITORY_URL the source of the package
+# @param $REPOSITORY_NAME name of the new package, package will be named
+# etherpad-${REPOSITORY_NAME}
+# @param $REPOSITORY_TYPE Element of set {hg, git}, describes which command line
+# toolchain (mercurial or git) will be used
+#
+if [ "" == "${REPOSITORY_URL}" ]; then
+ echo "Missing environment variable REPOSITORY_URL"
+ exit 1
+fi
+if [ "" == "${REPOSITORY_NAME}" ]; then
+ echo "Missing environment variable REPOSITORY_NAME"
+ exit 1
+fi
+if [ "" == "${REPOSITORY_TYPE}" ]; then
+ echo "Missing environment variable REPOSITORY_TYPE"
+ exit 1
+fi
+
+
+
+#####
+# You have to change following lines to your requirements:
+#
+export JAVA_HOME=/usr/lib/jvm/java-6-sun/
+export SCALA_HOME=/usr/share/java
+export MYSQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar
+export JAVA="$JAVA_HOME/bin/java"
+export SCALA="$SCALA_HOME/bin/scala"
+export PATH="$JAVA_HOME/bin:$SCALA_HOME/bin:$PATH"
+#
+#####
+
+
+#####
+# Don't change this!
+#
+REPOSITORY="${REPOSITORY_URL}"
+BRANCH="${REPOSITORY_NAME}"
+
+TMP_DIR=".tmp.${REPOSITORY_NAME}"
+BUILD_DIR=".build.${REPOSITORY_NAME}"
+PACKAGE_DIR=".package.${REPOSITORY_NAME}"
+REVISION_FILE=".revision.${REPOSITORY_NAME}"
+
+REBUILD="no"
+if [ "rebuild" == "${1}" ]; then
+ REBUILD="yes"
+fi
+#
+#####
+
+
+
+# If the repository isn't checked out by now we can't do a simple {git|hg} pull,
+# we need to do a complete {git|hg} clone instead
+if [ "yes" != "${REBUILD}" ]; then
+ if [ -d "${TMP_DIR}" ]; then
+ bash -c "cd ${TMP_DIR}; ${REPOSITORY_TYPE} pull"
+ else
+ echo "Repository does not exist, will fetch"
+ REBUILD="yes"
+ fi
+fi
+
+# Refresh the complett repository (purge & clone instead of pull)
+if [ "yes" == "${REBUILD}" ]; then
+ if [ -d "${TMP_DIR}" ]; then
+ rm -rf "${TMP_DIR}"
+ fi
+
+ # Fetch the source from remote endpoint
+ $REPOSITORY_TYPE clone "${REPOSITORY}" "${TMP_DIR}"
+fi
+
+
+
+# If there where errors during {git,hg} clone, then ${TMP_DIR} does not exist
+# and we can't continue
+if [ -d "${TMP_DIR}" ]; then
+ echo "Checkout seesm successful, continuing..."
+else
+ echo "Error while checkout, missing directory ${TMP_DIR}"
+ exit 1
+fi
+
+# Ugly fix to work with the google repository which includes a trunk and
+# branches directory instead of using mercurial branches
+if [ -d "${TMP_DIR}/trunk" ]; then
+ touch "${TMP_DIR}/LICENSE"
+ touch "${TMP_DIR}/README.md"
+ bash -c "cd ${TMP_DIR}; cp -r trunk/* ./"
+fi
+
+
+
+# Rebuild jar
+echo ""
+echo "Trying to apply patch. If it detects the patch doesn't match just skip"
+echo ""
+cp "build/makejar.diff" "${TMP_DIR}/makejar.diff"
+bash -c "cd ${TMP_DIR}; patch -p1 < makejar.diff"
+bash -c "cd ${TMP_DIR}/infrastructure; ./bin/makejar.sh"
+bash -c "cd ${TMP_DIR}/infrastructure/ace; bin/make normal etherpad"
+cp "${TMP_DIR}/infrastructure/build/appjet.jar" "${TMP_DIR}/etherpad/appjet-eth-dev.jar"
+
+
+
+# Testing the build
+#bash -c "./build/test-build.sh"
+
+
+
+# Increments the version & create the control file
+REVISION="0"
+if [ -f "${REVISION_FILE}" ]; then
+ REVISION=`cat "${REVISION_FILE}"`
+ REVISION=`expr $REVISION + 1`
+fi
+echo $REVISION > "${REVISION_FILE}"
+
+# Patch the debain control file
+cp "DEBIAN/control" "${TMP_DIR}/control.0"
+sed "s/%BRANCH%/${BRANCH}/" "${TMP_DIR}/control.0" > "${TMP_DIR}/control.1"
+sed "s/%REVISION%/${REVISION}/" "${TMP_DIR}/control.1" > "${TMP_DIR}/control.2"
+cp "${TMP_DIR}/control.2" "${TMP_DIR}/control"
+
+# Patch the install & deinstall script
+cp "DEBIAN/prerm" "${TMP_DIR}/prerm"
+cp "DEBIAN/postinst" "${TMP_DIR}/postinst.0"
+sed "s/%BRANCH%/${BRANCH}/" "${TMP_DIR}/postinst.0" > "${TMP_DIR}/postinst.1"
+cp "${TMP_DIR}/postinst.1" "${TMP_DIR}/postinst"
+
+# Patch debconf templates
+cp "DEBIAN/templates" "${TMP_DIR}/templates.0"
+sed "s/%BRANCH%/${BRANCH}/" "${TMP_DIR}/templates.0" > "${TMP_DIR}/templates.1"
+cp "${TMP_DIR}/templates.1" "${TMP_DIR}/templates"
+
+# Patch init script
+cp "etc/init.d/etherpad" "${TMP_DIR}/init.0"
+sed "s/%BRANCH%/${BRANCH}/" "${TMP_DIR}/init.0" > "${TMP_DIR}/init.1"
+cp "${TMP_DIR}/init.1" "${TMP_DIR}/init"
+
+# Copy the config folder
+cp -r "etc" "${TMP_DIR}/etc"
+
+
+
+# Build the package enviroment (needed to build with dpgk-deb build)
+if [ -d "${BUILD_DIR}" ]; then
+ sudo rm -r "${BUILD_DIR}"
+fi
+mkdir "${BUILD_DIR}"
+mkdir -p "${BUILD_DIR}/DEBIAN"
+mkdir -p "${BUILD_DIR}/usr/share/etherpad"
+mkdir -p "${BUILD_DIR}/usr/share/doc/etherpad"
+mkdir -p "${BUILD_DIR}/var/log/etherpad"
+
+
+
+# Gather the required files
+cp "${TMP_DIR}/control" "${BUILD_DIR}/DEBIAN/control"
+cp "${TMP_DIR}/postinst" "${BUILD_DIR}/DEBIAN/postinst"
+cp "${TMP_DIR}/prerm" "${BUILD_DIR}/DEBIAN/prerm"
+cp "${TMP_DIR}/templates" "${BUILD_DIR}/DEBIAN/templates"
+cp -r "${TMP_DIR}/etc" "${BUILD_DIR}/"
+cp "${TMP_DIR}/init" "${BUILD_DIR}/etc/init.d/etherpad"
+cp -r "${TMP_DIR}/etherpad" "${BUILD_DIR}/usr/share/etherpad"
+cp "build/run.sh" "${BUILD_DIR}/usr/share/etherpad/etherpad/bin"
+mkdir -p "${BUILD_DIR}/usr/share/etherpad/etherpad/data"
+cp -r "${TMP_DIR}/infrastructure" "${BUILD_DIR}/usr/share/etherpad"
+cp "${TMP_DIR}/COPYING" "${BUILD_DIR}/usr/share/doc/etherpad"
+cp "${TMP_DIR}/LICENSE" "${BUILD_DIR}/usr/share/doc/etherpad"
+cp "${TMP_DIR}/README.md" "${BUILD_DIR}/usr/share/doc/etherpad"
+
+
+
+# Fix priviliges and build the package
+sudo chown -R root:root "${BUILD_DIR}"
+sudo chmod +x "${BUILD_DIR}/DEBIAN/postinst"
+sudo chmod +x "${BUILD_DIR}/DEBIAN/prerm"
+sudo chmod +x "${BUILD_DIR}/etc/init.d/etherpad"
+sudo chmod -R 777 "${BUILD_DIR}/usr/share/etherpad/etherpad/data"
+
+if [ -d "${PACKAGE_DIR}" ]; then
+ rm -rf "${PACKAGE_DIR}"
+fi
+mkdir "${PACKAGE_DIR}"
+
+dpkg-deb --build "${BUILD_DIR}" "${PACKAGE_DIR}"
+
+
+
+# Transfer the package to local repository if environment variable
+PACKAGE=`bash -c "cd ${PACKAGE_DIR}; find . -name *.deb"`
+
+if [ "yes" == "${DEPLOY_TO_LOCAL_REPOSITORY}" ]; then
+ if [ -f "${PACKAGE_DIR}/${PACKAGE}" ]; then
+ cp "${PACKAGE_DIR}/${PACKAGE}" "/var/www/packages"
+ bash -c "cd /var/www/packages; reprepro -b . includedeb lenny ${PACKAGE}; rm ${PACKAGE}"
+ else
+ echo "No package in ${PACKAGE_DIR}"
+ fi
+fi
+
+echo "Finished building package ${PACKAGE}"
+
diff --git a/build/apt/build/makejar.diff b/build/apt/build/makejar.diff
new file mode 100644
index 0000000..6e0d44e
--- /dev/null
+++ b/build/apt/build/makejar.diff
@@ -0,0 +1,17 @@
+diff -r 81287c8af1ac infrastructure/bin/makejar.sh
+--- a/infrastructure/bin/makejar.sh Fri Dec 18 18:44:23 2009 +1100
++++ b/infrastructure/bin/makejar.sh Sat Dec 19 09:50:05 2009 -0500
+@@ -32,11 +32,11 @@
+
+ TMPSTORE=/tmp/ajbuild-tmpstore-`date +%s`
+
+-JARFILES=`echo $SCALA_HOME/lib/scala-library.jar lib/*.jar lib/manifest`
++JARFILES=`echo $SCALA_HOME/scala-library.jar lib/*.jar lib/manifest`
+ function genjar {
+ echo "unzipping JARs..."
+ pushd $1 >> /dev/null
+- $JAR xf $SCALA_HOME/lib/scala-library.jar
++ $JAR xf $SCALA_HOME/scala-library.jar
+ rm -rf META-INF
+ for a in ../../lib/*.jar; do
+ $JAR xf $a
diff --git a/build/apt/build/run.sh b/build/apt/build/run.sh
new file mode 100755
index 0000000..1aa3954
--- /dev/null
+++ b/build/apt/build/run.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+################################################################################
+#
+# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt)
+# http://www.pensec.it
+# mail@pensec.it
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+#
+################################################################################
+
+
+
+
+
+bash -c "`dirname $0`/run-local.sh" > "/var/log/etherpad/log" 2> "/var/log/etherpad/error"
+
diff --git a/build/apt/build/test.sh b/build/apt/build/test.sh
new file mode 100755
index 0000000..0abf7bf
--- /dev/null
+++ b/build/apt/build/test.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+################################################################################
+#
+# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt)
+# http://www.pensec.it
+# mail@pensec.it
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+#
+################################################################################
+
+
+
+
+
+#####
+# Must be called by build.sh
+#####
+
+
+
+# Truncate database to test start etherpad
+echo "I'm going to lunch MySQL now, you maybe have to enter your root@localhost password"
+sudo /etc/init.d/mysql start
+
+DATABASE_NAME="etherpad"
+DATABASE_USER="etherpad"
+DROP_DATABASE="DROP DATABASE ${DATABASE_NAME}"
+CREATE_DATABASE="CREATE DATABASE ${DATABASE_NAME}"
+DROP_USER="DROP USER '${DATABASE_USER}'@'localhost'"
+CREATE_USER="GRANT ALL PRIVILEGES ON ${DATABASE_NAME}.* TO '${DATABASE_USER}'@'localhost' identified by 'password';"
+echo "${DROP_DATABASE}; ${CREATE_DATABASE}; ${DROP_USER}; ${CREATE_USER}" | mysql -u root -p | grep etherpad
+
+
+
+# Start etherpad and wait for the HTTP-Server to be available
+echo "I'm going to lunch etherpad in a clean environment, try if it works on http://localhost:9000/"
+echo "Kill with ^C to build debian package (waiting 10 seconds)"
+sleep 10
+bash -c "cd ${TMP_DIR}/etherpad; ./bin/run-local.sh"
+
diff --git a/build/apt/do.sh b/build/apt/do.sh
new file mode 100755
index 0000000..c268ce9
--- /dev/null
+++ b/build/apt/do.sh
@@ -0,0 +1,127 @@
+#!/bin/bash
+
+################################################################################
+#
+# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt)
+# http://www.pensec.it
+# mail@pensec.it
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+#
+################################################################################
+
+
+
+#####
+#
+# To build a Debian/Ubuntu package simply run this script. It will prompt you
+# for the repository to build from.
+#
+# Dependencies: debconf (>= 0.2.17), dpkg, sun-java6-jdk, scala, mysql-client,
+# libmysql-java, bash, mercurial | git-core
+#
+#####
+
+
+
+#####
+#
+# There has to be a better way of doing this ;-)
+#
+REPOSITORY_0_URL="https://etherpad.googlecode.com/hg/trunk"
+REPOSITORY_0_NAME="deprecated"
+REPOSITORY_0_TYPE="hg"
+REPOSITORY_1_URL="git://github.com/ether/pad.git"
+REPOSITORY_1_NAME="official"
+REPOSITORY_1_TYPE="git"
+REPOSITORY_2_URL="git://github.com/redhog/pad.git"
+REPOSITORY_2_NAME="devel"
+REPOSITORY_2_TYPE="git"
+REPOSITORY_3_URL="git://github.com/johnyma22/pad.git"
+REPOSITORY_3_NAME="johny"
+REPOSITORY_3_TYPE="git"
+REPOSITORY_4_URL="git://github.com/Pita/pad.git"
+REPOSITORY_4_NAME="pita"
+REPOSITORY_4_TYPE="git"
+REPOSITORY_5_URL="./../../"
+REPOSITORY_5_NAME="local"
+REPOSITORY_5_TYPE="git"
+
+
+# Tell the user his choises
+echo "Please choose the repository to build a debian package from:"
+echo ""
+
+for i in {0..5}
+do
+ URL="REPOSITORY_${i}_URL"
+ NAME="REPOSITORY_${i}_NAME"
+ TYPE="REPOSITORY_${i}_TYPE"
+
+ echo " ${i}) ${!NAME} ${!URL}"
+done
+echo ""
+read -p "Repository id: " REPOSITORY
+
+
+
+# Test if user's too stupid to input correct number
+URL="REPOSITORY_${REPOSITORY}_URL"
+NAME="REPOSITORY_${REPOSITORY}_NAME"
+TYPE="REPOSITORY_${REPOSITORY}_TYPE"
+
+if [ "" == "${!URL}" ]; then
+ echo "Invalid repository id \"${REPOSITORY}\""
+ exit 1
+fi
+
+
+# Communicate repository details to build script
+export REPOSITORY_URL="${!URL}"
+export REPOSITORY_NAME="${!NAME}"
+export REPOSITORY_TYPE="${!TYPE}"
+#
+#####
+
+
+
+#####
+#
+# Is a complete rebuild necessary or is a simple update sufficient
+#
+echo ""
+read -p "Purge before rebuild (yes/no) [n]: " REBUILD
+
+if [ "y" == "${REBUILD}" ]; then
+ echo "You answered \"${REBUILD}\", will purge before rebuilding"
+ REBUILD="rebuild"
+else
+ echo "You answered \"${REBUILD}\", will try ${!TYPE} pull before rebuilding"
+fi
+#
+#####
+
+
+
+#####
+#
+# Tell user what we're going to to and then do it
+#
+echo ""
+echo "Will build package etherpad-${!NAME} form ${!TYPE}:${!URL}, please be patient..."
+echo ""
+
+bash -c "./build/build.sh ${REBUILD}"
+#
+#####
+
diff --git a/build/apt/etc/etherpad/etherpad.properties b/build/apt/etc/etherpad/etherpad.properties
new file mode 100644
index 0000000..69114c7
--- /dev/null
+++ b/build/apt/etc/etherpad/etherpad.properties
@@ -0,0 +1,16 @@
+ajstdlibHome = ../infrastructure/framework-src/modules
+appjetHome = ./data/appjet
+devMode = true
+etherpad.adminPass = %ADMIN_PASSWORD%
+etherpad.fakeProduction = false
+etherpad.isProduction = %IS_PRODUCTION%
+etherpad.SQL_JDBC_DRIVER = com.mysql.jdbc.Driver
+etherpad.SQL_JDBC_URL = jdbc:mysql://%DATABASE_HOST%:%DATABASE_PORT%/%DATABASE_NAME%
+etherpad.SQL_PASSWORD = %DATABASE_PASSWORD%
+etherpad.SQL_USERNAME = %DATABASE_USERNAME%
+listen = %PORT%
+logDir = /var/log/etherpad
+modulePath = ./src
+transportPrefix = /comet
+transportUseWildcardSubdomains = true
+useVirtualFileRoot = ./src
diff --git a/build/apt/etc/etherpad/properties/admin-password b/build/apt/etc/etherpad/properties/admin-password
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/build/apt/etc/etherpad/properties/admin-password
diff --git a/build/apt/etc/etherpad/properties/database-host b/build/apt/etc/etherpad/properties/database-host
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/build/apt/etc/etherpad/properties/database-host
diff --git a/build/apt/etc/etherpad/properties/database-name b/build/apt/etc/etherpad/properties/database-name
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/build/apt/etc/etherpad/properties/database-name
diff --git a/build/apt/etc/etherpad/properties/database-password b/build/apt/etc/etherpad/properties/database-password
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/build/apt/etc/etherpad/properties/database-password
diff --git a/build/apt/etc/etherpad/properties/database-port b/build/apt/etc/etherpad/properties/database-port
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/build/apt/etc/etherpad/properties/database-port
diff --git a/build/apt/etc/etherpad/properties/database-username b/build/apt/etc/etherpad/properties/database-username
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/build/apt/etc/etherpad/properties/database-username
diff --git a/build/apt/etc/etherpad/properties/is-production b/build/apt/etc/etherpad/properties/is-production
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/build/apt/etc/etherpad/properties/is-production
diff --git a/build/apt/etc/etherpad/properties/port b/build/apt/etc/etherpad/properties/port
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/build/apt/etc/etherpad/properties/port
diff --git a/build/apt/etc/init.d/etherpad b/build/apt/etc/init.d/etherpad
new file mode 100755
index 0000000..95847b8
--- /dev/null
+++ b/build/apt/etc/init.d/etherpad
@@ -0,0 +1,235 @@
+#! /bin/bash
+
+### BEGIN INIT INFO
+# Provides: etherpad-%BRANCH%
+# Required-Start: $local_fs $remote_fs
+# Required-Stop: $local_fs $remote_fs
+# Default-Start: 2 3 4 5
+# Default-Stop: S 0 1 6
+# Short-Description: etherpad initscript
+# Description: EtherPad is the only web-based word processor that allows
+# people to work together in really real-time.
+# .
+# When multiple people edit the same document simultaneously,
+# any changes are instantly reflected on everyone's screen.
+# The result is a new and productive way to collaborate on
+# text documents, useful for meeting notes, drafting
+# sessions, education, team programming, and more.
+### END INIT INFO
+
+# Author: penSec.IT UG (haftungsbeschränkt) <mail@pensec.it>
+
+################################################################################
+#
+# Copyright (c) 2010 penSec.IT UG (haftungsbeschränkt)
+# http://www.pensec.it
+# mail@pensec.it
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+#
+################################################################################
+
+# Do NOT "set -e"
+
+
+
+#####
+#
+# Patches the configuration file by replacing ,,%$2%'' with the contents of file
+# $1 in file $3
+#
+# @param $1 Configuration File which contains the value to set to
+# @param $2 Configuration key to apply (can be done only once)
+# @param $3 Configuration file
+#
+function apply_config() {
+ CONFIG_FILE="${3}"
+ TMP_FILE="/tmp/etherpad.properties"
+
+ CONFIG_KEY="$2"
+ CONFIG_VALUE=`cat $1`
+
+ sed "s/%$CONFIG_KEY%/$CONFIG_VALUE/" $CONFIG_FILE > $TMP_FILE
+ cp $TMP_FILE $CONFIG_FILE
+ rm $TMP_FILE
+}
+#
+#####
+
+
+
+
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/usr/sbin:/usr/bin:/sbin:/bin
+DESC="etherpad daemon"
+NAME="etherpad"
+DAEMON_BASE="/usr/share/etherpad/etherpad"
+DAEMON=$DAEMON_BASE/bin/run.sh
+DAEMON_ARGS=""
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Load the VERBOSE setting and other rcS variables
+[ -f /etc/default/rcS ] && . /etc/default/rcS
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+ CONFIGURATION_BASE="/etc/etherpad"
+ CONFIGURATION_SRC="${CONFIGURATION_BASE}/etherpad.properties"
+ CONFIGURATION_DEST="${DAEMON_BASE}/etc/etherpad.localdev-default.properties"
+
+
+ # Reset configuration
+ cp "${CONFIGURATION_BASE}/etherpad.properties" "${CONFIGURATION_DEST}"
+
+
+ # Apply configuration properties
+ apply_config "${CONFIGURATION_BASE}/properties/is-production" "IS_PRODUCTION" "${CONFIGURATION_DEST}"
+ apply_config "${CONFIGURATION_BASE}/properties/admin-password" "ADMIN_PASSWORD" "${CONFIGURATION_DEST}"
+ apply_config "${CONFIGURATION_BASE}/properties/port" "PORT" "${CONFIGURATION_DEST}"
+ apply_config "${CONFIGURATION_BASE}/properties/database-host" "DATABASE_HOST" "${CONFIGURATION_DEST}"
+ apply_config "${CONFIGURATION_BASE}/properties/database-port" "DATABASE_PORT" "${CONFIGURATION_DEST}"
+ apply_config "${CONFIGURATION_BASE}/properties/database-name" "DATABASE_NAME" "${CONFIGURATION_DEST}"
+ apply_config "${CONFIGURATION_BASE}/properties/database-username" "DATABASE_USERNAME" "${CONFIGURATION_DEST}"
+ apply_config "${CONFIGURATION_BASE}/properties/database-password" "DATABASE_PASSWORD" "${CONFIGURATION_DEST}"
+
+
+ # Give the etherpad user the configuration file
+ chown etherpad:etherpad "${CONFIGURATION_DEST}"
+
+
+
+ # Return
+ # 0 if daemon has been started
+ # 1 if daemon was already running
+ # 2 if daemon could not be started
+ start-stop-daemon --background --chdir $DAEMON_BASE --chuid etherpad:etherpad --start --quiet --make-pidfile --pidfile $PIDFILE --exec $DAEMON --test \
+ || return 1
+ start-stop-daemon --background --chdir $DAEMON_BASE --chuid etherpad:etherpad --start --quiet --make-pidfile --pidfile $PIDFILE --exec $DAEMON -- \
+ $DAEMON_ARGS \
+ || return 2
+ # Add code here, if necessary, that waits for the process to be ready
+ # to handle requests from services started subsequently which depend
+ # on this one. As a last resort, sleep for some time.
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+ # Return
+ # 0 if daemon has been stopped
+ # 1 if daemon was already stopped
+ # 2 if daemon could not be stopped
+ # other if a failure occurred
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
+ RETVAL="$?"
+ [ "$RETVAL" = 2 ] && return 2
+ # Wait for children to finish too if this is a daemon that forks
+ # and if the daemon is only ever run from this initscript.
+ # If the above conditions are not satisfied then add some other code
+ # that waits for the process to drop all resources that could be
+ # needed by services started subsequently. A last resort is to
+ # sleep for some time.
+ start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
+ [ "$?" = 2 ] && return 2
+ # Many daemons don't delete their pidfiles when they exit.
+ rm -f $PIDFILE
+ return "$RETVAL"
+}
+
+#
+# Function that sends a SIGHUP to the daemon/service
+#
+do_reload() {
+ #
+ # If the daemon can reload its configuration without
+ # restarting (for example, when it is sent a SIGHUP),
+ # then implement that here.
+ #
+ start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
+ return 0
+}
+
+case "$1" in
+ start)
+ [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+ 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+ esac
+ ;;
+ stop)
+ [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+ 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+ esac
+ ;;
+ #reload|force-reload)
+ #
+ # If do_reload() is not implemented then leave this commented out
+ # and leave 'force-reload' as an alias for 'restart'.
+ #
+ #log_daemon_msg "Reloading $DESC" "$NAME"
+ #do_reload
+ #log_end_msg $?
+ #;;
+ restart|force-reload)
+ #
+ # If the "reload" option is implemented then remove the
+ # 'force-reload' alias
+ #
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+ ;;
+ *)
+ #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
+ echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
+ exit 3
+ ;;
+esac
+
+:
+
diff --git a/etherpad/etc/etherpad.localdev-default.properties b/etherpad/etc/etherpad.localdev-default.properties
index 26bc8e5..97f420f 100644
--- a/etherpad/etc/etherpad.localdev-default.properties
+++ b/etherpad/etc/etherpad.localdev-default.properties
@@ -8,6 +8,7 @@ etherpad.SQL_JDBC_DRIVER = com.mysql.jdbc.Driver
etherpad.SQL_JDBC_URL = jdbc:mysql://localhost:3306/etherpad
etherpad.SQL_PASSWORD = password
etherpad.SQL_USERNAME = etherpad
+etherpad.proAccounts = true
listen = 9000
logDir = ./data/logs
modulePath = ./src
diff --git a/etherpad/src/etherpad/admin/plugins.js b/etherpad/src/etherpad/admin/plugins.js
index 7b59662..385e2ca 100644
--- a/etherpad/src/etherpad/admin/plugins.js
+++ b/etherpad/src/etherpad/admin/plugins.js
@@ -228,11 +228,13 @@ function callHook(hookName, args) {
if (hooks[hookName] === undefined)
return [];
var res = [];
- for (i = 0; i < hooks[hookName].length; i++) {
+
+ for (var i = 0; i < hooks[hookName].length; i++) {
var plugin = hooks[hookName][i];
var pluginRes = pluginModules[plugin.plugin][plugin.original || hookName](args);
if (pluginRes != undefined && pluginRes != null)
- res = res.concat(pluginRes);
+ for (var j = 0; j < pluginRes.length; j++)
+ res.push(pluginRes[j]); /* Don't use Array.concat as it flatterns arrays within the array */
}
return res;
}
diff --git a/etherpad/src/etherpad/control/admincontrol.js b/etherpad/src/etherpad/control/admincontrol.js
index 02f6428..ec48824 100644
--- a/etherpad/src/etherpad/control/admincontrol.js
+++ b/etherpad/src/etherpad/control/admincontrol.js
@@ -51,6 +51,8 @@ import("etherpad.collab.collab_server");
import("etherpad.pro.pro_accounts");
import("etherpad.pro.pro_utils");
import("etherpad.pro.domains");
+import("etherpad.admin.plugins");
+import("etherpad.control.admin.pluginmanager");
jimport("java.lang.System.out.println");
@@ -87,7 +89,8 @@ var _mainLinks = [
['reload-blog-db', 'Reload blog DB'],
['pro-domain-accounts', 'Pro Domain Accounts'],
['beta-valve', 'Beta Valve'],
- ['reset-subscription', "Reset Subscription"]
+ ['reset-subscription', "Reset Subscription"],
+ ['pluginmanager/', "Plugin manager"]
];
function onRequest(name) {
@@ -100,7 +103,11 @@ function onRequest(name) {
}
var disp = new Dispatcher();
+
+ disp.addLocations(plugins.callHook("handleAdminPath"));
+
disp.addLocations([
+ [PrefixMatcher('/ep/admin/pluginmanager/'), forward(pluginmanager)],
[PrefixMatcher('/ep/admin/usagestats/'), forward(statscontrol)]
]);
@@ -152,9 +159,13 @@ function render_main() {
div.push(A({href: "/"}, html("&laquo;"), " home"));
div.push(H1("Admin"));
- _mainLinks.forEach(function(l) {
+ function addMenuItem(l) {
div.push(DIV(A({href: l[0]}, l[1])));
- });
+ }
+
+ plugins.callHook("adminMenu").forEach(addMenuItem);
+ _mainLinks.forEach(addMenuItem);
+
if (sessions.isAnEtherpadAdmin()) {
div.push(P(A({href: "/ep/admin/setadminmode?v=false"},
"Exit Admin Mode")));
diff --git a/etherpad/src/etherpad/globals.js b/etherpad/src/etherpad/globals.js
index 8087337..87fe428 100644
--- a/etherpad/src/etherpad/globals.js
+++ b/etherpad/src/etherpad/globals.js
@@ -1,5 +1,6 @@
/**
* Copyright 2009 Google Inc.
+ * Copyright 2010 Pita, Peter Martischka <petermartischka@googlemail.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -28,6 +29,11 @@ function isProduction() {
return (trueRegex.test(appjet.config['etherpad.isProduction']));
}
+function isProAccountEnabled() {
+ return (appjet.config['etherpad.proAccounts'] == "true");
+}
+
+
var SUPERDOMAINS = {
'localbox.info': true,
'localhost': true,
diff --git a/etherpad/src/etherpad/pro/pro_utils.js b/etherpad/src/etherpad/pro/pro_utils.js
index 787f424..c9874f0 100644
--- a/etherpad/src/etherpad/pro/pro_utils.js
+++ b/etherpad/src/etherpad/pro/pro_utils.js
@@ -1,5 +1,6 @@
/**
* Copyright 2009 Google Inc.
+ * Copyright 2010 Pita, Peter Martischka <petermartischka@googlemail.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -54,7 +55,9 @@ function getRequestSuperdomain() {
}
function isProDomainRequest() {
- // the result of this function never changes within the same request.
+ if(!isProAccountEnabled())
+ return false;
+ // the result of this function never changes within the same request.
var c = appjet.requestCache;
if (c.isProDomainRequest === undefined) {
c.isProDomainRequest = _computeIsProDomainRequest();
diff --git a/etherpad/src/main.js b/etherpad/src/main.js
index c881223..6faa71a 100644
--- a/etherpad/src/main.js
+++ b/etherpad/src/main.js
@@ -34,7 +34,6 @@ import("etherpad.importexport.importexport");
import("etherpad.legacy_urls");
import("etherpad.control.aboutcontrol");
-import("etherpad.control.admin.pluginmanager");
import("etherpad.control.admincontrol");
import("etherpad.control.blogcontrol");
import("etherpad.control.connection_diagnostics_control");
@@ -365,20 +364,22 @@ function handlePath() {
// these paths are handled identically on all sites/subdomains.
var commonDispatcher = new Dispatcher();
- commonDispatcher.addLocations(
- plugins.callHook('handlePath').concat([
- ['/favicon.ico', forward(static_control)],
- ['/robots.txt', forward(static_control)],
- ['/crossdomain.xml', forward(static_control)],
- [PrefixMatcher('/static/'), forward(static_control)],
- [PrefixMatcher('/ep/genimg/'), genimg.renderPath],
- [PrefixMatcher('/ep/pad/'), forward(pad_control)],
- [PrefixMatcher('/ep/script/'), forward(scriptcontrol)],
- [/^\/([^\/]+)$/, pad_control.render_pad],
- [DirMatcher('/ep/unit-tests/'), forward(testcontrol)],
- [DirMatcher('/ep/pne-manual/'), forward(pne_manual_control)],
- [DirMatcher('/ep/pro-help/'), forward(pro_help_control)]
- ]));
+
+ commonDispatcher.addLocations(plugins.callHook('handlePath'));
+
+ commonDispatcher.addLocations([
+ ['/favicon.ico', forward(static_control)],
+ ['/robots.txt', forward(static_control)],
+ ['/crossdomain.xml', forward(static_control)],
+ [PrefixMatcher('/static/'), forward(static_control)],
+ [PrefixMatcher('/ep/genimg/'), genimg.renderPath],
+ [PrefixMatcher('/ep/pad/'), forward(pad_control)],
+ [PrefixMatcher('/ep/script/'), forward(scriptcontrol)],
+ [/^\/([^\/]+)$/, pad_control.render_pad],
+ [DirMatcher('/ep/unit-tests/'), forward(testcontrol)],
+ [DirMatcher('/ep/pne-manual/'), forward(pne_manual_control)],
+ [DirMatcher('/ep/pro-help/'), forward(pro_help_control)]
+ ]);
var etherpadDotComDispatcher = new Dispatcher();
etherpadDotComDispatcher.addLocations([
@@ -386,7 +387,6 @@ function handlePath() {
[DirMatcher('/ep/beta-account/'), forward(pro_beta_control)],
[DirMatcher('/ep/pro-signup/'), forward(pro_signup_control)],
[DirMatcher('/ep/about/'), forward(aboutcontrol)],
- [DirMatcher('/ep/admin/pluginmanager'), forward(pluginmanager)],
[DirMatcher('/ep/admin/'), forward(admincontrol)],
[DirMatcher('/ep/blog/posts/'), blogcontrol.render_post],
[DirMatcher('/ep/blog/'), forward(blogcontrol)],
diff --git a/etherpad/src/plugins/fileUpload/controllers/fileUpload.js b/etherpad/src/plugins/fileUpload/controllers/fileUpload.js
new file mode 100644
index 0000000..d6585f1
--- /dev/null
+++ b/etherpad/src/plugins/fileUpload/controllers/fileUpload.js
@@ -0,0 +1,87 @@
+/**
+ * Copyright 2009 RedHog, Egil Möller <egil.moller@piratpartiet.se>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS-IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import("faststatic");
+import("dispatch.{Dispatcher,PrefixMatcher,forward}");
+
+import("etherpad.utils.*");
+import("etherpad.collab.server_utils");
+import("etherpad.globals.*");
+import("etherpad.log");
+import("etherpad.pad.padusers");
+import("etherpad.pro.pro_utils");
+import("etherpad.helpers");
+import("etherpad.pro.pro_accounts.getSessionProAccount");
+import("sqlbase.sqlbase");
+import("sqlbase.sqlcommon");
+import("sqlbase.sqlobj");
+import("plugins.fileUpload.models");
+jimport("org.apache.commons.fileupload");
+
+function onRequest() {
+ var isPro = pro_utils.isProDomainRequest();
+ var userId = padusers.getUserId();
+
+
+ helpers.addClientVars({
+ userAgent: request.headers["User-Agent"],
+ debugEnabled: request.params.djs,
+ clientIp: request.clientAddr,
+ colorPalette: COLOR_PALETTE,
+ serverTimestamp: +(new Date),
+ isProPad: isPro,
+ userIsGuest: padusers.isGuest(userId),
+ userId: userId,
+ });
+
+ var isProUser = (isPro && ! padusers.isGuest(userId));
+
+ if (request.isPost) {
+ var uploads = [];
+ var itemFactory = new fileupload.disk.DiskFileItemFactory();
+ var handler = new fileupload.servlet.ServletFileUpload(itemFactory);
+ var items = handler.parseRequest(request.underlying).toArray();
+ for (var i = 0; i < items.length; i++){
+ if (!items[i].isFormField())
+ uploads.push('/up/' + models.storeFile(items[i]));
+ }
+
+ response.setContentType("text/json; charset=utf-8");
+ response.write(
+ renderTemplateAsString(
+ "fileUploaded.ejs",
+ {
+ uploads: uploads,
+ isPro: isPro,
+ isProAccountHolder: isProUser,
+ account: getSessionProAccount(), // may be falsy
+ },
+ 'fileUpload'));
+ if (request.acceptsGzip) {
+ response.setGzip(true);
+ }
+ } else {
+ renderHtml(
+ "fileUpload.ejs",
+ {
+ isPro: isPro,
+ isProAccountHolder: isProUser,
+ account: getSessionProAccount(), // may be falsy
+ },
+ 'fileUpload');
+ }
+ return true;
+}
diff --git a/etherpad/src/plugins/fileUpload/hooks.js b/etherpad/src/plugins/fileUpload/hooks.js
new file mode 100644
index 0000000..0948c17
--- /dev/null
+++ b/etherpad/src/plugins/fileUpload/hooks.js
@@ -0,0 +1,11 @@
+import("etherpad.log");
+import("faststatic");
+import("etherpad.utils.*");
+import("etherpad.globals.*");
+import("dispatch.{Dispatcher,PrefixMatcher,forward}");
+import("plugins.fileUpload.controllers.fileUpload");
+
+function handlePath() {
+ return [[PrefixMatcher('/ep/fileUpload/'), forward(fileUpload)],
+ [PrefixMatcher('/up/'), faststatic.directoryServer('/plugins/fileUpload/upload/', {cache: isProduction()})]];
+}
diff --git a/etherpad/src/plugins/fileUpload/main.js b/etherpad/src/plugins/fileUpload/main.js
new file mode 100644
index 0000000..5ff105f
--- /dev/null
+++ b/etherpad/src/plugins/fileUpload/main.js
@@ -0,0 +1,19 @@
+import("etherpad.log");
+import("plugins.fileUpload.hooks");
+
+function init() {
+ this.hooks = ['handlePath'];
+ this.description = 'File upload manager';
+ this.handlePath = hooks.handlePath;
+ this.install = install;
+ this.uninstall = uninstall;
+}
+
+function install() {
+ log.info("Installing fileUpload");
+}
+
+function uninstall() {
+ log.info("Uninstalling fileUpload");
+}
+
diff --git a/etherpad/src/plugins/fileUpload/models.js b/etherpad/src/plugins/fileUpload/models.js
new file mode 100644
index 0000000..f8fb563
--- /dev/null
+++ b/etherpad/src/plugins/fileUpload/models.js
@@ -0,0 +1,95 @@
+/**
+ * Copyright 2009 RedHog, Egil Möller <egil.moller@piratpartiet.se>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS-IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import("etherpad.utils.*");
+import("etherpad.globals.*");
+import("etherpad.log");
+import("sqlbase.sqlbase");
+import("sqlbase.sqlcommon");
+import("sqlbase.sqlobj");
+
+jimport("java.io.File",
+ "java.io.DataInputStream",
+ "java.io.FileInputStream",
+ "java.lang.Byte",
+ "java.io.FileReader",
+ "java.io.BufferedReader",
+ "java.security.MessageDigest",
+ "java.lang.Runtime");
+
+
+/* Normal base64 encoding, except we don't care about adding newlines */
+function base64Encode(stringArray) {
+ base64code = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789" + "+/";
+
+ /* Pad array to nearest three byte multiple */
+ var padding = (3 - (stringArray.length % 3)) % 3;
+ var padded = java.lang.reflect.Array.newInstance(Byte.TYPE, stringArray.length + padding);
+ java.lang.System.arraycopy(stringArray, 0, padded, 0, stringArray.length);
+ stringArray = padded;
+
+ var encoded = "";
+ for (var i = 0; i < stringArray.length; i += 3) {
+ var j = (((stringArray[i] & 0xff) << 16) +
+ ((stringArray[i + 1] & 0xff) << 8) +
+ (stringArray[i + 2] & 0xff));
+ encoded = (encoded +
+ base64code.charAt((j >> 18) & 0x3f) +
+ base64code.charAt((j >> 12) & 0x3f) +
+ base64code.charAt((j >> 6) & 0x3f) +
+ base64code.charAt(j & 0x3f));
+ }
+ /* replace padding with "=" */
+ return encoded.substring(0, encoded.length - padding) + "==".substring(0, padding);
+}
+
+
+function makeSymlink(destination, source) {
+ return Runtime.getRuntime().exec(['ln', '-s', source.getPath(), destination.getPath()]).waitFor();
+}
+
+
+/* Reads a File and updates a digest with its content */
+function updateDigestFromFile(digest, file) {
+ var handle = new java.io.FileInputStream(file);
+
+ var bytes = java.lang.reflect.Array.newInstance(Byte.TYPE, 512);
+ var nbytes = 0;
+
+ while ((nbytes = handle.read(bytes, 0, 512)) != -1)
+ digest.update(bytes, 0, nbytes);
+
+ handle.close();
+}
+
+
+/* Stores a org.apache.commons.fileupload.disk.DiskFileItem permanently and returns a filename. */
+function storeFile(fileItem) {
+ var nameParts = fileItem.name.split('.');
+ var extension = nameParts[nameParts.length-1];
+
+ var digest = MessageDigest.getInstance("SHA1");
+ updateDigestFromFile(digest, fileItem.getStoreLocation());
+ var checksum = base64Encode(digest.digest());
+
+ fileItem.write(File("src/plugins/fileUpload/upload/" + checksum));
+
+ makeSymlink(
+ File("src/plugins/fileUpload/upload/" + checksum + '.' + extension),
+ File(checksum));
+
+ return checksum + '.' + extension;
+}
diff --git a/etherpad/src/templates/pro/admin/manage-billing.ejs b/etherpad/src/plugins/fileUpload/templates/fileUpload.ejs
index 8a7bd51..57f33e6 100644
--- a/etherpad/src/templates/pro/admin/manage-billing.ejs
+++ b/etherpad/src/plugins/fileUpload/templates/fileUpload.ejs
@@ -12,24 +12,21 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. */ %>
<%
- helpers.includeCss('store/ondemand-billing.css');
+ helpers.setHtmlTitle("Test plugin");
+ helpers.setBodyId("padbody");
+ helpers.addBodyClass("limwidth nonpropad nonprouser");
+ helpers.includeCss("pad2_ejs.css");
+ helpers.setRobotsPolicy({index: false, follow: false})
+ helpers.includeJQuery();
+ helpers.includeCometJs();
+ helpers.includeJs("json2.js");
+ helpers.addToHead('\n<style type="text/css" title="dynamicsyntax"></style>\n');
%>
-<% function fmtdate(d) {
- if (!d) {
- return "Never";
- } else {
- return d.toString().split(' ').slice(0,5).join(' ');
- }
-}
+<div id="padpage">
+ <form method="POST" enctype="multipart/form-data">
+ <input type="file" name="fileParam">
+ <button type="submit">Submit</button>
+ </form>
-function plural(amt) {
- return (amt == 1 ? "" : "s");
-}
-
-%>
-
-<h3 class="top">Payment Information</h3>
-
-<p>EtherPad Professional will be discontinued on <%= helpers.rafterTerminationDate() %>. No further payments will be collected.</p>
-<p><a href="http://etherpad.com<%= helpers.rafterBlogUrl() %>">Read more</a>.</p>
+</div>
diff --git a/etherpad/src/plugins/fileUpload/templates/fileUploaded.ejs b/etherpad/src/plugins/fileUpload/templates/fileUploaded.ejs
new file mode 100644
index 0000000..5a62f7e
--- /dev/null
+++ b/etherpad/src/plugins/fileUpload/templates/fileUploaded.ejs
@@ -0,0 +1,5 @@
+[
+<% for (var i = 0; i < uploads.length; i++) { %>
+ '<%= uploads[i] %>',
+<% } %>
+]
diff --git a/etherpad/src/plugins/twitterStyleTags/controllers/tagBrowser.js b/etherpad/src/plugins/twitterStyleTags/controllers/tagBrowser.js
index 461f30a..793067d 100644
--- a/etherpad/src/plugins/twitterStyleTags/controllers/tagBrowser.js
+++ b/etherpad/src/plugins/twitterStyleTags/controllers/tagBrowser.js
@@ -1,5 +1,6 @@
/**
* Copyright 2009 RedHog, Egil Möller <egil.moller@piratpartiet.se>
+ * Copyright 2010 Pita, Peter Martischka <petermartischka@googlemail.com>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -45,6 +46,14 @@ function stringFormat(text, obj) {
return text;
}
+/* All these sql query functions both takes a querySql object as
+ * parameter and returns one. This object has two members - sql and
+ * params. Sql is a string of an sql table name or a subqyery in
+ * parens. The table pr subquery should have an ID column containing a
+ * PAD_ID.
+ */
+
+/* Filters pads by tags and anti-tags */
function getQueryToSql(tags, antiTags, querySql) {
var queryTable;
var queryParams;
@@ -100,6 +109,7 @@ function getQueryToSql(tags, antiTags, querySql) {
info["excepts"] = exceptArray.join(' ');
info["wheres"] = whereArray.length > 0 ? ' where ' + whereArray.join(' and ') : '';
+ /* Create a subselect from all the joins */
return {
sql: stringFormat(
'(select distinct ' +
@@ -114,6 +124,8 @@ function getQueryToSql(tags, antiTags, querySql) {
params: queryParams.concat(joinParamArray).concat(exceptParamArray)};
}
+/* Returns the sql to count the number of results from some other
+ * query. */
function nrSql(querySql) {
var queryTable;
var queryParams;
@@ -133,6 +145,9 @@ function nrSql(querySql) {
params: queryParams};
}
+/* Returns the sql to select the 10 best new tags to tack on to a
+ * query, that is, the tags that are closest to halving the result-set
+ * if tacked on. */
function newTagsSql(querySql) {
var queryTable;
var queryParams;
@@ -165,6 +180,7 @@ function newTagsSql(querySql) {
'where ' +
' tp.TAG_ID = t.ID ' +
' and tp.PAD_ID in %(query_post_table)s ' +
+ ' and tp.PAD_ID NOT LIKE \'%$%\'' +
'group by t.NAME, tn.total ' +
'having ' +
' count(tp.PAD_ID) > 0 and count(tp.PAD_ID) < tn.total ' +
@@ -189,13 +205,14 @@ function onRequest() {
tags.push(query[i]);
}
+ /* Create the pad filter sql */
var querySql = getQueryToSql(tags.concat(['public']), antiTags);
- //log.info(querySql.sql);
+ /* Use the pad filter sql to figure out which tags to show in the tag browser this time. */
var queryNewTagsSql = newTagsSql(querySql);
var newTags = sqlobj.executeRaw(queryNewTagsSql.sql, queryNewTagsSql.params);
- var matchingPads;
+ /* Select the 10 last changed matching pads and some extra information on them. Except the Pro Pads*/
var sql = '' +
'select ' +
' m.id as ID, ' +
@@ -207,11 +224,12 @@ function onRequest() {
' m.id = q.ID ' +
' join PAD_TAG_CACHE as c on ' +
' c.PAD_ID = q.ID ' +
+ 'where ' +
+ ' m.id NOT LIKE \'%$%\'' +
'order by ' +
' m.lastWriteTime desc ' +
'limit 10';
-
- matchingPads = sqlobj.executeRaw(sql, querySql.params);
+ var matchingPads = sqlobj.executeRaw(sql, querySql.params);
for (i = 0; i < matchingPads.length; i++) {
matchingPads[i].TAGS = matchingPads[i].TAGS.split('#');
diff --git a/etherpad/src/plugins/twitterStyleTags/static/css/tagBrowser.css b/etherpad/src/plugins/twitterStyleTags/static/css/tagBrowser.css
index 94b2be8..f3321a4 100644
--- a/etherpad/src/plugins/twitterStyleTags/static/css/tagBrowser.css
+++ b/etherpad/src/plugins/twitterStyleTags/static/css/tagBrowser.css
@@ -49,7 +49,7 @@ h1 {
margin-top: 0;
}
-#home-newpad {
+#home-newpad, #home-newteam {
display: block;
background-color: #a3bde0;
color: #555555;
diff --git a/etherpad/src/plugins/twitterStyleTags/templates/tagBrowser.ejs b/etherpad/src/plugins/twitterStyleTags/templates/tagBrowser.ejs
index 1f1c0e3..d5d09c3 100644
--- a/etherpad/src/plugins/twitterStyleTags/templates/tagBrowser.ejs
+++ b/etherpad/src/plugins/twitterStyleTags/templates/tagBrowser.ejs
@@ -1,4 +1,6 @@
-<% /* Copyright 2009 Google Inc.
+<% /*
+Copyright 2009 Google Inc.
+Copyright 2010 Pita, Peter Martischka <petermartischka@googlemail.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -62,24 +64,30 @@ limitations under the License. */ %>
<div id="accountnav"><a href="<%= signinUrl %>">sign in</a></div>
<% } %>
</div>
- <div id="docbar" class="docbar-public">
- <div id="docbarleft"><!-- --></div>
- <div title="Browse pads by tag" id="docbarpadtitle"><span>Browse tags</span></div>
-
- <div id="docbaroptions-outer"><a href="javascript:void(0)" id="docbaroptions">Pad Options</a></div>
- <div id="docbarsavedrevs-outer"><a href="javascript:void(0)" id="docbarsavedrevs">Saved revisions</a></div>
- <div id="docbarimpexp-outer"><a href="javascript:void(0)" id="docbarimpexp">Import/Export</a></div>
- <div id="docbarslider-outer"><a target="_blank" href="/ep/pad/view/xx/latest" id="docbarslider">Time Slider</a></div>
-
- </div>
+ <div id="docbar">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%" id="docbartable">
+ <td><img src="/static/img/jun09/pad/roundcorner_left.gif"></td>
+ <td id="docbarpadtitle"><span>Browse Tags</span></td>
+ <td width="100%">&nbsp;</td>
+ <td><img src="/static/img/jun09/pad/roundcorner_right.gif"></td>
+ </table>
</div>
<div id="padmain">
<div id="padsidebar">
<div id="padusers">
- <a href="/ep/pad/newpad" id="home-newpad">
- Create new pad
- </a>
+ <% if (isProAccountEnabled()) { %>
+ <a href="/ep/pad/newpad" style="padding: 25px 0" id="home-newpad">
+ Create new pad
+ </a>
+ <a href="/ep/pro-signup/" style="padding: 25px 0" id="home-newteam">
+ Create new team
+ </a>
+ <% } else { %>
+ <a href="/ep/pad/newpad" id="home-newpad">
+ Create new pad
+ </a>
+ <% } %>
</div>
<div id="hdraggie"><!-- --></div>
diff --git a/etherpad/src/static/css/beta.css b/etherpad/src/static/css/beta.css
deleted file mode 100644
index afba271..0000000
--- a/etherpad/src/static/css/beta.css
+++ /dev/null
@@ -1,49 +0,0 @@
-div.beta-signup { }
-
-div.right {
- float: right;
- width: 500px;
-}
-div.left {
- width: 224x;
- float: left;
- text-align: center;
- padding: 60px 0 0 80px;
-}
-
-form#beta-signup-form {
- border: 1px solid #ccc;
- margin: 2em 0;
- padding: 1em;
- background: #eee;
-}
-
-form#beta-signup-form p { margin: 0; }
-
-form input {
- border: 1px solid #3773c6;
- font-size: 14pt;
-}
-
-form button {
- border: 0;
- cursor: pointer;
- color: #fff;
- font-weight: bold;
- overflow: visible;
- padding: 0;
- background: #70a4ec;
- border: 1px solid #3773c6;
- padding: 4px 6px;
- margin-top: 4px;
-}
-
-#error-msg {
- margin: 0;
- padding: .5em;
- margin-bottom: .5em;
- border: 1px solid red;
- background: #fee;
- font-weight: bold;
-}
-
diff --git a/etherpad/src/static/css/connection_diagnostics.css b/etherpad/src/static/css/connection_diagnostics.css
deleted file mode 100644
index fc040d0..0000000
--- a/etherpad/src/static/css/connection_diagnostics.css
+++ /dev/null
@@ -1,13 +0,0 @@
-#content {
- text-align: center;
-}
-
-#statusmsg {
- font-size: 200%;
- color: #444;
-}
-
-#emailform { margin: 2em; padding: 1em; background: #eee; border: 1px solid #999; }
-#emailform p { font-size: 200%; color: #444; }
-#emailform input { font-size: 200%; margin-bottom: 1em; }
-#emailform #email { color: #555; }
diff --git a/etherpad/src/static/css/fluxbb.css b/etherpad/src/static/css/fluxbb.css
deleted file mode 100644
index 844ceca..0000000
--- a/etherpad/src/static/css/fluxbb.css
+++ /dev/null
@@ -1,55 +0,0 @@
-/* fluxbb-specific CSS rules go here. */
-
-/*----------------------------------------------------------------*/
-/* Etherpad overriding shit */
-/*----------------------------------------------------------------*/
-
-div.epforum {
- width: 780px;
- padding-top: 1em;
- margin-left: auto;
- margin-right: auto;
-}
-
-div#punwrap div.pun {
- font-size: 120%;
-}
-
-div#idx1 h2 { display: none; }
-
-div#punwrap div.pun h2 {
- color: white;
- font-style: normal;
- font-weight: normal;
- font-family: sans-serif;
- font-size: 1.2em;
-}
-
-div#punwrap div.pun p { margin: 0; }
-
-.pun div.box {
- border: 1px solid #ccc;
-}
-
-div#brdheader div.box {
- background: #fff;
- border: 0;
- padding: 0;
- margin: 0;
-}
-
-div#brdheader div#brdtitle {
- padding: 0;
-}
-div#brdheader h1 {
- font-family: "Lucida Grande","Lucida Sans Unicode",sans-serif;
- color: #666;
- border-bottom: 1px solid #666;
- font-size: 1.8em;
-}
-
-div#brdwelcome {
- margin-top: 1em;
- border: 1px solid #ccc;
- background: #f1f1f1;
-}
diff --git a/etherpad/src/static/css/home-opensource.css b/etherpad/src/static/css/home-opensource.css
index 41e7996..82f15da 100644
--- a/etherpad/src/static/css/home-opensource.css
+++ b/etherpad/src/static/css/home-opensource.css
@@ -10,7 +10,7 @@
font-size: 3.6em;
}
-#home a#home-newpad {
+#home a#home-newpad, #home a#home-newteam{
display: block;
padding: 1em;
margin: 12px 60px;
@@ -20,7 +20,7 @@
color: #fff;
}
-#home a#home-newpad:hover {
+#home a#home-newpad:hover, #home a#home-newteam:hover{
background: #26b;
}
diff --git a/etherpad/src/static/css/home.css b/etherpad/src/static/css/home.css
deleted file mode 100644
index 797a8a7..0000000
--- a/etherpad/src/static/css/home.css
+++ /dev/null
@@ -1,264 +0,0 @@
-/*--------
- Homepage
- --------*/
-
-/* Top */
-
-#top {
- height: 349px;
- position: relative;
- background: url(/static/img/davy/gfx/screenshot.gif) no-repeat bottom right;
-}
-
-#homepage-notice {
- margin: 10px auto;
- width: 888px;
- background: #ffc;
- color: #000;
- border: 2px solid #550;
- font-size: 1.4em;
- padding: 8px;
-}
-
-#intro-left {
- width: 340px;
- float: left;
- font-family: Arial, Helvetica, sans-serif;
- text-shadow: 0 0 1px #18487F;
- padding-top: 10px;
-}
- #intro-left h1 {
- width: 210px;
- position: relative;
- padding: 57px 0 0 0;
- overflow: hidden;
- background: transparent url(/static/img/davy/gfx/home-logo2.gif) no-repeat top left;
- height: 0px;
- margin: 0 0 5px -8px;
- }
- #intro-left h2 {
- color: #d1e5ff;
- font-size: 1.5em;
- font-weight: bold;
- line-height: 1.2;
- }
- #intro-left h2 a {
- color: #9ac6ff;
- font-style: italic;
- border-bottom: 2px solid;
- }
- #intro-left h2 a:hover {
- text-decoration: none;
- color: #4A91EE;
- }
- #intro-left p {
- color: #fff;
- font-size: 1.167em;
- line-height: 1.3;
- margin: 10px 0;
- }
- #intro-links {
- position: absolute;
- bottom: 17px;
- left: -1px;
- width: 500px;
- }
- #intro-links a {
- display: block;
- float: left;
- position: relative;
- padding: 64px 0 0 0;
- overflow: hidden;
- background-repeat: no-repeat;
- background-position: top left;
- height: 0;
- }
- #newpadbutton {
- width: 212px;
- background-image: url(/static/img/davy/btn/createpad-home.gif);
- margin-right: 11px;
- }
- #betabutton {
- width: 220px;
- background-image: url(/static/img/davy/btn/signup-home-4.gif);
- }
-
-/* Bottom */
-
-#bottom {
- padding-top: 28px;
-}
-
-#quote {
- border-bottom: 1px solid #e0e0e0;
- padding-bottom: 24px;
- text-shadow: 0 0 1px #F7F7F7;
-}
- #quote q {
- width: 680px;
- float: left;
- font-size: 1.33em;
- height: 1.5em;
- }
- #quote #quote-right {
- width: 200px;
- float: right;
- text-align: right;
- }
- #quote #quote-right cite {
- display: block;
- font-size: 1.33em;
- font-style: italic;
- margin-bottom: 8px;
- }
-
-#features {
- border-top: 1px solid #fff;
- padding-top: 22px;
- text-shadow: 0 0 1px #F7F7F7;
-}
- #features li {
- width: 213px;
- float: left;
- margin-left: 12px;
- }
- #features li.first {
- margin-left: 0;
- }
- #features li img {
- float: left;
- margin-right: 8px;
- }
- #features li strong,
- #features li span {
- display: block;
- margin-left: 40px;
- }
- #features li strong {
- font-size: 16px;
- font-weight: normal;
- margin-bottom: 6px;
- }
- #features li span {
- line-height: 17px;
- }
-
-#uses {
-width: 675px;
-float: left;
- margin-bottom: 28px;
- margin-right: -12px;
-position: relative;
-}
-#uses li {
-width: 213px;
-float: left;
- margin-right: 12px;
-}
-#uses li a {
- font-size: 1.5em;
- font-family: Calibri, Arial, Helvetica, sans-serif;
- text-shadow: 0 1px 0 #fff;
-color: #214b7e;
-}
-#uses li a:hover {
- text-decoration: none;
-color: #30619c;
-}
-#uses li .thumb {
-display: block;
-width: 213px;
-position: relative;
-padding: 123px 0 0 0;
-overflow: hidden;
- background-repeat: no-repeat;
- background-position: top left;
-height: 0px;
- margin-top: 10px;
-}
-#uses #use-meetings .thumb { background-image: url(/static/img/davy/gfx/use-meetings.png); }
-#uses #use-programming .thumb { background-image: url(/static/img/davy/gfx/use-programming.png); }
-#uses #use-writing .thumb { background-image: url(/static/img/davy/gfx/use-writing.png); }
-#uses .more {
-display: block;
-position: absolute;
-padding: 21px 0 0 0;
-overflow: hidden;
-background: transparent url(/static/img/davy/btn/uses-more.gif) no-repeat top left;
-height: 0px;
-width: 58px;
-top: 0;
-right: 12px;
- z-index: 10;
-}
-* html #uses .more {
-right: 24px;
-}
-
-#blog {
-width: 213px;
-float: left;
- margin-right: 12px;
-clear: left;
-}
-#blog h3 {
- font-family: Calibri, "Trebuchet MS", Trebuchet, Arial, Helvetica, sans-serif;
-color: #666;
- text-transform: uppercase;
- text-shadow: 0 1px 0 #fff;
- letter-spacing: 1px;
-}
-#blog li {
-margin: 1.25em 0;
-}
-#blog li strong a {
- font-size: 1.33em;
- font-family: Calibri, Arial, Helvetica, sans-serif;
- font-weight: bold;
-}
-#blog li small {
-display: block;
- font-size: .917em;
- font-family: Calibri, Arial, Helvetica, sans-serif;
-color: #666;
-margin: 2px 0;
-}
-#blog li small a {
-color: #4182c2;
-}
-#blog li span {
- line-height: 1.3;
-}
-
-#quotes {
-width: 406px;
-float: left;
-background: #e0ecf9;
-border: 1px solid #8ba9cc;
- border-left: 0;
- border-right: 0;
-color: #334050;
- font-family: Calibri, Arial, Helvetica, sans-serif;
-padding: 12px 16px 0;
- text-shadow: 0 0 1px #e0ecf9;
-}
-#quotes q {
- font-size: 1.5em;
- line-height: 1.22;
-display: block;
- text-indent: -.45em;
-}
-#quotes cite {
- font-size: 1.33em;
-display: block;
- font-style: italic;
- text-align: right;
-margin: .5em 0 1em;;
-}
-#quotes .more {
- text-align: right;
- margin-bottom: 1em;
- position: relative;
- right: -.75em;
- font-size: 1.167em;
-}
diff --git a/etherpad/src/static/css/pad.css b/etherpad/src/static/css/pad.css
deleted file mode 100644
index 02c341f..0000000
--- a/etherpad/src/static/css/pad.css
+++ /dev/null
@@ -1,1000 +0,0 @@
-*,html.body,p { margin: 0; padding: 0; }
-html {
- font-size: 62.5%;
-}
-div.hidden { display: none; }
-
-/*----------------------------------------------------------------*/
-/* pad */
-/*----------------------------------------------------------------*/
-body#padbody {
- font-family: verdana, helvetica, sans-serif;
- background: white;
- color: black;
-}
-
-body#padbody.limwidth {
- background: #d2d2d2 url(/static/img/apr09/backgrad.png) repeat-x left top;
-}
-
-body #padoutertable { width: 100%; }
-body.limwidth #padoutertable { width: 940px; margin-left: auto; margin-right: auto; }
-#padoutertable td#pot_main, #padoutertable td#pot_top, #padoutertable td.potshad {
- vertical-align: top; zoom: 1; position: relative; }
-#padoutertable #pot_main { background: white; padding-left: 12px; padding-right: 12px;
- padding-top: 2px;
-}
-
-body.fullwidth #padoutertable .potshad { display: none; }
-
-/* Achieve side drop shadows on top of background gradient using two drop shadow
- images for each side (one with gradient in background, one to repeat down the
- page). Each side drop shadow gets a column of the padoutertable, but split into
- two cells, because if a single cell is used on each side with rowspan=2 with a
- tall image in it, IE 6 chooses an unsightly initial height for the top bar.
-*/
-body.limwidth #padoutertable .potshad { width: 4px; }
-body.limwidth #padoutertable .potshad div { height: 200px; }
-body.limwidth #padoutertable #pot_shadleft {
- background: url(/static/img/apr09/shadleft.png) repeat-y right top; }
-body.limwidth #padoutertable #pot_shadleft div,
-body.limwidth #padoutertable #pot_shadlefttopseg {
- background: url(/static/img/apr09/shadlefttop.png) no-repeat right top; }
-body.limwidth #padoutertable #pot_shadright {
- background: url(/static/img/apr09/shadright.png) repeat-y left top; }
-body.limwidth #padoutertable #pot_shadright div,
-body.limwidth #padoutertable #pot_shadrighttopseg {
- background: url(/static/img/apr09/shadrighttop.png) no-repeat left top; }
-body.limwidth #padoutertable #pot_main, body.limwidth #padoutertable #pot_top {
- border-left: 1px solid #333;
- border-right: 1px solid #333;
-}
-body.limwidth #padoutertable #pot_main { border-bottom: 1px solid #333; }
-
-#padoutertable #pot_top { background: #2e609e url(/static/img/apr09/topbar.gif) repeat-x left top;
- height: 28px; vertical-align: middle;
- border-bottom: 1px solid #333;
- padding-left: 1px; padding-right: 1px; /* a little padding helps "active" rects not extend outside */
-}
-
-#padpage #pot_top a#headhomelink {
- display: block; float: left;
- height: 0; width: 88px;
- padding-top: 28px;
- overflow: hidden;
- text-decoration: none;
- background: url(/static/img/apr09/topbarlogo.gif) no-repeat left top;
-}
-#padpage #pot_top a#widthlink {
- display: block; float: right;
- height: 0; width: 28px;
- padding-top: 28px;
- overflow: hidden;
- text-decoration: none;
-}
-
-#padpage #pot_top, #padpage #pot_top a { color: #cbd7e7; }
-#padpage #pot_top a:focus { outline: 0; } /* for firefox */
-
-body.limwidth #padpage #pot_top a#widthlink {
- background: url(/static/img/apr09/widthfull.gif) no-repeat center 8px; }
-body.fullwidth #padpage #pot_top a#widthlink {
- background: url(/static/img/apr09/widthlim.gif) no-repeat center 8px; }
-body.limwidth #padpage #pot_top a#widthlink:hover {
- background: url(/static/img/apr09/widthfullactive.gif) no-repeat center 8px; }
-body.fullwidth #padpage #pot_top a#widthlink:hover {
- background: url(/static/img/apr09/widthlimactive.gif) no-repeat center 8px; }
-
-#padpage #pot_top #headurl {
- margin-left: 30px;
- margin-top: 5px;
- float: left;
- margin-right: 20px;
- padding: 2px;
- height: 15px;
- line-height: 14px;
- font-size: 1.1em;
-}
-
-#padpage #pot_top #shareurl { font-weight: bold; }
-
-#padpage #pot_top #newpadlink {
- display: block; float: right; margin-right: 30px; font-size: 1.0em;
- font-weight: bold; text-decoration: none;
- height: 0;
- padding-top: 8px;
- padding-bottom: 20px;
- padding-left: 20px;
- padding-right: 6px;
- overflow: hidden;
- background: url(/static/img/apr09/newpadicon.gif) no-repeat 2px 8px;
-}
-#padpage #pot_top a#newpadlink:hover {
- text-decoration: underline; color: white;
-}
-
-/*
-body#padbody.fullwidth {
- background: #ddd;
-}
-#padpage {
-
-}
-body.limwidth #padcontent {
- width: 940px;
- margin-left: auto;
- margin-right: auto;
-}
-#padpage #padhead {
- height: 38px;
- text-align: center;
- margin-bottom: 4px;
-}
-#padpage #padhead_inner {
- width: 938px;
- margin-left: auto;
- margin-right: auto;
- padding: 0 1px;
- background: url(/static/img/oct/minitopback2.gif) repeat center top;
- border: 1px solid #666;
- border-top: 0;
-}
-#padpage #padhead a#headhomelink {
- display: block;
- float: left;
- height: 0;
- width: 154px;
- padding-top: 37px;
- overflow: hidden;
- text-decoration: none;
- background: url(/static/img/oct/minitoplogo2.gif) no-repeat left top;
-}
-#padpage #headnewpad {
- float: right;
-}
-#padpage #headnewpad #newbutton {
- margin-top: 5px;
- margin-right: 20px;
-}
-#padpage #headurl {
- margin-left: 70px;
- margin-top: 5px;
- float: left;
- font-size: 1.4em;
- margin-right: 20px;
- padding: 5px 5px 5px 5px;
- height: 17px;
- line-height: 17px;
-}
-#padpage #headurl label {
- font-weight: bold;
- font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
- font-size:1em;
- position: relative;
- top: 1px;
-}
-#padpage #headurl #shareurl {
- border: 1px solid #999;
- padding: 3px;
-}
-#padpage #padtablediv {
- margin: 0;
-}
-body.limwidth #padpage #padtablediv {
- margin: 0 20px;
-}
-*/
-
-#padpage #padtable {
- width: 100%;
-}
-#padpage #padtable td#topbar {
- height: 16px;
-}
-#padpage #padtable div#topbarmsg {
- display: none;
- float: left;
- color: #642;
- font-size: 1.0em;
- padding-top: 2px;
- padding-left: 4px;
- border-left: 1px solid #ccc;
-}
-
-#padpage #topbar #connectionstatus {
- float: left;
- padding-top: 2px;
- padding-right: 4px;
- padding-left: 16px;
- height: 16px;
- font-size: 1.0em;
- color: #666;
-}
-#padpage #topbar .connecting {
- background: url(/static/img/pad/animated-orb-orange-12.gif) no-repeat left center;
-}
-#padpage #topbar .connected {
- background: url(/static/img/pad/orb-greenred-12.gif) no-repeat left 3px;
-}
-#padpage #topbar .disconnected {
- background: url(/static/img/pad/orb-greenred-12.gif) no-repeat left -17px;
-}
-#padpage #padtable a.showhide {
- display: block;
- margin: 0;
- font-size: 1em;
- text-decoration: none;
-}
-#padpage #padtable a.showhide:hover {
- text-decoration: underline;
-}
-#padpage #padtable a.showhide, #padpage #padtable a.showhide:visited {
- color: #66f;
-}
-#padpage #padtable a#showsidebar {
- float: right;
- display: none;
- position: relative;
- top: 2px;
-}
-#padpage #padtable a#hidesidebar {
- float: left;
- display: none;
-}
-/*#padpage #editorcontainer {
- display: none;
-}*/
-/*#padpage #toptoolbar {
- display: none;
-}*/
-#padpage .editorcell_loaded #editorcontainer {
- background: #fff;
- overflow: hidden;
- display: block;
-}
-#padpage #toptoolbar {
- border-bottom: 1px solid #666;
- height: 30px;
- background: #eee;
- display: block;
- position: relative; /* make it an offsetParent for padtitle stuff */
- overflow: hidden;
-}
-#padpage #bottoolbar {
- border-top: 1px solid #666;
- height: 30px;
- background: #eee;
- display: none; /* set in pad.js */
-}
-#padpage #bottoolbar #viewzoom {
- padding-left: 5px;
- padding-top: 5px;
- padding-right: 5px;
- float: left;
-}
-#padpage #bottoolbar #viewfont {
- padding-left: 5px;
- padding-top: 5px;
- padding-right: 5px;
- float: left;
-}
-#padpage #editorcell {
- border: 1px solid #666;
-}
-#padpage #toptoolbar a.toptoolbarbutton {
- float: left;
- height: 20px;
- width: 20px;
- border: 1px solid #999;
- background-color: #eee;
- background-repeat: no-repeat;
- background-position: center center;
- margin-top: 5px;
- text-decoration: none;
-}
-#padpage #toptoolbar.disabledtoolbar a.toptoolbarbutton {
- opacity: 0.5;
- filter: alpha(opacity = 50); /* IE */
- zoom: 1;
- cursor: auto;
-}
-#padpage #toptoolbar #padtitle {
- float: left;
- margin-top: 5px;
- margin-left: 20px;
- line-height: 20px;
- width: 400px;
- height: 20px;
- overflow: hidden;
- display: none;
-}
-#padpage #toptoolbar .padtitlepad {
- font-style: italic;
- color: #666;
- font-size: 1.2em;
-}
-#padpage #toptoolbar #padtitletitle {
- font-weight: bold;
- font-size: 1.2em;
-}
-#padpage #toptoolbar .editlink {
- font-size: 1em;
- color: #666;
-}
-#padpage #toptoolbar .oklink {
- display: none;
- z-index: 2;
- position: absolute;
- line-height: 20px;
- font-size: 1em;
-}
-#padpage #toptoolbar #padtitleedit {
- z-index: 2;
- position: absolute;
- left: 0;
- top: 0;
- display: none;
-}
-#padpage #toptoolbar a:focus {
- outline: 0;
-}
-#padpage #toptoolbar .bold { background-image: url(/static/img/may09/bold.gif); }
-#padpage #toptoolbar .italic { background-image: url(/static/img/may09/italic.gif); }
-#padpage #toptoolbar .underline { background-image: url(/static/img/may09/underline.gif); }
-#padpage #toptoolbar .undo { background-image: url(/static/img/may09/undo.gif); }
-#padpage #toptoolbar .redo { background-image: url(/static/img/may09/redo.gif); }
-#padpage #toptoolbar .bold, #padpage #toptoolbar .undo {
- margin-left: 5px;
-}
-#padpage #toptoolbar #passwordlock {
- float: right;
- margin-top: 5px;
- margin-right: 5px;
- width: 22px;
- height: 22px;
- text-decoration: none;
-}
-#padpage #toptoolbar a#passwordlock:hover {
- background-color: #ffffee;
-}
-#padpage #toptoolbar .passwordhidden { display: none; }
-#padpage #toptoolbar .passwordlocked {
- display: block;
- background: url(/static/img/may09/passwordlocked.gif) no-repeat center center;
-}
-#padpage #toptoolbar .passwordnone {
- display: block;
- background: url(/static/img/may09/passwordnone.gif) no-repeat center center;
-}
-#padpage #sidebarcell {}
-#padpage #sidebar {
- width: 300px;
- border-top: 1px solid #666;
- border-right: 1px solid #666;
- border-bottom: 1px solid #666;
- background: #fff;
- overflow: auto;
-}
-#padpage div.sidebar_loading {
- border-left: 1px solid #666;
-}
-#padpage #editorcontainer iframe {
- width: 100%;
- padding:0;
- margin:0;
-}
-#padpage #appjetfooter {
- padding: 3px 3px;
- font-family: Verdana, Helvetica, sans-serif;
- font-size: 1em;
- text-align: right;
-}
-div#djs {
- font-family: monospace;
- font-size: 10pt;
- height: 300px;
- overflow: scroll;
- border: 1px solid #ccc;
- background: #fee;
- margin: 5px 0;
- padding: 6px;
-}
-div#djs p { margin: 0; padding: 0; display: block; }
-#padpage a.small_link {
- font-style: normal;
- color: #66f;
- text-decoration: none;
- font-size: 1.1em;
-}
-#padpage a.small_link:hover { text-decoration: underline; }
-#padpage .editorcell_loading #editorcellinner {
- height: 400px; /* make #sizedcontent stretch the outer table for height calc */
-}
-#padpage #editorcellinner {
- position: relative;
- zoom: 1;
-}
-#padpage #loadingbox {
- padding-top: 100px;
- padding-bottom: 100px;
- font-size: 2.5em;
- color: #aaa;
- text-align: center;
- position: absolute;
- width: 100%;
- height: 30px;
- z-index: 100;
-}
-/*----------------------------------------------------------------*/
-/* userlist */
-/*----------------------------------------------------------------*/
-#sidebar div.sideheadwrap {
- font-weight: normal;
- font-size: 1.2em;
- text-align: center;
- padding: 3px 6px;
- background: #eee url(/static/img/pad/sidehead-grad.gif) repeat-x bottom left;
- border-bottom: 1px solid #666;
- cursor: pointer;
- zoom: 1;
-}
-#sidebar div.sh_hilited {
- background-image: url(/static/img/oct/sidehead-gradhilite.gif);
-}
-#sidebar div.sideheadwrap p.sidehead {
- display: block;
- text-align: left;
- padding: 0 0 0 18px;
- margin: 0;
-}
-#sidebar div.sh_uncollapsed p.sidehead {
- background: url(/static/img/pad/expandy-arrow6-down.gif) no-repeat center left;
-}
-#sidebar div.sh_collapsed p.sidehead {
- background: url(/static/img/pad/expandy-arrow6-right.gif) no-repeat center left;
-}
-#sidebar div.sideheadwrap:hover {
- cursor: pointer;
- background: #bbb;
-}
-#sidebar div.sh_uncollapsed:hover p.sidehead {
- background: url(/static/img/pad/expandy-arrow6-down-active.gif) no-repeat center left;
-}
-#sidebar div.sh_collapsed:hover p.sidehead {
- background: url(/static/img/pad/expandy-arrow6-right-active.gif) no-repeat center left;
-}
-#sidebar div.sidebox { margin-bottom: 10px; }
-#sidebar div#chatbox { margin-bottom: 2px; }
-#sidebar div.sidebox_last { margin-bottom: 0; }
-#sidebar #userlist div.userbox {
- border-bottom: 1px solid #ccc;
-}
-#sidebar #userlist div.lastuser {
- border-bottom: 0;
-}
-#sidebar #userlist div.userbox div.userinfo {
- font-style: italic;
- margin-top: 3px;
-}
-#sidebar #userlist div.userbox div.userinfo span.username {
- padding-bottom: 4px;
- font-size: 1.2em;
-}
-#sidebar #userlist div.userbox div.userinfo div.ip {
- color: #999;
- font-size: 1em;
- margin-bottom: 3px;
-}
-#sidebar #userlist div.userbox div.usercolor {
- border: 1px solid black;
- width: 12px;
- height: 12px;
- float: left;
- margin: 6px;
- margin-top: 3px;
- margin-left: 0;
-}
-#sidebar #userlist div.userbox div#rightuserlink {
- float: right;
- text-align: right;
- width: 120px;
-}
-#sidebar #userlist a#changenamelink {
- padding-right: 18px;
- background: url(/static/img/pad/pencil-icon-small-blue.gif) no-repeat top right;
-}
-#sidebar #userlist div.userinfowrap {
- padding: 6px 0 6px 6px;
-}
-#sidebar #userlist div.myuserwrap:hover {
- cursor: pointer;
- background: #eee;
-}
-/*----------------------------------------------------------------*/
-/* editing my user info */
-/*----------------------------------------------------------------*/
-#userlist div.edituserinfo {
- color: black;
- padding: 6px 0 12px 12px;
-}
-#userlist div.edituserinfo p {
- font-size: 1.2em;
- margin: 8px 4px;
-}
-#userlist div.edituserinfo h4 {
- margin-top: 1em;
- margin-left: 4px;
- font-size: 1.3em;
- color: black;
- font-weight: bold;
-}
-#userlist div.edituserinfo input {
- width: 260px;
-}
-#userlist div.edituserinfo button {
- margin: 8px 4px;
-}
-#colorpicker a {
- border: 3px solid #ccc;
- text-decoration: none;
- display: block;
- width: 12px;
- height: 12px;
- float: left;
- margin: 4px;
- cursor: pointer;
-}
-#colorpicker a.selectedcolor {
- border: 3px solid black;
-}
-#colorpicker a:hover {
- border: 3px solid black;
-}
-/*----------------------------------------------------------------*/
-/* invitemore */
-/*----------------------------------------------------------------*/
-#sidebar #invitemore {
- display: none;
- text-align: center;
- margin-top: 10px;
- font-size: 1.1em;
-}
-#sidebar #invitemore input {
- font-size: 1.1em;
-}
-#sidebar #invitemore a {}
-#sidebar #invitemore #inviteinstructions {
- background-color: #efe;
- border: 1px solid #ccc;
-}
-#sidebar #invitemore #inviteinstructions p {
- text-align: justify;
- padding: .4em 1em;
-}
-#sidebar #invitemore #inviteinstructions p#hideinstructions {
- text-align: center;
-}
-#sidebar #invitemore #inviteinstructions p#emailinviteleadin {
- margin-top: .6em;
-}
-#sidebar #invite_email { width: 160px; }
-#sidebar #invitemore #inviteinstructions #invite_email_submit {}
-#sidebar #invitemore #invite_email_status { color: #642; }
-/*----------------------------------------------------------------*/
-/* prefs */
-/*----------------------------------------------------------------*/
-#sidebar div#headprefs { border-top: 1px solid #666; }
-#sidebar div#headfeedback { border-top: 1px solid #666; }
-#sidebar div#headrevisions { border-top: 1px solid #666; }
-#sidebar div#headchatbox { border-top: 1px solid #666; }
-#sidebar div#headimportexport { border-top: 1px solid #666; }
-#sidebar #prefs div.prefcheckbox {
- margin: 0;
- cursor: pointer;
- border: 1px solid #fff;
- font-size: 1em;
-}
-#sidebar #prefs div.prefcheckbox td.checkboxcell {
- padding: 0 4px;
-}
-#sidebar #prefs div.prefcheckbox td.labelcell {
- padding: 3px 4px;
-}
-#sidebar #prefs div.prefcheckbox:hover {
- cursor: pointer;
- background-color: #def;
- border: 1px solid #aaa;
-}
-/*----------------------------------------------------------------*/
-/* revisions */
-/*----------------------------------------------------------------*/
-#sidebar #revisions {
- text-align: center;
-}
-#sidebar #revisionlist {}
-#sidebar #revisions input#savenow {
- width: 260px;
- margin-left: auto; margin-right: auto;
- margin-top: 6px; margin-bottom: 6px;
-}
-#sidebar #revisions .revisioninfo {
- text-align: left;
- font-size: 1.1em;
- border-top: 1px solid #ccc;
- padding: 3px 2px 3px 6px;
-}
-#sidebar #revisions .revisioninfo .ractions {
- color: #aaa;
- font-size: 1em;
-}
-#sidebar #revisions .revisioninfo .rleft {
- width: 96px;
- float: left;
-}
-#sidebar #revisions .revisioninfo .editrlabel {
- padding-left: 16px;
- background: url(/static/img/pad/pencil-icon-small-blue.gif) no-repeat center left;
-}
-#sidebar #revisions .revisioninfo .rright {
- margin-left: 18px;
- color: #777;
- font-style: italic;
-}
-#sidebar #revisions .revisionbottomlinks {
- border-top: 1px solid #eee;
- padding-top: 5px;
- color: #888;
- font-size: 1.1em;
-}
-#sidebar #revisions #nosaveprivs {
- display: none;
- color: #282;
- font-size: 1.2em;
- padding: 1em;
-}
-#sidebar #revisions p.revlabelprompt {
- color: #444;
- padding: 2px;
-}
-#sidebar #revisions input.inputrevlabel {
- display: block;
- width: 260px;
- margin-left: auto; margin-right: auto;
- margin-top: 6px; margin-bottom: 6px;
- border: 1px solid #ccf;
-}
-
-/*----------------------------------------------------------------*/
-/* feedback */
-/*----------------------------------------------------------------*/
-#sidebar #feedback {
- background: #eee;
- padding: 1px 8px; /* non-zero padding so that background extends */
- border-bottom: 1px solid #bbb;
- text-align: center;
- padding-bottom: 12px;
-}
-#sidebar #feedback p {
- font-size: 1.1em;
- margin: 10px 0;
- color: #333;
- text-align: justify;
-}
-#sidebar #feedback p em {
- font-weight: bold;
- font-style: italic;
-}
-#sidebar #feedback #formbox {
- width: 260px;
- margin-left: auto;
- margin-right: auto;
- zoom: 1;
- positive: relative;
-}
-#sidebar #feedback textarea {
- width: 100%;
- margin-left: auto;
- margin-right: auto;
- height: 100px;
-}
-#sidebar #feedbacksubmit {
- width: 100%;
- text-align: center;
- margin-left: auto;
- margin-right: auto;
-}
-#sidebar #feedbackresult {
- display: none;
-}
-/*----------------------------------------------------------------*/
-/* other */
-/*----------------------------------------------------------------*/
-a#newbutton {
- font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
- font-size:1.2em;
- line-height:1.0;
- margin:0 0 0 0;
- text-decoration:none;
-
- background-color:#eee;
- border:1px solid #999;
- border-top: 1px solid #bbb;
- border-bottom: 1px solid #666;
-
- padding:5px 5px 3px 5px;
-
- cursor:pointer;
- font-weight:bold;
- color:#555;
- display: block;
-}
-a#newbutton:hover {
- background-color: #ddd;
- border: 1px solid #999;
- color: #333;
-}
-a#newbutton img {
- padding:0;
- padding-bottom: 2px;
- border:none;
- width: 16px;
- height: 16px;
- vertical-align: middle;
-}
-
-#framedpage #notice {
- padding: 40px 20px;
-}
-#framedpage #notice p {
- margin: 16px 0;
-}
-
-img#plane { border: 0; vertical-align: middle; }
-
-/*----------------------------------------------------------------*/
-/* top msgs */
-/*----------------------------------------------------------------*/
-
-div.topmsg {
- zoom: 1;
- margin: 5px 0;
- position: relative;
-}
-div.topmsg a#hidetopmsg {
- position: absolute;
- right: 5px;
- bottom: 5px;
-}
-
-div#bigtoperror_wrap {
- border: 1px solid #a66;
- background: #fdd;
- font-size: 1.2em;
- padding: 1em;
- padding-bottom: .5em;
-}
-div#bigtoperror_wrap p {
- margin-bottom: 6px;
- color: #222;
-}
-div#bigtoperror_wrap p.whynote {
- color: #444;
-}
-div#bigtoperror_wrap p.whynote a {
- color: #33f;
-}
-div#bigtoperror_wrap button.forcereconnect {
- margin-top: 6px;
-}
-div#bigtoperror_wrap a { color: #00a; }
-div#bigtoperror_wrap a:visited { color: #00a; }
-
-div#servermsg {
- position: relative;
- border: 1px solid #992;
- background: #ffc;
- padding: 1em;
-}
-
-/*----------------------------------------------------------------*/
-/* chat */
-/*----------------------------------------------------------------*/
-#chatbox {}
-#chatbox #chatmessages {
- margin: 0;
- margin-bottom: 2px;
- height: 160px;
- border: 1px solid #ccc;
- overflow: auto;
-}
-#chatbox div.chatmessage { padding: 2px 0; }
-#chatbox div.chatusermessage0 { background-color: #eee; }
-#chatbox span.chatname { font-style: italic; }
-#chatbox span.chattime { font-style: italic; color: #444; }
-#chatbox span.chatline { color: #222; }
-#chatbox input#chatinput { width: 100%; }
-#chatbox #chatsaytable {
- width: 270px;
- margin-left: auto;
- margin-right: auto;
- padding: 0;
- border-spacing: 0;
-}
-#chatbox #chatsaytable td { padding: 0 2px; }
-
-/*----------------------------------------------------------------*/
-/* import/export */
-/*----------------------------------------------------------------*/
-
-#importexport td.exportpic a img {
- border: 0;
-}
-
-#importexport .exportspinner {
- display: none;
-}
-
-#importexport .exportspinner img {
- margin-left: 7px;
-}
-
-#importexport a.disabledexport {
- color: gray;
-}
-
-#importexport {
- font-size: 1em;
- font-family: verdana, helvetica, sans-serif;
-}
-
-#importexport .exportlink {
- margin: 2px 0;
-}
-
-#importexport td.labelcell {
- padding-left: 4px;
-}
-
-#importexport td.firsttd {
- padding-left: 10px;
-}
-
-#importexport td.secondtd {
- padding-left: 50px;
-}
-
-#importexport #headexport {
- font-size: 1.1em;
- margin: 7px;
- margin-top: 10px;
-}
-
-#importexport #importsection {
- border-top: 1px solid #ccc;
- margin-top: 5px;
- padding-top: 3px;
-}
-
-#importexport .importformdiv {
- padding: 5px 15px;
-}
-
-#importexport #importformsubmitdiv {
- margin-top: 5px;
-}
-
-.importformenabled {
- background: #cfc;
- border-top: 1px solid #292;
- border-bottom: 1px solid #292;
-}
-
-#importexport #headimport {
- font-size: 1.1em;
- margin: 7px;
-}
-
-#importexport .importmessage {
- display: none;
- border: 1px solid #992;
- background: #ffc;
- padding: 5px;
-}
-
-#importexport #exportmessage {
- display: none;
- border: 1px solid #992;
- background: #ffc;
- padding: 5px;
- margin: 10px 15px;
-}
-
-#importexport #importmessagefail {
- margin-top: 10px;
- margin-bottom: 5px;
-}
-
-#importexport #importmessagesuccess {
- margin: 0 20px;
-}
-
-#importexport #importstatusball {
- display: none;
- padding-bottom: 3px;
-}
-
-#importexport #importarrow {
- display: none;
- margin-left: 5px;
-}
-
-span.nowrap {
- white-space: nowrap;
-}
-
-#sidebar #prefs div.prefcheckbox {
- margin: 0;
- cursor: pointer;
- border: 1px solid #fff;
- font-size: 1em;
-}
-#sidebar #prefs div.prefcheckbox td.checkboxcell {
- padding: 0 4px;
-}
-#sidebar #prefs div.prefcheckbox td.labelcell {
- padding: 3px 4px;
-}
-#sidebar #prefs div.prefcheckbox:hover {
- cursor: pointer;
- background-color: #def;
- border: 1px solid #aaa;
-}
-
-/*----------------------------------------------------------------*/
-/* modal dialogs */
-/*----------------------------------------------------------------*/
-
-#modaloverlay {
- position: absolute;
- z-index: 100;
- background-image: url(/static/img/apr09/black35.png);
- zoom: 1;
- display: none;
- left: 0; top: 0;
- width: 100%;
-}
-
-* html #modaloverlay { /* for IE 6+ */
- background-color: transparent;
- background-image: url(/static/img/apr09/blank.gif);
- filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="/static/img/apr09/black35.png", sizingMethod="scale");
-}
-
-#modaldialog {
- border: 1px solid #333;
- background: #ddd;
- width: 400px;
- margin-left: auto;
- margin-right: auto;
- position: relative;
-}
-
-#dialogtopbar {
- height: 18px;
- border-bottom: 1px solid #333;
- background: #2e609e url(/static/img/apr09/modalbar.gif) repeat-x left top;
- color: #cbd7e7;
- font-size: 1.0em;
- font-weight: bold;
- line-height: 18px;
- padding-left: 10px;
- cursor: default;
-}
-
-td#dialogcontent {
- padding: 10px;
- height: 100px;
- vertical-align: top;
-}
-
-table#dialogcontenttable { width: 100%; }
diff --git a/etherpad/src/static/css/pad2_ejs.css b/etherpad/src/static/css/pad2_ejs.css
index 4b3d7e6..0029e7d 100644
--- a/etherpad/src/static/css/pad2_ejs.css
+++ b/etherpad/src/static/css/pad2_ejs.css
@@ -27,18 +27,6 @@ body.squish2width #padpage { width: 700px; }
.propad #topbar { background: #2c2c2c url(/static/img/jun09/pad/protop.gif) repeat-x 0 -25px; }
.propad #topbarleft { background: url(/static/img/jun09/pad/protop.gif) no-repeat left top; }
.propad #topbarright { background: url(/static/img/jun09/pad/protop.gif) no-repeat right top; }
-
-/*
-a#topbarnewpad { display: block; float: left; position: relative; top: 4px; width: 94px;
- height: 0; padding-top: 26px; overflow: hidden;
- background: url(/static/img/jun09/pad/padtop5.gif) no-repeat -5px -4px; }
-a#topbarnewpad:focus { outline: 0; }
-
-a#topbarfullwidth { display: block; float: right; position: relative; top: 2px; width: 107px;
- height: 0; padding-top: 27px; overflow: hidden;
- background: url(/static/img/jun09/pad/padtop5.gif) no-repeat -788px -2px; }
-a#topbarfullwidth:focus { outline: 0; }
-*/
a#backtoprosite, #accountnav {
display: block; position: absolute; height: 15px; line-height: 15px;
@@ -78,41 +66,41 @@ a#hidetopmsg { position: absolute; right: 5px; bottom: 5px; }
#docbar { margin-top: 6px; height: 30px; position: relative; zoom: 1;
background: #fbfbfb url(/static/img/jun09/pad/padtopback2.gif) repeat-x 0 -31px; }
-#docbarleft { position: absolute; left: 0; top: 0; height: 100%;
- overflow: hidden;
- background: url(/static/img/jun09/pad/padtop5.gif) no-repeat left -31px; width: 7px; }
+.docbarbutton
+{
+ padding: 2px;
+ border-left: 1px solid #CCC;
+}
-<% function docbarButton(name, width, imgleft, posright, hoverimgleft, openimgleft) {
- return ("#docbar$name$-outer { width: "+width+"px; position: absolute; height: 30px; top: 0; right: "+posright+"px; "+
- "background: url(/static/img/jun09/pad/padtop5.gif) no-repeat "+(-imgleft)+"px -31px; "+
- "/* avoid IE flicker using double background */ }"+
- "a#docbar$name$ { display: block; height: 0; padding-top: 30px; position: absolute; width: 100%; "+
- "overflow: hidden; background: url(/static/img/jun09/pad/padtop5.gif) no-repeat "+(-imgleft)+"px -31px; "+
- "z-index: 53; /* > .dbpanel-wrapper */} "+
- "a#docbar$name$:focus { outline: 0; } "+
- "a#docbar$name$:hover { background: url(/static/img/jun09/pad/docbarstates3.png) no-repeat "+(-hoverimgleft)+"px 0; } "+
- ".docbar$name$-opening a#docbar$name$, .docbar$name$-opening a#docbar$name$:hover, .docbar$name$-closing a#docbar$name$, .docbar$name$-closing a#docbar$name$:hover, .docbar$name$-open a#docbar$name$, .docbar$name$-open a#docbar$name$:hover { "+
- "background: url(/static/img/jun09/pad/docbarstates3.png) no-repeat "+(-openimgleft)+"px 0; } "+
- "a#docbar$name$:hover, .docbar$name$-closing a#docbar$name$ { padding-top: 29px; } "+
- ".docbar$name$-opening a#docbar$name$, .docbar$name$-opening a#docbar$name$:hover { "+
- "/* opening or closing: link covers gray line below it */ "+
- "padding-top: 30px; }"+
- ".docbar$name$-open a#docbar$name$, .docbar$name$-open a#docbar$name$:hover { "+
- "/* link covers gray line below it, and also top highlight of panel */ "+
- "padding-top: 30px; }").replace(/\$name\$/g, name);
-} %>
+.docbarbutton img
+{
+ border: 0px;
+ width: 13px;
+ height: 13px;
+ position: relative;
+ top: 2px;
+ margin-right: 2px;
+}
-<% // include left border, not right %>
-<%= docbarButton("savedrevs", 128, 669, 103, 123, 123) %>
-<%= docbarButton("impexp", 122, 547, 231, 0, 0) %>
-<%= docbarButton("options", 109, 438, 353, 379, 379) %>
-<%= docbarButton("security", 85, 353, 462, 489, 489) %>
+.docbarbutton a
+{
+ font-size:10px;
+ text-decoration: none;
+ color: #444;
+ font-weight: bold;
+ float: right;
+}
-#docbarslider-outer { width: 104px; position: absolute; height: 30px; top: 0; right: 0;
- background: url(/static/img/jun09/pad/padtop5.gif) no-repeat -796px -31px;
- /* avoid IE flicker using double background */ }
-a#docbarslider { display: block; height: 0; padding-top: 30px; position: absolute; width: 100%;
- overflow: hidden; background: url(/static/img/jun09/pad/padtop5.gif) no-repeat -796px -31px; z-index: 53; /* > .dbpanel-wrapper */}
+#docbarslider-outer
+{
+ background-color: #fef2bd;
+ border: 1px solid #CCC;
+ border-right: 0px;
+}
+
+#docbarleft { position: absolute; left: 0; top: 0; height: 100%;
+ overflow: hidden;
+ background: url(/static/img/jun09/pad/padtop5.gif) no-repeat left -31px; width: 7px; }
<% /* changing the size of the title / rename area means adjusting
the #docbarpadtitle.width, #padtitlebuttons.left,
@@ -130,21 +118,21 @@ a#docbarslider { display: block; height: 0; padding-top: 30px; position: absolut
font-size: 1.1em; display: none; }
#docbarrenamelink a { color: #999; }
#docbarrenamelink a:hover { color: #48d; }
-#padtitlebuttons { position: absolute; width: 120px; zoom: 1;
- height: 22px; top: 4px; left: 223px; display: none;
- background: url(/static/img/jun09/pad/padtop5.gif) -19px -35px; }
+#padtitlebuttons { position: absolute; width: 74px; zoom: 1;
+ height: 17px; top: 6px; left: 170px; display: none;
+ background: url(/static/img/jun09/pad/ok_or_cancel.gif) 0px 0px; }
#padtitlesave { position: absolute; display: block;
- height: 0; padding-top: 22px; overflow: hidden;
- width: 49px; left: 0; top: 0; }
+ height: 0; padding-top: 17px; overflow: hidden;
+ width: 23px; left: 0; top: 0; }
#padtitlecancel { position: absolute; display: block;
- height: 0; padding-top: 22px; overflow: hidden;
- width: 49px; right: 0; top: 0; }
+ height: 0; padding-top: 17px; overflow: hidden;
+ width: 35px; right: 0; top: 0; }
#padtitleedit { position: absolute; top: 4px; left: 5px;
height: 17px; padding: 2px; font-size: 1.4em;
background: white; border-left: 1px solid #c3c3c3;
border-top: 1px solid #c3c3c3;
border-right: 1px solid #e6e6e6; border-bottom: 1px solid #e6e6e6;
- width: 207px; display: none;
+ width: 150px; display: none;
}
#padmain { margin-top: 6px; position: relative; zoom: 1; }
diff --git a/etherpad/src/static/css/pne-manual.css b/etherpad/src/static/css/pne-manual.css
deleted file mode 100644
index 19f1ba0..0000000
--- a/etherpad/src/static/css/pne-manual.css
+++ /dev/null
@@ -1,143 +0,0 @@
-/* global */
-
-div.pne-manpage {
- font-size: 1.1em;
-}
-
-.pne-manual-topnav {
- border-bottom: 1px solid #ccc;
- margin-bottom: 1em;
- padding-bottom: 4px;
-}
-
-div.pne-manpage h2 {
- color: #111;
- border-bottom: 1px solid #111;
-}
-
-div.pne-manpage ul,ol {
- padding-left: 2em;
-}
-div.pne-manpage li {
- margin-top: .4em;
-}
-div.pne-manpage ol li {
- list-style: decimal;
- margin-top: 1em;
-}
-
-
-div.pne-manpage tt {
- font-family: monospace;
- font-size: 1.1em;
- color: #040;
- font-style: italic;
-}
-
-div.pne-manpage div.code {
- font-family: monospace;
- font-size: 1.0em;
- padding: 0 1em;
- border: 1px solid #ccc;
- background: #eee;
- margin: 0;
-}
-
-div.pne-manpage div.code span.prompt {
- color: #609;
-}
-
-div.pne-manpage div.code tt {
- font-style: normal;
- font-size: 1.0em;
- color: #00f;
-}
-
-div.pne-manpage div.code p {
- line-height: 125%;
- margin: 1em 0;
- padding: 0;
-}
-
-/* main */
-
-div#pne-main h2 {
- font-size: 1.4em;
- color: black;
- font-weight: bold;
- border: 0;
- margin: 0;
- padding: 0;
-}
-div#pne-main h3 {
- font-size: 1.1em;
- color: #555;
- font-style: italic;
-}
-div#pne-main h4 {
- color: #888;
- margin-top: 2em;
- font-weight: bold;
-}
-div#pne-main ul {
- padding-left: 2em;
-}
-div#pne-main ul li {
- list-style: square;
-}
-div#pne-main p#version-notice {
- font-size: 88%;
- color: #333;
- margin-top: 2em;
- border-top: 1px solid #ccc;
-}
-
-/* configuration-guide */
-
-table#opts {
- width: 100%;
- border-top: 1px solid #ccc;
- border-left: 1px solid #ccc;
- border-right: 0;
- border-bottom: 0;
- margin: 2em 0 1em 0;
-}
-table#opts td, table#opts th {
- padding: 4px 0;
- border-right: 1px solid #ccc;
- border-bottom: 1px solid #ccc;
-}
-table#opts td {
- font-family: monospace;
-}
-table#opts td.desc {
- font-family: Verdana, sans-serif;
-}
-table#opts th {
- text-align: left;
- font-weight: bold;
-}
-table#opts td.rowhead {
- padding-top: 1em;
- font-style: italic;
- color: #222;
- border-bottom: 1px solid #222;
-}
-
-/* changelog */
-
-div#pne-changelog h2 {
- margin-top: 2em;
-}
-
-div#pne-changelog h3 {
- font-weight: bold;
- padding-left: 1em;
- margin: 1em 0;
-}
-
-div#pne-changelog ul {
- padding-left: 3em;
-}
-
-
diff --git a/etherpad/src/static/css/pricing.css b/etherpad/src/static/css/pricing.css
deleted file mode 100644
index 0b7c9d5..0000000
--- a/etherpad/src/static/css/pricing.css
+++ /dev/null
@@ -1,153 +0,0 @@
-/*----------------------------------------------------------------*/
-/* pricing */
-/*----------------------------------------------------------------*/
-
-div.pricingpage {
-}
-
-.pricingpage form#pricingcontact {
- display: block;
- margin: 1em 0;
- background: #eee;
- border: 1px solid #ccc;
- padding: 1em;
-}
-.pricingpage form#pricingcontact p { margin: .75em 0; font-weight: bold; }
-.pricingpage form#pricingcontact ul li { list-style: none; margin: 0;}
-
-.pricingpage .eepnet-inquiry label {
- display: block;
- float: left;
- width: 140px;
- text-align: right;
- font-weight: normal;
- color: #444;
-}
-.pricingpage .eepnet-inquiry input.ti,
-.pricingpage .eepnet-inquiry select {
- width: 240px;
- margin-left: 12px;
-}
-.pricingpage .eepnet-inquiry button {
- width: 100px;
- margin-left: 160px;
-}
-.pricingpage div.inquiryhead {
- font-weight: bold;
- color: #000;
- margin-bottom: 1em;
- border-bottom: 2px solid #aaa;
-}
-
-.pricingpage div#errorbox, .pricingpage div#confirmbox {
- color: #222;
- font-weight: bold;
- padding: 1em .5em;
-}
-.pricingpage div#errorbox {
- background: #fee;
- border: 1px solid #f66;
-}
-.pricingpage div#confirmbox {
- background: #efe;
- border: 1px solid #ccc;
-}
-
-a.pricingbox {
- display: block;
- height: 280px;
- border: 1px solid #777;
- background: #fcfcfc;
- cursor: pointer;
- text-align: center;
- text-decoration: none;
-}
-
-a.pricingbox span {
- display: block;
-}
-
-a.pricingbox span#buylink {
- display: inline;
- color: #004ca8;
-}
-
-a.pricingbox span#buylink:hover {
- text-decoration: underline;
-}
-
-a.pricingbox:hover {
- background: #e2f2ff;
- border: 1px solid #000;
- text-decoration: none;
-}
-
-a.pricingbox img {
- margin: 10px 0;
- border: 0;
-}
-
-a.pricingbox span.pricingtitle {
- display: block;
- margin-top: 5px;
- margin-left: 10px;
- font-size: 1.2em;
- color: #119;
- text-decoration: underline;
-}
-
-a.pricingbox span.pricingdesc {
- display: block;
- color: #555;
- margin: 10px;
- height: 4.25em;
-}
-
-a.pricingbox span.pricingcost {
- top: 10px;
- display: block;
- color: #000;
- margin: 10px;
- font-weight: bold;
-}
-
-a.pricingbox span.pricingcost p {
- font-weight: normal;
-}
-
-#freetrialwrap a.freetrialbox {
- padding-top: 4px;
- display: block;
- border: 1px solid #ccc;
- background: #eee;
- cursor: pointer;
- color: #000;
- text-decoration: underline;
-}
-#freetrialwrap a.freetrialbox:hover {
- background: #def;
-}
-#freetrialwrap a.freetrialbox span.freetrialtext {
- margin-top: 7px;
- float: left;
-}
-a.freetrialbox img {
- border: 0;
- float: left;
- margin: 5px 10px;
-}
-
-a.pro-signup-button {
- display: block
- border: 0;
- cursor: pointer;
- color: #fff;
- font-weight: bold;
- overflow: visible;
- padding: 0;
- background: #70a4ec;
- border: 1px solid #3773c6;
- padding: 4px 6px;
- margin-top: 4px;
-}
-
diff --git a/etherpad/src/static/css/pro/payment-required.css b/etherpad/src/static/css/pro/payment-required.css
deleted file mode 100644
index 44d55b2..0000000
--- a/etherpad/src/static/css/pro/payment-required.css
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#outside{
- padding: 0 0 0 266px;
- background: url(/static/img/pro/billing/cards-button.gif) 50px 25px no-repeat;
-}
-
-#inside {
- margin: 0;
- padding: 1em;
- border-left: 1px solid #ccc;
- background: #fff;
-}
-
-h1 {
- font-weight: bold;
- font-size: 1.33em;
- border-bottom: 1px solid #ccc;
-}
-
-#message {
- border: 1px solid #b97;
- background: #ffe;
- padding: 1em;
- margin: 1em 0;
-}
-
-a.manage-billing-button {
- display: block
- border: 0;
- cursor: pointer;
- color: #fff;
- font-weight: bold;
- overflow: visible;
- background: #70a4ec;
- border: 1px solid #3773c6;
- padding: 8px 12px;
- margin-top: 4px;
-}
-
diff --git a/etherpad/src/static/css/stats.css b/etherpad/src/static/css/stats.css
deleted file mode 100644
index 25dd074..0000000
--- a/etherpad/src/static/css/stats.css
+++ /dev/null
@@ -1,71 +0,0 @@
-div.statentry {
- width: 600px;
- border: 1px solid #060;
- background: #afa;
- margin: 1em;
-}
-
-body {
- margin: 0;
-}
-
-div.warning {
- background: #ffa;
- border: 1px solid #630;
-}
-
-div.error {
- background: #faa;
- border: 1px solid #600;
-}
-
-.statentry h2 {
- font-size: 13pt;
- font-family: sans-serif;
- background: #0a0;
- color: white;
- padding: 5px;
- margin: 0;
- cursor: pointer;
-}
-
-.statentry h2:hover {
- text-decoration: underline;
-}
-
-.warning h2 {
- background: #ea0;
-}
-
-.error h2 {
- background: #a00;
-}
-
-.statentry th {
- padding: 3px;
- font-weight: normal;
-}
-
-.statentry td {
- text-align: left;
- padding: 3px;
- width: 400px;
- font-size: 24px;
-}
-
-.statentry table {
- width: 100%;
-}
-
-.statbody {
- display: none;
-}
-
-/*div.categorywrapper {
- -moz-column-width: 500px;
- -moz-column-gap: 20px;
- -webkit-column-width: 500px;
- -webkit-column-gap: 20px;
- column-width: 500px;
- column-gap: 20px;
-}*/ \ No newline at end of file
diff --git a/etherpad/src/static/css/store/eepnet-checkout.css b/etherpad/src/static/css/store/eepnet-checkout.css
deleted file mode 100644
index 20254af..0000000
--- a/etherpad/src/static/css/store/eepnet-checkout.css
+++ /dev/null
@@ -1,284 +0,0 @@
-#shoppingmain dt {
- margin: 0.5em;
- margin-left: 0.5em;
- font-weight: bold;
- line-height: 120%;
-}
-
-#shoppingmain dd {
- margin: 0.5em;
- margin-top: 1em;
- margin-bottom: 2em;
- line-height: 120%;
-}
-
-#shoppingmain dd:first-letter,
-#shoppingmain dt:first-letter {
- font-weight: bold;
-}
-
-#shoppingmain table {
- background: #eef;
- width: 100%;
-}
-
-#shoppingmain table tr {}
-#shoppingmain > table td,
-#shoppingmain > table th {
- padding: 6px 8px;
-}
-
-#shoppingmain {
- width: 100%;
- border: 1px solid #ccc;
-}
-
-#shoppingmain p {
- margin: 1em;
-}
-
-#shoppingmain a {
- text-decoration: underline;
-}
-
-#shoppingmain ul,
-#shoppingmain ol {
- margin-right: 1em;
-}
-
-#shoppingmain h3 {
- background: #eee;
- padding: 0.5em 1em;
- border-bottom: 1px solid #ccc;
- font-weight: bold;
- font-size: 110%;
-}
-
-#shoppingwrapper {
- width: 580px;
-}
-
-.shoppingcart table td.pcell, table th.pcell {
- text-align: right;
- white-space: nowrap;
-}
-
-#shoppingcart {
- border: 1px solid #ccc;
- background: white;
-}
-
-.shoppingcart table {
- width: 100%;
-}
-
-.shoppingcart table th {
- font-weight: bold;
- background: #eee;
- border-bottom: 1px solid #ccc;
-}
-
-.shoppingcart table td {
- padding: 0 3px;
-}
-
-.shoppingcart table th {
- padding: 5px;
-}
-
-div.checkoutnav {
- padding-top: 10px;
- clear: both;
- display: block;
- text-align: center;
-}
-
-.center,
-.center td {
- text-align: center;
-}
-
-div.errormsg {
- border: 1px solid #caa;
- padding: 1em;
- margin: 1em 0;
-}
-
-div.errormsg,
-table tr.error,
-p.error,
-div.error {
- background: #fdd;
-}
-
-div.innererrormsg {
- margin: 1em;
- border: 1px solid #aca;
- padding: 1em;
- background: #dfd;
-}
-
-a#cschelp {
- font-size: 7pt;
- color: blue;
- border-bottom: 1px dashed blue;
-}
-
-table tr.total td {
- font-weight: bold;
-}
-
-#shoppingcart {
- width: 250px;
- float: right;
- font-size: 85%;
-}
-
-.shoppingcart span.desc {
- display: block;
- padding-top: 4px;
- padding-left: 10px;
- font-style: italic;
-}
-
-table tr.withoutsubtotal td,
-table tr.subtotal td {
- border-top: 1px solid #ccc;
-}
-
-#backbutton {
- float: right;
- padding: 5px;
-}
-
-#continuebutton {
- float: right;
- padding: 5px;
-}
-
-.shoppingcart tr.base td {
- padding-top: 5px;
-}
-
-.shoppingcart tr.refer td {
- color: green;
- font-weight: bold;
-}
-
-.shoppingcart tr.support td {
- padding-top: 10px;
-}
-
-.shoppingcart tr.referralbonus td {
- padding-top: 10px;
-}
-
-.shoppingcart tr.spacer td {
- padding-top: 10px;
-}
-
-.shoppingcart tr.subtotal td {
- padding-top: 5px;
-}
-
-.shoppingcart tr.referraldiscount td {
- padding-top: 5px;
-}
-
-.shoppingcart tr.total td {
- padding-top: 5px;
- padding-bottom: 5px;
-}
-
-.shoppingcart td.noitems {
- text-align: center;
- padding-top: 15px;
-}
-
-.paymentbutton label {
- cursor: pointer;
-}
-
-.billingtable td.pcell {
- width: 300px;
-}
-
-.billingtable tr.intonly {
- display: none;
-}
-
-.billingtable #ccimages img.ccimageselected {
- border: 3px solid #0f0;
- opacity: 1;
-}
-
-.billingtable #ccimages img {
- border: 3px solid #eef;
- opacity: 0.5;
-}
-
-input[type="text"].greenborder {
- border: 1px solid #0f0;
-}
-
-input[type="text"].redborder {
- border: 1px solid #f00;
-}
-
-input[type="text"] {
- border: 1px solid black;
- padding: 2px;
-}
-
-td.tcell {
- width: 200px;
-}
-
-#shoppingmain td {
- font-weight: bold;
-}
-
-#shoppingmain input,
-#shoppingmain p,
-#shoppingmain td,
-#shoppingmain li {
- font-size: 85%;
-}
-
-h4 {
- font-weight: bold;
- font-size: 100%;
- margin: 10px;
- margin-top: 20px;
-}
-
-h4 .editlink {
- font-size: 75%;
-}
-
-span.item .editlink {
- font-size: 75%;
-}
-
-span.desc .editlink {
- font-size: 75%;
- font-style: normal;
-}
-
-.paymentbutton {
- padding-left: 1.5em;
-}
-
-div.position {
- font-size: 80%;
- color: #999;
- padding-bottom: 10px;
-}
-
-div.position .current {
- color: #f93;
-}
-
-span.poslabel {
- padding: 0 1em;
-}
diff --git a/etherpad/src/static/css/store/ondemand-billing.css b/etherpad/src/static/css/store/ondemand-billing.css
deleted file mode 100644
index 7c4afe3..0000000
--- a/etherpad/src/static/css/store/ondemand-billing.css
+++ /dev/null
@@ -1,170 +0,0 @@
-input[type="text"].greenborder {
- border: 1px solid #0f0;
-}
-
-input[type="text"].redborder {
- border: 1px solid #f00;
-}
-
-input[type="text"] {
- border: 1px solid black;
- padding: 2px;
-}
-
-h4 {
- font-weight: bold;
- margin-bottom: 0.75em;
- margin-top: 1em;
- margin-left: 15px;
-}
-
-div.billinginfo {
- margin-left: 65px;
- border-left: 1px solid gray;
- border-right: 1px solid gray;
- border-top: 1px solid gray;
- border-bottom: 1px solid gray;
- width: 600px;
-}
-
-.billinginfo table.billingtable {
- width: 100%;
- margin: 0;
- background: #eef;
-}
-
-.billinginfo table.billingtable td,
-.billinginfo table.billingtable th {
- padding: 5px;
-}
-
-.billinginfo table.billingtable td.pcell,
-.billinginfo table.billingtable td.firstcell {
- padding-left: 35px;
-}
-
-.billinginfo table.billingtable td.pcell {
- width: 200px;
-}
-
-.billinginfo div {
- padding-left: 35px;
-}
-
-.billinginfo div#billingselect {
- padding-left: 0;
-}
-
-.billinginfo div#billingselect p {
- padding: 3px;
- padding-left: 35px;
-}
-
-.billingtable #ccimages img.ccimageselected {
- border: 3px solid #0f0;
- opacity: 1;
-}
-
-.billingtable #ccimages img {
- border: 3px solid #eef;
- opacity: 0.5;
-}
-
-a#cschelp {
- font-size: 7pt;
- color: blue;
- border-bottom: 1px dashed blue;
-}
-
-div#contbutton {
- margin-top: 1em;
- margin-right: 45px;
- float: right;
-}
-
-div#backbutton {
- margin-top: 1em;
- float: right;
-}
-
-div.errormsg {
- border: 1px solid #caa;
- padding: 1em;
- margin: 1em 0;
-}
-
-div.errormsg,
-table tr.error,
-p.error,
-div.error {
- background: #fdd;
-}
-
-table.billingsummary {
- width: 100%;
- border-top: 1px solid gray;
- border-left: 1px solid gray;
-}
-
-table.billingsummary th,
-table.billingsummary td {
- padding: 5px;
- border-bottom: 1px solid gray;
- border-right: 1px solid gray;
-}
-
-table.billingsummary th {
- font-weight: bold;
-}
-
-span#editpaymentslink {
- text-align: right;
- font-size: 80%;
- margin-left: 0.5em;
-}
-
-#editpaymentslink a {
- text-decoration: underline;
-}
-
-
-.paymentbutton label {
- cursor: pointer;
-}
-.paymentbutton {
- padding-left: 1.5em;
-}
-
-/* invoice list */
-
-.informational {
- font-style: italic;
-}
-
-table.invoicelist {
- border-left: 1px solid #ccc;
- border-top: 1px solid #ccc;
- border-right: 1px solid #ccc;
- width: 100%;
- font-size: 10pt;
-}
-
-table.invoicelist tr:hover {
- background: #ffc;
-}
-
-table.invoicelist td,
-table.invoicelist th {
- border-bottom: 1px solid #ccc;
- padding: 5px;
-}
-
-table.invoicelist th {
- font-weight: bold;
- background: #eef;
-}
-
-.returnlink {
- font-size: 10pt;
- font-style: italic;
-} \ No newline at end of file
diff --git a/etherpad/src/static/css/store/store.css b/etherpad/src/static/css/store/store.css
deleted file mode 100644
index f228698..0000000
--- a/etherpad/src/static/css/store/store.css
+++ /dev/null
@@ -1,90 +0,0 @@
-div.storepage a.downloadbutton_disabled {
- text-decoration: none;
- display: block;
- padding: .4em;
- margin: 1em;
- font-size: 1.4em;
- width: 270px;
- margin-left: auto;
- margin-right: auto;
- border: 2px solid #ccc;
- background: #eee;
- color: #888;
-}
-
-div.storepage a.downloadbutton {
- text-decoration: none;
- display: block;
- padding: .4em;
- margin: 1em;
- font-size: 1.4em;
- width: 270px;
- margin-left: auto;
- margin-right: auto;
- border: 2px solid #333;
- background: #ccc;
-}
-div.storepage a.downloadbutton:hover {
- background: #ddf;
- cursor: pointer;
-}
-
-div.storepage label:hover {
- cursor: pointer;
-}
-
-div.storepage div#topmsg {
- border: 1px solid #999;
- background: #dfd;
- font-weight: bold;
- padding: 1em;
-}
-
-div.storepage div#errormsg {
- border: 1px solid #f00;
- background: #fee;
- font-weight: bold;
- padding: 1em 2em;
- magin-top: 1em;
- margin-bottom: 1em;
-}
-
-#dlsignup {
- border: 1px solid #ccc;
-/* background: #ffefdf; */
- background: #efe;
- padding: 1em 2em;
-}
-
-#dlsignup, div#errormsg {
- display: block;
-}
-
-#dlsignup p {
- margin: 0;
-}
-
-#dlsignup p label {
- display: block;
- margin-top: .7em;
- color: #444;
-}
-
-#dlsignup input,
-#dlsignup select {
- width: 400px;
-}
-
-#dlsignup button {
- margin-top: 1em;
- width: 200px;
- margin-left: 100px;
-}
-
-div#processingmsg {
- border: 1px solid #ccc;
- background: #efe;
- padding: 1em 2em;
- font-weight: bold;
- font-size: 1.4em;
-}
diff --git a/etherpad/src/static/img/about/appjet-logo-large.gif b/etherpad/src/static/img/about/appjet-logo-large.gif
deleted file mode 100644
index 11351b2..0000000
--- a/etherpad/src/static/img/about/appjet-logo-large.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/appjet-logo-medium.png b/etherpad/src/static/img/about/appjet-logo-medium.png
deleted file mode 100644
index f6297e1..0000000
--- a/etherpad/src/static/img/about/appjet-logo-medium.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/investors/mitchkapor.jpg b/etherpad/src/static/img/about/investors/mitchkapor.jpg
deleted file mode 100644
index 5a65938..0000000
--- a/etherpad/src/static/img/about/investors/mitchkapor.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/investors/pb.jpg b/etherpad/src/static/img/about/investors/pb.jpg
deleted file mode 100644
index bd59c5c..0000000
--- a/etherpad/src/static/img/about/investors/pb.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/investors/pg.jpg b/etherpad/src/static/img/about/investors/pg.jpg
deleted file mode 100644
index 184155d..0000000
--- a/etherpad/src/static/img/about/investors/pg.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/investors/sanjeev.jpg b/etherpad/src/static/img/about/investors/sanjeev.jpg
deleted file mode 100644
index 9073b50..0000000
--- a/etherpad/src/static/img/about/investors/sanjeev.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/investors/seth.jpg b/etherpad/src/static/img/about/investors/seth.jpg
deleted file mode 100644
index 00f2aa9..0000000
--- a/etherpad/src/static/img/about/investors/seth.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/people/aaron-david-iphones-thumb.jpg b/etherpad/src/static/img/about/people/aaron-david-iphones-thumb.jpg
deleted file mode 100644
index 70c17db..0000000
--- a/etherpad/src/static/img/about/people/aaron-david-iphones-thumb.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/people/aaron-david-iphones.jpg b/etherpad/src/static/img/about/people/aaron-david-iphones.jpg
deleted file mode 100644
index 70c17db..0000000
--- a/etherpad/src/static/img/about/people/aaron-david-iphones.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/people/aaron-google-air.jpg b/etherpad/src/static/img/about/people/aaron-google-air.jpg
deleted file mode 100644
index 5948454..0000000
--- a/etherpad/src/static/img/about/people/aaron-google-air.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/people/aaron-headshot-thumb.jpg b/etherpad/src/static/img/about/people/aaron-headshot-thumb.jpg
deleted file mode 100644
index b0cffcd..0000000
--- a/etherpad/src/static/img/about/people/aaron-headshot-thumb.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/people/aaron-headshot.jpg b/etherpad/src/static/img/about/people/aaron-headshot.jpg
deleted file mode 100644
index 2b88437..0000000
--- a/etherpad/src/static/img/about/people/aaron-headshot.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/people/aaron-headshot2-thumb.jpg b/etherpad/src/static/img/about/people/aaron-headshot2-thumb.jpg
deleted file mode 100644
index d6c1a97..0000000
--- a/etherpad/src/static/img/about/people/aaron-headshot2-thumb.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/people/aaron-headshot2.jpg b/etherpad/src/static/img/about/people/aaron-headshot2.jpg
deleted file mode 100644
index e4b2a77..0000000
--- a/etherpad/src/static/img/about/people/aaron-headshot2.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/people/aaron-headshot3-thumb.jpg b/etherpad/src/static/img/about/people/aaron-headshot3-thumb.jpg
deleted file mode 100644
index cca1b68..0000000
--- a/etherpad/src/static/img/about/people/aaron-headshot3-thumb.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/people/aaron-headshot3.jpg b/etherpad/src/static/img/about/people/aaron-headshot3.jpg
deleted file mode 100644
index 13c433d..0000000
--- a/etherpad/src/static/img/about/people/aaron-headshot3.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/people/daniel-headshot-thumb.jpg b/etherpad/src/static/img/about/people/daniel-headshot-thumb.jpg
deleted file mode 100644
index 567316c..0000000
--- a/etherpad/src/static/img/about/people/daniel-headshot-thumb.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/people/david-headshot-thumb.jpg b/etherpad/src/static/img/about/people/david-headshot-thumb.jpg
deleted file mode 100644
index 5f9da44..0000000
--- a/etherpad/src/static/img/about/people/david-headshot-thumb.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/people/david-headshot.jpg b/etherpad/src/static/img/about/people/david-headshot.jpg
deleted file mode 100644
index 89ab3ea..0000000
--- a/etherpad/src/static/img/about/people/david-headshot.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/people/davy-headshot.jpg b/etherpad/src/static/img/about/people/davy-headshot.jpg
deleted file mode 100644
index 9430186..0000000
--- a/etherpad/src/static/img/about/people/davy-headshot.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/people/jd-headshot-thumb.jpg b/etherpad/src/static/img/about/people/jd-headshot-thumb.jpg
deleted file mode 100644
index b399a57..0000000
--- a/etherpad/src/static/img/about/people/jd-headshot-thumb.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/people/jd-headshot.jpg b/etherpad/src/static/img/about/people/jd-headshot.jpg
deleted file mode 100644
index 182d534..0000000
--- a/etherpad/src/static/img/about/people/jd-headshot.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/people/rhonda-headshot-thumb.jpg b/etherpad/src/static/img/about/people/rhonda-headshot-thumb.jpg
deleted file mode 100644
index 8d9358b..0000000
--- a/etherpad/src/static/img/about/people/rhonda-headshot-thumb.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/people/rhonda-headshot.jpg b/etherpad/src/static/img/about/people/rhonda-headshot.jpg
deleted file mode 100644
index b4c4ec8..0000000
--- a/etherpad/src/static/img/about/people/rhonda-headshot.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/pier38.png b/etherpad/src/static/img/about/pier38.png
deleted file mode 100644
index d15b3a8..0000000
--- a/etherpad/src/static/img/about/pier38.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/quote-close.png b/etherpad/src/static/img/about/quote-close.png
deleted file mode 100644
index de4b18b..0000000
--- a/etherpad/src/static/img/about/quote-close.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/quote-open.png b/etherpad/src/static/img/about/quote-open.png
deleted file mode 100644
index e637705..0000000
--- a/etherpad/src/static/img/about/quote-open.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/about/screencastpreview800x600.jpg b/etherpad/src/static/img/about/screencastpreview800x600.jpg
deleted file mode 100644
index 2a4ed39..0000000
--- a/etherpad/src/static/img/about/screencastpreview800x600.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/account/betawarn.jpg b/etherpad/src/static/img/account/betawarn.jpg
deleted file mode 100644
index c3cec1b..0000000
--- a/etherpad/src/static/img/account/betawarn.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/acecarets/000000.gif b/etherpad/src/static/img/acecarets/000000.gif
deleted file mode 100644
index f67bd3d..0000000
--- a/etherpad/src/static/img/acecarets/000000.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/acecarets/666666.gif b/etherpad/src/static/img/acecarets/666666.gif
deleted file mode 100644
index cd8e264..0000000
--- a/etherpad/src/static/img/acecarets/666666.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/acecarets/999999.gif b/etherpad/src/static/img/acecarets/999999.gif
deleted file mode 100644
index fa75d25..0000000
--- a/etherpad/src/static/img/acecarets/999999.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/acecarets/default.gif b/etherpad/src/static/img/acecarets/default.gif
deleted file mode 100644
index 196d9ff..0000000
--- a/etherpad/src/static/img/acecarets/default.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/apr09/backgrad.png b/etherpad/src/static/img/apr09/backgrad.png
deleted file mode 100644
index c61d830..0000000
--- a/etherpad/src/static/img/apr09/backgrad.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/apr09/black35.png b/etherpad/src/static/img/apr09/black35.png
deleted file mode 100644
index 9d82846..0000000
--- a/etherpad/src/static/img/apr09/black35.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/apr09/blank.gif b/etherpad/src/static/img/apr09/blank.gif
deleted file mode 100644
index 8fb6fb0..0000000
--- a/etherpad/src/static/img/apr09/blank.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/apr09/modalbar.gif b/etherpad/src/static/img/apr09/modalbar.gif
deleted file mode 100644
index 3e86759..0000000
--- a/etherpad/src/static/img/apr09/modalbar.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/apr09/newpadicon.gif b/etherpad/src/static/img/apr09/newpadicon.gif
deleted file mode 100644
index a282728..0000000
--- a/etherpad/src/static/img/apr09/newpadicon.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/apr09/shadbot.png b/etherpad/src/static/img/apr09/shadbot.png
deleted file mode 100644
index 9506058..0000000
--- a/etherpad/src/static/img/apr09/shadbot.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/apr09/shadleft.png b/etherpad/src/static/img/apr09/shadleft.png
deleted file mode 100644
index 72049e0..0000000
--- a/etherpad/src/static/img/apr09/shadleft.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/apr09/shadleftbot.png b/etherpad/src/static/img/apr09/shadleftbot.png
deleted file mode 100644
index 7d3fb5b..0000000
--- a/etherpad/src/static/img/apr09/shadleftbot.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/apr09/shadlefttop.png b/etherpad/src/static/img/apr09/shadlefttop.png
deleted file mode 100644
index 9af4e90..0000000
--- a/etherpad/src/static/img/apr09/shadlefttop.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/apr09/shadright.png b/etherpad/src/static/img/apr09/shadright.png
deleted file mode 100644
index 41d099c..0000000
--- a/etherpad/src/static/img/apr09/shadright.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/apr09/shadrightbot.png b/etherpad/src/static/img/apr09/shadrightbot.png
deleted file mode 100644
index 6770ec5..0000000
--- a/etherpad/src/static/img/apr09/shadrightbot.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/apr09/shadrighttop.png b/etherpad/src/static/img/apr09/shadrighttop.png
deleted file mode 100644
index 0f7a0ba..0000000
--- a/etherpad/src/static/img/apr09/shadrighttop.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/apr09/topbar.gif b/etherpad/src/static/img/apr09/topbar.gif
deleted file mode 100644
index 65ed7c8..0000000
--- a/etherpad/src/static/img/apr09/topbar.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/apr09/topbarlogo.gif b/etherpad/src/static/img/apr09/topbarlogo.gif
deleted file mode 100644
index 9a3aa77..0000000
--- a/etherpad/src/static/img/apr09/topbarlogo.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/apr09/widthfull.gif b/etherpad/src/static/img/apr09/widthfull.gif
deleted file mode 100644
index 8850ec2..0000000
--- a/etherpad/src/static/img/apr09/widthfull.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/apr09/widthfullactive.gif b/etherpad/src/static/img/apr09/widthfullactive.gif
deleted file mode 100644
index 36b566f..0000000
--- a/etherpad/src/static/img/apr09/widthfullactive.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/apr09/widthlim.gif b/etherpad/src/static/img/apr09/widthlim.gif
deleted file mode 100644
index 551e741..0000000
--- a/etherpad/src/static/img/apr09/widthlim.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/apr09/widthlimactive.gif b/etherpad/src/static/img/apr09/widthlimactive.gif
deleted file mode 100644
index 8cf0194..0000000
--- a/etherpad/src/static/img/apr09/widthlimactive.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/billing/amex.gif b/etherpad/src/static/img/billing/amex.gif
deleted file mode 100644
index 96e2cbb..0000000
--- a/etherpad/src/static/img/billing/amex.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/billing/creditcard.gif b/etherpad/src/static/img/billing/creditcard.gif
deleted file mode 100644
index ac2353e..0000000
--- a/etherpad/src/static/img/billing/creditcard.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/billing/csc-help.gif b/etherpad/src/static/img/billing/csc-help.gif
deleted file mode 100644
index 1afb6b7..0000000
--- a/etherpad/src/static/img/billing/csc-help.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/billing/disc.gif b/etherpad/src/static/img/billing/disc.gif
deleted file mode 100644
index a5e3a90..0000000
--- a/etherpad/src/static/img/billing/disc.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/billing/invoice.gif b/etherpad/src/static/img/billing/invoice.gif
deleted file mode 100644
index cee681a..0000000
--- a/etherpad/src/static/img/billing/invoice.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/billing/mc.gif b/etherpad/src/static/img/billing/mc.gif
deleted file mode 100644
index 2331849..0000000
--- a/etherpad/src/static/img/billing/mc.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/billing/paypal.gif b/etherpad/src/static/img/billing/paypal.gif
deleted file mode 100644
index 25333b1..0000000
--- a/etherpad/src/static/img/billing/paypal.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/billing/visa.gif b/etherpad/src/static/img/billing/visa.gif
deleted file mode 100644
index 4769f0c..0000000
--- a/etherpad/src/static/img/billing/visa.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/blog/posts/new-features/fullwidth.gif b/etherpad/src/static/img/blog/posts/new-features/fullwidth.gif
deleted file mode 100644
index 73f427d..0000000
--- a/etherpad/src/static/img/blog/posts/new-features/fullwidth.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/blog/posts/new-features/importexport.gif b/etherpad/src/static/img/blog/posts/new-features/importexport.gif
deleted file mode 100644
index f0d2bac..0000000
--- a/etherpad/src/static/img/blog/posts/new-features/importexport.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/blog/posts/new-features/richtext.gif b/etherpad/src/static/img/blog/posts/new-features/richtext.gif
deleted file mode 100644
index 5d03bdc..0000000
--- a/etherpad/src/static/img/blog/posts/new-features/richtext.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/blog/posts/new-features/viewzoom.gif b/etherpad/src/static/img/blog/posts/new-features/viewzoom.gif
deleted file mode 100644
index 47e1caa..0000000
--- a/etherpad/src/static/img/blog/posts/new-features/viewzoom.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/blog/posts/pricing-survey-results.png b/etherpad/src/static/img/blog/posts/pricing-survey-results.png
deleted file mode 100644
index 668dd72..0000000
--- a/etherpad/src/static/img/blog/posts/pricing-survey-results.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/blog/posts/pricing-survey.png b/etherpad/src/static/img/blog/posts/pricing-survey.png
deleted file mode 100644
index 7289aa8..0000000
--- a/etherpad/src/static/img/blog/posts/pricing-survey.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/blog/posts/time-slider-screenshot.gif b/etherpad/src/static/img/blog/posts/time-slider-screenshot.gif
deleted file mode 100644
index 782ac15..0000000
--- a/etherpad/src/static/img/blog/posts/time-slider-screenshot.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/bg/home-features-bottom.gif b/etherpad/src/static/img/davy/bg/home-features-bottom.gif
deleted file mode 100644
index 7dc7644..0000000
--- a/etherpad/src/static/img/davy/bg/home-features-bottom.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/bg/home-features-free-bottom.gif b/etherpad/src/static/img/davy/bg/home-features-free-bottom.gif
deleted file mode 100644
index 3bd7ba8..0000000
--- a/etherpad/src/static/img/davy/bg/home-features-free-bottom.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/bg/home-features-paid-top.gif b/etherpad/src/static/img/davy/bg/home-features-paid-top.gif
deleted file mode 100644
index faed96c..0000000
--- a/etherpad/src/static/img/davy/bg/home-features-paid-top.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/bg/home-features-top.gif b/etherpad/src/static/img/davy/bg/home-features-top.gif
deleted file mode 100644
index 2db70a6..0000000
--- a/etherpad/src/static/img/davy/bg/home-features-top.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/bg/home-nav-selected.png b/etherpad/src/static/img/davy/bg/home-nav-selected.png
deleted file mode 100644
index 01c0a99..0000000
--- a/etherpad/src/static/img/davy/bg/home-nav-selected.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/bg/home-screencast.png b/etherpad/src/static/img/davy/bg/home-screencast.png
deleted file mode 100644
index e03b83d..0000000
--- a/etherpad/src/static/img/davy/bg/home-screencast.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/bg/home2.png b/etherpad/src/static/img/davy/bg/home2.png
deleted file mode 100644
index 814c339..0000000
--- a/etherpad/src/static/img/davy/bg/home2.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/bg/product-nav-selected-white.png b/etherpad/src/static/img/davy/bg/product-nav-selected-white.png
deleted file mode 100644
index 4365d4a..0000000
--- a/etherpad/src/static/img/davy/bg/product-nav-selected-white.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/bg/product-nav-selected.png b/etherpad/src/static/img/davy/bg/product-nav-selected.png
deleted file mode 100644
index a3094d0..0000000
--- a/etherpad/src/static/img/davy/bg/product-nav-selected.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/btn/createpad-home.gif b/etherpad/src/static/img/davy/btn/createpad-home.gif
deleted file mode 100644
index 5a46f02..0000000
--- a/etherpad/src/static/img/davy/btn/createpad-home.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/btn/createpad-large.gif b/etherpad/src/static/img/davy/btn/createpad-large.gif
deleted file mode 100644
index 9e37808..0000000
--- a/etherpad/src/static/img/davy/btn/createpad-large.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/btn/intro-screencast.png b/etherpad/src/static/img/davy/btn/intro-screencast.png
deleted file mode 100644
index 8343ddf..0000000
--- a/etherpad/src/static/img/davy/btn/intro-screencast.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/btn/intro-testimonials.png b/etherpad/src/static/img/davy/btn/intro-testimonials.png
deleted file mode 100644
index b1df4f2..0000000
--- a/etherpad/src/static/img/davy/btn/intro-testimonials.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/btn/learnmore.gif b/etherpad/src/static/img/davy/btn/learnmore.gif
deleted file mode 100644
index 9f0f612..0000000
--- a/etherpad/src/static/img/davy/btn/learnmore.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/btn/signup-home-2.gif b/etherpad/src/static/img/davy/btn/signup-home-2.gif
deleted file mode 100644
index 1aea6ff..0000000
--- a/etherpad/src/static/img/davy/btn/signup-home-2.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/btn/signup-home-3.gif b/etherpad/src/static/img/davy/btn/signup-home-3.gif
deleted file mode 100644
index a237242..0000000
--- a/etherpad/src/static/img/davy/btn/signup-home-3.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/btn/signup-home-4.gif b/etherpad/src/static/img/davy/btn/signup-home-4.gif
deleted file mode 100644
index 966371e..0000000
--- a/etherpad/src/static/img/davy/btn/signup-home-4.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/btn/signup-home.gif b/etherpad/src/static/img/davy/btn/signup-home.gif
deleted file mode 100644
index 0a83858..0000000
--- a/etherpad/src/static/img/davy/btn/signup-home.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/btn/uses-more.gif b/etherpad/src/static/img/davy/btn/uses-more.gif
deleted file mode 100644
index 6a73bbc..0000000
--- a/etherpad/src/static/img/davy/btn/uses-more.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/gfx/32/114.png b/etherpad/src/static/img/davy/gfx/32/114.png
deleted file mode 100644
index cbab795..0000000
--- a/etherpad/src/static/img/davy/gfx/32/114.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/gfx/32/15.png b/etherpad/src/static/img/davy/gfx/32/15.png
deleted file mode 100644
index 596fd0f..0000000
--- a/etherpad/src/static/img/davy/gfx/32/15.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/gfx/32/65.png b/etherpad/src/static/img/davy/gfx/32/65.png
deleted file mode 100644
index c331ee1..0000000
--- a/etherpad/src/static/img/davy/gfx/32/65.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/gfx/32/78.png b/etherpad/src/static/img/davy/gfx/32/78.png
deleted file mode 100644
index fae3f29..0000000
--- a/etherpad/src/static/img/davy/gfx/32/78.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/gfx/bullet.gif b/etherpad/src/static/img/davy/gfx/bullet.gif
deleted file mode 100644
index cb2e123..0000000
--- a/etherpad/src/static/img/davy/gfx/bullet.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/gfx/home-logo2.gif b/etherpad/src/static/img/davy/gfx/home-logo2.gif
deleted file mode 100644
index 24b67bd..0000000
--- a/etherpad/src/static/img/davy/gfx/home-logo2.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/gfx/home-screencast.png b/etherpad/src/static/img/davy/gfx/home-screencast.png
deleted file mode 100644
index b5516d3..0000000
--- a/etherpad/src/static/img/davy/gfx/home-screencast.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/gfx/plane.gif b/etherpad/src/static/img/davy/gfx/plane.gif
deleted file mode 100644
index cf3226e..0000000
--- a/etherpad/src/static/img/davy/gfx/plane.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/gfx/product-logo.gif b/etherpad/src/static/img/davy/gfx/product-logo.gif
deleted file mode 100644
index 72975bb..0000000
--- a/etherpad/src/static/img/davy/gfx/product-logo.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/gfx/screenshot.gif b/etherpad/src/static/img/davy/gfx/screenshot.gif
deleted file mode 100644
index ba87f99..0000000
--- a/etherpad/src/static/img/davy/gfx/screenshot.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/gfx/use-meetings.gif b/etherpad/src/static/img/davy/gfx/use-meetings.gif
deleted file mode 100644
index 3451969..0000000
--- a/etherpad/src/static/img/davy/gfx/use-meetings.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/gfx/use-meetings.png b/etherpad/src/static/img/davy/gfx/use-meetings.png
deleted file mode 100644
index 4e41581..0000000
--- a/etherpad/src/static/img/davy/gfx/use-meetings.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/gfx/use-programming.gif b/etherpad/src/static/img/davy/gfx/use-programming.gif
deleted file mode 100644
index 795e7fd..0000000
--- a/etherpad/src/static/img/davy/gfx/use-programming.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/gfx/use-programming.png b/etherpad/src/static/img/davy/gfx/use-programming.png
deleted file mode 100644
index 825095d..0000000
--- a/etherpad/src/static/img/davy/gfx/use-programming.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/gfx/use-writing.gif b/etherpad/src/static/img/davy/gfx/use-writing.gif
deleted file mode 100644
index 0e2d11b..0000000
--- a/etherpad/src/static/img/davy/gfx/use-writing.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/gfx/use-writing.png b/etherpad/src/static/img/davy/gfx/use-writing.png
deleted file mode 100644
index c6e267c..0000000
--- a/etherpad/src/static/img/davy/gfx/use-writing.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/davy/txt/home-button.gif b/etherpad/src/static/img/davy/txt/home-button.gif
deleted file mode 100644
index bdf4945..0000000
--- a/etherpad/src/static/img/davy/txt/home-button.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/featuretour/code.gif b/etherpad/src/static/img/featuretour/code.gif
deleted file mode 100644
index abff862..0000000
--- a/etherpad/src/static/img/featuretour/code.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/featuretour/edits.gif b/etherpad/src/static/img/featuretour/edits.gif
deleted file mode 100644
index d38f83a..0000000
--- a/etherpad/src/static/img/featuretour/edits.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/featuretour/editsandusers.gif b/etherpad/src/static/img/featuretour/editsandusers.gif
deleted file mode 100644
index 90c36f8..0000000
--- a/etherpad/src/static/img/featuretour/editsandusers.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/featuretour/padlock.png b/etherpad/src/static/img/featuretour/padlock.png
deleted file mode 100644
index f6d6c05..0000000
--- a/etherpad/src/static/img/featuretour/padlock.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/featuretour/revisions.gif b/etherpad/src/static/img/featuretour/revisions.gif
deleted file mode 100644
index a0d8220..0000000
--- a/etherpad/src/static/img/featuretour/revisions.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/featuretour/users.gif b/etherpad/src/static/img/featuretour/users.gif
deleted file mode 100644
index 48b4470..0000000
--- a/etherpad/src/static/img/featuretour/users.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/feb09/framedheaderback.gif b/etherpad/src/static/img/feb09/framedheaderback.gif
deleted file mode 100644
index 5b17b9f..0000000
--- a/etherpad/src/static/img/feb09/framedheaderback.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/feb09/framedheaderlogo.gif b/etherpad/src/static/img/feb09/framedheaderlogo.gif
deleted file mode 100644
index 01de8cd..0000000
--- a/etherpad/src/static/img/feb09/framedheaderlogo.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/feb09/home_firstp.gif b/etherpad/src/static/img/feb09/home_firstp.gif
deleted file mode 100644
index af0a2cd..0000000
--- a/etherpad/src/static/img/feb09/home_firstp.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/feb09/home_firstp.png b/etherpad/src/static/img/feb09/home_firstp.png
deleted file mode 100644
index cb7fc8c..0000000
--- a/etherpad/src/static/img/feb09/home_firstp.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/feb09/home_firstp2.gif b/etherpad/src/static/img/feb09/home_firstp2.gif
deleted file mode 100644
index 9e0ed1e..0000000
--- a/etherpad/src/static/img/feb09/home_firstp2.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/feb09/home_h1.gif b/etherpad/src/static/img/feb09/home_h1.gif
deleted file mode 100644
index 1fe08cb..0000000
--- a/etherpad/src/static/img/feb09/home_h1.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/feb09/home_h1.png b/etherpad/src/static/img/feb09/home_h1.png
deleted file mode 100644
index 1b5784d..0000000
--- a/etherpad/src/static/img/feb09/home_h1.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/feb09/home_newpadbutton.gif b/etherpad/src/static/img/feb09/home_newpadbutton.gif
deleted file mode 100644
index 8706407..0000000
--- a/etherpad/src/static/img/feb09/home_newpadbutton.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/feb09/home_newpadbutton.png b/etherpad/src/static/img/feb09/home_newpadbutton.png
deleted file mode 100644
index ead253c..0000000
--- a/etherpad/src/static/img/feb09/home_newpadbutton.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/feb09/home_newpadbutton2.gif b/etherpad/src/static/img/feb09/home_newpadbutton2.gif
deleted file mode 100644
index ba5d478..0000000
--- a/etherpad/src/static/img/feb09/home_newpadbutton2.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/feb09/home_newpadbutton_eepnet.gif b/etherpad/src/static/img/feb09/home_newpadbutton_eepnet.gif
deleted file mode 100644
index a365351..0000000
--- a/etherpad/src/static/img/feb09/home_newpadbutton_eepnet.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/feb09/hometop_back.gif b/etherpad/src/static/img/feb09/hometop_back.gif
deleted file mode 100644
index 7cdd406..0000000
--- a/etherpad/src/static/img/feb09/hometop_back.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/feb09/nav1.gif b/etherpad/src/static/img/feb09/nav1.gif
deleted file mode 100644
index 4af4869..0000000
--- a/etherpad/src/static/img/feb09/nav1.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/feb09/nav1_back.gif b/etherpad/src/static/img/feb09/nav1_back.gif
deleted file mode 100644
index d2db7ee..0000000
--- a/etherpad/src/static/img/feb09/nav1_back.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/feb09/nav2.gif b/etherpad/src/static/img/feb09/nav2.gif
deleted file mode 100644
index f43a40e..0000000
--- a/etherpad/src/static/img/feb09/nav2.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/feb09/screencast.gif b/etherpad/src/static/img/feb09/screencast.gif
deleted file mode 100644
index 3819082..0000000
--- a/etherpad/src/static/img/feb09/screencast.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/home/etherpad-mainheader1.jpg b/etherpad/src/static/img/home/etherpad-mainheader1.jpg
deleted file mode 100644
index ed7e830..0000000
--- a/etherpad/src/static/img/home/etherpad-mainheader1.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/home/headergradient.gif b/etherpad/src/static/img/home/headergradient.gif
deleted file mode 100644
index d6526dc..0000000
--- a/etherpad/src/static/img/home/headergradient.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/home/homeheader1.jpg b/etherpad/src/static/img/home/homeheader1.jpg
deleted file mode 100644
index 3436158..0000000
--- a/etherpad/src/static/img/home/homeheader1.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/home/homeheader2.jpg b/etherpad/src/static/img/home/homeheader2.jpg
deleted file mode 100644
index e19ba41..0000000
--- a/etherpad/src/static/img/home/homeheader2.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/home/leftgrad.gif b/etherpad/src/static/img/home/leftgrad.gif
deleted file mode 100644
index ff3931a..0000000
--- a/etherpad/src/static/img/home/leftgrad.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/home/pencilpaperback.png b/etherpad/src/static/img/home/pencilpaperback.png
deleted file mode 100644
index e0d2f9d..0000000
--- a/etherpad/src/static/img/home/pencilpaperback.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/home/screencapture1.gif b/etherpad/src/static/img/home/screencapture1.gif
deleted file mode 100644
index 7c3ce5a..0000000
--- a/etherpad/src/static/img/home/screencapture1.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/home/underdevicon.gif b/etherpad/src/static/img/home/underdevicon.gif
deleted file mode 100644
index 5b75fd1..0000000
--- a/etherpad/src/static/img/home/underdevicon.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/icon/downarrow.gif b/etherpad/src/static/img/icon/downarrow.gif
deleted file mode 100644
index 6389439..0000000
--- a/etherpad/src/static/img/icon/downarrow.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/icon/feed.gif b/etherpad/src/static/img/icon/feed.gif
deleted file mode 100644
index fb9b66c..0000000
--- a/etherpad/src/static/img/icon/feed.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/bottomareagfx.gif b/etherpad/src/static/img/jun09/pad/bottomareagfx.gif
deleted file mode 100644
index c499a62..0000000
--- a/etherpad/src/static/img/jun09/pad/bottomareagfx.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/connectionindicator.gif b/etherpad/src/static/img/jun09/pad/connectionindicator.gif
deleted file mode 100644
index ecc270d..0000000
--- a/etherpad/src/static/img/jun09/pad/connectionindicator.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/docbarstates.png b/etherpad/src/static/img/jun09/pad/docbarstates.png
deleted file mode 100644
index 13a5913..0000000
--- a/etherpad/src/static/img/jun09/pad/docbarstates.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/docbarstates2.png b/etherpad/src/static/img/jun09/pad/docbarstates2.png
deleted file mode 100644
index 9e26b1d..0000000
--- a/etherpad/src/static/img/jun09/pad/docbarstates2.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/docbarstates3.png b/etherpad/src/static/img/jun09/pad/docbarstates3.png
deleted file mode 100644
index cdc6a45..0000000
--- a/etherpad/src/static/img/jun09/pad/docbarstates3.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/docpaneledge.png b/etherpad/src/static/img/jun09/pad/docpaneledge.png
deleted file mode 100644
index de22d6a..0000000
--- a/etherpad/src/static/img/jun09/pad/docpaneledge.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/docpanelmiddle.png b/etherpad/src/static/img/jun09/pad/docpanelmiddle.png
deleted file mode 100644
index 9290e86..0000000
--- a/etherpad/src/static/img/jun09/pad/docpanelmiddle.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/editbar.gif b/etherpad/src/static/img/jun09/pad/editbar.gif
deleted file mode 100644
index eb7100c..0000000
--- a/etherpad/src/static/img/jun09/pad/editbar.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/editbar2.gif b/etherpad/src/static/img/jun09/pad/editbar2.gif
deleted file mode 100644
index d222fb8..0000000
--- a/etherpad/src/static/img/jun09/pad/editbar2.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/icon_import_export.gif b/etherpad/src/static/img/jun09/pad/icon_import_export.gif
new file mode 100644
index 0000000..1b77245
--- /dev/null
+++ b/etherpad/src/static/img/jun09/pad/icon_import_export.gif
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/icon_pad_options.gif b/etherpad/src/static/img/jun09/pad/icon_pad_options.gif
new file mode 100644
index 0000000..68c79a7
--- /dev/null
+++ b/etherpad/src/static/img/jun09/pad/icon_pad_options.gif
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/icon_saved_revisions.gif b/etherpad/src/static/img/jun09/pad/icon_saved_revisions.gif
new file mode 100644
index 0000000..8040145
--- /dev/null
+++ b/etherpad/src/static/img/jun09/pad/icon_saved_revisions.gif
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/icon_security.gif b/etherpad/src/static/img/jun09/pad/icon_security.gif
new file mode 100644
index 0000000..9131fc3
--- /dev/null
+++ b/etherpad/src/static/img/jun09/pad/icon_security.gif
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/icon_time_slider.gif b/etherpad/src/static/img/jun09/pad/icon_time_slider.gif
new file mode 100644
index 0000000..2006186
--- /dev/null
+++ b/etherpad/src/static/img/jun09/pad/icon_time_slider.gif
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/ok_or_cancel.gif b/etherpad/src/static/img/jun09/pad/ok_or_cancel.gif
new file mode 100644
index 0000000..76ba692
--- /dev/null
+++ b/etherpad/src/static/img/jun09/pad/ok_or_cancel.gif
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/overlay.png b/etherpad/src/static/img/jun09/pad/overlay.png
deleted file mode 100644
index 46abff3..0000000
--- a/etherpad/src/static/img/jun09/pad/overlay.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/padtop.gif b/etherpad/src/static/img/jun09/pad/padtop.gif
deleted file mode 100644
index 9e77b07..0000000
--- a/etherpad/src/static/img/jun09/pad/padtop.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/padtop2.gif b/etherpad/src/static/img/jun09/pad/padtop2.gif
deleted file mode 100644
index 1e3d8c2..0000000
--- a/etherpad/src/static/img/jun09/pad/padtop2.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/padtop3.gif b/etherpad/src/static/img/jun09/pad/padtop3.gif
deleted file mode 100644
index b6bc589..0000000
--- a/etherpad/src/static/img/jun09/pad/padtop3.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/padtop4.gif b/etherpad/src/static/img/jun09/pad/padtop4.gif
deleted file mode 100644
index d896250..0000000
--- a/etherpad/src/static/img/jun09/pad/padtop4.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/padtop5.gif b/etherpad/src/static/img/jun09/pad/padtop5.gif
index ce41dcb..a163f30 100644
--- a/etherpad/src/static/img/jun09/pad/padtop5.gif
+++ b/etherpad/src/static/img/jun09/pad/padtop5.gif
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/padtopback.gif b/etherpad/src/static/img/jun09/pad/padtopback.gif
deleted file mode 100644
index 335979b..0000000
--- a/etherpad/src/static/img/jun09/pad/padtopback.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/roundcorner_left.gif b/etherpad/src/static/img/jun09/pad/roundcorner_left.gif
new file mode 100644
index 0000000..c023c36
--- /dev/null
+++ b/etherpad/src/static/img/jun09/pad/roundcorner_left.gif
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/roundcorner_right.gif b/etherpad/src/static/img/jun09/pad/roundcorner_right.gif
new file mode 100644
index 0000000..456b156
--- /dev/null
+++ b/etherpad/src/static/img/jun09/pad/roundcorner_right.gif
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/roundcorner_right_orange.gif b/etherpad/src/static/img/jun09/pad/roundcorner_right_orange.gif
new file mode 100644
index 0000000..884c87b
--- /dev/null
+++ b/etherpad/src/static/img/jun09/pad/roundcorner_right_orange.gif
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/sharebox2.gif b/etherpad/src/static/img/jun09/pad/sharebox2.gif
deleted file mode 100644
index 8e89925..0000000
--- a/etherpad/src/static/img/jun09/pad/sharebox2.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/sharebox3.gif b/etherpad/src/static/img/jun09/pad/sharebox3.gif
deleted file mode 100644
index 6f8f03c..0000000
--- a/etherpad/src/static/img/jun09/pad/sharebox3.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/jun09/pad/syncing2.gif b/etherpad/src/static/img/jun09/pad/syncing2.gif
deleted file mode 100644
index 29470e3..0000000
--- a/etherpad/src/static/img/jun09/pad/syncing2.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/bold.gif b/etherpad/src/static/img/may09/bold.gif
deleted file mode 100644
index 49e0d17..0000000
--- a/etherpad/src/static/img/may09/bold.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/doc.png b/etherpad/src/static/img/may09/doc.png
deleted file mode 100644
index b374d0d..0000000
--- a/etherpad/src/static/img/may09/doc.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/html.png b/etherpad/src/static/img/may09/html.png
deleted file mode 100644
index 917f1a4..0000000
--- a/etherpad/src/static/img/may09/html.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/italic.gif b/etherpad/src/static/img/may09/italic.gif
deleted file mode 100644
index 2876ed9..0000000
--- a/etherpad/src/static/img/may09/italic.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/leftarrow.gif b/etherpad/src/static/img/may09/leftarrow.gif
deleted file mode 100644
index c26475f..0000000
--- a/etherpad/src/static/img/may09/leftarrow.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/leftarrow2.gif b/etherpad/src/static/img/may09/leftarrow2.gif
deleted file mode 100644
index 63bbddc..0000000
--- a/etherpad/src/static/img/may09/leftarrow2.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/link.gif b/etherpad/src/static/img/may09/link.gif
deleted file mode 100644
index 44ffdd2..0000000
--- a/etherpad/src/static/img/may09/link.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/link.png b/etherpad/src/static/img/may09/link.png
deleted file mode 100644
index 4e46fcb..0000000
--- a/etherpad/src/static/img/may09/link.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/odt.gif b/etherpad/src/static/img/may09/odt.gif
deleted file mode 100644
index be42352..0000000
--- a/etherpad/src/static/img/may09/odt.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/odt.png b/etherpad/src/static/img/may09/odt.png
deleted file mode 100644
index 5d630db..0000000
--- a/etherpad/src/static/img/may09/odt.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/padlock.gif b/etherpad/src/static/img/may09/padlock.gif
deleted file mode 100644
index 167bf75..0000000
--- a/etherpad/src/static/img/may09/padlock.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/padlockopen.gif b/etherpad/src/static/img/may09/padlockopen.gif
deleted file mode 100644
index 0aaf413..0000000
--- a/etherpad/src/static/img/may09/padlockopen.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/passwordlocked.gif b/etherpad/src/static/img/may09/passwordlocked.gif
deleted file mode 100644
index 167bf75..0000000
--- a/etherpad/src/static/img/may09/passwordlocked.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/passwordlocked_cropped.gif b/etherpad/src/static/img/may09/passwordlocked_cropped.gif
deleted file mode 100644
index 969a8bd..0000000
--- a/etherpad/src/static/img/may09/passwordlocked_cropped.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/passwordnone.gif b/etherpad/src/static/img/may09/passwordnone.gif
deleted file mode 100644
index 61e38d9..0000000
--- a/etherpad/src/static/img/may09/passwordnone.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/paypal.gif b/etherpad/src/static/img/may09/paypal.gif
deleted file mode 100644
index add5454..0000000
--- a/etherpad/src/static/img/may09/paypal.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/pdf.png b/etherpad/src/static/img/may09/pdf.png
deleted file mode 100644
index ac4fa75..0000000
--- a/etherpad/src/static/img/may09/pdf.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/redo.gif b/etherpad/src/static/img/may09/redo.gif
deleted file mode 100644
index bb07b8e..0000000
--- a/etherpad/src/static/img/may09/redo.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/txt.png b/etherpad/src/static/img/may09/txt.png
deleted file mode 100644
index f830cc6..0000000
--- a/etherpad/src/static/img/may09/txt.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/underline.gif b/etherpad/src/static/img/may09/underline.gif
deleted file mode 100644
index 1d1f573..0000000
--- a/etherpad/src/static/img/may09/underline.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/may09/undo.gif b/etherpad/src/static/img/may09/undo.gif
deleted file mode 100644
index 273e9e6..0000000
--- a/etherpad/src/static/img/may09/undo.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/miniplane.gif b/etherpad/src/static/img/miniplane.gif
deleted file mode 100644
index aeaacb0..0000000
--- a/etherpad/src/static/img/miniplane.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/misc/diagnostic-links.gif b/etherpad/src/static/img/misc/diagnostic-links.gif
deleted file mode 100644
index f76669a..0000000
--- a/etherpad/src/static/img/misc/diagnostic-links.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/misc/traclogo.gif b/etherpad/src/static/img/misc/traclogo.gif
deleted file mode 100644
index 7ee31d1..0000000
--- a/etherpad/src/static/img/misc/traclogo.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/atlonglast.gif b/etherpad/src/static/img/oct/atlonglast.gif
deleted file mode 100644
index 88e1c98..0000000
--- a/etherpad/src/static/img/oct/atlonglast.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/banner1.jpg b/etherpad/src/static/img/oct/banner1.jpg
deleted file mode 100644
index 431d2ba..0000000
--- a/etherpad/src/static/img/oct/banner1.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/banner2.jpg b/etherpad/src/static/img/oct/banner2.jpg
deleted file mode 100644
index 50570a8..0000000
--- a/etherpad/src/static/img/oct/banner2.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/banner3.jpg b/etherpad/src/static/img/oct/banner3.jpg
deleted file mode 100644
index c0260a3..0000000
--- a/etherpad/src/static/img/oct/banner3.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/banner4.jpg b/etherpad/src/static/img/oct/banner4.jpg
deleted file mode 100644
index e1593b7..0000000
--- a/etherpad/src/static/img/oct/banner4.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/banner5.gif b/etherpad/src/static/img/oct/banner5.gif
deleted file mode 100644
index 82c8eee..0000000
--- a/etherpad/src/static/img/oct/banner5.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/banner6.gif b/etherpad/src/static/img/oct/banner6.gif
deleted file mode 100644
index 9016ed8..0000000
--- a/etherpad/src/static/img/oct/banner6.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/banner7.gif b/etherpad/src/static/img/oct/banner7.gif
deleted file mode 100644
index a999f93..0000000
--- a/etherpad/src/static/img/oct/banner7.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/banner8.gif b/etherpad/src/static/img/oct/banner8.gif
deleted file mode 100644
index cc2c436..0000000
--- a/etherpad/src/static/img/oct/banner8.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/banner9.gif b/etherpad/src/static/img/oct/banner9.gif
deleted file mode 100644
index e7d9043..0000000
--- a/etherpad/src/static/img/oct/banner9.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/bannerback5.gif b/etherpad/src/static/img/oct/bannerback5.gif
deleted file mode 100644
index d748357..0000000
--- a/etherpad/src/static/img/oct/bannerback5.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/bannerback6.gif b/etherpad/src/static/img/oct/bannerback6.gif
deleted file mode 100644
index 416314f..0000000
--- a/etherpad/src/static/img/oct/bannerback6.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/bodyback1.gif b/etherpad/src/static/img/oct/bodyback1.gif
deleted file mode 100644
index 39d3fd7..0000000
--- a/etherpad/src/static/img/oct/bodyback1.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/bodyback2.gif b/etherpad/src/static/img/oct/bodyback2.gif
deleted file mode 100644
index 5bbdad8..0000000
--- a/etherpad/src/static/img/oct/bodyback2.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/bodyback3.gif b/etherpad/src/static/img/oct/bodyback3.gif
deleted file mode 100644
index a04faf4..0000000
--- a/etherpad/src/static/img/oct/bodyback3.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/bodyback4.gif b/etherpad/src/static/img/oct/bodyback4.gif
deleted file mode 100644
index a875cd6..0000000
--- a/etherpad/src/static/img/oct/bodyback4.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/bodyback5.gif b/etherpad/src/static/img/oct/bodyback5.gif
deleted file mode 100644
index 66f67ce..0000000
--- a/etherpad/src/static/img/oct/bodyback5.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/bodybacktop1.gif b/etherpad/src/static/img/oct/bodybacktop1.gif
deleted file mode 100644
index 20a9261..0000000
--- a/etherpad/src/static/img/oct/bodybacktop1.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/computers.gif b/etherpad/src/static/img/oct/computers.gif
deleted file mode 100644
index c8f2aff..0000000
--- a/etherpad/src/static/img/oct/computers.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/computers2.gif b/etherpad/src/static/img/oct/computers2.gif
deleted file mode 100644
index bd8d133..0000000
--- a/etherpad/src/static/img/oct/computers2.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/glossyblue.gif b/etherpad/src/static/img/oct/glossyblue.gif
deleted file mode 100644
index eed77e7..0000000
--- a/etherpad/src/static/img/oct/glossyblue.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/glossyblue2.gif b/etherpad/src/static/img/oct/glossyblue2.gif
deleted file mode 100644
index c323ebb..0000000
--- a/etherpad/src/static/img/oct/glossyblue2.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/glossyblueh.gif b/etherpad/src/static/img/oct/glossyblueh.gif
deleted file mode 100644
index e56ceeb..0000000
--- a/etherpad/src/static/img/oct/glossyblueh.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/insetrect.gif b/etherpad/src/static/img/oct/insetrect.gif
deleted file mode 100644
index 1d8124d..0000000
--- a/etherpad/src/static/img/oct/insetrect.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/minilogo1-05e.gif b/etherpad/src/static/img/oct/minilogo1-05e.gif
deleted file mode 100644
index a09ef16..0000000
--- a/etherpad/src/static/img/oct/minilogo1-05e.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/minilogo1-07f.gif b/etherpad/src/static/img/oct/minilogo1-07f.gif
deleted file mode 100644
index 8565272..0000000
--- a/etherpad/src/static/img/oct/minilogo1-07f.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/minilogo3.jpg b/etherpad/src/static/img/oct/minilogo3.jpg
deleted file mode 100644
index d0cd89b..0000000
--- a/etherpad/src/static/img/oct/minilogo3.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/minitopback1.gif b/etherpad/src/static/img/oct/minitopback1.gif
deleted file mode 100644
index da8f575..0000000
--- a/etherpad/src/static/img/oct/minitopback1.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/minitopback2.gif b/etherpad/src/static/img/oct/minitopback2.gif
deleted file mode 100644
index a1f43ab..0000000
--- a/etherpad/src/static/img/oct/minitopback2.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/minitopbar1-05e.gif b/etherpad/src/static/img/oct/minitopbar1-05e.gif
deleted file mode 100644
index 1115749..0000000
--- a/etherpad/src/static/img/oct/minitopbar1-05e.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/minitopbar2-05e.gif b/etherpad/src/static/img/oct/minitopbar2-05e.gif
deleted file mode 100644
index 2c5d10f..0000000
--- a/etherpad/src/static/img/oct/minitopbar2-05e.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/minitopbar2-07f.gif b/etherpad/src/static/img/oct/minitopbar2-07f.gif
deleted file mode 100644
index 5687aed..0000000
--- a/etherpad/src/static/img/oct/minitopbar2-07f.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/minitopbar3.jpg b/etherpad/src/static/img/oct/minitopbar3.jpg
deleted file mode 100644
index d0cd89b..0000000
--- a/etherpad/src/static/img/oct/minitopbar3.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/minitopbar4.gif b/etherpad/src/static/img/oct/minitopbar4.gif
deleted file mode 100644
index bf7aec9..0000000
--- a/etherpad/src/static/img/oct/minitopbar4.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/minitoplogo1.gif b/etherpad/src/static/img/oct/minitoplogo1.gif
deleted file mode 100644
index 6317c0f..0000000
--- a/etherpad/src/static/img/oct/minitoplogo1.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/minitoplogo2.gif b/etherpad/src/static/img/oct/minitoplogo2.gif
deleted file mode 100644
index bbb5e21..0000000
--- a/etherpad/src/static/img/oct/minitoplogo2.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/newpadmain.gif b/etherpad/src/static/img/oct/newpadmain.gif
deleted file mode 100644
index 6427037..0000000
--- a/etherpad/src/static/img/oct/newpadmain.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/newpadmainback.gif b/etherpad/src/static/img/oct/newpadmainback.gif
deleted file mode 100644
index 2016864..0000000
--- a/etherpad/src/static/img/oct/newpadmainback.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/newpadmainbackh.gif b/etherpad/src/static/img/oct/newpadmainbackh.gif
deleted file mode 100644
index 3060634..0000000
--- a/etherpad/src/static/img/oct/newpadmainbackh.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/pageshot.png b/etherpad/src/static/img/oct/pageshot.png
deleted file mode 100644
index cb86428..0000000
--- a/etherpad/src/static/img/oct/pageshot.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/pageshotmini.png b/etherpad/src/static/img/oct/pageshotmini.png
deleted file mode 100644
index 0f8a9d0..0000000
--- a/etherpad/src/static/img/oct/pageshotmini.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/sidehead-gradhilite.gif b/etherpad/src/static/img/oct/sidehead-gradhilite.gif
deleted file mode 100644
index 5469d87..0000000
--- a/etherpad/src/static/img/oct/sidehead-gradhilite.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/tinytriangle.gif b/etherpad/src/static/img/oct/tinytriangle.gif
deleted file mode 100644
index 1821e3b..0000000
--- a/etherpad/src/static/img/oct/tinytriangle.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/topnav1.gif b/etherpad/src/static/img/oct/topnav1.gif
deleted file mode 100644
index d801c59..0000000
--- a/etherpad/src/static/img/oct/topnav1.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/topnav2.gif b/etherpad/src/static/img/oct/topnav2.gif
deleted file mode 100644
index c1ab5c5..0000000
--- a/etherpad/src/static/img/oct/topnav2.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/topnav3.gif b/etherpad/src/static/img/oct/topnav3.gif
deleted file mode 100644
index fa25e75..0000000
--- a/etherpad/src/static/img/oct/topnav3.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/topnav4.gif b/etherpad/src/static/img/oct/topnav4.gif
deleted file mode 100644
index 1f4c714..0000000
--- a/etherpad/src/static/img/oct/topnav4.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/topnav5.gif b/etherpad/src/static/img/oct/topnav5.gif
deleted file mode 100644
index fa8b737..0000000
--- a/etherpad/src/static/img/oct/topnav5.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/topnav6.gif b/etherpad/src/static/img/oct/topnav6.gif
deleted file mode 100644
index e0e6815..0000000
--- a/etherpad/src/static/img/oct/topnav6.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/topnavback1.gif b/etherpad/src/static/img/oct/topnavback1.gif
deleted file mode 100644
index 55103a3..0000000
--- a/etherpad/src/static/img/oct/topnavback1.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/topnavback2.gif b/etherpad/src/static/img/oct/topnavback2.gif
deleted file mode 100644
index 9b4bdca..0000000
--- a/etherpad/src/static/img/oct/topnavback2.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/topnavback3.gif b/etherpad/src/static/img/oct/topnavback3.gif
deleted file mode 100644
index 327cba1..0000000
--- a/etherpad/src/static/img/oct/topnavback3.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/usecasesnavdown.gif b/etherpad/src/static/img/oct/usecasesnavdown.gif
deleted file mode 100644
index c8fc7df..0000000
--- a/etherpad/src/static/img/oct/usecasesnavdown.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/usecasesnavdownh.gif b/etherpad/src/static/img/oct/usecasesnavdownh.gif
deleted file mode 100644
index e1fa3a5..0000000
--- a/etherpad/src/static/img/oct/usecasesnavdownh.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/usecasesnavup.gif b/etherpad/src/static/img/oct/usecasesnavup.gif
deleted file mode 100644
index 470dcbe..0000000
--- a/etherpad/src/static/img/oct/usecasesnavup.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/usecasesnavuph.gif b/etherpad/src/static/img/oct/usecasesnavuph.gif
deleted file mode 100644
index 4207386..0000000
--- a/etherpad/src/static/img/oct/usecasesnavuph.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/oct/watchscreencast.gif b/etherpad/src/static/img/oct/watchscreencast.gif
deleted file mode 100644
index f52ed17..0000000
--- a/etherpad/src/static/img/oct/watchscreencast.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/animated-orb-orange-12.gif b/etherpad/src/static/img/pad/animated-orb-orange-12.gif
deleted file mode 100644
index 9db02c6..0000000
--- a/etherpad/src/static/img/pad/animated-orb-orange-12.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/backgrad.png b/etherpad/src/static/img/pad/backgrad.png
deleted file mode 100644
index d85f73c..0000000
--- a/etherpad/src/static/img/pad/backgrad.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/backshadow/backshadow-940-20-eee-20.gif b/etherpad/src/static/img/pad/backshadow/backshadow-940-20-eee-20.gif
deleted file mode 100644
index bc3088b..0000000
--- a/etherpad/src/static/img/pad/backshadow/backshadow-940-20-eee-20.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-20.gif b/etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-20.gif
deleted file mode 100644
index 8a87283..0000000
--- a/etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-20.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-40.gif b/etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-40.gif
deleted file mode 100644
index 695ecbe..0000000
--- a/etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-40.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-60.gif b/etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-60.gif
deleted file mode 100644
index 0005405..0000000
--- a/etherpad/src/static/img/pad/backshadow/backshadow-940-20-fff-60.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/backshadow/botshadow-940-20-eee-20.gif b/etherpad/src/static/img/pad/backshadow/botshadow-940-20-eee-20.gif
deleted file mode 100644
index 92fb5dc..0000000
--- a/etherpad/src/static/img/pad/backshadow/botshadow-940-20-eee-20.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/etherpad-logo-small-grad.gif b/etherpad/src/static/img/pad/etherpad-logo-small-grad.gif
deleted file mode 100644
index a65aa15..0000000
--- a/etherpad/src/static/img/pad/etherpad-logo-small-grad.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/etherpad-logo-small.gif b/etherpad/src/static/img/pad/etherpad-logo-small.gif
deleted file mode 100644
index 6669f39..0000000
--- a/etherpad/src/static/img/pad/etherpad-logo-small.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/etherpad-logo-small2.gif b/etherpad/src/static/img/pad/etherpad-logo-small2.gif
deleted file mode 100644
index 6e33392..0000000
--- a/etherpad/src/static/img/pad/etherpad-logo-small2.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/expandy-arrow-down.gif b/etherpad/src/static/img/pad/expandy-arrow-down.gif
deleted file mode 100644
index 4b67c17..0000000
--- a/etherpad/src/static/img/pad/expandy-arrow-down.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/expandy-arrow-right.gif b/etherpad/src/static/img/pad/expandy-arrow-right.gif
deleted file mode 100644
index 61303e6..0000000
--- a/etherpad/src/static/img/pad/expandy-arrow-right.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/expandy-arrow6-down-active.gif b/etherpad/src/static/img/pad/expandy-arrow6-down-active.gif
deleted file mode 100644
index 5f530b7..0000000
--- a/etherpad/src/static/img/pad/expandy-arrow6-down-active.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/expandy-arrow6-down.gif b/etherpad/src/static/img/pad/expandy-arrow6-down.gif
deleted file mode 100644
index 42fa9af..0000000
--- a/etherpad/src/static/img/pad/expandy-arrow6-down.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/expandy-arrow6-right-active.gif b/etherpad/src/static/img/pad/expandy-arrow6-right-active.gif
deleted file mode 100644
index 4496fad..0000000
--- a/etherpad/src/static/img/pad/expandy-arrow6-right-active.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/expandy-arrow6-right.gif b/etherpad/src/static/img/pad/expandy-arrow6-right.gif
deleted file mode 100644
index 9a8274c..0000000
--- a/etherpad/src/static/img/pad/expandy-arrow6-right.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/header-revgrad.gif b/etherpad/src/static/img/pad/header-revgrad.gif
deleted file mode 100644
index e803e2a..0000000
--- a/etherpad/src/static/img/pad/header-revgrad.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/newpad.gif b/etherpad/src/static/img/pad/newpad.gif
deleted file mode 100644
index c631cc4..0000000
--- a/etherpad/src/static/img/pad/newpad.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/orb-greenred-12.gif b/etherpad/src/static/img/pad/orb-greenred-12.gif
deleted file mode 100644
index d722168..0000000
--- a/etherpad/src/static/img/pad/orb-greenred-12.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/padbg1.jpg b/etherpad/src/static/img/pad/padbg1.jpg
deleted file mode 100644
index 8e640fd..0000000
--- a/etherpad/src/static/img/pad/padbg1.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/padbg2.jpg b/etherpad/src/static/img/pad/padbg2.jpg
deleted file mode 100644
index 1248bc0..0000000
--- a/etherpad/src/static/img/pad/padbg2.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/padbg3.jpg b/etherpad/src/static/img/pad/padbg3.jpg
deleted file mode 100644
index 99bba32..0000000
--- a/etherpad/src/static/img/pad/padbg3.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/padbg4.jpg b/etherpad/src/static/img/pad/padbg4.jpg
deleted file mode 100644
index 2497360..0000000
--- a/etherpad/src/static/img/pad/padbg4.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/padbg5.jpg b/etherpad/src/static/img/pad/padbg5.jpg
deleted file mode 100644
index bc3953c..0000000
--- a/etherpad/src/static/img/pad/padbg5.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/padhead1.jpg b/etherpad/src/static/img/pad/padhead1.jpg
deleted file mode 100644
index e263cf4..0000000
--- a/etherpad/src/static/img/pad/padhead1.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/padhead2.jpg b/etherpad/src/static/img/pad/padhead2.jpg
deleted file mode 100644
index a2f247d..0000000
--- a/etherpad/src/static/img/pad/padhead2.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/padhead3.jpg b/etherpad/src/static/img/pad/padhead3.jpg
deleted file mode 100644
index 101432f..0000000
--- a/etherpad/src/static/img/pad/padhead3.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/pencil-icon-small-blue.gif b/etherpad/src/static/img/pad/pencil-icon-small-blue.gif
deleted file mode 100644
index f60b0f2..0000000
--- a/etherpad/src/static/img/pad/pencil-icon-small-blue.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/sidehead-grad.gif b/etherpad/src/static/img/pad/sidehead-grad.gif
deleted file mode 100644
index 32bac92..0000000
--- a/etherpad/src/static/img/pad/sidehead-grad.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/timeslider/button_depressed.png b/etherpad/src/static/img/pad/timeslider/button_depressed.png
deleted file mode 100644
index 1e96692..0000000
--- a/etherpad/src/static/img/pad/timeslider/button_depressed.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/timeslider/button_undepressed.png b/etherpad/src/static/img/pad/timeslider/button_undepressed.png
deleted file mode 100644
index cd2d7a8..0000000
--- a/etherpad/src/static/img/pad/timeslider/button_undepressed.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/timeslider/crushed_pause.png b/etherpad/src/static/img/pad/timeslider/crushed_pause.png
deleted file mode 100644
index 437b384..0000000
--- a/etherpad/src/static/img/pad/timeslider/crushed_pause.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/timeslider/crushed_play.png b/etherpad/src/static/img/pad/timeslider/crushed_play.png
deleted file mode 100644
index c5b754b..0000000
--- a/etherpad/src/static/img/pad/timeslider/crushed_play.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/timeslider/crushed_play_button.png b/etherpad/src/static/img/pad/timeslider/crushed_play_button.png
deleted file mode 100644
index 3b112f6..0000000
--- a/etherpad/src/static/img/pad/timeslider/crushed_play_button.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/timeslider/current_location.gif b/etherpad/src/static/img/pad/timeslider/current_location.gif
deleted file mode 100644
index 5d5062f..0000000
--- a/etherpad/src/static/img/pad/timeslider/current_location.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/timeslider/pause.gif b/etherpad/src/static/img/pad/timeslider/pause.gif
deleted file mode 100644
index 0fa105b..0000000
--- a/etherpad/src/static/img/pad/timeslider/pause.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/timeslider/play.gif b/etherpad/src/static/img/pad/timeslider/play.gif
deleted file mode 100644
index ae308c2..0000000
--- a/etherpad/src/static/img/pad/timeslider/play.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/timeslider/star.gif b/etherpad/src/static/img/pad/timeslider/star.gif
deleted file mode 100644
index f6a2c70..0000000
--- a/etherpad/src/static/img/pad/timeslider/star.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pad/timeslider/timeslider_mockup.png b/etherpad/src/static/img/pad/timeslider/timeslider_mockup.png
deleted file mode 100644
index bc93914..0000000
--- a/etherpad/src/static/img/pad/timeslider/timeslider_mockup.png
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pricing/free.gif b/etherpad/src/static/img/pricing/free.gif
deleted file mode 100644
index bce2a0b..0000000
--- a/etherpad/src/static/img/pricing/free.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pricing/group.gif b/etherpad/src/static/img/pricing/group.gif
deleted file mode 100644
index b839d3e..0000000
--- a/etherpad/src/static/img/pricing/group.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pricing/on-demand.gif b/etherpad/src/static/img/pricing/on-demand.gif
deleted file mode 100644
index 19d2e57..0000000
--- a/etherpad/src/static/img/pricing/on-demand.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pricing/private-network.gif b/etherpad/src/static/img/pricing/private-network.gif
deleted file mode 100644
index 70d197f..0000000
--- a/etherpad/src/static/img/pricing/private-network.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pricing/support.gif b/etherpad/src/static/img/pricing/support.gif
deleted file mode 100644
index 7f42f76..0000000
--- a/etherpad/src/static/img/pricing/support.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pro/billing/cards-button.gif b/etherpad/src/static/img/pro/billing/cards-button.gif
deleted file mode 100644
index 2f9c8cf..0000000
--- a/etherpad/src/static/img/pro/billing/cards-button.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/pro/header/pro-header-back.gif b/etherpad/src/static/img/pro/header/pro-header-back.gif
deleted file mode 100644
index 9514dbf..0000000
--- a/etherpad/src/static/img/pro/header/pro-header-back.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/tinyplane.gif b/etherpad/src/static/img/tinyplane.gif
deleted file mode 100644
index 5aaa223..0000000
--- a/etherpad/src/static/img/tinyplane.gif
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/img/wavejet.jpg b/etherpad/src/static/img/wavejet.jpg
deleted file mode 100644
index 8d10fd0..0000000
--- a/etherpad/src/static/img/wavejet.jpg
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/static/swf/vidplayer.swf b/etherpad/src/static/swf/vidplayer.swf
deleted file mode 100755
index a38a94e..0000000
--- a/etherpad/src/static/swf/vidplayer.swf
+++ /dev/null
Binary files differ
diff --git a/etherpad/src/templates/admin/pluginmanager.ejs b/etherpad/src/templates/admin/pluginmanager.ejs
index 33b04bf..8a3d0bf 100644
--- a/etherpad/src/templates/admin/pluginmanager.ejs
+++ b/etherpad/src/templates/admin/pluginmanager.ejs
@@ -12,15 +12,35 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. */ %>
<%
- helpers.setHtmlTitle("Browse tags");
+ helpers.setHtmlTitle("EtherPad: Manage plugins");
+/*
+ helpers.includeCss("plugins/twitterStyleTags/tagBrowser.css");
+ helpers.includeCss("plugins/twitterStyleTags/pad.css"); */
helpers.setBodyId("padbody");
helpers.addBodyClass("limwidth nonpropad nonprouser");
helpers.includeCss("pad2_ejs.css");
- helpers.setRobotsPolicy({index: false, follow: false})
- helpers.includeJQuery();
+ helpers.includeJs("undo-xpopup.js");
helpers.includeCometJs();
+ helpers.includeJQuery();
helpers.includeJs("json2.js");
- helpers.addToHead('\n<style type="text/css" title="dynamicsyntax"></style>\n');
+ helpers.includeJs("colorutils.js");
+ helpers.includeJs("ace.js");
+ helpers.includeJs("collab_client.js");
+ helpers.includeJs("draggable.js");
+ helpers.includeJs("pad_utils.js");
+ helpers.includeJs("pad_cookie.js");
+ helpers.includeJs("pad_editor.js");
+ helpers.includeJs("pad_userlist.js");
+ helpers.includeJs("pad_editbar.js");
+ helpers.includeJs("pad_chat.js");
+ helpers.includeJs("pad_docbar.js");
+ helpers.includeJs("pad_impexp.js");
+ helpers.includeJs("pad_savedrevs.js");
+ helpers.includeJs("pad_connectionstatus.js");
+ helpers.includeJs("pad_modals.js");
+ helpers.includeJs("pad2.js");
+ helpers.suppressGA();
+ helpers.setRobotsPolicy({index: false, follow: false});
function inArray(item, arr) {
for (var i = 0; i < arr.length; i++)
@@ -34,18 +54,17 @@ limitations under the License. */ %>
<div id="padtop">
<div id="topbar" style="margin: 7px; margin-top: 0px;">
<div id="topbarleft"><!-- --></div>
- <div id="topbarright"><!-- --></div>
- <div id="topbarcenter"><a href="/" id="topbaretherpad">EtherPad</a></div>
- <% if (isProAccountHolder) { %>
- <div id="accountnav"><%= toHTML(account.email) %><a href="/ep/account/sign-out">(sign out)</a></div>
- <% } else if (isPro) { %>
- <div id="accountnav"><a href="<%= signinUrl %>">sign in</a></div>
- <% } %>
- </div>
+ <div id="topbarright"><!-- --></div>
+ <div id="topbarcenter"><a href="/" id="topbaretherpad">EtherPad</a></div>
+ <% if (isProAccountHolder) { %>
+ <div id="accountnav"><%= toHTML(account.email) %><a href="/ep/account/sign-out">(sign out)</a></div>
+ <% } else if (isPro) { %>
+ <div id="accountnav"><a href="<%= signinUrl %>">sign in</a></div>
+ <% } %>
</div>
<div id="docbar" class="docbar-public">
<div id="docbarleft"><!-- --></div>
- <div title="Browse pads by tag" id="docbarpadtitle"><span>Browse tags</span></div>
+ <div title="Manage plugins" id="docbarpadtitle"><span>Manage plugins</span></div>
<div id="docbaroptions-outer"><a href="javascript:void(0)" id="docbaroptions">Pad Options</a></div>
<div id="docbarsavedrevs-outer"><a href="javascript:void(0)" id="docbarsavedrevs">Saved revisions</a></div>
@@ -71,21 +90,10 @@ limitations under the License. */ %>
<div id="editbarright"><!-- --></div>
<div id="editbarinner">
- <a unselectable="on" href="javascript:void (window.pad&amp;&amp;pad.editbarClick('bold'));" class="editbarbutton bold" title="Bold (ctrl-B)">&nbsp;</a>
- <a unselectable="on" href="javascript:void (window.pad&amp;&amp;pad.editbarClick('italic'));" class="editbarbutton italic" title="Italics (ctrl-I)">&nbsp;</a>
- <a unselectable="on" href="javascript:void (window.pad&amp;&amp;pad.editbarClick('underline'));" class="editbarbutton underline" title="Underline (ctrl-U)">&nbsp;</a>
- <a unselectable="on" href="javascript:void (window.pad&amp;&amp;pad.editbarClick('strikethrough'));" class="editbarbutton strikethrough" title="Strikethrough">&nbsp;</a>
- <a unselectable="on" href="javascript:void (window.pad&amp;&amp;pad.editbarClick('clearauthorship'));" class="editbarbutton clearauthorship" title="Clear Authorship Colors">&nbsp;</a>
- <a unselectable="on" href="javascript:void (window.pad&amp;&amp;pad.editbarClick('undo'));" class="editbarbutton undo" title="Undo (ctrl-Z)">&nbsp;</a>
- <a unselectable="on" href="javascript:void (window.pad&amp;&amp;pad.editbarClick('redo'));" class="editbarbutton redo" title="Redo (ctrl-Y)">&nbsp;</a>
- <a unselectable="on" href="javascript:void (window.pad&amp;&amp;pad.editbarClick('insertunorderedlist'));" class="editbarbutton insertunorderedlist" title="Toggle Bullet List">&nbsp;</a>
- <a unselectable="on" href="javascript:void (window.pad&amp;&amp;pad.editbarClick('indent'));" class="editbarbutton indent" title="Indent List">&nbsp;</a>
- <a unselectable="on" href="javascript:void (window.pad&amp;&amp;pad.editbarClick('outdent'));" class="editbarbutton outdent" title="Unindent List">&nbsp;</a>
- <a unselectable="on" href="javascript:void (window.pad&amp;&amp;pad.editbarClick('save'));" class="editbarbutton save" title="Save Revision">&nbsp;</a>
</div>
</div>
- <div style="height: 268px;" id="editorcontainerbox">
- <div id="editorcontainer" style="padding:5pt; height: 600pt;">
+ <div id="editorcontainerbox">
+ <div id="editorcontainer">
<h1>Plugin manager</h1>
<table>
<tr>
diff --git a/etherpad/src/templates/beta/signup.ejs b/etherpad/src/templates/beta/signup.ejs
deleted file mode 100644
index 5268a29..0000000
--- a/etherpad/src/templates/beta/signup.ejs
+++ /dev/null
@@ -1,63 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><% helpers.includeJQuery() %>
-<% helpers.includeJs("etherpad.js") %>
-<% helpers.includeCss("beta.css") %>
-
-<div class="fpcontent">
- <div class="beta-signup">
-
- <h1 style="border: 0;">EtherPad Professional Edition</h1>
-
- <div class="right">
- <br/>
-
- <p>Want an account to keep track of all your team's pads?
- EtherPad Professional Edition
- gives you your own site to keep track
- of pads and control who gets to access what.</p>
-
-
- <form id="beta-signup-form" action="/ep/beta-account/signup"
- method="post">
-
- <% if (errorMsg) { %>
- <div id="error-msg">
- <%= errorMsg %>
- </div>
- <% } %>
-
- <p>Your Email:</p>
- <input type="text" name="email" id="email" />
- <br/>
- <button type="submit">Submit</button>
-
- </form>
-
- <p>Email <%= helpers.oemail("support") %> with questions or
- concerns.</p>
- </div>
-
- <div class="left">
-
- <img src="/static/img/account/betawarn.jpg"
- />
-
- </div>
-
- <%= helpers.clearFloats() %>
-
- </div>
-</div>
-
-
diff --git a/etherpad/src/templates/email/eepnet_license_info.ejs b/etherpad/src/templates/email/eepnet_license_info.ejs
deleted file mode 100644
index ea431de..0000000
--- a/etherpad/src/templates/email/eepnet_license_info.ejs
+++ /dev/null
@@ -1,72 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><%
- var parts = licenseKey.split(":");
- var name = parts[0];
- var org = parts[1];
- var key = parts[2];
-
- if ((key.length % 2) != 0) {
- key = key + "+";
- }
- var keyLine1 = key.substr(0, key.length/2);
- var keyLine2 = key.substr(key.length/2, key.length);
-%>
-Dear <%= userName %>,
-
-Thank you for downloading EtherPad Private Network Edition.
-This is an automated email containing your license information.
-
-<% if (isEvaluation) { %>
-NOTE: This is an EVALUATION license, which will expire on
-<%= expiresDate.toString() %>.
-<% } %>
-
-****************************************
-NAME:
-
- <%= name %>
-
-****************************************
-ORGANIZATION:
-
- <%= org %>
-
-****************************************
-LICENSE KEY:
-
- <%= keyLine1 %>
- <%= keyLine2 %>
-
-****************************************
-INSTRUCTIONS:
-
- http://<%= request.host %>/ep/pne-manual
-
-****************************************
-DOWNLOAD LINK:
-
- http://<%= request.host %><%= isEvaluation ? "/ep/store/eepnet-download" : "/ep/store/eepnet-download-nextsteps" %>
-
-<% if (isEvaluation) { %>
---
-
-This email was sent automatically from etherpad.com because you signed
-up for EtherPad PNE. If you did not sign up for
-this, then you can safely just ignore this email.
-
-<% } else { %>
---
-
-Thanks for buying EtherPad!
-<% } %> \ No newline at end of file
diff --git a/etherpad/src/templates/email/eepnet_purchase_receipt.ejs b/etherpad/src/templates/email/eepnet_purchase_receipt.ejs
deleted file mode 100644
index a83cd58..0000000
--- a/etherpad/src/templates/email/eepnet_purchase_receipt.ejs
+++ /dev/null
@@ -1,93 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %>Dear <%= cart.ownerName %>,
-
-Thank you for your purchase of EtherPad Private Network Edition. This is your receipt. Please keep this email for your records.
-
--- The EtherPad Staff
-
-<%
-function row(key, value) {
-%><%= key %>:
- <%= String(value).split("\n").join("\n ") %>
-<%
-}
-
-function $(cost) {
- return "US $"+dollars(cost);
-}
-%>
-
-License Information:
-
-<%
-row("Administrator Name", cart.ownerName)
-row("Organization Name", cart.orgName)
-row("Total Users", cart.userCount)
-%>
-
-Billing Information:
-
-<%
-var isUs = cart.billingCountry == "US";
-switch(cart.billingPurchaseType) {
- case "creditcard":
- row("Credit Card Number", obfuscateCC(cart.billingCCNumber));
- row("Expiration Date", cart.billingExpirationMonth+" / 20"+cart.billingExpirationYear);
- // falling through here intentional.
- case "invoice":
- row("Purchaser Name", cart.billingFirstName + " " + cart.billingLastName);
- row("Purchaser Address", cart.billingAddressLine1 + "\n" +
- (cart.billingAddressLine2 ? cart.billingAddressLine2 + "\n" : "") +
- cart.billingCity + ", " +
- (isUs?cart.billingState:cart.billingProvince) + "\n" +
- (isUs?cart.billingZipCode:cart.billingPostalCode)+
- (isUs?'':', '+cart.billingCountry));
- row("Invoice Number", cart.invoiceId);
- break;
- case "paypal":
- row("Paid Using", "PayPal");
- row("Invoice Number", cart.invoiceId);
-}
-%>
-
-Summary of Charges:
-
-<%
-row("Etherpad Private Network, "+cart.numUsers+" users", $(cart.baseCost));
-if (cart.couponProductPctDiscount) {
- row("Referral - "+cart.couponProductPctDiscount+"% savings",
- "-"+$(cart.productReferralDiscount));
-}
-if (cart.supportCost) {
- row("Support Contract, 1 year", $(cart.supportCost));
- if (cart.couponSupportPctDiscount) {
- row("Referral - "+cart.couponSupportPctDiscount+"% savings",
- "-"+$(cart.supportReferralDiscount));
- }
-}
-if (cart.freeUserCount) {
- row("Referral Bonus - "+cart.freeUserCount+" free user"+(cart.freeUserCount == 1 ? '' : "s"),
- "US$0.00");
-}
-%>-------------------------------------------------------------------------------
-<%
-var pctDiscount = cart.couponTotalPctDiscount;
-var hasSubtotal = pctDiscount > 0;
-
-if (hasSubtotal) {
- row("Subtotal", $(cart.subTotal));
- row("Referral - "+pctDiscount+"% savings", "-"+$(cart.totalReferralDiscount));
-}
-row("Total", $(cart.total));
-%> \ No newline at end of file
diff --git a/etherpad/src/templates/email/pro_beta_invite.ejs b/etherpad/src/templates/email/pro_beta_invite.ejs
deleted file mode 100644
index 162b443..0000000
--- a/etherpad/src/templates/email/pro_beta_invite.ejs
+++ /dev/null
@@ -1,23 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %>Dear <%= toAddr.split('@')[0] %>,
-
-<%= signupAgo %> you signed up for the EtherPad Beta. Now here's a link to activate your account immediately:
-
-<%= activationUrl %>
-
-Any problems or questions? Just respond to this email for help.
-
-Happy Collaborating!
-
-The EtherPad Team
diff --git a/etherpad/src/templates/email/pro_payment_failure.ejs b/etherpad/src/templates/email/pro_payment_failure.ejs
deleted file mode 100644
index 248a3dd..0000000
--- a/etherpad/src/templates/email/pro_payment_failure.ejs
+++ /dev/null
@@ -1,26 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %>Dear <%= fullName %>,
-
-Thank you for using EtherPad Professional. Your monthly billing cycle has ended, but we were unsuccessful in charging your account on file.
-
-<% if (billingError && billingError.length > 0) { %>
- The following error occurred:
-
- <%= billingError %>
-
-<% } %>If you do not update your payment information and pay the remaining balance of <%= balance %>, your account will be suspended on <%= suspensionDate %>.
-
-You may update your payment information here: <%= billingAdminLink %>
-
--- The EtherPad Staff
diff --git a/etherpad/src/templates/email/pro_payment_receipt.ejs b/etherpad/src/templates/email/pro_payment_receipt.ejs
deleted file mode 100644
index 175b06a..0000000
--- a/etherpad/src/templates/email/pro_payment_receipt.ejs
+++ /dev/null
@@ -1,55 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %>Dear <%= fullName %>,
-
-Thank you for using EtherPad Professional. Your monthly billing cycle has ended, and your account has been charged; this is your receipt. Please keep this email for your records.
-
--- The EtherPad Staff
-
-<%
-function row(key, value) {
-%><%= key %>:
- <%= String(value).split("\n").join("\n ") %>
-<%
-}
-
-function $(cost) {
- return "US $"+dollars(cost);
-}
-%>
-
-Billing Information:
-
-<%
-row("Name", fullName);
-row("Paid Using", paymentSummary);
-row("Expiration", expiration);
-row("Invoice Number", invoiceNumber);
-%>
-
-Summary of Charges:
-
-<%
-row("EtherPad Professional, "+numUsers+" users", $(cost));
-if (coupon) {
- var discount = [];
- if (coupon.pctDiscount) {
- discount.push(coupon.pctDiscount+"% savings");
- }
- if (coupon.freeUsers) {
- discount.push((coupon.freeUsers)+" free users");
- }
- discount = discount.join(" and ");
- %>
-This charge reflects your referral bonus of <%= discount %>.
-<% } %> \ No newline at end of file
diff --git a/etherpad/src/templates/framed/framedheader-pro.ejs b/etherpad/src/templates/framed/framedheader-pro.ejs
index 857fa3e..73b0e99 100644
--- a/etherpad/src/templates/framed/framedheader-pro.ejs
+++ b/etherpad/src/templates/framed/framedheader-pro.ejs
@@ -1,4 +1,6 @@
-<% /* Copyright 2009 Google Inc.
+<% /*
+Copyright 2009 Google Inc.
+Copyright 2010 Pita, Peter Martischka <petermartischka@googlemail.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -64,10 +66,8 @@ limitations under the License. */ %><% helpers.addBodyClass("pro-withtopbar"); %
<div id="pro-topnav">
<div id="pro-topnav-inner">
- <% if (validLicense && account) { %>
<%= renderProTopNav() %>
<%= helpers.clearFloats() %>
- <% } %>
</div>
</div>
diff --git a/etherpad/src/templates/main/home.ejs b/etherpad/src/templates/main/home.ejs
index 3fc0484..aa5d934 100644
--- a/etherpad/src/templates/main/home.ejs
+++ b/etherpad/src/templates/main/home.ejs
@@ -1,4 +1,6 @@
-<% /* Copyright 2009 Google Inc.
+<% /*
+Copyright 2009 Google Inc.
+Copyright 2010 Pita, Peter Martischka <petermartischka@googlemail.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -23,11 +25,11 @@ limitations under the License. */ %><% helpers.setHtmlTitle("EtherPad: Open-Sour
<a id="home-newpad" href="/ep/pad/newpad">
Create new pad
</a>
- <!--
- <a id="home-newsite" href="ep/pro-signup/">
- Create team site
- </a>
- -->
+ <% if (isProAccountEnabled()) { %>
+ <a id="home-newteam" href="/ep/pro-signup/">
+ Create team site
+ </a>
+ <% } %>
</div>
</div>
diff --git a/etherpad/src/templates/pad/create_body_rafter.ejs b/etherpad/src/templates/pad/create_body_rafter.ejs
deleted file mode 100644
index 28252c7..0000000
--- a/etherpad/src/templates/pad/create_body_rafter.ejs
+++ /dev/null
@@ -1,23 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><% helpers.setHtmlTitle("EtherPad: Create a new pad?"); %>
-
-<div id="createpadpage" class="fpcontent">
-
- <p><tt>http://<%= request.host %>/<%= toHTML(padId) %></tt></p>
-
- <p><strong>There is no EtherPad document here.</strong></p>
-
- <p style="color:red">Creation of new free pads is permanently disabled as part of EtherPad's acquisition by Google. <a href="http://<%= fullSuperdomain %>/ep/blog/posts/google-acquires-appjet">Read more.</a></p>
-
-</div>
diff --git a/etherpad/src/templates/pad/exporthtml.ejs b/etherpad/src/templates/pad/exporthtml.ejs
deleted file mode 100644
index 288a595..0000000
--- a/etherpad/src/templates/pad/exporthtml.ejs
+++ /dev/null
@@ -1,28 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
- <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
- <TITLE></TITLE>
- <STYLE TYPE="text/css">
- <!--
- @page { margin: 0.79in }
- P { margin-bottom: 0.08in }
- -->
- </STYLE>
-</HEAD>
-<BODY LANG="en-US" DIR="LTR">
-<%= pre ? '<PRE>' : '' %><%= content %><%= pre ? '</PRE>' : '' %>
-</BODY>
-</HTML> \ No newline at end of file
diff --git a/etherpad/src/templates/pad/pad_body.ejs b/etherpad/src/templates/pad/pad_body.ejs
deleted file mode 100644
index d932cd6..0000000
--- a/etherpad/src/templates/pad/pad_body.ejs
+++ /dev/null
@@ -1,69 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><%
- var padIdHtml = toHTML(request.url.split("?", 1)[0]);
-%>
-
-<% helpers.setHtmlTitle("EtherPad: "+toHTML(proTitle || request.path.substr(1))); %>
-<% helpers.setBodyId("padbody") %>
-<% helpers.addBodyClass(bodyClass) %>
-<% helpers.includeCss("pad.css") %>
-<% helpers.includeJs("undo-xpopup.js") %>
-<% helpers.includeCometJs() %>
-<% helpers.includeJQuery(); %>
-<% helpers.includeJs("json2.js") %>
-<% helpers.includeJs("ace.js") %>
-<% helpers.includeJs("collab_client.js") %>
-<% helpers.includeJs("pad.js") %>
-<% helpers.suppressGA() %>
-<% helpers.setRobotsPolicy({index: false, follow: false}) %>
-
-<div id="padpage">
-
-<div id="modaloverlay">
- <div id="modaldialog">
- <div id="dialogtopbar">Foo.</div>
- <table id="dialogcontenttable" cellpadding="0" cellspacing="0" border="0"><tr>
- <td id="dialogcontent">This is a modal dialog!</td>
- </tr></table>
- </div>
-</div>
-<table id="padoutertable" cellpadding="0" cellspacing="0" border="0">
-<tr id="pot_toptr">
- <td id="pot_shadlefttopseg" class="potshad">&nbsp;</td>
- <td id="pot_top">
- <a id="headhomelink" href="/">EtherPad</a>
- <div id="headurl">
- <label for="shareurl">Share this URL:</label>
- &nbsp;<span id="shareurl"><%= padIdHtml %></span>
- </div>
- <a id="widthlink" href="javascript: void pad.toggleFullWidth()">M</a>
- <a id="newpadlink" href="javascript:void pad.newPad()"
- title="Create and open a new pad in a new window">New Pad</a>
- </td>
- <td id="pot_shadrighttopseg" class="potshad">&nbsp;</td>
-</tr>
-
-<tr>
- <td id="pot_shadleft" class="potshad"><div><!-- --></div></td>
- <td id="pot_main">
- <div id="padcontent">
- <%= contentHtml %>
- </div><!-- /padcontent -->
- </td>
- <td id="pot_shadright" class="potshad"><div><!-- --></div></td>
-</tr>
-
-</table><!-- /padoutertable -->
-
-</div><!-- /padpage -->
diff --git a/etherpad/src/templates/pad/pad_body2.ejs b/etherpad/src/templates/pad/pad_body2.ejs
index ca0b3ae..c359b14 100644
--- a/etherpad/src/templates/pad/pad_body2.ejs
+++ b/etherpad/src/templates/pad/pad_body2.ejs
@@ -93,12 +93,6 @@ limitations under the License. */ %>
<% } %>
<div id="specialkeyarea"><!-- --></div>
</div>
-<!--
- <div id="shuttingdown">
- <strong style="color:red">Note: EtherPad.com is shutting down March 31, 2010.</strong>
- <a href="http://<%= fullSuperdomain %>/ep/blog/posts/google-acquires-appjet">(more info)</a>
- </div>
- -->
<div id="alertbar">
<div id="servermsg">
<h3>Server Notice<span id="servermsgdate"><!-- --></span>:</h3>
@@ -108,15 +102,39 @@ limitations under the License. */ %>
</div>
<div id="docbar">
- <div id="docbarleft"><!-- --></div>
- <div id="docbarpadtitle"><span><%= initialTitle %></span></div>
-<% if (isProAccountHolder) { %>
- <div id="docbarsecurity-outer"><a href="javascript:void(0)" id="docbarsecurity">Security</a></div>
+ <table border="0" cellpadding="0" cellspacing="0" width="100%" id="docbartable">
+ <td><img src="/static/img/jun09/pad/roundcorner_left.gif"></td>
+ <td id="docbarpadtitle"><span><%= initialTitle %></span></td>
+ <td width="100%">&nbsp;</td>
+<% if (isProAccountHolder) { %>
+ <td id="docbarsecurity-outer" class="docbarbutton" nowrap>
+ <a href="javascript:void(0)" id="docbarsecurity">
+ <img src="/static/img/jun09/pad/icon_security.gif">Security
+ </a>
+ </td>
<% } /* isProAccountHolder */ %>
- <div id="docbaroptions-outer"><a href="javascript:void(0)" id="docbaroptions">Pad Options</a></div>
- <div id="docbarsavedrevs-outer"><a href="javascript:void(0)" id="docbarsavedrevs">Saved revisions</a></div>
- <div id="docbarimpexp-outer"><a href="javascript:void(0)" id="docbarimpexp">Import/Export</a></div>
- <div id="docbarslider-outer"><a target="_blank" href="/ep/pad/view/<%= localPadId %>/latest" id="docbarslider">Time Slider</a></div>
+ <td id="docbaroptions-outer" class="docbarbutton" nowrap>
+ <a href="javascript:void(0)" id="docbaroptions">
+ <img src="/static/img/jun09/pad/icon_pad_options.gif">Pad&nbsp;Options
+ </a>
+ </td>
+ <td id="docbarimpexp-outer" class="docbarbutton" nowrap>
+ <a href="javascript:void(0)" id="docbarimpexp">
+ <img src="/static/img/jun09/pad/icon_import_export.gif">Import/Export
+ </a>
+ </td>
+ <td id="docbarsavedrevs-outer" class="docbarbutton" nowrap>
+ <a href="javascript:void(0)" id="docbarsavedrevs">
+ <img src="/static/img/jun09/pad/icon_saved_revisions.gif">Saved&nbsp;revisions
+ </a>
+ </td>
+ <td id="docbarslider-outer" class="docbarbutton" nowrap>
+ <a target="_blank" href="/ep/pad/view/<%= localPadId %>/latest" id="docbarslider">
+ <img src="/static/img/jun09/pad/icon_time_slider.gif">Time&nbsp;Slider
+ </a>
+ </td>
+ <td><img src="/static/img/jun09/pad/roundcorner_right_orange.gif"></td>
+ </table>
<% if (isProAccountHolder) { %>
<div id="docbarrenamelink">
<a href="javascript:void(0)">(rename)</a>
diff --git a/etherpad/src/templates/pad/pad_content.ejs b/etherpad/src/templates/pad/pad_content.ejs
deleted file mode 100644
index dbbd9bd..0000000
--- a/etherpad/src/templates/pad/pad_content.ejs
+++ /dev/null
@@ -1,300 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><%
- function checkboxPref(name, label) {
- var r = ['<div class="prefcheckbox" id="checkpref', name, '">'];
- r.push('<table cellspacing="0" cellpadding="0" border="0">');
- r.push('<tr>');
- r.push('<td class="checkboxcell" valign="middle"><input type="checkbox" /></td>');
- r.push('<td class="labelcell" valign="middle">', label, '</td>');
- r.push('</tr>');
- r.push('</table>');
- r.push('</div>');
- return r.join('');
- }
-
- function exportOption(type, label, requiresOffice, url, title) {
- url = url || '/ep/pad/export/'+padId+'/latest?format='+type;
- var classes = [ "exportlink", "exporthref"+type ];
- if (requiresOffice && !hasOffice) {
- classes.push("disabledexport");
- } else if (requiresOffice) {
- classes.push("requiresoffice");
- }
- var aStartArr = ['<a '];
- if (classes.length > 0) {
- aStartArr.push(' class="'+classes.join(' ')+'"');
- }
- aStartArr.push(' target="_blank" href="', url, '">');
- var aStart = aStartArr.join('');
- var r = ['<div class="exportlink" id="export', type, '"'];
- if (title) {
- r.push(' title="'+title+'"');
- }
- r.push('>');
- r.push('<table cellspacing="0" cellpadding="0" border="0">');
- r.push('<tr>');
- r.push('<td class="exportpic" valign="middle">');
- r.push(aStart, '<img alt="" src="/static/img/may09/'+type+'.gif" />', '</a>');
- r.push('</td>');
- r.push('<td class="labelcell" valign="middle">');
- r.push(aStart, label, '</a>');
- if (title) {
- r.push('<sup>?</sup>')
- }
- r.push('</td>');
- if (requiresOffice) {
- r.push('<td class="exportspinner" ');
- r.push('id="exportspinner', type, '"');
- r.push(' valign="middle"><img alt="" src="/static/img/misc/status-ball.gif" /></td>');
- }
- r.push('</tr>');
- r.push('</table>');
- r.push('</div>');
- return r.join('');
- }
-%>
-
-<div id="servermsg" class="topmsg hidden">
- <p><b>Server Notice (<span id="servermsgdate"></span>)</b></p>
- <br/>
- <a id="hidetopmsg" href="javascript: void pad.hideTopMsg('server')">hide</a>
- <p id="servermsgtext"></p>
-</div>
-
-<div id="bigtoperror_wrap" class="topmsg hidden">
-
- <div class="bigtoperror" id="disconnected_looping">
- <p><b>We're having trouble establishing a connection with an
- EtherPad synchronization server.</b> You may be connecting through an incompatible firewall or
- proxy server.</p>
- </div>
-
- <div class="bigtoperror" id="disconnected_userdup">
- <p><b>You seem to have opened this pad in another browser
- window.</b> If you'd like to use this window
- instead, you can reconnect.</p>
- </div>
-
- <div class="bigtoperror" id="disconnected_slowcommit">
- <p><b>We're having difficulties talking to the EtherPad
- synchronization server.</b> This may be due to network connectivity issues or high load on the server.</p>
- </div>
-
- <div class="bigtoperror" id="disconnected_initsocketfail">
- <p><b>We were unable to establish the initial connection with
- the EtherPad synchronization server.</b> This may be due to an incompatibility with your web
- browser or internet connection.</p>
- </div>
-
- <div class="bigtoperror" id="disconnected_unknown">
- <p><b>Lost connection with the EtherPad synchronization
- server.</b> This may be due to a loss of network connectivity.</p>
- </div>
-
- <div class="bigtoperror" id="reconnect_advise">
- <p>If this continues to happen, please <a target="_blank" href="/ep/support">let us know</a>
- (opens in new window).</p>
- </div>
-
- <div id="reconnect_form">
- <p><button class="forcereconnect">Reconnect
- Now</button></p>
- </div>
-
-</div>
-
-<div id="padtablediv">
-<table id="padtable"
- border="0" cellspacing="0" cellpadding="0">
- <tr>
- <td id="topbar">
- <div id="connectionstatus"
- class="connecting">Connecting...</div>
- <div id="topbarmsg">&nbsp;</div>
- <a class="showhide" id="showsidebar" href="javascript:void pad.showSideBar();">
- &laquo; show side bar
- </a>
- </td>
- <td id="sidebartop">
- <a class="showhide" id="hidesidebar" href="javascript:void pad.hideSideBar();">
- hide &raquo;
- </a>
- </td>
- </tr>
-
- <tr id="sizedcontent">
- <td id="editorcell" class="editorcell_loading" width="100%" valign="top">
- <div id="editorcellinner">
- <div id="loadingbox">
- Loading...
- </div>
- <div id="toptoolbar" class="disabledtoolbar">
- <a href="javascript:void pad.toolbarClick('bold');" class="toptoolbarbutton bold" title="Bold (ctrl-B)">&nbsp;</a>
- <a href="javascript:void pad.toolbarClick('italic');" class="toptoolbarbutton italic" title="Italics (ctrl-I)">&nbsp;</a>
- <a href="javascript:void pad.toolbarClick('underline');" class="toptoolbarbutton underline" title="Underline (ctrl-U)">&nbsp;</a>
- <a href="javascript:void pad.toolbarClick('undo');" class="toptoolbarbutton undo" title="Undo (ctrl-Z)">&nbsp;</a>
- <a href="javascript:void pad.toolbarClick('redo');" class="toptoolbarbutton redo" title="Redo (ctrl-Y)">&nbsp;</a>
- <form id="padtitle" action="/"><input type="text" id="padtitleedit"/><span class="padtitlepad">Pad:</span> <span id="padtitletitle">&nbsp;</span> &nbsp;<span class="editlink">(<a href="javascript:void pad.editTitle();">rename</a>)</span><span class="oklink"><a href="javascript:void pad.submitTitle(true);">OK</a></span></form>
- <a href="javascript:void pad.passwordClick();" id="passwordlock" title="" class="passwordhidden">&nbsp;</a>
- </div>
- <div id="editorcontainer"><!-- --></div>
- <div id="bottoolbar" class="disabledtoolbar">
- <div id="viewzoom">View Zoom: <select id="viewzoommenu"><option value="z85">85%</option><option value="z100">100%</option><option value="z115">115%</option><option value="z150">150%</option><option value="z200">200%</option><option value="z300">300%</option></select></div>
- <div id="viewfont">View Font: <select id="viewfontmenu"><option value="normal">Normal</option><option value="code">Code</option></select></div>
- </div>
- </div>
- </td>
- <td id="sidebarcell" valign="top">
- <div id="sidebar" class="sidebar_loading">
- <div id="headuserlistwrap" class="sideheadwrap sh_uncollapsed"><p class="sidehead">Connected Users</p></div>
- <div id="userlistwrap" class="sidebox">
- <div id="userlist"><!-- setbyjs --></div>
- <div id="invitemore">
- <a class="small_link" id="invitemorelink" href="javascript:void pad.invitemoreShow();">invite more people...</a>
- <div id="inviteinstructions" style="display:none;">
- <p>To invite someone to this pad, just copy and paste them the URL to this page.</p>
- <p id="emailinviteleadin">Or we can send them an invitation for you:</p>
- <p>
- Email:&nbsp;<input id="invite_email" type="text" name="email" value="" />
- <input type="submit" id="invite_email_submit" value="Send" />
- </p>
- <p id="invite_email_status"><!-- --></p>
- <p id="hideinstructions"><a class="small_link" href="javascript:void pad.invitemoreHide();">hide</a></p>
- </div>
- </div>
- </div>
- <div id="headchatbox" class="sideheadwrap sh_collapsed"><p id="chatheadname" class="sidehead">Chat</p></div>
- <div class="sidebox hidden" id="chatbox">
- <div id="chatmessages"><!-- --></div>
- <div>
- <table id="chatsaytable" border="0" cellspacing="0" cellpadding="0">
- <tr>
- <td width="5" valign="middle">Say:</td>
- <td><input type="text" id="chatinput" /></td>
- </tr>
- </table>
- </div>
- </div>
- <div id="headimportexport" class="sideheadwrap sh_collapsed"><p class="sidehead">Import/Export</p></div>
- <div class="sidebox hidden" id="importexport">
- <div id="exportsection">
- <p id="headexport"><strong>Download</strong> as:</p>
- <table>
- <tr>
- <td class="firsttd"><%= exportOption('html', 'HTML', false) %></td>
- <td class="secondtd"><%= exportOption('doc', 'Microsoft Word', true) %></td>
- </tr>
- <tr>
- <td class="firsttd"><%= exportOption('txt', 'Plain text', false) %></td>
- <td class="secondtd"><%= exportOption('pdf', 'PDF', true) %></td>
- </tr>
- <tr>
- <td class="firsttd"><%= exportOption('link', 'Bookmark file', false,
- '/ep/pad/linkfile?padId='+padId,
- 'This will save a file that, when opened, takes you to this pad.') %></td>
- <td class="secondtd"><%= exportOption('odt', 'OpenDocument', true) %></td>
- </tr>
- </table>
- <div id="exportmessage"></div>
- </div>
- <div id="importsection">
- <p id="headimport"><strong>Import</strong> text from file:</p>
- <form id="importform" method="post" action="/ep/pad/impexp/import" target="importiframe" enctype="multipart/form-data">
- <div class="importformdiv" id="importformfilediv">
- <input type="file" name="file" size="20" id="importfileinput" />
- <div class="importmessage" id="importmessagefail"></div>
- </div>
- <div class="importmessage" id="importmessagesuccess"></div>
- <div class="importformdiv" id="importformsubmitdiv">
- <input type="hidden" name="padId" value="<%= encodeURIComponent(padId) %>" />
- <span class="nowrap">
- <input type="submit" name="submit" value="Import Now" disabled="disabled" id="importsubmitinput" />
- <img alt="" id="importstatusball" src="/static/img/misc/status-ball.gif" align="bottom" />
- <img alt="" id="importarrow" src="/static/img/may09/leftarrow.gif" align="bottom" />
- </span>
- </div>
- </form>
- </div>
- </div>
- <div id="headrevisions" class="sideheadwrap sh_collapsed"><p class="sidehead">Saved Revisions</p></div>
- <div class="sidebox hidden" id="revisions">
- <div id="nosaveprivs">
- Sorry, you have exceeded the maximum allowable
- number of saved revisions.
- </div>
- <input id="savenow" type="submit" value="Save Now" />
- <div id="revisionlist">
- </div>
- </div>
- <div id="headprefs" class="sideheadwrap sh_collapsed"><p class="sidehead">Options</p></div>
- <div class="sidebox hidden" id="prefs">
- <%= checkboxPref("showcolors", "Highlight who typed what.") %>
- <%= checkboxPref("wrap", "Wrap long lines.") %>
- <%= checkboxPref("linenums", "Show line numbers.") %>
- <%= checkboxPref("fullwidth", "Use full window width.") %>
- <%= checkboxPref("jshighlight", "Highlight JavaScript syntax.") %>
- </div>
- <div id="headfeedback" class="sideheadwrap sh_collapsed"><p class="sidehead">Feedback</p></div>
- <div class="sidebox hidden sidebox_last" id="feedback">
- <div id="feedbackbox">
- <p style="text-align: center;">Tell us what you
- think of EtherPad!<br/>(Include your email if you want a response)</p>
- <div id="formbox">
- <textarea rows="5" cols="10" id="feedbackarea" name="feedbackarea"></textarea>
- <input id="feedbacksubmit" type="submit"
- value="Send to EtherPad Team" />
- </div>
- </div>
- <div id="feedbackresult">
- <p>Thanks for the feedback! Keep it coming.</p>
- <p>You can also send feedback by email to
- <span id="feedbackemail"
- style="white-space: nowrap;">feedback@e***rp**d.com</span> to receive a personal
- response.</p>
- </div>
- </div>
- </div>
- </td>
- </tr>
-</table>
-</div><!-- #padtablediv -->
-
-<div style="clear: both;"><!-- --></div>
-
-<% if (request.params.djs) { %>
- <div id="djs">&nbsp;</div>
-<% } %>
-
-<div id="appjetfooter">
- Powered by <a target="_blank" href="/ep/about/appjet">AppJet</a>
- <img id="plane" src="/static/img/tinyplane.gif" alt="AppJet" />
-</div><!-- /appjetfooter -->
-
-<form id="reconnect"
- method="post"
- action="/ep/pad/reconnect"
- accept-charset="UTF-8"
- style="display: none;">
- <input type="hidden" id="padId" name="padId" />
- <input type="hidden" id="diagnosticInfo"
- name="diagnosticInfo" />
- <input type="hidden" id="missedChanges" name="missedChanges" />
-</form>
-
-<form id="newpad"
- name="newpad"
- action="/ep/pad/newpad"
- target="_blank"
- style="display: none;">
-</form>
diff --git a/etherpad/src/templates/pad/pad_download_link.ejs b/etherpad/src/templates/pad/pad_download_link.ejs
deleted file mode 100644
index e05d7d0..0000000
--- a/etherpad/src/templates/pad/pad_download_link.ejs
+++ /dev/null
@@ -1,27 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><%
-
-var host = request.host;
-helpers.addToHead('<meta http-equiv="refresh" content="0;url=http://'+host+'/'+padId+'" />');
-
-%>
-
-<div id="refreshpage">
- <h1>Etherpad</h1>
-
- <p>This pad document, <a href="http://<%= host %>/<%= padId %>"><%= padId %></a>, is stored on <a href="http://<%= host %>"><%= host %></a>. Please click the link below to access this pad.</p>
-
- <a style="size: 200%; text-align: center;" href="http://<%= host %>/<%= padId %>">http://<%= host %>/<%= padId %></a>
-
-</div> \ No newline at end of file
diff --git a/etherpad/src/templates/pad/padfull_body.ejs b/etherpad/src/templates/pad/padfull_body.ejs
deleted file mode 100644
index 41a100c..0000000
--- a/etherpad/src/templates/pad/padfull_body.ejs
+++ /dev/null
@@ -1,32 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><div id="padfullpage" class="fpcontent">
-
-<h1>Pad is Full!</h1>
-
-<div id="msg">
-
-<div id="padurlwrap">
-<p><tt id="padurl">http://<%= request.host %>/<%= padId %></tt></p>
-</div>
-
-<p>Sorry, only <%= maxUsersPerPad %> people are allowed to edit a
-single pad at the same time in the free version of EtherPad.</p>
-
-<p>Please see our <a href="http://etherpad.com/ep/about/pricing">pricing plans</a> for
-information about having more than <%= maxUsersPerPad %>
-collaborators.</p>
-
-</div>
-
-</div>
diff --git a/etherpad/src/templates/pad/padslider_body.ejs b/etherpad/src/templates/pad/padslider_body.ejs
deleted file mode 100644
index 51a9e84..0000000
--- a/etherpad/src/templates/pad/padslider_body.ejs
+++ /dev/null
@@ -1,41 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><%
- helpers.setHtmlTitle(toHTML("Time Slider"));
- helpers.setBodyId("padsliderbody");
- helpers.includeCss("etherpad.css");
- //helpers.includeCss("jqueryui/theme/ui.all.css");
- helpers.setRobotsPolicy({index: false, follow: false});
- helpers.includeJQuery();
- //helpers.includeJs("jquery-ui-slider-1.5.3.js");
- helpers.includeJs("json2.js");
- helpers.includeJs("timeslider.js");
-
- function dfmt(t) {
- var d = new Date(t);
- return d.toString();
- }
-%>
-
-<!-- <div id="sliderui"></div> -->
-<p>Powered by <a href="/">EtherPad</a>.</p><br />
-<div id="controls">
-<a href="<%= request.url %>#" class="prev">prev</a> /
-<a href="<%= request.url %>#" class="next">next</a> &nbsp; &nbsp;
-<a href="<%= request.url %>#" class="play">play</a> /
-<a href="<%= request.url %>#" class="stop">stop</a> &nbsp; &nbsp;
-seek to #<input class="entry" type="text" size="6"/>
-<div id="currevdisplay"><span class="min">0</span> --- <span class="cur">0</span> --- <span class="max">0</span></div>
-</div>
-
-<div id="stuff">Loading...</div>
diff --git a/etherpad/src/templates/pad/total_users_exceeded.ejs b/etherpad/src/templates/pad/total_users_exceeded.ejs
deleted file mode 100644
index 7ac7e1b..0000000
--- a/etherpad/src/templates/pad/total_users_exceeded.ejs
+++ /dev/null
@@ -1,29 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><div class="fpcontent"
- style="font-family: Verdana, sans-serif; margin-top: 2em; border: 1px solid #ccc; padding: 1em; background: #eee;">
-
- <h1>EtherPad Server Is Full</h1>
-
- <p>Sorry, this EtherPad server is only licensed to service
- <%= userQuota %> active users
- within a <%= activeUserWindowHours %>-hour period,
- and that quota is currently full.</p>
-
- <p>Please contact your server administrator and ask him or her to
- purchase a license with additional users.</p>
-
- <a href="/">&laquo; Home</a>
-
-</div>
-
diff --git a/etherpad/src/templates/pro-help/billing.ejs b/etherpad/src/templates/pro-help/billing.ejs
deleted file mode 100644
index 269d37b..0000000
--- a/etherpad/src/templates/pro-help/billing.ejs
+++ /dev/null
@@ -1,45 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %>
-<h1>Account Quotas and Billing</h1>
-
-<p>
-EtherPad Professional Edition allows you to create accounts for members
-of your team. Account-holders may sign in at
-<tt>your-domain.etherpad.com</tt>.
-</p>
-
-<p>You may have up to <%= numFreeAccounts %> accounts for free. Once you
-try to add more accounts, you will be prompted to enter payment
-information. Above <%= numFreeAccounts %> accounts, you will be charged
-$<%= pricePerAccount %> per account per month. For example, to have <%=
-numFreeAccounts+1 %> accounts will cost a total of $<%= pricePerAccount *
-(numFreeAccounts+1) %> per month.</p>
-
-<p>You are billed at the end of your monthly billing cycle, so if you
-start on January 1st, you will not be billed until February 1st. To
-compute the total amount charged at the end of the month, we use the
-<b>maximum number of accounts that existed throughout the month</b>. So
-if you create 10 accounts, but then delete 3 before the end of the month,
- you will still be charged for 10 at the end of the month. Likewise, if
- you create 10 accounts, delete them all, and create 10 new accounts,
- you will be charged for 10 accounts.</p>
-
-<p>EtherPad lets you to collaborate with <b>guests</b> in
-addition to account-holders. Guests are users who do not have accounts
-but join you in public pads on your site. You can always have unlimited
-guest collaborators, and you are not ever charged for guests. You are
-only charged for account-holders.</p>
-
-
-
diff --git a/etherpad/src/templates/pro-help/essentials.ejs b/etherpad/src/templates/pro-help/essentials.ejs
deleted file mode 100644
index a1bcc87..0000000
--- a/etherpad/src/templates/pro-help/essentials.ejs
+++ /dev/null
@@ -1,18 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %>
-<h1>EtherPad Professional Essentials</h1>
-
-
-
-
diff --git a/etherpad/src/templates/pro/account/create-admin-account.ejs b/etherpad/src/templates/pro/account/create-admin-account.ejs
deleted file mode 100644
index 2a6c9f8..0000000
--- a/etherpad/src/templates/pro/account/create-admin-account.ejs
+++ /dev/null
@@ -1,37 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><% helpers.includeCss("pro/account.css") %>
-
-<div class="fpcontent">
- <div class="account-container">
-
- <h3>Welcome to your own EtherPad server!</h3>
-
- <p>To get started, please create an administrator account. This
- account will also be the primary admin contact for this
- system.</p>
-
- <%= errorDiv() %>
-
- <%= renderAccountForm('create-admin-account', [
- {title: "Create Admin Account"},
- {text: "fullName", label: "Full Name:"},
- {text: "email", label: "Email:"},
- {password: "password", label: "Password:"},
- {password: "passwordConfirm", label: "Confirm Password:"},
- {submit: "Create Account"}
- ]) %>
-
- </div>
-</div>
-
diff --git a/etherpad/src/templates/pro/account/global-multi-domain-recover-email.ejs b/etherpad/src/templates/pro/account/global-multi-domain-recover-email.ejs
deleted file mode 100644
index d2eb4de..0000000
--- a/etherpad/src/templates/pro/account/global-multi-domain-recover-email.ejs
+++ /dev/null
@@ -1,27 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %>
-Dear <%= accountList[0].fullName %>,
-
-We received a request to recover the EtherPad password for "<%=
-email %>. We found multiple accounts linked to this email address.
-Please choose one of the following URLs to proceed with recovering the
-password for that EtherPad site:
-
-<% for (var i = 0; i < accountList.length; i++) { %>
-<%= recoverLink(accountList[i], domainList[i]) %>
-<% } %>
-
---
-If you did not request a password reset, simply ignore this email.
-
diff --git a/etherpad/src/templates/pro/account/guest-knock.ejs b/etherpad/src/templates/pro/account/guest-knock.ejs
deleted file mode 100644
index 44c69c0..0000000
--- a/etherpad/src/templates/pro/account/guest-knock.ejs
+++ /dev/null
@@ -1,27 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><% helpers.includeJQuery() %>
-<% helpers.includeJs("pro/guest-knock-client.js") %>
-<% helpers.includeCss("pro/account.css") %>
-
-<div id="guest-knock-box">
- <p>
- <img src="/static/img/misc/status-ball.gif">
- Waiting for approval...
- </p>
-</div>
-
-<div id="guest-knock-denied">
- Access Denied.
-</div>
-
diff --git a/etherpad/src/templates/pro/account/signin-guest.ejs b/etherpad/src/templates/pro/account/signin-guest.ejs
deleted file mode 100644
index 621c381..0000000
--- a/etherpad/src/templates/pro/account/signin-guest.ejs
+++ /dev/null
@@ -1,51 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><% helpers.includeCss("pro/account.css") %>
-<% helpers.includeJQuery() %>
-<% helpers.includeJs("pro/signin-client.js") %>
-<% helpers.setHtmlTitle("EtherPad: Sign In") %>
-
-<div class="fpcontent">
- <div class="account-container">
-
- <form id="guest-signin-form"
- action="<%= request.path + '?' + request.query %>" method="post"
- style="border: 1px solid #5a5; background: #efe; padding: 1em;">
-
- <div style="font-weight: bold;">Guest Sign In:</div>
-
- <% if (errorMessage) { %>
- <div style="margin: 1em 0; padding: 1em; border: 1px solid red; background: #fee;">
- <%= errorMessage %>
- </div>
- <% } %>
-
- <p>Enter your name to be displayed to other users:</p>
- <input id="guestDisplayName" type="text" name="guestDisplayName" value="<%= guestName
- %>" />
- <input type="hidden" name="localPadId" value="<%= localPadId %>" />
-
- <input type="submit" value="Request Access" />
-
- </form>
-
- <form id="account-signin-choice"
- method="get"
- action="/ep/account/sign-in">
- <input type="hidden" name="guest" value="1" />
- <input type="hidden" name="padId" value="<%= toHTML(localPadId) %>" />
- Account holders: <button>Sign in</button>
- </form>
- </div>
-</div>
-
diff --git a/etherpad/src/templates/pro/admin/admin.ejs b/etherpad/src/templates/pro/admin/admin.ejs
deleted file mode 100644
index f8e1562..0000000
--- a/etherpad/src/templates/pro/admin/admin.ejs
+++ /dev/null
@@ -1,15 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %>
-Please select an option from the left.
-
diff --git a/etherpad/src/templates/pro/admin/billing-invoices.ejs b/etherpad/src/templates/pro/admin/billing-invoices.ejs
deleted file mode 100644
index a3a17d8..0000000
--- a/etherpad/src/templates/pro/admin/billing-invoices.ejs
+++ /dev/null
@@ -1,45 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><%
- helpers.includeCss('store/ondemand-billing.css');
-%>
-
-<%
-function displayInvoice(invoice) { %>
- <tr>
- <td><%= formatDate(invoice.time) %></td>
- <td><%= invoice.id %></td>
- <td><%= invoice.status == 'paid' ? "Paid" : (invoice.status == 'pending' ? "<strong>Pending</strong>" : (invoice.status == 'refunded' ? "<em>Refunded</em>" : invoice.status)) %></td>
- <td><%= invoice.users %></td>
- <td>US $<%= dollars(centsToDollars(invoice.amt)) %></td>
- <td><a href="<%= request.path %>?id=<%= invoice.id %>">View</a></td>
- </tr>
-<% } %>
-
-<h3 class="top">Past Invoices</h3>
-
-<% if (invoices.length == 0) { %>
- <p class="informational">No old invoices.</p>
-<% } else { %>
- <table class="invoicelist">
- <tr>
- <th>Date</th>
- <th>Invoice Number</th>
- <th>Status</th>
- <th>Number of users</th>
- <th>Cost</th>
- <th>&nbsp;</th>
- </tr>
- <% invoices.forEach(displayInvoice); %>
- </table>
-<% } %> \ No newline at end of file
diff --git a/etherpad/src/templates/pro/admin/pne-config.ejs b/etherpad/src/templates/pro/admin/pne-config.ejs
deleted file mode 100644
index 56fe68d..0000000
--- a/etherpad/src/templates/pro/admin/pne-config.ejs
+++ /dev/null
@@ -1,33 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><h3 class="top">Private Server Configuration</h3>
-
-<p>Your private EtherPad server can be configured using either command-line arguments (of the
-form --<i>argName</i>=<i>value</i>), or by adding the options to the file
-<tt>data/etherpad.properties</tt>.</p>
-
-<p>Learn more about server options in the <a href="/ep/pne-server-manual/">PNE Server Manual</a>.</p>
-
-<h3>Current Config Values</h3>
-
-<table id="pne-config">
-<tr><th with="1%">Option Name</th><th width="99%">Current Value</th></tr>
-<% propKeys.forEach(function(k) { %>
-<tr><td class="key"><%= k %></td><td class="val"><%= appjetConfig[k] %></td></tr>
-<% }) %>
-</table>
-
-
-
-
-
diff --git a/etherpad/src/templates/pro/admin/pne-dashboard.ejs b/etherpad/src/templates/pro/admin/pne-dashboard.ejs
deleted file mode 100644
index 6b9b456..0000000
--- a/etherpad/src/templates/pro/admin/pne-dashboard.ejs
+++ /dev/null
@@ -1,40 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><% helpers.setHtmlTitle("EtherPad Private Server Dashboard") %>
-
-<h3 class="top">User Quota</h3>
-
-<p>Your maximum daily unique user quota is: <b><%= userQuota %></b></p>
-<p>So far today, there have been <b><%= todayActiveUsers %></b> applied against this quota.</p>
-
-<h3>Uptime</h3>
-
-This server has been running for <b><%= renderUptime() %></b>.
-
-<h3>HTTP Response Codes</h3>
-
-<%= renderResponseCodes() %>
-
-<h3>Current Realtime Pad Connections</h3>
-
-<%= renderPadConnections() %>
-
-<h3>Realtime Transport Performance</h3>
-
-<%= renderTransportStats() %>
-
-<div style="font-size: 12px; text-align: right;">
- <a style="color: #ccc;" href="/ep/admin/pne-advanced">*</a>
-</div>
-
-
diff --git a/etherpad/src/templates/pro/admin/pne-license-manager.ejs b/etherpad/src/templates/pro/admin/pne-license-manager.ejs
deleted file mode 100644
index f160be0..0000000
--- a/etherpad/src/templates/pro/admin/pne-license-manager.ejs
+++ /dev/null
@@ -1,132 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><% helpers.setHtmlTitle("EtherPad PNE License Manager"); %>
-<% helpers.includeJQuery() %>
-<% helpers.includeJs("etherpad.js") %>
-
-<div id="lm">
-
- <% if (isExpired) { %>
-
- <div class="lm-error-msg">
- <p>Your evaluation license has expired!</p>
- <p>Please contact <%= helpers.oemail("sales") %> or visit the <a
- href="http://etherpad.com/ep/about/pricing-eepnet">pricing page on etherpad.com</a>
- to purchase a license key.</p>
- </div>
-
- <% } %>
-
- <% if (isTooOld) { %>
-
- <div class="lm-notice-msg">
- <p>The version of EtherPad you are running (<%= runningVersionString %>) is too old.
- Please update to version <%= licenseVersionString %> or newer by <a
- href="http://etherpad.com/ep/store/eepnet-download">downloading the latest version on
- etherpad.com</a>.</p>
- </div>
-
- <% } %>
-
- <% if (errorMessage) { %>
- <div class="lm-error-msg">
- <p><%= errorMessage %></p>
- </div>
- <% } %>
-
- <% if (licenseInfo && !edit) { %>
-
- <h3 class="top">License Info:</h3>
-
- <div id="lm-status">
- <table>
- <tr>
- <td width="1%" align="right">Licensed To: </td>
- <td width="99%"><b><%= licenseInfo.personName %></b></td>
- </tr>
-
- <tr>
- <td align="right">Organization: </td>
- <td><b><%= licenseInfo.organizationName %></b></td>
- </tr>
-
- <tr>
- <td align="right">Software Edition: </td>
- <td><b><%= licenseInfo.editionName %></b></td>
- </tr>
-
- <tr>
- <td align="right">Maximum Users: </td>
- <td><b><%= licenseInfo.userQuota %></b></td>
- </tr>
-<!--
- <tr>
- <td align="right">Licensed PNE Version: </td>
- <td><b><%= licenseVersionString %>+</b></td>
- </tr>
--->
- <tr>
- <td align="right">Expires: </td>
- <td><b><%= licenseInfo.expiresDate ? licenseInfo.expiresDate.toString() : "never" %></b></td>
- </tr>
- </table>
-
- </div>
-
- <div id="lm-edit-button-wrap">
- <form action="<%= request.path %>edit" method="get">
- <input type="submit" name="btn" value="Edit License Info" />
- </form>
- </div>
-
- <% } %>
-
- <% if (isExpired || !licenseInfo || edit) { %>
-
- <h3 class="top">Enter New License Info:</h3>
-
- <% if (isUnlicensed) { %>
- <p>Before you can use this copy of EtherPad Private Network Edition, you must first
- enter a valid license. Free trial licenses can be obtained <a
- target="_blank"
- href="https://etherpad.com/ep/store/eepnet-eval-signup">obtained here</a>.
- </p>
- <% } %>
-
- <form action="<%= request.path %>" method="post">
- <div id="lm-edit">
-
- <p><b>Name:</b></p>
- <input style="width: 100%;" type="text" name="personName"
- value="<%= toHTML(oldData.personName || "") %>" />
-
- <p><b>Organization:</b></p>
- <input style="width: 100%;" type="text" name="orgName"
- value="<%= toHTML(oldData.orgName || "") %>" />
-
- <p><b>License Key:</b></p>
- <textarea style="width: 100%; height: 60px;"
- name="licenseString"><%= toHTML(oldData.licenseString || "") %></textarea>
-
- </div>
-
- <div id="lm-edit-submit-wrap">
- <input type="submit" name="submit" value="Submit" />
- <input type="submit" name="cancel" value="Cancel" />
- </div>
- </form>
-
- <% } %>
-
-</div><!-- /lm -->
-
diff --git a/etherpad/src/templates/pro/admin/pne-shell.ejs b/etherpad/src/templates/pro/admin/pne-shell.ejs
deleted file mode 100644
index f398b15..0000000
--- a/etherpad/src/templates/pro/admin/pne-shell.ejs
+++ /dev/null
@@ -1,33 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><% helpers.setHtmlTitle("Shell") %>
-
-<p style="margin-top: 0; color: red;">Warning! Be careful with this page.</p>
-
-<h3 class="top">Shell</h3>
-
-<p>Enter command:</p>
-
-<form action="<%= request.path %>" method="post">
- <textarea name="cmd" style="width: 100%; height: 140px;"><%= oldCmd %></textarea>
- <input type="submit" value="Run" />
-</form>
-
-<% if (result) { %>
- <h3>Result</h3>
- <div style="font-family: monospace; border: 1px solid #66f; padding: 1em;">
- <%= result %>
- </div>
- <p style="color: #888; font-family: monospace; font-size: .7em;">Computed in <%= elapsedMs %>ms.</p>
-<% } %>
-
diff --git a/etherpad/src/templates/pro/admin/pro-config.ejs b/etherpad/src/templates/pro/admin/pro-config.ejs
deleted file mode 100644
index 32cb610..0000000
--- a/etherpad/src/templates/pro/admin/pro-config.ejs
+++ /dev/null
@@ -1,55 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %>
-<h3 class="top">Application Configuration</h3>
-
-<%= messageDiv() %>
-
-<form action="<%= request.path %>" method="post">
-
-<table id="t-pro-config">
- <tr>
- <th width="50%" valign="top">Site Name (appears in
- the header of all pages):</th>
- <td width="50%" valign="top">
- <input type="text" name="siteName" value="<%=
- config.siteName %>" id="siteName" />
- </td>
- </tr>
-
- <tr>
- <th valign="top">Always require all users on this domain to use secure
- (HTTPS) connections?</th>
- <td valign="top">
- <input type="checkbox" id="alwaysHttps" name="alwaysHttps"
- <%= config.alwaysHttps ? 'checked="on"' : '' %> />
- </td>
- </tr>
-
- <tr>
- <th valign="top">Default pad text:</th>
- <td valign="top">
- <textarea name="defaultPadText" id="defaultPadText"><%=
- config.defaultPadText %></textarea>
- </td>
- </tr>
-
- <tr>
- <td colspan="2" style="text-align: right;">
- <input type="submit" name="save" value="Apply" />
- </td>
- </tr>
-</table>
-
-</form>
-
diff --git a/etherpad/src/templates/pro/admin/single-invoice.ejs b/etherpad/src/templates/pro/admin/single-invoice.ejs
deleted file mode 100644
index aeab184..0000000
--- a/etherpad/src/templates/pro/admin/single-invoice.ejs
+++ /dev/null
@@ -1,47 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><%
- helpers.includeCss('store/ondemand-billing.css');
-%>
-
-<h3 class="top">Past Invoices</h3>
-
-<p>Invoice #<%= invoice.id %>, dated <%= formatDate(invoice.time) %>.</p>
-
-<table class="billingsummary">
- <tr>
- <th>Invoice status</th>
- <td><%= invoice.status == 'paid' ? "Paid" : (invoice.status == 'pending' ? "<strong>Pending</strong>" : (invoice.status == 'refunded' ? "<em>Refunded</em>" : invoice.status)) %></td>
- </tr>
- <tr>
- <th>Number of users</th>
- <td><%= invoice.users %></td>
- </tr>
- <tr>
- <th>Cost</th>
- <td>US $<%= dollars(centsToDollars(invoice.amt)) %></td>
- </tr>
- <% if (transaction) { %>
- <tr>
- <th>Paid on</th>
- <td><%= formatDate(transaction.time) %></td>
- </tr>
- <tr>
- <th>Paid using</th>
- <td><%= transaction.payInfo %></td>
- </tr>
- <% } %>
-</table>
-
-<p class="returnlink"><a href="<%= request.path %>">&laquo; back to invoice list</a></p>
-
diff --git a/etherpad/src/templates/pro/pro-payment-required.ejs b/etherpad/src/templates/pro/pro-payment-required.ejs
deleted file mode 100644
index 3649990..0000000
--- a/etherpad/src/templates/pro/pro-payment-required.ejs
+++ /dev/null
@@ -1,51 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><% helpers.includeJQuery() %>
-<% helpers.includeJs("etherpad.js") %>
-<% helpers.includeCss("pro/payment-required.css") %>
-
-<div class="fpcontent payment-required">
-
-
-<div id="outside">
-<div id="inside">
-
- <h1>Payment Required</h1>
-
- <div id="message"><%= message %></div>
- <br/>
-
- <% if (isAdmin) { %>
- <a class="manage-billing-button" href="/ep/admin/billing/">
- Manage Billing Info
- </a>
- <% } else { %>
- <p>Please contact one of the following site administrator to
- set up a billing profile on <%= request.domain %>:</p>
-
- <ul>
- <% adminList.forEach(function(a) { %>
- <li><%= a.fullName %>&nbsp;&nbsp;&lt;<%= TT(a.email)
- %>&gt;</li>
- <% }); %>
- </ul>
-
- <% } %>
-
- <br/><br/>
- <p>Questions? Contact <%= helpers.oemail("support") %>.</p>
-
-</div>
-</div>
-
-
diff --git a/etherpad/src/templates/statistics/stat_page.ejs b/etherpad/src/templates/statistics/stat_page.ejs
deleted file mode 100644
index 22277b3..0000000
--- a/etherpad/src/templates/statistics/stat_page.ejs
+++ /dev/null
@@ -1,89 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><%
-
-helpers.includeCss('admin/admin-stats.css');
-helpers.includeJQuery();
-helpers.includeJs('statpage.js');
-
-%>
-
-<a id="backtoadmin" href="/ep/admin/">&laquo; back to admin</a>
-
-<div id="topnav">
- <ul>
- <% statCategoryNames.forEach(function(catName) {
- %> <li>
- <a class="navlink" id="link<%= catName %>" href="<%= request.path %>#<%= catName %>"><%= catName %></a>
- </li> <%
- }); %>
- </ul>
-</div>
-
-<div>&nbsp;</div>
-
-<%= helpers.clearFloats() %>
-
-<%= optionsForm %>
-
-<% function formatLatest(latest) {
- if (typeof(latest) == 'string') {
- return latest;
- } else {
- return '<table class="latesttable" border="0" cellpadding="0" cellspacing="0">'+
- latest.map(function(x) { return "<tr><td>"+x.value+"</td><td>"+x.description+"</td></tr>"; }).join("\n")+
- "</table>";
- }
-}
-%>
-
-<%
-function displayStat(statObject) {
- %>
- <div class="statentry <%= statObject.specialState %>" id="<%= statObject.id %>">
- <h2 class="title"><%= statObject.name %></h2>
- <div class="statbody">
- <h3><%= statObject.displayName %></h3>
- <table>
- <tr>
- <td class="graph">
- <%= statObject.graph %>
- <% if (statObject.dataLinks) { %>
- <div class="datalinks">(data for <%= statObject.dataLinks.join(", ") %>)</div>
- <% } %>
- </td>
- <td class="latest">
- <h4>Latest values:</h4>
- <%= formatLatest(statObject.latest) %>
- </td>
- </tr>
- </table>
- </div>
- </div>
- <%
-}
-
-function displayCategory(categoryName) {
- %>
- <div class="categorywrapper" id="box<%= categoryName %>">
- <%
- categoriesToStats[categoryName].forEach(displayStat);
- %>
- </div>
- <%
-}
-
-statCategoryNames.forEach(displayCategory);
-
-%>
-
diff --git a/etherpad/src/templates/store/csc-help.ejs b/etherpad/src/templates/store/csc-help.ejs
deleted file mode 100644
index 3623fac..0000000
--- a/etherpad/src/templates/store/csc-help.ejs
+++ /dev/null
@@ -1,23 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><html>
-<body>
-
-<p>The CSC (or CVC) is the 3-digit number printed on the back of your card.
-For American Express, it's the 4-digit number on the front.</p>
-
-<img src="/static/img/billing/csc-help.gif" alt="cc back" />
-
-</body>
-</html>
-
diff --git a/etherpad/src/templates/store/eepnet-checkout/billing-info.ejs b/etherpad/src/templates/store/eepnet-checkout/billing-info.ejs
deleted file mode 100644
index 69e0ead..0000000
--- a/etherpad/src/templates/store/eepnet-checkout/billing-info.ejs
+++ /dev/null
@@ -1,183 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><%
- if (!cart.billingCountry) {
- cart.billingCountry = "US";
- }
- helpers.includeJQuery();
- helpers.includeJs("billing_shared.js");
- helpers.includeJs("billing.js");
-
- function classesPlusError(classes, id) {
- return (classes || []).concat(errorIfInvalid(id) || []).join(' ');
- }
-%>
-
-<% function textRow(id, label, classes, notBillingField) {
- var val = (cart[id] || "");
- var maxlen=60;
- var border;
- if (id == "billingCCNumber") {
- if (billing.validateCcNumber(val)) {
- border = "greenborder";
- } else if (billing.validateCcLength(val)) {
- border = "redborder";
- }
- val = obfuscateCC(val);
- maxlen = 16;
- }
- var classString = classesPlusError((notBillingField?[]:['billingfield']).concat(classes), id);
- return TR({className: classString},
- TD({className: 'pcell'},
- LABEL({htmlFor: id}, label+(label.length > 0 ? ":" : ''))),
- TD({className: 'tcell'},
- INPUT({type: 'text', name: id, size:35, maxlength:maxlen,
- value: val,
- className: border})));
- } %>
-
-<h4>Your name:</h4>
-<table class="billingtable">
- <%= textRow("billingFirstName", "First Name", [], true) %>
- <%= textRow("billingLastName", "Last Name", [], true) %>
-</table>
-
-<h4>Payment information:</h4>
-
-<% if (request.scheme == 'https') { %>
- <div class='secure'>
- <p>Your payment information will be sent securely.</p>
- </div>
-<% } %>
-
-<%
- function purchaseType(id, title) {
- var sel;
- if (! cart.billingPurchaseType) {
- sel = (id == 'creditcard');
- } else {
- sel = (cart.billingPurchaseType == id);
- }
- %>
- <span class="paymentbutton">
- <input type="radio" value="<%= id %>" name="billingPurchaseType" id="purchase<%= id %>" <%= sel ? 'checked="checked"' : "" %> style="display: inline-block; vertical-align: middle;"/>
- <label for="purchase<%= id %>">
- <img src="/static/img/billing/<%= id %>.gif" style="display: inline-block; vertical-align: middle;" /> <span style="display: inline-block; vertical-align: middle;"><%= title %></span>
- </label>
- </span>
- <%
- }
-%>
-
-<div id="billingselect">
-<p class="<%= errorIfInvalid("billingPurchaseType") %>">Pay using:
-<% purchaseType('creditcard', 'Credit Card'); %>
-<% purchaseType('invoice', 'Invoice'); %>
-<% purchaseType('paypal', 'PayPal'); %>
-</p>
-</div>
-
-<table class="billingtable">
- <%= textRow("billingCCNumber", "Credit Card Number", ['creditcardreq']) %>
-
-<% function cardInput(cctype) {
- var classes = [];
- if (cart.billingCCNumber) {
- if (cctype == billing.getCcType(cart.billingCCNumber)) {
- classes.push("ccimageselected");
- }
- }
- classes.push("ccimage");
- var img = IMG({
- src: "/static/img/billing/"+cctype+".gif",
- alt: cctype,
- className: classes.join(" "),
- style: "vertical-align: middle",
- id: "img"+cctype});
- return img;
- } %>
-
- <tr class="billingfield creditcardreq">
- <td class="pcell">&nbsp;</td>
- <td valign="center">
- <div id="ccimages">
- <% ["visa", "mc", "disc", "amex"].forEach(function(t) { %>
- <%= cardInput(t) %>
- <% }); %>
- </div>
- </td>
- </tr>
-
- <tr class="billingfield creditcardreq <%= errorIfInvalid("billingMeta") %>">
- <td class="pcell">Expiration (MM/YY):</td>
- <td>
- <input type="text" name="billingExpirationMonth" size="2" maxlength="2"
- value="<%= (cart.billingExpirationMonth || '') %>" />
- /
- <input type="text" name="billingExpirationYear" size="2" maxlength="2"
- value="<%= (cart.billingExpirationYear || '') %>" />
- &nbsp;&nbsp;&nbsp;&nbsp;CSC/CVC:
- <input type="text" name="billingCSC" size="4" maxlength="4"
- value="<%= (cart.billingCSC || '') %>"/>
- <a target="_blank" href="//<%= getFullSuperdomainHost() %>/ep/store/csc-help" id="cschelp">what's this?</a>
- </td>
- </tr>
-
- <tr class="billingfield creditcardreq">
- <td colspan=2 style="text-align: center; font-weight: normal;">(Be sure to enter your <strong>credit card billing address</strong> below.)</td>
- </tr>
-
- <tr class="<%= classesPlusError(['billingfield', 'creditcardreq', 'invoicereq'], 'billingCountry') %>">
- <td class="pcell">Country:</td>
- <td>
- <select id="billingCountry" name="billingCountry">
- <% countryList.forEach(function(c) { %>
- <%= ((c[0] == cart.billingCountry) ?
- OPTION({value: c[0], selected: true}, c[1]) :
- OPTION({value: c[0]}, c[1])) %>
- <% }); %>
- </select>
- </td>
- </tr>
-
- <%= textRow("billingAddressLine1", "Address", ['creditcardreq', 'invoicereq']) %>
- <%= textRow("billingAddressLine2", "", ['creditcardreq', 'invoicereq']) %>
- <%= textRow("billingCity", "City", ['creditcardreq', 'invoicereq']) %>
-
- <tr class="<%= classesPlusError(['billingfield', 'creditcardreq', 'invoicereq', 'usonly'], 'billingState') %>">
- <td class="pcell">State:</td>
- <td>
- <select id="billingState" name="billingState">
- <% usaStateList.forEach(function(s) { %>
- <%= ((s == cart.billingState) ?
- OPTION({value: s, selected: true}, s) :
- OPTION({value: s}, s)) %>
- <% }); %>
- </select>
- </td>
- </tr>
- <%= textRow("billingProvince", "Province", ['creditcardreq', 'invoicereq', 'intonly'])%>
- <%= textRow("billingZipCode", "Zip Code", ['creditcardreq', 'invoicereq', 'usonly']) %>
- <%= textRow("billingPostalCode", "Postal Code", ['creditcardreq', 'invoicereq', 'intonly'])%>
- <tr class="billingfield paypalreq"><td colspan=2 class="firstcell">Click "<%= billingButtonName %>" below to continue with PayPal.</td></tr>
-</table>
-
-<% if (showCouponCode) { %>
- <h4>Optional information:</h4>
- <table class="billingtable">
- <%= textRow("billingReferralCode", "Referral Code", [], true) %>
- </table>
-<% } %>
-
-
-<%= billingFinalPhrase %> \ No newline at end of file
diff --git a/etherpad/src/templates/store/eepnet-checkout/cart.ejs b/etherpad/src/templates/store/eepnet-checkout/cart.ejs
deleted file mode 100644
index 147ff1b..0000000
--- a/etherpad/src/templates/store/eepnet-checkout/cart.ejs
+++ /dev/null
@@ -1,119 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %>
-<div id="<%= shoppingcartid %>" class="shoppingcart">
- <table cellspacing="0" cellpadding="0">
- <tr>
- <th>Item</th>
- <th class="pcell">Cost</th>
- </tr>
-
- <% if (! ('baseCost' in cart) && ! ('supportCost' in cart)) { %>
- <tr>
- <td colspan="2" class="noitems">
- <em>Nothing selected.</em>
- </td>
- </tr>
- <% } %>
-
- <% if (cart.baseCost) { %>
- <tr class="base">
- <td>
- <span class="item">Etherpad Private Network</span><br />
- <span class="desc"><%= cart.numUsers %> users
- <% if (editable) { %>
- <span class="editlink">(<a href="<%= pathTo("purchase") %>">edit</a>)</span>
- <% } %>
- </span>
- </td>
- <td class="pcell">US$<%= dollars(cart.baseCost) %></td>
- </tr>
- <% if (cart.couponProductPctDiscount) { %>
- <tr class="basediscount refer">
- <td>
- <span class="desc">Referral - <%= cart.couponProductPctDiscount %>% savings</span>
- </td>
- <td class="pcell">-US$<%= dollars(cart.productReferralDiscount) %></td>
- </tr>
- <% } %>
- <% } %>
-
- <% if (cart.supportCost) { %>
- <tr class="support">
- <td>
- <span class="item">Support Contract
- <% if (editable) { %>
- <span class="editlink">(<a href="<%= pathTo("support-contract") %>">edit</a>)</span>
- <% } %>
- </span>
- <br />
- <span class="desc">1 year</span>
- </td>
- <td class="pcell">US$<%= dollars(cart.supportCost) %></td>
- </tr>
- <% if (cart.couponSupportPctDiscount) { %>
- <tr class="supportdiscount refer">
- <td>
- <span class="desc">Referral - <%= cart.couponSupportPctDiscount %>% savings</span>
- </td>
- <td class="pcell">-US$<%= dollars(cart.supportReferralDiscount) %></td>
- </tr>
- <% } %>
- <% } else if (cart.baseCost) { %>
- <tr class="support">
- <td>
- <span class="item">No Support Contract
- <% if (editable) { %>
- <span class="editlink">(<a href="<%= pathTo("support-contract") %>">edit</a>)</span>
- <% } %>
- </span>
- </td>
- <td class="pcell">US$0.00</td>
- </tr>
- <% } %>
-
- <% if (cart.freeUserCount) { %>
- <tr class="referralbonus refer">
- <td>
- <span class="item">Bonus Users</span><br />
- <span class="desc">
- Referral - <%= cart.freeUserCount %> free
- user<%= (cart.freeUserCount == 1 ? '' : "s") %>
- </span>
- </td>
- <td class="pcell">US$0.00</td>
- </tr>
- <% } %>
-
- <tr class="spacer"><td>&nbsp;</td></tr>
-
- <%
- var pctDiscount = cart.couponTotalPctDiscount;
- var hasSubtotal = pctDiscount > 0;
- %>
- <% if (hasSubtotal) { %>
- <tr class="subtotal">
- <td>Subtotal</td>
- <td class="pcell">US$<%= dollars(cart.subTotal) %></td>
- </tr>
- <tr class="referraldiscount refer">
- <td>Referral - <%= pctDiscount %>% savings</td>
- <td class="pcell">-US$<%= dollars(cart.totalReferralDiscount) %></td>
- </tr>
- <% } %>
- <tr class="total<%= (hasSubtotal ? '' : ' withoutsubtotal') %>">
- <td>Total</td>
- <td class="pcell">US$<%= dollars(cart.total) %></td>
- </tr>
- </table>
-</div> \ No newline at end of file
diff --git a/etherpad/src/templates/store/eepnet-checkout/checkout-template.ejs b/etherpad/src/templates/store/eepnet-checkout/checkout-template.ejs
deleted file mode 100644
index 817f0eb..0000000
--- a/etherpad/src/templates/store/eepnet-checkout/checkout-template.ejs
+++ /dev/null
@@ -1,38 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><% helpers.includeCss("store/eepnet-checkout.css"); %>
-<% helpers.includeJQuery() %>
-<% helpers.includeJs("etherpad.js") %>
-<% helpers.setHtmlTitle(title); %>
-
-<%
-var selectCount = 0;
-function select(id, title) {
- var className = 'poslabel';
- if (pageId == id) {
- className += ' current';
- }
- selectCount++;
- return SPAN({className: className}, selectCount+". "+title);
-}
-%>
-
-<div class="fpcontent">
-<div id="<%= pageId %>">
-
- <h2>Private Network Edition: Purchase Online</h2>
-
- <%= helpers.rafterNote() %>
-
-</div><!-- /pageId -->
-</div><!-- /fpcontent -->
diff --git a/etherpad/src/templates/store/eepnet-checkout/confirmation.ejs b/etherpad/src/templates/store/eepnet-checkout/confirmation.ejs
deleted file mode 100644
index 3b38775..0000000
--- a/etherpad/src/templates/store/eepnet-checkout/confirmation.ejs
+++ /dev/null
@@ -1,33 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><%
-helpers.includeJs('confirmation.js');
-%>
-
-<% if (request.params.frompaypal) {
- handlePayPalRedirect();
-} %>
-
-<%= displaySummary(true) %>
-
-<% switch(cart.billingPurchaseType) {
- case 'creditcard': case 'paypal': %>
- <p>If this looks good, click "Purchase" below to complete your purchase.</p>
- <% break;
- case 'invoice': %>
- <p>If this looks good, print this page and mail it along with a check or other
- prearranged payment to:</p><p><strong>AppJet, Inc.<br>Pier 38 - Suite 210<br>The Embarcadero<br>San Francisco, CA 94107</strong></p>
- <% break;
-}
- %>
-
diff --git a/etherpad/src/templates/store/eepnet-checkout/license-info.ejs b/etherpad/src/templates/store/eepnet-checkout/license-info.ejs
deleted file mode 100644
index 4d710f2..0000000
--- a/etherpad/src/templates/store/eepnet-checkout/license-info.ejs
+++ /dev/null
@@ -1,40 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><p>Your license key will be issued to a particular individual at your organization, and will be delivered to the email address you specify below.</p>
-
-<table border="1">
- <tr class="<%= errorIfInvalid('email') %>">
- <td>Email address to receive license key:</td>
- <td><input name="email" type="text"
- value="<%= cart.email %>" /></td>
- </tr>
-
- <tr class="<%= errorIfInvalid('ownerName') %>">
- <td>Name of license owner (your name):</td>
- <td><input name="ownerName" type="text"
- value="<%= cart.ownerName %>" /></td>
- </tr>
-
- <tr class="<%= errorIfInvalid('orgName') %>">
- <td>Organization or company name:</td>
- <td><input name="orgName" type="text"
- value="<%= cart.orgName %>" /></td>
- </tr>
-
- <tr class="<%= errorIfInvalid('licenseAgreement') %> center">
- <td colspan=2>
- <input id="c1" type="checkbox" name="licenseAgreement" <%= (cart.licenseAgreement ? 'checked="checked"' : '') %> />
- <label for="c1">I agree to the <a target="_blank" href="/static/html/eepnet/eepnet-license.html">License</a>.</label>
- </td>
- </tr>
-</table> \ No newline at end of file
diff --git a/etherpad/src/templates/store/eepnet-checkout/purchase.ejs b/etherpad/src/templates/store/eepnet-checkout/purchase.ejs
deleted file mode 100644
index 49cb3bb..0000000
--- a/etherpad/src/templates/store/eepnet-checkout/purchase.ejs
+++ /dev/null
@@ -1,33 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><p>Thank you for choosing to purchase <strong>Enterprise EtherPad Private Network Edition.</strong></p>
-
-<p>A license allows a certain number of concurrent users, at a one-time cost of US $<%= dollars(costPerUser) %> per user with no recurring costs. <a target="_blank" href="/ep/about/pricing-eepnet-users">Learn more about how we count users</a>.</p>
-
-<p>How many users should your license support?</p>
-
-<table>
- <tr class="<%= errorIfInvalid('numUsers') %>">
- <td class="pcell">Number of Users at US $<%= dollars(costPerUser) %>/user:</td>
- <td class="tcell"><input name="numUsers" type="text"
- value="<%= cart.numUsers %>" /></td>
- </tr>
-</table>
-
-<table>
- <tr class="<%= errorIfInvalid('couponCode') %>">
- <td colspan="2" class="pcell">Referral Code (optional):</td>
- <td class="tcell"><input id="couponCode" name="couponCode" type="text"
- maxlength="8" value="<%= cart.couponCode %>" /></td>
- </tr>
-</table>
diff --git a/etherpad/src/templates/store/eepnet-checkout/receipt.ejs b/etherpad/src/templates/store/eepnet-checkout/receipt.ejs
deleted file mode 100644
index 8d3a2a5..0000000
--- a/etherpad/src/templates/store/eepnet-checkout/receipt.ejs
+++ /dev/null
@@ -1,43 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><% if (cart.showStartOverMessage) { %>
- <div class="innererrormsg">
- Your purchase is complete! To purchase another item, please return to the <a href="<%= pathTo('purchase') %>?clearcart=1">purchase page</a>.
- </div>
-<% }
-
-switch(cart.status) {
- case 'success':
- %><p><strong>Thank you for your purchase!</strong> This page serves as your receipt. Please print it for your records. You will receive a copy of this receipt and license key by email shortly.</p><%
- break;
- case 'pending':
- %><p>Your purchase is pending approval by PayPal. Once it clears,
- usually in 2-5 business days, you will receive a copy of this receipt and
- your license key by email.</p><%
- break;
-} %>
-
-<%
- var instructions = "/ep/pne-manual";
- var download = "/ep/store/eepnet-download-nextsteps";
-%>
-
-<p>To install EtherPad Private Network Edition:</p>
-<ul>
- <li><a href="<%= download %>">Download Etherpad: Private Network Edition</a>.</li>
- <li>Read the <a href="<%= instructions %>">EtherPad: Private Network Edition installation instructions</a>.</li>
-</ul>
-
-<p><strong></strong></p>
-
-<%= displaySummary() %>
diff --git a/etherpad/src/templates/store/eepnet-checkout/summary.ejs b/etherpad/src/templates/store/eepnet-checkout/summary.ejs
deleted file mode 100644
index 753873c..0000000
--- a/etherpad/src/templates/store/eepnet-checkout/summary.ejs
+++ /dev/null
@@ -1,91 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><%
-function textRow(tcell, pcell) {
- %><tr>
- <td class="tcell"><%= tcell %></td>
- <td class="pcell"><%= pcell %></td>
- </tr>
- <%
-}
-var keyData = {
- ownerName: cart.ownerName,
- orgName: cart.orgName
-}
-if (cart.licenseKey) {
- var parts = cart.licenseKey.split(":");
- keyData.ownerName = parts[0];
- keyData.orgName = parts[1];
- keyData.key = parts[2];
-
- keyData.keyLine1 = keyData.key.substring(0, keyData.key.length/3);
- keyData.keyLine2 = keyData.key.substring(keyData.key.length/3, 2*keyData.key.length/3);
- keyData.keyLine3 = keyData.key.substring(2*keyData.key.length/3, keyData.key.length);
-}
-
-function makeRows(arr) {
- arr.forEach(function(arr) { textRow(arr[0], arr[1]); });
-}
-%>
-
-<h4>License Information <% if (editable) { %><span class="editlink">(<a href="<%= pathTo("license-info") %>">edit</a>)</span><% } %></h4>
-
-<table>
- <%
- makeRows([
- [ "Administrator name:", keyData.ownerName ],
- [ "Organization/Company:", keyData.orgName ],
- [ "Email address for delivery:", cart.email ],
- [ "Total users:", cart.userCount ]
- ]);
- if (keyData.key) {
- textRow("License key:", keyData.keyLine1+"<BR>"+keyData.keyLine2+"<BR>"+keyData.keyLine3);
- %><!-- key: <%= keyData.key %> --><%
- }
- %>
-</table>
-
-<h4>Payment Information <% if (editable) { %><span class="editlink">(<a href="<%= pathTo("billing-info") %>">edit</a>)</span><% } %></h4>
-
-<table>
- <%
- var isUs = cart.billingCountry == "US";
- switch(cart.billingPurchaseType) {
- case 'creditcard':
- makeRows([
- [ "Credit card number:", obfuscateCC(cart.billingCCNumber) ],
- [ "Expiration date:", cart.billingExpirationMonth+" / 20"+cart.billingExpirationYear ]
- ]);
- // falling through intentional.
- case 'invoice':
- makeRows([
- [ "Purchaser name:", cart.billingFirstName + " " + cart.billingLastName ],
- [ "Purchaser address: ", cart.billingAddressLine1 + "<br>" +
- (cart.billingAddressLine2 ? cart.billingAddressLine2 + "<br>" : "") +
- cart.billingCity + ", " +
- (isUs?cart.billingState:cart.billingProvince) + "<br>" +
- (isUs?cart.billingZipCode:cart.billingPostalCode) +
- (isUs?'':', '+cart.billingCountry) ],
- [ "Invoice number: ", cart.invoiceId ]
- ]);
- break;
- case 'paypal':
- textRow("Paid using:", "PayPal");
- textRow("InvoiceNumber:", cart.invoiceId);
- }
- %>
-</table>
-
-<h4>Summary of Charges</h4>
-
-<%= displayCart("shoppingconfirmation", editable) %>
diff --git a/etherpad/src/templates/store/eepnet-checkout/support-contract.ejs b/etherpad/src/templates/store/eepnet-checkout/support-contract.ejs
deleted file mode 100644
index ff33fda..0000000
--- a/etherpad/src/templates/store/eepnet-checkout/support-contract.ejs
+++ /dev/null
@@ -1,41 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><p>A support contract gives you free upgrades and help directly from the engineers who developed EtherPad. Support contracts cost US $<%= dollars(costPerUser * supportCostPct/100) %> per user per year, with a US $<%= dollars(supportMinCost) %> per year minimum. <a target="_blank" href="/ep/about/pricing-eepnet-support">Learn more about support contracts</a>.</p>
-
-<p>For the <%= cart.numUsers %>-user license you've selected, a support contract costs US $<%= discountedSupportCost() !== undefined ? dollars(discountedSupportCost()) : dollars(supportCost()) %>.
-
-<p>Do you want a support contract?</p>
-
-<table>
- <tr>
- <td>
- <input id="r1" type="radio" name="supportContract" value="true"
- <%= (cart.supportContract == "true") ? "checked" : "" %> />
- </td>
- <td>
- <label for="r1">Yes, I want to purchase a support contract.</label>
- </td>
- </tr>
-
- <tr>
- <td>
- <input id="r2" type="radio" name="supportContract" value="false"
- <%= (cart.supportContract != "true")? "checked" : "" %> />
- </td>
- <td>
- <label for="r2">
- No thanks, I just want the software license.
- </label>
- </td>
- </tr>
-</table> \ No newline at end of file
diff --git a/etherpad/src/templates/store/eepnet_download.ejs b/etherpad/src/templates/store/eepnet_download.ejs
deleted file mode 100644
index 42c89ee..0000000
--- a/etherpad/src/templates/store/eepnet_download.ejs
+++ /dev/null
@@ -1,43 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><% helpers.includeCss("store/store.css") %>
-<% helpers.includeJQuery() %>
-<% helpers.includeJs("store.js") %>
-
-<div class="fpcontent storepage" id="downloadpage">
-
- <% if (message) { %>
- <div id="topmsg">
- <%= message %>
- </div>
- <% } %>
-
- <h2>Download EtherPad Private Network Edition:</h2>
-
- <br/><br/>
- <center>
- <input id="license_agree" type="checkbox" />
- <label id="license_agree_label"
- for="license_agree" style="font-size: 1.2em;">
- Agree to the <a target="_blank" href="/static/html/eepnet/eepnet-eval-license.html">License</a>
- </label>
-
- <a class="downloadbutton_disabled" href="javascript:store.mustAgree();">
- Download Now
- </a>
- <h3>Version: <%= versionString %></h3><br/>
-
- </center>
-
-
-</div>
diff --git a/etherpad/src/templates/store/eepnet_eval_nextsteps.ejs b/etherpad/src/templates/store/eepnet_eval_nextsteps.ejs
deleted file mode 100644
index 4c4cec4..0000000
--- a/etherpad/src/templates/store/eepnet_eval_nextsteps.ejs
+++ /dev/null
@@ -1,40 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><div class="fpcontent">
- <h2>Downloading...</h2>
-
- <p>Your download should begin automatically. If it does not, you
- can click this link:</p>
-
- <ul>
- <li><a href="/ep/store/eepnet-download-zip">Download Now</a>
- </li>
- </ul>
-
- <h2>Next Steps</h2>
-
- <ul>
- <li>Read the
- <a href="/ep/pne-manual/">PNE System Administrator's
- Manual</a>.</li>
-
- <li>A license key was sent to you by email, which you will need to
- run EtherPad PNE.</li>
-
- </ul>
-
-</div>
-
-<iframe style="display: none;" width="0" height="0"
- src="/ep/store/eepnet-download-zip"></iframe>
-
diff --git a/etherpad/src/templates/store/eepnet_eval_signup.ejs b/etherpad/src/templates/store/eepnet_eval_signup.ejs
deleted file mode 100644
index 5a1edf4..0000000
--- a/etherpad/src/templates/store/eepnet_eval_signup.ejs
+++ /dev/null
@@ -1,125 +0,0 @@
-<% /* Copyright 2009 Google Inc.
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS-IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License. */ %><% helpers.setHtmlTitle("Sign up for EtherPad PNE Free Trial"); %>
-<% helpers.includeJQuery() %>
-<% helpers.includeJs("etherpad.js") %>
-<% helpers.includeJs("store.js") %>
-<% helpers.includeCss("store/store.css") %>
-
-<% function renderField(maxlen, id, title) {
- var oldValue = (oldData[id] || "");
- return DIV(P(LABEL({htmlFor: id}, title),
- INPUT({maxlength: maxlen,
- type: "text",
- className: "signupData",
- name: id,
- id: id,
- value: oldValue})));
- }
-
- function renderWebLeadField(name) {
- return INPUT({type: 'hidden', name: name, id: "wl_"+name, value: ""});
- }
-%>
-
-<div class="fpcontent storepage" id="eepnet_trial_signup_page">
-
- <h2 id="toph2">Private Network Edition: <%= trialDays %>-Day Free Trial</h2>
-
- <p>Enter your information here to download a free <%= trialDays
- %>-day trial of EtherPad Private Network Edition.</p>
-
- <div style="display: none;" id="errormsg">&nbsp;</div>
-
- <div style="display: none;" id="processingmsg">
- <img src="/static/img/misc/status-ball.gif" alt="" />
- Processing, please wait...
- </div>
-
- <div id="dlsignup">
-
- <form id="signupForm" method="post" action="<%= request.path %>">
-
- <% /* note: these fields should match exactly the eepnet-pricingcontact
- form in pricing_eepnet.ejs */ %>
-
- <%= renderField(40, "firstName", "First Name:") %>
- <%= renderField(80, "lastName", "Last Name:") %>
- <%= renderField(80, "email", "Your Email (license key will be sent here):") %>
- <%= renderField(40, "orgName", "Company/Organization:") %>
-
- <p>
- <label for="industry">Industry</label>
- <select id="industry" name="industry">
- <% sfIndustryList.forEach(function(i) { %>
- <%= ((i == oldData.industry) ?
- OPTION({value: toHTML(i), selected: true}, i) :
- OPTION({value: toHTML(i)}, i)) %>
- <% }); %>
- </select>
- </p>
-
- <%= renderField(40, "jobTitle", "Your Title:") %>
- <%= renderField(40, "phone", "Phone Number:") %>
- <%= renderField(160, "estUsers", "Estimated number of users:") %>
-
- </form>
-
- <p><button id="submit" onclick="javascript: void store.eepnetTrial.submit();">Go To Download --&gt;</button></p>
-
- </div>
-
- <p>If you already have a license, you
- can <a href="/ep/store/eepnet-download">skip directly to download</a>.</p>
-
- <p>You can also <a href="/ep/store/eepnet-recover-license">recover a
- lost license key</a>.</p>
-
- <p>Questions? Email <%= helpers.oemail("sales") %>.</p>
-
-</div>
-
-<form id="wlform"
- method="post"
- target="wltarget"
- action="<%= request.scheme %>://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8"
->
-
- <input type="hidden" name="retURL" value="<%= request.scheme %>://<%= request.host %>/ep/store/salesforce-web2lead-ok" />
-
- <% [
- "oid",
- "first_name",
- "last_name",
- "email",
- "company",
- "title",
- "phone",
- "00N80000003FYtG",
- "00N80000003FYto",
- "00N80000003FYuI",
- "lead_source",
- "industry"
- ].forEach(function(f) { %>
-
- <%= renderWebLeadField(f) %>
-
- <% }); %>
-
-</form>
-
-<iframe style="width: 1px; height: 1px; border: 0;"
- name="wltarget"
- id="wltarget"
- src="about:blank"></iframe>
-
diff --git a/infrastructure/framework-src/modules/faststatic.js b/infrastructure/framework-src/modules/faststatic.js
index 5cca676..920be8c 100644
--- a/infrastructure/framework-src/modules/faststatic.js
+++ b/infrastructure/framework-src/modules/faststatic.js
@@ -104,11 +104,35 @@ function _getMTime(f) {
}
}
+function manglePluginPath(localFile, fileType) {
+ var prefix = '/static/' + fileType + '/plugins/';
+ if (localFile.substring(0, prefix.length) != prefix)
+ return localFile;
+ var suffix = localFile.substring(prefix.length);
+ var plugin = suffix.split('/', 1)[0];
+ suffix = suffix.substring(plugin.length + 1);
+ return '/plugins/' + plugin + '/static/' + fileType + '/' + suffix;
+}
+
+function manglePluginPaths(localFile) {
+ return manglePluginPath(
+ manglePluginPath(
+ manglePluginPath(
+ manglePluginPath(
+ manglePluginPath(
+ localFile,
+ 'js'),
+ 'css'),
+ 'swf'),
+ 'html'),
+ 'zip');
+}
+
function _wrapFile(localFile) {
return {
getPath: function() { return localFile; },
getMTime: function() { return _getMTime(localFile); },
- getContents: function() { return _readFileAndProcess(localFile, 'string'); }
+ getContents: function() { return _readFileAndProcess(manglePluginPaths(localFile), 'string'); }
};
}
diff --git a/infrastructure/lib/commons-fileupload-1.2.1-javadoc.jar b/infrastructure/lib/commons-fileupload-1.2.1-javadoc.jar
new file mode 100644
index 0000000..86a56ac
--- /dev/null
+++ b/infrastructure/lib/commons-fileupload-1.2.1-javadoc.jar
Binary files differ
diff --git a/infrastructure/lib/commons-fileupload-1.2.1-sources.jar b/infrastructure/lib/commons-fileupload-1.2.1-sources.jar
new file mode 100644
index 0000000..8141625
--- /dev/null
+++ b/infrastructure/lib/commons-fileupload-1.2.1-sources.jar
Binary files differ
diff --git a/infrastructure/lib/commons-fileupload-1.2.1.jar b/infrastructure/lib/commons-fileupload-1.2.1.jar
new file mode 100644
index 0000000..aa209b3
--- /dev/null
+++ b/infrastructure/lib/commons-fileupload-1.2.1.jar
Binary files differ
diff --git a/infrastructure/lib/commons-io-1.4-javadoc.jar b/infrastructure/lib/commons-io-1.4-javadoc.jar
new file mode 100644
index 0000000..95731a7
--- /dev/null
+++ b/infrastructure/lib/commons-io-1.4-javadoc.jar
Binary files differ
diff --git a/infrastructure/lib/commons-io-1.4-sources.jar b/infrastructure/lib/commons-io-1.4-sources.jar
new file mode 100644
index 0000000..299708f
--- /dev/null
+++ b/infrastructure/lib/commons-io-1.4-sources.jar
Binary files differ
diff --git a/infrastructure/lib/commons-io-1.4.jar b/infrastructure/lib/commons-io-1.4.jar
new file mode 100644
index 0000000..133dc6c
--- /dev/null
+++ b/infrastructure/lib/commons-io-1.4.jar
Binary files differ