rendered paste body<?php class TranszipsController extends AppController { var $name = 'Transzips'; var $uses = array('Assignment', 'Task', 'Answer'); var $components = array('xml'); function edit() { /*$xml = "<?xml version='1.0' encoding='iso-8859-1' ?>\n<event type="module" moduleID="9205" sortNum="1"><module>translate_zip</module> <advisor when="onLoad"><comment confirm="0">Welcome to TranslateZip! Translate the words per the instructions in each question. You must translate the words correctly in only two tries. Are you up for the challenge? </comment></advisor> <advisor when="onTypeInError"><comment confirm="0">Oops! You didn't spell the word(s) correctly. Try again. </comment></advisor> <advisor when="onFillInError"><comment confirm="0">Your answer is incorrect. You must replace the spaces with the proper letters to complete the word or phrase. </comment></advisor> <advisor when="onArrangeError"><comment confirm="0">Your answer is incorrect. You must rearrange the letters shown to spell the word or phrase. </comment></advisor> <advisor when="onSpaceOutError"><comment confirm="0">Your answer is incorrect. You must simply insert spaces to separate the words in the phrase properly. </comment></advisor> <advisor when="onListenError"><comment confirm="0">Your answer is incorrect. Listen to the audio carefully and { try again. </comment></advisor> <advisor when="onScatterError"><comment confirm="0">Your answer is incorrect. There are a lot of answers available to choose from, but only one is correct. Try again. </comment></advisor> <advisor when="onExit"><comment confirm="0">Ok, another round of TranslateZip is complete. Are you ready for something new? If so, you may continue on to the next module. </comment></advisor> <data><zipItem type="fillIn" dir="1" unit="word"><KE type="1" value="31267"></KE> <prePop>_oo_ _or__ng</prePop> <wordID>61995</wordID></zipItem> <zipItem type="arrange" dir="0" unit="word"><KE type="1" value="31268"></KE> <prePop>tealiungme</prePop> <wordID>61998</wordID></zipItem> <zipItem type="typeIn" dir="1" unit="word"><KE type="1" value="31270"></KE> <wordID>318</wordID></zipItem> <zipItem type="typeIn" dir="1" unit="phrase"><KE type="1" value="31271"></KE> <clueData>me llamo</clueData> <correctAnswer>my name is</correctAnswer></zipItem> <zipItem type="fillIn" dir="1" unit="phrase"><KE type="1" value="31272"></KE> <prePop>b__nas n__hes</prePop> <clueData>In the night you say?</clueData> <correctAnswer>buenas noches</correctAnswer></zipItem> <zipItem type="spaceOut" dir="0" unit="phrase"><KE type="1" value="31273"></KE> <prePop>comoestas</prePop> <clueData>how are you</clueData> <correctAnswer>como estas</correctAnswer></zipItem> <zipItem type="scatterPhrase" dir="1" unit="word"><KE type="1" value="31274"></KE> <prePop>cómo se dice:::cuántos:::cuántos años tienen:::</prePop> <correctAnswer>0</correctAnswer> <clueData></clueData></zipItem></data></event>"; */ //$xml = $this->Task->find(array('id' => 77897), 'task_text'); //pr($xml); $xml = $this->Task->field('task_text', array('Task.id' => 77897)); $parsed = $this->xml->import($xml, true); $questions = array(); //foreach ($parsed['event']['data'] as $datar) { foreach ($parsed['data']['zipitem'] as $data) { $newquestion = array(); $newquestion['type'] = $data['type']; $newquestion['dir'] = $data['dir']; $newquestion['unit'] = $data['unit']; if (isset($data['prepop'][0])) { $newquestion['prepop'][0] = $data['prepop'][0]; } else { $newquestion['prepop'][0] = 'No Prepop'; } if (isset($data['cluedata'][0])) { $newquestion['cluedata'][0] = $data['cluedata'][0]; } else { $newquestion['cluedata'][0] = 'No Clue'; } if (isset($data['correctanswer'][0])) { $newquestion['correctanswer'][0] = $data['correctanswer'][0]; } else { $newquestion['correctanswer'][0] = 'No Answer'; } if ($data['type'] == 'scatterPhrase') { $newquestion['prepop'][0] = explode(':::', $data['prepop'][0]); } $questions[] = $newquestion; } //} $this->set('questions', $questions); } function save($key = null, $type) { $xml = $this->Task->field('task_text', array('Task.id' => 77897)); $parsed = $this->xml->import($xml, true); $questions = array(); foreach ($parsed['data']['zipitem'] as $data) { $newquestion = array(); $newquestion['type'] = $data['type']; $newquestion['dir'] = $data['dir']; $newquestion['unit'] = $data['unit']; if (isset($data['prepop'][0])) { $newquestion['prepop'][0] = $data['prepop'][0]; } else { $newquestion['prepop'][0] = 'No Prepop'; } if (isset($data['cluedata'][0])) { $newquestion['cluedata'][0] = $data['cluedata'][0]; } else { $newquestion['cluedata'][0] = 'No Clue'; } if (isset($data['correctanswer'][0])) { $newquestion['correctanswer'][0] = $data['correctanswer'][0]; } else { $newquestion['correctanswer'][0] = 'No Answer'; } /*if ($data['type'] == 'scatterPhrase') { $newquestion['prepop'][0] = explode(':::', $data['prepop'][0]); }*/ $questions[] = $newquestion; } $newinfo = $this->data['Transzip']; if (is_numeric($key)) { --$key; $newquestion = array(); $newquestion['type'] = $type; $newquestion['dir'] = 1; $newquestion['unit'] = 'word'; $newquestion['correctanswer'][0] = $newinfo['correctanswer']; $newquestion['cluedata'][0] = $newinfo['cluedata']; if (isset($newinfo['prepop'])) { $newquestion['prepop'][0] = $newinfo['prepop']; } if ($type == 'scatterPhrase') { $newprepop = array(); $newprepop[] = $newinfo['correctanswer']; $newprepop[] = $newinfo['fakeanswer1']; $newprepop[] = $newinfo['fakeanswer2']; $newprepop[] = $newinfo['fakeanswer3']; $newquestion['prepop'][0] = implode(':::', $newprepop); } $questions[$key] = $newquestion; } else { $newquestion = array(); $newquestion['type'] = $type; $newquestion['dir'] = 1; $newquestion['unit'] = 'word'; $newquestion['correctanswer'][0] = $newinfo['correctanswer']; $newquestion['cluedata'][0] = $newinfo['cluedata']; if (isset($newinfo['prepop'])) { $newquestion['prepop'][0] = $newinfo['prepop']; } if ($type == 'scatterPhrase') { $newprepop = array(); $newprepop[] = $newinfo['correctanswer']; $newprepop[] = $newinfo['fakeanswer1']; $newprepop[] = $newinfo['fakeanswer2']; $newprepop[] = $newinfo['fakeanswer3']; $newquestion['prepop'][0] = implode(':::', $newprepop); } $questions[] = $newquestion; } $parsed['data']['zipitem'] = $questions; $xml = $this->xml->export($parsed, 'iso-8859-1'); $this->Task->id = 77897; $this->Task->save(array('task_text' => $xml, 'task_type' => 'transzips')); $this->flash('Question Added Successfully!', 'transzips/edit'); } function delete($key) { $xml = $this->Task->field('task_text', array('Task.id' => 77897)); $parsed = $this->xml->import($xml, true); $questions = array(); foreach ($parsed['data']['zipitem'] as $data) { $newquestion = array(); $newquestion['type'] = $data['type']; $newquestion['dir'] = $data['dir']; $newquestion['unit'] = $data['unit']; if (isset($data['prepop'][0])) { $newquestion['prepop'][0] = $data['prepop'][0]; } else { $newquestion['prepop'][0] = 'No Prepop'; } if (isset($data['cluedata'][0])) { $newquestion['cluedata'][0] = $data['cluedata'][0]; } else { $newquestion['cluedata'][0] = 'No Clue'; } if (isset($data['correctanswer'][0])) { $newquestion['correctanswer'][0] = $data['correctanswer'][0]; } else { $newquestion['correctanswer'][0] = 'No Answer'; } /*if ($data['type'] == 'scatterPhrase') { $newquestion['prepop'][0] = explode(':::', $data['prepop'][0]); }*/ $questions[] = $newquestion; } unset($questions[$key - 1]); $newquestions = array(); foreach ($questions as $question) { $newquestions[] = $question; } $parsed['data']['zipitem'] = $newquestions; $xml = $this->xml->export($parsed, 'iso-8859-1'); $this->Task->id = 77897; $this->Task->save(array('task_text' => $xml, 'task_type' => 'transzips')); $this->flash('Question Deleted Successfully!', 'transzips/edit'); } function fillin($key = null) { $xml = $this->Task->field('task_text', array('Task.id' => 77897)); $parsed = $this->xml->import($xml, true); $questions = array(); foreach ($parsed['data']['zipitem'] as $data) { $newquestion = array(); $newquestion['type'] = $data['type']; $newquestion['dir'] = $data['dir']; $newquestion['unit'] = $data['unit']; if (isset($data['prepop'][0])) { $newquestion['prepop'] = $data['prepop'][0]; } else { $newquestion['prepop'] = 'No Prepop'; } if (isset($data['cluedata'][0])) { $newquestion['cluedata'] = $data['cluedata'][0]; } else { $newquestion['cluedata'] = 'No Clue'; } if (isset($data['correctanswer'][0])) { $newquestion['correctanswer'] = $data['correctanswer'][0]; } else { $newquestion['correctanswer'] = 'No Answer'; } if ($data['type'] == 'scatterPhrase') { $newquestion['prepop'] = explode(':::', $data['prepop'][0]); } $questions[] = $newquestion; } if (empty($key)) { $this->set('key', 'new'); } else { $this->set('key', $key); } $this->set('question', $questions); } function typein($key = null) { $xml = $this->Task->field('task_text', array('Task.id' => 77897)); $parsed = $this->xml->import($xml, true); $questions = array(); foreach ($parsed['data']['zipitem'] as $data) { $newquestion = array(); $newquestion['type'] = $data['type']; $newquestion['dir'] = $data['dir']; $newquestion['unit'] = $data['unit']; if (isset($data['prepop'][0])) { $newquestion['prepop'] = $data['prepop'][0]; } else { $newquestion['prepop'] = 'No Prepop'; } if (isset($data['cluedata'][0])) { $newquestion['cluedata'] = $data['cluedata'][0]; } else { $newquestion['cluedata'] = 'No Clue'; } if (isset($data['correctanswer'][0])) { $newquestion['correctanswer'] = $data['correctanswer'][0]; } else { $newquestion['correctanswer'] = 'No Answer'; } if ($data['type'] == 'scatterPhrase') { $newquestion['prepop'] = explode(':::', $data['prepop'][0]); } $questions[] = $newquestion; } if (empty($key)) { $this->set('key', 'new'); } else { $this->set('key', $key); } $this->set('question', $questions); } function arrange($key = null) { $xml = $this->Task->field('task_text', array('Task.id' => 77897)); $parsed = $this->xml->import($xml, true); $questions = array(); foreach ($parsed['data']['zipitem'] as $data) { $newquestion = array(); $newquestion['type'] = $data['type']; $newquestion['dir'] = $data['dir']; $newquestion['unit'] = $data['unit']; if (isset($data['prepop'][0])) { $newquestion['prepop'] = $data['prepop'][0]; } else { $newquestion['prepop'] = 'No Prepop'; } if (isset($data['cluedata'][0])) { $newquestion['cluedata'] = $data['cluedata'][0]; } else { $newquestion['cluedata'] = 'No Clue'; } if (isset($data['correctanswer'][0])) { $newquestion['correctanswer'] = $data['correctanswer'][0]; } else { $newquestion['correctanswer'] = 'No Answer'; } if ($data['type'] == 'scatterPhrase') { $newquestion['prepop'] = explode(':::', $data['prepop'][0]); } $questions[] = $newquestion; } if (empty($key)) { $this->set('key', 'new'); } else { $this->set('key', $key); } $this->set('question', $questions); } function spaceout($key = null) { $xml = $this->Task->field('task_text', array('Task.id' => 77897)); $parsed = $this->xml->import($xml, true); $questions = array(); foreach ($parsed['data']['zipitem'] as $data) { $newquestion = array(); $newquestion['type'] = $data['type']; $newquestion['dir'] = $data['dir']; $newquestion['unit'] = $data['unit']; if (isset($data['prepop'][0])) { $newquestion['prepop'] = $data['prepop'][0]; } else { $newquestion['prepop'] = 'No Prepop'; } if (isset($data['cluedata'][0])) { $newquestion['cluedata'] = $data['cluedata'][0]; } else { $newquestion['cluedata'] = 'No Clue'; } if (isset($data['correctanswer'][0])) { $newquestion['correctanswer'] = $data['correctanswer'][0]; } else { $newquestion['correctanswer'] = 'No Answer'; } if ($data['type'] == 'scatterPhrase') { $newquestion['prepop'] = explode(':::', $data['prepop'][0]); } $questions[] = $newquestion; } if (empty($key)) { $this->set('key', 'new'); } else { $this->set('key', $key); } $this->set('question', $questions); } function scatterphrase($key = null) { $xml = $this->Task->field('task_text', array('Task.id' => 77897)); $parsed = $this->xml->import($xml, true); $questions = array(); foreach ($parsed['data']['zipitem'] as $data) { $newquestion = array(); $newquestion['type'] = $data['type']; $newquestion['dir'] = $data['dir']; $newquestion['unit'] = $data['unit']; if (isset($data['prepop'][0])) { $newquestion['prepop'] = $data['prepop'][0]; } else { $newquestion['prepop'] = 'No Prepop'; } if (isset($data['cluedata'][0])) { $newquestion['cluedata'] = $data['cluedata'][0]; } else { $newquestion['cluedata'] = 'No Clue'; } if (isset($data['correctanswer'][0])) { $newquestion['correctanswer'] = $data['correctanswer'][0]; } else { $newquestion['correctanswer'] = 'No Answer'; } if ($data['type'] == 'scatterPhrase') { $prepop = explode(':::', $data['prepop'][0]); $newquestion['correctanswer'] = $prepop[0]; $newquestion['fakeanswer1'] = $prepop[1]; $newquestion['fakeanswer2'] = $prepop[2]; $newquestion['fakeanswer3'] = $prepop[3]; } $questions[] = $newquestion; } if (empty($key)) { $this->set('key', 'new'); } else { $this->set('key', $key); } $this->set('question', $questions); } }?>