Completed
Push — master ( fb4ed5...57e726 )
by cam
05:10
created
ecrire/action/editer_logo.php 1 patch
Indentation   +153 added lines, -153 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,35 +30,35 @@  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 ($doc = $logo[5]
47
-			and isset($doc['id_document'])
48
-		  and $id_document = $doc['id_document']) {
49
-
50
-			include_spip('action/editer_liens');
51
-			// supprimer le lien dans la base
52
-			objet_dissocier(array('document' => $id_document), array($objet => $id_objet), array('role' => '*'));
53
-
54
-			// verifier si il reste des liens avec d'autres objets et sinon supprimer
55
-			$liens = objet_trouver_liens(array('document' => $id_document), '*');
56
-			if (!count($liens)) {
57
-				$supprimer_document = charger_fonction('supprimer_document', 'action');
58
-				$supprimer_document($doc['id_document']);
59
-			}
60
-		}
61
-	}
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 ($doc = $logo[5]
47
+            and isset($doc['id_document'])
48
+          and $id_document = $doc['id_document']) {
49
+
50
+            include_spip('action/editer_liens');
51
+            // supprimer le lien dans la base
52
+            objet_dissocier(array('document' => $id_document), array($objet => $id_objet), array('role' => '*'));
53
+
54
+            // verifier si il reste des liens avec d'autres objets et sinon supprimer
55
+            $liens = objet_trouver_liens(array('document' => $id_document), '*');
56
+            if (!count($liens)) {
57
+                $supprimer_document = charger_fonction('supprimer_document', 'action');
58
+                $supprimer_document($doc['id_document']);
59
+            }
60
+        }
61
+    }
62 62
 }
63 63
 
64 64
 /**
@@ -75,132 +75,132 @@  discard block
 block discarded – undo
75 75
  *     Erreur, sinon ''
76 76
  */
