| 1: | <?php |
| 2: | /** |
| 3: | * Random_* Compatibility Library |
| 4: | * for using the new PHP 7 random_* API in PHP 5 projects |
| 5: | * |
| 6: | * The MIT License (MIT) |
| 7: | * |
| 8: | * Copyright (c) 2015 - 2018 Paragon Initiative Enterprises |
| 9: | * |
| 10: | * Permission is hereby granted, free of charge, to any person obtaining a copy |
| 11: | * of this software and associated documentation files (the "Software"), to deal |
| 12: | * in the Software without restriction, including without limitation the rights |
| 13: | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
| 14: | * copies of the Software, and to permit persons to whom the Software is |
| 15: | * furnished to do so, subject to the following conditions: |
| 16: | * |
| 17: | * The above copyright notice and this permission notice shall be included in |
| 18: | * all copies or substantial portions of the Software. |
| 19: | * |
| 20: | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| 21: | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| 22: | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
| 23: | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| 24: | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
| 25: | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| 26: | * SOFTWARE. |
| 27: | */ |
| 28: | |
| 29: | if (!class_exists('Error', false)) { |
| 30: | // We can't really avoid making this extend Exception in PHP 5. |
| 31: | class Error extends Exception |
| 32: | { |
| 33: | |
| 34: | } |
| 35: | } |
| 36: | |
| 37: | if (!class_exists('TypeError', false)) { |
| 38: | if (is_subclass_of('Error', 'Exception')) { |
| 39: | class TypeError extends Error |
| 40: | { |
| 41: | |
| 42: | } |
| 43: | } else { |
| 44: | class TypeError extends Exception |
| 45: | { |
| 46: | |
| 47: | } |
| 48: | } |
| 49: | } |
| 50: |