| @@ 37-78 (lines=42) @@ | ||
| 34 | $myLP = learnpath::getLpFromSession(api_get_course_id(), $lpId, $userId); |
|
| 35 | $newItemId = 0; |
|
| 36 | $oldItemId = 0; |
|
| 37 | switch ($nextItem) { |
|
| 38 | case 'next': |
|
| 39 | $myLP->set_current_item($currentItem); |
|
| 40 | $myLP->next(); |
|
| 41 | $newItemId = $myLP->get_current_item_id(); |
|
| 42 | if ($debug > 1) { |
|
| 43 | error_log('In {next} - next item is '.$newItemId.'(current: '.$currentItem.')', 0); |
|
| 44 | } |
|
| 45 | break; |
|
| 46 | case 'previous': |
|
| 47 | $myLP->set_current_item($currentItem); |
|
| 48 | $myLP->previous(); |
|
| 49 | $newItemId = $myLP->get_current_item_id(); |
|
| 50 | if ($debug > 1) { |
|
| 51 | error_log('In {previous} - next item is '.$newItemId.'(current: '.$currentItem.')', 0); |
|
| 52 | } |
|
| 53 | break; |
|
| 54 | case 'first': |
|
| 55 | $myLP->set_current_item($currentItem); |
|
| 56 | $myLP->first(); |
|
| 57 | $newItemId = $myLP->get_current_item_id(); |
|
| 58 | if ($debug > 1) { |
|
| 59 | error_log('In {first} - next item is '.$newItemId.'(current: '.$currentItem.')', 0); |
|
| 60 | } |
|
| 61 | break; |
|
| 62 | case 'last': |
|
| 63 | break; |
|
| 64 | default: |
|
| 65 | // Should be filtered to check it's not hacked |
|
| 66 | if ($nextItem == $currentItem) { |
|
| 67 | // If we're opening the same item again. |
|
| 68 | $myLP->items[$currentItem]->restart(); |
|
| 69 | } else { |
|
| 70 | $oldItemId = $currentItem; |
|
| 71 | } |
|
| 72 | $newItemId = $nextItem; |
|
| 73 | $myLP->set_current_item($newItemId); |
|
| 74 | if ($debug > 1) { |
|
| 75 | error_log('In {default} - next item is '.$newItemId.'(current: '.$currentItem.')', 0); |
|
| 76 | } |
|
| 77 | break; |
|
| 78 | } |
|
| 79 | $myLP->start_current_item(true); |
|
| 80 | if ($myLP->force_commit) { |
|
| 81 | $myLP->save_current(); |
|
| @@ 47-86 (lines=40) @@ | ||
| 44 | */ |
|
| 45 | $mylp = learnpath::getLpFromSession(api_get_course_id(), $lp_id, $user_id); |
|
| 46 | $new_item_id = 0; |
|
| 47 | switch ($next_item) { |
|
| 48 | case 'next': |
|
| 49 | $mylp->set_current_item($current_item); |
|
| 50 | $mylp->next(); |
|
| 51 | $new_item_id = $mylp->get_current_item_id(); |
|
| 52 | if ($debug > 1) { |
|
| 53 | error_log('In {next} - next item is '.$new_item_id.'(current: '.$current_item.')', 0); |
|
| 54 | } |
|
| 55 | break; |
|
| 56 | case 'previous': |
|
| 57 | $mylp->set_current_item($current_item); |
|
| 58 | $mylp->previous(); |
|
| 59 | $new_item_id = $mylp->get_current_item_id(); |
|
| 60 | if ($debug > 1) { |
|
| 61 | error_log('In {previous} - next item is '.$new_item_id.'(current: '.$current_item.')', 0); |
|
| 62 | } |
|
| 63 | break; |
|
| 64 | case 'first': |
|
| 65 | $mylp->set_current_item($current_item); |
|
| 66 | $mylp->first(); |
|
| 67 | $new_item_id = $mylp->get_current_item_id(); |
|
| 68 | if ($debug > 1) { |
|
| 69 | error_log('In {first} - next item is '.$new_item_id.'(current: '.$current_item.')', 0); |
|
| 70 | } |
|
| 71 | break; |
|
| 72 | case 'last': |
|
| 73 | break; |
|
| 74 | default: |
|
| 75 | // Should be filtered to check it's not hacked. |
|
| 76 | if ($next_item == $current_item) { |
|
| 77 | // If we're opening the same item again. |
|
| 78 | $mylp->items[$current_item]->restart(); |
|
| 79 | } |
|
| 80 | $new_item_id = $next_item; |
|
| 81 | $mylp->set_current_item($new_item_id); |
|
| 82 | if ($debug > 1) { |
|
| 83 | error_log('In {default} - next item is '.$new_item_id.'(current: '.$current_item.')', 0); |
|
| 84 | } |
|
| 85 | break; |
|
| 86 | } |
|
| 87 | $mylp->start_current_item(true); |
|
| 88 | if ($mylp->force_commit) { |
|
| 89 | $mylp->save_current(); |
|