public function import($file, $post) { $config = Zend_Registry::get('config'); $wsServiceImportModel = new WsServiceImport(); $wsServiceImportMessageModel = new WsServiceImportMessage(); $identity = Zend_Auth::getInstance()->getIdentity(); // dodanie informacji o imporcie $importInfo = array('ws_service_set_id' => $post['ws_service_set_id'], 'file_type' => $post['file_type'], 'created_by' => $identity->id); $importID = $wsServiceImportModel->insert($importInfo); //pobranie danych z csv $path = $config['uploads']['destination']; $data = array(); if ($fp = fopen($path . $file, 'r')) { $i = 0; while (!feof($fp)) { $row = fgetcsv($fp, filesize($path . $file), ';'); $data[$i] = $row; $i++; } fclose($fp); } //przygotowanie danych $headers = $data[0]; unset($data[0]); foreach ($data as $val) { if ($val) { $insertArray = array('ws_import_set_id' => $importID, 'phone_number' => $val[0]); switch ($post['file_type']) { case Logic_Ws_ServiceSet_ServiceSet::TYPE_CONST: break; case Logic_Ws_ServiceSet_ServiceSet::TYPE_VAR: $valTmp = $val; unset($headers[0]); unset($valTmp[0]); $tagsArray = array_combine($headers, $valTmp); if (empty($tagsArray)) { throw new Exception('Tags not found!'); } $insertArray = array_merge($insertArray, array('tags' => Zend_Json::encode($tagsArray))); break; case Logic_Ws_ServiceSet_ServiceSet::TYPE_ANY: $insertArray = array_merge($insertArray, array('message' => $val[1])); break; } //insert do bazy $wsServiceImportMessageModel->insert($insertArray); } } }