1 |
<?php
|
1 |
<?php
|
2 |
// declare(encoding='UTF-8');
|
2 |
// declare(encoding='UTF-8');
|
3 |
/**
|
3 |
/**
|
4 |
* Migration des données CEL vers la base 2019 après avoir lancer le script nettoyage
|
4 |
* Migration des données CEL vers la base 2019 après avoir lancer le script nettoyage
|
5 |
*
|
5 |
*
|
6 |
* Utilisation :
|
6 |
* Utilisation :
|
7 |
* - migrer les mots-clés obs : <code>/opt/lamp/bin/php cli.php migration_mots_cles -a obs</code>
|
7 |
* - migrer les mots-clés obs : <code>/opt/lamp/bin/php cli.php migration_mots_cles -a obs</code>
|
8 |
* - migrer les mots-clés images : <code>/opt/lamp/bin/php cli.php migration_mots_cles -a images</code>
|
8 |
* - migrer les mots-clés images : <code>/opt/lamp/bin/php cli.php migration_mots_cles -a images</code>
|
9 |
*
|
9 |
*
|
10 |
* @category CEL
|
10 |
* @category CEL
|
11 |
* @package Scripts
|
11 |
* @package Scripts
|
12 |
* @subpackage Migration : Mots-Clés
|
12 |
* @subpackage Migration : Mots-Clés
|
13 |
* @author Mathias CHOUET <mathias@tela-botanica.org>
|
13 |
* @author Mathias CHOUET <mathias@tela-botanica.org>
|
14 |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
14 |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org>
|
15 |
* @author Aurelien PERONNET <aurelien@tela-botanica.org>
|
15 |
* @author Aurelien PERONNET <aurelien@tela-botanica.org>
|
16 |
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
|
16 |
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt>
|
17 |
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
|
17 |
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
|
18 |
* @copyright 1999-2014 Tela Botanica <accueil@tela-botanica.org>
|
18 |
* @copyright 1999-2014 Tela Botanica <accueil@tela-botanica.org>
|
19 |
*/
|
19 |
*/
|
20 |
|
20 |
|
21 |
class Migrat2019 extends Script {
|
21 |
class Migrat2019 extends Script {
|
22 |
|
22 |
|
23 |
private $mode;
|
23 |
private $mode;
|
24 |
private $bd_new_cel = "tb_new_cel";
|
24 |
private $bd_new_cel = "tb_new_cel";
|
25 |
|
25 |
|
26 |
public function __construct($script_nom, $parametres_cli) {
|
26 |
public function __construct($script_nom, $parametres_cli) {
|
27 |
parent::__construct($script_nom, $parametres_cli);
|
27 |
parent::__construct($script_nom, $parametres_cli);
|
28 |
$this->bdd = new Bdd();
|
28 |
$this->bdd = new Bdd();
|
29 |
$this->bd_new_cel = Config::get('nettoyage.cel_new');
|
29 |
$this->bd_new_cel = Config::get('nettoyage.cel_new');
|
30 |
$this->bd_cel = Config::get('nettoyage.cel_nettoye');
|
30 |
$this->bd_cel = Config::get('nettoyage.cel_nettoye');
|
31 |
}
|
31 |
}
|
32 |
|
32 |
|
33 |
public function executer() {
|
33 |
public function executer() {
|
34 |
$cmd = $this->getParametre('a');
|
34 |
$cmd = $this->getParametre('a');
|
35 |
$this->mode_verbeux = $this->getParametre('v');
|
35 |
$this->mode_verbeux = $this->getParametre('v');
|
36 |
|
36 |
|
37 |
switch($cmd) {
|
37 |
switch($cmd) {
|
38 |
case 'tout' :
|
38 |
case 'tout' :
|
39 |
$this->migrerObservations();
|
39 |
$this->migrerObservations();
|
40 |
$this->migrerProjet();
|
40 |
$this->migrerProjet();
|
41 |
$this->migrerObsEtendusChampsUtilisateur();
|
41 |
$this->migrerObsEtendusChampsUtilisateur();
|
42 |
$this->migrerObsEtendusUtilisateur();
|
42 |
$this->migrerObsEtendusUtilisateur();
|
43 |
$this->migrerObsEtendusProjet();
|
43 |
$this->migrerObsEtendusProjet();
|
44 |
$this->migrerMotsClesObs();
|
44 |
$this->migrerMotsClesObs();
|
45 |
$this->migrerMotsClesObsLiaison();
|
45 |
$this->migrerMotsClesObsLiaison();
|
46 |
$this->migrerImages();
|
46 |
$this->migrerImages();
|
47 |
$this->migrerMotsClesImages();
|
47 |
$this->migrerMotsClesImages();
|
48 |
$this->migrerMotsClesImagesLiaison();
|
48 |
$this->migrerMotsClesImagesLiaison();
|
49 |
$this->ajouterIdProjet();
|
49 |
$this->ajouterIdProjet();
|
50 |
break;
|
50 |
break;
|
51 |
case 'obs':
|
51 |
case 'obs':
|
52 |
$this->migrerObservations();
|
52 |
$this->migrerObservations();
|
53 |
break;
|
53 |
break;
|
54 |
case 'projet':
|
54 |
case 'projet':
|
55 |
$this->migrerProjet();
|
55 |
$this->migrerProjet();
|
56 |
break;
|
56 |
break;
|
57 |
case 'obs_etendus':
|
57 |
case 'obs_etendus':
|
58 |
$this->migrerObsEtendusChampsUtilisateur();
|
58 |
$this->migrerObsEtendusChampsUtilisateur();
|
59 |
$this->migrerObsEtendusUtilisateur();
|
59 |
$this->migrerObsEtendusUtilisateur();
|
60 |
$this->migrerObsEtendusProjet();
|
60 |
$this->migrerObsEtendusProjet();
|
61 |
break;
|
61 |
break;
|
62 |
case 'obs_mots_cles':
|
62 |
case 'obs_mots_cles':
|
63 |
$this->migrerMotsClesObs();
|
63 |
$this->migrerMotsClesObs();
|
64 |
$this->migrerMotsClesObsLiaison();
|
64 |
$this->migrerMotsClesObsLiaison();
|
65 |
break;
|
65 |
break;
|
66 |
case 'images':
|
66 |
case 'images':
|
67 |
$this->migrerImages();
|
67 |
$this->migrerImages();
|
68 |
break;
|
68 |
break;
|
69 |
case 'images_tag':
|
69 |
case 'images_tag':
|
70 |
$this->migrerMotsClesImages();
|
70 |
$this->migrerMotsClesImages();
|
71 |
$this->migrerMotsClesImagesLiaison();
|
71 |
$this->migrerMotsClesImagesLiaison();
|
72 |
break;
|
72 |
break;
|
73 |
case 'projet_id':
|
73 |
case 'projet_id':
|
74 |
$this->ajouterIdProjet();
|
74 |
$this->ajouterIdProjet();
|
75 |
break;
|
75 |
break;
|
76 |
default:
|
76 |
default:
|
77 |
echo 'Méthode inconnue, les méthodes possibles sont obs et images'."\n";
|
77 |
echo 'Méthode inconnue, les méthodes possibles sont obs et images'."\n";
|
78 |
}
|
78 |
}
|
79 |
}
|
79 |
}
|
80 |
|
80 |
|
81 |
private function migrerObservations() {
|
81 |
private function migrerObservations() {
|
82 |
$requete = "ALTER TABLE ".$this->bd_new_cel.".`occurrence` ADD IF NOT EXISTS project varchar(50);";
|
82 |
$requete = "ALTER TABLE ".$this->bd_new_cel.".`occurrence` ADD IF NOT EXISTS project varchar(50);";
|
83 |
$this->bdd->requeter($requete);
|
83 |
$this->bdd->requeter($requete);
|
84 |
|
84 |
|
85 |
$requete = "INSERT INTO ".$this->bd_new_cel.".`occurrence`
|
85 |
$requete = "INSERT INTO ".$this->bd_new_cel.".`occurrence`
|
86 |
(id, project, user_id, user_email, user_pseudo, date_observed, date_created, date_updated, date_published, user_sci_name, user_sci_name_id, accepted_sci_name, accepted_sci_name_id, family, certainty, annotation, coef, phenology, input_source, is_public, is_visible_in_cel, geometry, elevation, geodatum, locality, locality_insee_code, sublocality, environment, locality_consistency, station, published_location, osm_country, taxo_repo)
|
86 |
(id, project, user_id, user_email, user_pseudo, date_observed, date_created, date_updated, date_published, user_sci_name, user_sci_name_id, accepted_sci_name, accepted_sci_name_id, family, certainty, annotation, coef, phenology, input_source, is_public, is_visible_in_cel, geometry, elevation, geodatum, locality, locality_insee_code, sublocality, environment, locality_consistency, station, published_location, osm_country, taxo_repo)
|
87 |
SELECT id_observation, CASE WHEN `mots_cles_texte` like '%sauvages%' then 'sauvages' WHEN `mots_cles_texte` like '%missions-flore%' then 'missions-flore' WHEN `mots_cles_texte` like '%arbres-tetards%' then 'arbres-tetards' WHEN `mots_cles_texte` like '%arbres-remarquables%' then 'arbres-remarquables' WHEN `mots_cles_texte` like '%bellesdemarue%' then 'bellesdemarue' WHEN `mots_cles_texte` like '%biodiversite34%' then 'biodiversite34' WHEN `mots_cles_texte` like '%messicoles%' then 'messicoles' WHEN `mots_cles_texte` like '%florileges%' then 'florileges' END,
|
87 |
SELECT id_observation, CASE WHEN `mots_cles_texte` like '%sauvages%' then 'sauvages' WHEN `mots_cles_texte` like '%missions-flore%' then 'missions-flore' WHEN `mots_cles_texte` like '%arbres-tetards%' then 'arbres-tetards' WHEN `mots_cles_texte` like '%arbres-remarquables%' then 'arbres-remarquables' WHEN `mots_cles_texte` like '%bellesdemarue%' then 'bellesdemarue' WHEN `mots_cles_texte` like '%biodiversite34%' then 'biodiversite34' WHEN `mots_cles_texte` like '%messicoles%' then 'messicoles' WHEN `mots_cles_texte` like '%florileges%' then 'florileges' END,
|
88 |
ce_utilisateur, courriel_utilisateur, concat (prenom_utilisateur, ' ', nom_utilisateur), date_observation, date_creation, date_modification, date_transmission, nom_sel, nom_sel_nn, nom_ret, nom_ret_nn, famille, certitude, commentaire, abondance, phenologie, input_source, transmission, 1,
|
88 |
ce_utilisateur, courriel_utilisateur, concat (prenom_utilisateur, ' ', nom_utilisateur), date_observation, date_creation, date_modification, date_transmission, nom_sel, nom_sel_nn, nom_ret, nom_ret_nn, famille, certitude, commentaire, abondance, phenologie, input_source, transmission, 1,
|
89 |
CONCAT('{\"type\":\"Point\",\"coordinates\":[', longitude, ',', latitude,']}'), altitude, geodatum, zone_geo, ce_zone_geo, lieudit, milieu, locality_consistency, station, published_location, pays, nom_referentiel
|
89 |
CONCAT('{\"type\":\"Point\",\"coordinates\":[', longitude, ',', latitude,']}'), altitude, geodatum, zone_geo, ce_zone_geo, lieudit, milieu, locality_consistency, station, published_location, pays, nom_referentiel
|
90 |
FROM ".$this->bd_cel.".`cel_obs`";
|
90 |
FROM ".$this->bd_cel.".`cel_obs`";
|
91 |
|
91 |
|
92 |
$this->bdd->requeter($requete);
|
92 |
$this->bdd->requeter($requete);
|
93 |
}
|
93 |
}
|
94 |
|
94 |
|
95 |
private function migrerObsEtendusChampsUtilisateur() {
|
95 |
private function migrerObsEtendusChampsUtilisateur() {
|
96 |
$requete = "ALTER TABLE ".$this->bd_new_cel.".`user_custom_field` ADD IF NOT EXISTS `field_id` VARCHAR(500) NOT NULL AFTER `default_value`;";
|
96 |
$requete = "ALTER TABLE ".$this->bd_new_cel.".`user_custom_field` ADD IF NOT EXISTS `field_id` VARCHAR(500) NOT NULL AFTER `default_value`;";
|
97 |
$this->bdd->requeter($requete);
|
97 |
$this->bdd->requeter($requete);
|
98 |
$requete = "INSERT INTO ".$this->bd_new_cel.".`user_custom_field`
|
98 |
$requete = "INSERT INTO ".$this->bd_new_cel.".`user_custom_field`
|
99 |
(name, data_type, default_value, field_id)
|
99 |
(name, data_type, default_value, field_id)
|
100 |
SELECT label, 'Texte', '', cle
|
100 |
SELECT label, 'Texte', '', cle
|
101 |
FROM ".$this->bd_cel.".`cel_catalogue_champs_etendus`
|
101 |
FROM ".$this->bd_cel.".`cel_catalogue_champs_etendus`
|
102 |
WHERE `cle` not in (SELECT `champ` FROM ".$this->bd_cel.".`cel_catalogue_champs_etendus_liaison`)";
|
102 |
WHERE `cle` not in (SELECT `champ` FROM ".$this->bd_cel.".`cel_catalogue_champs_etendus_liaison`)";
|
103 |
$this->bdd->requeter($requete);
|
103 |
$this->bdd->requeter($requete);
|
104 |
}
|
104 |
}
|
105 |
|
105 |
|
106 |
private function migrerObsEtendusUtilisateur() {
|
106 |
private function migrerObsEtendusUtilisateur() {
|
107 |
$requete = "INSERT INTO ".$this->bd_new_cel.".`user_custom_field_occurrence`
|
107 |
$requete = "INSERT INTO ".$this->bd_new_cel.".`user_custom_field_occurrence`
|
108 |
(`occurrence_id`, `user_custom_field_id`, `value`)
|
108 |
(`occurrence_id`, `user_custom_field_id`, `value`)
|
109 |
SELECT `id_observation`, id, `valeur`
|
109 |
SELECT `id_observation`, id, `valeur`
|
110 |
FROM ".$this->bd_cel.".`cel_obs_etendues`
|
110 |
FROM ".$this->bd_cel.".`cel_obs_etendues`
|
111 |
RIGHT JOIN ".$this->bd_new_cel.".`user_custom_field` ON field_id = cle
|
111 |
RIGHT JOIN ".$this->bd_new_cel.".`user_custom_field` ON field_id = cle
|
112 |
WHERE id_observation in (select id FROM ".$this->bd_new_cel.".`occurrence`)";
|
112 |
WHERE id_observation in (select id FROM ".$this->bd_new_cel.".`occurrence`)";
|
113 |
$this->bdd->requeter($requete);
|
113 |
$this->bdd->requeter($requete);
|
114 |
}
|
114 |
}
|
115 |
|
115 |
|
116 |
|
116 |
|
117 |
private function migrerObsEtendusProjet() {
|
117 |
private function migrerObsEtendusProjet() {
|
118 |
$requete = "INSERT INTO ".$this->bd_new_cel.".`extended_field_occurrence`
|
118 |
$requete = "INSERT INTO ".$this->bd_new_cel.".`extended_field_occurrence`
|
119 |
(`occurrence_id`, `extended_field_id`, `value`)
|
119 |
(`occurrence_id`, `extended_field_id`, `value`)
|
120 |
SELECT `id_observation`, id, `valeur`
|
120 |
SELECT `id_observation`, id, `valeur`
|
121 |
FROM ".$this->bd_cel.".`cel_obs_etendues`
|
121 |
FROM ".$this->bd_cel.".`cel_obs_etendues`
|
122 |
RIGHT JOIN ".$this->bd_new_cel.".`extended_field` ON field_id = cle
|
122 |
RIGHT JOIN ".$this->bd_new_cel.".`extended_field` ON field_id = cle
|
123 |
WHERE id_observation in (select id FROM ".$this->bd_new_cel.".`occurrence`)";
|
123 |
WHERE id_observation in (select id FROM ".$this->bd_new_cel.".`occurrence`)";
|
124 |
$this->bdd->requeter($requete);
|
124 |
$this->bdd->requeter($requete);
|
125 |
}
|
125 |
}
|
126 |
|
126 |
|
127 |
private function migrerProjet() {
|
127 |
private function migrerProjet() {
|
128 |
$requete = "INSERT INTO ".$this->bd_new_cel.".`project_settings` (`id`, `project_id`, `project`, `language`, `title`, `logo`, `description`, `type`, `is_type`, `css_style`, `image_font`, `date_created`, `date_updated`, `taxo_restriction_type`, `taxo_restriction_value`, `location_type`, `location`, `published_location`, `environment`, `project_tag_name`, `info`)
|
128 |
$requete = "INSERT INTO ".$this->bd_new_cel.".`project_settings` (`id`, `project_id`, `project`, `language`, `title`, `logo`, `description`, `type`, `is_type`, `css_style`, `image_font`, `date_created`, `date_updated`, `taxo_restriction_type`, `taxo_restriction_value`, `location_type`, `location`, `published_location`, `environment`, `project_tag_name`, `info`)
|
129 |
SELECT * FROM ".$this->bd_cel.".`project_settings`";
|
129 |
SELECT * FROM ".$this->bd_cel.".`project_settings`";
|
130 |
$this->bdd->requeter($requete);
|
130 |
$this->bdd->requeter($requete);
|
131 |
$requete = "INSERT INTO ".$this->bd_new_cel.".`extended_field` (`id`, `project_id`, `field_id`, `project`, `data_type`, `is_visible`, `is_mandatory`, `min_value`, `max_value`, `regexp`, `unit`)
|
131 |
$requete = "INSERT INTO ".$this->bd_new_cel.".`extended_field` (`id`, `project_id`, `field_id`, `project`, `data_type`, `is_visible`, `is_mandatory`, `min_value`, `max_value`, `regexp`, `unit`)
|
132 |
SELECT * FROM ".$this->bd_cel.".`extended_field`";
|
132 |
SELECT * FROM ".$this->bd_cel.".`extended_field`";
|
133 |
$this->bdd->requeter($requete);
|
133 |
$this->bdd->requeter($requete);
|
134 |
$requete = "INSERT INTO ".$this->bd_new_cel.".`extendedfield_translation`(`id`, `extended_field_id`, `project`, `label`, `description`, `default_value`, `error_message`, `language_iso_code`, `help`)
|
134 |
$requete = "INSERT INTO ".$this->bd_new_cel.".`extendedfield_translation`(`id`, `extended_field_id`, `project`, `label`, `description`, `default_value`, `error_message`, `language_iso_code`, `help`)
|
135 |
SELECT * FROM ".$this->bd_cel.".`extendedfield_translation`";
|
135 |
SELECT * FROM ".$this->bd_cel.".`extendedfield_translation`";
|
136 |
$this->bdd->requeter($requete);
|
136 |
$this->bdd->requeter($requete);
|
137 |
}
|
137 |
}
|
138 |
|
138 |
|
139 |
private function migrerMotsClesObs() {
|
139 |
private function migrerMotsClesObs() {
|
140 |
$requete = "INSERT INTO ".$this->bd_new_cel.".user_occurrence_tag
|
140 |
$requete = "INSERT INTO ".$this->bd_new_cel.".user_occurrence_tag
|
141 |
(id, user_id, name, path)
|
141 |
(id, user_id, name, path)
|
142 |
SELECT id_mot_cle, id_utilisateur, mot_cle, chemin
|
142 |
SELECT id_mot_cle, id_utilisateur, mot_cle, chemin
|
143 |
FROM ".$this->bd_cel.".`cel_arbre_mots_cles_obs`";
|
143 |
FROM ".$this->bd_cel.".`cel_arbre_mots_cles_obs`";
|
144 |
$this->bdd->requeter($requete);
|
144 |
$this->bdd->requeter($requete);
|
145 |
}
|
145 |
}
|
146 |
|
146 |
|
147 |
private function migrerMotsClesObsLiaison() {
|
147 |
private function migrerMotsClesObsLiaison() {
|
148 |
$requete = "INSERT INTO ".$this->bd_new_cel.".occurrence_user_occurrence_tag
|
148 |
$requete = "INSERT INTO ".$this->bd_new_cel.".occurrence_user_occurrence_tag
|
149 |
(occurrence_id, user_occurrence_tag_id)
|
149 |
(occurrence_id, user_occurrence_tag_id)
|
150 |
SELECT `id_element_lie`, `id_mot_cle` FROM ".$this->bd_cel.".`cel_mots_cles_obs_liaison`";
|
150 |
SELECT `id_element_lie`, `id_mot_cle` FROM ".$this->bd_cel.".`cel_mots_cles_obs_liaison`";
|
151 |
$this->bdd->requeter($requete);
|
151 |
$this->bdd->requeter($requete);
|
152 |
}
|
152 |
}
|
153 |
|
153 |
|
154 |
private function migrerImages() {
|
154 |
private function migrerImages() {
|
155 |
$requete = "INSERT INTO ".$this->bd_new_cel.".photo
|
155 |
$requete = "INSERT INTO ".$this->bd_new_cel.".photo
|
156 |
(id, occurrence_id, user_id, user_pseudo, user_email, date_shot, original_name, mime_type,
|
156 |
(id, occurrence_id, user_id, user_pseudo, user_email, date_shot, original_name, mime_type,
|
157 |
date_updated, date_created, date_linked_to_occurrence, content_url, url)
|
157 |
date_updated, date_created, date_linked_to_occurrence, content_url, size, url)
|
158 |
SELECT id_image, ce_observation, ce_utilisateur, prenom_utilisateur,
|
158 |
SELECT id_image, ce_observation, ce_utilisateur, prenom_utilisateur,
|
159 |
courriel_utilisateur, date_prise_de_vue, nom_original,'' , date_modification,
|
159 |
courriel_utilisateur, date_prise_de_vue, nom_original,'' , date_modification,
|
160 |
date_creation, date_liaison, '', concat('https://api.tela-botanica.org/img:',
|
160 |
date_creation, date_liaison, '', '6444444',concat('https://api.tela-botanica.org/img:',
|
161 |
lpad(`id_image`, 9, '0'), 'O')
|
161 |
lpad(`id_image`, 9, '0'), 'O')
|
162 |
FROM ".$this->bd_cel.".cel_images";
|
162 |
FROM ".$this->bd_cel.".cel_images";
|
163 |
$this->bdd->requeter($requete);
|
163 |
$this->bdd->requeter($requete);
|
164 |
$requete_jpg = 'UPDATE `photo` SET `mime_type` = "image/jpeg", `content_url`= concat('.Config::get('nettoyage.chemin_photo').
|
164 |
$requete_jpg = 'UPDATE `photo` SET `mime_type` = "image/jpeg", `content_url`= concat('.Config::get('nettoyage.chemin_photo').
|
165 |
',substr(lpad(id, 9, "0"),1,3),"/",substr(lpad(id, 9, "0"),4,3),"/O/",substr(lpad(id, 9, "0"),1,3),"_",substr(lpad(id, 9, "0"),4,3),"_",substr(lpad(id, 9, "0"),7,3),"_O.",substr(`original_name` , char_length(`original_name`) - locate('.', reverse(`original_name`)) +1, locate('.', reverse(`original_name`))))
|
165 |
',substr(lpad(id, 9, "0"),1,3),"/",substr(lpad(id, 9, "0"),4,3),"/O/",substr(lpad(id, 9, "0"),1,3),"_",substr(lpad(id, 9, "0"),4,3),"_",substr(lpad(id, 9, "0"),7,3),"_O",substr(`original_name` , char_length(`original_name`) - locate('.', reverse(`original_name`)) +1, locate('.', reverse(`original_name`))))
|
166 |
WHERE `original_name` like "%.jp%" and content_url = ""';
|
166 |
WHERE `original_name` like "%.jp%" and content_url = ""';
|
167 |
$this->bdd->requeter($requete_jpg);
|
167 |
$this->bdd->requeter($requete_jpg);
|
168 |
$requete_png = 'UPDATE `photo` SET `mime_type` = "image/png", `content_url`= concat('.Config::get('nettoyage.chemin_photo').
|
168 |
$requete_png = 'UPDATE `photo` SET `mime_type` = "image/png", `content_url`= concat('.Config::get('nettoyage.chemin_photo').
|
169 |
',substr(lpad(id, 9, "0"),1,3),"/",substr(lpad(id, 9, "0"),4,3),"/O/",substr(lpad(id, 9, "0"),1,3),"_",substr(lpad(id, 9, "0"),4,3),"_",substr(lpad(id, 9, "0"),7,3),"_O.",substr(`original_name` , char_length(`original_name`) - locate('.', reverse(`original_name`)) +1, locate('.', reverse(`original_name`))))
|
169 |
',substr(lpad(id, 9, "0"),1,3),"/",substr(lpad(id, 9, "0"),4,3),"/O/",substr(lpad(id, 9, "0"),1,3),"_",substr(lpad(id, 9, "0"),4,3),"_",substr(lpad(id, 9, "0"),7,3),"_O",substr(`original_name` , char_length(`original_name`) - locate('.', reverse(`original_name`)) +1, locate('.', reverse(`original_name`))))
|
170 |
WHERE `original_name` like "%.png" and content_url = ""';
|
170 |
WHERE `original_name` like "%.png" and content_url = ""';
|
171 |
$this->bdd->requeter($requete_png);
|
171 |
$this->bdd->requeter($requete_png);
|
- |
|
172 |
'UPDATE `photo` SET `mime_type` = "image/jpeg", `content_url`= concat('.Config::get('nettoyage.chemin_photo').
|
- |
|
173 |
',substr(lpad(id, 9, "0"),1,3),"/",substr(lpad(id, 9, "0"),4,3),"/O/",substr(lpad(id, 9, "0"),1,3),"_",substr(lpad(id, 9, "0"),4,3),"_",substr(lpad(id, 9, "0"),7,3),"_O.jpg")
|
- |
|
174 |
WHERE content_url = "" and (`original_name` != "" or `original_name` is null)';
|
172 |
}
|
175 |
}
|
173 |
|
176 |
|
174 |
private function migrerMotsClesImages() {
|
177 |
private function migrerMotsClesImages() {
|
175 |
$requete = "INSERT INTO ".$this->bd_new_cel.".photo_tag
|
178 |
$requete = "INSERT INTO ".$this->bd_new_cel.".photo_tag
|
176 |
(id, user_id, name, path)
|
179 |
(id, user_id, name, path)
|
177 |
SELECT id_mot_cle, id_utilisateur, mot_cle, chemin
|
180 |
SELECT id_mot_cle, id_utilisateur, mot_cle, chemin
|
178 |
FROM ".$this->bd_cel.".`cel_arbre_mots_cles_images`";
|
181 |
FROM ".$this->bd_cel.".`cel_arbre_mots_cles_images`";
|
179 |
$this->bdd->requeter($requete);
|
182 |
$this->bdd->requeter($requete);
|
180 |
}
|
183 |
}
|
181 |
|
184 |
|
182 |
private function migrerMotsClesImagesLiaison() {
|
185 |
private function migrerMotsClesImagesLiaison() {
|
183 |
$requete = "INSERT INTO ".$this->bd_new_cel.".photo_tag_photo
|
186 |
$requete = "INSERT INTO ".$this->bd_new_cel.".photo_tag_photo
|
184 |
(photo_id, photo_tag_id)
|
187 |
(photo_id, photo_tag_id)
|
185 |
SELECT `id_element_lie`, `id_mot_cle` FROM ".$this->bd_cel.".`cel_mots_cles_images_liaison`";
|
188 |
SELECT `id_element_lie`, `id_mot_cle` FROM ".$this->bd_cel.".`cel_mots_cles_images_liaison`";
|
186 |
$this->bdd->requeter($requete);
|
189 |
$this->bdd->requeter($requete);
|
187 |
}
|
190 |
}
|
188 |
|
191 |
|
189 |
private function ajouterIdProjet() {
|
192 |
private function ajouterIdProjet() {
|
190 |
$requete = "UPDATE ".$this->bd_new_cel.".`project_settings` SET `project_id` = `id`";
|
193 |
$requete = "UPDATE ".$this->bd_new_cel.".`project_settings` SET `project_id` = `id`";
|
191 |
$this->bdd->requeter($requete);
|
194 |
$this->bdd->requeter($requete);
|
192 |
$requete = "INSERT INTO ".$this->bd_new_cel.".`tb_project`(`id`, `label`, `is_private`) SELECT `id`, `project`, '0' FROM ".$this->bd_new_cel.".`project_settings` ";
|
195 |
$requete = "INSERT INTO ".$this->bd_new_cel.".`tb_project`(`id`, `label`, `is_private`) SELECT `id`, `project`, '0' FROM ".$this->bd_new_cel.".`project_settings` ";
|
193 |
$this->bdd->requeter($requete);
|
196 |
$this->bdd->requeter($requete);
|
194 |
$requete = "UPDATE ".$this->bd_new_cel.".`extended_field` f right join ".$this->bd_new_cel.".`project_settings` s on
|
197 |
$requete = "UPDATE ".$this->bd_new_cel.".`extended_field` f right join ".$this->bd_new_cel.".`project_settings` s on
|
195 |
s.`project` = f.`project` SET f.`project_id` = s.`project_id`";
|
198 |
s.`project` = f.`project` SET f.`project_id` = s.`project_id`";
|
196 |
$this->bdd->requeter($requete);
|
199 |
$this->bdd->requeter($requete);
|
197 |
$requete = "UPDATE ".$this->bd_new_cel.".`occurrence` o right join ".$this->bd_new_cel.".`project_settings` s on
|
200 |
$requete = "UPDATE ".$this->bd_new_cel.".`occurrence` o right join ".$this->bd_new_cel.".`project_settings` s on
|
198 |
s.`project` = o.`project` SET o.`project_id` = s.`project_id`";
|
201 |
s.`project` = o.`project` SET o.`project_id` = s.`project_id`";
|
199 |
$this->bdd->requeter($requete);
|
202 |
$this->bdd->requeter($requete);
|
200 |
}
|
203 |
}
|
201 |
|
204 |
|
202 |
|
205 |
|
203 |
}
|
206 |
}
|