77 77
 function logo_modifier($objet, $id_objet, $etat, $source) {
78
-	$chercher_logo = charger_fonction('chercher_logo', 'inc');
79
-	$objet = objet_type($objet);
80
-	$primary = id_table_objet($objet);
81
-	include_spip('inc/chercher_logo');
82
-
83
-	$mode = preg_replace(",\W,", '', $etat);
84
-	if (!$mode){
85
-		spip_log("logo_modifier : etat $etat invalide", 'logo');
86
-		$erreur = 'etat invalide';
87
-
88
-		return $erreur;
89
-	}
90
-	// chercher dans la base
91
-	$mode_document = 'logo' . $mode;
92
-
93
-	include_spip('inc/documents');
94
-	$erreur = '';
95
-
96
-	if (!$source) {
97
-		spip_log('spip_image_ajouter : source inconnue', 'logo');
98
-		$erreur = 'source inconnue';
99
-
100
-		return $erreur;
101
-	}
102
-
103
-	// fichier dans upload/
104
-	if (is_string($source)) {
105
-		$tmp_name = false;
106
-		if (file_exists($source)) {
107
-			$tmp_name = $source;
108
-		} elseif (file_exists($f = determine_upload() . $source)) {
109
-			$tmp_name = $f;
110
-		}
111
-		if (!$tmp_name) {
112
-			spip_log('spip_image_ajouter : source inconnue', 'logo');
113
-			$erreur = 'source inconnue';
114
-
115
-			return $erreur;
116
-		}
117
-		$source = array(
118
-			'tmp_name' => $tmp_name,
119
-			'name' => basename($tmp_name),
120
-		);
121
-	} elseif ($erreur = check_upload_error($source['error'], '', true)) {
122
-		return $erreur;
123
-	}
124
-
125
-	// supprimer le logo eventueel existant
126
-	// 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)
127
-	// mais de toute facon l'interface actuelle oblige a supprimer + reinserer
128
-	logo_supprimer($objet, $id_objet, $etat);
129
-
130
-
131
-	$source['mode'] = $mode_document;
132
-	$ajouter_documents = charger_fonction('ajouter_documents', 'action');
133
-	autoriser_exception('associerdocuments', $objet, $id_objet);
134
-	$ajoutes = $ajouter_documents('new', [$source], $objet, $id_objet, $mode_document);
135
-	autoriser_exception('associerdocuments', $objet, $id_objet, false);
136
-
137
-	$id_document = reset($ajoutes);
138
-
139
-	if (!is_numeric($id_document)) {
140
-		$erreur = ($id_document ? $id_document : 'Erreur inconnue');
141
-		spip_log("Erreur ajout logo : $erreur pour source=".json_encode($source), 'logo');
142
-		return $erreur;
143
-	}
144
-
145
-	return ''; // tout est bon, pas d'erreur
78
+    $chercher_logo = charger_fonction('chercher_logo', 'inc');
79
+    $objet = objet_type($objet);
80
+    $primary = id_table_objet($objet);
81
+    include_spip('inc/chercher_logo');
82
+
83
+    $mode = preg_replace(",\W,", '', $etat);
84
+    if (!$mode){
85
+        spip_log("logo_modifier : etat $etat invalide", 'logo');
86
+        $erreur = 'etat invalide';
87
+
88
+        return $erreur;
89
+    }
90
+    // chercher dans la base
91
+    $mode_document = 'logo' . $mode;
92
+
93
+    include_spip('inc/documents');
94
+    $erreur = '';
95
+
96
+    if (!$source) {
97
+        spip_log('spip_image_ajouter : source inconnue', 'logo');
98
+        $erreur = 'source inconnue';
99
+
100
+        return $erreur;
101
+    }
102
+
103
+    // fichier dans upload/
104
+    if (is_string($source)) {
105
+        $tmp_name = false;
106
+        if (file_exists($source)) {
107
+            $tmp_name = $source;
108
+        } elseif (file_exists($f = determine_upload() . $source)) {
109
+            $tmp_name = $f;
110
+        }
111
+        if (!$tmp_name) {
112
+            spip_log('spip_image_ajouter : source inconnue', 'logo');
113
+            $erreur = 'source inconnue';
114
+
115
+            return $erreur;
116
+        }
117
+        $source = array(
118
+            'tmp_name' => $tmp_name,
119
+            'name' => basename($tmp_name),
120
+        );
121
+    } elseif ($erreur = check_upload_error($source['error'], '', true)) {
122
+        return $erreur;
123
+    }
124
+
125
+    // supprimer le logo eventueel existant
126
+    // 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)
127
+    // mais de toute facon l'interface actuelle oblige a supprimer + reinserer
128
+    logo_supprimer($objet, $id_objet, $etat);
129
+
130
+
131
+    $source['mode'] = $mode_document;
132
+    $ajouter_documents = charger_fonction('ajouter_documents', 'action');
133
+    autoriser_exception('associerdocuments', $objet, $id_objet);
134
+    $ajoutes = $ajouter_documents('new', [$source], $objet, $id_objet, $mode_document);
135
+    autoriser_exception('associerdocuments', $objet, $id_objet, false);
136
+
137
+    $id_document = reset($ajoutes);
138
+
139
+    if (!is_numeric($id_document)) {
140
+        $erreur = ($id_document ? $id_document : 'Erreur inconnue');
141
+        spip_log("Erreur ajout logo : $erreur pour source=".json_encode($source), 'logo');
142
+        return $erreur;
143
+    }
144
+
145
+    return ''; // tout est bon, pas d'erreur
146 146
 
147 147
 }
148 148
 
