Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class iButton {
- /**
- * Convertit le format du numéro de série iButton dans un format acceptable pour Loxone
- *
- * Input : ABCDEFGHIJKLMNOP
- * Output : OP.MN.KL.IJ.GH.EF.CD.AB
- *
- * @param String $serialNumber
- *
- * @return String
- * @throws Exception
- */
- public static function convert(String $serialNumber): String
- {
- $length = strlen($serialNumber);
- if ($length % 2 != 0) {
- throw new \Exception(sprintf('Wrong format: serialNumber should have an even string length. Length = %d (serialNumber: %s)', $length, $serialNumber));
- }
- $return = '';
- for($i = $length - 2; $i >= 0; $i = $i - 2) {
- $return .= substr($serialNumber, $i, 2);
- $return .= ($i > 0) ? '.' : '';
- }
- return $return;
- }
- }
- $serialNumber = $_POST['serialNumber'];
- ?>
- <!DOCTYPE html>
- <html>
- <head>
- <title>Formatter un numéro de série iButton</title>
- <meta charset="utf-8">
- <style type="text/css">
- body {
- font-family: Arial, Verdana, sans-serif;
- }
- label {
- display: inline-block;
- width: 300px;
- }
- input[type=text] {
- width: 200px;
- }
- textarea {
- display: inline-block;
- width: 400px;
- height: 100px;
- }
- </style>
- </head>
- <body>
- <form method="post" autocomplete="false">
- <p>
- <input type="text" id="serialNumber" name="serialNumber" placeholder="Numéro de série" value="<?php echo (isset($serialNumber)) ? $serialNumber : '' ?>" required="required">
- </p>
- <p>
- <input type="submit" value="Formater">
- </p>
- <input type="text" id="serialNumberFormatted" name="serialNumberFormatted" placeholder="Numéro de série formaté" value="<?php echo (isset($serialNumber)) ? iButton::convert($serialNumber) : '' ?>">
- </p>
- </form>
- <p>
- </p>
- <script type="text/javascript">
- document.getElementById('serialNumber').select();
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement