Completed
Push — master ( a69bb3...daa06b )
by cam
01:15
created
ecrire/action/editer_logo.php 2 patches
Indentation   +189 added lines, -189 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  */
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 
@@ -30,36 +30,36 @@  discard block
 block discarded – undo
30 30
  *     `on` ou `off`
31 31
  */
32 32
 function logo_supprimer($objet, $id_objet, $etat) {
33
-	$chercher_logo = charger_fonction('chercher_logo', 'inc');
34
-	$objet = objet_type($objet);
35
-	$primary = id_table_objet($objet);
36
-	include_spip('inc/chercher_logo');
37
-
38
-	// existe-t-il deja un logo ?
39
-	$logo = $chercher_logo($id_objet, $primary, $etat);
40
-	if ($logo) {
41
-		# TODO : deprecated, a supprimer -> anciens logos IMG/artonxx.png pas en base
42
-		if (count($logo) < 6) {
43
-			spip_log("Supprimer ancien logo $logo", 'logo');
44
-			spip_unlink($logo[0]);
45
-		}
46
-		elseif (
47
-			$doc = $logo[5]
48
-			and isset($doc['id_document'])
49
-			and $id_document = $doc['id_document']
50
-		) {
51
-			include_spip('action/editer_liens');
52
-			// supprimer le lien dans la base
53
-			objet_dissocier(['document' => $id_document], [$objet => $id_objet], ['role' => '*']);
54
-
55
-			// verifier si il reste des liens avec d'autres objets et sinon supprimer
56
-			$liens = objet_trouver_liens(['document' => $id_document], '*');
57
-			if (!count($liens)) {
58
-				$supprimer_document = charger_fonction('supprimer_document', 'action');
59
-				$supprimer_document($doc['id_document']);
60
-			}
61
-		}
62
-	}
33
+    $chercher_logo = charger_fonction('chercher_logo', 'inc');
34
+    $objet = objet_type($objet);
35
+    $primary = id_table_objet($objet);
36
+    include_spip('inc/chercher_logo');
37
+
38
+    // existe-t-il deja un logo ?
39
+    $logo = $chercher_logo($id_objet, $primary, $etat);
40
+    if ($logo) {
41
+        # TODO : deprecated, a supprimer -> anciens logos IMG/artonxx.png pas en base
42
+        if (count($logo) < 6) {
43
+            spip_log("Supprimer ancien logo $logo", 'logo');
44
+            spip_unlink($logo[0]);
45
+        }
46
+        elseif (
47
+            $doc = $logo[5]
48
+            and isset($doc['id_document'])
49
+            and $id_document = $doc['id_document']
50
+        ) {
51
+            include_spip('action/editer_liens');
52
+            // supprimer le lien dans la base
53
+            objet_dissocier(['document' => $id_document], [$objet => $id_objet], ['role' => '*']);
54
+
55
+            // verifier si il reste des liens avec d'autres objets et sinon supprimer
56
+            $liens = objet_trouver_liens(['document' => $id_document], '*');
57
+            if (!count($liens)) {
58
+                $supprimer_document = charger_fonction('supprimer_document', 'action');
59
+                $supprimer_document($doc['id_document']);
60
+            }
61
+        }
62
+    }
63 63
 }
64 64
 
65 65
 /**
@@ -76,166 +76,166 @@  discard block
 block discarded – undo
76 76
  *     Erreur, sinon ''
77 77
  */
