]> git.openstreetmap.org Git - chef.git/blob - cookbooks/dmca/files/default/html/index.php
DMCA form: add Content-Type header to generated email
[chef.git] / cookbooks / dmca / files / default / html / index.php
1 <?php
2 session_start();
3 require_once 'HTML/QuickForm.php';
4 require_once 'HTML/QuickForm/DHTMLRulesTableless.php';
5 require_once 'HTML/QuickForm/Renderer/Tableless.php';
6
7 function process_data ($values) {
8         echo '<h1>Thank you</h1>';
9         echo 'Your report has been submitted';
10         $email_body = 'OpenStreetMap - Claim of Copyright Infringement form:'."\n\n";
11         $email_body .= 'Automated Email - Form Posted.'."\n\n";
12         $email_body .= print_r($values, true);
13         $reply_address = $values['name_first'].' '.$values['name_last'].' <'.$values['email'].'>';
14         $email_body .= 'Formatted address: '.$reply_address."\n\n";
15         $email_header = 'From: OSMF Copyright Form <dmca@osmfoundation.org>' . "\r\n" . 'Content-Type: text/plain; charset="utf-8"';
16         mail('dmca@osmfoundation.org','OSM Claim of Copyright Infringement', $email_body, $email_header, '-fdmca@osmfoundation.org');
17 }
18 ?>
19 <!DOCTYPE html>
20 <html>
21 <head>
22 <title>OpenStreetMap Legal - Claim of Copyright Infringement</title>
23 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
24  <link rel="stylesheet" type="text/css" href="/style.css" />
25 </head>
26 <body>
27 <div class="regForm">
28 <?php
29 // Instantiate the HTML_QuickForm object
30 $form = new HTML_QuickForm_DHTMLRulesTableless('osm_legal_claim_of_copyright');
31 $renderer = new HTML_QuickForm_Renderer_Tableless();
32
33 $form->addElement('header', null, 'OpenStreetMap: Claim of Copyright Infringement');
34
35 $form->addElement('static', null, '<p>To file a copyright infringement notification with us, you will need to send a written communication that includes the following (please consult your legal counsel or see Section 512(c)(3) of the Digital Millennium Copyright Act to confirm these requirements):</p>
36 <ul><li> A physical or electronic signature of a person authorized to act on behalf of the owner of an exclusive right that is allegedly infringed.
37 <li>Identification of the copyrighted work claimed to have been infringed or, if multiple copyrighted works at a single online site are covered by a single notification, a representative list of such works at that site.
38 <li>Identification of the material that is claimed to be infringing or to be the subject of infringing activity and that is to be removed or access to which is to be disabled, and information reasonably sufficient to permit the service provider to locate the material. Providing URLs in the body of an email is the best way to help us locate content quickly.
39 <li>Information reasonably sufficient to permit the service provider to contact the complaining party, such as an address, telephone number, and, if available, an electronic mail address at which the complaining party may be contacted.
40 <li>A statement that the complaining party has a good faith belief that use of the material in the manner complained of is not authorized by the copyright owner, its agent, or the law.
41 <li>A statement that the information in the notification is accurate and, under penalty of perjury, that the complaining party is authorized to act on behalf of the owner of an exclusive right that is allegedly infringed.
42 </ul><p>To expedite our ability to process your request, such written notice should be sent to our designated agent via our online copyright complaint form below.</p>
43 <p>This form is only for cases where you believe that material on OpenStreetMap\'s websites or in its geodata database infringes your copyright or that of your clients. For example, you claim someone has copied material from a map belonging to you.</p>
44 <p>If you have come here for reporting map inaccuracies, privacy issues or another reason, <a href="https://wiki.osmfoundation.org/wiki/Licence_and_Legal_FAQ/Takedown_procedure/When_To_Use_The_Form">Read here</a>.</p>');
45
46 $form->addElement('text', 'url',                'URL of Allegedly Infringing Material', array('size' => 50, 'maxlength' => 255));
47 $form->addRule('url', 'Please enter URL of Allegedly Infringing Material', 'required', null, 'client');
48
49 $form->addElement('textarea', 'work',           'Describe the work allegedly infringed. For example, which map has been copied and what specifically has been copied.',  array('rows' => 20, 'cols' => 70));
50 $form->addRule('work', 'Please describe the work allegedly infringed', 'required', null, 'client');
51
52 $form->addElement('text', 'territory',          'Territories where infringement occurred', array('size' => 50, 'maxlength' => 255));
53 $form->addRule('territory', 'Please enter the territories where infringement occurred', 'required', null, 'client');
54
55 $form->addElement('text', 'name_first',         'First Name', array('size' => 50, 'maxlength' => 255));
56 $form->addRule('name_first', 'Please enter your First Name', 'required', null, 'client');
57
58 $form->addElement('text', 'name_last',          'Last Name', array('size' => 50, 'maxlength' => 255));
59 $form->addRule('name_last', 'Please enter your Last Name', 'required', null, 'client');
60
61
62 $form->addElement('text', 'company',            'Company Name', array('size' => 50, 'maxlength' => 255));
63 $form->addElement('text', 'company_tile',       'Title/Position');
64
65 $form->addElement('text', 'address',            'Street Address');
66 $form->addRule('address', 'Please enter Street Address', 'required', null, 'client');
67
68 $form->addElement('text', 'city',               'City', array('size' => 50, 'maxlength' => 255));
69 $form->addRule('city', 'Please enter City', 'required', null, 'client');
70
71 $form->addElement('text', 'state',              'State/Province', array('size' => 50, 'maxlength' => 255));
72 $form->addElement('text', 'postal_code',        'Zip/Postal Code', array('size' => 50, 'maxlength' => 255));
73
74 $form->addElement('text', 'country',            'Country', array('size' => 50, 'maxlength' => 255));
75 $form->addRule('country', 'Please enter Country', 'required', null, 'client');
76
77 $form->addElement('text', 'phone_number',       'Phone Number', array('size' => 50, 'maxlength' => 255));
78 $form->addRule('phone_number', 'Please enter Phone Number', 'required', null, 'client');
79
80 $form->addElement('text', 'mobile_number',      'Mobile Number', array('size' => 50, 'maxlength' => 255));
81
82 $form->addElement('text', 'email',              'Email Address', array('size' => 50, 'maxlength' => 255));
83 $form->addRule('email', 'Please enter Email Address', 'required', null, 'client');
84 $form->addRule('email', 'Please enter a valid Email Address', 'email', null, 'client');
85
86 $form->addElement('text', 'fax',                'Fax', array('size' => 50, 'maxlength' => 255));
87
88 $complaint_options = array();
89 $complaint_options[] = &HTML_QuickForm::createElement('checkbox', '1_of_4_owner_or_authorised', null, 'I am the owner, or an agent authorized to act on behalf of the owner, of an exclusive right that is allegedly infringed.');
90 $complaint_options[] = &HTML_QuickForm::createElement('checkbox', '2_of_4_good_faith', null, 'I have a good faith belief that the use of the material in the manner complained of is not authorized by the copyright owner, its agent, or the law; and');
91 $complaint_options[] = &HTML_QuickForm::createElement('checkbox', '3_of_4_accurate', null, 'This notification is accurate.');
92 $complaint_options[] = &HTML_QuickForm::createElement('checkbox', '4_of_4_not_misrepresent', null, 'I acknowledge that under Section 512(f) any person who knowingly materially misrepresents that material or activity is infringing may be subject to liability for damages.');
93
94 $form->addGroup($complaint_options, 'complaint_confirm', 'By checking the following boxes, I state UNDER PENALTY OF PERJURY that (choose all of the options)', '<br />');
95
96 $form->addElement('text', 'signature', 'Typing your full name in this box will act as your digital signature.', array('size' => 25, 'maxlength' => 255));
97 $form->addRule('signature', 'Field is required', 'required', null, 'client');
98
99 $form->addElement('submit', null, 'Send');
100
101 $form->removeAttribute('name');
102 $form->getValidationScript();
103
104 if ($form->validate()) {
105     // Do some stuff
106       $form->freeze();
107       $form->process('process_data', false);
108
109 } else {
110         // Output the form
111         $form->accept($renderer);
112         echo $renderer->toHtml();
113 }
114 ?>
115 </div>
116 </body>
117 </html>