features); // usort($geojson->features, "featureCompare"); $x = 0; foreach ($storesArr as $store) { $match = false; foreach ($geojson->features as $feature) { if (isset($feature->properties->name)) { $name = $feature->properties->name; if (trim(strtolower($store)) === trim(strtolower($feature->properties->name))) { $match = true; $matchedStores++; $nQuery = db_query('SELECT nid FROM node_field_data WHERE title LIKE :title AND type = :type AND langcode = :langcode', array( ':title' => $store, ':type' => 'boutique', ':langcode' => 'en', ))->fetchField(); if ($nQuery > 0) { $featureData = json_encode($feature->geometry); $matchedNodes++; $term = \Drupal\taxonomy\Entity\Term::create([ 'name' => 'AD' . $x, 'vid' => 'zone', ])->save(); if ($term) { $tidQ = array_values(\Drupal::entityQuery('taxonomy_term') ->condition('vid', 'zone') ->condition('name', 'AD' . $x) ->execute()); } if ($tidQ != null && is_array($tidQ) && count($tidQ) > 0) { $zoneNodeSaveAttempt = null; if (isset($feature->properties->level)) { $zoneNode = Node::create([ 'type' => 'zone', 'body' => $name, 'title' => 'AD' . $x, 'field_sector_code' => 55, 'field_feature_data' => $featureData, 'field_zone_code' => $tidQ[0], 'field_levels' => $feature->properties->level, ]); } $zoneNodeSaveAttempt = $zoneNode->save(); if ($zoneNodeSaveAttempt === 1 || $zoneNodeSaveAttempt === 2) { $createdZones[] = $name; $boutiqueNode = Drupal\node\Entity\Node::load($nQuery); $boutiqueNode->field_zone_code = $tidQ[0]; $boutiqueNodeSaveAttempt = $boutiqueNode->save(); if ($boutiqueNodeSaveAttempt === 1 || $boutiqueNodeSaveAttempt === 2) { $boutiquesUpdated[] = $name; } } } else { $errMsg = 'zone term was not created for: ' . $store; \Drupal::logger('zone_data')->error($errMsg); } } else { $nodesNotFound[] = $store; } } } } if ($match == false) { $storesNotFound[] = $store; $logStr = ''; foreach ($storesNotFound as $storeName) { $logStr .= $storeName . ', '; } $logStr = substr($logStr, -2); $errMsgAll = 'The following stores did not have zones created for them: ' . $logStr; \Drupal::logger('zone_data')->error($errMsgAll); } $x++; } } $name = 'test'; return $createdZones; // return $term; } function normalizeChars($s) { $replace = array( 'Ă'=>'A', 'Ą'=>'A', 'À'=>'A', 'Ã'=>'A', 'Á'=>'A', 'Æ'=>'A', 'Â'=>'A', 'Å'=>'A', 'Ä'=>'Ae', 'È'=>'E', 'Ę'=>'E', 'É'=>'E', 'Ë'=>'E', 'Ê'=>'E', 'İ'=>'I', 'Ï'=>'I', 'Î'=>'I', 'Í'=>'I', 'Ì'=>'I', 'Ù'=>'U', 'Û'=>'U', 'Ú'=>'U', 'Ü'=>'Ue', 'â'=>'a', 'ǎ'=>'a', 'ą'=>'a', 'á'=>'a', 'ă'=>'a', 'ã'=>'a', 'Ǎ'=>'a', 'а'=>'a', 'А'=>'a', 'å'=>'a', 'à'=>'a', 'א'=>'a', 'Ǻ'=>'a', 'Ā'=>'a', 'ǻ'=>'a', 'ā'=>'a', 'ä'=>'ae', 'æ'=>'ae', 'Ǽ'=>'ae', 'ǽ'=>'ae', 'ĉ'=>'c', 'Ĉ'=>'c', 'Ċ'=>'c', 'ć'=>'c', 'ç'=>'c', 'ц'=>'c', 'צ'=>'c', 'ċ'=>'c', 'Ц'=>'c', 'Č'=>'c', 'č'=>'c', 'Ч'=>'ch', 'ч'=>'ch', 'є'=>'e', 'ע'=>'e', 'е'=>'e', 'Е'=>'e', 'Ə'=>'e', 'ę'=>'e', 'ĕ'=>'e', 'ē'=>'e', 'Ē'=>'e', 'Ė'=>'e', 'ė'=>'e', 'ě'=>'e', 'Ě'=>'e', 'Є'=>'e', 'Ĕ'=>'e', 'ê'=>'e', 'ə'=>'e', 'è'=>'e', 'ë'=>'e', 'é'=>'e', 'î'=>'i', 'ï'=>'i', 'í'=>'i', 'ì'=>'i', 'į'=>'i', 'ĭ'=>'i', 'ı'=>'i', 'Ĭ'=>'i', 'И'=>'i', 'ĩ'=>'i', 'ǐ'=>'i', 'Ĩ'=>'i', 'Ǐ'=>'i', 'и'=>'i', 'Į'=>'i', 'י'=>'i', 'Ї'=>'i', 'Ī'=>'i', 'І'=>'i', 'ї'=>'i', 'і'=>'i', 'ī'=>'i', 'ij'=>'ij', 'IJ'=>'ij', 'о'=>'o', 'О'=>'o', 'ő'=>'o', 'õ'=>'o', 'ô'=>'o', 'Ő'=>'o', 'ŏ'=>'o', 'Ŏ'=>'o', 'Ō'=>'o', 'ō'=>'o', 'ø'=>'o', 'ǿ'=>'o', 'ǒ'=>'o', 'ò'=>'o', 'Ǿ'=>'o', 'Ǒ'=>'o', 'ơ'=>'o', 'ó'=>'o', 'Ơ'=>'o', 'œ'=>'oe', 'Œ'=>'oe', 'ö'=>'oe', 'ū'=>'u', 'у'=>'u', 'Ũ'=>'u', 'ũ'=>'u', 'Ư'=>'u', 'ư'=>'u', 'Ū'=>'u', 'Ǔ'=>'u', 'ų'=>'u', 'Ų'=>'u', 'ŭ'=>'u', 'Ŭ'=>'u', 'Ů'=>'u', 'ů'=>'u', 'ű'=>'u', 'Ű'=>'u', 'Ǖ'=>'u', 'ǔ'=>'u', 'Ǜ'=>'u', 'ù'=>'u', 'ú'=>'u', 'û'=>'u', 'У'=>'u', 'ǚ'=>'u', 'ǜ'=>'u', 'Ǚ'=>'u', 'Ǘ'=>'u', 'ǖ'=>'u', 'ǘ'=>'u', 'ü'=>'ue', ); return strtr($s, $replace); }