| matheusfillipe | abd513e | 2021-05-11 03:29:11 -0300 | [diff] [blame] | 1 | <?php | 
| matheusfillipe | 47cf90b | 2021-05-13 03:36:21 -0300 | [diff] [blame] | 2 | function generateRandomString($length = 96) | 
 | 3 | { | 
| matheusfillipe | abd513e | 2021-05-11 03:29:11 -0300 | [diff] [blame] | 4 |     $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; | 
 | 5 |     $charactersLength = strlen($characters); | 
 | 6 |     $randomString = ''; | 
 | 7 |     for ($i = 0; $i < $length; $i++) { | 
 | 8 |         $randomString .= $characters[rand(0, $charactersLength - 1)]; | 
 | 9 |     } | 
 | 10 |     return $randomString; | 
 | 11 | } | 
 | 12 |  | 
| matheusfillipe | 47cf90b | 2021-05-13 03:36:21 -0300 | [diff] [blame] | 13 | function getClientIP(): string | 
| matheusfillipe | abd513e | 2021-05-11 03:29:11 -0300 | [diff] [blame] | 14 | { | 
| matheusfillipe | 47cf90b | 2021-05-13 03:36:21 -0300 | [diff] [blame] | 15 |     $keys = array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR'); | 
 | 16 |     foreach ($keys as $k) { | 
 | 17 |         if (!empty($_SERVER[$k]) && filter_var($_SERVER[$k], FILTER_VALIDATE_IP)) { | 
| matheusfillipe | abd513e | 2021-05-11 03:29:11 -0300 | [diff] [blame] | 18 |             return $_SERVER[$k]; | 
 | 19 |         } | 
 | 20 |     } | 
 | 21 |     return false; | 
 | 22 | } | 
| matheusfillipe | 47cf90b | 2021-05-13 03:36:21 -0300 | [diff] [blame] | 23 |  | 
 | 24 | function format(string $string, array $values) | 
 | 25 | { | 
 | 26 |     foreach ($values as $key => $value) { | 
 | 27 |         $string = str_replace("{{{$key}}}", $value, $string); | 
 | 28 |     } | 
 | 29 |     return $string; | 
 | 30 | } | 
| matheusfillipe | c0ce7fa | 2021-05-13 05:15:37 -0300 | [diff] [blame^] | 31 |  | 
 | 32 | function template_path(string $lang_cc = null){ | 
 | 33 |     include "config.php"; | 
 | 34 |     if (isset($_SESSION["cc"])) | 
 | 35 |         $lang_cc = $GLOBALS["cc"]; | 
 | 36 |     if (isset($GLOBALS["cc"])) | 
 | 37 |         $lang_cc = $GLOBALS["cc"]; | 
 | 38 |     if ($lang_cc) | 
 | 39 |         $INCLUDE_STRINGS_PATH = "templates_".$lang_cc; | 
 | 40 |     else | 
 | 41 |         $INCLUDE_STRINGS_PATH = "templates"; | 
 | 42 |  | 
 | 43 |     if (isset($lang_cc) && !empty($lang_cc)) $TEMPLATE = $INCLUDE_STRINGS_PATH."/"; | 
 | 44 |     else $TEMPLATE = "templates/"; | 
 | 45 |  | 
 | 46 |     include $TEMPLATE.'strings.php'; | 
 | 47 |  | 
 | 48 |     if(!isset($RUNTIME_ERROR)){ | 
 | 49 |         include_once 'templates/strings.php'; | 
 | 50 |         echo $RUNTIME_ERROR->not_found; | 
 | 51 |         echo "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>"; | 
 | 52 |         echo format($RUNTIME_ERROR->template_not_found, ["template"=>$INCLUDE_STRINGS_PATH, "langcc"=>$LANG_CC]); | 
 | 53 |         die(); | 
 | 54 |     } | 
 | 55 |  | 
 | 56 |     return $TEMPLATE; | 
 | 57 | } |