<?php

define('_inDir',dirname(__FILE__).'/../MOD/_');
date_default_timezone_set('America/New_York');
$go = isset($_GET['g']) && !empty($_GET['g']) ? $_GET['g'] : 'home';
$url = ''; $year = date('Y');

if($go !== 'home'){
    $f = isset($_GET['f']) ? $_GET['f'] : http_404();
    $t = isset($_GET['t']) ? $_GET['t'] : http_404();
}

if($go == 'adds'){$go ='theme/'.$t;}

include _inDir.$go.'.php';

function UN($u,$g = '0',$s = '',$is = ''){// $g = 0 默认 1 复数 2 单数 3 符号 4 复&单
$A = [//默认 => 默认单，符号，复数，单数

    'miles'=>['mile','mi','miles','mile'],
    'yards'=>['yard','yd','yards','yard'],
    'feet'=>['foot','ft','feet','foot'],
    'inches'=>['inch','in','inches','inch'],
    
    'km'=>['km','km','kilometers','kilometer'],
    'meters'=>['meter','m','meters','meter'],
    'dm'=>['decimeter','dm','decimeters','decimeter'],
    'cm'=>['cm','cm','centimeters','centimeter'],
    'mm'=>['mm','mm','millimeters','millimeter']

];
$s = empty($s) ? '0' : $s;
$Au = isset($A[$u]) ? $A[$u] : $u;
switch($g):
	case '0':$DW = $s == '1' ? $Au[0] : preg_replace('/\-/',' ',$u);break;
	case '1':$DW = $Au[2];break;
	case '2':$DW = $Au[3];break;
	case '3':$DW = $Au[1];break;
	case '4':$DW = $s == '1' ? $Au[3] : $Au[2];break;
endswitch;
return $is == 'y' ? $s.' '.$DW : $DW;
}


function rands($min,$max,$num,$decimal = 0){##生成随机数/ 最小/ 最大/ 数量 / x 
  $count = 0;
  $return = array();
  if($decimal !== 0){
        $min = $min * $decimal;
        $max = $max * $decimal;
  }
  while ($count < $num){
    if($decimal == 0){
        $return[] = (string)mt_rand($min, $max);
    }else{
        $return[] = (string)(mt_rand($min, $max) / $decimal);
    }
    $return = array_flip(array_flip($return));
    $count = count($return);
  }
  shuffle($return);
  return $return;
}

function cache($c,$a,$n='30'){## 记录
    $txturl =  _inDir.'cache/'.$a.'.txt';
    $counts = '1';
    if(file_exists($txturl)){##判断文件是否存在
        $txtarr = explode("\n",file_get_contents($txturl));##按行转数组
        $counts = (int)$txtarr[0] + 1;##计数
        array_shift($txtarr);##删除数组第一个即删计数
        array_unshift($txtarr,$c);##加入到开头
        $txtarr = array_unique($txtarr);##去重
        $txtarr = array_slice($txtarr,0,$n);##只取前N条
        $c = implode("\n",$txtarr);##数组变字符串
    }
    file_put_contents($txturl,$counts."\n".$c,LOCK_EX);
}

function read($a,$start = 4){##读取记录
    $txturl =  _inDir.'cache/'.$a.'.txt';
    if(file_exists($txturl)){
       $txtarr = explode("\n",file_get_contents($txturl));
       //array_shift($txtarr);
       return array_slice($txtarr,$start,24);
    }else{
       return '';
    }
}

function NoZero($num,$b = 3){ ##格式化数字
    $num = number_format($num,30,'.','');
	if(strpos($num,'.') !== false){ // 判断是否有小数点
		$arr = explode('.',$num);
		if($arr[0] == 0){//小于1
		    $o = strlen($arr[1]) - strlen(preg_replace('/^0+/','',$arr[1]));//判断小数点后连续几个0
		    $base =  $o >= $b ? $o + 2 : $b;
		}else{
		    $base = $b - strlen($arr[0]);
			if($base < $b) $base = $b;
		}
		if(strlen($arr[1]) > $base){ // 如果小数部分超过6位数，则保留6位数
			$num = number_format($num,$base,'.','');
		}
		$result = rtrim(rtrim($num,'0'),'.');
		return $result;
	}else{
		return $num;
    }
}

function cal($ss,$num,$b = '×',$cw = '30'){#计算###/数1/数2/方式/位数
  switch($b):
	case '+':$s = bcadd($ss,$num,$cw);break;
	case '-':$s = bcsub($ss,$num,$cw);break;
	case '×':$s = bcmul($ss,$num,$cw);break;
	case '÷':$s = bcdiv($ss,$num,$cw);break;
	case '%':$s = bcmod($ss,$num);break;
  endswitch;
  if(strpos($s,'.') !== false){
      return rtrim(rtrim($s,'0'),'.');
  }else{
      return $s;
  }
}


function http_404(){
	http_response_code(404);
	exit;
}
function http_301($l){
    Header("HTTP/1.1 301 Moved Permanently");
    Header("Location: ".$l);
    exit;
}