78 78
 function logo_modifier($objet, $id_objet, $etat, $source) {
79
-	$chercher_logo = charger_fonction('chercher_logo', 'inc');
80
-	$objet = objet_type($objet);
81
-	$primary = id_table_objet($objet);
82
-	include_spip('inc/chercher_logo');
83
-
84
-	$mode = preg_replace(',\W,', '', $etat);
85
-	if (!$mode) {
86
-		spip_log("logo_modifier : etat $etat invalide", 'logo');
87
-		$erreur = 'etat invalide';
88
-
89
-		return $erreur;
90
-	}
91
-	// chercher dans la base
92
-	$mode_document = 'logo' . $mode;
93
-
94
-	include_spip('inc/documents');
95
-	$erreur = '';
96
-
97
-	if (!$source) {
98
-		spip_log('spip_image_ajouter : source inconnue', 'logo');
99
-		$erreur = 'source inconnue';
100
-
101
-		return $erreur;
102
-	}
103
-
104
-	// fichier dans upload/
105
-	if (is_string($source)) {
106
-		$tmp_name = false;
107
-		if (file_exists($source)) {
108
-			$tmp_name = $source;
109
-		} elseif (file_exists($f = determine_upload() . $source)) {
110
-			$tmp_name = $f;
111
-		}
112
-		if (!$tmp_name) {
113
-			spip_log('spip_image_ajouter : source inconnue', 'logo');
114
-			$erreur = 'source inconnue';
115
-
116
-			return $erreur;
117
-		}
118
-		$source = [
119
-			'tmp_name' => $tmp_name,
120
-			'name' => basename($tmp_name),
121
-		];
122
-	} elseif ($erreur = check_upload_error($source['error'], '', true)) {
123
-		return $erreur;
124
-	}
125
-
126
-	// supprimer le logo eventueel existant
127
-	// TODO : si un logo existe, le modifier plutot que supprimer + reinserer (mais il faut gerer le cas ou il est utilise par plusieurs objets, donc pas si simple)
128
-	// mais de toute facon l'interface actuelle oblige a supprimer + reinserer
129
-	logo_supprimer($objet, $id_objet, $etat);
130
-
131
-
132
-	include_spip('inc/autoriser');
133
-	$source['mode'] = $mode_document;
134
-	$ajouter_documents = charger_fonction('ajouter_documents', 'action');
135
-	autoriser_exception('associerdocuments', $objet, $id_objet);
136
-	$ajoutes = $ajouter_documents('new', [$source], $objet, $id_objet, $mode_document);
137
-	autoriser_exception('associerdocuments', $objet, $id_objet, false);
138
-
139
-	$id_document = reset($ajoutes);
140
-
141
-	if (!is_numeric($id_document)) {
142
-		$erreur = ($id_document ? $id_document : 'Erreur inconnue');
143
-		spip_log("Erreur ajout logo : $erreur pour source=" . json_encode($source), 'logo');
144
-		return $erreur;
145
-	}
146
-
147
-	return ''; // tout est bon, pas d'erreur
79
+    $chercher_logo = charger_fonction('chercher_logo', 'inc');
80
+    $objet = objet_type($objet);
81
+    $primary = id_table_objet($objet);
82
+    include_spip('inc/chercher_logo');
83
+
84
+    $mode = preg_replace(',\W,', '', $etat);
85
+    if (!$mode) {
86
+        spip_log("logo_modifier : etat $etat invalide", 'logo');
87
+        $erreur = 'etat invalide';
88
+
89
+        return $erreur;
90
+    }
91
+    // chercher dans la base
92
+    $mode_document = 'logo' . $mode;
93
+
94
+    include_spip('inc/documents');
95
+    $erreur = '';
96
+
97
+    if (!$source) {
98
+        spip_log('spip_image_ajouter : source inconnue', 'logo');
99
+        $erreur = 'source inconnue';
100
+
101
+        return $erreur;
102
+    }
103
+
104
+    // fichier dans upload/
105
+    if (is_string($source)) {
106
+        $tmp_name = false;
107
+        if (file_exists($source)) {
108
+            $tmp_name = $source;
109
+        } elseif (file_exists($f = determine_upload() . $source)) {
110
+            $tmp_name = $f;
111
+        }
112
+        if (!$tmp_name) {
113
+            spip_log('spip_image_ajouter : source inconnue', 'logo');
114
+            $erreur = 'source inconnue';
115
+
116
+            return $erreur;
117
+        }
118
+        $source = [
119
+            'tmp_name' => $tmp_name,
120
+            'name' => basename($tmp_name),
121
+        ];
122
+    } elseif ($erreur = check_upload_error($source['error'], '', true)) {
123
+        return $erreur;
124
+    }
125
+
126
+    // supprimer le logo eventueel existant
127
+    // TODO : si un logo existe, le modifier plutot que supprimer + reinserer (mais il faut gerer le cas ou il est utilise par plusieurs objets, donc pas si simple)
128
+    // mais de toute facon l'interface actuelle oblige a supprimer + reinserer
129
+    logo_supprimer($objet, $id_objet, $etat);
130
+
131
+
132
+    include_spip('inc/autoriser');
133
+    $source['mode'] = $mode_document;
134
+    $ajouter_documents = charger_fonction('ajouter_documents', 'action');
135
+    autoriser_exception('associerdocuments', $objet, $id_objet);
136
+    $ajoutes = $ajouter_documents('new', [$source], $objet, $id_objet, $mode_document);
137
+    autoriser_exception('associerdocuments', $objet, $id_objet, false);
138
+
139
+    $id_document = reset($ajoutes);
140
+
141
+    if (!is_numeric($id_document)) {
142
+        $erreur = ($id_document ? $id_document : 'Erreur inconnue');
143
+        spip_log("Erreur ajout logo : $erreur pour source=" . json_encode($source), 'logo');
144
+        return $erreur;
145
+    }
146
+
147
+    return ''; // tout est bon, pas d'erreur
148 148
 }
