#!/usr/bin/perl -w use lib "lib"; use NetHelper; use Crypt::CBC; use LWP::Simple qw(get); use Captcha::reCAPTCHA; my $captcha = Captcha::reCAPTCHA->new; #my $privkey = '6LeRSAEAAAAAAOQDS5anFA5s_ozclaK9DBxltaZo'; ## cbcb #my $pubkey = '6LeRSAEAAAAAAFzY-prJ8WZUT8GgXydQKEbSIMCf'; ## cbcb #my $privkey = '6LdiRwEAAAAAAFF9QEe2rp5SGwxqGQfmuCMsIM4C'; ## phylotrac #my $pubkey = '6LdiRwEAAAAAAK_QR9xSXuOKfRuDidw0OYzlIVNo'; ## phylotrac my $privkey = '6LfIZQUAAAAAAKEokPtw3gE7WN7wk6Az-2spsdzr'; ## genomemtv my $pubkey = '6LfIZQUAAAAAALX_WIfYPsI5EWGk_eW6MF0Ti59c'; ## genomemtv $| = 1; my $email = 'registration@genomemtv.org'; #my $email = 'amp@umiacs.umd.edu'; my $webkey = 'n2B_9vu-P$f(}6X54k1-'; my $webcipher = 'Blowfish'; my $name_raw = param('name'); my $organization_raw = param('organization'); my $email_raw = param('email'); my $isAcademic = param('academic') ? 1 : 0; my $challenge = param('recaptcha_challenge_field'); my $response = param('recaptcha_response_field'); printHeader(); my $ci = "class=\"Free_Form\""; my $red = "class=\"Free_Form\" style=\"color:#ff0000; \""; my $name_clean; my $organization_clean; my $email_clean; if (defined $name_raw && length $name_raw) { if ($name_raw =~ /^([\w\s]+)$/) { $name_clean = $1; $name_clean =~ s/^\s+//g; $name_clean =~ s/\s+$//g; $name_clean =~ s/\s+/ /g; } else { print "
Invalid name specified. Please use only letters.
\n"; } } if (defined $organization_raw && length $organization_raw) { if ($organization_raw =~ /^([\w\s]+)$/) { $organization_clean = $1; } else { print "Invalid organization specified. Please use only letters.
\n"; } } if (defined $email_raw && length $email_raw) { if ($email_raw =~ (/^([\w\.]+\@[\w\.]+)$/)) { $email_clean = $1; } else { print "Invalid email address specified.
\n"; } } my $captcha_ok = 0; my $captcha_failed = 0; if (defined $name_clean && defined $organization_clean && defined $email_clean && defined $challenge && defined $response) { my $result = $captcha->check_answer($privkey, $ENV{'REMOTE_ADDR'}, $challenge, $response); if ( $result->{is_valid} ) { $captcha_ok = 1; } else { print "Spambot prevention failed, please try again.
\n"; $captcha_failed = 1; } } if (defined $name_clean && defined $organization_clean && defined $email_clean && $captcha_ok) { my $message = "GenomeMTV registration request\n\n"; $message .= "Name: $name_clean\n"; $message .= "Organization: $organization_clean\n"; $message .= "Email: $email_clean\n"; $message .= "Academic: " . ($isAcademic ? "Yes" : "No") . "\n\n"; print "Thank you for you interest in GenomeMTV. An email containing your registration code will be sent to you shortly.
\n"; print "\n"; print "\n"; print "$message\n"; my $key; my $encryptedkey = get "http://www.cbcb.umd.edu/cgi-bin/phylotrac/generateKey.cgi?name=$name_clean&version=0002"; if ( $encryptedkey ) { my $cipher = Crypt::CBC->new( -key => $webkey, -cipher => $webcipher ); $key = $cipher->decrypt($encryptedkey); } if ( $key =~ /Code:/ ) { $message .= $key; } else { $message .= "There was an error generating the registration key.\n"; } if ( 0 ) { print "
$message\n"; } my $recipient = $email; my $sender = $email; my $subject = "GenomeMTV registration request: $name_clean"; sendEmail($recipient, $sender, $subject, $message) or print "
There was an error sending the registration email. Please contact us directly at $recipient.
\n"; } else { if (!$captcha_failed && (defined $name_clean || defined $organization_clean || defined $email_clean)) { print "Required fields are missing.
\n"; } print <<'HTML';1. Upon accepting this LICENSING AGREEMENT (the "AGREEMENT"), University of Maryland, Baltimore ("UMB") will send one copy of the GenomeMTV software developed by UMB to the LICENSEE and grant to the LICENSEE, a non-exclusive, non-transferable, royalty-free perpetual license to install and use the software noted above, in executable format only, together with any associated media, printed materials, and on-line or electronic documentation (if any) provided by UMB (collectively, the "SOFTWARE") subject to the terms and conditions indicated below.
2. The individual receiving the SOFTWARE shall be the "RECIPIENT INVESTIGATOR." RECIPIENT INVESTIGATOR shall receive the SOFTWARE on behalf of the LICENSEE.
3. RECIPIENT INVESTIGATOR may use the SOFTWARE on his/her computer(s) located at LICENSEE's institution for teaching or academic research purposes only and will not use SOFTWARE in conjunction with human subjects or for any commercial purposes including, for example, use of the SOFTWARE in conjunction with a consulting or licensing agreement with a for-profit entity. Use of this SOFTWARE is restricted to use by the LICENSEE and use in accordance with all applicable local, state and federal statutes and regulations. Sale and unauthorized distribution of the SOFTWARE is expressly prohibited without the prior written consent of UMB. LICENSEE may not allow the SOFTWARE to be accessed over the internet or by users located at another site.
4. The LICENSEE acknowledges that the SOFTWARE is protected by United States copyright law and international treaty provisions and is owned by UMB. Except as provided in this AGREEMENT, no express or implied license or other right is provided to the LICENSEE under any patent, patent application, trademark, trademark application, copyright, trade secret, or other proprietary right of UMB, including any altered form of the SOFTWARE made by the LICENSEE. In particular, no express or implied license or other right is provided to use the SOFTWARE, any reproduction or modification thereof, or any related patent, trademark, trade secret, or copyright of UMB for commercial purposes. UMB hereby reserve all rights, title and interest in and to the SOFTWARE that are not explicitly granted to LICENSEE herein.
5. The use of the SOFTWARE is restricted to the intended purpose and is not to be used for production purposes, reverse engineering, decompiling, or disassembling the SOFTWARE, except and only to the extent that applicable law expressly permits or as agreed in writing and duly executed by representatives of both parties. LICENSEE may not modify, alter, or create derivative works of the SOFTWARE in any manner. LICENSEE may not rent, lease, loan, sublicense, distribute or transfer the SOFTWARE to any third party, nor use it for commercial time-sharing or service bureau use.
6. UMB retains ownership of all materials delivered to the LICENSEE in accordance with this AGREEMENT. If LICENSEE does modify, alter or create derivative works of the SOFTWARE, any modifications or derivative works based on the SOFTWARE are considered part of the SOFTWARE and ownership thereof is retained by UMB. Reports of any such modifications or derivatives are to be made to UMB within 60 days.
7. The LICENSEE shall not disclose or transfer in any form either the delivered SOFTWARE or any modifications of or derivative works based on the SOFTWARE to any third party.
8. The LICENSEE may make a reasonable number of copies of the SOFTWARE for the purposes of backup and maintenance of the SOFTWARE. These additional copies are subject to the terms and conditions of this AGREEMENT, will carry the copyright notice, will be controlled by this AGREEMENT, and will be destroyed by the LICENSEE upon termination of this AGREEMENT.
9. If the LICENSEE receives a request to furnish all or any portion of the SOFTWARE to any third party, the LICENSEE will not fulfill such a request and will refer it in writing to UMB.
10. UMB shall be under no obligation whatsoever to: (i) provide maintenance or support for the SOFTWARE; or (ii) to notify LICENSEE of bug fixes, patches, or updates (collectively, "Update") to the SOFTWARE (if any). If, at its sole discretion, UMB makes an Update available to LICENSEE and UMB does not separately enter into a written license agreement with LICENSEE relating to such Update, then it shall be deemed incorporated into the SOFTWARE and subject to this AGREEMENT.
11. The license granted to LICENSEE hereunder may not be assigned or transferred to any other person or entity without the express written consent of UMB.
12. The parties intend that this AGREEMENT is binding upon each of their respective heirs and assigns.
13. Use of this SOFTWARE in contractual arrangements with academic third party collaborators requires such parties to license the SOFTWARE directly from UMB. Use of this SOFTWARE in contractual arrangements with for-profit entities requires such parties to license the SOFTWARE directly from UMB.
14. If any provision of this AGREEMENT is held unenforceable, the remaining provisions shall remain in full force and effect.
15. This AGREEMENT may not be amended or superseded except in writing that is duly executed by authorized representatives of all parties. No provision in any party's purchase orders, or in any other business forms employed by either party will supersede the terms of this AGREEMENT, and no modification or amendment of this AGREEMENT is binding, unless in writing signed by a duly authorized representative of each party.
16. THE LICENSEE AGREES THAT THE SOFTWARE IS FURNISHED "AS IS" AND THAT UMB AND ANY OF ITS EMPLOYEES, AGENTS, HEIRS, OR ASSIGNS PROVIDE THE SOFTWARE WITHOUT WARRANTY OF ANY KIND. UMB IS IN NO WAY LIABLE FOR ANY USE LICENSEE MAKES OF THE SOFTWARE. UMB AND ITS LICENSORS: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF THE SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4) DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL BE CORRECTED.
17. IN NO EVENT WILL UMB, OR ITS LICENSORS BE LIABLE FOR ANY INDIRECT, INCIDENTAL, CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF ANY KIND OR NATURE, INCLUDING, BUT NOT LIMITED TO, LOSS OF PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER, WHETHER SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT (INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE, EVEN IF UMB HAS BEEN WARNED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGES. IN NO EVENT SHALL UMB'S LIABILITY FOR DAMAGES ARISING FROM OR IN CONNECTION WITH THIS AGREEMENT EXCEED THE AMOUNT PAID BY LICENSEE FOR THE SOFTWARE.
18. The LICENSEE assumes all liability for damages that may arise from its use of the SOFTWARE. The LICENSEE has the duty to prevent catastrophic loss related to use of the SOFTWARE, including the responsibility to maintain and backup all data obtained and all programs used in conjunction with the SOFTWARE. UMB and any of its employees, agents, heirs, or assigns will not be liable to the LICENSEE for any loss, claim or demand made by the LICENSEE, or made against the LICENSEE by any other party, due to or arising from the use of the SOFTWARE by the LICENSEE. LICENSEE shall indemnify, defend, and hold harmless UMB the SOFTWARE developers, the SOFTWARE sponsors, and their agents, officers, and employees, against any and all claims, suits, losses, damage, costs, fees, and expenses arising out of or in connection with this AGREEMENT. LICENSEE shall pay all costs incurred by UMB in enforcing this provision, including reasonable attorney fees.
19. UMB and LICENSEE are not (and nothing in this AGREEMENT may be construed to constitute them as) partners, joint venturers, agents, or employees of the other, nor is there any other status or relationship between UMB and LICENSEE other than as described in this AGREEMENT. Neither party has any right or authority to bind or obligate the other party in any manner or make any representation or warranty on behalf of the other party.
20. The license granted to LICENSEE under this AGREEMENT will continue perpetually unless terminated by UMB in accordance with this AGREEMENT. If LICENSEE breaches any term of this AGREEMENT, and fails to cure such breach within thirty (30) days, this AGREEMENT shall immediately terminate. Upon any such termination, LICENSEE shall immediately cease using the SOFTWARE, return to UMB, or destroy, all copies of the SOFTWARE, and provide UMB with written certification of compliance with the foregoing. Termination shall not relieve LICENSEE from obligations arising prior to such termination. Notwithstanding any provision of this AGREEMENT to the contrary, all Paragraphs, and particularly Paragraphs 16 through 22, survive termination of this AGREEMENT.
21. LICENSEE shall observe all applicable United States and foreign laws and regulations (if any) with respect to, without limitation, the International Traffic in Arms Regulations (ITAR) and the Export Administration Regulations to the export, re-export, diversion or transfer of the SOFTWARE, related technical data and direct products thereof. The export of any technology from the United States, including without limitation the SOFTWARE and related technical data, may require some form of export control license from the United States Government and, pursuant to United States laws, failure to obtain any required export control license may result in criminal liability.
22. This AGREEMENT supersedes all other previous or contemporaneous agreements or understandings between the parties, whether verbal or written, concerning the subject matter hereof. This AGREEMENT embodies the entire understanding between the parties hereto. This AGREEMENT shall be governed by the laws of the State of Maryland.
Registration Request
"; print "Name: | ", textfield(-name=>'name'), " |
Organization: | ", textfield(-name=>'organization'), " |
Email: | ", textfield(-name=>'email'), " |
Academic Institution? | ", checkbox(-name=>'academic', label=>""), " |
Spambot Prevention
\n"; print $captcha->get_html($pubkey); print "By checking this, RECIPIENT INVESTIGATOR on behalf of LICENSEE agrees to the term of the AGREEMENT.
"; print submit(-name=>"Submit request"), end_form; } printFooter();