// // MovieLib for XYplorer by fishgod 2017-2019 // include_once 'functions.inc.xys'; function addToken($list, $entry) { if($list != "") { $list .= "|"; } $list .= $entry; return $list; } function condenseList($seasons) { $seasons = formatlist($seasons, 'sdn'); //s: sort, d: remove-duplicates, n: natural sort $c = getToken($seasons, "count", "|"); $i = 1; $dStart = getToken($seasons, $i, "|"); $i++; $string = $dStart; $window = 0; $dLast = ''; $killDLast = false; while($i <= $c) { $d = getToken($seasons, $i, "|"); $dSet = false; if($d == $dLast) { $i++; continue; } if($d == $dStart+1+$window) { $window++; } else { if($window > 0) { $string .= "-"; } else { $string .= ", "; } $string .= $dLast; if($window > 0) { $string .= ", "; } $string .= $d; $dSet = true; $window = 0; $dStart = $d; } $i++; $dLast = $d; if($dSet) { $dLast = ""; } } if($dLast != "") { if($window > 0) { $string .= "-"; } else { $string .= ", "; } $string .= $dLast; } return $string; } function langListIso() { return <<") { $iso3 .= "".N($list, 0, '', ':'); } return trim($iso3, ); } function langFromFilename($fileName, $default) { $lang = regexmatches($fileName, "\.([a-z]{3})\."); if($lang == "") { $lang = regexmatches($fileName, "\(([a-z]{3})\)"); } if($lang != "") { $lang = substr($lang, 1, -1); //strip from ".eng." or "(eng)" $list = langListIso(); return A($list, $lang, $default, , ':', 3, 1); } else { return $default; } } function iso3iso2($iso3) { $list = langListIso(); return A($list, $iso3, "??", , ':', ,, true); } function lang2iso3($lang) { $list = langListIso(); $iso3 = A($list, $lang, recase(substr($lang, 0, 3), 'l'), , ':', 1, 3); return $iso3; } function lang2iso2($lang) { return iso3iso2(lang2iso3($lang)); } function getLangFromIdx($fileName, $default = '') { $lang = ""; $langList = langListIso(); $idxContent = readfile($fileName, 't', 2048); foreach($idxLine, $idxContent, chr(10)) { //chr(10) = 0x0A = \n = line feed if(substr($idxLine, 0, 3) == "id:") { foreach($langTest, $langList, ) { if(getToken($langTest, 2, ":") == substr($idxLine, 4, 2)) { return getToken($langTest, 1, ":"); } } break; } } return $default; }