149 149
 
150 150
 function logo_migrer_en_base($objet, $time_limit) {
151 151
 
152
-	$dir_logos_erreurs = sous_repertoire(_DIR_IMG, 'logo_erreurs');
153
-	$dir_logos = sous_repertoire(_DIR_IMG, 'logo');
154
-	$formats_logos = ['jpg', 'png', 'svg', 'gif'];
155
-	if (isset($GLOBALS['formats_logos'])) {
156
-		$formats_logos = $GLOBALS['formats_logos'];
157
-	}
158
-
159
-
160
-	$chercher_logo = charger_fonction('chercher_logo', 'inc');
161
-	include_spip('inc/chercher_logo');
162
-	$_id_objet = id_table_objet($objet);
163
-	$type = type_du_logo($_id_objet);
164
-
165
-	foreach (['on', 'off'] as $mode) {
166
-		$nom_base = $type . $mode;
167
-		$dir = (defined('_DIR_LOGOS') ? _DIR_LOGOS : _DIR_IMG);
168
-
169
-		$files = glob($dir . $nom_base . '*');
170
-		// est-ce que c'est une nouvelle tentative de migration ?
171
-		// dans ce cas les logos sont deja dans IMG/logo/
172
-		if (!count($files)) {
173
-			$files = glob($dir_logos . $nom_base . '*');
174
-			if (count($files)) {
175
-				// mais il faut verifier si ils ont pas deja ete migres pour tout ou partie
176
-				$filescheck = [];
177
-				foreach ($files as $file) {
178
-					$short = basename(dirname($file)) . DIRECTORY_SEPARATOR . basename($file);
179
-					$filescheck[$short] = $file;
180
-				}
181
-				// trouver ceux deja migres
182
-				$deja = sql_allfetsel('fichier', 'spip_documents', sql_in('fichier', array_keys($filescheck))." AND mode LIKE 'logo%'");
183
-				if (count($deja)) {
184
-					$deja = array_column($deja, 'fichier');
185
-					$restant = array_diff(array_keys($filescheck), $deja);
186
-					$files = [];
187
-					if (count($restant)) {
188
-						foreach ($restant as $r) {
189
-							$files[] = $filescheck[$r];
190
-						}
191
-					}
192
-				}
193
-				// et si il en reste on peut y aller...
194
-				// mais il faut modifier $dir qui sert de base dans la suite
195
-				if (count($files)) {
196
-					$dir = $dir_logos;
197
-				}
198
-			}
199
-		}
200
-
201
-		spip_log("logo_migrer_en_base $objet $mode : " . count($files) ." logos restant", "maj" . _LOG_INFO_IMPORTANTE);
202
-
203
-		$deja = [];
204
-		foreach ($files as $file) {
205
-			$logo = substr($file, strlen($dir . $nom_base));
206
-			$logo = explode('.', $logo);
207
-			if (
208
-				is_numeric($logo[0])
209
-				and ($id_objet = intval($logo[0]) or in_array($objet, ['site', 'rubrique']))
210
-			) {
211
-				if (!isset($deja[$id_objet])) {
212
-					$logo = $chercher_logo($id_objet, $_id_objet, $mode);
213
-					// if no logo in base
214
-					if (!$logo or count($logo) < 6) {
215
-						foreach ($formats_logos as $format) {
216
-							if (@file_exists($d = ($dir . ($nom = $nom_base . intval($id_objet) . '.' . $format)))) {
217
-								// logo_modifier commence par supprimer le logo existant, donc on le deplace pour pas le perdre
218
-								@rename($d, $dir_logos . $nom);
219
-								// et on le declare comme nouveau logo
220
-								logo_modifier($objet, $id_objet, $mode, $dir_logos . $nom);
221
-								break;
222
-							}
223
-						}
224
-					}
225
-					$deja[$id_objet] = true;
226
-				}
227
-			}
228
-			// si le fichier est encore la on le move : rien a faire ici
229
-			// (sauf si c'est une re-migration : il est deja dans logo/ donc il bouge pas)
230
-			if ($dir !== $dir_logos and file_exists($file)) {
231
-				@rename($file, $dir_logos_erreurs . basename($file));
232
-			}
233
-
234
-			if ($time_limit and time() > $time_limit) {
235
-				effacer_meta('drapeau_edition');
236
-				return;
237
-			}
238
-		}
239
-	}
240
-	effacer_meta('drapeau_edition');
152
+    $dir_logos_erreurs = sous_repertoire(_DIR_IMG, 'logo_erreurs');
153
+    $dir_logos = sous_repertoire(_DIR_IMG, 'logo');
154
+    $formats_logos = ['jpg', 'png', 'svg', 'gif'];
155
+    if (isset($GLOBALS['formats_logos'])) {
156
+        $formats_logos = $GLOBALS['formats_logos'];
157
+    }
158
+
159
+
160
+    $chercher_logo = charger_fonction('chercher_logo', 'inc');
161
+    include_spip('inc/chercher_logo');
162
+    $_id_objet = id_table_objet($objet);
163
+    $type = type_du_logo($_id_objet);
164
+
165
+    foreach (['on', 'off'] as $mode) {
166
+        $nom_base = $type . $mode;
167
+        $dir = (defined('_DIR_LOGOS') ? _DIR_LOGOS : _DIR_IMG);
168
+
169
+        $files = glob($dir . $nom_base . '*');
170
+        // est-ce que c'est une nouvelle tentative de migration ?
171
+        // dans ce cas les logos sont deja dans IMG/logo/
172
+        if (!count($files)) {
173
+            $files = glob($dir_logos . $nom_base . '*');
174
+            if (count($files)) {
175
+                // mais il faut verifier si ils ont pas deja ete migres pour tout ou partie
176
+                $filescheck = [];
177
+                foreach ($files as $file) {
178
+                    $short = basename(dirname($file)) . DIRECTORY_SEPARATOR . basename($file);
179
+                    $filescheck[$short] = $file;
180
+                }
181
+                // trouver ceux deja migres
182
+                $deja = sql_allfetsel('fichier', 'spip_documents', sql_in('fichier', array_keys($filescheck))." AND mode LIKE 'logo%'");
183
+                if (count($deja)) {
184
+                    $deja = array_column($deja, 'fichier');
185
+                    $restant = array_diff(array_keys($filescheck), $deja);
186
+                    $files = [];
187
+                    if (count($restant)) {
188
+                        foreach ($restant as $r) {
189
+                            $files[] = $filescheck[$r];
190
+                        }
191
+                    }
192
+                }
193
+                // et si il en reste on peut y aller...
194
+                // mais il faut modifier $dir qui sert de base dans la suite
195
+                if (count($files)) {
196
+                    $dir = $dir_logos;
197
+                }
198
+            }
199
+        }
200
+
201
+        spip_log("logo_migrer_en_base $objet $mode : " . count($files) ." logos restant", "maj" . _LOG_INFO_IMPORTANTE);
202
+
203
+        $deja = [];
204
+        foreach ($files as $file) {
205
+            $logo = substr($file, strlen($dir . $nom_base));
206
+            $logo = explode('.', $logo);
207
+            if (
208
+                is_numeric($logo[0])
209
+                and ($id_objet = intval($logo[0]) or in_array($objet, ['site', 'rubrique']))
210
+            ) {
211
+                if (!isset($deja[$id_objet])) {
212
+                    $logo = $chercher_logo($id_objet, $_id_objet, $mode);
213
+                    // if no logo in base
214
+                    if (!$logo or count($logo) < 6) {
215
+                        foreach ($formats_logos as $format) {
216
+                            if (@file_exists($d = ($dir . ($nom = $nom_base . intval($id_objet) . '.' . $format)))) {
217
+                                // logo_modifier commence par supprimer le logo existant, donc on le deplace pour pas le perdre
218
+                                @rename($d, $dir_logos . $nom);
219
+                                // et on le declare comme nouveau logo
220
+                                logo_modifier($objet, $id_objet, $mode, $dir_logos . $nom);
221
+                                break;
222
+                            }
223
+                        }
224
+                    }
225
+                    $deja[$id_objet] = true;
226
+                }
227
+            }
228
+            // si le fichier est encore la on le move : rien a faire ici
229
+            // (sauf si c'est une re-migration : il est deja dans logo/ donc il bouge pas)
230
+            if ($dir !== $dir_logos and file_exists($file)) {
231
+                @rename($file, $dir_logos_erreurs . basename($file));
232
+            }
233
+
234
+            if ($time_limit and time() > $time_limit) {
235
+                effacer_meta('drapeau_edition');
236
+                return;
237
+            }
238
+        }
239
+    }
240
+    effacer_meta('drapeau_edition');
241 241
 }
Please login to merge, or discard this patch.
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -89,7 +89,7 @@  discard block
 block discarded – undo
89 89
 		return $erreur;
90 90
 	}
91 91
 	// chercher dans la base
92
-	$mode_document = 'logo' . $mode;
92
+	$mode_document = 'logo'.$mode;
93 93
 
94 94
 	include_spip('inc/documents');
95 95
 	$erreur = '';
@@ -106,7 +106,7 @@  discard block
 block discarded – undo
106 106
 		$tmp_name = false;
107 107
 		if (file_exists($source)) {
108 108
 			$tmp_name = $source;
109
-		} elseif (file_exists($f = determine_upload() . $source)) {
109
+		} elseif (file_exists($f = determine_upload().$source)) {
110 110
 			$tmp_name = $f;
111 111
 		}
112 112
 		if (!$tmp_name) {
@@ -140,7 +140,7 @@  discard block
 block discarded – undo
140 140
 
141 141
 	if (!is_numeric($id_document)) {
142 142
 		$erreur = ($id_document ? $id_document : 'Erreur inconnue');
143
-		spip_log("Erreur ajout logo : $erreur pour source=" . json_encode($source), 'logo');
143
+		spip_log("Erreur ajout logo : $erreur pour source=".json_encode($source), 'logo');
144 144
 		return $erreur;
145 145
 	}
146 146
 
@@ -163,19 +163,19 @@  discard block
 block discarded – undo
163 163
 	$type = type_du_logo($_id_objet);
164 164
 
165 165
 	foreach (['on', 'off'] as $mode) {
166
-		$nom_base = $type . $mode;
166
+		$nom_base = $type.$mode;
167 167
 		$dir = (defined('_DIR_LOGOS') ? _DIR_LOGOS : _DIR_IMG);
168 168
 
169
-		$files = glob($dir . $nom_base . '*');
169
+		$files = glob($dir.$nom_base.'*');
170 170
 		// est-ce que c'est une nouvelle tentative de migration ?
171 171
 		// dans ce cas les logos sont deja dans IMG/logo/
172 172
 		if (!count($files)) {
173
-			$files = glob($dir_logos . $nom_base . '*');
173
+			$files = glob($dir_logos.$nom_base.'*');
174 174
 			if (count($files)) {
175 175
 				// mais il faut verifier si ils ont pas deja ete migres pour tout ou partie
176 176
 				$filescheck = [];
177 177
 				foreach ($files as $file) {
178
-					$short = basename(dirname($file)) . DIRECTORY_SEPARATOR . basename($file);
178
+					$short = basename(dirname($file)).DIRECTORY_SEPARATOR.basename($file);
179 179
 					$filescheck[$short] = $file;
180 180
 				}
181 181
 				// trouver ceux deja migres
@@ -198,11 +198,11 @@  discard block
 block discarded – undo
198 198
 			}
199 199
 		}
200 200
 
201
-		spip_log("logo_migrer_en_base $objet $mode : " . count($files) ." logos restant", "maj" . _LOG_INFO_IMPORTANTE);
201
+		spip_log("logo_migrer_en_base $objet $mode : ".count($files)." logos restant", "maj"._LOG_INFO_IMPORTANTE);
202 202
 
203 203
 		$deja = [];
204 204
 		foreach ($files as $file) {
205
-			$logo = substr($file, strlen($dir . $nom_base));
205
+			$logo = substr($file, strlen($dir.$nom_base));
206 206
 			$logo = explode('.', $logo);
207 207
 			if (
208 208
 				is_numeric($logo[0])
@@ -213,11 +213,11 @@  discard block
 block discarded – undo
213 213
 					// if no logo in base
214 214
 					if (!$logo or count($logo) < 6) {
215 215
 						foreach ($formats_logos as $format) {
216
-							if (@file_exists($d = ($dir . ($nom = $nom_base . intval($id_objet) . '.' . $format)))) {
216
+							if (@file_exists($d = ($dir.($nom = $nom_base.intval($id_objet).'.'.$format)))) {
217 217
 								// logo_modifier commence par supprimer le logo existant, donc on le deplace pour pas le perdre
218
-								@rename($d, $dir_logos . $nom);
218
+								@rename($d, $dir_logos.$nom);
219 219
 								// et on le declare comme nouveau logo
220
-								logo_modifier($objet, $id_objet, $mode, $dir_logos . $nom);
220
+								logo_modifier($objet, $id_objet, $mode, $dir_logos.$nom);
221 221
 								break;
222 222
 							}
223 223
 						}
@@ -228,7 +228,7 @@  discard block
 block discarded – undo
228 228
 			// si le fichier est encore la on le move : rien a faire ici
229 229
 			// (sauf si c'est une re-migration : il est deja dans logo/ donc il bouge pas)
230 230
 			if ($dir !== $dir_logos and file_exists($file)) {
231
-				@rename($file, $dir_logos_erreurs . basename($file));
231
+				@rename($file, $dir_logos_erreurs.basename($file));
232 232
 			}
233 233
 
234 234
 			if ($time_limit and time() > $time_limit) {
Please login to merge, or discard this patch.