Beispiel #1
0
 public function actionImportMongo2()
 {
     $params = ImportData::importMongoDB2($_POST);
     return Rest::json($params);
 }
Beispiel #2
0
			    					<?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"/>
Beispiel #3
0
 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;
 }
Beispiel #4
0
{
    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;
Beispiel #5
0
 /**
  * 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;
 }
Beispiel #6
0
 public function actionTraiterMappingJson()
 {
     if (isset($_POST['tabmapping'])) {
         $params = ImportData::createMappingWithJSON($_POST);
         return Rest::json($params);
     }
 }
Beispiel #7
0
 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;
 }