当前提交
						272c343a9c
					
				
					共有  3 个文件被更改,包括 14 次插入 和 13 次删除
				
			
		|  | @ -597,7 +597,7 @@ class QSO extends CI_Controller { | ||||||
|       // Allow empty locator
 |       // Allow empty locator
 | ||||||
|       if (preg_match('/^$/', $grid)) return true; |       if (preg_match('/^$/', $grid)) return true; | ||||||
|       // Allow 6-digit locator
 |       // Allow 6-digit locator
 | ||||||
|       if (preg_match('/^[A-Ra-r]{2}[0-9]{2}[A-Za-z]{2}$/', $grid)) return true; |       if (preg_match('/^[A-Ra-r]{2}[0-9]{2}[A-Xa-x]{2}$/', $grid)) return true; | ||||||
|       // Allow 4-digit locator
 |       // Allow 4-digit locator
 | ||||||
|       else if (preg_match('/^[A-Ra-r]{2}[0-9]{2}$/', $grid)) return true; |       else if (preg_match('/^[A-Ra-r]{2}[0-9]{2}$/', $grid)) return true; | ||||||
|       // Allow 4-digit grid line
 |       // Allow 4-digit grid line
 | ||||||
|  | @ -607,7 +607,9 @@ class QSO extends CI_Controller { | ||||||
|       // Allow 2-digit locator
 |       // Allow 2-digit locator
 | ||||||
|       else if (preg_match('/^[A-Ra-r]{2}$/', $grid)) return true; |       else if (preg_match('/^[A-Ra-r]{2}$/', $grid)) return true; | ||||||
|       // Allow 8-digit locator
 |       // Allow 8-digit locator
 | ||||||
|       else if (preg_match('/^[A-Ra-r]{2}[0-9]{2}[A-Za-z]{2}[0-9]{2}$/', $grid)) return true; |       else if (preg_match('/^[A-Ra-r]{2}[0-9]{2}[A-Xa-x]{2}[0-9]{2}$/', $grid)) return true; | ||||||
|  |       // Allow 10-digit locator
 | ||||||
|  |       else if (preg_match('/^[A-Ra-r]{2}[0-9]{2}[A-Xa-x]{2}[0-9]{2}[A-Xa-x]{2}$/', $grid)) return true; | ||||||
|       else { |       else { | ||||||
|          $this->form_validation->set_message('check_locator', 'Please check value for grid locator ('.strtoupper($grid).').'); |          $this->form_validation->set_message('check_locator', 'Please check value for grid locator ('.strtoupper($grid).').'); | ||||||
|          return false; |          return false; | ||||||
|  |  | ||||||
|  | @ -215,16 +215,17 @@ function qra2latlong($strQRA) { | ||||||
|        } |        } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if ((strlen($strQRA) % 2 == 0) && (strlen($strQRA) <= 8)) {	// Check if QRA is EVEN (the % 2 does that) and smaller/equal 8
 |     if ((strlen($strQRA) % 2 == 0) && (strlen($strQRA) <= 10)) {	// Check if QRA is EVEN (the % 2 does that) and smaller/equal 8
 | ||||||
|         $strQRA = strtoupper($strQRA); |         $strQRA = strtoupper($strQRA); | ||||||
| 	if (strlen($strQRA) == 4)  $strQRA .= "MM";	// Only 4 Chars? Fill with center "MM"
 | 	if (strlen($strQRA) == 4)  $strQRA .= "LL";	// Only 4 Chars? Fill with center "LL" as only A-R allowed
 | ||||||
| 	if (strlen($strQRA) == 6)  $strQRA .= "55";	// Only 6 Chars? Fill with center "55"
 | 	if (strlen($strQRA) == 6)  $strQRA .= "55";	// Only 6 Chars? Fill with center "55"
 | ||||||
|  | 	if (strlen($strQRA) == 8)  $strQRA .= "LL";	// Only 8 Chars? Fill with center "LL" as only A-R allowed
 | ||||||
| 
 | 
 | ||||||
|         if (!preg_match('/^[A-R]{2}[0-9]{2}[A-X]{2}[0-9]{2}$/', $strQRA)) { |         if (!preg_match('/^[A-R]{2}[0-9]{2}[A-X]{2}[0-9]{2}[A-X]{2}$/', $strQRA)) { | ||||||
|             return false; |             return false; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         list($a, $b, $c, $d, $e, $f, $g, $h) = str_split($strQRA, 1);	// Maidenhead is always alternating. e.g. "AA00AA00AA00" - doesn't matter how deep. 2 chars, 2 numbers, etc.
 |         list($a, $b, $c, $d, $e, $f, $g, $h, $i, $j) = str_split($strQRA, 1);	// Maidenhead is always alternating. e.g. "AA00AA00AA00" - doesn't matter how deep. 2 chars, 2 numbers, etc.
 | ||||||
|         $a = ord($a) - ord('A'); |         $a = ord($a) - ord('A'); | ||||||
|         $b = ord($b) - ord('A'); |         $b = ord($b) - ord('A'); | ||||||
|         $c = ord($c) - ord('0'); |         $c = ord($c) - ord('0'); | ||||||
|  | @ -233,9 +234,11 @@ function qra2latlong($strQRA) { | ||||||
|         $f = ord($f) - ord('A'); |         $f = ord($f) - ord('A'); | ||||||
|         $g = ord($g) - ord('0'); |         $g = ord($g) - ord('0'); | ||||||
|         $h = ord($h) - ord('0'); |         $h = ord($h) - ord('0'); | ||||||
|  |         $i = ord($i) - ord('A'); | ||||||
|  |         $j = ord($j) - ord('A'); | ||||||
| 
 | 
 | ||||||
| 	$nLong = ($a*20) + ($c*2) + (($e+0.5)/12) + (($g-5)/120) - 180;	// the 4th pair is "in the middle", so we've to substract 5
 |         $nLong = ($a*20) + ($c*2) + ($e/12) + ($g/120) + ($i/2880) - 180; | ||||||
| 	$nLat = ($b*10) + $d + (($f+0.5)/24) + (($h-5)/240) - 90; |         $nLat = ($b*10) + $d + ($f/24) + ($h/240) + ($j/5760) - 90; | ||||||
| 
 | 
 | ||||||
|         $arLatLong = array($nLat, $nLong); |         $arLatLong = array($nLat, $nLong); | ||||||
|         return $arLatLong; |         return $arLatLong; | ||||||
|  |  | ||||||
|  | @ -128,12 +128,8 @@ | ||||||
|                         <td><?php echo lang('general_total_distance'); //Total distance ?></td>
 |                         <td><?php echo lang('general_total_distance'); //Total distance ?></td>
 | ||||||
|                         <td> |                         <td> | ||||||
|                             <?php |                             <?php | ||||||
|                                 // Load the QRA Library
 |  | ||||||
|                                 $CI =& get_instance(); |  | ||||||
|                                 $CI->load->library('qra'); |  | ||||||
| 
 |  | ||||||
|                                 // Cacluate Distance
 |                                 // Cacluate Distance
 | ||||||
|                                 $distance = $CI->qra->distance($row->station_gridsquare, $row->COL_GRIDSQUARE, $measurement_base); |                                 $distance = $this->qra->distance($row->station_gridsquare, $row->COL_GRIDSQUARE, $measurement_base); | ||||||
| 
 | 
 | ||||||
|                                 switch ($measurement_base) { |                                 switch ($measurement_base) { | ||||||
|                                     case 'M': |                                     case 'M': | ||||||
|  |  | ||||||
		正在加载…
	
		在新工单中引用