ERROR: '.$msg.'
'); } print(''); exit; } // Get mails $mh=file(__DIR__.'/../mailhash',FILE_IGNORE_NEW_LINES & FILE_SKIP_EMPTY_LINES); foreach($mh as $line){ if(substr($line, 0, 1)!='#'){ $field=explode("\t", $line); $mails[$field[0]]=$field[1]; } } $upload=htmlspecialchars(basename($_FILES['file']['name'])); $key=htmlspecialchars(@$_POST['streamkey']); $date=htmlspecialchars(@$_POST['date']); $time=htmlspecialchars(@$_POST['time']); $email=htmlspecialchars(@$_POST['email']); $target=htmlspecialchars(@$_POST['target']); $id=htmlspecialchars(@$_POST['id']); if(empty($id)){ $id='_'; } if(substr($id, 0, 1)!=='_'){ $countdown=substr($id, 1); $id=substr($id, 0, 1); } if($email){ $to=$email; $email=':'.$email; }else{ $to=$mails[$user]; } $hour=substr($time, 0, 2); $min=substr($time, 3, 2); $tme=$hour.$min; $dir='streams/'; $name=$key.'.'.$date.'_'.$tme.$id.$user.$email.'@'.$target; $file=$dir.$name.'.upload'; print('User: '.$user.'
Uploaded '.$upload.'
'); if(preg_match('/20[0-9][0-9]-[0-1][0-9]-[0-3][0-9]/', $date)===false){ Back('Date somehow incorrect: '.$date); } if(preg_match('/[0-2][0-9]:[0-6][0-9]/', $time)===false){ Back('Time somehow incorrect: '.$time); } $now=date('Y-m-dHi'); if(strcmp($now, $date.$tme)>=0){ Back('Scheduling '.$now.' in the past: '.$date.' '.$time); } $nextyear=date('Y-m-dHi', strtotime('+1 year')); if(strcmp($nextyear, $date.$tme)<0){ Back('Scheduling too far into the future: '.$date.' '.$time); } if($_FILES['file']['error']!=UPLOAD_ERR_OK){ Back('Error uploading the file'); } if(!move_uploaded_file($_FILES['file']['tmp_name'], $file)){ Back('Error moving the file'); } print('Streaming '.$name.'.mp4');
if(isset($countdown)){
print('
using '.$countdown.'');
}
print('
When done encoding, email '.$to.'
Streaming on '.$date.' at '.$time.'h on '.$target.'
'); Back(''); ?>