diff --git a/app/Http/Controllers/AutograderController.php b/app/Http/Controllers/AutograderController.php index 2dbdb1e5135623c73a6193a4ee4dd4aeba8b0534..d85c833012b68b29e605460cd49434fe13aac95a 100644 --- a/app/Http/Controllers/AutograderController.php +++ b/app/Http/Controllers/AutograderController.php @@ -133,6 +133,15 @@ class AutograderController extends Controller $key_temp = preg_split("/[)\s,(-]+/", $keys[$i]); $answer_temp = preg_split("/[)\s,(-]+/", $answers[$i]); + $flag = 0; + $range_func = array("COUNTBLANK", "MDETERM", "MINVERSE", "SUMPRODUCT", "TRANSPOSE", "COLUMNS", "ROWS"); + foreach($range_func as $func) { + if (in_array('=' . $func, $answer_temp)) { + $flag = 1; + break; + } + } + $key = []; for($j=0; $j<count($key_temp); $j++) { if (!empty($key_temp[$j])) { @@ -145,39 +154,43 @@ class AutograderController extends Controller if (!empty($answer_temp[$j])) { $array = str_split($answer_temp[$j]); if (in_array(':', $array)) { - $idx = strpos($answer_temp[$j], ":"); - - $row_start_temp = ''; - $column_start = 0; - for ($k=0; $k<$idx; $k++) { - if ($k == 0) { - $column_start = ord($array[$k]); - } else { - $row_start_temp .= $array[$k]; + if ($flag == 0) { + $idx = strpos($answer_temp[$j], ":"); + + $row_start_temp = ''; + $column_start = 0; + for ($k=0; $k<$idx; $k++) { + if ($k == 0) { + $column_start = ord($array[$k]); + } else { + $row_start_temp .= $array[$k]; + } } - } - $row_start = intval($row_start_temp); - - $row_end_temp = ''; - $column_end = 0; - for ($k=$idx+1; $k<count($array); $k++) { - if ($k == $idx+1) { - $column_end = ord($array[$k]); - } else { - $row_end_temp .= $array[$k]; + $row_start = intval($row_start_temp); + + $row_end_temp = ''; + $column_end = 0; + for ($k=$idx+1; $k<count($array); $k++) { + if ($k == $idx+1) { + $column_end = ord($array[$k]); + } else { + $row_end_temp .= $array[$k]; + } } - } - $row_end = intval($row_end_temp); - - $new_arr = []; - for ($k=$column_start; $k<=$column_end; $k++) { - for ($l=$row_start; $l<=$row_end; $l++) { - $new_arr[] = chr($k) . strval($l); + $row_end = intval($row_end_temp); + + $new_arr = []; + for ($k=$column_start; $k<=$column_end; $k++) { + for ($l=$row_start; $l<=$row_end; $l++) { + $new_arr[] = chr($k) . strval($l); + } } - } - - foreach($new_arr as $n) { - $answer[] = $n; + + foreach($new_arr as $n) { + $answer[] = $n; + } + } else { + $answer[] = $answer_temp[$j]; } } else { $answer[] = $answer_temp[$j]; diff --git a/resources/views/course.blade.php b/resources/views/course.blade.php index 4c807cf816dd3d371092b18832701be7a5667703..e2a6382577df828ec12bca3cf7b4e28df7e44f50 100644 --- a/resources/views/course.blade.php +++ b/resources/views/course.blade.php @@ -226,7 +226,7 @@ <div class="col-md-4"> @if(Auth::user()->role == 0) <div class="card"> - <div class="card-header"><b>Progress</b></div> + <div class="card-header bg-primary text-white"><b>Progress</b></div> <div class="card-body"> <table class="table table-hover"> <thead>