Tools.php 5.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. namespace App\Tools;
  3. use Illuminate\Support\Facades\Log;
  4. class Tools
  5. {
  6. public static function zip($zipFile, $files)
  7. {
  8. $zip = new \ZipArchive;
  9. $res = $zip->open($zipFile, \ZipArchive::CREATE);
  10. if ($res === TRUE) {
  11. foreach ($files as $key => $value) {
  12. $zip->addFromString($key, $value);
  13. }
  14. $zip->close();
  15. return true;
  16. } else {
  17. return false;
  18. }
  19. }
  20. public static function isStop()
  21. {
  22. if (file_exists(base_path('.stop'))) {
  23. Log::debug('.stop exists');
  24. return true;
  25. } else {
  26. return false;
  27. }
  28. }
  29. public static function getWordEn($strIn)
  30. {
  31. $out = str_replace(
  32. ["ā", "ī", "ū", "ṅ", "ñ", "ṭ", "ḍ", "ṇ", "ḷ", "ṃ"],
  33. ["a", "i", "u", "n", "n", "t", "d", "n", "l", "m"],
  34. $strIn
  35. );
  36. return ($out);
  37. }
  38. public static function PaliReal($inStr): string
  39. {
  40. if (!is_string($inStr)) {
  41. return "";
  42. }
  43. $paliLetter = "abcdefghijklmnoprstuvyāīūṅñṭḍṇḷṃ";
  44. $output = [];
  45. $inStr = strtolower($inStr);
  46. for ($i = 0; $i < mb_strlen($inStr, "UTF-8"); $i++) {
  47. # code...
  48. if (strstr($paliLetter, $inStr[$i]) !== FALSE) {
  49. $output[] = $inStr[$i];
  50. }
  51. }
  52. return implode('', $output);
  53. }
  54. private static function convert($array, $xml)
  55. {
  56. foreach ($array as $key => $line) {
  57. # code...
  58. if (!is_array($line)) {
  59. $data = $xml->addChild($key, $line);
  60. } else {
  61. if (isset($line['value'])) {
  62. $value = $line['value'];
  63. unset($line['value']);
  64. } else {
  65. $value = "";
  66. }
  67. $obj = $xml->addChild($key, $value);
  68. if (isset($line['status'])) {
  69. $obj->addAttribute('status', $line['status']);
  70. unset($line['status']);
  71. }
  72. Tools::convert($line, $obj);
  73. }
  74. }
  75. return $xml;
  76. }
  77. public static function JsonToXml($inArray)
  78. {
  79. $xmlObj = simplexml_load_string("<word></word>");
  80. $xmlDoc = Tools::convert($inArray, $xmlObj);
  81. return $xmlDoc->asXml();
  82. }
  83. public static function MyToRm($input)
  84. {
  85. $my = ["ႁႏၵ", "ခ္", "ဃ္", "ဆ္", "ဈ္", "ည္", "ဌ္", "ဎ္", "ထ္", "ဓ္", "ဖ္", "ဘ္", "က္", "ဂ္", "စ္", "ဇ္", "ဉ္", "ဠ္", "ဋ္", "ဍ္", "ဏ္", "တ္", "ဒ္", "န္", "ဟ္", "ပ္", "ဗ္", "မ္", "ယ္", "ရ္", "လ္", "ဝ္", "သ္", "င္", "င်္", "ဿ", "ခ", "ဃ", "ဆ", "ဈ", "စျ", "ည", "ဌ", "ဎ", "ထ", "ဓ", "ဖ", "ဘ", "က", "ဂ", "စ", "ဇ", "ဉ", "ဠ", "ဋ", "ဍ", "ဏ", "တ", "ဒ", "န", "ဟ", "ပ", "ဗ", "မ", "ယ", "ရ", "႐", "လ", "ဝ", "သ", "aျ္", "aွ္", "aြ္", "aြ", "ၱ", "ၳ", "ၵ", "ၶ", "ၬ", "ၭ", "ၠ", "ၡ", "ၢ", "ၣ", "ၸ", "ၹ", "ၺ", "႓", "ၥ", "ၧ", "ၨ", "ၩ", "်", "ျ", "ႅ", "ၼ", "ွ", "ႇ", "ႆ", "ၷ", "ၲ", "႒", "႗", "ၯ", "ၮ", "႑", "kaၤ", "gaၤ", "khaၤ", "ghaၤ", "aှ", "aိံ", "aုံ", "aော", "aေါ", "aအံ", "aဣံ", "aဥံ", "aံ", "aာ", "aါ", "aိ", "aီ", "aု", "aဳ", "aူ", "aေ", "အါ", "အာ", "အ", "ဣ", "ဤ", "ဥ", "ဦ", "ဧ", "ဩ", "ႏ", "ၪ", "a္", "္", "aံ", "ေss", "ေkh", "ေgh", "ေch", "ေjh", "ေññ", "ေṭh", "ေḍh", "ေth", "ေdh", "ေph", "ေbh", "ေk", "ေg", "ေc", "ေj", "ေñ", "ေḷ", "ေṭ", "ေḍ", "ေṇ", "ေt", "ေd", "ေn", "ေh", "ေp", "ေb", "ေm", "ေy", "ေr", "ေl", "ေv", "ေs", "ေy", "ေv", "ေr", "ea", "eā", "၁", "၂", "၃", "၄", "၅", "၆", "၇", "၈", "၉", "၀", "း", "့", "။", "၊"];
  86. $en = ["ndra", "kh", "gh", "ch", "jh", "ññ", "ṭh", "ḍh", "th", "dh", "ph", "bh", "k", "g", "c", "j", "ñ", "ḷ", "ṭ", "ḍ", "ṇ", "t", "d", "n", "h", "p", "b", "m", "y", "r", "l", "v", "s", "ṅ", "ṅ", "ssa", "kha", "gha", "cha", "jha", "jha", "ñña", "ṭha", "ḍha", "tha", "dha", "pha", "bha", "ka", "ga", "ca", "ja", "ña", "ḷa", "ṭa", "ḍa", "ṇa", "ta", "da", "na", "ha", "pa", "ba", "ma", "ya", "ra", "ra", "la", "va", "sa", "ya", "va", "ra", "ra", "္ta", "္tha", "္da", "္dha", "္ṭa", "္ṭha", "္ka", "္kha", "္ga", "္gha", "္pa", "္pha", "္ba", "္bha", "္ca", "္cha", "္ja", "္jha", "္a", "္ya", "္la", "္ma", "္va", "္ha", "ssa", "na", "ta", "ṭṭha", "ṭṭa", "ḍḍha", "ḍḍa", "ṇḍa", "ṅka", "ṅga", "ṅkha", "ṅgha", "ha", "iṃ", "uṃ", "o", "o", "aṃ", "iṃ", "uṃ", "aṃ", "ā", "ā", "i", "ī", "u", "u", "ū", "e", "ā", "ā", "a", "i", "ī", "u", "ū", "e", "o", "n", "ñ", "", "", "aṃ", "sse", "khe", "ghe", "che", "jhe", "ññe", "ṭhe", "ḍhe", "the", "dhe", "phe", "bhe", "ke", "ge", "ce", "je", "ñe", "ḷe", "ṭe", "ḍe", "ṇe", "te", "de", "ne", "he", "pe", "be", "me", "ye", "re", "le", "ve", "se", "ye", "ve", "re", "e", "o", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "”", "’", ".", ","];
  87. return str_replace($my, $en, $input);
  88. }
  89. }