149 149
 function logo_migrer_en_base($objet, $time_limit) {
150 150
 
151
-	$dir_logos_erreurs = sous_repertoire(_DIR_IMG, 'logo_erreurs');
152
-	$dir_logos = sous_repertoire(_DIR_IMG, 'logo');
153
-	$formats_logos = array('jpg', 'png', 'svg', 'gif');
154
-	if (isset($GLOBALS['formats_logos'])) {
155
-		$formats_logos = $GLOBALS['formats_logos'];
156
-	}
157
-
158
-
159
-	$chercher_logo = charger_fonction('chercher_logo', 'inc');
160
-	include_spip('inc/chercher_logo');
161
-	$_id_objet = id_table_objet($objet);
162
-	$type = type_du_logo($_id_objet);
163
-
164
-	foreach (['on', 'off'] as $mode) {
165
-		$nom_base = $type . $mode;
166
-		$dir = (defined('_DIR_LOGOS') ? _DIR_LOGOS : _DIR_IMG);
167
-
168
-		$deja = array();
169
-		$files = glob($dir . $nom_base . "*");
170
-
171
-		foreach ($files as $file) {
172
-			$logo = substr($file, strlen($dir . $nom_base));
173
-			$logo = explode('.', $logo);
174
-			if (is_numeric($logo[0])
175
-			  and ($id_objet = intval($logo[0]) or $objet==='site')) {
176
-				if (!isset($deja[$id_objet])) {
177
-					$logo = $chercher_logo($id_objet, $_id_objet, $mode);
178
-					// if no logo in base
179
-					if (!$logo or count($logo)<6) {
180
-						foreach ($formats_logos as $format) {
181
-							if (@file_exists($d = ($dir . ($nom = $nom_base . intval($id_objet) . '.' . $format)))) {
182
-								// logo_modifier commence par supprimer le logo existant, donc on le deplace pour pas le perdre
183
-								@rename($d, $dir_logos . $nom);
184
-								// et on le declare comme nouveau logo
185
-								logo_modifier($objet, $id_objet, $mode, $dir_logos . $nom);
186
-								break;
187
-							}
188
-						}
189
-					}
190
-					$deja[$id_objet] = true;
191
-				}
192
-			}
193
-			// si le fichier est encore la on le move : rien a faire ici
194
-			if (file_exists($file)) {
195
-				@rename($file, $dir_logos_erreurs . basename($file));
196
-			}
197
-
198
-			if ($time_limit and time() > $time_limit) {
199
-				effacer_meta('drapeau_edition');
200
-				return;
201
-			}
202
-		}
203
-
204
-	}
205
-	effacer_meta('drapeau_edition');
151
+    $dir_logos_erreurs = sous_repertoire(_DIR_IMG, 'logo_erreurs');
152
+    $dir_logos = sous_repertoire(_DIR_IMG, 'logo');
153
+    $formats_logos = array('jpg', 'png', 'svg', 'gif');
154
+    if (isset($GLOBALS['formats_logos'])) {
155
+        $formats_logos = $GLOBALS['formats_logos'];
156
+    }
157
+
158
+
159
+    $chercher_logo = charger_fonction('chercher_logo', 'inc');
160
+    include_spip('inc/chercher_logo');
161
+    $_id_objet = id_table_objet($objet);
162
+    $type = type_du_logo($_id_objet);
163
+
164
+    foreach (['on', 'off'] as $mode) {
165
+        $nom_base = $type . $mode;
166
+        $dir = (defined('_DIR_LOGOS') ? _DIR_LOGOS : _DIR_IMG);
167
+
168
+        $deja = array();
169
+        $files = glob($dir . $nom_base . "*");
170
+
171
+        foreach ($files as $file) {
172
+            $logo = substr($file, strlen($dir . $nom_base));
173
+            $logo = explode('.', $logo);
174
+            if (is_numeric($logo[0])
175
+              and ($id_objet = intval($logo[0]) or $objet==='site')) {
176
+                if (!isset($deja[$id_objet])) {
177
+                    $logo = $chercher_logo($id_objet, $_id_objet, $mode);
178
+                    // if no logo in base
179
+                    if (!$logo or count($logo)<6) {
180
+                        foreach ($formats_logos as $format) {
181
+                            if (@file_exists($d = ($dir . ($nom = $nom_base . intval($id_objet) . '.' . $format)))) {
182
+                                // logo_modifier commence par supprimer le logo existant, donc on le deplace pour pas le perdre
183
+                                @rename($d, $dir_logos . $nom);
184
+                                // et on le declare comme nouveau logo
185
+                                logo_modifier($objet, $id_objet, $mode, $dir_logos . $nom);
186
+                                break;
187
+                            }
188
+                        }
189
+                    }
190
+                    $deja[$id_objet] = true;
191
+                }
192
+            }
193
+            // si le fichier est encore la on le move : rien a faire ici
194
+            if (file_exists($file)) {
195
+                @rename($file, $dir_logos_erreurs . basename($file));
196
+            }
197
+
198
+            if ($time_limit and time() > $time_limit) {
199
+                effacer_meta('drapeau_edition');
200
+                return;
201
+            }
202
+        }
203
+
204
+    }
205
+    effacer_meta('drapeau_edition');
206 206
 }
207 207
\ No newline at end of file
Please login to merge, or discard this patch.