diff options
Diffstat (limited to 'pages/account/18.php')
-rw-r--r-- | pages/account/18.php | 146 |
1 files changed, 124 insertions, 22 deletions
diff --git a/pages/account/18.php b/pages/account/18.php index 2fbb8b4..d294f1b 100644 --- a/pages/account/18.php +++ b/pages/account/18.php @@ -14,22 +14,84 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ ?> -<? $viewall=0; if(array_key_exists('viewall',$_REQUEST)) $viewall=intval($_REQUEST['viewall']); ?> +*/ + +$orgfilterid=0; +if(array_key_exists('orgfilterid',$_REQUEST)) $orgfilterid=intval($_REQUEST['orgfilterid']); +$sorting=0; +if(array_key_exists('sorting',$_REQUEST)) $sorting=intval($_REQUEST['sorting']); +$status=0; +if(array_key_exists('status',$_REQUEST)) $status=intval($_REQUEST['status']); +?> <form method="post" action="account.php"> <table align="center" valign="middle" border="0" cellspacing="0" cellpadding="0" class="wrapper"> <tr> - <td colspan="8" class="title"><?=_("Client Certificates")?> - <a href="account.php?id=18&viewall=<?=!$viewall?>"><?=_("View all certificates")?></a></td> + <td colspan="9" class="title"><?=_("Organisation Client Certificates")?> </td> </tr> <tr> - <td class="DataTD"><?=_("Renew/Revoke/Delete")?></td> - <td class="DataTD"><?=_("Status")?></td> - <td class="DataTD"><?=_("CommonName")?></td> - <td class="DataTD"><?=_("SerialNumber")?></td> - <td class="DataTD"><?=_("Comment")?></td> - <td class="DataTD"><?=_("Revoked")?></td> - <td class="DataTD"><?=_("Expires")?></td> + <td colspan="9" class="title"><?=_("Filter/Sorting")?></td> + </tr> + <tr> + <td class="DataTD"><?=_("Organisation")?></td> + <td colspan="8" class="DataTD" > + <select name="orgfilterid"> + <option value="0"<? + if (0==$orgfilterid) { + ?> selected <? + } + ?>><?=_("All")?></option> <? + $query = "select `orginfo`.`O`, `orginfo`.`id` + from `org`, `orginfo` + where `org`.`memid`='".intval($_SESSION['profile']['id'])."' `orginfo`.`id` = `org`.`orgid` + ORDER BY `oemail`.`modified` desc"; + $reso = mysql_query($query); + if(mysql_num_rows($reso) >= 1){ + while($row = mysql_fetch_assoc($res)){ + ?><option <?if ($row['id']==$orgfilterid) { + ?> selected <? + }?> value="><?=$row['id']?>"><?=$row['O']?></option> + <?} + }?> + </select> + </td> + </tr> + <tr> + <td class="DataTD"><?=_("Sorting")?></td> + <td colspan="8" class="DataTD" > + <select name="sorting"> + <option <?if (0==$sorting) { + ?> selected <? + }?>value="0"><?=_("expire date (desc)")?></option> + <option <?if (1==$sorting) { + ?> selected <? + }?>value="1"><?=_("OU, expire date (desc)")?></option> + <option <?if (2==$sorting) { + ?> selected <? + }?>value="2"><?=_("Common name, expire date (desc)")?></option> + </select> + </td> + </tr> + <tr> + <td class="DataTD"><?=_("Certificate status")?></td> + <td colspan="8" class="DataTD" > + <select name="status"> + <option <?if (0==$status) { + ?> selected <? + }?>value="0"><?=_("Actual")?></option> + <option <?if (0==$status) { + ?> selected <? + }?>value="1"><?=_("All")?></option> + </select> + </td> + </tr> + <tr> + <td class="DataTD" colspan="9"><input type="submit" name="reset" value="<?=_("Reset")?>" />     + <input type="submit" name="filter" value="<?=_("Apply filter/sort")?>" /></td> + </tr> + <td colspan="9" class="DataTD"> </td> + </tr> +//rebuild query <? $query = "select UNIX_TIMESTAMP(`oemail`.`created`) as `created`, UNIX_TIMESTAMP(`oemail`.`expire`) - UNIX_TIMESTAMP() as `timeleft`, @@ -37,26 +99,63 @@ `oemail`.`expire` as `expires`, `oemail`.`revoked` as `revoke`, UNIX_TIMESTAMP(`oemail`.`revoked`) as `revoked`, `oemail`.`CN`, `oemail`.`serial`, `oemail`.`id`, - `oemail`.`description` - from `orgemailcerts` as `oemail`, `org` + `oemail`.`description`, `oemail`.`ou`, `orginfo`.`O` + from `orgemailcerts` as `oemail`, `org`, `orginfo` where `org`.`memid`='".intval($_SESSION['profile']['id'])."' and - `org`.`orgid`=`oemail`.`orgid` "; - if($viewall != 1) + `org`.`orgid`=`oemail`.`orgid` and `orginfo`.`id` = `org`.`orgid`"; + if($orgfilterid>0) + { + $query .= "AND `org`.`orgid`=$orgfilterid "; + } + + if(1==$status) { $query .= "AND `oemail`.`revoked`=0 AND `oemail`.`renewed`=0 "; $query .= "HAVING `timeleft` > 0 AND `revoked`=0 "; } - $query .= "ORDER BY `oemail`.`modified` desc"; + switch ($sorting){ + case 0: + $query .= "ORDER BY `oemail`.`expire` desc"; + break; + case 1: + $query .= "ORDER BY `oemail`.`ou`, `oemail`.`expire` desc"; + break; + case 2: + $query .= "ORDER BY `oemail`.`CN`, `oemail`.`expire` desc"; + break; + } $res = mysql_query($query); if(mysql_num_rows($res) <= 0) { ?> + <tr> - <td colspan="8" class="DataTD"><?=_("No client certificates are currently listed.")?></td> + <td colspan="9" class="DataTD"><?=_("No client certificates are currently listed.")?></td> </tr> <? } else { + $orgname=''; while($row = mysql_fetch_assoc($res)) { + if ($row['O']<>$orgname) { + $orgname=$row['O'];?> + <tr> + <td colspan="9" class="title"></td> + </tr> + <tr> + <td colspan="9" class="title"><?=_("Certificates for ").$orgname?> </td> + </tr> + <tr> + <td class="DataTD"><?=_("OU/Department")?></td> + <td class="DataTD"><?=_("Renew/Revoke/Delete")?></td> + <td class="DataTD"><?=_("Status")?></td> + <td class="DataTD"><?=_("CommonName")?></td> + <td class="DataTD"><?=_("SerialNumber")?></td> + <td class="DataTD"><?=_("Revoked")?></td> + <td class="DataTD"><?=_("Expires")?></td> + <td colspan="2" class="DataTD"><?=_("Comment *")?></td> + </tr> + <? + } if($row['timeleft'] > 0) $verified = _("Valid"); if($row['timeleft'] < 0) @@ -65,11 +164,12 @@ $verified = _("Pending"); if($row['revoked'] > 0) $verified = _("Revoked"); - if($row['revoked'] == 0) - $row['revoke'] = _("Not Revoked"); + if($row['revoked'] == 0) + $row['revoke'] = _("Not Revoked"); ?> <tr> -<? if($verified == _("Valid") || $verified == _("Expired")) { ?> + <td class="DataTD"><?=$row['ou']?></td> + <? if($verified == _("Valid") || $verified == _("Expired")) { ?> <td class="DataTD"><input type="checkbox" name="revokeid[]" value="<?=$row['id']?>"></td> <td class="DataTD"><?=$verified?></td> <td class="DataTD"><a href="account.php?id=19&cert=<?=$row['id']?>"><?=$row['CN']?></a></td> @@ -90,7 +190,7 @@ </tr> <? } ?> <tr> - <td class="DataTD" colspan="8"> + <td class="DataTD" colspan="9"> <?=_('* Comment is NOT included in the certificate as it is intended for your personal reference only. To change the comment tick the checkbox and hit "Change Settings".')?> </td> </tr> @@ -99,9 +199,11 @@ <input type="submit" name="revoke" value="<?=_("Revoke/Delete")?>"></td> <td class="DataTD" colspan="2"><input type="submit" name="change" value="<?=_("Change settings")?>"> </td> </tr> + <tr> + <td class="DataTD" colspan="9"><?=_("From here you can delete pending requests, or revoke valid certificates.")?></td> + </tr> <? } ?> </table> <input type="hidden" name="oldid" value="<?=$id?>"> <input type="hidden" name="csrf" value="<?=make_csrf('clicerchange')?>" /> -</form> -<p><?=_("From here you can delete pending requests, or revoke valid certificates.")?></p> +</form>
\ No newline at end of file |