public function actionImportMongo2() { $params = ImportData::importMongoDB2($_POST); return Rest::json($params); }
<?php if ($createLink) { foreach ($arrayCSV[0] as $key => $value) { echo '<option value="' . $key . '">' . $value . '</option>'; } } ?> </select> </td> <td> <select id="selectLinkCollection" class="col-sm-12"> <?php if ($createLink) { $params = array("_id" => new MongoId($idCollection)); $fields = array("mappingFields"); $fieldsCollection = ImportData::getMicroFormats($params, $fields); foreach ($fieldsCollection as $key => $value) { $pathMapping = FileHelper::arbreJson($value['mappingFields'], "", ""); $arrayPathMapping = explode(";", $pathMapping); foreach ($arrayPathMapping as $keyPathMapping => $valuePathMapping) { if (!empty($valuePathMapping)) { echo '<option name="optionLinkCollection" value="' . $valuePathMapping . '">' . $valuePathMapping . '</option>'; } } } } ?> </select> </td> <td> <input type="submit" id="addMapping" class="btn btn-primary col-sm-12" value="Ajouter"/>
public static function previewData($post) { /**** new ****/ if (isset($post['infoCreateData']) && isset($post['idCollection']) && isset($post['subFile']) && isset($post['nameFile'])) { $pathSubFile = '../../modules/cityData/filesImportData/' . $post['nameFile'] . '/' . $post['subFile']; $arrayCSV = new SplFileObject($pathSubFile, 'r'); $arrayCSV->setFlags(SplFileObject::READ_CSV); $arrayCSV->setCsvControl(',', '"', '"'); $i = 0; while (!$arrayCSV->eof() && $i == 0) { $arrayHeadCSV = $arrayCSV->fgetcsv(); $i++; } $i = 0; // On parcourt les lignes du CSV foreach ($arrayCSV as $keyCSV => $lineCSV) { // On rejet la premier lignes qui correspond a l'en-tete, et les lignes qui seraient null if ($i > 0 && $lineCSV[0] != null) { if ($i % 500 == 0) { set_time_limit(30); } foreach ($post['infoCreateData'] as $key => $objetInfoData) { //$objetInfoData->idHeadCSV; //$objetInfoData->valueLinkCollection; $valueData = $lineCSV[$objetInfoData['idHeadCSV']]; //var_dump($valueData); if (!empty($valueData)) { $paramsInfoCollection = array("_id" => new MongoId($post['idCollection'])); $fieldsInfoCollection = array("mappingFields." . $objetInfoData['valueLinkCollection']); $infoCollection = ImportData::getMicroFormats($paramsInfoCollection); //var_dump($infoCollection) ; $mappingTypeData = explode(".", $post['idCollection'] . ".mappingFields." . $objetInfoData['valueLinkCollection']); $typeData = FileHelper::get_value_json($infoCollection, $mappingTypeData); /*var_dump($mappingTypeData) ; var_dump($typeData) ; */ $mapping = explode(".", $objetInfoData['valueLinkCollection']); if (isset($jsonData[$mapping[0]])) { if (count($mapping) > 1) { $newmap = array_splice($mapping, 1); $jsonData[$mapping[0]] = FileHelper::create_json_with_father($newmap, $valueData, $jsonData[$mapping[0]], $typeData); } else { $jsonData[$mapping[0]] = $valueData; } } else { if (count($mapping) > 1) { $newmap = array_splice($mapping, 1); $jsonData[$mapping[0]] = FileHelper::create_json($newmap, $valueData, $typeData); } else { $jsonData[$mapping[0]] = $valueData; } } } } $newOrganization = Organization::newOrganizationFromImportData($jsonData); //var_dump($newOrganization); try { $arrayJson[] = Organization::getAndCheckOrganization($newOrganization); } catch (CTKException $e) { $newOrganization["msgError"] = $e->getMessage(); $arrayJsonError[] = $newOrganization; } //var_dump($arrayJson); } $i++; } if (!isset($arrayJson)) { $arrayJson = []; } if (!isset($arrayJsonError)) { $arrayJsonError = []; } $params = array("result" => true, "jsonImport" => json_encode($arrayJson), "jsonError" => json_encode($arrayJsonError)); } else { $params = array("result" => false); } return $params; }
{ public function init() { $this->_name = 'data'; $this->_primary = 'no'; $this->_columns['no'] = array('type' => 'varchar'); $this->_columns['data'] = array('type' => 'text'); } } $db = new Pix_Table_Db_Adapter_Sqlite($file); ImportData::setDb($db); $wdb = UnitData::getDb(); $table = UnitData::getTable(); $insert_data = array(); $insert_unit = array(); foreach (ImportData::search(1)->order('no')->volumemode(10000) as $importdata) { $data = json_decode($importdata->data); // 只處理商業登記 if ('商業登記' !== $data->{'類型'}) { continue; } $insert_unit[] = "(" . intval($importdata->no) . ", 2, {$data->fetch_at})"; foreach ($data as $name => $value) { // 類型和商業統一編號不需要了 $name = trim($name); if (in_array($name, array('類型', '商業統一編號', 'fetch_at'))) { continue; } if (!($column_id = $columns[$name])) { $c = ColumnGroup::insert(array('name' => $name)); $column_id = $c->id;
/** * Compare import data with data in database * @param \Application\models\ImportData|\ImportData|\ImportFile $file * @throws \Exception * @internal param $tmpFolder - folder for temporary files * @return array */ public function compare(ImportData $file) { $dataImport = $file->open(); if (count($dataImport) == 0) { throw new \Exception("Import data empty!"); } $compareResult = $this->makeCompare($dataImport); // print_r($compareResult); return $compareResult; }
public function actionTraiterMappingJson() { if (isset($_POST['tabmapping'])) { $params = ImportData::createMappingWithJSON($_POST); return Rest::json($params); } }
public static function useCSV($file, $post) { header('Content-Type: text/html; charset=UTF-8'); if (isset($file['fileimport'])) { $csv = new SplFileObject($file['fileimport']['tmp_name'], 'r'); $csv->setFlags(SplFileObject::READ_CSV); $csv->setCsvControl($post['separateurDonnees'], $post['separateurTexte'], '"'); $arrayNameFile = explode(".", $file['fileimport']['name']); $path = '../../modules/cityData/filesCityData/' . $arrayNameFile[0] . '/'; if (!file_exists($path)) { mkdir($path, 0777); } $countLine = 0; $countFile = 1; foreach ($csv as $key => $value) { $tabCSV[$key] = $value; if ($key == 0) { $headerCSV = $value; } if ($countLine == 0 || $key == 0) { $arrayCSV[0] = $headerCSV; } else { $arrayCSV[$countLine] = $value; } if ($countLine == 5000) { $nameFile = $arrayNameFile[0] . '_' . $countFile . '.csv'; ImportData::createCSV($arrayCSV, $nameFile, $path); $countLine = 0; $countFile++; $arrayCSV = array(); } else { $countLine++; } } $nameFile = $arrayNameFile[0] . '_' . $countFile . '.csv'; ImportData::createCSV($arrayCSV, $nameFile, $path); //Yii::app()->session["tabCSV"] = $tabCSV; $params = array("result" => true, "tabCSV" => $tabCSV, "separateur" => $post['separateurDonnees'], "nameFile" => $file['fileimport']['name'], "choose" => $post['choose']); if ($post['choose'] == "modify") { $params['chooseMapping'] = $post['chooseMapping']; } } else { $params = array("choose" => false, "result" => false); } return $params; }