
- •С одержание
- •Введение
- •1 Теоретическая часть
- •Постановка задачи
- •1.2. Анализ предметной области
- •Требования к программному продукту
- •1.4. Средства реализации
- •1.5. Сравнительный анализ имеющихся средств
- •1.6. Критерии выбора
- •1.7. Выбор инструментальных средств
- •2. Практическая часть.
- •2.1. Моделирование предметной области
- •2.2. Технология создания программного продукта
- •2.3. Техническая реализация программного продукта, алгоритмы и коды
- •2.4. Внедрение и апробация программного продукта
- •2.5. Перспективы развития
- •2.6. Охрана труда
- •2.8. Инструкция пользователя
- •3 Организационно-экономическая часть
- •3.1 Расчёт затрат на внедрение ресурса
- •3.1.1 Расчёт себестоимости ресурса
- •3.1.2 Расчёт статьи «Материалы и комплектующие изделия»
- •3.1.3 Расчёт фонда заработной платы
- •3.1.4 Расчёт затрат на содержание и эксплуатацию оборудования
- •3.1.5 Расчёт накладных расходов
- •3.2 Экономическая эффективность разработки
- •Заключение
- •Список использованных источников (литературы)
- •Приложене а Приложение б
- •Приложение в
- •Приложение г
- •Приложение д
Приложение в
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) ;
}
}
}