dbconfig athelyezese
[certwatch.git/.git] / index.php
1 <?php
2
3 include('functions.php');
4
5 if ( isset($_POST['email']) && isset($_POST['cert']) ) {
6     if ( !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL )) {
7
8         //Check e-mail address
9         $error['mail'][] = 'invalid_address';
10
11     } elseif ( $certData = checkCert( $cert = formatCert($_POST['cert']) )  ) {
12         $fingerprint = getX509Field($cert, 'fingerprint');
13         $dn = $certData['name'];
14         $startdate = getX509Field($cert, 'startdate');
15         $enddate = getX509Field($cert, 'enddate');
16
17         if ( strtotime($startdate) > time() ) {
18             $error['cert'][] = "not_valid_yet";
19         } elseif ( strtotime($enddate) < time() ) {
20             $error['cert'][] = "expired";
21         } else {
22
23             $sel = mysql_query("SELECT email FROM main WHERE fingerprint = '".$fingerprint."'") or die(mysql_error());
24             if (mysql_num_rows($sel)>0) {
25                 $error['cert'][] = 'already_in';
26             } else {
27                 mysql_query("INSERT INTO main SET email='".$_POST['email']."',dn='".$dn."',fingerprint='".$fingerprint."',expire='".date("Y-m-d H:i:s",strtotime($enddate))."'");
28                 $inserted = true;
29             }
30         }
31     } else {
32         $error['cert'][] = 'invalid_cert';
33     }
34
35 }
36
37 ?>
38 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
39 <html xmlns="http://www.w3.org/1999/xhtml" lang="hu">
40 <head>
41
42     <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
43     <title>certwatch.niif.hu</title>
44     <style>
45         <!--
46
47         body {width:640px;margin:10px auto;font-family: arial, helvetica, sans-serif;}
48         .row {clear:both;padding:10px 0;font-size: 14px;width: 480px;}
49         input {font-size:14px;padding:2px;}
50         #email {width: 500px;}
51         #cert {width:500px;height:200px;font-size:12px;padding:6px;font-family: courier;margin: 4px 0;}
52         .error_message {color:red;}
53         .success {color:green;}
54         #header {clear:both;padding:5px 2px;border-bottom:1px solid #e2e2e2;font-weight: bold;font-size:20px;}
55         #main {padding:20px 60px 0 60px;}
56         #footer {margin-top:30px;padding:10px 2px;border-top:1px solid #e2e2e2;font-size:11px;}
57         .hint {color:#a5a5a5;font-size:12px;background-color: #e2e2e2;padding:3px 10px;margin-bottom:20px;}
58
59         -->
60     </style>
61 </head>
62 <body>
63     <div id="header">
64         certwatch
65     </div>
66 <div id="main">
67 <? if ($inserted) : ?>
68     <div class="row">
69         <div class="success">Done. We have stored the following data.</div>
70         <ul>
71             <li><b>DN:</b> <?=$dn;?></li>
72             <li><b>Fingerprint:</b> <?=$fingerprint;?></li>
73             <li><b>Expiry date:</b> <?=$enddate;?></li>
74         </ul>
75         <p>We will send a reminder mail on <b><?=date("r",strtotime($enddate)-864000);?></b> to <b><?=$_POST['email'];?></b></p>
76         
77         
78     </div>
79 <? else : ?>
80
81 <form action="index.php" method="post">
82     <div class="hint">
83         <span style="font-weight:bold">How it works?<br /></span>
84         If you upload your certification and provide your e-mail address, we will notify you 10 days before the certification expires.
85     </div>
86     <div class="row">
87         <label for="email">E-mail</label><br />
88         <input type="text" name="email" id="email" value="<?=( isset($_POST['email']) ) ? $_POST['email'] : "";  ?>" />
89         <? if (count($error['mail'])>0) {
90             foreach ( $error['mail'] as $err ){
91                 echo '<div class="error_message">' . $errorMessages['mail'][$err] . '</div>';
92             }
93         } ?>
94     </div>
95     <div class="row">
96         PEM format certification
97         <textarea name="cert" id="cert"><?=( isset($_POST['cert']) ) ? $cert : "";  ?></textarea>
98         
99         <? if (count($error['cert'])>0) {
100             
101             foreach ( $error['cert'] as $err ){
102                 echo '<div class="error_message">' . $errorMessages['cert'][$err] . '</div>';
103             }
104         } ?>
105     </div>
106     <div class="row" style="text-align: center">
107         <input type="submit" id="submit" value="Upload" />
108     </div>
109     
110     
111 </form>
112
113 <? endif; ?>
114 </div>
115 <div id="footer">
116     <div style="float:left;">Currently we store <?=getCertNR();?> reminders</div>
117     <div style="float:right;">This site is provided by <a href="http://www.niif.hu" target="_blank">NIIF Institute</a></div>
118 </div>
119 </body>
120 </html>