1
0

Timming.php 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace app\api\controller;
  3. use think\Controller;
  4. class Timming extends Base
  5. {
  6. public function __construct()
  7. {
  8. parent::__construct();
  9. }
  10. public function index()
  11. {
  12. $param = input('get.','','trim,urldecode');
  13. $name = $param['name'];
  14. if(empty($name)){
  15. //return $this->error('参数错误!');
  16. }
  17. $list = config('timming');
  18. foreach($list as $k=>$v){
  19. if(!empty($name) && $v['name'] !=$name){
  20. continue;
  21. }
  22. if(!empty($v['runtime'])) { $oldweek= date('w',$v['runtime']); $oldhours= date('H',$v['runtime']); }
  23. $curweek= date('w',time()) ; $curhours= date("H",time());
  24. if(strlen($oldhours)==1 && intval($oldhours) <10){ $oldhours= '0'.$oldhours; }
  25. if(strlen($curhours)==1 && intval($curhours) <10){ $curhours= substr($curhours,1,1); }
  26. $last = (!empty($v['runtime']) ? date('Y-m-d H:i:s',$v['runtime']) : lang('api/never'));
  27. $status = $v['status'] == '1' ? lang('open'): lang('close');
  28. //测试
  29. //$v['runtime']=0;
  30. if( $v['status']=='1' &&
  31. ( empty($v['runtime']) || ($oldweek."-".$oldhours) != ($curweek."-".$curhours) && strpos($v['weeks'],$curweek)!==false && strpos($v['hours'],$curhours)!==false || $param['enforce'] =='1')
  32. ) {
  33. mac_echo( lang('api/task_tip_exec',[$v['name'] ,$status,$last]));
  34. $list[$k]['runtime'] = time();
  35. $res = mac_arr2file( APP_PATH .'extra/timming.php', $list);
  36. if($res===false){
  37. return $this->error(lang('write_err_config'));
  38. }
  39. $this->reset();
  40. $file = $v['file'];
  41. $this->$file($v['param']);
  42. die;
  43. }
  44. else{
  45. mac_echo(lang('api/task_tip_jump',[$v['name'] ,$status,$last]));
  46. }
  47. }
  48. }
  49. private function reset()
  50. {
  51. foreach($_REQUEST as $k=>$v){
  52. $_REQUEST[$k]='';
  53. }
  54. }
  55. protected function collect($param)
  56. {
  57. @parse_str($param,$output);
  58. $request = controller('admin/collect');
  59. $request->api($output);
  60. }
  61. protected function make($param)
  62. {
  63. @parse_str($param,$output);
  64. $request = controller('admin/make');
  65. $request->make($output);
  66. }
  67. protected function cj($param)
  68. {
  69. @parse_str($param,$output);
  70. $request = controller('admin/cj');
  71. $request->col_all($output);
  72. }
  73. protected function cache($param)
  74. {
  75. @parse_str($param,$output);
  76. $request = controller('admin/index');
  77. $request->clear();
  78. }
  79. protected function urlsend($param)
  80. {
  81. @parse_str($param,$output);
  82. $request = controller('admin/urlsend');
  83. $request->push($output);
  84. }
  85. }