Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом(Пример).docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
787.82 Кб
Скачать

Приложение в

public function importAction()

{

/*..*/

$request = $this->getRequest();

$form = new Forms_import();

$this->view->form = $form;

$answers = new Models_DbTable_Answers();

$test = new Models_DbTable_Tests();

$quests = new Models_DbTable_Questions();

if ($request->isPost()) {

if ($form->isValid($request->getPost())) {

$file = $form->data->getFileInfo();

$ext = split("[/\\.]", $file['data']['name']);

$newName = 'newname.' . $ext[count($ext) - 1];

$form->data->addFilter('Rename', realpath(dirname('.')) .

DIRECTORY_SEPARATOR .

'upload' .

DIRECTORY_SEPARATOR .

$newName);

$text = new Models_Import();

$form->data->receive();

$data = explode(';', $text->docx2text('upload/' . $newName));

$i = 0;

foreach ($data as $index => $value) {

if ($index == 0) {

$array[0]['settings']['uid'] = substr(md5($value), 0, 5);

$array[0]['settings']['name'] = $value;

$array[0]['settings']['time'] = 60;

$array[0]['settings']['description'] = $value;

continue;

}

if ($value{0} == '=') {

$array[0]['questions'][$i]['question'] = substr($value, 1);

$array[0]['questions'][$i]['type'] = 'radio';

$array[0]['questions'][$i]['level'] = 1;

$i++;

$a = 0;

continue;

}

if ($index == sizeof($data) - 1) {

continue;

}

$array[0]['questions'][$i - 1]['answers'][$a]['value1'] = 'false';

$array[0]['questions'][$i - 1]['answers'][$a]['value2'] = $value;

$a++;

}

$con = new Models_Constructor();

$con = $con->unArray($array);

/*

Insert data to tables

*/

$error = false;

try {

for ($i = 0; $i < sizeof($con[0]); $i++)

{

$test->insertData($con[0][$i]);

}

for ($i = 0; $i < sizeof($con[1]); $i++)

{

$quests->insertData($con[1][$i]);

}

for ($i = 0; $i < sizeof($con[2]); $i++)

{

$answers->insertData($con[2][$i]);

}

} catch (Exception $e) {

print Zend_Json::encode(array('alert-error', $e->getMessage()));

$error = true;

}

if (!$error) print Zend_Json::encode(array('alert-success', 'Успешно импортировано'));

unlink('upload/' . $newName);

// print '<pre>';

// print_r($array) ;

}

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]