Test Failed
Push — master ( e0c20c...b8c830 )
by Alxarafe
39:29
created
dolibarr/htdocs/core/class/commondocgenerator.class.php 3 patches
Indentation   +490 added lines, -490 removed lines patch added patch discarded remove patch
@@ -34,27 +34,27 @@  discard block
 block discarded – undo
34 34
  */
35 35
 abstract class CommonDocGenerator
36 36
 {
37
-	/**
38
-	 * @var string Error code (or message)
39
-	 */
40
-	public $error='';
37
+    /**
38
+     * @var string Error code (or message)
39
+     */
40
+    public $error='';
41 41
 
42 42
     /**
43 43
      * @var string[]    Array of error strings
44 44
      */
45 45
     public $errors = array();
46 46
 
47
-	/**
47
+    /**
48 48
      * @var DoliDB Database handler.
49 49
      */
50
-	protected $db;
50
+    protected $db;
51 51
 
52 52
 
53
-	/**
54
-	 *	Constructor
55
-	 *
56
-	 *  @param		DoliDB		$db      Database handler
57
-	*/
53
+    /**
54
+     *	Constructor
55
+     *
56
+     *  @param		DoliDB		$db      Database handler
57
+     */
58 58
     public function __construct($db)
59 59
     {
60 60
         $this->db = $db;
@@ -82,18 +82,18 @@  discard block
 block discarded – undo
82 82
             'myuser_fullname'=>$user->getFullName($outputlangs,1),
83 83
             'myuser_login'=>$user->login,
84 84
             'myuser_phone'=>$user->office_phone,
85
-       		'myuser_address'=>$user->address,
86
-       		'myuser_zip'=>$user->zip,
87
-       		'myuser_town'=>$user->town,
88
-       		'myuser_country'=>$user->country,
89
-        	'myuser_country_code'=>$user->country_code,
90
-       		'myuser_state'=>$user->state,
91
-        	'myuser_state_code'=>$user->state_code,
92
-        	'myuser_fax'=>$user->office_fax,
85
+                'myuser_address'=>$user->address,
86
+                'myuser_zip'=>$user->zip,
87
+                'myuser_town'=>$user->town,
88
+                'myuser_country'=>$user->country,
89
+            'myuser_country_code'=>$user->country_code,
90
+                'myuser_state'=>$user->state,
91
+            'myuser_state_code'=>$user->state_code,
92
+            'myuser_fax'=>$user->office_fax,
93 93
             'myuser_mobile'=>$user->user_mobile,
94 94
             'myuser_email'=>$user->email,
95
-        	'myuser_logo'=>$logotouse,
96
-        	'myuser_job'=>$user->job,
95
+            'myuser_logo'=>$logotouse,
96
+            'myuser_job'=>$user->job,
97 97
             'myuser_web'=>''	// url not exist in $user object
98 98
         );
99 99
     }
@@ -118,11 +118,11 @@  discard block
 block discarded – undo
118 118
         }
119 119
         if (empty($mysoc->country) && ! empty($mysoc->country_code))
120 120
         {
121
-        	$mysoc->country=$outputlangs->transnoentitiesnoconv("Country".$mysoc->country_code);
121
+            $mysoc->country=$outputlangs->transnoentitiesnoconv("Country".$mysoc->country_code);
122 122
         }
123 123
         if (empty($mysoc->state) && ! empty($mysoc->state_code))
124 124
         {
125
-        	$mysoc->state=getState($mysoc->state_code,0);
125
+            $mysoc->state=getState($mysoc->state_code,0);
126 126
         }
127 127
 
128 128
         $logotouse=$conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_small;
@@ -140,7 +140,7 @@  discard block
 block discarded – undo
140 140
             'mycompany_country_code'=>$mysoc->country_code,
141 141
             'mycompany_state'=>$mysoc->state,
142 142
             'mycompany_state_code'=>$mysoc->state_code,
143
-        	'mycompany_web'=>$mysoc->url,
143
+            'mycompany_web'=>$mysoc->url,
144 144
             'mycompany_juridicalstatus'=>$mysoc->forme_juridique,
145 145
             'mycompany_managers'=>$mysoc->managers,
146 146
             'mycompany_capital'=>$mysoc->capital,
@@ -151,8 +151,8 @@  discard block
 block discarded – undo
151 151
             'mycompany_idprof4'=>$mysoc->idprof4,
152 152
             'mycompany_idprof5'=>$mysoc->idprof5,
153 153
             'mycompany_idprof6'=>$mysoc->idprof6,
154
-        	'mycompany_vatnumber'=>$mysoc->tva_intra,
155
-			'mycompany_object'=>$mysoc->object,
154
+            'mycompany_vatnumber'=>$mysoc->tva_intra,
155
+            'mycompany_object'=>$mysoc->object,
156 156
             'mycompany_note_private'=>$mysoc->note_private,
157 157
             //'mycompany_note_public'=>$mysoc->note_public,        // Only private not exists for "mysoc" but both for thirdparties
158 158
         );
@@ -174,16 +174,16 @@  discard block
 block discarded – undo
174 174
 
175 175
         if (empty($object->country) && ! empty($object->country_code))
176 176
         {
177
-        	$object->country=$outputlangs->transnoentitiesnoconv("Country".$object->country_code);
177
+            $object->country=$outputlangs->transnoentitiesnoconv("Country".$object->country_code);
178 178
         }
179 179
         if (empty($object->state) && ! empty($object->state_code))
180 180
         {
181
-        	$object->state=getState($object->state_code,0);
181
+            $object->state=getState($object->state_code,0);
182 182
         }
183 183
 
184 184
         $array_thirdparty = array(
185 185
             'company_name'=>$object->name,
186
-	        'company_name_alias' => $object->name_alias,
186
+            'company_name_alias' => $object->name_alias,
187 187
             'company_email'=>$object->email,
188 188
             'company_phone'=>$object->phone,
189 189
             'company_fax'=>$object->fax,
@@ -191,10 +191,10 @@  discard block
 block discarded – undo
191 191
             'company_zip'=>$object->zip,
192 192
             'company_town'=>$object->town,
193 193
             'company_country'=>$object->country,
194
-        	'company_country_code'=>$object->country_code,
194
+            'company_country_code'=>$object->country_code,
195 195
             'company_state'=>$object->state,
196
-        	'company_state_code'=>$object->state_code,
197
-        	'company_web'=>$object->url,
196
+            'company_state_code'=>$object->state_code,
197
+            'company_web'=>$object->url,
198 198
             'company_barcode'=>$object->barcode,
199 199
             'company_vatnumber'=>$object->tva_intra,
200 200
             'company_customercode'=>$object->code_client,
@@ -219,52 +219,52 @@  discard block
 block discarded – undo
219 219
         // Retrieve extrafields
220 220
         if(is_array($object->array_options) && count($object->array_options))
221 221
         {
222
-        	require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
223
-        	$extrafields = new ExtraFields($this->db);
224
-        	$extralabels = $extrafields->fetch_name_optionals_label('societe',true);
225
-        	$object->fetch_optionals();
226
-
227
-        	foreach($extrafields->attribute_label as $key=>$label)
228
-        	{
229
-        		if($extrafields->attribute_type[$key] == 'price')
230
-        		{
231
-        			$object->array_options['options_'.$key] = price($object->array_options['options_'.$key],0,$outputlangs,0,0,-1,$conf->currency);
232
-        		}
233
-        		else if($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox')
234
-        		{
235
-        			$object->array_options['options_'.$key] = $extrafields->attribute_param[$key]['options'][$object->array_options['options_'.$key]];
236
-        		}
237
-        		$array_thirdparty = array_merge($array_thirdparty, array ('company_options_'.$key => $object->array_options ['options_' . $key]));
238
-			}
239
-		}
240
-		return $array_thirdparty;
241
-	}
222
+            require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
223
+            $extrafields = new ExtraFields($this->db);
224
+            $extralabels = $extrafields->fetch_name_optionals_label('societe',true);
225
+            $object->fetch_optionals();
226
+
227
+            foreach($extrafields->attribute_label as $key=>$label)
228
+            {
229
+                if($extrafields->attribute_type[$key] == 'price')
230
+                {
231
+                    $object->array_options['options_'.$key] = price($object->array_options['options_'.$key],0,$outputlangs,0,0,-1,$conf->currency);
232
+                }
233
+                else if($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox')
234
+                {
235
+                    $object->array_options['options_'.$key] = $extrafields->attribute_param[$key]['options'][$object->array_options['options_'.$key]];
236
+                }
237
+                $array_thirdparty = array_merge($array_thirdparty, array ('company_options_'.$key => $object->array_options ['options_' . $key]));
238
+            }
239
+        }
240
+        return $array_thirdparty;
241
+    }
242 242
 
243 243
     // phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
244
-	/**
245
-	 * Define array with couple subtitution key => subtitution value
246
-	 *
247
-	 * @param	Contact 	$object        	contact
248
-	 * @param	Translate 	$outputlangs   	object for output
249
-	 * @param   array		$array_key	    Name of the key for return array
250
-	 * @return	array 						Array of substitution key->code
251
-	 */
244
+    /**
245
+     * Define array with couple subtitution key => subtitution value
246
+     *
247
+     * @param	Contact 	$object        	contact
248
+     * @param	Translate 	$outputlangs   	object for output
249
+     * @param   array		$array_key	    Name of the key for return array
250
+     * @return	array 						Array of substitution key->code
251
+     */
252 252
     function get_substitutionarray_contact($object, $outputlangs, $array_key = 'object')
253 253
     {
254 254
         // phpcs:enable
255
-		global $conf;
256
-
257
-		if(empty($object->country) && ! empty($object->country_code))
258
-		{
259
-			$object->country = $outputlangs->transnoentitiesnoconv("Country" . $object->country_code);
260
-		}
261
-		if(empty($object->state) && ! empty($object->state_code))
262
-		{
263
-			$object->state = getState($object->state_code, 0);
264
-		}
265
-
266
-		$array_contact = array (
267
-		    $array_key . '_fullname' => $object->getFullName($outputlangs, 1),
255
+        global $conf;
256
+
257
+        if(empty($object->country) && ! empty($object->country_code))
258
+        {
259
+            $object->country = $outputlangs->transnoentitiesnoconv("Country" . $object->country_code);
260
+        }
261
+        if(empty($object->state) && ! empty($object->state_code))
262
+        {
263
+            $object->state = getState($object->state_code, 0);
264
+        }
265
+
266
+        $array_contact = array (
267
+            $array_key . '_fullname' => $object->getFullName($outputlangs, 1),
268 268
             $array_key . '_lastname' => $object->lastname,
269 269
             $array_key . '_firstname' => $object->firstname,
270 270
             $array_key . '_address' => $object->address,
@@ -290,28 +290,28 @@  discard block
 block discarded – undo
290 290
             $array_key . '_default_lang' => $object->default_lang,
291 291
             $array_key . '_note_public' => $object->note_public,
292 292
             $array_key . '_note_private' => $object->note_private
293
-		);
294
-
295
-		// Retrieve extrafields
296
-		require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php';
297
-		$extrafields = new ExtraFields($this->db);
298
-		$extralabels = $extrafields->fetch_name_optionals_label('socpeople', true);
299
-		$object->fetch_optionals();
300
-
301
-		foreach($extrafields->attribute_label as $key => $label)
302
-		{
303
-			if ($extrafields->attribute_type[$key] == 'price')
304
-			{
305
-				$object->array_options['options_' . $key] = price($object->array_options ['options_' . $key], 0, $outputlangs, 0, 0, - 1, $conf->currency);
306
-			}
307
-			elseif($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox')
308
-			{
309
-				$object->array_options['options_' . $key] = $extrafields->attribute_param[$key]['options'][$object->array_options['options_' . $key]];
310
-			}
311
-			$array_contact = array_merge($array_contact, array($array_key.'_options_' . $key => $object->array_options['options_'. $key]));
312
-		}
313
-		return $array_contact;
314
-	}
293
+        );
294
+
295
+        // Retrieve extrafields
296
+        require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php';
297
+        $extrafields = new ExtraFields($this->db);
298
+        $extralabels = $extrafields->fetch_name_optionals_label('socpeople', true);
299
+        $object->fetch_optionals();
300
+
301
+        foreach($extrafields->attribute_label as $key => $label)
302
+        {
303
+            if ($extrafields->attribute_type[$key] == 'price')
304
+            {
305
+                $object->array_options['options_' . $key] = price($object->array_options ['options_' . $key], 0, $outputlangs, 0, 0, - 1, $conf->currency);
306
+            }
307
+            elseif($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox')
308
+            {
309
+                $object->array_options['options_' . $key] = $extrafields->attribute_param[$key]['options'][$object->array_options['options_' . $key]];
310
+            }
311
+            $array_contact = array_merge($array_contact, array($array_key.'_options_' . $key => $object->array_options['options_'. $key]));
312
+        }
313
+        return $array_contact;
314
+    }
315 315
 
316 316
 
317 317
     // phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
@@ -324,260 +324,260 @@  discard block
 block discarded – undo
324 324
     function get_substitutionarray_other($outputlangs)
325 325
     {
326 326
         // phpcs:enable
327
-    	global $conf;
328
-
329
-    	$now=dol_now('gmt');	// gmt
330
-    	$array_other = array(
331
-    	    // Date in default language
332
-    	    'current_date'=>dol_print_date($now,'day','tzuser'),
333
-    	    'current_datehour'=>dol_print_date($now,'dayhour','tzuser'),
334
-   			'current_server_date'=>dol_print_date($now,'day','tzserver'),
335
-   			'current_server_datehour'=>dol_print_date($now,'dayhour','tzserver'),
336
-    	    // Date in requested output language
337
-    	    'current_date_locale'=>dol_print_date($now,'day','tzuser',$outputlangs),
338
-   			'current_datehour_locale'=>dol_print_date($now,'dayhour','tzuser',$outputlangs),
339
-   			'current_server_date_locale'=>dol_print_date($now,'day','tzserver',$outputlangs),
340
-   			'current_server_datehour_locale'=>dol_print_date($now,'dayhour','tzserver',$outputlangs),
341
-    	);
342
-
343
-
344
-    	foreach($conf->global as $key => $val)
345
-    	{
346
-    		if (preg_match('/(_pass|password|secret|_key|key$)/i', $key)) $newval = '*****forbidden*****';
347
-    		else $newval = $val;
348
-    		$array_other['__['.$key.']__'] = $newval;
349
-    	}
350
-
351
-    	return $array_other;
327
+        global $conf;
328
+
329
+        $now=dol_now('gmt');	// gmt
330
+        $array_other = array(
331
+            // Date in default language
332
+            'current_date'=>dol_print_date($now,'day','tzuser'),
333
+            'current_datehour'=>dol_print_date($now,'dayhour','tzuser'),
334
+                'current_server_date'=>dol_print_date($now,'day','tzserver'),
335
+                'current_server_datehour'=>dol_print_date($now,'dayhour','tzserver'),
336
+            // Date in requested output language
337
+            'current_date_locale'=>dol_print_date($now,'day','tzuser',$outputlangs),
338
+                'current_datehour_locale'=>dol_print_date($now,'dayhour','tzuser',$outputlangs),
339
+                'current_server_date_locale'=>dol_print_date($now,'day','tzserver',$outputlangs),
340
+                'current_server_datehour_locale'=>dol_print_date($now,'dayhour','tzserver',$outputlangs),
341
+        );
342
+
343
+
344
+        foreach($conf->global as $key => $val)
345
+        {
346
+            if (preg_match('/(_pass|password|secret|_key|key$)/i', $key)) $newval = '*****forbidden*****';
347
+            else $newval = $val;
348
+            $array_other['__['.$key.']__'] = $newval;
349
+        }
350
+
351
+        return $array_other;
352 352
     }
353 353
 
354 354
 
355 355
     // phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
356
-	/**
357
-	 * Define array with couple substitution key => substitution value
358
-	 *
359
-	 * @param   Object			$object             Main object to use as data source
360
-	 * @param   Translate		$outputlangs        Lang object to use for output
356
+    /**
357
+     * Define array with couple substitution key => substitution value
358
+     *
359
+     * @param   Object			$object             Main object to use as data source
360
+     * @param   Translate		$outputlangs        Lang object to use for output
361 361
      * @param   string		    $array_key	        Name of the key for return array
362
-	 * @return	array								Array of substitution
363
-	 */
364
-	function get_substitutionarray_object($object,$outputlangs,$array_key='object')
365
-	{
362
+     * @return	array								Array of substitution
363
+     */
364
+    function get_substitutionarray_object($object,$outputlangs,$array_key='object')
365
+    {
366 366
         // phpcs:enable
367
-		global $conf;
368
-
369
-		$sumpayed=$sumdeposit=$sumcreditnote='';
370
-		if ($object->element == 'facture')
371
-		{
372
-			$invoice_source=new Facture($this->db);
373
-			if ($object->fk_facture_source > 0)
374
-			{
375
-				$invoice_source->fetch($object->fk_facture_source);
376
-			}
377
-			$sumpayed = $object->getSommePaiement();
378
-			$sumdeposit = $object->getSumDepositsUsed();
379
-			$sumcreditnote = $object->getSumCreditNotesUsed();
380
-		}
381
-
382
-		$date = ($object->element == 'contrat' ? $object->date_contrat : $object->date);
383
-
384
-		$resarray=array(
385
-		$array_key.'_id'=>$object->id,
386
-		$array_key.'_ref'=>$object->ref,
387
-		$array_key.'_ref_ext'=>$object->ref_ext,
388
-		$array_key.'_ref_customer'=>(! empty($object->ref_client) ? $object->ref_client : (empty($object->ref_customer) ? '' : $object->ref_customer)),
389
-		$array_key.'_ref_supplier'=>(! empty($object->ref_fournisseur) ? $object->ref_fournisseur : (empty($object->ref_supplier) ? '' : $object->ref_supplier)),
390
-		$array_key.'_source_invoice_ref'=>$invoice_source->ref,
391
-		// Dates
367
+        global $conf;
368
+
369
+        $sumpayed=$sumdeposit=$sumcreditnote='';
370
+        if ($object->element == 'facture')
371
+        {
372
+            $invoice_source=new Facture($this->db);
373
+            if ($object->fk_facture_source > 0)
374
+            {
375
+                $invoice_source->fetch($object->fk_facture_source);
376
+            }
377
+            $sumpayed = $object->getSommePaiement();
378
+            $sumdeposit = $object->getSumDepositsUsed();
379
+            $sumcreditnote = $object->getSumCreditNotesUsed();
380
+        }
381
+
382
+        $date = ($object->element == 'contrat' ? $object->date_contrat : $object->date);
383
+
384
+        $resarray=array(
385
+        $array_key.'_id'=>$object->id,
386
+        $array_key.'_ref'=>$object->ref,
387
+        $array_key.'_ref_ext'=>$object->ref_ext,
388
+        $array_key.'_ref_customer'=>(! empty($object->ref_client) ? $object->ref_client : (empty($object->ref_customer) ? '' : $object->ref_customer)),
389
+        $array_key.'_ref_supplier'=>(! empty($object->ref_fournisseur) ? $object->ref_fournisseur : (empty($object->ref_supplier) ? '' : $object->ref_supplier)),
390
+        $array_key.'_source_invoice_ref'=>$invoice_source->ref,
391
+        // Dates
392 392
         $array_key.'_hour'=>dol_print_date($date,'hour'),
393
-		$array_key.'_date'=>dol_print_date($date,'day'),
394
-		$array_key.'_date_rfc'=>dol_print_date($date,'dayrfc'),
395
-		$array_key.'_date_limit'=>(! empty($object->date_lim_reglement)?dol_print_date($object->date_lim_reglement,'day'):''),
396
-	    $array_key.'_date_end'=>(! empty($object->fin_validite)?dol_print_date($object->fin_validite,'day'):''),
397
-		$array_key.'_date_creation'=>dol_print_date($object->date_creation,'day'),
398
-		$array_key.'_date_modification'=>(! empty($object->date_modification)?dol_print_date($object->date_modification,'day'):''),
399
-		$array_key.'_date_validation'=>(! empty($object->date_validation)?dol_print_date($object->date_validation,'dayhour'):''),
400
-		$array_key.'_date_delivery_planed'=>(! empty($object->date_livraison)?dol_print_date($object->date_livraison,'day'):''),
401
-		$array_key.'_date_close'=>(! empty($object->date_cloture)?dol_print_date($object->date_cloture,'dayhour'):''),
402
-
403
-		$array_key.'_payment_mode_code'=>$object->mode_reglement_code,
404
-		$array_key.'_payment_mode'=>($outputlangs->transnoentitiesnoconv('PaymentType'.$object->mode_reglement_code)!='PaymentType'.$object->mode_reglement_code?$outputlangs->transnoentitiesnoconv('PaymentType'.$object->mode_reglement_code):$object->mode_reglement),
405
-		$array_key.'_payment_term_code'=>$object->cond_reglement_code,
406
-		$array_key.'_payment_term'=>($outputlangs->transnoentitiesnoconv('PaymentCondition'.$object->cond_reglement_code)!='PaymentCondition'.$object->cond_reglement_code?$outputlangs->transnoentitiesnoconv('PaymentCondition'.$object->cond_reglement_code):($object->cond_reglement_doc?$object->cond_reglement_doc:$object->cond_reglement)),
407
-
408
-		$array_key.'_total_ht_locale'=>price($object->total_ht, 0, $outputlangs),
409
-		$array_key.'_total_vat_locale'=>(! empty($object->total_vat)?price($object->total_vat, 0, $outputlangs):price($object->total_tva, 0, $outputlangs)),
410
-		$array_key.'_total_localtax1_locale'=>price($object->total_localtax1, 0, $outputlangs),
411
-		$array_key.'_total_localtax2_locale'=>price($object->total_localtax2, 0, $outputlangs),
412
-		$array_key.'_total_ttc_locale'=>price($object->total_ttc, 0, $outputlangs),
413
-
414
-		$array_key.'_total_ht'=>price2num($object->total_ht),
415
-		$array_key.'_total_vat'=>(! empty($object->total_vat)?price2num($object->total_vat):price2num($object->total_tva)),
416
-		$array_key.'_total_localtax1'=>price2num($object->total_localtax1),
417
-		$array_key.'_total_localtax2'=>price2num($object->total_localtax2),
418
-		$array_key.'_total_ttc'=>price2num($object->total_ttc),
419
-
420
-		$array_key.'_multicurrency_code' => price2num($object->multicurrency_code),
421
-		$array_key.'_multicurrency_tx' => price2num($object->multicurrency_tx),
422
-	    $array_key.'_multicurrency_total_ht' => price2num($object->multicurrency_total_ht),
423
-	    $array_key.'_multicurrency_total_tva' => price2num($object->multicurrency_total_tva),
424
-		$array_key.'_multicurrency_total_ttc' => price2num($object->multicurrency_total_ttc),
425
-		$array_key.'_multicurrency_total_ht_locale' => price($object->multicurrency_total_ht, 0, $outputlangs),
426
-		$array_key.'_multicurrency_total_tva_locale' => price($object->multicurrency_total_tva, 0, $outputlangs),
427
-		$array_key.'_multicurrency_total_ttc_locale' => price($object->multicurrency_total_ttc, 0, $outputlangs),
428
-
429
-		$array_key.'_note_private'=>$object->note,
430
-		$array_key.'_note_public'=>$object->note_public,
431
-		$array_key.'_note'=>$object->note_public,			// For backward compatibility
432
-
433
-		// Payments
434
-		$array_key.'_already_payed_locale'=>price($sumpayed, 0, $outputlangs),
435
-		$array_key.'_already_payed'=>price2num($sumpayed),
436
-		$array_key.'_already_deposit_locale'=>price($sumdeposit, 0, $outputlangs),
437
-		$array_key.'_already_deposit'=>price2num($sumdeposit),
438
-		$array_key.'_already_creditnote_locale'=>price($sumcreditnote, 0, $outputlangs),
439
-		$array_key.'_already_creditnote'=>price2num($sumcreditnote),
440
-
441
-		$array_key.'_already_payed_all_locale'=>price(price2num($sumpayed + $sumdeposit + $sumcreditnote, 'MT'), 0, $outputlangs),
442
-		$array_key.'_already_payed_all'=> price2num(($sumpayed + $sumdeposit + $sumcreditnote), 'MT'),
443
-
444
-		// Remain to pay with all know infrmation (except open direct debit requests)
445
-		$array_key.'_remain_to_pay_locale'=>price(price2num($object->total_ttc - $sumpayed - $sumdeposit - $sumcreditnote, 'MT'), 0, $outputlangs),
446
-		$array_key.'_remain_to_pay'=>price2num($object->total_ttc - $sumpayed - $sumdeposit - $sumcreditnote, 'MT')
447
-		);
448
-
449
-		if (method_exists($object, 'getTotalDiscount')) {
450
-			$resarray[$array_key.'_total_discount_ht_locale'] = price($object->getTotalDiscount(), 0, $outputlangs);
451
-			$resarray[$array_key.'_total_discount_ht'] = price2num($object->getTotalDiscount());
452
-		} else {
453
-			$resarray[$array_key.'_total_discount_ht_locale'] = '';
454
-			$resarray[$array_key.'_total_discount_ht'] = '';
455
-		}
456
-
457
-		// Fetch project information if there is a project assigned to this object
458
-		if ($object->element != "project" && ! empty($object->fk_project) && $object->fk_project > 0)
459
-		{
460
-			if (! is_object($object->project))
461
-			{
462
-				$object->fetch_projet();
463
-			}
464
-
465
-			$resarray[$array_key.'_project_ref'] = $object->project->ref;
466
-			$resarray[$array_key.'_project_title'] = $object->project->title;
467
-			$resarray[$array_key.'_project_description'] = $object->project->description;
468
-			$resarray[$array_key.'_project_date_start'] = dol_print_date($object->project->date_start, 'day');
469
-			$resarray[$array_key.'_project_date_end'] = dol_print_date($object->project->date_end, 'day');
470
-		}
471
-
472
-		// Add vat by rates
473
-		if (is_array($object->lines) && count($object->lines)>0)
474
-		{
475
-			foreach ($object->lines as $line)
476
-			{
477
-			    // $line->tva_tx format depends on database field accuraty, no reliable. This is kept for backward comaptibility
478
-				if (empty($resarray[$array_key.'_total_vat_'.$line->tva_tx])) $resarray[$array_key.'_total_vat_'.$line->tva_tx]=0;
479
-				$resarray[$array_key.'_total_vat_'.$line->tva_tx]+=$line->total_tva;
480
-				$resarray[$array_key.'_total_vat_locale_'.$line->tva_tx]=price($resarray[$array_key.'_total_vat_'.$line->tva_tx]);
481
-			    // $vatformated is vat without not expected chars (so 20, or 8.5 or 5.99 for example)
482
-				$vatformated=vatrate($line->tva_tx);
483
-				if (empty($resarray[$array_key.'_total_vat_'.$vatformated])) $resarray[$array_key.'_total_vat_'.$vatformated]=0;
484
-				$resarray[$array_key.'_total_vat_'.$vatformated]+=$line->total_tva;
485
-				$resarray[$array_key.'_total_vat_locale_'.$vatformated]=price($resarray[$array_key.'_total_vat_'.$vatformated]);
486
-			}
487
-		}
488
-		// Retrieve extrafields
489
-		if (is_array($object->array_options) && count($object->array_options))
490
-		{
491
-			$extrafieldkey=$object->element;
492
-
493
-			require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
494
-			$extrafields = new ExtraFields($this->db);
495
-			$extralabels = $extrafields->fetch_name_optionals_label($extrafieldkey,true);
496
-			$object->fetch_optionals();
497
-
498
-			$resarray = $this->fill_substitutionarray_with_extrafields($object,$resarray,$extrafields,$array_key,$outputlangs);
499
-		}
500
-		return $resarray;
501
-	}
393
+        $array_key.'_date'=>dol_print_date($date,'day'),
394
+        $array_key.'_date_rfc'=>dol_print_date($date,'dayrfc'),
395
+        $array_key.'_date_limit'=>(! empty($object->date_lim_reglement)?dol_print_date($object->date_lim_reglement,'day'):''),
396
+        $array_key.'_date_end'=>(! empty($object->fin_validite)?dol_print_date($object->fin_validite,'day'):''),
397
+        $array_key.'_date_creation'=>dol_print_date($object->date_creation,'day'),
398
+        $array_key.'_date_modification'=>(! empty($object->date_modification)?dol_print_date($object->date_modification,'day'):''),
399
+        $array_key.'_date_validation'=>(! empty($object->date_validation)?dol_print_date($object->date_validation,'dayhour'):''),
400
+        $array_key.'_date_delivery_planed'=>(! empty($object->date_livraison)?dol_print_date($object->date_livraison,'day'):''),
401
+        $array_key.'_date_close'=>(! empty($object->date_cloture)?dol_print_date($object->date_cloture,'dayhour'):''),
402
+
403
+        $array_key.'_payment_mode_code'=>$object->mode_reglement_code,
404
+        $array_key.'_payment_mode'=>($outputlangs->transnoentitiesnoconv('PaymentType'.$object->mode_reglement_code)!='PaymentType'.$object->mode_reglement_code?$outputlangs->transnoentitiesnoconv('PaymentType'.$object->mode_reglement_code):$object->mode_reglement),
405
+        $array_key.'_payment_term_code'=>$object->cond_reglement_code,
406
+        $array_key.'_payment_term'=>($outputlangs->transnoentitiesnoconv('PaymentCondition'.$object->cond_reglement_code)!='PaymentCondition'.$object->cond_reglement_code?$outputlangs->transnoentitiesnoconv('PaymentCondition'.$object->cond_reglement_code):($object->cond_reglement_doc?$object->cond_reglement_doc:$object->cond_reglement)),
407
+
408
+        $array_key.'_total_ht_locale'=>price($object->total_ht, 0, $outputlangs),
409
+        $array_key.'_total_vat_locale'=>(! empty($object->total_vat)?price($object->total_vat, 0, $outputlangs):price($object->total_tva, 0, $outputlangs)),
410
+        $array_key.'_total_localtax1_locale'=>price($object->total_localtax1, 0, $outputlangs),
411
+        $array_key.'_total_localtax2_locale'=>price($object->total_localtax2, 0, $outputlangs),
412
+        $array_key.'_total_ttc_locale'=>price($object->total_ttc, 0, $outputlangs),
413
+
414
+        $array_key.'_total_ht'=>price2num($object->total_ht),
415
+        $array_key.'_total_vat'=>(! empty($object->total_vat)?price2num($object->total_vat):price2num($object->total_tva)),
416
+        $array_key.'_total_localtax1'=>price2num($object->total_localtax1),
417
+        $array_key.'_total_localtax2'=>price2num($object->total_localtax2),
418
+        $array_key.'_total_ttc'=>price2num($object->total_ttc),
419
+
420
+        $array_key.'_multicurrency_code' => price2num($object->multicurrency_code),
421
+        $array_key.'_multicurrency_tx' => price2num($object->multicurrency_tx),
422
+        $array_key.'_multicurrency_total_ht' => price2num($object->multicurrency_total_ht),
423
+        $array_key.'_multicurrency_total_tva' => price2num($object->multicurrency_total_tva),
424
+        $array_key.'_multicurrency_total_ttc' => price2num($object->multicurrency_total_ttc),
425
+        $array_key.'_multicurrency_total_ht_locale' => price($object->multicurrency_total_ht, 0, $outputlangs),
426
+        $array_key.'_multicurrency_total_tva_locale' => price($object->multicurrency_total_tva, 0, $outputlangs),
427
+        $array_key.'_multicurrency_total_ttc_locale' => price($object->multicurrency_total_ttc, 0, $outputlangs),
428
+
429
+        $array_key.'_note_private'=>$object->note,
430
+        $array_key.'_note_public'=>$object->note_public,
431
+        $array_key.'_note'=>$object->note_public,			// For backward compatibility
432
+
433
+        // Payments
434
+        $array_key.'_already_payed_locale'=>price($sumpayed, 0, $outputlangs),
435
+        $array_key.'_already_payed'=>price2num($sumpayed),
436
+        $array_key.'_already_deposit_locale'=>price($sumdeposit, 0, $outputlangs),
437
+        $array_key.'_already_deposit'=>price2num($sumdeposit),
438
+        $array_key.'_already_creditnote_locale'=>price($sumcreditnote, 0, $outputlangs),
439
+        $array_key.'_already_creditnote'=>price2num($sumcreditnote),
440
+
441
+        $array_key.'_already_payed_all_locale'=>price(price2num($sumpayed + $sumdeposit + $sumcreditnote, 'MT'), 0, $outputlangs),
442
+        $array_key.'_already_payed_all'=> price2num(($sumpayed + $sumdeposit + $sumcreditnote), 'MT'),
443
+
444
+        // Remain to pay with all know infrmation (except open direct debit requests)
445
+        $array_key.'_remain_to_pay_locale'=>price(price2num($object->total_ttc - $sumpayed - $sumdeposit - $sumcreditnote, 'MT'), 0, $outputlangs),
446
+        $array_key.'_remain_to_pay'=>price2num($object->total_ttc - $sumpayed - $sumdeposit - $sumcreditnote, 'MT')
447
+        );
448
+
449
+        if (method_exists($object, 'getTotalDiscount')) {
450
+            $resarray[$array_key.'_total_discount_ht_locale'] = price($object->getTotalDiscount(), 0, $outputlangs);
451
+            $resarray[$array_key.'_total_discount_ht'] = price2num($object->getTotalDiscount());
452
+        } else {
453
+            $resarray[$array_key.'_total_discount_ht_locale'] = '';
454
+            $resarray[$array_key.'_total_discount_ht'] = '';
455
+        }
456
+
457
+        // Fetch project information if there is a project assigned to this object
458
+        if ($object->element != "project" && ! empty($object->fk_project) && $object->fk_project > 0)
459
+        {
460
+            if (! is_object($object->project))
461
+            {
462
+                $object->fetch_projet();
463
+            }
464
+
465
+            $resarray[$array_key.'_project_ref'] = $object->project->ref;
466
+            $resarray[$array_key.'_project_title'] = $object->project->title;
467
+            $resarray[$array_key.'_project_description'] = $object->project->description;
468
+            $resarray[$array_key.'_project_date_start'] = dol_print_date($object->project->date_start, 'day');
469
+            $resarray[$array_key.'_project_date_end'] = dol_print_date($object->project->date_end, 'day');
470
+        }
471
+
472
+        // Add vat by rates
473
+        if (is_array($object->lines) && count($object->lines)>0)
474
+        {
475
+            foreach ($object->lines as $line)
476
+            {
477
+                // $line->tva_tx format depends on database field accuraty, no reliable. This is kept for backward comaptibility
478
+                if (empty($resarray[$array_key.'_total_vat_'.$line->tva_tx])) $resarray[$array_key.'_total_vat_'.$line->tva_tx]=0;
479
+                $resarray[$array_key.'_total_vat_'.$line->tva_tx]+=$line->total_tva;
480
+                $resarray[$array_key.'_total_vat_locale_'.$line->tva_tx]=price($resarray[$array_key.'_total_vat_'.$line->tva_tx]);
481
+                // $vatformated is vat without not expected chars (so 20, or 8.5 or 5.99 for example)
482
+                $vatformated=vatrate($line->tva_tx);
483
+                if (empty($resarray[$array_key.'_total_vat_'.$vatformated])) $resarray[$array_key.'_total_vat_'.$vatformated]=0;
484
+                $resarray[$array_key.'_total_vat_'.$vatformated]+=$line->total_tva;
485
+                $resarray[$array_key.'_total_vat_locale_'.$vatformated]=price($resarray[$array_key.'_total_vat_'.$vatformated]);
486
+            }
487
+        }
488
+        // Retrieve extrafields
489
+        if (is_array($object->array_options) && count($object->array_options))
490
+        {
491
+            $extrafieldkey=$object->element;
492
+
493
+            require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
494
+            $extrafields = new ExtraFields($this->db);
495
+            $extralabels = $extrafields->fetch_name_optionals_label($extrafieldkey,true);
496
+            $object->fetch_optionals();
497
+
498
+            $resarray = $this->fill_substitutionarray_with_extrafields($object,$resarray,$extrafields,$array_key,$outputlangs);
499
+        }
500
+        return $resarray;
501
+    }
502 502
 
503 503
     // phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
504
-	/**
505
-	 *	Define array with couple substitution key => substitution value
506
-	 *
507
-	 *	@param  Object			$line				Object line
508
-	 *	@param  Translate		$outputlangs        Lang object to use for output
509
-	 *  @return	array								Return a substitution array
510
-	 */
511
-	function get_substitutionarray_lines($line, $outputlangs)
512
-	{
504
+    /**
505
+     *	Define array with couple substitution key => substitution value
506
+     *
507
+     *	@param  Object			$line				Object line
508
+     *	@param  Translate		$outputlangs        Lang object to use for output
509
+     *  @return	array								Return a substitution array
510
+     */
511
+    function get_substitutionarray_lines($line, $outputlangs)
512
+    {
513 513
         // phpcs:enable
514
-		global $conf;
515
-
516
-		$resarray= array(
517
-			'line_fulldesc'=>doc_getlinedesc($line,$outputlangs),
518
-			'line_product_ref'=>$line->product_ref,
519
-			'line_product_ref_fourn'=>$line->ref_fourn, // for supplier doc lines
520
-			'line_product_label'=>$line->product_label,
521
-			'line_product_type'=>$line->product_type,
522
-			'line_desc'=>$line->desc,
523
-			'line_vatrate'=>vatrate($line->tva_tx,true,$line->info_bits),
524
-			'line_up'=>price2num($line->subprice),
525
-			'line_up_locale'=>price($line->subprice, 0, $outputlangs),
526
-			'line_qty'=>$line->qty,
527
-			'line_discount_percent'=>($line->remise_percent?$line->remise_percent.'%':''),
528
-			'line_price_ht'=>price2num($line->total_ht),
529
-			'line_price_ttc'=>price2num($line->total_ttc),
530
-			'line_price_vat'=>price2num($line->total_tva),
531
-			'line_price_ht_locale'=>price($line->total_ht, 0, $outputlangs),
532
-			'line_price_ttc_locale'=>price($line->total_ttc, 0, $outputlangs),
533
-			'line_price_vat_locale'=>price($line->total_tva, 0, $outputlangs),
534
-		    // Dates
535
-			'line_date_start'=>dol_print_date($line->date_start, 'day', 'tzuser'),
536
-			'line_date_start_locale'=>dol_print_date($line->date_start, 'day', 'tzuser', $outputlangs),
537
-		    'line_date_start_rfc'=>dol_print_date($line->date_start, 'dayrfc', 'tzuser'),
538
-		    'line_date_end'=>dol_print_date($line->date_end, 'day', 'tzuser'),
539
-		    'line_date_end_locale'=>dol_print_date($line->date_end, 'day', 'tzuser', $outputlangs),
540
-		    'line_date_end_rfc'=>dol_print_date($line->date_end, 'dayrfc', 'tzuser'),
541
-
542
-		    'line_multicurrency_code' => price2num($line->multicurrency_code),
543
-		    'line_multicurrency_subprice' => price2num($line->multicurrency_subprice),
544
-		    'line_multicurrency_total_ht' => price2num($line->multicurrency_total_ht),
545
-		    'line_multicurrency_total_tva' => price2num($line->multicurrency_total_tva),
546
-		    'line_multicurrency_total_ttc' => price2num($line->multicurrency_total_ttc),
547
-		    'line_multicurrency_subprice_locale' => price($line->multicurrency_subprice, 0, $outputlangs),
548
-		    'line_multicurrency_total_ht_locale' => price($line->multicurrency_total_ht, 0, $outputlangs),
549
-		    'line_multicurrency_total_tva_locale' => price($line->multicurrency_total_tva, 0, $outputlangs),
550
-		    'line_multicurrency_total_ttc_locale' => price($line->multicurrency_total_ttc, 0, $outputlangs),
551
-		);
552
-
553
-		    // Units
554
-		if ($conf->global->PRODUCT_USE_UNITS)
555
-		{
556
-		      $resarray['line_unit']=$outputlangs->trans($line->getLabelOfUnit('long'));
557
-		      $resarray['line_unit_short']=$outputlangs->trans($line->getLabelOfUnit('short'));
558
-		}
559
-
560
-		// Retrieve extrafields
561
-		$extrafieldkey=$line->element;
562
-		$array_key="line";
563
-		require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
564
-		$extrafields = new ExtraFields($this->db);
565
-		$extralabels = $extrafields->fetch_name_optionals_label($extrafieldkey,true);
566
-		$line->fetch_optionals();
567
-
568
-		$resarray = $this->fill_substitutionarray_with_extrafields($line,$resarray,$extrafields,$array_key=$array_key,$outputlangs);
569
-
570
-		// Load product data optional fields to the line -> enables to use "line_options_{extrafield}"
571
-		if (isset($line->fk_product) && $line->fk_product > 0)
572
-		{
573
-			$tmpproduct = new Product($this->db);
574
-			$result = $tmpproduct->fetch($line->fk_product);
575
-			foreach($tmpproduct->array_options as $key=>$label)
576
-				$resarray["line_product_".$key] = $label;
577
-		}
578
-
579
-		return $resarray;
580
-	}
514
+        global $conf;
515
+
516
+        $resarray= array(
517
+            'line_fulldesc'=>doc_getlinedesc($line,$outputlangs),
518
+            'line_product_ref'=>$line->product_ref,
519
+            'line_product_ref_fourn'=>$line->ref_fourn, // for supplier doc lines
520
+            'line_product_label'=>$line->product_label,
521
+            'line_product_type'=>$line->product_type,
522
+            'line_desc'=>$line->desc,
523
+            'line_vatrate'=>vatrate($line->tva_tx,true,$line->info_bits),
524
+            'line_up'=>price2num($line->subprice),
525
+            'line_up_locale'=>price($line->subprice, 0, $outputlangs),
526
+            'line_qty'=>$line->qty,
527
+            'line_discount_percent'=>($line->remise_percent?$line->remise_percent.'%':''),
528
+            'line_price_ht'=>price2num($line->total_ht),
529
+            'line_price_ttc'=>price2num($line->total_ttc),
530
+            'line_price_vat'=>price2num($line->total_tva),
531
+            'line_price_ht_locale'=>price($line->total_ht, 0, $outputlangs),
532
+            'line_price_ttc_locale'=>price($line->total_ttc, 0, $outputlangs),
533
+            'line_price_vat_locale'=>price($line->total_tva, 0, $outputlangs),
534
+            // Dates
535
+            'line_date_start'=>dol_print_date($line->date_start, 'day', 'tzuser'),
536
+            'line_date_start_locale'=>dol_print_date($line->date_start, 'day', 'tzuser', $outputlangs),
537
+            'line_date_start_rfc'=>dol_print_date($line->date_start, 'dayrfc', 'tzuser'),
538
+            'line_date_end'=>dol_print_date($line->date_end, 'day', 'tzuser'),
539
+            'line_date_end_locale'=>dol_print_date($line->date_end, 'day', 'tzuser', $outputlangs),
540
+            'line_date_end_rfc'=>dol_print_date($line->date_end, 'dayrfc', 'tzuser'),
541
+
542
+            'line_multicurrency_code' => price2num($line->multicurrency_code),
543
+            'line_multicurrency_subprice' => price2num($line->multicurrency_subprice),
544
+            'line_multicurrency_total_ht' => price2num($line->multicurrency_total_ht),
545
+            'line_multicurrency_total_tva' => price2num($line->multicurrency_total_tva),
546
+            'line_multicurrency_total_ttc' => price2num($line->multicurrency_total_ttc),
547
+            'line_multicurrency_subprice_locale' => price($line->multicurrency_subprice, 0, $outputlangs),
548
+            'line_multicurrency_total_ht_locale' => price($line->multicurrency_total_ht, 0, $outputlangs),
549
+            'line_multicurrency_total_tva_locale' => price($line->multicurrency_total_tva, 0, $outputlangs),
550
+            'line_multicurrency_total_ttc_locale' => price($line->multicurrency_total_ttc, 0, $outputlangs),
551
+        );
552
+
553
+            // Units
554
+        if ($conf->global->PRODUCT_USE_UNITS)
555
+        {
556
+                $resarray['line_unit']=$outputlangs->trans($line->getLabelOfUnit('long'));
557
+                $resarray['line_unit_short']=$outputlangs->trans($line->getLabelOfUnit('short'));
558
+        }
559
+
560
+        // Retrieve extrafields
561
+        $extrafieldkey=$line->element;
562
+        $array_key="line";
563
+        require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
564
+        $extrafields = new ExtraFields($this->db);
565
+        $extralabels = $extrafields->fetch_name_optionals_label($extrafieldkey,true);
566
+        $line->fetch_optionals();
567
+
568
+        $resarray = $this->fill_substitutionarray_with_extrafields($line,$resarray,$extrafields,$array_key=$array_key,$outputlangs);
569
+
570
+        // Load product data optional fields to the line -> enables to use "line_options_{extrafield}"
571
+        if (isset($line->fk_product) && $line->fk_product > 0)
572
+        {
573
+            $tmpproduct = new Product($this->db);
574
+            $result = $tmpproduct->fetch($line->fk_product);
575
+            foreach($tmpproduct->array_options as $key=>$label)
576
+                $resarray["line_product_".$key] = $label;
577
+        }
578
+
579
+        return $resarray;
580
+    }
581 581
 
582 582
     // phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
583 583
     /**
@@ -591,54 +591,54 @@  discard block
 block discarded – undo
591 591
     function get_substitutionarray_shipment($object,$outputlangs,$array_key='object')
592 592
     {
593 593
         // phpcs:enable
594
-    	global $conf;
595
-		dol_include_once('/core/lib/product.lib.php');
596
-		$object->list_delivery_methods($object->shipping_method_id);
597
-		$calculatedVolume=($object->trueWidth * $object->trueHeight * $object->trueDepth);
598
-
599
-    	$array_shipment=array(
600
-	    	$array_key.'_id'=>$object->id,
601
-	    	$array_key.'_ref'=>$object->ref,
602
-	    	$array_key.'_ref_ext'=>$object->ref_ext,
603
-	    	$array_key.'_ref_customer'=>$object->ref_customer,
604
-	    	$array_key.'_date_delivery'=>dol_print_date($object->date_delivery,'day'),
605
-	    	$array_key.'_hour_delivery'=>dol_print_date($object->date_delivery,'hour'),
606
-	    	$array_key.'_date_creation'=>dol_print_date($object->date_creation,'day'),
607
-	    	$array_key.'_total_ht'=>price($object->total_ht),
608
-	    	$array_key.'_total_vat'=>price($object->total_tva),
609
-	    	$array_key.'_total_ttc'=>price($object->total_ttc),
610
-	    	$array_key.'_total_discount_ht' => price($object->getTotalDiscount()),
611
-	    	$array_key.'_note_private'=>$object->note_private,
612
-	    	$array_key.'_note'=>$object->note_public,
613
-	    	$array_key.'_tracking_number'=>$object->tracking_number,
614
-	    	$array_key.'_tracking_url'=>$object->tracking_url,
615
-	    	$array_key.'_shipping_method'=>$object->listmeths[0]['libelle'],
616
-	    	$array_key.'_weight'=>$object->trueWeight.' '.measuring_units_string($object->weight_units, 'weight'),
617
-	    	$array_key.'_width'=>$object->trueWidth.' '.measuring_units_string($object->width_units, 'size'),
618
-	    	$array_key.'_height'=>$object->trueHeight.' '.measuring_units_string($object->height_units, 'size'),
619
-	    	$array_key.'_depth'=>$object->trueDepth.' '.measuring_units_string($object->depth_units, 'size'),
620
-	    	$array_key.'_size'=>$calculatedVolume.' '.measuring_units_string(0, 'volume'),
621
-    	);
622
-
623
-    	// Add vat by rates
624
-    	foreach ($object->lines as $line)
625
-    	{
626
-    		if (empty($array_shipment[$array_key.'_total_vat_'.$line->tva_tx])) $array_shipment[$array_key.'_total_vat_'.$line->tva_tx]=0;
627
-    		$array_shipment[$array_key.'_total_vat_'.$line->tva_tx]+=$line->total_tva;
628
-    	}
629
-
630
-    	// Retrieve extrafields
631
-    	if (is_array($object->array_options) && count($object->array_options))
632
-    	{
633
-    		require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
634
-    		$extrafields = new ExtraFields($this->db);
635
-    		$extralabels = $extrafields->fetch_name_optionals_label('expedition',true);
636
-    		$object->fetch_optionals();
637
-
638
-    		$array_shipment = $this->fill_substitutionarray_with_extrafields($object,$array_shipment,$extrafields,$array_key,$outputlangs);
639
-    	}
640
-
641
-    	return $array_shipment;
594
+        global $conf;
595
+        dol_include_once('/core/lib/product.lib.php');
596
+        $object->list_delivery_methods($object->shipping_method_id);
597
+        $calculatedVolume=($object->trueWidth * $object->trueHeight * $object->trueDepth);
598
+
599
+        $array_shipment=array(
600
+            $array_key.'_id'=>$object->id,
601
+            $array_key.'_ref'=>$object->ref,
602
+            $array_key.'_ref_ext'=>$object->ref_ext,
603
+            $array_key.'_ref_customer'=>$object->ref_customer,
604
+            $array_key.'_date_delivery'=>dol_print_date($object->date_delivery,'day'),
605
+            $array_key.'_hour_delivery'=>dol_print_date($object->date_delivery,'hour'),
606
+            $array_key.'_date_creation'=>dol_print_date($object->date_creation,'day'),
607
+            $array_key.'_total_ht'=>price($object->total_ht),
608
+            $array_key.'_total_vat'=>price($object->total_tva),
609
+            $array_key.'_total_ttc'=>price($object->total_ttc),
610
+            $array_key.'_total_discount_ht' => price($object->getTotalDiscount()),
611
+            $array_key.'_note_private'=>$object->note_private,
612
+            $array_key.'_note'=>$object->note_public,
613
+            $array_key.'_tracking_number'=>$object->tracking_number,
614
+            $array_key.'_tracking_url'=>$object->tracking_url,
615
+            $array_key.'_shipping_method'=>$object->listmeths[0]['libelle'],
616
+            $array_key.'_weight'=>$object->trueWeight.' '.measuring_units_string($object->weight_units, 'weight'),
617
+            $array_key.'_width'=>$object->trueWidth.' '.measuring_units_string($object->width_units, 'size'),
618
+            $array_key.'_height'=>$object->trueHeight.' '.measuring_units_string($object->height_units, 'size'),
619
+            $array_key.'_depth'=>$object->trueDepth.' '.measuring_units_string($object->depth_units, 'size'),
620
+            $array_key.'_size'=>$calculatedVolume.' '.measuring_units_string(0, 'volume'),
621
+        );
622
+
623
+        // Add vat by rates
624
+        foreach ($object->lines as $line)
625
+        {
626
+            if (empty($array_shipment[$array_key.'_total_vat_'.$line->tva_tx])) $array_shipment[$array_key.'_total_vat_'.$line->tva_tx]=0;
627
+            $array_shipment[$array_key.'_total_vat_'.$line->tva_tx]+=$line->total_tva;
628
+        }
629
+
630
+        // Retrieve extrafields
631
+        if (is_array($object->array_options) && count($object->array_options))
632
+        {
633
+            require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
634
+            $extrafields = new ExtraFields($this->db);
635
+            $extralabels = $extrafields->fetch_name_optionals_label('expedition',true);
636
+            $object->fetch_optionals();
637
+
638
+            $array_shipment = $this->fill_substitutionarray_with_extrafields($object,$array_shipment,$extrafields,$array_key,$outputlangs);
639
+        }
640
+
641
+        return $array_shipment;
642 642
     }
643 643
 
644 644
 
@@ -657,24 +657,24 @@  discard block
 block discarded – undo
657 657
         dol_include_once('/core/lib/product.lib.php');
658 658
 
659 659
         $resarray = array(
660
-	    	'line_fulldesc'=>doc_getlinedesc($line,$outputlangs),
661
-	    	'line_product_ref'=>$line->product_ref,
662
-	    	'line_product_label'=>$line->product_label,
663
-	    	'line_desc'=>$line->desc,
664
-	    	'line_vatrate'=>vatrate($line->tva_tx,true,$line->info_bits),
665
-	    	'line_up'=>price($line->subprice),
666
-	    	'line_qty'=>$line->qty,
667
-	    	'line_qty_shipped'=>$line->qty_shipped,
668
-	    	'line_qty_asked'=>$line->qty_asked,
669
-	    	'line_discount_percent'=>($line->remise_percent?$line->remise_percent.'%':''),
670
-	    	'line_price_ht'=>price($line->total_ht),
671
-	    	'line_price_ttc'=>price($line->total_ttc),
672
-	    	'line_price_vat'=>price($line->total_tva),
673
-	    	'line_weight'=>empty($line->weight) ? '' : $line->weight*$line->qty_shipped.' '.measuring_units_string($line->weight_units, 'weight'),
674
-	    	'line_length'=>empty($line->length) ? '' : $line->length*$line->qty_shipped.' '.measuring_units_string($line->length_units, 'size'),
675
-	    	'line_surface'=>empty($line->surface) ? '' : $line->surface*$line->qty_shipped.' '.measuring_units_string($line->surface_units, 'surface'),
676
-	    	'line_volume'=>empty($line->volume) ? '' : $line->volume*$line->qty_shipped.' '.measuring_units_string($line->volume_units, 'volume'),
677
-    	);
660
+            'line_fulldesc'=>doc_getlinedesc($line,$outputlangs),
661
+            'line_product_ref'=>$line->product_ref,
662
+            'line_product_label'=>$line->product_label,
663
+            'line_desc'=>$line->desc,
664
+            'line_vatrate'=>vatrate($line->tva_tx,true,$line->info_bits),
665
+            'line_up'=>price($line->subprice),
666
+            'line_qty'=>$line->qty,
667
+            'line_qty_shipped'=>$line->qty_shipped,
668
+            'line_qty_asked'=>$line->qty_asked,
669
+            'line_discount_percent'=>($line->remise_percent?$line->remise_percent.'%':''),
670
+            'line_price_ht'=>price($line->total_ht),
671
+            'line_price_ttc'=>price($line->total_ttc),
672
+            'line_price_vat'=>price($line->total_tva),
673
+            'line_weight'=>empty($line->weight) ? '' : $line->weight*$line->qty_shipped.' '.measuring_units_string($line->weight_units, 'weight'),
674
+            'line_length'=>empty($line->length) ? '' : $line->length*$line->qty_shipped.' '.measuring_units_string($line->length_units, 'size'),
675
+            'line_surface'=>empty($line->surface) ? '' : $line->surface*$line->qty_shipped.' '.measuring_units_string($line->surface_units, 'surface'),
676
+            'line_volume'=>empty($line->volume) ? '' : $line->volume*$line->qty_shipped.' '.measuring_units_string($line->volume_units, 'volume'),
677
+        );
678 678
 
679 679
         // Retrieve extrafields
680 680
         $extrafieldkey = $line->element;
@@ -731,92 +731,92 @@  discard block
 block discarded – undo
731 731
      *	@return	array								Substitution array
732 732
      */
733 733
     function fill_substitutionarray_with_extrafields($object,$array_to_fill,$extrafields,$array_key,$outputlangs)
734
-	{
734
+    {
735 735
         // phpcs:enable
736
-		global $conf;
737
-		foreach($extrafields->attribute_label as $key=>$label)
738
-		{
739
-			if($extrafields->attribute_type[$key] == 'price')
740
-			{
741
-				$object->array_options['options_'.$key] = price2num($object->array_options['options_'.$key]);
742
-				$object->array_options['options_'.$key.'_currency'] = price($object->array_options['options_'.$key],0,$outputlangs,0,0,-1,$conf->currency);
743
-				//Add value to store price with currency
744
-				$array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_currency' => $object->array_options['options_'.$key.'_currency']));
745
-			}
746
-			else if($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox')
747
-			{
748
-				$object->array_options['options_'.$key] = $extrafields->attribute_param[$key]['options'][$object->array_options['options_'.$key]];
749
-			}
750
-			else if($extrafields->attribute_type[$key] == 'date')
751
-			{
752
-				if (strlen($object->array_options['options_'.$key])>0)
753
-				{
754
-					$date = $object->array_options['options_'.$key];
755
-					$object->array_options['options_'.$key] = dol_print_date($date,'day');                                       // using company output language
756
-					$object->array_options['options_'.$key.'_locale'] = dol_print_date($date,'day','tzserver',$outputlangs);     // using output language format
757
-					$object->array_options['options_'.$key.'_rfc'] = dol_print_date($date,'dayrfc');                             // international format
758
-				}
759
-				else
760
-				{
761
-					$object->array_options['options_'.$key] = '';
762
-					$object->array_options['options_'.$key.'_locale'] = '';
763
-					$object->array_options['options_'.$key.'_rfc'] = '';
764
-				}
765
-				$array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_locale' => $object->array_options['options_'.$key.'_locale']));
766
-				$array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_rfc' => $object->array_options['options_'.$key.'_rfc']));
767
-			}
768
-			else if($extrafields->attribute_type[$key] == 'datetime')
769
-			{
770
-				$datetime = $object->array_options['options_'.$key];
771
-				$object->array_options['options_'.$key] = ($datetime!="0000-00-00 00:00:00"?dol_print_date($object->array_options['options_'.$key],'dayhour'):'');                            // using company output language
772
-				$object->array_options['options_'.$key.'_locale'] = ($datetime!="0000-00-00 00:00:00"?dol_print_date($object->array_options['options_'.$key],'dayhour','tzserver',$outputlangs):'');    // using output language format
773
-				$object->array_options['options_'.$key.'_rfc'] = ($datetime!="0000-00-00 00:00:00"?dol_print_date($object->array_options['options_'.$key],'dayhourrfc'):'');                             // international format
774
-				$array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_locale' => $object->array_options['options_'.$key.'_locale']));
775
-				$array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_rfc' => $object->array_options['options_'.$key.'_rfc']));
776
-			}
777
-			else if($extrafields->attribute_type[$key] == 'link')
778
-			{
779
-				$id = $object->array_options['options_'.$key];
780
-				if ($id != "")
781
-				{
782
-					$param = $extrafields->attribute_param[$key];
783
-					$param_list=array_keys($param['options']);              // $param_list='ObjectName:classPath'
784
-					$InfoFieldList = explode(":", $param_list[0]);
785
-					$classname=$InfoFieldList[0];
786
-					$classpath=$InfoFieldList[1];
787
-					if (! empty($classpath))
788
-					{
789
-						dol_include_once($InfoFieldList[1]);
790
-						if ($classname && class_exists($classname))
791
-						{
792
-							$tmpobject = new $classname($this->db);
793
-							$tmpobject->fetch($id);
794
-							// completely replace the id with the linked object name
795
-							$object->array_options['options_'.$key] = $tmpobject->name;
796
-						}
797
-					}
798
-				}
799
-			}
800
-
801
-			$array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key => $object->array_options['options_'.$key]));
802
-		}
803
-
804
-		return $array_to_fill;
805
-	}
806
-
807
-
808
-	/**
809
-	 * Rect pdf
810
-	 *
811
-	 * @param	TCPDF	$pdf			Object PDF
812
-	 * @param	float	$x				Abscissa of first point
813
-	 * @param	float	$y		        Ordinate of first point
814
-	 * @param	float	$l				??
815
-	 * @param	float	$h				??
816
-	 * @param	int		$hidetop		1=Hide top bar of array and title, 0=Hide nothing, -1=Hide only title
817
-	 * @param	int		$hidebottom		Hide bottom
818
-	 * @return	void
819
-	 */
736
+        global $conf;
737
+        foreach($extrafields->attribute_label as $key=>$label)
738
+        {
739
+            if($extrafields->attribute_type[$key] == 'price')
740
+            {
741
+                $object->array_options['options_'.$key] = price2num($object->array_options['options_'.$key]);
742
+                $object->array_options['options_'.$key.'_currency'] = price($object->array_options['options_'.$key],0,$outputlangs,0,0,-1,$conf->currency);
743
+                //Add value to store price with currency
744
+                $array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_currency' => $object->array_options['options_'.$key.'_currency']));
745
+            }
746
+            else if($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox')
747
+            {
748
+                $object->array_options['options_'.$key] = $extrafields->attribute_param[$key]['options'][$object->array_options['options_'.$key]];
749
+            }
750
+            else if($extrafields->attribute_type[$key] == 'date')
751
+            {
752
+                if (strlen($object->array_options['options_'.$key])>0)
753
+                {
754
+                    $date = $object->array_options['options_'.$key];
755
+                    $object->array_options['options_'.$key] = dol_print_date($date,'day');                                       // using company output language
756
+                    $object->array_options['options_'.$key.'_locale'] = dol_print_date($date,'day','tzserver',$outputlangs);     // using output language format
757
+                    $object->array_options['options_'.$key.'_rfc'] = dol_print_date($date,'dayrfc');                             // international format
758
+                }
759
+                else
760
+                {
761
+                    $object->array_options['options_'.$key] = '';
762
+                    $object->array_options['options_'.$key.'_locale'] = '';
763
+                    $object->array_options['options_'.$key.'_rfc'] = '';
764
+                }
765
+                $array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_locale' => $object->array_options['options_'.$key.'_locale']));
766
+                $array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_rfc' => $object->array_options['options_'.$key.'_rfc']));
767
+            }
768
+            else if($extrafields->attribute_type[$key] == 'datetime')
769
+            {
770
+                $datetime = $object->array_options['options_'.$key];
771
+                $object->array_options['options_'.$key] = ($datetime!="0000-00-00 00:00:00"?dol_print_date($object->array_options['options_'.$key],'dayhour'):'');                            // using company output language
772
+                $object->array_options['options_'.$key.'_locale'] = ($datetime!="0000-00-00 00:00:00"?dol_print_date($object->array_options['options_'.$key],'dayhour','tzserver',$outputlangs):'');    // using output language format
773
+                $object->array_options['options_'.$key.'_rfc'] = ($datetime!="0000-00-00 00:00:00"?dol_print_date($object->array_options['options_'.$key],'dayhourrfc'):'');                             // international format
774
+                $array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_locale' => $object->array_options['options_'.$key.'_locale']));
775
+                $array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_rfc' => $object->array_options['options_'.$key.'_rfc']));
776
+            }
777
+            else if($extrafields->attribute_type[$key] == 'link')
778
+            {
779
+                $id = $object->array_options['options_'.$key];
780
+                if ($id != "")
781
+                {
782
+                    $param = $extrafields->attribute_param[$key];
783
+                    $param_list=array_keys($param['options']);              // $param_list='ObjectName:classPath'
784
+                    $InfoFieldList = explode(":", $param_list[0]);
785
+                    $classname=$InfoFieldList[0];
786
+                    $classpath=$InfoFieldList[1];
787
+                    if (! empty($classpath))
788
+                    {
789
+                        dol_include_once($InfoFieldList[1]);
790
+                        if ($classname && class_exists($classname))
791
+                        {
792
+                            $tmpobject = new $classname($this->db);
793
+                            $tmpobject->fetch($id);
794
+                            // completely replace the id with the linked object name
795
+                            $object->array_options['options_'.$key] = $tmpobject->name;
796
+                        }
797
+                    }
798
+                }
799
+            }
800
+
801
+            $array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key => $object->array_options['options_'.$key]));
802
+        }
803
+
804
+        return $array_to_fill;
805
+    }
806
+
807
+
808
+    /**
809
+     * Rect pdf
810
+     *
811
+     * @param	TCPDF	$pdf			Object PDF
812
+     * @param	float	$x				Abscissa of first point
813
+     * @param	float	$y		        Ordinate of first point
814
+     * @param	float	$l				??
815
+     * @param	float	$h				??
816
+     * @param	int		$hidetop		1=Hide top bar of array and title, 0=Hide nothing, -1=Hide only title
817
+     * @param	int		$hidebottom		Hide bottom
818
+     * @return	void
819
+     */
820 820
     function printRect($pdf, $x, $y, $l, $h, $hidetop=0, $hidebottom=0)
821 821
     {
822 822
         if (empty($hidetop) || $hidetop==-1) $pdf->line($x, $y, $x+$l, $y);
Please login to merge, or discard this patch.
Spacing   +196 added lines, -196 removed lines patch added patch discarded remove patch
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
 	/**
38 38
 	 * @var string Error code (or message)
39 39
 	 */
40
-	public $error='';
40
+	public $error = '';
41 41
 
42 42
     /**
43 43
      * @var string[]    Array of error strings
@@ -69,17 +69,17 @@  discard block
 block discarded – undo
69 69
      * @param   Translate	$outputlangs    Language object for output
70 70
      * @return	array						Array of substitution key->code
71 71
      */
72
-    function get_substitutionarray_user($user,$outputlangs)
72
+    function get_substitutionarray_user($user, $outputlangs)
73 73
     {
74 74
         // phpcs:enable
75 75
         global $conf;
76 76
 
77
-        $logotouse=$conf->user->dir_output.'/'.get_exdir($user->id, 2, 0, 1, $user, 'user').'/'.$user->photo;
77
+        $logotouse = $conf->user->dir_output.'/'.get_exdir($user->id, 2, 0, 1, $user, 'user').'/'.$user->photo;
78 78
 
79 79
         return array(
80 80
             'myuser_lastname'=>$user->lastname,
81 81
             'myuser_firstname'=>$user->firstname,
82
-            'myuser_fullname'=>$user->getFullName($outputlangs,1),
82
+            'myuser_fullname'=>$user->getFullName($outputlangs, 1),
83 83
             'myuser_login'=>$user->login,
84 84
             'myuser_phone'=>$user->office_phone,
85 85
        		'myuser_address'=>$user->address,
@@ -107,25 +107,25 @@  discard block
 block discarded – undo
107 107
      * @param   Translate	$outputlangs    Language object for output
108 108
      * @return	array						Array of substitution key->code
109 109
      */
110
-    function get_substitutionarray_mysoc($mysoc,$outputlangs)
110
+    function get_substitutionarray_mysoc($mysoc, $outputlangs)
111 111
     {
112 112
         // phpcs:enable
113 113
         global $conf;
114 114
 
115
-        if (empty($mysoc->forme_juridique) && ! empty($mysoc->forme_juridique_code))
115
+        if (empty($mysoc->forme_juridique) && !empty($mysoc->forme_juridique_code))
116 116
         {
117
-            $mysoc->forme_juridique=getFormeJuridiqueLabel($mysoc->forme_juridique_code);
117
+            $mysoc->forme_juridique = getFormeJuridiqueLabel($mysoc->forme_juridique_code);
118 118
         }
119
-        if (empty($mysoc->country) && ! empty($mysoc->country_code))
119
+        if (empty($mysoc->country) && !empty($mysoc->country_code))
120 120
         {
121
-        	$mysoc->country=$outputlangs->transnoentitiesnoconv("Country".$mysoc->country_code);
121
+        	$mysoc->country = $outputlangs->transnoentitiesnoconv("Country".$mysoc->country_code);
122 122
         }
123
-        if (empty($mysoc->state) && ! empty($mysoc->state_code))
123
+        if (empty($mysoc->state) && !empty($mysoc->state_code))
124 124
         {
125
-        	$mysoc->state=getState($mysoc->state_code,0);
125
+        	$mysoc->state = getState($mysoc->state_code, 0);
126 126
         }
127 127
 
128
-        $logotouse=$conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_small;
128
+        $logotouse = $conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_small;
129 129
 
130 130
         return array(
131 131
             'mycompany_logo'=>$logotouse,
@@ -167,18 +167,18 @@  discard block
 block discarded – undo
167 167
      * @param   Translate	$outputlangs    Language object for output
168 168
      * @return	array						Array of substitution key->code
169 169
      */
170
-    function get_substitutionarray_thirdparty($object,$outputlangs)
170
+    function get_substitutionarray_thirdparty($object, $outputlangs)
171 171
     {
172 172
         // phpcs:enable
173 173
         global $conf;
174 174
 
175
-        if (empty($object->country) && ! empty($object->country_code))
175
+        if (empty($object->country) && !empty($object->country_code))
176 176
         {
177
-        	$object->country=$outputlangs->transnoentitiesnoconv("Country".$object->country_code);
177
+        	$object->country = $outputlangs->transnoentitiesnoconv("Country".$object->country_code);
178 178
         }
179
-        if (empty($object->state) && ! empty($object->state_code))
179
+        if (empty($object->state) && !empty($object->state_code))
180 180
         {
181
-        	$object->state=getState($object->state_code,0);
181
+        	$object->state = getState($object->state_code, 0);
182 182
         }
183 183
 
184 184
         $array_thirdparty = array(
@@ -217,24 +217,24 @@  discard block
 block discarded – undo
217 217
         );
218 218
 
219 219
         // Retrieve extrafields
220
-        if(is_array($object->array_options) && count($object->array_options))
220
+        if (is_array($object->array_options) && count($object->array_options))
221 221
         {
222 222
         	require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
223 223
         	$extrafields = new ExtraFields($this->db);
224
-        	$extralabels = $extrafields->fetch_name_optionals_label('societe',true);
224
+        	$extralabels = $extrafields->fetch_name_optionals_label('societe', true);
225 225
         	$object->fetch_optionals();
226 226
 
227
-        	foreach($extrafields->attribute_label as $key=>$label)
227
+        	foreach ($extrafields->attribute_label as $key=>$label)
228 228
         	{
229
-        		if($extrafields->attribute_type[$key] == 'price')
229
+        		if ($extrafields->attribute_type[$key] == 'price')
230 230
         		{
231
-        			$object->array_options['options_'.$key] = price($object->array_options['options_'.$key],0,$outputlangs,0,0,-1,$conf->currency);
231
+        			$object->array_options['options_'.$key] = price($object->array_options['options_'.$key], 0, $outputlangs, 0, 0, -1, $conf->currency);
232 232
         		}
233
-        		else if($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox')
233
+        		else if ($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox')
234 234
         		{
235 235
         			$object->array_options['options_'.$key] = $extrafields->attribute_param[$key]['options'][$object->array_options['options_'.$key]];
236 236
         		}
237
-        		$array_thirdparty = array_merge($array_thirdparty, array ('company_options_'.$key => $object->array_options ['options_' . $key]));
237
+        		$array_thirdparty = array_merge($array_thirdparty, array('company_options_'.$key => $object->array_options ['options_'.$key]));
238 238
 			}
239 239
 		}
240 240
 		return $array_thirdparty;
@@ -254,61 +254,61 @@  discard block
 block discarded – undo
254 254
         // phpcs:enable
255 255
 		global $conf;
256 256
 
257
-		if(empty($object->country) && ! empty($object->country_code))
257
+		if (empty($object->country) && !empty($object->country_code))
258 258
 		{
259
-			$object->country = $outputlangs->transnoentitiesnoconv("Country" . $object->country_code);
259
+			$object->country = $outputlangs->transnoentitiesnoconv("Country".$object->country_code);
260 260
 		}
261
-		if(empty($object->state) && ! empty($object->state_code))
261
+		if (empty($object->state) && !empty($object->state_code))
262 262
 		{
263 263
 			$object->state = getState($object->state_code, 0);
264 264
 		}
265 265
 
266
-		$array_contact = array (
267
-		    $array_key . '_fullname' => $object->getFullName($outputlangs, 1),
268
-            $array_key . '_lastname' => $object->lastname,
269
-            $array_key . '_firstname' => $object->firstname,
270
-            $array_key . '_address' => $object->address,
271
-            $array_key . '_zip' => $object->zip,
272
-            $array_key . '_town' => $object->town,
273
-            $array_key . '_state_id' => $object->state_id,
274
-            $array_key . '_state_code' => $object->state_code,
275
-            $array_key . '_state' => $object->state,
276
-            $array_key . '_country_id' => $object->country_id,
277
-            $array_key . '_country_code' => $object->country_code,
278
-            $array_key . '_country' => $object->country,
279
-            $array_key . '_poste' => $object->poste,
280
-            $array_key . '_socid' => $object->socid,
281
-            $array_key . '_statut' => $object->statut,
282
-            $array_key . '_code' => $object->code,
283
-            $array_key . '_email' => $object->email,
284
-            $array_key . '_jabberid' => $object->jabberid,
285
-            $array_key . '_phone_pro' => $object->phone_pro,
286
-            $array_key . '_phone_perso' => $object->phone_perso,
287
-            $array_key . '_phone_mobile' => $object->phone_mobile,
288
-            $array_key . '_fax' => $object->fax,
289
-            $array_key . '_birthday' => $object->birthday,
290
-            $array_key . '_default_lang' => $object->default_lang,
291
-            $array_key . '_note_public' => $object->note_public,
292
-            $array_key . '_note_private' => $object->note_private
266
+		$array_contact = array(
267
+		    $array_key.'_fullname' => $object->getFullName($outputlangs, 1),
268
+            $array_key.'_lastname' => $object->lastname,
269
+            $array_key.'_firstname' => $object->firstname,
270
+            $array_key.'_address' => $object->address,
271
+            $array_key.'_zip' => $object->zip,
272
+            $array_key.'_town' => $object->town,
273
+            $array_key.'_state_id' => $object->state_id,
274
+            $array_key.'_state_code' => $object->state_code,
275
+            $array_key.'_state' => $object->state,
276
+            $array_key.'_country_id' => $object->country_id,
277
+            $array_key.'_country_code' => $object->country_code,
278
+            $array_key.'_country' => $object->country,
279
+            $array_key.'_poste' => $object->poste,
280
+            $array_key.'_socid' => $object->socid,
281
+            $array_key.'_statut' => $object->statut,
282
+            $array_key.'_code' => $object->code,
283
+            $array_key.'_email' => $object->email,
284
+            $array_key.'_jabberid' => $object->jabberid,
285
+            $array_key.'_phone_pro' => $object->phone_pro,
286
+            $array_key.'_phone_perso' => $object->phone_perso,
287
+            $array_key.'_phone_mobile' => $object->phone_mobile,
288
+            $array_key.'_fax' => $object->fax,
289
+            $array_key.'_birthday' => $object->birthday,
290
+            $array_key.'_default_lang' => $object->default_lang,
291
+            $array_key.'_note_public' => $object->note_public,
292
+            $array_key.'_note_private' => $object->note_private
293 293
 		);
294 294
 
295 295
 		// Retrieve extrafields
296
-		require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php';
296
+		require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
297 297
 		$extrafields = new ExtraFields($this->db);
298 298
 		$extralabels = $extrafields->fetch_name_optionals_label('socpeople', true);
299 299
 		$object->fetch_optionals();
300 300
 
301
-		foreach($extrafields->attribute_label as $key => $label)
301
+		foreach ($extrafields->attribute_label as $key => $label)
302 302
 		{
303 303
 			if ($extrafields->attribute_type[$key] == 'price')
304 304
 			{
305
-				$object->array_options['options_' . $key] = price($object->array_options ['options_' . $key], 0, $outputlangs, 0, 0, - 1, $conf->currency);
305
+				$object->array_options['options_'.$key] = price($object->array_options ['options_'.$key], 0, $outputlangs, 0, 0, - 1, $conf->currency);
306 306
 			}
307
-			elseif($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox')
307
+			elseif ($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox')
308 308
 			{
309
-				$object->array_options['options_' . $key] = $extrafields->attribute_param[$key]['options'][$object->array_options['options_' . $key]];
309
+				$object->array_options['options_'.$key] = $extrafields->attribute_param[$key]['options'][$object->array_options['options_'.$key]];
310 310
 			}
311
-			$array_contact = array_merge($array_contact, array($array_key.'_options_' . $key => $object->array_options['options_'. $key]));
311
+			$array_contact = array_merge($array_contact, array($array_key.'_options_'.$key => $object->array_options['options_'.$key]));
312 312
 		}
313 313
 		return $array_contact;
314 314
 	}
@@ -326,22 +326,22 @@  discard block
 block discarded – undo
326 326
         // phpcs:enable
327 327
     	global $conf;
328 328
 
329
-    	$now=dol_now('gmt');	// gmt
329
+    	$now = dol_now('gmt'); // gmt
330 330
     	$array_other = array(
331 331
     	    // Date in default language
332
-    	    'current_date'=>dol_print_date($now,'day','tzuser'),
333
-    	    'current_datehour'=>dol_print_date($now,'dayhour','tzuser'),
334
-   			'current_server_date'=>dol_print_date($now,'day','tzserver'),
335
-   			'current_server_datehour'=>dol_print_date($now,'dayhour','tzserver'),
332
+    	    'current_date'=>dol_print_date($now, 'day', 'tzuser'),
333
+    	    'current_datehour'=>dol_print_date($now, 'dayhour', 'tzuser'),
334
+   			'current_server_date'=>dol_print_date($now, 'day', 'tzserver'),
335
+   			'current_server_datehour'=>dol_print_date($now, 'dayhour', 'tzserver'),
336 336
     	    // Date in requested output language
337
-    	    'current_date_locale'=>dol_print_date($now,'day','tzuser',$outputlangs),
338
-   			'current_datehour_locale'=>dol_print_date($now,'dayhour','tzuser',$outputlangs),
339
-   			'current_server_date_locale'=>dol_print_date($now,'day','tzserver',$outputlangs),
340
-   			'current_server_datehour_locale'=>dol_print_date($now,'dayhour','tzserver',$outputlangs),
337
+    	    'current_date_locale'=>dol_print_date($now, 'day', 'tzuser', $outputlangs),
338
+   			'current_datehour_locale'=>dol_print_date($now, 'dayhour', 'tzuser', $outputlangs),
339
+   			'current_server_date_locale'=>dol_print_date($now, 'day', 'tzserver', $outputlangs),
340
+   			'current_server_datehour_locale'=>dol_print_date($now, 'dayhour', 'tzserver', $outputlangs),
341 341
     	);
342 342
 
343 343
 
344
-    	foreach($conf->global as $key => $val)
344
+    	foreach ($conf->global as $key => $val)
345 345
     	{
346 346
     		if (preg_match('/(_pass|password|secret|_key|key$)/i', $key)) $newval = '*****forbidden*****';
347 347
     		else $newval = $val;
@@ -361,15 +361,15 @@  discard block
 block discarded – undo
361 361
      * @param   string		    $array_key	        Name of the key for return array
362 362
 	 * @return	array								Array of substitution
363 363
 	 */
364
-	function get_substitutionarray_object($object,$outputlangs,$array_key='object')
364
+	function get_substitutionarray_object($object, $outputlangs, $array_key = 'object')
365 365
 	{
366 366
         // phpcs:enable
367 367
 		global $conf;
368 368
 
369
-		$sumpayed=$sumdeposit=$sumcreditnote='';
369
+		$sumpayed = $sumdeposit = $sumcreditnote = '';
370 370
 		if ($object->element == 'facture')
371 371
 		{
372
-			$invoice_source=new Facture($this->db);
372
+			$invoice_source = new Facture($this->db);
373 373
 			if ($object->fk_facture_source > 0)
374 374
 			{
375 375
 				$invoice_source->fetch($object->fk_facture_source);
@@ -381,38 +381,38 @@  discard block
 block discarded – undo
381 381
 
382 382
 		$date = ($object->element == 'contrat' ? $object->date_contrat : $object->date);
383 383
 
384
-		$resarray=array(
384
+		$resarray = array(
385 385
 		$array_key.'_id'=>$object->id,
386 386
 		$array_key.'_ref'=>$object->ref,
387 387
 		$array_key.'_ref_ext'=>$object->ref_ext,
388
-		$array_key.'_ref_customer'=>(! empty($object->ref_client) ? $object->ref_client : (empty($object->ref_customer) ? '' : $object->ref_customer)),
389
-		$array_key.'_ref_supplier'=>(! empty($object->ref_fournisseur) ? $object->ref_fournisseur : (empty($object->ref_supplier) ? '' : $object->ref_supplier)),
388
+		$array_key.'_ref_customer'=>(!empty($object->ref_client) ? $object->ref_client : (empty($object->ref_customer) ? '' : $object->ref_customer)),
389
+		$array_key.'_ref_supplier'=>(!empty($object->ref_fournisseur) ? $object->ref_fournisseur : (empty($object->ref_supplier) ? '' : $object->ref_supplier)),
390 390
 		$array_key.'_source_invoice_ref'=>$invoice_source->ref,
391 391
 		// Dates
392
-        $array_key.'_hour'=>dol_print_date($date,'hour'),
393
-		$array_key.'_date'=>dol_print_date($date,'day'),
394
-		$array_key.'_date_rfc'=>dol_print_date($date,'dayrfc'),
395
-		$array_key.'_date_limit'=>(! empty($object->date_lim_reglement)?dol_print_date($object->date_lim_reglement,'day'):''),
396
-	    $array_key.'_date_end'=>(! empty($object->fin_validite)?dol_print_date($object->fin_validite,'day'):''),
397
-		$array_key.'_date_creation'=>dol_print_date($object->date_creation,'day'),
398
-		$array_key.'_date_modification'=>(! empty($object->date_modification)?dol_print_date($object->date_modification,'day'):''),
399
-		$array_key.'_date_validation'=>(! empty($object->date_validation)?dol_print_date($object->date_validation,'dayhour'):''),
400
-		$array_key.'_date_delivery_planed'=>(! empty($object->date_livraison)?dol_print_date($object->date_livraison,'day'):''),
401
-		$array_key.'_date_close'=>(! empty($object->date_cloture)?dol_print_date($object->date_cloture,'dayhour'):''),
392
+        $array_key.'_hour'=>dol_print_date($date, 'hour'),
393
+		$array_key.'_date'=>dol_print_date($date, 'day'),
394
+		$array_key.'_date_rfc'=>dol_print_date($date, 'dayrfc'),
395
+		$array_key.'_date_limit'=>(!empty($object->date_lim_reglement) ?dol_print_date($object->date_lim_reglement, 'day') : ''),
396
+	    $array_key.'_date_end'=>(!empty($object->fin_validite) ?dol_print_date($object->fin_validite, 'day') : ''),
397
+		$array_key.'_date_creation'=>dol_print_date($object->date_creation, 'day'),
398
+		$array_key.'_date_modification'=>(!empty($object->date_modification) ?dol_print_date($object->date_modification, 'day') : ''),
399
+		$array_key.'_date_validation'=>(!empty($object->date_validation) ?dol_print_date($object->date_validation, 'dayhour') : ''),
400
+		$array_key.'_date_delivery_planed'=>(!empty($object->date_livraison) ?dol_print_date($object->date_livraison, 'day') : ''),
401
+		$array_key.'_date_close'=>(!empty($object->date_cloture) ?dol_print_date($object->date_cloture, 'dayhour') : ''),
402 402
 
403 403
 		$array_key.'_payment_mode_code'=>$object->mode_reglement_code,
404
-		$array_key.'_payment_mode'=>($outputlangs->transnoentitiesnoconv('PaymentType'.$object->mode_reglement_code)!='PaymentType'.$object->mode_reglement_code?$outputlangs->transnoentitiesnoconv('PaymentType'.$object->mode_reglement_code):$object->mode_reglement),
404
+		$array_key.'_payment_mode'=>($outputlangs->transnoentitiesnoconv('PaymentType'.$object->mode_reglement_code) != 'PaymentType'.$object->mode_reglement_code ? $outputlangs->transnoentitiesnoconv('PaymentType'.$object->mode_reglement_code) : $object->mode_reglement),
405 405
 		$array_key.'_payment_term_code'=>$object->cond_reglement_code,
406
-		$array_key.'_payment_term'=>($outputlangs->transnoentitiesnoconv('PaymentCondition'.$object->cond_reglement_code)!='PaymentCondition'.$object->cond_reglement_code?$outputlangs->transnoentitiesnoconv('PaymentCondition'.$object->cond_reglement_code):($object->cond_reglement_doc?$object->cond_reglement_doc:$object->cond_reglement)),
406
+		$array_key.'_payment_term'=>($outputlangs->transnoentitiesnoconv('PaymentCondition'.$object->cond_reglement_code) != 'PaymentCondition'.$object->cond_reglement_code ? $outputlangs->transnoentitiesnoconv('PaymentCondition'.$object->cond_reglement_code) : ($object->cond_reglement_doc ? $object->cond_reglement_doc : $object->cond_reglement)),
407 407
 
408 408
 		$array_key.'_total_ht_locale'=>price($object->total_ht, 0, $outputlangs),
409
-		$array_key.'_total_vat_locale'=>(! empty($object->total_vat)?price($object->total_vat, 0, $outputlangs):price($object->total_tva, 0, $outputlangs)),
409
+		$array_key.'_total_vat_locale'=>(!empty($object->total_vat) ?price($object->total_vat, 0, $outputlangs) : price($object->total_tva, 0, $outputlangs)),
410 410
 		$array_key.'_total_localtax1_locale'=>price($object->total_localtax1, 0, $outputlangs),
411 411
 		$array_key.'_total_localtax2_locale'=>price($object->total_localtax2, 0, $outputlangs),
412 412
 		$array_key.'_total_ttc_locale'=>price($object->total_ttc, 0, $outputlangs),
413 413
 
414 414
 		$array_key.'_total_ht'=>price2num($object->total_ht),
415
-		$array_key.'_total_vat'=>(! empty($object->total_vat)?price2num($object->total_vat):price2num($object->total_tva)),
415
+		$array_key.'_total_vat'=>(!empty($object->total_vat) ?price2num($object->total_vat) : price2num($object->total_tva)),
416 416
 		$array_key.'_total_localtax1'=>price2num($object->total_localtax1),
417 417
 		$array_key.'_total_localtax2'=>price2num($object->total_localtax2),
418 418
 		$array_key.'_total_ttc'=>price2num($object->total_ttc),
@@ -428,7 +428,7 @@  discard block
 block discarded – undo
428 428
 
429 429
 		$array_key.'_note_private'=>$object->note,
430 430
 		$array_key.'_note_public'=>$object->note_public,
431
-		$array_key.'_note'=>$object->note_public,			// For backward compatibility
431
+		$array_key.'_note'=>$object->note_public, // For backward compatibility
432 432
 
433 433
 		// Payments
434 434
 		$array_key.'_already_payed_locale'=>price($sumpayed, 0, $outputlangs),
@@ -455,9 +455,9 @@  discard block
 block discarded – undo
455 455
 		}
456 456
 
457 457
 		// Fetch project information if there is a project assigned to this object
458
-		if ($object->element != "project" && ! empty($object->fk_project) && $object->fk_project > 0)
458
+		if ($object->element != "project" && !empty($object->fk_project) && $object->fk_project > 0)
459 459
 		{
460
-			if (! is_object($object->project))
460
+			if (!is_object($object->project))
461 461
 			{
462 462
 				$object->fetch_projet();
463 463
 			}
@@ -470,32 +470,32 @@  discard block
 block discarded – undo
470 470
 		}
471 471
 
472 472
 		// Add vat by rates
473
-		if (is_array($object->lines) && count($object->lines)>0)
473
+		if (is_array($object->lines) && count($object->lines) > 0)
474 474
 		{
475 475
 			foreach ($object->lines as $line)
476 476
 			{
477 477
 			    // $line->tva_tx format depends on database field accuraty, no reliable. This is kept for backward comaptibility
478
-				if (empty($resarray[$array_key.'_total_vat_'.$line->tva_tx])) $resarray[$array_key.'_total_vat_'.$line->tva_tx]=0;
479
-				$resarray[$array_key.'_total_vat_'.$line->tva_tx]+=$line->total_tva;
480
-				$resarray[$array_key.'_total_vat_locale_'.$line->tva_tx]=price($resarray[$array_key.'_total_vat_'.$line->tva_tx]);
478
+				if (empty($resarray[$array_key.'_total_vat_'.$line->tva_tx])) $resarray[$array_key.'_total_vat_'.$line->tva_tx] = 0;
479
+				$resarray[$array_key.'_total_vat_'.$line->tva_tx] += $line->total_tva;
480
+				$resarray[$array_key.'_total_vat_locale_'.$line->tva_tx] = price($resarray[$array_key.'_total_vat_'.$line->tva_tx]);
481 481
 			    // $vatformated is vat without not expected chars (so 20, or 8.5 or 5.99 for example)
482
-				$vatformated=vatrate($line->tva_tx);
483
-				if (empty($resarray[$array_key.'_total_vat_'.$vatformated])) $resarray[$array_key.'_total_vat_'.$vatformated]=0;
484
-				$resarray[$array_key.'_total_vat_'.$vatformated]+=$line->total_tva;
485
-				$resarray[$array_key.'_total_vat_locale_'.$vatformated]=price($resarray[$array_key.'_total_vat_'.$vatformated]);
482
+				$vatformated = vatrate($line->tva_tx);
483
+				if (empty($resarray[$array_key.'_total_vat_'.$vatformated])) $resarray[$array_key.'_total_vat_'.$vatformated] = 0;
484
+				$resarray[$array_key.'_total_vat_'.$vatformated] += $line->total_tva;
485
+				$resarray[$array_key.'_total_vat_locale_'.$vatformated] = price($resarray[$array_key.'_total_vat_'.$vatformated]);
486 486
 			}
487 487
 		}
488 488
 		// Retrieve extrafields
489 489
 		if (is_array($object->array_options) && count($object->array_options))
490 490
 		{
491
-			$extrafieldkey=$object->element;
491
+			$extrafieldkey = $object->element;
492 492
 
493 493
 			require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
494 494
 			$extrafields = new ExtraFields($this->db);
495
-			$extralabels = $extrafields->fetch_name_optionals_label($extrafieldkey,true);
495
+			$extralabels = $extrafields->fetch_name_optionals_label($extrafieldkey, true);
496 496
 			$object->fetch_optionals();
497 497
 
498
-			$resarray = $this->fill_substitutionarray_with_extrafields($object,$resarray,$extrafields,$array_key,$outputlangs);
498
+			$resarray = $this->fill_substitutionarray_with_extrafields($object, $resarray, $extrafields, $array_key, $outputlangs);
499 499
 		}
500 500
 		return $resarray;
501 501
 	}
@@ -513,18 +513,18 @@  discard block
 block discarded – undo
513 513
         // phpcs:enable
514 514
 		global $conf;
515 515
 
516
-		$resarray= array(
517
-			'line_fulldesc'=>doc_getlinedesc($line,$outputlangs),
516
+		$resarray = array(
517
+			'line_fulldesc'=>doc_getlinedesc($line, $outputlangs),
518 518
 			'line_product_ref'=>$line->product_ref,
519 519
 			'line_product_ref_fourn'=>$line->ref_fourn, // for supplier doc lines
520 520
 			'line_product_label'=>$line->product_label,
521 521
 			'line_product_type'=>$line->product_type,
522 522
 			'line_desc'=>$line->desc,
523
-			'line_vatrate'=>vatrate($line->tva_tx,true,$line->info_bits),
523
+			'line_vatrate'=>vatrate($line->tva_tx, true, $line->info_bits),
524 524
 			'line_up'=>price2num($line->subprice),
525 525
 			'line_up_locale'=>price($line->subprice, 0, $outputlangs),
526 526
 			'line_qty'=>$line->qty,
527
-			'line_discount_percent'=>($line->remise_percent?$line->remise_percent.'%':''),
527
+			'line_discount_percent'=>($line->remise_percent ? $line->remise_percent.'%' : ''),
528 528
 			'line_price_ht'=>price2num($line->total_ht),
529 529
 			'line_price_ttc'=>price2num($line->total_ttc),
530 530
 			'line_price_vat'=>price2num($line->total_tva),
@@ -553,26 +553,26 @@  discard block
 block discarded – undo
553 553
 		    // Units
554 554
 		if ($conf->global->PRODUCT_USE_UNITS)
555 555
 		{
556
-		      $resarray['line_unit']=$outputlangs->trans($line->getLabelOfUnit('long'));
557
-		      $resarray['line_unit_short']=$outputlangs->trans($line->getLabelOfUnit('short'));
556
+		      $resarray['line_unit'] = $outputlangs->trans($line->getLabelOfUnit('long'));
557
+		      $resarray['line_unit_short'] = $outputlangs->trans($line->getLabelOfUnit('short'));
558 558
 		}
559 559
 
560 560
 		// Retrieve extrafields
561
-		$extrafieldkey=$line->element;
562
-		$array_key="line";
561
+		$extrafieldkey = $line->element;
562
+		$array_key = "line";
563 563
 		require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
564 564
 		$extrafields = new ExtraFields($this->db);
565
-		$extralabels = $extrafields->fetch_name_optionals_label($extrafieldkey,true);
565
+		$extralabels = $extrafields->fetch_name_optionals_label($extrafieldkey, true);
566 566
 		$line->fetch_optionals();
567 567
 
568
-		$resarray = $this->fill_substitutionarray_with_extrafields($line,$resarray,$extrafields,$array_key=$array_key,$outputlangs);
568
+		$resarray = $this->fill_substitutionarray_with_extrafields($line, $resarray, $extrafields, $array_key = $array_key, $outputlangs);
569 569
 
570 570
 		// Load product data optional fields to the line -> enables to use "line_options_{extrafield}"
571 571
 		if (isset($line->fk_product) && $line->fk_product > 0)
572 572
 		{
573 573
 			$tmpproduct = new Product($this->db);
574 574
 			$result = $tmpproduct->fetch($line->fk_product);
575
-			foreach($tmpproduct->array_options as $key=>$label)
575
+			foreach ($tmpproduct->array_options as $key=>$label)
576 576
 				$resarray["line_product_".$key] = $label;
577 577
 		}
578 578
 
@@ -588,22 +588,22 @@  discard block
 block discarded – undo
588 588
      * @param   array			$array_key	        Name of the key for return array
589 589
      * @return	array								Array of substitution
590 590
      */
591
-    function get_substitutionarray_shipment($object,$outputlangs,$array_key='object')
591
+    function get_substitutionarray_shipment($object, $outputlangs, $array_key = 'object')
592 592
     {
593 593
         // phpcs:enable
594 594
     	global $conf;
595 595
 		dol_include_once('/core/lib/product.lib.php');
596 596
 		$object->list_delivery_methods($object->shipping_method_id);
597
-		$calculatedVolume=($object->trueWidth * $object->trueHeight * $object->trueDepth);
597
+		$calculatedVolume = ($object->trueWidth * $object->trueHeight * $object->trueDepth);
598 598
 
599
-    	$array_shipment=array(
599
+    	$array_shipment = array(
600 600
 	    	$array_key.'_id'=>$object->id,
601 601
 	    	$array_key.'_ref'=>$object->ref,
602 602
 	    	$array_key.'_ref_ext'=>$object->ref_ext,
603 603
 	    	$array_key.'_ref_customer'=>$object->ref_customer,
604
-	    	$array_key.'_date_delivery'=>dol_print_date($object->date_delivery,'day'),
605
-	    	$array_key.'_hour_delivery'=>dol_print_date($object->date_delivery,'hour'),
606
-	    	$array_key.'_date_creation'=>dol_print_date($object->date_creation,'day'),
604
+	    	$array_key.'_date_delivery'=>dol_print_date($object->date_delivery, 'day'),
605
+	    	$array_key.'_hour_delivery'=>dol_print_date($object->date_delivery, 'hour'),
606
+	    	$array_key.'_date_creation'=>dol_print_date($object->date_creation, 'day'),
607 607
 	    	$array_key.'_total_ht'=>price($object->total_ht),
608 608
 	    	$array_key.'_total_vat'=>price($object->total_tva),
609 609
 	    	$array_key.'_total_ttc'=>price($object->total_ttc),
@@ -623,8 +623,8 @@  discard block
 block discarded – undo
623 623
     	// Add vat by rates
624 624
     	foreach ($object->lines as $line)
625 625
     	{
626
-    		if (empty($array_shipment[$array_key.'_total_vat_'.$line->tva_tx])) $array_shipment[$array_key.'_total_vat_'.$line->tva_tx]=0;
627
-    		$array_shipment[$array_key.'_total_vat_'.$line->tva_tx]+=$line->total_tva;
626
+    		if (empty($array_shipment[$array_key.'_total_vat_'.$line->tva_tx])) $array_shipment[$array_key.'_total_vat_'.$line->tva_tx] = 0;
627
+    		$array_shipment[$array_key.'_total_vat_'.$line->tva_tx] += $line->total_tva;
628 628
     	}
629 629
 
630 630
     	// Retrieve extrafields
@@ -632,10 +632,10 @@  discard block
 block discarded – undo
632 632
     	{
633 633
     		require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
634 634
     		$extrafields = new ExtraFields($this->db);
635
-    		$extralabels = $extrafields->fetch_name_optionals_label('expedition',true);
635
+    		$extralabels = $extrafields->fetch_name_optionals_label('expedition', true);
636 636
     		$object->fetch_optionals();
637 637
 
638
-    		$array_shipment = $this->fill_substitutionarray_with_extrafields($object,$array_shipment,$extrafields,$array_key,$outputlangs);
638
+    		$array_shipment = $this->fill_substitutionarray_with_extrafields($object, $array_shipment, $extrafields, $array_key, $outputlangs);
639 639
     	}
640 640
 
641 641
     	return $array_shipment;
@@ -657,23 +657,23 @@  discard block
 block discarded – undo
657 657
         dol_include_once('/core/lib/product.lib.php');
658 658
 
659 659
         $resarray = array(
660
-	    	'line_fulldesc'=>doc_getlinedesc($line,$outputlangs),
660
+	    	'line_fulldesc'=>doc_getlinedesc($line, $outputlangs),
661 661
 	    	'line_product_ref'=>$line->product_ref,
662 662
 	    	'line_product_label'=>$line->product_label,
663 663
 	    	'line_desc'=>$line->desc,
664
-	    	'line_vatrate'=>vatrate($line->tva_tx,true,$line->info_bits),
664
+	    	'line_vatrate'=>vatrate($line->tva_tx, true, $line->info_bits),
665 665
 	    	'line_up'=>price($line->subprice),
666 666
 	    	'line_qty'=>$line->qty,
667 667
 	    	'line_qty_shipped'=>$line->qty_shipped,
668 668
 	    	'line_qty_asked'=>$line->qty_asked,
669
-	    	'line_discount_percent'=>($line->remise_percent?$line->remise_percent.'%':''),
669
+	    	'line_discount_percent'=>($line->remise_percent ? $line->remise_percent.'%' : ''),
670 670
 	    	'line_price_ht'=>price($line->total_ht),
671 671
 	    	'line_price_ttc'=>price($line->total_ttc),
672 672
 	    	'line_price_vat'=>price($line->total_tva),
673
-	    	'line_weight'=>empty($line->weight) ? '' : $line->weight*$line->qty_shipped.' '.measuring_units_string($line->weight_units, 'weight'),
674
-	    	'line_length'=>empty($line->length) ? '' : $line->length*$line->qty_shipped.' '.measuring_units_string($line->length_units, 'size'),
675
-	    	'line_surface'=>empty($line->surface) ? '' : $line->surface*$line->qty_shipped.' '.measuring_units_string($line->surface_units, 'surface'),
676
-	    	'line_volume'=>empty($line->volume) ? '' : $line->volume*$line->qty_shipped.' '.measuring_units_string($line->volume_units, 'volume'),
673
+	    	'line_weight'=>empty($line->weight) ? '' : $line->weight * $line->qty_shipped.' '.measuring_units_string($line->weight_units, 'weight'),
674
+	    	'line_length'=>empty($line->length) ? '' : $line->length * $line->qty_shipped.' '.measuring_units_string($line->length_units, 'size'),
675
+	    	'line_surface'=>empty($line->surface) ? '' : $line->surface * $line->qty_shipped.' '.measuring_units_string($line->surface_units, 'surface'),
676
+	    	'line_volume'=>empty($line->volume) ? '' : $line->volume * $line->qty_shipped.' '.measuring_units_string($line->volume_units, 'volume'),
677 677
     	);
678 678
 
679 679
         // Retrieve extrafields
@@ -699,18 +699,18 @@  discard block
 block discarded – undo
699 699
      * @param   boolean		$recursive    	Want to fetch child array or child object
700 700
      * @return	array						Array of substitution key->code
701 701
      */
702
-    function get_substitutionarray_each_var_object(&$object,$outputlangs,$recursive=true)
702
+    function get_substitutionarray_each_var_object(&$object, $outputlangs, $recursive = true)
703 703
     {
704 704
         // phpcs:enable
705 705
         $array_other = array();
706 706
         if (!empty($object)) {
707
-            foreach($object as $key => $value) {
707
+            foreach ($object as $key => $value) {
708 708
                 if (!empty($value)) {
709 709
                     if (!is_array($value) && !is_object($value)) {
710 710
                         $array_other['object_'.$key] = $value;
711 711
                     }
712 712
                     if (is_array($value) && $recursive) {
713
-                        $array_other['object_'.$key] = $this->get_substitutionarray_each_var_object($value,$outputlangs,false);
713
+                        $array_other['object_'.$key] = $this->get_substitutionarray_each_var_object($value, $outputlangs, false);
714 714
                     }
715 715
                 }
716 716
             }
@@ -730,31 +730,31 @@  discard block
 block discarded – undo
730 730
      *  @param  Translate		$outputlangs        Lang object to use for output
731 731
      *	@return	array								Substitution array
732 732
      */
733
-    function fill_substitutionarray_with_extrafields($object,$array_to_fill,$extrafields,$array_key,$outputlangs)
733
+    function fill_substitutionarray_with_extrafields($object, $array_to_fill, $extrafields, $array_key, $outputlangs)
734 734
 	{
735 735
         // phpcs:enable
736 736
 		global $conf;
737
-		foreach($extrafields->attribute_label as $key=>$label)
737
+		foreach ($extrafields->attribute_label as $key=>$label)
738 738
 		{
739
-			if($extrafields->attribute_type[$key] == 'price')
739
+			if ($extrafields->attribute_type[$key] == 'price')
740 740
 			{
741 741
 				$object->array_options['options_'.$key] = price2num($object->array_options['options_'.$key]);
742
-				$object->array_options['options_'.$key.'_currency'] = price($object->array_options['options_'.$key],0,$outputlangs,0,0,-1,$conf->currency);
742
+				$object->array_options['options_'.$key.'_currency'] = price($object->array_options['options_'.$key], 0, $outputlangs, 0, 0, -1, $conf->currency);
743 743
 				//Add value to store price with currency
744
-				$array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_currency' => $object->array_options['options_'.$key.'_currency']));
744
+				$array_to_fill = array_merge($array_to_fill, array($array_key.'_options_'.$key.'_currency' => $object->array_options['options_'.$key.'_currency']));
745 745
 			}
746
-			else if($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox')
746
+			else if ($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox')
747 747
 			{
748 748
 				$object->array_options['options_'.$key] = $extrafields->attribute_param[$key]['options'][$object->array_options['options_'.$key]];
749 749
 			}
750
-			else if($extrafields->attribute_type[$key] == 'date')
750
+			else if ($extrafields->attribute_type[$key] == 'date')
751 751
 			{
752
-				if (strlen($object->array_options['options_'.$key])>0)
752
+				if (strlen($object->array_options['options_'.$key]) > 0)
753 753
 				{
754 754
 					$date = $object->array_options['options_'.$key];
755
-					$object->array_options['options_'.$key] = dol_print_date($date,'day');                                       // using company output language
756
-					$object->array_options['options_'.$key.'_locale'] = dol_print_date($date,'day','tzserver',$outputlangs);     // using output language format
757
-					$object->array_options['options_'.$key.'_rfc'] = dol_print_date($date,'dayrfc');                             // international format
755
+					$object->array_options['options_'.$key] = dol_print_date($date, 'day'); // using company output language
756
+					$object->array_options['options_'.$key.'_locale'] = dol_print_date($date, 'day', 'tzserver', $outputlangs); // using output language format
757
+					$object->array_options['options_'.$key.'_rfc'] = dol_print_date($date, 'dayrfc'); // international format
758 758
 				}
759 759
 				else
760 760
 				{
@@ -762,29 +762,29 @@  discard block
 block discarded – undo
762 762
 					$object->array_options['options_'.$key.'_locale'] = '';
763 763
 					$object->array_options['options_'.$key.'_rfc'] = '';
764 764
 				}
765
-				$array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_locale' => $object->array_options['options_'.$key.'_locale']));
766
-				$array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_rfc' => $object->array_options['options_'.$key.'_rfc']));
765
+				$array_to_fill = array_merge($array_to_fill, array($array_key.'_options_'.$key.'_locale' => $object->array_options['options_'.$key.'_locale']));
766
+				$array_to_fill = array_merge($array_to_fill, array($array_key.'_options_'.$key.'_rfc' => $object->array_options['options_'.$key.'_rfc']));
767 767
 			}
768
-			else if($extrafields->attribute_type[$key] == 'datetime')
768
+			else if ($extrafields->attribute_type[$key] == 'datetime')
769 769
 			{
770 770
 				$datetime = $object->array_options['options_'.$key];
771
-				$object->array_options['options_'.$key] = ($datetime!="0000-00-00 00:00:00"?dol_print_date($object->array_options['options_'.$key],'dayhour'):'');                            // using company output language
772
-				$object->array_options['options_'.$key.'_locale'] = ($datetime!="0000-00-00 00:00:00"?dol_print_date($object->array_options['options_'.$key],'dayhour','tzserver',$outputlangs):'');    // using output language format
773
-				$object->array_options['options_'.$key.'_rfc'] = ($datetime!="0000-00-00 00:00:00"?dol_print_date($object->array_options['options_'.$key],'dayhourrfc'):'');                             // international format
774
-				$array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_locale' => $object->array_options['options_'.$key.'_locale']));
775
-				$array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_rfc' => $object->array_options['options_'.$key.'_rfc']));
771
+				$object->array_options['options_'.$key] = ($datetime != "0000-00-00 00:00:00" ?dol_print_date($object->array_options['options_'.$key], 'dayhour') : ''); // using company output language
772
+				$object->array_options['options_'.$key.'_locale'] = ($datetime != "0000-00-00 00:00:00" ?dol_print_date($object->array_options['options_'.$key], 'dayhour', 'tzserver', $outputlangs) : ''); // using output language format
773
+				$object->array_options['options_'.$key.'_rfc'] = ($datetime != "0000-00-00 00:00:00" ?dol_print_date($object->array_options['options_'.$key], 'dayhourrfc') : ''); // international format
774
+				$array_to_fill = array_merge($array_to_fill, array($array_key.'_options_'.$key.'_locale' => $object->array_options['options_'.$key.'_locale']));
775
+				$array_to_fill = array_merge($array_to_fill, array($array_key.'_options_'.$key.'_rfc' => $object->array_options['options_'.$key.'_rfc']));
776 776
 			}
777
-			else if($extrafields->attribute_type[$key] == 'link')
777
+			else if ($extrafields->attribute_type[$key] == 'link')
778 778
 			{
779 779
 				$id = $object->array_options['options_'.$key];
780 780
 				if ($id != "")
781 781
 				{
782 782
 					$param = $extrafields->attribute_param[$key];
783
-					$param_list=array_keys($param['options']);              // $param_list='ObjectName:classPath'
783
+					$param_list = array_keys($param['options']); // $param_list='ObjectName:classPath'
784 784
 					$InfoFieldList = explode(":", $param_list[0]);
785
-					$classname=$InfoFieldList[0];
786
-					$classpath=$InfoFieldList[1];
787
-					if (! empty($classpath))
785
+					$classname = $InfoFieldList[0];
786
+					$classpath = $InfoFieldList[1];
787
+					if (!empty($classpath))
788 788
 					{
789 789
 						dol_include_once($InfoFieldList[1]);
790 790
 						if ($classname && class_exists($classname))
@@ -798,7 +798,7 @@  discard block
 block discarded – undo
798 798
 				}
799 799
 			}
800 800
 
801
-			$array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key => $object->array_options['options_'.$key]));
801
+			$array_to_fill = array_merge($array_to_fill, array($array_key.'_options_'.$key => $object->array_options['options_'.$key]));
802 802
 		}
803 803
 
804 804
 		return $array_to_fill;
@@ -817,12 +817,12 @@  discard block
 block discarded – undo
817 817
 	 * @param	int		$hidebottom		Hide bottom
818 818
 	 * @return	void
819 819
 	 */
820
-    function printRect($pdf, $x, $y, $l, $h, $hidetop=0, $hidebottom=0)
820
+    function printRect($pdf, $x, $y, $l, $h, $hidetop = 0, $hidebottom = 0)
821 821
     {
822
-        if (empty($hidetop) || $hidetop==-1) $pdf->line($x, $y, $x+$l, $y);
823
-        $pdf->line($x+$l, $y, $x+$l, $y+$h);
824
-        if (empty($hidebottom)) $pdf->line($x+$l, $y+$h, $x, $y+$h);
825
-        $pdf->line($x, $y+$h, $x, $y);
822
+        if (empty($hidetop) || $hidetop == -1) $pdf->line($x, $y, $x + $l, $y);
823
+        $pdf->line($x + $l, $y, $x + $l, $y + $h);
824
+        if (empty($hidebottom)) $pdf->line($x + $l, $y + $h, $x, $y + $h);
825
+        $pdf->line($x, $y + $h, $x, $y);
826 826
     }
827 827
 
828 828
 
@@ -835,8 +835,8 @@  discard block
 block discarded – undo
835 835
      */
836 836
     function columnSort($a, $b)
837 837
     {
838
-        if(empty($a['rank'])){ $a['rank'] = 0; }
839
-        if(empty($b['rank'])){ $b['rank'] = 0; }
838
+        if (empty($a['rank'])) { $a['rank'] = 0; }
839
+        if (empty($b['rank'])) { $b['rank'] = 0; }
840 840
         if ($a['rank'] == $b['rank']) {
841 841
             return 0;
842 842
         }
@@ -853,38 +853,38 @@  discard block
 block discarded – undo
853 853
      *      @param	int				$hideref			Do not show ref
854 854
      *      @return	null
855 855
      */
856
-    function prepareArrayColumnField($object,$outputlangs,$hidedetails=0,$hidedesc=0,$hideref=0)
856
+    function prepareArrayColumnField($object, $outputlangs, $hidedetails = 0, $hidedesc = 0, $hideref = 0)
857 857
     {
858 858
         global $conf;
859 859
 
860
-        $this->defineColumnField($object,$outputlangs,$hidedetails,$hidedesc,$hideref);
860
+        $this->defineColumnField($object, $outputlangs, $hidedetails, $hidedesc, $hideref);
861 861
 
862 862
 
863 863
         // Sorting
864
-        uasort ( $this->cols, array( $this, 'columnSort' ) );
864
+        uasort($this->cols, array($this, 'columnSort'));
865 865
 
866 866
         // Positionning
867
-        $curX = $this->page_largeur-$this->marge_droite; // start from right
867
+        $curX = $this->page_largeur - $this->marge_droite; // start from right
868 868
 
869 869
         // Array witdh
870
-        $arrayWidth = $this->page_largeur-$this->marge_droite-$this->marge_gauche;
870
+        $arrayWidth = $this->page_largeur - $this->marge_droite - $this->marge_gauche;
871 871
 
872 872
         // Count flexible column
873 873
         $totalDefinedColWidth = 0;
874 874
         $countFlexCol = 0;
875 875
         foreach ($this->cols as $colKey =>& $colDef)
876 876
         {
877
-            if(!$this->getColumnStatus($colKey)) continue; // continue if desable
877
+            if (!$this->getColumnStatus($colKey)) continue; // continue if desable
878 878
 
879
-            if(!empty($colDef['scale'])){
879
+            if (!empty($colDef['scale'])) {
880 880
                 // In case of column widht is defined by percentage
881
-                $colDef['width'] = abs($arrayWidth * $colDef['scale'] / 100 );
881
+                $colDef['width'] = abs($arrayWidth * $colDef['scale'] / 100);
882 882
             }
883 883
 
884
-            if(empty($colDef['width'])){
884
+            if (empty($colDef['width'])) {
885 885
                 $countFlexCol++;
886 886
             }
887
-            else{
887
+            else {
888 888
                 $totalDefinedColWidth += $colDef['width'];
889 889
             }
890 890
         }
@@ -892,25 +892,25 @@  discard block
 block discarded – undo
892 892
         foreach ($this->cols as $colKey =>& $colDef)
893 893
         {
894 894
             // setting empty conf with default
895
-            if(!empty($colDef['title'])){
895
+            if (!empty($colDef['title'])) {
896 896
                 $colDef['title'] = array_replace($this->defaultTitlesFieldsStyle, $colDef['title']);
897 897
             }
898
-            else{
898
+            else {
899 899
                 $colDef['title'] = $this->defaultTitlesFieldsStyle;
900 900
             }
901 901
 
902 902
             // setting empty conf with default
903
-            if(!empty($colDef['content'])){
903
+            if (!empty($colDef['content'])) {
904 904
                 $colDef['content'] = array_replace($this->defaultContentsFieldsStyle, $colDef['content']);
905 905
             }
906
-            else{
906
+            else {
907 907
                 $colDef['content'] = $this->defaultContentsFieldsStyle;
908 908
             }
909 909
 
910
-            if($this->getColumnStatus($colKey))
910
+            if ($this->getColumnStatus($colKey))
911 911
             {
912 912
                 // In case of flexible column
913
-                if(empty($colDef['width'])){
913
+                if (empty($colDef['width'])) {
914 914
                     $colDef['width'] = abs(($arrayWidth - $totalDefinedColWidth)) / $countFlexCol;
915 915
                 }
916 916
 
@@ -956,7 +956,7 @@  discard block
 block discarded – undo
956 956
      */
957 957
     function getColumnRank($colKey)
958 958
     {
959
-        if(!isset($this->cols[$colKey]['rank'])) return -1;
959
+        if (!isset($this->cols[$colKey]['rank'])) return -1;
960 960
         return  $this->cols[$colKey]['rank'];
961 961
     }
962 962
 
@@ -975,22 +975,22 @@  discard block
 block discarded – undo
975 975
         $rank = -1;
976 976
 
977 977
         // try to get rank from target column
978
-        if(!empty($targetCol)){
978
+        if (!empty($targetCol)) {
979 979
             $rank = $this->getColumnRank($targetCol);
980
-            if($rank>=0 && $insertAfterTarget){ $rank++; }
980
+            if ($rank >= 0 && $insertAfterTarget) { $rank++; }
981 981
         }
982 982
 
983 983
         // get rank from new column definition
984
-        if($rank<0 && !empty($defArray['rank'])){
984
+        if ($rank < 0 && !empty($defArray['rank'])) {
985 985
             $rank = $defArray['rank'];
986 986
         }
987 987
 
988 988
         // error: no rank
989
-        if($rank<0){ return -1; }
989
+        if ($rank < 0) { return -1; }
990 990
 
991 991
         foreach ($this->cols as $colKey =>& $colDef)
992 992
         {
993
-            if( $rank <= $colDef['rank'])
993
+            if ($rank <= $colDef['rank'])
994 994
             {
995 995
                 $colDef['rank'] = $colDef['rank'] + 1;
996 996
             }
@@ -1016,19 +1016,19 @@  discard block
 block discarded – undo
1016 1016
     {
1017 1017
         global $hookmanager;
1018 1018
 
1019
-        $parameters=array(
1019
+        $parameters = array(
1020 1020
             'curY' => &$curY,
1021 1021
             'columnText' => $columnText,
1022 1022
             'colKey' => $colKey
1023 1023
         );
1024
-        $reshook=$hookmanager->executeHooks('printStdColumnContent',$parameters,$this);    // Note that $action and $object may have been modified by hook
1025
-        if ($reshook < 0) setEventMessages($hookmanager->error,$hookmanager->errors,'errors');
1024
+        $reshook = $hookmanager->executeHooks('printStdColumnContent', $parameters, $this); // Note that $action and $object may have been modified by hook
1025
+        if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
1026 1026
         if (!$reshook)
1027 1027
         {
1028
-            if(empty($columnText)) return;
1029
-            $pdf->SetXY($this->getColumnContentXStart($colKey),$curY); // Set curent position
1028
+            if (empty($columnText)) return;
1029
+            $pdf->SetXY($this->getColumnContentXStart($colKey), $curY); // Set curent position
1030 1030
             $colDef = $this->cols[$colKey];
1031
-            $pdf->writeHTMLCell( $this->getColumnContentWidth($colKey),2,$this->getColumnContentXStart($colKey),$curY, $columnText,0,0,0,true,$colDef['content']['align']);
1031
+            $pdf->writeHTMLCell($this->getColumnContentWidth($colKey), 2, $this->getColumnContentXStart($colKey), $curY, $columnText, 0, 0, 0, true, $colDef['content']['align']);
1032 1032
         }
1033 1033
     }
1034 1034
 
@@ -1041,7 +1041,7 @@  discard block
 block discarded – undo
1041 1041
      */
1042 1042
     function getColumnStatus($colKey)
1043 1043
     {
1044
-        if( !empty($this->cols[$colKey]['status'])){
1044
+        if (!empty($this->cols[$colKey]['status'])) {
1045 1045
             return true;
1046 1046
         }
1047 1047
         else  return  false;
Please login to merge, or discard this patch.
Braces   +48 added lines, -34 removed lines patch added patch discarded remove patch
@@ -229,8 +229,7 @@  discard block
 block discarded – undo
229 229
         		if($extrafields->attribute_type[$key] == 'price')
230 230
         		{
231 231
         			$object->array_options['options_'.$key] = price($object->array_options['options_'.$key],0,$outputlangs,0,0,-1,$conf->currency);
232
-        		}
233
-        		else if($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox')
232
+        		} else if($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox')
234 233
         		{
235 234
         			$object->array_options['options_'.$key] = $extrafields->attribute_param[$key]['options'][$object->array_options['options_'.$key]];
236 235
         		}
@@ -303,8 +302,7 @@  discard block
 block discarded – undo
303 302
 			if ($extrafields->attribute_type[$key] == 'price')
304 303
 			{
305 304
 				$object->array_options['options_' . $key] = price($object->array_options ['options_' . $key], 0, $outputlangs, 0, 0, - 1, $conf->currency);
306
-			}
307
-			elseif($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox')
305
+			} elseif($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox')
308 306
 			{
309 307
 				$object->array_options['options_' . $key] = $extrafields->attribute_param[$key]['options'][$object->array_options['options_' . $key]];
310 308
 			}
@@ -343,8 +341,11 @@  discard block
 block discarded – undo
343 341
 
344 342
     	foreach($conf->global as $key => $val)
345 343
     	{
346
-    		if (preg_match('/(_pass|password|secret|_key|key$)/i', $key)) $newval = '*****forbidden*****';
347
-    		else $newval = $val;
344
+    		if (preg_match('/(_pass|password|secret|_key|key$)/i', $key)) {
345
+    		    $newval = '*****forbidden*****';
346
+    		} else {
347
+    		    $newval = $val;
348
+    		}
348 349
     		$array_other['__['.$key.']__'] = $newval;
349 350
     	}
350 351
 
@@ -475,12 +476,16 @@  discard block
 block discarded – undo
475 476
 			foreach ($object->lines as $line)
476 477
 			{
477 478
 			    // $line->tva_tx format depends on database field accuraty, no reliable. This is kept for backward comaptibility
478
-				if (empty($resarray[$array_key.'_total_vat_'.$line->tva_tx])) $resarray[$array_key.'_total_vat_'.$line->tva_tx]=0;
479
+				if (empty($resarray[$array_key.'_total_vat_'.$line->tva_tx])) {
480
+				    $resarray[$array_key.'_total_vat_'.$line->tva_tx]=0;
481
+				}
479 482
 				$resarray[$array_key.'_total_vat_'.$line->tva_tx]+=$line->total_tva;
480 483
 				$resarray[$array_key.'_total_vat_locale_'.$line->tva_tx]=price($resarray[$array_key.'_total_vat_'.$line->tva_tx]);
481 484
 			    // $vatformated is vat without not expected chars (so 20, or 8.5 or 5.99 for example)
482 485
 				$vatformated=vatrate($line->tva_tx);
483
-				if (empty($resarray[$array_key.'_total_vat_'.$vatformated])) $resarray[$array_key.'_total_vat_'.$vatformated]=0;
486
+				if (empty($resarray[$array_key.'_total_vat_'.$vatformated])) {
487
+				    $resarray[$array_key.'_total_vat_'.$vatformated]=0;
488
+				}
484 489
 				$resarray[$array_key.'_total_vat_'.$vatformated]+=$line->total_tva;
485 490
 				$resarray[$array_key.'_total_vat_locale_'.$vatformated]=price($resarray[$array_key.'_total_vat_'.$vatformated]);
486 491
 			}
@@ -572,8 +577,9 @@  discard block
 block discarded – undo
572 577
 		{
573 578
 			$tmpproduct = new Product($this->db);
574 579
 			$result = $tmpproduct->fetch($line->fk_product);
575
-			foreach($tmpproduct->array_options as $key=>$label)
576
-				$resarray["line_product_".$key] = $label;
580
+			foreach($tmpproduct->array_options as $key=>$label) {
581
+							$resarray["line_product_".$key] = $label;
582
+			}
577 583
 		}
578 584
 
579 585
 		return $resarray;
@@ -623,7 +629,9 @@  discard block
 block discarded – undo
623 629
     	// Add vat by rates
624 630
     	foreach ($object->lines as $line)
625 631
     	{
626
-    		if (empty($array_shipment[$array_key.'_total_vat_'.$line->tva_tx])) $array_shipment[$array_key.'_total_vat_'.$line->tva_tx]=0;
632
+    		if (empty($array_shipment[$array_key.'_total_vat_'.$line->tva_tx])) {
633
+    		    $array_shipment[$array_key.'_total_vat_'.$line->tva_tx]=0;
634
+    		}
627 635
     		$array_shipment[$array_key.'_total_vat_'.$line->tva_tx]+=$line->total_tva;
628 636
     	}
629 637
 
@@ -742,12 +750,10 @@  discard block
 block discarded – undo
742 750
 				$object->array_options['options_'.$key.'_currency'] = price($object->array_options['options_'.$key],0,$outputlangs,0,0,-1,$conf->currency);
743 751
 				//Add value to store price with currency
744 752
 				$array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_currency' => $object->array_options['options_'.$key.'_currency']));
745
-			}
746
-			else if($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox')
753
+			} else if($extrafields->attribute_type[$key] == 'select' || $extrafields->attribute_type[$key] == 'checkbox')
747 754
 			{
748 755
 				$object->array_options['options_'.$key] = $extrafields->attribute_param[$key]['options'][$object->array_options['options_'.$key]];
749
-			}
750
-			else if($extrafields->attribute_type[$key] == 'date')
756
+			} else if($extrafields->attribute_type[$key] == 'date')
751 757
 			{
752 758
 				if (strlen($object->array_options['options_'.$key])>0)
753 759
 				{
@@ -755,8 +761,7 @@  discard block
 block discarded – undo
755 761
 					$object->array_options['options_'.$key] = dol_print_date($date,'day');                                       // using company output language
756 762
 					$object->array_options['options_'.$key.'_locale'] = dol_print_date($date,'day','tzserver',$outputlangs);     // using output language format
757 763
 					$object->array_options['options_'.$key.'_rfc'] = dol_print_date($date,'dayrfc');                             // international format
758
-				}
759
-				else
764
+				} else
760 765
 				{
761 766
 					$object->array_options['options_'.$key] = '';
762 767
 					$object->array_options['options_'.$key.'_locale'] = '';
@@ -764,8 +769,7 @@  discard block
 block discarded – undo
764 769
 				}
765 770
 				$array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_locale' => $object->array_options['options_'.$key.'_locale']));
766 771
 				$array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_rfc' => $object->array_options['options_'.$key.'_rfc']));
767
-			}
768
-			else if($extrafields->attribute_type[$key] == 'datetime')
772
+			} else if($extrafields->attribute_type[$key] == 'datetime')
769 773
 			{
770 774
 				$datetime = $object->array_options['options_'.$key];
771 775
 				$object->array_options['options_'.$key] = ($datetime!="0000-00-00 00:00:00"?dol_print_date($object->array_options['options_'.$key],'dayhour'):'');                            // using company output language
@@ -773,8 +777,7 @@  discard block
 block discarded – undo
773 777
 				$object->array_options['options_'.$key.'_rfc'] = ($datetime!="0000-00-00 00:00:00"?dol_print_date($object->array_options['options_'.$key],'dayhourrfc'):'');                             // international format
774 778
 				$array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_locale' => $object->array_options['options_'.$key.'_locale']));
775 779
 				$array_to_fill=array_merge($array_to_fill,array($array_key.'_options_'.$key.'_rfc' => $object->array_options['options_'.$key.'_rfc']));
776
-			}
777
-			else if($extrafields->attribute_type[$key] == 'link')
780
+			} else if($extrafields->attribute_type[$key] == 'link')
778 781
 			{
779 782
 				$id = $object->array_options['options_'.$key];
780 783
 				if ($id != "")
@@ -819,9 +822,13 @@  discard block
 block discarded – undo
819 822
 	 */
820 823
     function printRect($pdf, $x, $y, $l, $h, $hidetop=0, $hidebottom=0)
821 824
     {
822
-        if (empty($hidetop) || $hidetop==-1) $pdf->line($x, $y, $x+$l, $y);
825
+        if (empty($hidetop) || $hidetop==-1) {
826
+            $pdf->line($x, $y, $x+$l, $y);
827
+        }
823 828
         $pdf->line($x+$l, $y, $x+$l, $y+$h);
824
-        if (empty($hidebottom)) $pdf->line($x+$l, $y+$h, $x, $y+$h);
829
+        if (empty($hidebottom)) {
830
+            $pdf->line($x+$l, $y+$h, $x, $y+$h);
831
+        }
825 832
         $pdf->line($x, $y+$h, $x, $y);
826 833
     }
827 834
 
@@ -874,7 +881,10 @@  discard block
 block discarded – undo
874 881
         $countFlexCol = 0;
875 882
         foreach ($this->cols as $colKey =>& $colDef)
876 883
         {
877
-            if(!$this->getColumnStatus($colKey)) continue; // continue if desable
884
+            if(!$this->getColumnStatus($colKey)) {
885
+                continue;
886
+            }
887
+            // continue if desable
878 888
 
879 889
             if(!empty($colDef['scale'])){
880 890
                 // In case of column widht is defined by percentage
@@ -883,8 +893,7 @@  discard block
 block discarded – undo
883 893
 
884 894
             if(empty($colDef['width'])){
885 895
                 $countFlexCol++;
886
-            }
887
-            else{
896
+            } else{
888 897
                 $totalDefinedColWidth += $colDef['width'];
889 898
             }
890 899
         }
@@ -894,16 +903,14 @@  discard block
 block discarded – undo
894 903
             // setting empty conf with default
895 904
             if(!empty($colDef['title'])){
896 905
                 $colDef['title'] = array_replace($this->defaultTitlesFieldsStyle, $colDef['title']);
897
-            }
898
-            else{
906
+            } else{
899 907
                 $colDef['title'] = $this->defaultTitlesFieldsStyle;
900 908
             }
901 909
 
902 910
             // setting empty conf with default
903 911
             if(!empty($colDef['content'])){
904 912
                 $colDef['content'] = array_replace($this->defaultContentsFieldsStyle, $colDef['content']);
905
-            }
906
-            else{
913
+            } else{
907 914
                 $colDef['content'] = $this->defaultContentsFieldsStyle;
908 915
             }
909 916
 
@@ -956,7 +963,9 @@  discard block
 block discarded – undo
956 963
      */
957 964
     function getColumnRank($colKey)
958 965
     {
959
-        if(!isset($this->cols[$colKey]['rank'])) return -1;
966
+        if(!isset($this->cols[$colKey]['rank'])) {
967
+            return -1;
968
+        }
960 969
         return  $this->cols[$colKey]['rank'];
961 970
     }
962 971
 
@@ -1022,10 +1031,14 @@  discard block
 block discarded – undo
1022 1031
             'colKey' => $colKey
1023 1032
         );
1024 1033
         $reshook=$hookmanager->executeHooks('printStdColumnContent',$parameters,$this);    // Note that $action and $object may have been modified by hook
1025
-        if ($reshook < 0) setEventMessages($hookmanager->error,$hookmanager->errors,'errors');
1034
+        if ($reshook < 0) {
1035
+            setEventMessages($hookmanager->error,$hookmanager->errors,'errors');
1036
+        }
1026 1037
         if (!$reshook)
1027 1038
         {
1028
-            if(empty($columnText)) return;
1039
+            if(empty($columnText)) {
1040
+                return;
1041
+            }
1029 1042
             $pdf->SetXY($this->getColumnContentXStart($colKey),$curY); // Set curent position
1030 1043
             $colDef = $this->cols[$colKey];
1031 1044
             $pdf->writeHTMLCell( $this->getColumnContentWidth($colKey),2,$this->getColumnContentXStart($colKey),$curY, $columnText,0,0,0,true,$colDef['content']['align']);
@@ -1043,7 +1056,8 @@  discard block
 block discarded – undo
1043 1056
     {
1044 1057
         if( !empty($this->cols[$colKey]['status'])){
1045 1058
             return true;
1059
+        } else {
1060
+            return  false;
1046 1061
         }
1047
-        else  return  false;
1048 1062
     }
1049 1063
 }
Please login to merge, or discard this patch.
dolibarr/htdocs/core/class/canvas.class.php 3 patches
Indentation   +118 added lines, -118 removed lines patch added patch discarded remove patch
@@ -28,22 +28,22 @@  discard block
 block discarded – undo
28 28
  */
29 29
 class Canvas
30 30
 {
31
-	/**
31
+    /**
32 32
      * @var DoliDB Database handler.
33 33
      */
34 34
     public $db;
35 35
 
36
-	/**
37
-	 * @var string Error code (or message)
38
-	 */
39
-	public $error='';
36
+    /**
37
+     * @var string Error code (or message)
38
+     */
39
+    public $error='';
40 40
 
41
-	/**
42
-	 * @var string[] Error codes (or messages)
43
-	 */
44
-	public $errors = array();
41
+    /**
42
+     * @var string[] Error codes (or messages)
43
+     */
44
+    public $errors = array();
45 45
 
46
-	public $actiontype;
46
+    public $actiontype;
47 47
 
48 48
     public $dirmodule;			// Module directory
49 49
     public $targetmodule;      // Module concerned by canvas (ex: thirdparty, contact, ...)
@@ -54,65 +54,65 @@  discard block
 block discarded – undo
54 54
     public $control;           	// Initialized by getCanvas with controller instance
55 55
 
56 56
 
57
-   /**
58
-	*   Constructor
59
-	*
60
-	*   @param     DoliDB	$db          	Database handler
61
-	*   @param     string   $actiontype		Action type ('create', 'view', 'edit', 'list')
62
-	*/
63
-	function __construct($db, $actiontype='view')
64
-	{
65
-		$this->db = $db;
66
-
67
-		$this->actiontype = $this->_cleanaction($actiontype);
68
-	}
69
-
70
-	/**
71
-	 * Return action code cleaned
72
-	 *
73
-	 * @param	string	$action		Action type ('create', 'view', 'edit', 'list', 'add', 'update')
74
-	 * @return 	string				Cleaned action type ('create', 'view', 'edit', 'list')
75
-	 */
76
-	private function _cleanaction($action)
77
-	{
78
-	    $newaction = $action;
79
-	    if ($newaction == 'add')    $newaction='create';
80
-	    if ($newaction == 'update') $newaction='edit';
81
-	    if (empty($newaction) || $newaction == 'delete' || $newaction == 'create_user' || $newaction == 'presend' || $newaction == 'send') $newaction='view';
82
-	    return $newaction;
83
-	}
84
-
85
-
86
-	/**
87
-	 * 	Initialize properties: ->targetmodule, ->canvas, ->card, ->dirmodule, ->template_dir
88
-	 *
89
-	 * 	@param	string	$module		Name of target module (thirdparty, contact, ...)
90
-	 * 	@param	string	$card	 	Tab name of card (ex: 'card', 'info', 'contactcard', ...) or '' for a list page
91
-	 * 	@param	string	$canvas		Name of canvas (ex: mycanvas, default, or mycanvas@myexternalmodule)
92
-	 * 	@return	void
93
-	 */
94
-	function getCanvas($module, $card, $canvas)
95
-	{
96
-		global $conf, $langs;
97
-
98
-		// Set properties with value specific to dolibarr core: this->targetmodule, this->card, this->canvas
57
+    /**
58
+     *   Constructor
59
+     *
60
+     *   @param     DoliDB	$db          	Database handler
61
+     *   @param     string   $actiontype		Action type ('create', 'view', 'edit', 'list')
62
+     */
63
+    function __construct($db, $actiontype='view')
64
+    {
65
+        $this->db = $db;
66
+
67
+        $this->actiontype = $this->_cleanaction($actiontype);
68
+    }
69
+
70
+    /**
71
+     * Return action code cleaned
72
+     *
73
+     * @param	string	$action		Action type ('create', 'view', 'edit', 'list', 'add', 'update')
74
+     * @return 	string				Cleaned action type ('create', 'view', 'edit', 'list')
75
+     */
76
+    private function _cleanaction($action)
77
+    {
78
+        $newaction = $action;
79
+        if ($newaction == 'add')    $newaction='create';
80
+        if ($newaction == 'update') $newaction='edit';
81
+        if (empty($newaction) || $newaction == 'delete' || $newaction == 'create_user' || $newaction == 'presend' || $newaction == 'send') $newaction='view';
82
+        return $newaction;
83
+    }
84
+
85
+
86
+    /**
87
+     * 	Initialize properties: ->targetmodule, ->canvas, ->card, ->dirmodule, ->template_dir
88
+     *
89
+     * 	@param	string	$module		Name of target module (thirdparty, contact, ...)
90
+     * 	@param	string	$card	 	Tab name of card (ex: 'card', 'info', 'contactcard', ...) or '' for a list page
91
+     * 	@param	string	$canvas		Name of canvas (ex: mycanvas, default, or mycanvas@myexternalmodule)
92
+     * 	@return	void
93
+     */
94
+    function getCanvas($module, $card, $canvas)
95
+    {
96
+        global $conf, $langs;
97
+
98
+        // Set properties with value specific to dolibarr core: this->targetmodule, this->card, this->canvas
99 99
         $this->targetmodule = $module;
100 100
         $this->canvas = $canvas;
101 101
         $this->card = $card;
102 102
         $this->dirmodule = $module;
103 103
         // Correct values if canvas is into an external module
104
-		if (preg_match('/^([^@]+)@([^@]+)$/i',$canvas,$regs))
105
-		{
104
+        if (preg_match('/^([^@]+)@([^@]+)$/i',$canvas,$regs))
105
+        {
106 106
             $this->canvas = $regs[1];
107
-		    $this->dirmodule = $regs[2];
108
-		}
109
-		// For compatibility
107
+            $this->dirmodule = $regs[2];
108
+        }
109
+        // For compatibility
110 110
         if ($this->dirmodule == 'thirdparty') { $this->dirmodule = 'societe'; }
111 111
 
112 112
         // Control file
113
-		$controlclassfile = dol_buildpath('/'.$this->dirmodule.'/canvas/'.$this->canvas.'/actions_'.$this->card.'_'.$this->canvas.'.class.php');
114
-		if (file_exists($controlclassfile))
115
-		{
113
+        $controlclassfile = dol_buildpath('/'.$this->dirmodule.'/canvas/'.$this->canvas.'/actions_'.$this->card.'_'.$this->canvas.'.class.php');
114
+        if (file_exists($controlclassfile))
115
+        {
116 116
             // Include actions class (controller)
117 117
             $this->control_file=$controlclassfile;
118 118
             require_once $controlclassfile;
@@ -120,10 +120,10 @@  discard block
 block discarded – undo
120 120
             // Instantiate actions class (controller)
121 121
             $controlclassname = 'Actions'.ucfirst($this->card).ucfirst($this->canvas);
122 122
             $this->control = new $controlclassname($this->db, $this->dirmodule, $this->targetmodule, $this->canvas, $this->card);
123
-		}
123
+        }
124 124
 
125
-		// Template dir
126
-		$this->template_dir = dol_buildpath('/'.$this->dirmodule.'/canvas/'.$this->canvas.'/tpl/');
125
+        // Template dir
126
+        $this->template_dir = dol_buildpath('/'.$this->dirmodule.'/canvas/'.$this->canvas.'/tpl/');
127 127
         if (! is_dir($this->template_dir))
128 128
         {
129 129
             $this->template_dir='';
@@ -131,27 +131,27 @@  discard block
 block discarded – undo
131 131
 
132 132
         //print 'dimodule='.$dirmodule.' canvas='.$this->canvas.'<br>';
133 133
         //print ' => template_dir='.$this->template_dir.'<br>';
134
-	}
134
+    }
135 135
 
136 136
     // phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
137 137
     /**
138
-	 * 	Shared method for canvas to assign values for templates
139
-	 *
140
-	 * 	@param		string		$action	Action string
141
-	 * 	@param		int			$id			Object id (if ref not provided)
142
-	 * 	@param		string		$ref		Object ref (if id not provided)
143
-	 * 	@return		void
144
-	 */
145
-	function assign_values(&$action='view', $id=0, $ref='')
146
-	{
138
+     * 	Shared method for canvas to assign values for templates
139
+     *
140
+     * 	@param		string		$action	Action string
141
+     * 	@param		int			$id			Object id (if ref not provided)
142
+     * 	@param		string		$ref		Object ref (if id not provided)
143
+     * 	@return		void
144
+     */
145
+    function assign_values(&$action='view', $id=0, $ref='')
146
+    {
147 147
         // phpcs:enable
148
-		if (method_exists($this->control,'assign_values')) $this->control->assign_values($action, $id, $ref);
149
-	}
148
+        if (method_exists($this->control,'assign_values')) $this->control->assign_values($action, $id, $ref);
149
+    }
150 150
 
151 151
     /**
152 152
      *	Return the template to display canvas (if it exists)
153
-	 *
154
-	 *	@param	string	$action		Action code
153
+     *
154
+     *	@param	string	$action		Action code
155 155
      *	@return	int		0=Canvas template file does not exist, 1=Canvas template file exists
156 156
      */
157 157
     function displayCanvasExists($action)
@@ -163,53 +163,53 @@  discard block
 block discarded – undo
163 163
     }
164 164
 
165 165
     // phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
166
-	/**
167
-	 *	Display a canvas page. This will include the template for output.
168
-	 *	Variables used by templates may have been defined or loaded before into the assign_values function.
169
-	 *
170
-	 *	@param	string	$action		Action code
171
-	 *	@return	void
172
-	 */
173
-	function display_canvas($action)
174
-	{
166
+    /**
167
+     *	Display a canvas page. This will include the template for output.
168
+     *	Variables used by templates may have been defined or loaded before into the assign_values function.
169
+     *
170
+     *	@param	string	$action		Action code
171
+     *	@return	void
172
+     */
173
+    function display_canvas($action)
174
+    {
175 175
         // phpcs:enable
176
-		global $db, $conf, $langs, $user, $canvas;
177
-		global $form, $formfile;
176
+        global $db, $conf, $langs, $user, $canvas;
177
+        global $form, $formfile;
178 178
 
179
-		include $this->template_dir.(!empty($this->card)?$this->card.'_':'').$this->_cleanaction($action).'.tpl.php';        // Include native PHP template
180
-	}
179
+        include $this->template_dir.(!empty($this->card)?$this->card.'_':'').$this->_cleanaction($action).'.tpl.php';        // Include native PHP template
180
+    }
181 181
 
182 182
 
183
-	// This functions should not be used anymore because canvas should contains only templates.
184
-	// http://wiki.dolibarr.org/index.php/Canvas_development
183
+    // This functions should not be used anymore because canvas should contains only templates.
184
+    // http://wiki.dolibarr.org/index.php/Canvas_development
185 185
 
186
-	/**
187
-	 * 	Return if a canvas contains an action controller
188
-	 *
189
-	 * 	@return		boolean		Return if canvas contains actions (old feature. now actions should be inside hooks)
190
-	 */
191
-	function hasActions()
192
-	{
186
+    /**
187
+     * 	Return if a canvas contains an action controller
188
+     *
189
+     * 	@return		boolean		Return if canvas contains actions (old feature. now actions should be inside hooks)
190
+     */
191
+    function hasActions()
192
+    {
193 193
         return (is_object($this->control));
194
-	}
194
+    }
195 195
 
196
-	/**
197
-	 * 	Shared method for canvas to execute actions.
196
+    /**
197
+     * 	Shared method for canvas to execute actions.
198 198
      *  @deprecated Use the doActions of hooks instead of this.
199
-	 * 	            This function is called if you add a doActions class inside your canvas. Try to not
200
-	 * 				do that and add action code into a hook instead.
201
-	 *
202
-	 * 	@param		string		$action	Action string
203
-	 * 	@param		int			$id			Object id
204
-	 * 	@return		mixed					Return return code of doActions of canvas
205
-	 * 	@see		http://wiki.dolibarr.org/index.php/Canvas_development
206
-	 */
207
-	function doActions(&$action='view', $id=0)
208
-	{
209
-		if (method_exists($this->control,'doActions'))
210
-		{
211
-			$ret = $this->control->doActions($action, $id);
212
-			return $ret;
213
-		}
214
-	}
199
+     * 	            This function is called if you add a doActions class inside your canvas. Try to not
200
+     * 				do that and add action code into a hook instead.
201
+     *
202
+     * 	@param		string		$action	Action string
203
+     * 	@param		int			$id			Object id
204
+     * 	@return		mixed					Return return code of doActions of canvas
205
+     * 	@see		http://wiki.dolibarr.org/index.php/Canvas_development
206
+     */
207
+    function doActions(&$action='view', $id=0)
208
+    {
209
+        if (method_exists($this->control,'doActions'))
210
+        {
211
+            $ret = $this->control->doActions($action, $id);
212
+            return $ret;
213
+        }
214
+    }
215 215
 }
Please login to merge, or discard this patch.
Spacing   +21 added lines, -21 removed lines patch added patch discarded remove patch
@@ -36,7 +36,7 @@  discard block
 block discarded – undo
36 36
 	/**
37 37
 	 * @var string Error code (or message)
38 38
 	 */
39
-	public $error='';
39
+	public $error = '';
40 40
 
41 41
 	/**
42 42
 	 * @var string[] Error codes (or messages)
@@ -45,13 +45,13 @@  discard block
 block discarded – undo
45 45
 
46 46
 	public $actiontype;
47 47
 
48
-    public $dirmodule;			// Module directory
49
-    public $targetmodule;      // Module concerned by canvas (ex: thirdparty, contact, ...)
50
-    public $canvas;            // Name of canvas (ex: company, individual, product, service, ...)
51
-    public $card;              // Tab (sub-canvas)
48
+    public $dirmodule; // Module directory
49
+    public $targetmodule; // Module concerned by canvas (ex: thirdparty, contact, ...)
50
+    public $canvas; // Name of canvas (ex: company, individual, product, service, ...)
51
+    public $card; // Tab (sub-canvas)
52 52
 
53
-    public $template_dir;		// Initialized by getCanvas with templates directory
54
-    public $control;           	// Initialized by getCanvas with controller instance
53
+    public $template_dir; // Initialized by getCanvas with templates directory
54
+    public $control; // Initialized by getCanvas with controller instance
55 55
 
56 56
 
57 57
    /**
@@ -60,7 +60,7 @@  discard block
 block discarded – undo
60 60
 	*   @param     DoliDB	$db          	Database handler
61 61
 	*   @param     string   $actiontype		Action type ('create', 'view', 'edit', 'list')
62 62
 	*/
63
-	function __construct($db, $actiontype='view')
63
+	function __construct($db, $actiontype = 'view')
64 64
 	{
65 65
 		$this->db = $db;
66 66
 
@@ -76,9 +76,9 @@  discard block
 block discarded – undo
76 76
 	private function _cleanaction($action)
77 77
 	{
78 78
 	    $newaction = $action;
79
-	    if ($newaction == 'add')    $newaction='create';
80
-	    if ($newaction == 'update') $newaction='edit';
81
-	    if (empty($newaction) || $newaction == 'delete' || $newaction == 'create_user' || $newaction == 'presend' || $newaction == 'send') $newaction='view';
79
+	    if ($newaction == 'add')    $newaction = 'create';
80
+	    if ($newaction == 'update') $newaction = 'edit';
81
+	    if (empty($newaction) || $newaction == 'delete' || $newaction == 'create_user' || $newaction == 'presend' || $newaction == 'send') $newaction = 'view';
82 82
 	    return $newaction;
83 83
 	}
84 84
 
@@ -101,7 +101,7 @@  discard block
 block discarded – undo
101 101
         $this->card = $card;
102 102
         $this->dirmodule = $module;
103 103
         // Correct values if canvas is into an external module
104
-		if (preg_match('/^([^@]+)@([^@]+)$/i',$canvas,$regs))
104
+		if (preg_match('/^([^@]+)@([^@]+)$/i', $canvas, $regs))
105 105
 		{
106 106
             $this->canvas = $regs[1];
107 107
 		    $this->dirmodule = $regs[2];
@@ -114,7 +114,7 @@  discard block
 block discarded – undo
114 114
 		if (file_exists($controlclassfile))
115 115
 		{
116 116
             // Include actions class (controller)
117
-            $this->control_file=$controlclassfile;
117
+            $this->control_file = $controlclassfile;
118 118
             require_once $controlclassfile;
119 119
 
120 120
             // Instantiate actions class (controller)
@@ -124,9 +124,9 @@  discard block
 block discarded – undo
124 124
 
125 125
 		// Template dir
126 126
 		$this->template_dir = dol_buildpath('/'.$this->dirmodule.'/canvas/'.$this->canvas.'/tpl/');
127
-        if (! is_dir($this->template_dir))
127
+        if (!is_dir($this->template_dir))
128 128
         {
129
-            $this->template_dir='';
129
+            $this->template_dir = '';
130 130
         }
131 131
 
132 132
         //print 'dimodule='.$dirmodule.' canvas='.$this->canvas.'<br>';
@@ -142,10 +142,10 @@  discard block
 block discarded – undo
142 142
 	 * 	@param		string		$ref		Object ref (if id not provided)
143 143
 	 * 	@return		void
144 144
 	 */
145
-	function assign_values(&$action='view', $id=0, $ref='')
145
+	function assign_values(&$action = 'view', $id = 0, $ref = '')
146 146
 	{
147 147
         // phpcs:enable
148
-		if (method_exists($this->control,'assign_values')) $this->control->assign_values($action, $id, $ref);
148
+		if (method_exists($this->control, 'assign_values')) $this->control->assign_values($action, $id, $ref);
149 149
 	}
150 150
 
151 151
     /**
@@ -158,7 +158,7 @@  discard block
 block discarded – undo
158 158
     {
159 159
         if (empty($this->template_dir)) return 0;
160 160
 
161
-        if (file_exists($this->template_dir.(!empty($this->card)?$this->card.'_':'').$this->_cleanaction($action).'.tpl.php')) return 1;
161
+        if (file_exists($this->template_dir.(!empty($this->card) ? $this->card.'_' : '').$this->_cleanaction($action).'.tpl.php')) return 1;
162 162
         else return 0;
163 163
     }
164 164
 
@@ -176,7 +176,7 @@  discard block
 block discarded – undo
176 176
 		global $db, $conf, $langs, $user, $canvas;
177 177
 		global $form, $formfile;
178 178
 
179
-		include $this->template_dir.(!empty($this->card)?$this->card.'_':'').$this->_cleanaction($action).'.tpl.php';        // Include native PHP template
179
+		include $this->template_dir.(!empty($this->card) ? $this->card.'_' : '').$this->_cleanaction($action).'.tpl.php'; // Include native PHP template
180 180
 	}
181 181
 
182 182
 
@@ -204,9 +204,9 @@  discard block
 block discarded – undo
204 204
 	 * 	@return		mixed					Return return code of doActions of canvas
205 205
 	 * 	@see		http://wiki.dolibarr.org/index.php/Canvas_development
206 206
 	 */
207
-	function doActions(&$action='view', $id=0)
207
+	function doActions(&$action = 'view', $id = 0)
208 208
 	{
209
-		if (method_exists($this->control,'doActions'))
209
+		if (method_exists($this->control, 'doActions'))
210 210
 		{
211 211
 			$ret = $this->control->doActions($action, $id);
212 212
 			return $ret;
Please login to merge, or discard this patch.
Braces   +20 added lines, -7 removed lines patch added patch discarded remove patch
@@ -76,9 +76,15 @@  discard block
 block discarded – undo
76 76
 	private function _cleanaction($action)
77 77
 	{
78 78
 	    $newaction = $action;
79
-	    if ($newaction == 'add')    $newaction='create';
80
-	    if ($newaction == 'update') $newaction='edit';
81
-	    if (empty($newaction) || $newaction == 'delete' || $newaction == 'create_user' || $newaction == 'presend' || $newaction == 'send') $newaction='view';
79
+	    if ($newaction == 'add') {
80
+	        $newaction='create';
81
+	    }
82
+	    if ($newaction == 'update') {
83
+	        $newaction='edit';
84
+	    }
85
+	    if (empty($newaction) || $newaction == 'delete' || $newaction == 'create_user' || $newaction == 'presend' || $newaction == 'send') {
86
+	        $newaction='view';
87
+	    }
82 88
 	    return $newaction;
83 89
 	}
84 90
 
@@ -145,7 +151,9 @@  discard block
 block discarded – undo
145 151
 	function assign_values(&$action='view', $id=0, $ref='')
146 152
 	{
147 153
         // phpcs:enable
148
-		if (method_exists($this->control,'assign_values')) $this->control->assign_values($action, $id, $ref);
154
+		if (method_exists($this->control,'assign_values')) {
155
+		    $this->control->assign_values($action, $id, $ref);
156
+		}
149 157
 	}
150 158
 
151 159
     /**
@@ -156,10 +164,15 @@  discard block
 block discarded – undo
156 164
      */
157 165
     function displayCanvasExists($action)
158 166
     {
159
-        if (empty($this->template_dir)) return 0;
167
+        if (empty($this->template_dir)) {
168
+            return 0;
169
+        }
160 170
 
161
-        if (file_exists($this->template_dir.(!empty($this->card)?$this->card.'_':'').$this->_cleanaction($action).'.tpl.php')) return 1;
162
-        else return 0;
171
+        if (file_exists($this->template_dir.(!empty($this->card)?$this->card.'_':'').$this->_cleanaction($action).'.tpl.php')) {
172
+            return 1;
173
+        } else {
174
+            return 0;
175
+        }
163 176
     }
164 177
 
165 178
     // phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
Please login to merge, or discard this patch.
dolibarr/htdocs/core/class/coreobject.class.php 3 patches
Indentation   +149 added lines, -149 removed lines patch added patch discarded remove patch
@@ -27,55 +27,55 @@  discard block
 block discarded – undo
27 27
 
28 28
 class CoreObject extends CommonObject
29 29
 {
30
-	public $withChild = true;
30
+    public $withChild = true;
31 31
 
32
-	/**
33
-	 *  @var Array $_fields Fields to synchronize with Database
34
-	 */
35
-	protected $fields=array();
32
+    /**
33
+     *  @var Array $_fields Fields to synchronize with Database
34
+     */
35
+    protected $fields=array();
36 36
 
37 37
     /**
38
-	 *  Constructor
39
-	 *
40
-	 *  @param      DoliDB		$db      Database handler
41
-	 */
42
-	function __construct(DoliDB &$db)
38
+     *  Constructor
39
+     *
40
+     *  @param      DoliDB		$db      Database handler
41
+     */
42
+    function __construct(DoliDB &$db)
43 43
     {
44 44
         $this->db = $db;
45
-	}
45
+    }
46 46
 
47 47
     /**
48 48
      * Function to init fields
49 49
      *
50 50
      * @return bool
51 51
      */
52
-	protected function init()
52
+    protected function init()
53 53
     {
54
-		$this->id = 0;
55
-		$this->datec = 0;
56
-		$this->tms = 0;
57
-
58
-		if (!empty($this->fields))
59
-		{
60
-			foreach ($this->fields as $field=>$info)
61
-			{
62
-		        if ($this->isDate($info)) $this->{$field} = time();
63
-		        elseif ($this->isArray($info)) $this->{$field} = array();
64
-		        elseif ($this->isInt($info)) $this->{$field} = (int) 0;
65
-		        elseif ($this->isFloat($info)) $this->{$field} = (double) 0;
66
-				else $this->{$field} = '';
67
-		    }
54
+        $this->id = 0;
55
+        $this->datec = 0;
56
+        $this->tms = 0;
57
+
58
+        if (!empty($this->fields))
59
+        {
60
+            foreach ($this->fields as $field=>$info)
61
+            {
62
+                if ($this->isDate($info)) $this->{$field} = time();
63
+                elseif ($this->isArray($info)) $this->{$field} = array();
64
+                elseif ($this->isInt($info)) $this->{$field} = (int) 0;
65
+                elseif ($this->isFloat($info)) $this->{$field} = (double) 0;
66
+                else $this->{$field} = '';
67
+            }
68 68
 
69 69
             $this->to_delete=false;
70 70
             $this->is_clone=false;
71 71
 
72
-			return true;
73
-		}
74
-		else
72
+            return true;
73
+        }
74
+        else
75 75
         {
76
-			return false;
77
-		}
78
-	}
76
+            return false;
77
+        }
78
+    }
79 79
 
80 80
     /**
81 81
      * Test type of field
@@ -86,15 +86,15 @@  discard block
 block discarded – undo
86 86
      */
87 87
     private function checkFieldType($field, $type)
88 88
     {
89
-		if (isset($this->fields[$field]) && method_exists($this, 'is_'.$type))
90
-		{
91
-			return $this->{'is_'.$type}($this->fields[$field]);
92
-		}
93
-		else
89
+        if (isset($this->fields[$field]) && method_exists($this, 'is_'.$type))
90
+        {
91
+            return $this->{'is_'.$type}($this->fields[$field]);
92
+        }
93
+        else
94 94
         {
95 95
             return false;
96 96
         }
97
-	}
97
+    }
98 98
 
99 99
     /**
100 100
      *	Get object and children from database
@@ -103,15 +103,15 @@  discard block
 block discarded – undo
103 103
      * 	@param		bool		$loadChild		used to load children from database
104 104
      *	@return     int         				>0 if OK, <0 if KO, 0 if not found
105 105
      */
106
-	public function fetch($id, $loadChild = true)
106
+    public function fetch($id, $loadChild = true)
107 107
     {
108
-    	$res = $this->fetchCommon($id);
109
-    	if($res>0) {
110
-    		if ($loadChild) $this->fetchChild();
111
-    	}
108
+        $res = $this->fetchCommon($id);
109
+        if($res>0) {
110
+            if ($loadChild) $this->fetchChild();
111
+        }
112 112
 
113
-    	return $res;
114
-	}
113
+        return $res;
114
+    }
115 115
 
116 116
 
117 117
     /**
@@ -125,25 +125,25 @@  discard block
 block discarded – undo
125 125
      */
126 126
     public function addChild($tabName, $id=0, $key='id', $try_to_load = false)
127 127
     {
128
-		if(!empty($id))
129
-		{
130
-			foreach($this->{$tabName} as $k=>&$object)
131
-			{
132
-				if($object->{$key} === $id) return $k;
133
-			}
134
-		}
128
+        if(!empty($id))
129
+        {
130
+            foreach($this->{$tabName} as $k=>&$object)
131
+            {
132
+                if($object->{$key} === $id) return $k;
133
+            }
134
+        }
135 135
 
136
-		$k = count($this->{$tabName});
136
+        $k = count($this->{$tabName});
137 137
 
138
-		$className = ucfirst($tabName);
139
-		$this->{$tabName}[$k] = new $className($this->db);
140
-		if($id>0 && $key==='id' && $try_to_load)
141
-		{
142
-			$this->{$tabName}[$k]->fetch($id);
143
-		}
138
+        $className = ucfirst($tabName);
139
+        $this->{$tabName}[$k] = new $className($this->db);
140
+        if($id>0 && $key==='id' && $try_to_load)
141
+        {
142
+            $this->{$tabName}[$k]->fetch($id);
143
+        }
144 144
 
145
-		return $k;
146
-	}
145
+        return $k;
146
+    }
147 147
 
148 148
 
149 149
     /**
@@ -156,16 +156,16 @@  discard block
 block discarded – undo
156 156
      */
157 157
     public function removeChild($tabName, $id, $key='id')
158 158
     {
159
-		foreach ($this->{$tabName} as &$object)
160
-		{
161
-			if ($object->{$key} == $id)
162
-			{
163
-				$object->to_delete = true;
164
-				return true;
165
-			}
166
-		}
167
-		return false;
168
-	}
159
+        foreach ($this->{$tabName} as &$object)
160
+        {
161
+            if ($object->{$key} == $id)
162
+            {
163
+                $object->to_delete = true;
164
+                return true;
165
+            }
166
+        }
167
+        return false;
168
+    }
169 169
 
170 170
 
171 171
     /**
@@ -175,10 +175,10 @@  discard block
 block discarded – undo
175 175
      */
176 176
     public function fetchChild()
177 177
     {
178
-		if($this->withChild && !empty($this->childtables) && !empty($this->fk_element))
179
-		{
180
-			foreach($this->childtables as &$childTable)
181
-			{
178
+        if($this->withChild && !empty($this->childtables) && !empty($this->fk_element))
179
+        {
180
+            foreach($this->childtables as &$childTable)
181
+            {
182 182
                 $className = ucfirst($childTable);
183 183
 
184 184
                 $this->{$className}=array();
@@ -200,9 +200,9 @@  discard block
 block discarded – undo
200 200
                 {
201 201
                     $this->errors[] = $this->db->lasterror();
202 202
                 }
203
-			}
204
-		}
205
-	}
203
+            }
204
+        }
205
+    }
206 206
 
207 207
     /**
208 208
      * Function to update children data
@@ -210,26 +210,26 @@  discard block
 block discarded – undo
210 210
      * @param   User    $user   user object
211 211
      * @return void
212 212
      */
213
-	public function saveChild(User &$user)
213
+    public function saveChild(User &$user)
214 214
     {
215
-		if($this->withChild && !empty($this->childtables) && !empty($this->fk_element))
216
-		{
217
-			foreach($this->childtables as &$childTable)
218
-			{
219
-				$className = ucfirst($childTable);
220
-				if(!empty($this->{$className}))
221
-				{
222
-					foreach($this->{$className} as $i => &$object)
223
-					{
224
-						$object->{$this->fk_element} = $this->id;
225
-
226
-						$object->update($user);
227
-						if($this->unsetChildDeleted && isset($object->to_delete) && $object->to_delete==true) unset($this->{$className}[$i]);
228
-					}
229
-				}
230
-			}
231
-		}
232
-	}
215
+        if($this->withChild && !empty($this->childtables) && !empty($this->fk_element))
216
+        {
217
+            foreach($this->childtables as &$childTable)
218
+            {
219
+                $className = ucfirst($childTable);
220
+                if(!empty($this->{$className}))
221
+                {
222
+                    foreach($this->{$className} as $i => &$object)
223
+                    {
224
+                        $object->{$this->fk_element} = $this->id;
225
+
226
+                        $object->update($user);
227
+                        if($this->unsetChildDeleted && isset($object->to_delete) && $object->to_delete==true) unset($this->{$className}[$i]);
228
+                    }
229
+                }
230
+            }
231
+        }
232
+    }
233 233
 
234 234
 
235 235
     /**
@@ -240,7 +240,7 @@  discard block
 block discarded – undo
240 240
      */
241 241
     public function update(User &$user)
242 242
     {
243
-		if (empty($this->id)) return $this->create($user); // To test, with that, no need to test on high level object, the core decide it, update just needed
243
+        if (empty($this->id)) return $this->create($user); // To test, with that, no need to test on high level object, the core decide it, update just needed
244 244
         elseif (isset($this->to_delete) && $this->to_delete==true) return $this->delete($user);
245 245
 
246 246
         $error = 0;
@@ -270,7 +270,7 @@  discard block
 block discarded – undo
270 270
             $this->db->rollback();
271 271
             return -1;
272 272
         }
273
-	}
273
+    }
274 274
 
275 275
     /**
276 276
      * Function to create object in database
@@ -280,26 +280,26 @@  discard block
 block discarded – undo
280 280
      */
281 281
     public function create(User &$user)
282 282
     {
283
-		if($this->id > 0) return $this->update($user);
283
+        if($this->id > 0) return $this->update($user);
284 284
 
285 285
         $error = 0;
286 286
         $this->db->begin();
287 287
 
288 288
         $res = $this->createCommon($user);
289
-		if($res)
290
-		{
291
-			$this->id = $this->db->last_insert_id($this->table_element);
289
+        if($res)
290
+        {
291
+            $this->id = $this->db->last_insert_id($this->table_element);
292 292
 
293
-			$result = $this->call_trigger(strtoupper($this->element). '_CREATE', $user);
293
+            $result = $this->call_trigger(strtoupper($this->element). '_CREATE', $user);
294 294
             if ($result < 0) $error++;
295 295
             else $this->saveChild($user);
296
-		}
297
-		else
296
+        }
297
+        else
298 298
         {
299 299
             $error++;
300 300
             $this->error = $this->db->lasterror();
301 301
             $this->errors[] = $this->error;
302
-		}
302
+        }
303 303
 
304 304
         if (empty($error))
305 305
         {
@@ -311,7 +311,7 @@  discard block
 block discarded – undo
311 311
             $this->db->rollback();
312 312
             return -1;
313 313
         }
314
-	}
314
+    }
315 315
 
316 316
     /**
317 317
      * Function to delete object in database
@@ -319,9 +319,9 @@  discard block
 block discarded – undo
319 319
      * @param   User    $user   user object
320 320
      * @return                  < 0 if ko, > 0 if ok
321 321
      */
322
-	public function delete(User &$user)
322
+    public function delete(User &$user)
323 323
     {
324
-		if ($this->id <= 0) return 0;
324
+        if ($this->id <= 0) return 0;
325 325
 
326 326
         $error = 0;
327 327
         $this->db->begin();
@@ -360,7 +360,7 @@  discard block
 block discarded – undo
360 360
             $this->db->rollback();
361 361
             return -1;
362 362
         }
363
-	}
363
+    }
364 364
 
365 365
 
366 366
     /**
@@ -372,12 +372,12 @@  discard block
 block discarded – undo
372 372
      */
373 373
     public function getDate($field, $format='')
374 374
     {
375
-		if(empty($this->{$field})) return '';
376
-		else
375
+        if(empty($this->{$field})) return '';
376
+        else
377 377
         {
378
-			return dol_print_date($this->{$field}, $format);
379
-		}
380
-	}
378
+            return dol_print_date($this->{$field}, $format);
379
+        }
380
+    }
381 381
 
382 382
     /**
383 383
      * Function to set date in field
@@ -388,18 +388,18 @@  discard block
 block discarded – undo
388 388
      */
389 389
     public function setDate($field, $date)
390 390
     {
391
-	  	if (empty($date))
392
-	  	{
393
-	  		$this->{$field} = 0;
394
-	  	}
395
-		else
391
+            if (empty($date))
392
+            {
393
+                $this->{$field} = 0;
394
+            }
395
+        else
396 396
         {
397
-			require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
398
-			$this->{$field} = dol_stringtotime($date);
399
-		}
397
+            require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
398
+            $this->{$field} = dol_stringtotime($date);
399
+        }
400 400
 
401
-		return $this->{$field};
402
-	}
401
+        return $this->{$field};
402
+    }
403 403
 
404 404
 
405 405
     /**
@@ -410,29 +410,29 @@  discard block
 block discarded – undo
410 410
      */
411 411
     public function setValues(&$Tab)
412 412
     {
413
-		foreach ($Tab as $key => $value)
414
-		{
415
-			if($this->checkFieldType($key, 'date'))
416
-			{
417
-				$this->setDate($key, $value);
418
-			}
419
-			else if( $this->checkFieldType($key, 'array'))
420
-			{
421
-				$this->{$key} = $value;
422
-			}
423
-			else if( $this->checkFieldType($key, 'float') )
424
-			{
425
-				$this->{$key} = (double) price2num($value);
426
-			}
427
-			else if( $this->checkFieldType($key, 'int') ) {
428
-				$this->{$key} = (int) price2num($value);
429
-			}
430
-			else
413
+        foreach ($Tab as $key => $value)
414
+        {
415
+            if($this->checkFieldType($key, 'date'))
416
+            {
417
+                $this->setDate($key, $value);
418
+            }
419
+            else if( $this->checkFieldType($key, 'array'))
431 420
             {
432
-				$this->{$key} = $value;
433
-			}
434
-		}
421
+                $this->{$key} = $value;
422
+            }
423
+            else if( $this->checkFieldType($key, 'float') )
424
+            {
425
+                $this->{$key} = (double) price2num($value);
426
+            }
427
+            else if( $this->checkFieldType($key, 'int') ) {
428
+                $this->{$key} = (int) price2num($value);
429
+            }
430
+            else
431
+            {
432
+                $this->{$key} = $value;
433
+            }
434
+        }
435 435
 
436
-		return 1;
437
-	}
436
+        return 1;
437
+    }
438 438
 }
Please login to merge, or discard this patch.
Spacing   +36 added lines, -36 removed lines patch added patch discarded remove patch
@@ -32,7 +32,7 @@  discard block
 block discarded – undo
32 32
 	/**
33 33
 	 *  @var Array $_fields Fields to synchronize with Database
34 34
 	 */
35
-	protected $fields=array();
35
+	protected $fields = array();
36 36
 
37 37
     /**
38 38
 	 *  Constructor
@@ -66,8 +66,8 @@  discard block
 block discarded – undo
66 66
 				else $this->{$field} = '';
67 67
 		    }
68 68
 
69
-            $this->to_delete=false;
70
-            $this->is_clone=false;
69
+            $this->to_delete = false;
70
+            $this->is_clone = false;
71 71
 
72 72
 			return true;
73 73
 		}
@@ -106,7 +106,7 @@  discard block
 block discarded – undo
106 106
 	public function fetch($id, $loadChild = true)
107 107
     {
108 108
     	$res = $this->fetchCommon($id);
109
-    	if($res>0) {
109
+    	if ($res > 0) {
110 110
     		if ($loadChild) $this->fetchChild();
111 111
     	}
112 112
 
@@ -123,13 +123,13 @@  discard block
 block discarded – undo
123 123
      * @param   bool    $try_to_load    Force the fetch if an id is given
124 124
      * @return                          int
125 125
      */
126
-    public function addChild($tabName, $id=0, $key='id', $try_to_load = false)
126
+    public function addChild($tabName, $id = 0, $key = 'id', $try_to_load = false)
127 127
     {
128
-		if(!empty($id))
128
+		if (!empty($id))
129 129
 		{
130
-			foreach($this->{$tabName} as $k=>&$object)
130
+			foreach ($this->{$tabName} as $k=>&$object)
131 131
 			{
132
-				if($object->{$key} === $id) return $k;
132
+				if ($object->{$key} === $id) return $k;
133 133
 			}
134 134
 		}
135 135
 
@@ -137,7 +137,7 @@  discard block
 block discarded – undo
137 137
 
138 138
 		$className = ucfirst($tabName);
139 139
 		$this->{$tabName}[$k] = new $className($this->db);
140
-		if($id>0 && $key==='id' && $try_to_load)
140
+		if ($id > 0 && $key === 'id' && $try_to_load)
141 141
 		{
142 142
 			$this->{$tabName}[$k]->fetch($id);
143 143
 		}
@@ -154,7 +154,7 @@  discard block
 block discarded – undo
154 154
      * @param   string  $key            Attribute name of the object id
155 155
      * @return                          bool
156 156
      */
157
-    public function removeChild($tabName, $id, $key='id')
157
+    public function removeChild($tabName, $id, $key = 'id')
158 158
     {
159 159
 		foreach ($this->{$tabName} as &$object)
160 160
 		{
@@ -175,22 +175,22 @@  discard block
 block discarded – undo
175 175
      */
176 176
     public function fetchChild()
177 177
     {
178
-		if($this->withChild && !empty($this->childtables) && !empty($this->fk_element))
178
+		if ($this->withChild && !empty($this->childtables) && !empty($this->fk_element))
179 179
 		{
180
-			foreach($this->childtables as &$childTable)
180
+			foreach ($this->childtables as &$childTable)
181 181
 			{
182 182
                 $className = ucfirst($childTable);
183 183
 
184
-                $this->{$className}=array();
184
+                $this->{$className} = array();
185 185
 
186 186
                 $sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.$childTable.' WHERE '.$this->fk_element.' = '.$this->id;
187 187
                 $res = $this->db->query($sql);
188 188
 
189
-                if($res)
189
+                if ($res)
190 190
                 {
191
-                    while($obj = $this->db->fetch_object($res))
191
+                    while ($obj = $this->db->fetch_object($res))
192 192
                     {
193
-                        $o=new $className($this->db);
193
+                        $o = new $className($this->db);
194 194
                         $o->fetch($obj->rowid);
195 195
 
196 196
                         $this->{$className}[] = $o;
@@ -212,19 +212,19 @@  discard block
 block discarded – undo
212 212
      */
213 213
 	public function saveChild(User &$user)
214 214
     {
215
-		if($this->withChild && !empty($this->childtables) && !empty($this->fk_element))
215
+		if ($this->withChild && !empty($this->childtables) && !empty($this->fk_element))
216 216
 		{
217
-			foreach($this->childtables as &$childTable)
217
+			foreach ($this->childtables as &$childTable)
218 218
 			{
219 219
 				$className = ucfirst($childTable);
220
-				if(!empty($this->{$className}))
220
+				if (!empty($this->{$className}))
221 221
 				{
222
-					foreach($this->{$className} as $i => &$object)
222
+					foreach ($this->{$className} as $i => &$object)
223 223
 					{
224 224
 						$object->{$this->fk_element} = $this->id;
225 225
 
226 226
 						$object->update($user);
227
-						if($this->unsetChildDeleted && isset($object->to_delete) && $object->to_delete==true) unset($this->{$className}[$i]);
227
+						if ($this->unsetChildDeleted && isset($object->to_delete) && $object->to_delete == true) unset($this->{$className}[$i]);
228 228
 					}
229 229
 				}
230 230
 			}
@@ -241,7 +241,7 @@  discard block
 block discarded – undo
241 241
     public function update(User &$user)
242 242
     {
243 243
 		if (empty($this->id)) return $this->create($user); // To test, with that, no need to test on high level object, the core decide it, update just needed
244
-        elseif (isset($this->to_delete) && $this->to_delete==true) return $this->delete($user);
244
+        elseif (isset($this->to_delete) && $this->to_delete == true) return $this->delete($user);
245 245
 
246 246
         $error = 0;
247 247
         $this->db->begin();
@@ -249,7 +249,7 @@  discard block
 block discarded – undo
249 249
         $res = $this->updateCommon($user);
250 250
         if ($res)
251 251
         {
252
-            $result = $this->call_trigger(strtoupper($this->element). '_UPDATE', $user);
252
+            $result = $this->call_trigger(strtoupper($this->element).'_UPDATE', $user);
253 253
             if ($result < 0) $error++;
254 254
             else $this->saveChild($user);
255 255
         }
@@ -280,17 +280,17 @@  discard block
 block discarded – undo
280 280
      */
281 281
     public function create(User &$user)
282 282
     {
283
-		if($this->id > 0) return $this->update($user);
283
+		if ($this->id > 0) return $this->update($user);
284 284
 
285 285
         $error = 0;
286 286
         $this->db->begin();
287 287
 
288 288
         $res = $this->createCommon($user);
289
-		if($res)
289
+		if ($res)
290 290
 		{
291 291
 			$this->id = $this->db->last_insert_id($this->table_element);
292 292
 
293
-			$result = $this->call_trigger(strtoupper($this->element). '_CREATE', $user);
293
+			$result = $this->call_trigger(strtoupper($this->element).'_CREATE', $user);
294 294
             if ($result < 0) $error++;
295 295
             else $this->saveChild($user);
296 296
 		}
@@ -326,20 +326,20 @@  discard block
 block discarded – undo
326 326
         $error = 0;
327 327
         $this->db->begin();
328 328
 
329
-        $result = $this->call_trigger(strtoupper($this->element). '_DELETE', $user);
329
+        $result = $this->call_trigger(strtoupper($this->element).'_DELETE', $user);
330 330
         if ($result < 0) $error++;
331 331
 
332 332
         if (!$error)
333 333
         {
334 334
             $this->deleteCommon($user);
335
-            if($this->withChild && !empty($this->childtables))
335
+            if ($this->withChild && !empty($this->childtables))
336 336
             {
337
-                foreach($this->childtables as &$childTable)
337
+                foreach ($this->childtables as &$childTable)
338 338
                 {
339 339
                     $className = ucfirst($childTable);
340 340
                     if (!empty($this->{$className}))
341 341
                     {
342
-                        foreach($this->{$className} as &$object)
342
+                        foreach ($this->{$className} as &$object)
343 343
                         {
344 344
                             $object->delete($user);
345 345
                         }
@@ -370,9 +370,9 @@  discard block
 block discarded – undo
370 370
      * @param   string  $format Output date format
371 371
      * @return          string
372 372
      */
373
-    public function getDate($field, $format='')
373
+    public function getDate($field, $format = '')
374 374
     {
375
-		if(empty($this->{$field})) return '';
375
+		if (empty($this->{$field})) return '';
376 376
 		else
377 377
         {
378 378
 			return dol_print_date($this->{$field}, $format);
@@ -412,19 +412,19 @@  discard block
 block discarded – undo
412 412
     {
413 413
 		foreach ($Tab as $key => $value)
414 414
 		{
415
-			if($this->checkFieldType($key, 'date'))
415
+			if ($this->checkFieldType($key, 'date'))
416 416
 			{
417 417
 				$this->setDate($key, $value);
418 418
 			}
419
-			else if( $this->checkFieldType($key, 'array'))
419
+			else if ($this->checkFieldType($key, 'array'))
420 420
 			{
421 421
 				$this->{$key} = $value;
422 422
 			}
423
-			else if( $this->checkFieldType($key, 'float') )
423
+			else if ($this->checkFieldType($key, 'float'))
424 424
 			{
425 425
 				$this->{$key} = (double) price2num($value);
426 426
 			}
427
-			else if( $this->checkFieldType($key, 'int') ) {
427
+			else if ($this->checkFieldType($key, 'int')) {
428 428
 				$this->{$key} = (int) price2num($value);
429 429
 			}
430 430
 			else
Please login to merge, or discard this patch.
Braces   +62 added lines, -45 removed lines patch added patch discarded remove patch
@@ -59,19 +59,24 @@  discard block
 block discarded – undo
59 59
 		{
60 60
 			foreach ($this->fields as $field=>$info)
61 61
 			{
62
-		        if ($this->isDate($info)) $this->{$field} = time();
63
-		        elseif ($this->isArray($info)) $this->{$field} = array();
64
-		        elseif ($this->isInt($info)) $this->{$field} = (int) 0;
65
-		        elseif ($this->isFloat($info)) $this->{$field} = (double) 0;
66
-				else $this->{$field} = '';
62
+		        if ($this->isDate($info)) {
63
+		            $this->{$field} = time();
64
+		        } elseif ($this->isArray($info)) {
65
+		            $this->{$field} = array();
66
+		        } elseif ($this->isInt($info)) {
67
+		            $this->{$field} = (int) 0;
68
+		        } elseif ($this->isFloat($info)) {
69
+		            $this->{$field} = (double) 0;
70
+		        } else {
71
+				    $this->{$field} = '';
72
+				}
67 73
 		    }
68 74
 
69 75
             $this->to_delete=false;
70 76
             $this->is_clone=false;
71 77
 
72 78
 			return true;
73
-		}
74
-		else
79
+		} else
75 80
         {
76 81
 			return false;
77 82
 		}
@@ -89,8 +94,7 @@  discard block
 block discarded – undo
89 94
 		if (isset($this->fields[$field]) && method_exists($this, 'is_'.$type))
90 95
 		{
91 96
 			return $this->{'is_'.$type}($this->fields[$field]);
92
-		}
93
-		else
97
+		} else
94 98
         {
95 99
             return false;
96 100
         }
@@ -107,7 +111,9 @@  discard block
 block discarded – undo
107 111
     {
108 112
     	$res = $this->fetchCommon($id);
109 113
     	if($res>0) {
110
-    		if ($loadChild) $this->fetchChild();
114
+    		if ($loadChild) {
115
+    		    $this->fetchChild();
116
+    		}
111 117
     	}
112 118
 
113 119
     	return $res;
@@ -129,7 +135,9 @@  discard block
 block discarded – undo
129 135
 		{
130 136
 			foreach($this->{$tabName} as $k=>&$object)
131 137
 			{
132
-				if($object->{$key} === $id) return $k;
138
+				if($object->{$key} === $id) {
139
+				    return $k;
140
+				}
133 141
 			}
134 142
 		}
135 143
 
@@ -195,8 +203,7 @@  discard block
 block discarded – undo
195 203
 
196 204
                         $this->{$className}[] = $o;
197 205
                     }
198
-                }
199
-                else
206
+                } else
200 207
                 {
201 208
                     $this->errors[] = $this->db->lasterror();
202 209
                 }
@@ -224,7 +231,9 @@  discard block
 block discarded – undo
224 231
 						$object->{$this->fk_element} = $this->id;
225 232
 
226 233
 						$object->update($user);
227
-						if($this->unsetChildDeleted && isset($object->to_delete) && $object->to_delete==true) unset($this->{$className}[$i]);
234
+						if($this->unsetChildDeleted && isset($object->to_delete) && $object->to_delete==true) {
235
+						    unset($this->{$className}[$i]);
236
+						}
228 237
 					}
229 238
 				}
230 239
 			}
@@ -240,8 +249,13 @@  discard block
 block discarded – undo
240 249
      */
241 250
     public function update(User &$user)
242 251
     {
243
-		if (empty($this->id)) return $this->create($user); // To test, with that, no need to test on high level object, the core decide it, update just needed
244
-        elseif (isset($this->to_delete) && $this->to_delete==true) return $this->delete($user);
252
+		if (empty($this->id)) {
253
+		    return $this->create($user);
254
+		}
255
+		// To test, with that, no need to test on high level object, the core decide it, update just needed
256
+        elseif (isset($this->to_delete) && $this->to_delete==true) {
257
+            return $this->delete($user);
258
+        }
245 259
 
246 260
         $error = 0;
247 261
         $this->db->begin();
@@ -250,10 +264,12 @@  discard block
 block discarded – undo
250 264
         if ($res)
251 265
         {
252 266
             $result = $this->call_trigger(strtoupper($this->element). '_UPDATE', $user);
253
-            if ($result < 0) $error++;
254
-            else $this->saveChild($user);
255
-        }
256
-        else
267
+            if ($result < 0) {
268
+                $error++;
269
+            } else {
270
+                $this->saveChild($user);
271
+            }
272
+        } else
257 273
         {
258 274
             $error++;
259 275
             $this->error = $this->db->lasterror();
@@ -264,8 +280,7 @@  discard block
 block discarded – undo
264 280
         {
265 281
             $this->db->commit();
266 282
             return $this->id;
267
-        }
268
-        else
283
+        } else
269 284
         {
270 285
             $this->db->rollback();
271 286
             return -1;
@@ -280,7 +295,9 @@  discard block
 block discarded – undo
280 295
      */
281 296
     public function create(User &$user)
282 297
     {
283
-		if($this->id > 0) return $this->update($user);
298
+		if($this->id > 0) {
299
+		    return $this->update($user);
300
+		}
284 301
 
285 302
         $error = 0;
286 303
         $this->db->begin();
@@ -291,10 +308,12 @@  discard block
 block discarded – undo
291 308
 			$this->id = $this->db->last_insert_id($this->table_element);
292 309
 
293 310
 			$result = $this->call_trigger(strtoupper($this->element). '_CREATE', $user);
294
-            if ($result < 0) $error++;
295
-            else $this->saveChild($user);
296
-		}
297
-		else
311
+            if ($result < 0) {
312
+                $error++;
313
+            } else {
314
+                $this->saveChild($user);
315
+            }
316
+		} else
298 317
         {
299 318
             $error++;
300 319
             $this->error = $this->db->lasterror();
@@ -305,8 +324,7 @@  discard block
 block discarded – undo
305 324
         {
306 325
             $this->db->commit();
307 326
             return $this->id;
308
-        }
309
-        else
327
+        } else
310 328
         {
311 329
             $this->db->rollback();
312 330
             return -1;
@@ -321,13 +339,17 @@  discard block
 block discarded – undo
321 339
      */
322 340
 	public function delete(User &$user)
323 341
     {
324
-		if ($this->id <= 0) return 0;
342
+		if ($this->id <= 0) {
343
+		    return 0;
344
+		}
325 345
 
326 346
         $error = 0;
327 347
         $this->db->begin();
328 348
 
329 349
         $result = $this->call_trigger(strtoupper($this->element). '_DELETE', $user);
330
-        if ($result < 0) $error++;
350
+        if ($result < 0) {
351
+            $error++;
352
+        }
331 353
 
332 354
         if (!$error)
333 355
         {
@@ -352,8 +374,7 @@  discard block
 block discarded – undo
352 374
         {
353 375
             $this->db->commit();
354 376
             return 1;
355
-        }
356
-        else
377
+        } else
357 378
         {
358 379
             $this->error = $this->db->lasterror();
359 380
             $this->errors[] = $this->error;
@@ -372,8 +393,9 @@  discard block
 block discarded – undo
372 393
      */
373 394
     public function getDate($field, $format='')
374 395
     {
375
-		if(empty($this->{$field})) return '';
376
-		else
396
+		if(empty($this->{$field})) {
397
+		    return '';
398
+		} else
377 399
         {
378 400
 			return dol_print_date($this->{$field}, $format);
379 401
 		}
@@ -391,8 +413,7 @@  discard block
 block discarded – undo
391 413
 	  	if (empty($date))
392 414
 	  	{
393 415
 	  		$this->{$field} = 0;
394
-	  	}
395
-		else
416
+	  	} else
396 417
         {
397 418
 			require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
398 419
 			$this->{$field} = dol_stringtotime($date);
@@ -415,19 +436,15 @@  discard block
 block discarded – undo
415 436
 			if($this->checkFieldType($key, 'date'))
416 437
 			{
417 438
 				$this->setDate($key, $value);
418
-			}
419
-			else if( $this->checkFieldType($key, 'array'))
439
+			} else if( $this->checkFieldType($key, 'array'))
420 440
 			{
421 441
 				$this->{$key} = $value;
422
-			}
423
-			else if( $this->checkFieldType($key, 'float') )
442
+			} else if( $this->checkFieldType($key, 'float') )
424 443
 			{
425 444
 				$this->{$key} = (double) price2num($value);
426
-			}
427
-			else if( $this->checkFieldType($key, 'int') ) {
445
+			} else if( $this->checkFieldType($key, 'int') ) {
428 446
 				$this->{$key} = (int) price2num($value);
429
-			}
430
-			else
447
+			} else
431 448
             {
432 449
 				$this->{$key} = $value;
433 450
 			}
Please login to merge, or discard this patch.
dolibarr/htdocs/core/class/cstate.class.php 3 patches
Indentation   +180 added lines, -180 removed lines patch added patch discarded remove patch
@@ -32,44 +32,44 @@  discard block
 block discarded – undo
32 32
  */
33 33
 class Cstate // extends CommonObject
34 34
 {
35
-	/**
35
+    /**
36 36
      * @var DoliDB Database handler.
37 37
      */
38 38
     public $db;
39 39
 
40
-	/**
41
-	 * @var string Error code (or message)
42
-	 */
43
-	public $error='';
40
+    /**
41
+     * @var string Error code (or message)
42
+     */
43
+    public $error='';
44 44
 
45
-	/**
46
-	 * @var string[] Error codes (or messages)
47
-	 */
48
-	public $errors = array();
45
+    /**
46
+     * @var string[] Error codes (or messages)
47
+     */
48
+    public $errors = array();
49 49
 
50
-	//var $element='cstate';			//!< Id that identify managed objects
51
-	//var $table_element='cstate';	    //!< Name of table without prefix where object is stored
50
+    //var $element='cstate';			//!< Id that identify managed objects
51
+    //var $table_element='cstate';	    //!< Name of table without prefix where object is stored
52 52
 
53 53
     /**
54
-	 * @var int ID
55
-	 */
56
-	public $id;
54
+     * @var int ID
55
+     */
56
+    public $id;
57 57
 
58
-	public $code_departement;
58
+    public $code_departement;
59 59
 
60
-	/**
61
-	 * @var string
62
-	 * @deprecated
63
-	 * @see name
64
-	 */
65
-	public $nom='';
60
+    /**
61
+     * @var string
62
+     * @deprecated
63
+     * @see name
64
+     */
65
+    public $nom='';
66 66
 
67
-	/**
68
-	 * @var string name
69
-	 */
70
-	public $name='';
67
+    /**
68
+     * @var string name
69
+     */
70
+    public $name='';
71 71
 
72
-	public $active;
72
+    public $active;
73 73
 
74 74
 
75 75
 
@@ -94,70 +94,70 @@  discard block
 block discarded – undo
94 94
      */
95 95
     function create($user, $notrigger=0)
96 96
     {
97
-    	global $conf, $langs;
98
-		$error=0;
97
+        global $conf, $langs;
98
+        $error=0;
99 99
 
100
-		// Clean parameters
101
-		if (isset($this->code_departement)) $this->code_departement=trim($this->code_departement);
102
-		if (isset($this->nom)) $this->nom=trim($this->nom);
103
-		if (isset($this->active)) $this->active=trim($this->active);
100
+        // Clean parameters
101
+        if (isset($this->code_departement)) $this->code_departement=trim($this->code_departement);
102
+        if (isset($this->nom)) $this->nom=trim($this->nom);
103
+        if (isset($this->active)) $this->active=trim($this->active);
104 104
 
105
-		// Check parameters
106
-		// Put here code to add control on parameters values
105
+        // Check parameters
106
+        // Put here code to add control on parameters values
107 107
 
108 108
         // Insert request
109
-		$sql = "INSERT INTO ".MAIN_DB_PREFIX."c_departements(";
110
-		$sql.= "rowid,";
111
-		$sql.= "code_departement,";
112
-		$sql.= "nom,";
113
-		$sql.= "active";
109
+        $sql = "INSERT INTO ".MAIN_DB_PREFIX."c_departements(";
110
+        $sql.= "rowid,";
111
+        $sql.= "code_departement,";
112
+        $sql.= "nom,";
113
+        $sql.= "active";
114 114
         $sql.= ") VALUES (";
115
-		$sql.= " ".(! isset($this->rowid)?'NULL':"'".$this->db->escape($this->rowid)."'").",";
116
-		$sql.= " ".(! isset($this->code_departement)?'NULL':"'".$this->db->escape($this->code_departement)."'").",";
117
-		$sql.= " ".(! isset($this->nom)?'NULL':"'".$this->db->escape($this->nom)."'").",";
118
-		$sql.= " ".(! isset($this->active)?'NULL':"'".$this->db->escape($this->active)."'")."";
119
-		$sql.= ")";
115
+        $sql.= " ".(! isset($this->rowid)?'NULL':"'".$this->db->escape($this->rowid)."'").",";
116
+        $sql.= " ".(! isset($this->code_departement)?'NULL':"'".$this->db->escape($this->code_departement)."'").",";
117
+        $sql.= " ".(! isset($this->nom)?'NULL':"'".$this->db->escape($this->nom)."'").",";
118
+        $sql.= " ".(! isset($this->active)?'NULL':"'".$this->db->escape($this->active)."'")."";
119
+        $sql.= ")";
120 120
 
121
-		$this->db->begin();
121
+        $this->db->begin();
122 122
 
123
-	   	dol_syslog(get_class($this)."::create", LOG_DEBUG);
123
+            dol_syslog(get_class($this)."::create", LOG_DEBUG);
124 124
         $resql=$this->db->query($sql);
125
-    	if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); }
125
+        if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); }
126 126
 
127
-		if (! $error)
127
+        if (! $error)
128 128
         {
129 129
             $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."c_departements");
130 130
 
131
-			if (! $notrigger)
132
-			{
133
-	            // Uncomment this and change MYOBJECT to your own tag if you
134
-	            // want this action call a trigger.
135
-
136
-	            //// Call triggers
137
-	            //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
138
-	            //$interface=new Interfaces($this->db);
139
-	            //$result=$interface->run_triggers('MYOBJECT_CREATE',$this,$user,$langs,$conf);
140
-	            //if ($result < 0) { $error++; $this->errors=$interface->errors; }
141
-	            //// End call triggers
142
-			}
131
+            if (! $notrigger)
132
+            {
133
+                // Uncomment this and change MYOBJECT to your own tag if you
134
+                // want this action call a trigger.
135
+
136
+                //// Call triggers
137
+                //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
138
+                //$interface=new Interfaces($this->db);
139
+                //$result=$interface->run_triggers('MYOBJECT_CREATE',$this,$user,$langs,$conf);
140
+                //if ($result < 0) { $error++; $this->errors=$interface->errors; }
141
+                //// End call triggers
142
+            }
143 143
         }
144 144
 
145 145
         // Commit or rollback
146 146
         if ($error)
147
-		{
148
-			foreach($this->errors as $errmsg)
149
-			{
150
-	            dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR);
151
-	            $this->error.=($this->error?', '.$errmsg:$errmsg);
152
-			}
153
-			$this->db->rollback();
154
-			return -1*$error;
155
-		}
156
-		else
157
-		{
158
-			$this->db->commit();
147
+        {
148
+            foreach($this->errors as $errmsg)
149
+            {
150
+                dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR);
151
+                $this->error.=($this->error?', '.$errmsg:$errmsg);
152
+            }
153
+            $this->db->rollback();
154
+            return -1*$error;
155
+        }
156
+        else
157
+        {
158
+            $this->db->commit();
159 159
             return $this->id;
160
-		}
160
+        }
161 161
     }
162 162
 
163 163
 
@@ -170,17 +170,17 @@  discard block
 block discarded – undo
170 170
      */
171 171
     function fetch($id,$code='')
172 172
     {
173
-    	global $langs;
173
+        global $langs;
174 174
         $sql = "SELECT";
175
-		$sql.= " t.rowid,";
176
-		$sql.= " t.code_departement,";
177
-		$sql.= " t.nom,";
178
-		$sql.= " t.active";
175
+        $sql.= " t.rowid,";
176
+        $sql.= " t.code_departement,";
177
+        $sql.= " t.nom,";
178
+        $sql.= " t.active";
179 179
         $sql.= " FROM ".MAIN_DB_PREFIX."c_departements as t";
180 180
         if ($id)   $sql.= " WHERE t.rowid = ".$id;
181 181
         elseif ($code) $sql.= " WHERE t.code_departement = '".$this->db->escape($code)."'";
182 182
 
183
-    	dol_syslog(get_class($this)."::fetch", LOG_DEBUG);
183
+        dol_syslog(get_class($this)."::fetch", LOG_DEBUG);
184 184
         $resql=$this->db->query($sql);
185 185
         if ($resql)
186 186
         {
@@ -189,9 +189,9 @@  discard block
 block discarded – undo
189 189
                 $obj = $this->db->fetch_object($resql);
190 190
 
191 191
                 $this->id    = $obj->rowid;
192
-				$this->code_departement = $obj->code_departement;
193
-				$this->nom = $obj->nom;
194
-				$this->active = $obj->active;
192
+                $this->code_departement = $obj->code_departement;
193
+                $this->nom = $obj->nom;
194
+                $this->active = $obj->active;
195 195
             }
196 196
             $this->db->free($resql);
197 197
 
@@ -199,7 +199,7 @@  discard block
 block discarded – undo
199 199
         }
200 200
         else
201 201
         {
202
-      	    $this->error="Error ".$this->db->lasterror();
202
+                $this->error="Error ".$this->db->lasterror();
203 203
             return -1;
204 204
         }
205 205
     }
@@ -214,118 +214,118 @@  discard block
 block discarded – undo
214 214
      */
215 215
     function update($user=null, $notrigger=0)
216 216
     {
217
-    	global $conf, $langs;
218
-		$error=0;
217
+        global $conf, $langs;
218
+        $error=0;
219 219
 
220
-		// Clean parameters
221
-		if (isset($this->code_departement)) $this->code_departement=trim($this->code_departement);
222
-		if (isset($this->nom)) $this->nom=trim($this->nom);
223
-		if (isset($this->active)) $this->active=trim($this->active);
220
+        // Clean parameters
221
+        if (isset($this->code_departement)) $this->code_departement=trim($this->code_departement);
222
+        if (isset($this->nom)) $this->nom=trim($this->nom);
223
+        if (isset($this->active)) $this->active=trim($this->active);
224 224
 
225 225
 
226
-		// Check parameters
227
-		// Put here code to add control on parameters values
226
+        // Check parameters
227
+        // Put here code to add control on parameters values
228 228
 
229 229
         // Update request
230 230
         $sql = "UPDATE ".MAIN_DB_PREFIX."c_departements SET";
231
-		$sql.= " code_departement=".(isset($this->code_departement)?"'".$this->db->escape($this->code_departement)."'":"null").",";
232
-		$sql.= " nom=".(isset($this->nom)?"'".$this->db->escape($this->nom)."'":"null").",";
233
-		$sql.= " active=".(isset($this->active)?$this->active:"null")."";
231
+        $sql.= " code_departement=".(isset($this->code_departement)?"'".$this->db->escape($this->code_departement)."'":"null").",";
232
+        $sql.= " nom=".(isset($this->nom)?"'".$this->db->escape($this->nom)."'":"null").",";
233
+        $sql.= " active=".(isset($this->active)?$this->active:"null")."";
234 234
         $sql.= " WHERE rowid=".$this->id;
235 235
 
236
-		$this->db->begin();
236
+        $this->db->begin();
237 237
 
238
-		dol_syslog(get_class($this)."::update", LOG_DEBUG);
238
+        dol_syslog(get_class($this)."::update", LOG_DEBUG);
239 239
         $resql = $this->db->query($sql);
240
-    	if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); }
241
-
242
-		if (! $error)
243
-		{
244
-			if (! $notrigger)
245
-			{
246
-	            // Uncomment this and change MYOBJECT to your own tag if you
247
-	            // want this action call a trigger.
248
-
249
-	            //// Call triggers
250
-	            //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
251
-	            //$interface=new Interfaces($this->db);
252
-	            //$result=$interface->run_triggers('MYOBJECT_MODIFY',$this,$user,$langs,$conf);
253
-	            //if ($result < 0) { $error++; $this->errors=$interface->errors; }
254
-	            //// End call triggers
255
-	    	}
256
-		}
240
+        if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); }
241
+
242
+        if (! $error)
243
+        {
244
+            if (! $notrigger)
245
+            {
246
+                // Uncomment this and change MYOBJECT to your own tag if you
247
+                // want this action call a trigger.
248
+
249
+                //// Call triggers
250
+                //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
251
+                //$interface=new Interfaces($this->db);
252
+                //$result=$interface->run_triggers('MYOBJECT_MODIFY',$this,$user,$langs,$conf);
253
+                //if ($result < 0) { $error++; $this->errors=$interface->errors; }
254
+                //// End call triggers
255
+            }
256
+        }
257 257
 
258 258
         // Commit or rollback
259
-		if ($error)
260
-		{
261
-			foreach($this->errors as $errmsg)
262
-			{
263
-	            dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR);
264
-	            $this->error.=($this->error?', '.$errmsg:$errmsg);
265
-			}
266
-			$this->db->rollback();
267
-			return -1*$error;
268
-		}
269
-		else
270
-		{
271
-			$this->db->commit();
272
-			return 1;
273
-		}
259
+        if ($error)
260
+        {
261
+            foreach($this->errors as $errmsg)
262
+            {
263
+                dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR);
264
+                $this->error.=($this->error?', '.$errmsg:$errmsg);
265
+            }
266
+            $this->db->rollback();
267
+            return -1*$error;
268
+        }
269
+        else
270
+        {
271
+            $this->db->commit();
272
+            return 1;
273
+        }
274 274
     }
275 275
 
276 276
 
277
- 	/**
278
- 	 *  Delete object in database
279
-	 *
280
-     *	@param  User	$user        User that delete
281
-     *  @param	int		$notrigger	 0=launch triggers after, 1=disable triggers
282
-	 *  @return	int					 <0 if KO, >0 if OK
283
-	 */
284
-	function delete($user, $notrigger=0)
285
-	{
286
-		global $conf, $langs;
287
-		$error=0;
288
-
289
-		$sql = "DELETE FROM ".MAIN_DB_PREFIX."c_departements";
290
-		$sql.= " WHERE rowid=".$this->id;
291
-
292
-		$this->db->begin();
293
-
294
-		dol_syslog(get_class($this)."::delete", LOG_DEBUG);
295
-		$resql = $this->db->query($sql);
296
-    	if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); }
297
-
298
-		if (! $error)
299
-		{
300
-			if (! $notrigger)
301
-			{
302
-				// Uncomment this and change MYOBJECT to your own tag if you
303
-		        // want this action call a trigger.
304
-
305
-		        //// Call triggers
306
-		        //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
307
-		        //$interface=new Interfaces($this->db);
308
-		        //$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf);
309
-		        //if ($result < 0) { $error++; $this->errors=$interface->errors; }
310
-		        //// End call triggers
311
-			}
312
-		}
277
+        /**
278
+         *  Delete object in database
279
+         *
280
+         *	@param  User	$user        User that delete
281
+         *  @param	int		$notrigger	 0=launch triggers after, 1=disable triggers
282
+         *  @return	int					 <0 if KO, >0 if OK
283
+         */
284
+    function delete($user, $notrigger=0)
285
+    {
286
+        global $conf, $langs;
287
+        $error=0;
288
+
289
+        $sql = "DELETE FROM ".MAIN_DB_PREFIX."c_departements";
290
+        $sql.= " WHERE rowid=".$this->id;
291
+
292
+        $this->db->begin();
293
+
294
+        dol_syslog(get_class($this)."::delete", LOG_DEBUG);
295
+        $resql = $this->db->query($sql);
296
+        if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); }
297
+
298
+        if (! $error)
299
+        {
300
+            if (! $notrigger)
301
+            {
302
+                // Uncomment this and change MYOBJECT to your own tag if you
303
+                // want this action call a trigger.
304
+
305
+                //// Call triggers
306
+                //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
307
+                //$interface=new Interfaces($this->db);
308
+                //$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf);
309
+                //if ($result < 0) { $error++; $this->errors=$interface->errors; }
310
+                //// End call triggers
311
+            }
312
+        }
313 313
 
314 314
         // Commit or rollback
315
-		if ($error)
316
-		{
317
-			foreach($this->errors as $errmsg)
318
-			{
319
-	            dol_syslog(get_class($this)."::delete ".$errmsg, LOG_ERR);
320
-	            $this->error.=($this->error?', '.$errmsg:$errmsg);
321
-			}
322
-			$this->db->rollback();
323
-			return -1*$error;
324
-		}
325
-		else
326
-		{
327
-			$this->db->commit();
328
-			return 1;
329
-		}
330
-	}
315
+        if ($error)
316
+        {
317
+            foreach($this->errors as $errmsg)
318
+            {
319
+                dol_syslog(get_class($this)."::delete ".$errmsg, LOG_ERR);
320
+                $this->error.=($this->error?', '.$errmsg:$errmsg);
321
+            }
322
+            $this->db->rollback();
323
+            return -1*$error;
324
+        }
325
+        else
326
+        {
327
+            $this->db->commit();
328
+            return 1;
329
+        }
330
+    }
331 331
 }
Please login to merge, or discard this patch.
Spacing   +60 added lines, -60 removed lines patch added patch discarded remove patch
@@ -40,7 +40,7 @@  discard block
 block discarded – undo
40 40
 	/**
41 41
 	 * @var string Error code (or message)
42 42
 	 */
43
-	public $error='';
43
+	public $error = '';
44 44
 
45 45
 	/**
46 46
 	 * @var string[] Error codes (or messages)
@@ -62,12 +62,12 @@  discard block
 block discarded – undo
62 62
 	 * @deprecated
63 63
 	 * @see name
64 64
 	 */
65
-	public $nom='';
65
+	public $nom = '';
66 66
 
67 67
 	/**
68 68
 	 * @var string name
69 69
 	 */
70
-	public $name='';
70
+	public $name = '';
71 71
 
72 72
 	public $active;
73 73
 
@@ -92,43 +92,43 @@  discard block
 block discarded – undo
92 92
      *  @param      int		$notrigger   0=launch triggers after, 1=disable triggers
93 93
      *  @return     int      		   	 <0 if KO, Id of created object if OK
94 94
      */
95
-    function create($user, $notrigger=0)
95
+    function create($user, $notrigger = 0)
96 96
     {
97 97
     	global $conf, $langs;
98
-		$error=0;
98
+		$error = 0;
99 99
 
100 100
 		// Clean parameters
101
-		if (isset($this->code_departement)) $this->code_departement=trim($this->code_departement);
102
-		if (isset($this->nom)) $this->nom=trim($this->nom);
103
-		if (isset($this->active)) $this->active=trim($this->active);
101
+		if (isset($this->code_departement)) $this->code_departement = trim($this->code_departement);
102
+		if (isset($this->nom)) $this->nom = trim($this->nom);
103
+		if (isset($this->active)) $this->active = trim($this->active);
104 104
 
105 105
 		// Check parameters
106 106
 		// Put here code to add control on parameters values
107 107
 
108 108
         // Insert request
109 109
 		$sql = "INSERT INTO ".MAIN_DB_PREFIX."c_departements(";
110
-		$sql.= "rowid,";
111
-		$sql.= "code_departement,";
112
-		$sql.= "nom,";
113
-		$sql.= "active";
114
-        $sql.= ") VALUES (";
115
-		$sql.= " ".(! isset($this->rowid)?'NULL':"'".$this->db->escape($this->rowid)."'").",";
116
-		$sql.= " ".(! isset($this->code_departement)?'NULL':"'".$this->db->escape($this->code_departement)."'").",";
117
-		$sql.= " ".(! isset($this->nom)?'NULL':"'".$this->db->escape($this->nom)."'").",";
118
-		$sql.= " ".(! isset($this->active)?'NULL':"'".$this->db->escape($this->active)."'")."";
119
-		$sql.= ")";
110
+		$sql .= "rowid,";
111
+		$sql .= "code_departement,";
112
+		$sql .= "nom,";
113
+		$sql .= "active";
114
+        $sql .= ") VALUES (";
115
+		$sql .= " ".(!isset($this->rowid) ? 'NULL' : "'".$this->db->escape($this->rowid)."'").",";
116
+		$sql .= " ".(!isset($this->code_departement) ? 'NULL' : "'".$this->db->escape($this->code_departement)."'").",";
117
+		$sql .= " ".(!isset($this->nom) ? 'NULL' : "'".$this->db->escape($this->nom)."'").",";
118
+		$sql .= " ".(!isset($this->active) ? 'NULL' : "'".$this->db->escape($this->active)."'")."";
119
+		$sql .= ")";
120 120
 
121 121
 		$this->db->begin();
122 122
 
123 123
 	   	dol_syslog(get_class($this)."::create", LOG_DEBUG);
124
-        $resql=$this->db->query($sql);
125
-    	if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); }
124
+        $resql = $this->db->query($sql);
125
+    	if (!$resql) { $error++; $this->errors[] = "Error ".$this->db->lasterror(); }
126 126
 
127
-		if (! $error)
127
+		if (!$error)
128 128
         {
129 129
             $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."c_departements");
130 130
 
131
-			if (! $notrigger)
131
+			if (!$notrigger)
132 132
 			{
133 133
 	            // Uncomment this and change MYOBJECT to your own tag if you
134 134
 	            // want this action call a trigger.
@@ -145,13 +145,13 @@  discard block
 block discarded – undo
145 145
         // Commit or rollback
146 146
         if ($error)
147 147
 		{
148
-			foreach($this->errors as $errmsg)
148
+			foreach ($this->errors as $errmsg)
149 149
 			{
150 150
 	            dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR);
151
-	            $this->error.=($this->error?', '.$errmsg:$errmsg);
151
+	            $this->error .= ($this->error ? ', '.$errmsg : $errmsg);
152 152
 			}
153 153
 			$this->db->rollback();
154
-			return -1*$error;
154
+			return -1 * $error;
155 155
 		}
156 156
 		else
157 157
 		{
@@ -168,27 +168,27 @@  discard block
 block discarded – undo
168 168
      *  @param		string	$code	Code
169 169
      *  @return     int          	<0 if KO, >0 if OK
170 170
      */
171
-    function fetch($id,$code='')
171
+    function fetch($id, $code = '')
172 172
     {
173 173
     	global $langs;
174 174
         $sql = "SELECT";
175
-		$sql.= " t.rowid,";
176
-		$sql.= " t.code_departement,";
177
-		$sql.= " t.nom,";
178
-		$sql.= " t.active";
179
-        $sql.= " FROM ".MAIN_DB_PREFIX."c_departements as t";
180
-        if ($id)   $sql.= " WHERE t.rowid = ".$id;
181
-        elseif ($code) $sql.= " WHERE t.code_departement = '".$this->db->escape($code)."'";
175
+		$sql .= " t.rowid,";
176
+		$sql .= " t.code_departement,";
177
+		$sql .= " t.nom,";
178
+		$sql .= " t.active";
179
+        $sql .= " FROM ".MAIN_DB_PREFIX."c_departements as t";
180
+        if ($id)   $sql .= " WHERE t.rowid = ".$id;
181
+        elseif ($code) $sql .= " WHERE t.code_departement = '".$this->db->escape($code)."'";
182 182
 
183 183
     	dol_syslog(get_class($this)."::fetch", LOG_DEBUG);
184
-        $resql=$this->db->query($sql);
184
+        $resql = $this->db->query($sql);
185 185
         if ($resql)
186 186
         {
187 187
             if ($this->db->num_rows($resql))
188 188
             {
189 189
                 $obj = $this->db->fetch_object($resql);
190 190
 
191
-                $this->id    = $obj->rowid;
191
+                $this->id = $obj->rowid;
192 192
 				$this->code_departement = $obj->code_departement;
193 193
 				$this->nom = $obj->nom;
194 194
 				$this->active = $obj->active;
@@ -199,7 +199,7 @@  discard block
 block discarded – undo
199 199
         }
200 200
         else
201 201
         {
202
-      	    $this->error="Error ".$this->db->lasterror();
202
+      	    $this->error = "Error ".$this->db->lasterror();
203 203
             return -1;
204 204
         }
205 205
     }
@@ -212,15 +212,15 @@  discard block
 block discarded – undo
212 212
      *  @param      int		$notrigger	 0=launch triggers after, 1=disable triggers
213 213
      *  @return     int     		   	 <0 if KO, >0 if OK
214 214
      */
215
-    function update($user=null, $notrigger=0)
215
+    function update($user = null, $notrigger = 0)
216 216
     {
217 217
     	global $conf, $langs;
218
-		$error=0;
218
+		$error = 0;
219 219
 
220 220
 		// Clean parameters
221
-		if (isset($this->code_departement)) $this->code_departement=trim($this->code_departement);
222
-		if (isset($this->nom)) $this->nom=trim($this->nom);
223
-		if (isset($this->active)) $this->active=trim($this->active);
221
+		if (isset($this->code_departement)) $this->code_departement = trim($this->code_departement);
222
+		if (isset($this->nom)) $this->nom = trim($this->nom);
223
+		if (isset($this->active)) $this->active = trim($this->active);
224 224
 
225 225
 
226 226
 		// Check parameters
@@ -228,20 +228,20 @@  discard block
 block discarded – undo
228 228
 
229 229
         // Update request
230 230
         $sql = "UPDATE ".MAIN_DB_PREFIX."c_departements SET";
231
-		$sql.= " code_departement=".(isset($this->code_departement)?"'".$this->db->escape($this->code_departement)."'":"null").",";
232
-		$sql.= " nom=".(isset($this->nom)?"'".$this->db->escape($this->nom)."'":"null").",";
233
-		$sql.= " active=".(isset($this->active)?$this->active:"null")."";
234
-        $sql.= " WHERE rowid=".$this->id;
231
+		$sql .= " code_departement=".(isset($this->code_departement) ? "'".$this->db->escape($this->code_departement)."'" : "null").",";
232
+		$sql .= " nom=".(isset($this->nom) ? "'".$this->db->escape($this->nom)."'" : "null").",";
233
+		$sql .= " active=".(isset($this->active) ? $this->active : "null")."";
234
+        $sql .= " WHERE rowid=".$this->id;
235 235
 
236 236
 		$this->db->begin();
237 237
 
238 238
 		dol_syslog(get_class($this)."::update", LOG_DEBUG);
239 239
         $resql = $this->db->query($sql);
240
-    	if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); }
240
+    	if (!$resql) { $error++; $this->errors[] = "Error ".$this->db->lasterror(); }
241 241
 
242
-		if (! $error)
242
+		if (!$error)
243 243
 		{
244
-			if (! $notrigger)
244
+			if (!$notrigger)
245 245
 			{
246 246
 	            // Uncomment this and change MYOBJECT to your own tag if you
247 247
 	            // want this action call a trigger.
@@ -258,13 +258,13 @@  discard block
 block discarded – undo
258 258
         // Commit or rollback
259 259
 		if ($error)
260 260
 		{
261
-			foreach($this->errors as $errmsg)
261
+			foreach ($this->errors as $errmsg)
262 262
 			{
263 263
 	            dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR);
264
-	            $this->error.=($this->error?', '.$errmsg:$errmsg);
264
+	            $this->error .= ($this->error ? ', '.$errmsg : $errmsg);
265 265
 			}
266 266
 			$this->db->rollback();
267
-			return -1*$error;
267
+			return -1 * $error;
268 268
 		}
269 269
 		else
270 270
 		{
@@ -281,23 +281,23 @@  discard block
 block discarded – undo
281 281
      *  @param	int		$notrigger	 0=launch triggers after, 1=disable triggers
282 282
 	 *  @return	int					 <0 if KO, >0 if OK
283 283
 	 */
284
-	function delete($user, $notrigger=0)
284
+	function delete($user, $notrigger = 0)
285 285
 	{
286 286
 		global $conf, $langs;
287
-		$error=0;
287
+		$error = 0;
288 288
 
289 289
 		$sql = "DELETE FROM ".MAIN_DB_PREFIX."c_departements";
290
-		$sql.= " WHERE rowid=".$this->id;
290
+		$sql .= " WHERE rowid=".$this->id;
291 291
 
292 292
 		$this->db->begin();
293 293
 
294 294
 		dol_syslog(get_class($this)."::delete", LOG_DEBUG);
295 295
 		$resql = $this->db->query($sql);
296
-    	if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); }
296
+    	if (!$resql) { $error++; $this->errors[] = "Error ".$this->db->lasterror(); }
297 297
 
298
-		if (! $error)
298
+		if (!$error)
299 299
 		{
300
-			if (! $notrigger)
300
+			if (!$notrigger)
301 301
 			{
302 302
 				// Uncomment this and change MYOBJECT to your own tag if you
303 303
 		        // want this action call a trigger.
@@ -314,13 +314,13 @@  discard block
 block discarded – undo
314 314
         // Commit or rollback
315 315
 		if ($error)
316 316
 		{
317
-			foreach($this->errors as $errmsg)
317
+			foreach ($this->errors as $errmsg)
318 318
 			{
319 319
 	            dol_syslog(get_class($this)."::delete ".$errmsg, LOG_ERR);
320
-	            $this->error.=($this->error?', '.$errmsg:$errmsg);
320
+	            $this->error .= ($this->error ? ', '.$errmsg : $errmsg);
321 321
 			}
322 322
 			$this->db->rollback();
323
-			return -1*$error;
323
+			return -1 * $error;
324 324
 		}
325 325
 		else
326 326
 		{
Please login to merge, or discard this patch.
Braces   +27 added lines, -16 removed lines patch added patch discarded remove patch
@@ -98,9 +98,15 @@  discard block
 block discarded – undo
98 98
 		$error=0;
99 99
 
100 100
 		// Clean parameters
101
-		if (isset($this->code_departement)) $this->code_departement=trim($this->code_departement);
102
-		if (isset($this->nom)) $this->nom=trim($this->nom);
103
-		if (isset($this->active)) $this->active=trim($this->active);
101
+		if (isset($this->code_departement)) {
102
+		    $this->code_departement=trim($this->code_departement);
103
+		}
104
+		if (isset($this->nom)) {
105
+		    $this->nom=trim($this->nom);
106
+		}
107
+		if (isset($this->active)) {
108
+		    $this->active=trim($this->active);
109
+		}
104 110
 
105 111
 		// Check parameters
106 112
 		// Put here code to add control on parameters values
@@ -152,8 +158,7 @@  discard block
 block discarded – undo
152 158
 			}
153 159
 			$this->db->rollback();
154 160
 			return -1*$error;
155
-		}
156
-		else
161
+		} else
157 162
 		{
158 163
 			$this->db->commit();
159 164
             return $this->id;
@@ -177,8 +182,11 @@  discard block
 block discarded – undo
177 182
 		$sql.= " t.nom,";
178 183
 		$sql.= " t.active";
179 184
         $sql.= " FROM ".MAIN_DB_PREFIX."c_departements as t";
180
-        if ($id)   $sql.= " WHERE t.rowid = ".$id;
181
-        elseif ($code) $sql.= " WHERE t.code_departement = '".$this->db->escape($code)."'";
185
+        if ($id) {
186
+            $sql.= " WHERE t.rowid = ".$id;
187
+        } elseif ($code) {
188
+            $sql.= " WHERE t.code_departement = '".$this->db->escape($code)."'";
189
+        }
182 190
 
183 191
     	dol_syslog(get_class($this)."::fetch", LOG_DEBUG);
184 192
         $resql=$this->db->query($sql);
@@ -196,8 +204,7 @@  discard block
 block discarded – undo
196 204
             $this->db->free($resql);
197 205
 
198 206
             return 1;
199
-        }
200
-        else
207
+        } else
201 208
         {
202 209
       	    $this->error="Error ".$this->db->lasterror();
203 210
             return -1;
@@ -218,9 +225,15 @@  discard block
 block discarded – undo
218 225
 		$error=0;
219 226
 
220 227
 		// Clean parameters
221
-		if (isset($this->code_departement)) $this->code_departement=trim($this->code_departement);
222
-		if (isset($this->nom)) $this->nom=trim($this->nom);
223
-		if (isset($this->active)) $this->active=trim($this->active);
228
+		if (isset($this->code_departement)) {
229
+		    $this->code_departement=trim($this->code_departement);
230
+		}
231
+		if (isset($this->nom)) {
232
+		    $this->nom=trim($this->nom);
233
+		}
234
+		if (isset($this->active)) {
235
+		    $this->active=trim($this->active);
236
+		}
224 237
 
225 238
 
226 239
 		// Check parameters
@@ -265,8 +278,7 @@  discard block
 block discarded – undo
265 278
 			}
266 279
 			$this->db->rollback();
267 280
 			return -1*$error;
268
-		}
269
-		else
281
+		} else
270 282
 		{
271 283
 			$this->db->commit();
272 284
 			return 1;
@@ -321,8 +333,7 @@  discard block
 block discarded – undo
321 333
 			}
322 334
 			$this->db->rollback();
323 335
 			return -1*$error;
324
-		}
325
-		else
336
+		} else
326 337
 		{
327 338
 			$this->db->commit();
328 339
 			return 1;
Please login to merge, or discard this patch.
dolibarr/htdocs/core/class/html.formticket.class.php 3 patches
Indentation   +7 added lines, -8 removed lines patch added patch discarded remove patch
@@ -32,7 +32,6 @@  discard block
 block discarded – undo
32 32
  * Classe permettant la generation du formulaire d'un nouveau ticket.
33 33
  *
34 34
  * @package Ticket
35
-
36 35
  * \remarks Utilisation: $formticket = new FormTicket($db)
37 36
  * \remarks $formticket->proprietes=1 ou chaine ou tableau de valeurs
38 37
  * \remarks $formticket->show_form() affiche le formulaire
@@ -88,9 +87,9 @@  discard block
 block discarded – undo
88 87
     public $param = array();
89 88
 
90 89
     /**
91
-	 * @var string Error code (or message)
92
-	 */
93
-	public $error;
90
+     * @var string Error code (or message)
91
+     */
92
+    public $error;
94 93
 
95 94
 
96 95
     /**
@@ -153,7 +152,7 @@  discard block
 block discarded – undo
153 152
         print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
154 153
         print '<input type="hidden" name="action" value="' . $this->action . '">';
155 154
         foreach ($this->param as $key => $value) {
156
-        	print '<input type="hidden" name="' . $key . '" value="' . $value . '">';
155
+            print '<input type="hidden" name="' . $key . '" value="' . $value . '">';
157 156
         }
158 157
         print '<input type="hidden" name="fk_user_create" value="' . $this->fk_user_create . '">';
159 158
 
@@ -306,9 +305,9 @@  discard block
 block discarded – undo
306 305
         // Notify thirdparty at creation
307 306
         if (empty($this->ispublic))
308 307
         {
309
-	        print '<tr><td><label for="notify_tiers_at_create">' . $langs->trans("TicketNotifyTiersAtCreation") . '</label></td><td>';
310
-        	print '<input type="checkbox" id="notify_tiers_at_create" name="notify_tiers_at_create"'.($this->withnotifytiersatcreate?' checked="checked"':'').'>';
311
-        	print '</td></tr>';
308
+            print '<tr><td><label for="notify_tiers_at_create">' . $langs->trans("TicketNotifyTiersAtCreation") . '</label></td><td>';
309
+            print '<input type="checkbox" id="notify_tiers_at_create" name="notify_tiers_at_create"'.($this->withnotifytiersatcreate?' checked="checked"':'').'>';
310
+            print '</td></tr>';
312 311
         }
313 312
 
314 313
         // TITLE
Please login to merge, or discard this patch.
Spacing   +120 added lines, -120 removed lines patch added patch discarded remove patch
@@ -21,11 +21,11 @@  discard block
 block discarded – undo
21 21
  *       \ingroup    ticket
22 22
  *       \brief      Fichier de la classe permettant la generation du formulaire html d'envoi de mail unitaire
23 23
  */
24
-require_once DOL_DOCUMENT_ROOT . "/core/class/html.form.class.php";
25
-require_once DOL_DOCUMENT_ROOT . "/core/class/html.formmail.class.php";
24
+require_once DOL_DOCUMENT_ROOT."/core/class/html.form.class.php";
25
+require_once DOL_DOCUMENT_ROOT."/core/class/html.formmail.class.php";
26 26
 
27 27
 if (!class_exists('FormCompany')) {
28
-    include DOL_DOCUMENT_ROOT . '/core/class/html.formcompany.class.php';
28
+    include DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
29 29
 }
30 30
 
31 31
 /**
@@ -114,7 +114,7 @@  discard block
 block discarded – undo
114 114
         $this->withcreatereadonly = 1;
115 115
         $this->withemail = 0;
116 116
         $this->withref = 0;
117
-        $this->withextrafields = 0;         // Show extrafields or not
117
+        $this->withextrafields = 0; // Show extrafields or not
118 118
         //$this->withtopicreadonly=0;
119 119
     }
120 120
 
@@ -124,7 +124,7 @@  discard block
 block discarded – undo
124 124
      * @param  int	 $withdolfichehead			With dol_fiche_head
125 125
      * @return void
126 126
      */
127
-    public function showForm($withdolfichehead=0)
127
+    public function showForm($withdolfichehead = 0)
128 128
     {
129 129
         global $conf, $langs, $user, $hookmanager;
130 130
 
@@ -149,25 +149,25 @@  discard block
 block discarded – undo
149 149
 
150 150
         if ($withdolfichehead) dol_fiche_head(null, 'card', '', 0, '');
151 151
 
152
-        print '<form method="POST" '.($withdolfichehead?'':'style="margin-bottom: 30px;" ').'name="ticket" id="form_create_ticket" enctype="multipart/form-data" action="' . $this->param["returnurl"] . '">';
153
-        print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
154
-        print '<input type="hidden" name="action" value="' . $this->action . '">';
152
+        print '<form method="POST" '.($withdolfichehead ? '' : 'style="margin-bottom: 30px;" ').'name="ticket" id="form_create_ticket" enctype="multipart/form-data" action="'.$this->param["returnurl"].'">';
153
+        print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
154
+        print '<input type="hidden" name="action" value="'.$this->action.'">';
155 155
         foreach ($this->param as $key => $value) {
156
-        	print '<input type="hidden" name="' . $key . '" value="' . $value . '">';
156
+        	print '<input type="hidden" name="'.$key.'" value="'.$value.'">';
157 157
         }
158
-        print '<input type="hidden" name="fk_user_create" value="' . $this->fk_user_create . '">';
158
+        print '<input type="hidden" name="fk_user_create" value="'.$this->fk_user_create.'">';
159 159
 
160 160
         print '<table class="border">';
161 161
 
162 162
         if ($this->withref) {
163 163
             // Ref
164 164
             $defaultref = $ticketstat->getDefaultRef();
165
-            print '<tr><td class="titlefield"><span class="fieldrequired">' . $langs->trans("Ref") . '</span></td><td><input size="18" type="text" name="ref" value="' . (GETPOST("ref", 'alpha') ? GETPOST("ref", 'alpha') : $defaultref) . '"></td></tr>';
165
+            print '<tr><td class="titlefield"><span class="fieldrequired">'.$langs->trans("Ref").'</span></td><td><input size="18" type="text" name="ref" value="'.(GETPOST("ref", 'alpha') ? GETPOST("ref", 'alpha') : $defaultref).'"></td></tr>';
166 166
         }
167 167
 
168 168
         // FK_USER_CREATE
169 169
         if ($this->withusercreate > 0 && $this->fk_user_create) {
170
-            print '<tr><td class="titlefield">' . $langs->trans("CreatedBy") . '</td><td>';
170
+            print '<tr><td class="titlefield">'.$langs->trans("CreatedBy").'</td><td>';
171 171
             $langs->load("users");
172 172
             $fuser = new User($this->db);
173 173
 
@@ -185,12 +185,12 @@  discard block
 block discarded – undo
185 185
             // altairis: force company and contact id for external user
186 186
             if (empty($user->socid)) {
187 187
                 // Company
188
-                print '<tr><td class="titlefield">' . $langs->trans("ThirdParty") . '</td><td>';
188
+                print '<tr><td class="titlefield">'.$langs->trans("ThirdParty").'</td><td>';
189 189
                 $events = array();
190 190
                 $events[] = array('method' => 'getContacts', 'url' => dol_buildpath('/core/ajax/contacts.php', 1), 'htmlname' => 'contactid', 'params' => array('add-customer-contact' => 'disabled'));
191 191
                 print $form->select_company($this->withfromsocid, 'socid', '', 1, 1, '', $events, 0, 'minwidth200');
192 192
                 print '</td></tr>';
193
-                if (! empty($conf->use_javascript_ajax) && ! empty($conf->global->COMPANY_USE_SEARCH_TO_SELECT)) {
193
+                if (!empty($conf->use_javascript_ajax) && !empty($conf->global->COMPANY_USE_SEARCH_TO_SELECT)) {
194 194
                     $htmlname = 'socid';
195 195
                     print '<script type="text/javascript">
196 196
                     $(document).ready(function () {
@@ -245,23 +245,23 @@  discard block
 block discarded – undo
245 245
                 }
246 246
 
247 247
                 // Contact and type
248
-                print '<tr><td>' . $langs->trans("Contact") . '</td><td>';
248
+                print '<tr><td>'.$langs->trans("Contact").'</td><td>';
249 249
                 // If no socid, set to -1 to avoid full contacts list
250 250
                 $selectedCompany = ($this->withfromsocid > 0) ? $this->withfromsocid : -1;
251 251
                 $nbofcontacts = $form->select_contacts($selectedCompany, $this->withfromcontactid, 'contactid', 3, '', '', 0, 'minwidth200');
252 252
                 $formcompany->selectTypeContact($ticketstatic, '', 'type', 'external', '', 0, 'maginleftonly');
253 253
                 print '</td></tr>';
254 254
             } else {
255
-                print '<tr><td class="titlefield"><input type="hidden" name="socid" value="' . $user->socid . '"/></td>';
256
-                print '<td><input type="hidden" name="contactid" value="' . $user->contactid . '"/></td>';
255
+                print '<tr><td class="titlefield"><input type="hidden" name="socid" value="'.$user->socid.'"/></td>';
256
+                print '<td><input type="hidden" name="contactid" value="'.$user->contactid.'"/></td>';
257 257
                 print '<td><input type="hidden" name="type" value="Z"/></td></tr>';
258 258
             }
259 259
         }
260 260
 
261 261
         // TITLE
262 262
         if ($this->withemail) {
263
-            print '<tr><td class="titlefield"><label for="email"><span class="fieldrequired">' . $langs->trans("Email") . '</span></label></td><td>';
264
-            print '<input  class="text minwidth200" id="email" name="email" value="' . (GETPOST('email', 'alpha') ? GETPOST('email', 'alpha') : $subject) . '" />';
263
+            print '<tr><td class="titlefield"><label for="email"><span class="fieldrequired">'.$langs->trans("Email").'</span></label></td><td>';
264
+            print '<input  class="text minwidth200" id="email" name="email" value="'.(GETPOST('email', 'alpha') ? GETPOST('email', 'alpha') : $subject).'" />';
265 265
             print '</td></tr>';
266 266
         }
267 267
 
@@ -274,10 +274,10 @@  discard block
 block discarded – undo
274 274
                 $subelement = $regs[2];
275 275
             }
276 276
 
277
-            dol_include_once('/' . $element . '/class/' . $subelement . '.class.php');
277
+            dol_include_once('/'.$element.'/class/'.$subelement.'.class.php');
278 278
             $classname = ucfirst($subelement);
279 279
             $objectsrc = new $classname($this->db);
280
-            $objectsrc->fetch(GETPOST('originid','int'));
280
+            $objectsrc->fetch(GETPOST('originid', 'int'));
281 281
 
282 282
             if (empty($objectsrc->lines) && method_exists($objectsrc, 'fetch_lines')) {
283 283
                 $objectsrc->fetch_lines();
@@ -285,58 +285,58 @@  discard block
 block discarded – undo
285 285
 
286 286
             $objectsrc->fetch_thirdparty();
287 287
             $newclassname = $classname;
288
-            print '<tr><td>' . $langs->trans($newclassname) . '</td><td colspan="2"><input name="' . $subelement . 'id" value="' . GETPOST('originid') . '" type="hidden" />' . $objectsrc->getNomUrl(1) . '</td></tr>';
288
+            print '<tr><td>'.$langs->trans($newclassname).'</td><td colspan="2"><input name="'.$subelement.'id" value="'.GETPOST('originid').'" type="hidden" />'.$objectsrc->getNomUrl(1).'</td></tr>';
289 289
         }
290 290
 
291 291
         // Type
292
-        print '<tr><td class="titlefield"><span class="fieldrequired"><label for="selecttype_code">' . $langs->trans("TicketTypeRequest") . '</span></label></td><td>';
292
+        print '<tr><td class="titlefield"><span class="fieldrequired"><label for="selecttype_code">'.$langs->trans("TicketTypeRequest").'</span></label></td><td>';
293 293
         print $this->selectTypesTickets((GETPOST('type_code') ? GETPOST('type_code') : $this->type_code), 'type_code', '', '2');
294 294
         print '</td></tr>';
295 295
 
296 296
         // Category
297
-        print '<tr><td><span class="fieldrequired"><label for="selectcategory_code">' . $langs->trans("TicketCategory") . '</span></label></td><td>';
297
+        print '<tr><td><span class="fieldrequired"><label for="selectcategory_code">'.$langs->trans("TicketCategory").'</span></label></td><td>';
298 298
         print $this->selectCategoriesTickets((GETPOST('category_code') ? GETPOST('category_code') : $this->category_code), 'category_code', '', '2');
299 299
         print '</td></tr>';
300 300
 
301 301
         // Severity
302
-        print '<tr><td><span class="fieldrequired"><label for="selectseverity_code">' . $langs->trans("TicketSeverity") . '</span></label></td><td>';
302
+        print '<tr><td><span class="fieldrequired"><label for="selectseverity_code">'.$langs->trans("TicketSeverity").'</span></label></td><td>';
303 303
         print $this->selectSeveritiesTickets((GETPOST('severity_code') ? GETPOST('severity_code') : $this->severity_code), 'severity_code', '', '2');
304 304
         print '</td></tr>';
305 305
 
306 306
         // Notify thirdparty at creation
307 307
         if (empty($this->ispublic))
308 308
         {
309
-	        print '<tr><td><label for="notify_tiers_at_create">' . $langs->trans("TicketNotifyTiersAtCreation") . '</label></td><td>';
310
-        	print '<input type="checkbox" id="notify_tiers_at_create" name="notify_tiers_at_create"'.($this->withnotifytiersatcreate?' checked="checked"':'').'>';
309
+	        print '<tr><td><label for="notify_tiers_at_create">'.$langs->trans("TicketNotifyTiersAtCreation").'</label></td><td>';
310
+        	print '<input type="checkbox" id="notify_tiers_at_create" name="notify_tiers_at_create"'.($this->withnotifytiersatcreate ? ' checked="checked"' : '').'>';
311 311
         	print '</td></tr>';
312 312
         }
313 313
 
314 314
         // TITLE
315 315
         if ($this->withtitletopic) {
316
-            print '<tr><td><label for="subject"><span class="fieldrequired">' . $langs->trans("Subject") . '</span></label></td><td>';
316
+            print '<tr><td><label for="subject"><span class="fieldrequired">'.$langs->trans("Subject").'</span></label></td><td>';
317 317
 
318 318
             // Réponse à un ticket : affichage du titre du thread en readonly
319 319
             if ($this->withtopicreadonly) {
320
-                print $langs->trans('SubjectAnswerToTicket') . ' ' . $this->topic_title;
320
+                print $langs->trans('SubjectAnswerToTicket').' '.$this->topic_title;
321 321
                 print '</td></tr>';
322 322
             } else {
323 323
                 if ($this->withthreadid > 0) {
324
-                    $subject = $langs->trans('SubjectAnswerToTicket') . ' ' . $this->withthreadid . ' : ' . $this->topic_title . '';
324
+                    $subject = $langs->trans('SubjectAnswerToTicket').' '.$this->withthreadid.' : '.$this->topic_title.'';
325 325
                 }
326
-                print '<input class="text" size="50" id="subject" name="subject" value="' . (GETPOST('subject', 'alpha') ? GETPOST('subject', 'alpha') : $subject) . '" />';
326
+                print '<input class="text" size="50" id="subject" name="subject" value="'.(GETPOST('subject', 'alpha') ? GETPOST('subject', 'alpha') : $subject).'" />';
327 327
                 print '</td></tr>';
328 328
             }
329 329
         }
330 330
 
331 331
         // MESSAGE
332 332
         $msg = GETPOST('message', 'alpha') ? GETPOST('message', 'alpha') : '';
333
-        print '<tr><td><label for="message"><span class="fieldrequired">' . $langs->trans("Message") . '</span></label></td><td>';
333
+        print '<tr><td><label for="message"><span class="fieldrequired">'.$langs->trans("Message").'</span></label></td><td>';
334 334
 
335 335
         // If public form, display more information
336 336
         if ($this->ispublic) {
337
-            print '<div class="warning">' . ($conf->global->TICKET_PUBLIC_TEXT_HELP_MESSAGE ? $conf->global->TICKET_PUBLIC_TEXT_HELP_MESSAGE : $langs->trans('TicketPublicPleaseBeAccuratelyDescribe')) . '</div>';
337
+            print '<div class="warning">'.($conf->global->TICKET_PUBLIC_TEXT_HELP_MESSAGE ? $conf->global->TICKET_PUBLIC_TEXT_HELP_MESSAGE : $langs->trans('TicketPublicPleaseBeAccuratelyDescribe')).'</div>';
338 338
         }
339
-        include_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php';
339
+        include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
340 340
         $uselocalbrowser = true;
341 341
         $doleditor = new DolEditor('message', GETPOST('message', 'alpha'), '100%', 250, 'dolibarr_details', 'In', true, $uselocalbrowser);
342 342
         $doleditor->Create();
@@ -361,33 +361,33 @@  discard block
 block discarded – undo
361 361
             }
362 362
 
363 363
             $out .= '<tr>';
364
-            $out .= '<td width="180">' . $langs->trans("MailFile") . '</td>';
364
+            $out .= '<td width="180">'.$langs->trans("MailFile").'</td>';
365 365
             $out .= '<td colspan="2">';
366 366
             // TODO Trick to have param removedfile containing nb of image to delete. But this does not works without javascript
367
-            $out .= '<input type="hidden" class="removedfilehidden" name="removedfile" value="">' . "\n";
367
+            $out .= '<input type="hidden" class="removedfilehidden" name="removedfile" value="">'."\n";
368 368
             $out .= '<script type="text/javascript" language="javascript">';
369 369
             $out .= 'jQuery(document).ready(function () {';
370 370
             $out .= '    jQuery(".removedfile").click(function() {';
371 371
             $out .= '        jQuery(".removedfilehidden").val(jQuery(this).val());';
372 372
             $out .= '    });';
373 373
             $out .= '})';
374
-            $out .= '</script>' . "\n";
374
+            $out .= '</script>'."\n";
375 375
             if (count($listofpaths)) {
376 376
                 foreach ($listofpaths as $key => $val) {
377
-                    $out .= '<div id="attachfile_' . $key . '">';
378
-                    $out .= img_mime($listofnames[$key]) . ' ' . $listofnames[$key];
377
+                    $out .= '<div id="attachfile_'.$key.'">';
378
+                    $out .= img_mime($listofnames[$key]).' '.$listofnames[$key];
379 379
                     if (!$this->withfilereadonly) {
380
-                        $out .= ' <input type="image" style="border: 0px;" src="' . DOL_URL_ROOT . '/theme/' . $conf->theme . '/img/delete.png" value="' . ($key + 1) . '" class="removedfile" id="removedfile_' . $key . '" name="removedfile_' . $key . '" />';
380
+                        $out .= ' <input type="image" style="border: 0px;" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/delete.png" value="'.($key + 1).'" class="removedfile" id="removedfile_'.$key.'" name="removedfile_'.$key.'" />';
381 381
                     }
382 382
                     $out .= '<br></div>';
383 383
                 }
384 384
             } else {
385
-                $out .= $langs->trans("NoAttachedFiles") . '<br>';
385
+                $out .= $langs->trans("NoAttachedFiles").'<br>';
386 386
             }
387 387
             if ($this->withfile == 2) { // Can add other files
388
-                $out .= '<input type="file" class="flat" id="addedfile" name="addedfile" value="' . $langs->trans("Upload") . '" />';
388
+                $out .= '<input type="file" class="flat" id="addedfile" name="addedfile" value="'.$langs->trans("Upload").'" />';
389 389
                 $out .= ' ';
390
-                $out .= '<input type="submit" class="button" id="addfile" name="addfile" value="' . $langs->trans("MailingAddFile") . '" />';
390
+                $out .= '<input type="submit" class="button" id="addfile" name="addfile" value="'.$langs->trans("MailingAddFile").'" />';
391 391
             }
392 392
             $out .= "</td></tr>\n";
393 393
 
@@ -406,11 +406,11 @@  discard block
 block discarded – undo
406 406
         if ($withdolfichehead) dol_fiche_end();
407 407
 
408 408
         print '<center>';
409
-        print '<input class="button" type="submit" name="add_ticket" value="' . $langs->trans(($this->withthreadid > 0 ? "SendResponse" : "NewTicket")) . '" />';
409
+        print '<input class="button" type="submit" name="add_ticket" value="'.$langs->trans(($this->withthreadid > 0 ? "SendResponse" : "NewTicket")).'" />';
410 410
 
411 411
         if ($this->withcancel) {
412 412
             print " &nbsp; &nbsp; ";
413
-            print "<input class=\"button\" type=\"submit\" name=\"cancel\" value=\"" . $langs->trans("Cancel") . "\">";
413
+            print "<input class=\"button\" type=\"submit\" name=\"cancel\" value=\"".$langs->trans("Cancel")."\">";
414 414
         }
415 415
         print "</center>\n";
416 416
 
@@ -431,13 +431,13 @@  discard block
 block discarded – undo
431 431
      *      @param	string	$morecss	More CSS
432 432
      *      @return void
433 433
      */
434
-    public function selectTypesTickets($selected = '', $htmlname = 'tickettype', $filtertype = '', $format = 0, $empty = 0, $noadmininfo = 0, $maxlength = 0, $morecss='')
434
+    public function selectTypesTickets($selected = '', $htmlname = 'tickettype', $filtertype = '', $format = 0, $empty = 0, $noadmininfo = 0, $maxlength = 0, $morecss = '')
435 435
     {
436 436
         global $langs, $user;
437 437
 
438 438
         $ticketstat = new Ticket($this->db);
439 439
 
440
-        dol_syslog(get_class($this) . "::select_types_tickets " . $selected . ", " . $htmlname . ", " . $filtertype . ", " . $format, LOG_DEBUG);
440
+        dol_syslog(get_class($this)."::select_types_tickets ".$selected.", ".$htmlname.", ".$filtertype.", ".$format, LOG_DEBUG);
441 441
 
442 442
         $filterarray = array();
443 443
 
@@ -447,7 +447,7 @@  discard block
 block discarded – undo
447 447
 
448 448
         $ticketstat->loadCacheTypesTickets();
449 449
 
450
-        print '<select id="select' . $htmlname . '" class="flat minwidth100'.($morecss?' '.$morecss:'').'" name="' . $htmlname . '">';
450
+        print '<select id="select'.$htmlname.'" class="flat minwidth100'.($morecss ? ' '.$morecss : '').'" name="'.$htmlname.'">';
451 451
         if ($empty) {
452 452
             print '<option value="">&nbsp;</option>';
453 453
         }
@@ -465,19 +465,19 @@  discard block
 block discarded – undo
465 465
                 }
466 466
 
467 467
                 if ($format == 0) {
468
-                    print '<option value="' . $id . '"';
468
+                    print '<option value="'.$id.'"';
469 469
                 }
470 470
 
471 471
                 if ($format == 1) {
472
-                    print '<option value="' . $arraytypes['code'] . '"';
472
+                    print '<option value="'.$arraytypes['code'].'"';
473 473
                 }
474 474
 
475 475
                 if ($format == 2) {
476
-                    print '<option value="' . $arraytypes['code'] . '"';
476
+                    print '<option value="'.$arraytypes['code'].'"';
477 477
                 }
478 478
 
479 479
                 if ($format == 3) {
480
-                    print '<option value="' . $id . '"';
480
+                    print '<option value="'.$id.'"';
481 481
                 }
482 482
 
483 483
                 // Si selected est text, on compare avec code, sinon avec id
@@ -531,13 +531,13 @@  discard block
 block discarded – undo
531 531
      *      @param	string	$morecss	More CSS
532 532
      *      @return void
533 533
      */
534
-    public function selectCategoriesTickets($selected = '', $htmlname = 'ticketcategory', $filtertype = '', $format = 0, $empty = 0, $noadmininfo = 0, $maxlength = 0, $morecss='')
534
+    public function selectCategoriesTickets($selected = '', $htmlname = 'ticketcategory', $filtertype = '', $format = 0, $empty = 0, $noadmininfo = 0, $maxlength = 0, $morecss = '')
535 535
     {
536 536
         global $langs, $user;
537 537
 
538 538
         $ticketstat = new Ticket($this->db);
539 539
 
540
-        dol_syslog(get_class($this) . "::selectCategoryTickets " . $selected . ", " . $htmlname . ", " . $filtertype . ", " . $format, LOG_DEBUG);
540
+        dol_syslog(get_class($this)."::selectCategoryTickets ".$selected.", ".$htmlname.", ".$filtertype.", ".$format, LOG_DEBUG);
541 541
 
542 542
         $filterarray = array();
543 543
 
@@ -547,7 +547,7 @@  discard block
 block discarded – undo
547 547
 
548 548
         $ticketstat->loadCacheCategoriesTickets();
549 549
 
550
-        print '<select id="select' . $htmlname . '" class="flat minwidth100'.($morecss?' '.$morecss:'').'" name="' . $htmlname . '">';
550
+        print '<select id="select'.$htmlname.'" class="flat minwidth100'.($morecss ? ' '.$morecss : '').'" name="'.$htmlname.'">';
551 551
         if ($empty) {
552 552
             print '<option value="">&nbsp;</option>';
553 553
         }
@@ -565,19 +565,19 @@  discard block
 block discarded – undo
565 565
                 }
566 566
 
567 567
                 if ($format == 0) {
568
-                    print '<option value="' . $id . '"';
568
+                    print '<option value="'.$id.'"';
569 569
                 }
570 570
 
571 571
                 if ($format == 1) {
572
-                    print '<option value="' . $arraycategories['code'] . '"';
572
+                    print '<option value="'.$arraycategories['code'].'"';
573 573
                 }
574 574
 
575 575
                 if ($format == 2) {
576
-                    print '<option value="' . $arraycategories['code'] . '"';
576
+                    print '<option value="'.$arraycategories['code'].'"';
577 577
                 }
578 578
 
579 579
                 if ($format == 3) {
580
-                    print '<option value="' . $id . '"';
580
+                    print '<option value="'.$id.'"';
581 581
                 }
582 582
 
583 583
                 // Si selected est text, on compare avec code, sinon avec id
@@ -632,13 +632,13 @@  discard block
 block discarded – undo
632 632
      *      @param	string	$morecss	More CSS
633 633
      *      @return void
634 634
      */
635
-    public function selectSeveritiesTickets($selected = '', $htmlname = 'ticketseverity', $filtertype = '', $format = 0, $empty = 0, $noadmininfo = 0, $maxlength = 0, $morecss='')
635
+    public function selectSeveritiesTickets($selected = '', $htmlname = 'ticketseverity', $filtertype = '', $format = 0, $empty = 0, $noadmininfo = 0, $maxlength = 0, $morecss = '')
636 636
     {
637 637
         global $langs, $user;
638 638
 
639 639
         $ticketstat = new Ticket($this->db);
640 640
 
641
-        dol_syslog(get_class($this) . "::selectSeveritiesTickets " . $selected . ", " . $htmlname . ", " . $filtertype . ", " . $format, LOG_DEBUG);
641
+        dol_syslog(get_class($this)."::selectSeveritiesTickets ".$selected.", ".$htmlname.", ".$filtertype.", ".$format, LOG_DEBUG);
642 642
 
643 643
         $filterarray = array();
644 644
 
@@ -648,7 +648,7 @@  discard block
 block discarded – undo
648 648
 
649 649
         $ticketstat->loadCacheSeveritiesTickets();
650 650
 
651
-        print '<select id="select' . $htmlname . '" class="flat minwidth150'.($morecss?' '.$morecss:'').'" name="' . $htmlname . '">';
651
+        print '<select id="select'.$htmlname.'" class="flat minwidth150'.($morecss ? ' '.$morecss : '').'" name="'.$htmlname.'">';
652 652
         if ($empty) {
653 653
             print '<option value="">&nbsp;</option>';
654 654
         }
@@ -666,19 +666,19 @@  discard block
 block discarded – undo
666 666
                 }
667 667
 
668 668
                 if ($format == 0) {
669
-                    print '<option value="' . $id . '"';
669
+                    print '<option value="'.$id.'"';
670 670
                 }
671 671
 
672 672
                 if ($format == 1) {
673
-                    print '<option value="' . $arrayseverities['code'] . '"';
673
+                    print '<option value="'.$arrayseverities['code'].'"';
674 674
                 }
675 675
 
676 676
                 if ($format == 2) {
677
-                    print '<option value="' . $arrayseverities['code'] . '"';
677
+                    print '<option value="'.$arrayseverities['code'].'"';
678 678
                 }
679 679
 
680 680
                 if ($format == 3) {
681
-                    print '<option value="' . $id . '"';
681
+                    print '<option value="'.$id.'"';
682 682
                 }
683 683
 
684 684
                 // Si selected est text, on compare avec code, sinon avec id
@@ -760,7 +760,7 @@  discard block
 block discarded – undo
760 760
         if ($conf->global->MAIN_MULTILANGS && empty($newlang)) {
761 761
             $newlang = $this->param['langsmodels'];
762 762
         }
763
-        if (! empty($newlang)) {
763
+        if (!empty($newlang)) {
764 764
             $outputlangs = new Translate("", $conf);
765 765
             $outputlangs->setDefaultLang($newlang);
766 766
             $outputlangs->load('other');
@@ -773,7 +773,7 @@  discard block
 block discarded – undo
773 773
         // Example 1 : Adding jquery code
774 774
         print '<script type="text/javascript" language="javascript">
775 775
 		jQuery(document).ready(function() {
776
-			send_email=' . $send_email . ';
776
+			send_email=' . $send_email.';
777 777
 			if (send_email) {
778 778
 				jQuery(".email_line").show();
779 779
 			} else {
@@ -791,42 +791,42 @@  discard block
 block discarded – undo
791 791
         print '});
792 792
 		</script>';
793 793
 
794
-        print '<form method="post" name="ticket" enctype="multipart/form-data" action="' . $this->param["returnurl"] . '">';
795
-        print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
796
-        print '<input type="hidden" name="action" value="' . $this->action . '">';
794
+        print '<form method="post" name="ticket" enctype="multipart/form-data" action="'.$this->param["returnurl"].'">';
795
+        print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
796
+        print '<input type="hidden" name="action" value="'.$this->action.'">';
797 797
         foreach ($this->param as $key => $value) {
798
-            print '<input type="hidden" name="' . $key . '" value="' . $value . '">';
798
+            print '<input type="hidden" name="'.$key.'" value="'.$value.'">';
799 799
         }
800 800
 
801 801
         // Get message template
802
-        $model_id=0;
802
+        $model_id = 0;
803 803
         if (array_key_exists('models_id', $this->param)) {
804
-            $model_id=$this->param["models_id"];
805
-            $arraydefaultmessage=$formmail->getEMailTemplate($this->db, $this->param["models"], $user, $outputlangs, $model_id);
804
+            $model_id = $this->param["models_id"];
805
+            $arraydefaultmessage = $formmail->getEMailTemplate($this->db, $this->param["models"], $user, $outputlangs, $model_id);
806 806
         }
807 807
 
808 808
         $result = $formmail->fetchAllEMailTemplate($this->param["models"], $user, $outputlangs);
809
-        if ($result<0) {
809
+        if ($result < 0) {
810 810
             setEventMessages($this->error, $this->errors, 'errors');
811 811
         }
812
-        $modelmail_array=array();
812
+        $modelmail_array = array();
813 813
         foreach ($formmail->lines_model as $line) {
814
-            $modelmail_array[$line->id]=$line->label;
814
+            $modelmail_array[$line->id] = $line->label;
815 815
         }
816 816
 
817
-        print '<table class="border"  width="' . $width . '">';
817
+        print '<table class="border"  width="'.$width.'">';
818 818
 
819 819
 
820 820
         // External users can't send message email
821 821
         if ($user->rights->ticket->write && !$user->socid) {
822 822
             print '<tr><td width="30%"></td><td colspan="2">';
823
-            $checkbox_selected = ( GETPOST('send_email') == "1" ? ' checked' : '');
823
+            $checkbox_selected = (GETPOST('send_email') == "1" ? ' checked' : '');
824 824
             print '<input type="checkbox" name="send_email" value="1" id="send_msg_email" '.$checkbox_selected.'/> ';
825
-            print '<label for="send_msg_email">' . $langs->trans('SendMessageByEmail') . '</label>';
825
+            print '<label for="send_msg_email">'.$langs->trans('SendMessageByEmail').'</label>';
826 826
             print '</td></tr>';
827 827
 
828 828
             // Zone to select its email template
829
-            if (count($modelmail_array)>0) {
829
+            if (count($modelmail_array) > 0) {
830 830
                 print '<tr class="email_line"><td></td><td colspan="2"><div style="padding: 3px 0 3px 0">'."\n";
831 831
                 print $langs->trans('SelectMailModel').': '.$formmail->selectarray('modelmailselected', $modelmail_array, $this->param['models_id'], 1);
832 832
                 if ($user->admin) {
@@ -841,32 +841,32 @@  discard block
 block discarded – undo
841 841
             // Substitution array
842 842
             if ($this->withsubstit) {
843 843
                 print '<tr class="email_line"><td></td><td colspan="2">';
844
-                $help="";
844
+                $help = "";
845 845
                 foreach ($this->substit as $key => $val) {
846
-                    $help.=$key.' -> '.$langs->trans($val).'<br>';
846
+                    $help .= $key.' -> '.$langs->trans($val).'<br>';
847 847
                 }
848 848
                 print $form->textwithpicto($langs->trans("TicketMessageSubstitutionReplacedByGenericValues"), $help);
849 849
                 print "</td></tr>";
850 850
             }
851 851
 
852
-            if (! $user->socid) {
852
+            if (!$user->socid) {
853 853
                 print '<tr><td width="30%"></td><td>';
854
-                $checkbox_selected = ( GETPOST('private_message') == "1" ? ' checked' : '');
854
+                $checkbox_selected = (GETPOST('private_message') == "1" ? ' checked' : '');
855 855
                 print '<input type="checkbox" name="private_message" value="1" id="private_message" '.$checkbox_selected.'/> ';
856
-                print '<label for="private_message">' . $langs->trans('MarkMessageAsPrivate') . '</label>';
856
+                print '<label for="private_message">'.$langs->trans('MarkMessageAsPrivate').'</label>';
857 857
                 print '</td><td align="center">';
858 858
                 print $form->textwithpicto('', $langs->trans("TicketMessagePrivateHelp"), 1, 'help');
859 859
                 print '</td></tr>';
860 860
             }
861 861
 
862 862
 
863
-            print '<tr class="email_line"><td width=20%">' . $langs->trans('Subject') . '</td>';
863
+            print '<tr class="email_line"><td width=20%">'.$langs->trans('Subject').'</td>';
864 864
             $label_title = empty($conf->global->MAIN_APPLICATION_TITLE) ? $mysoc->name : $conf->global->MAIN_APPLICATION_TITLE;
865
-            print '<td colspan="2"><input type="text" class="text" size="80" name="subject" value="[' . $label_title . ' - ticket #' . $this->track_id . '] ' . $langs->trans('TicketNewMessage') . '" />';
865
+            print '<td colspan="2"><input type="text" class="text" size="80" name="subject" value="['.$label_title.' - ticket #'.$this->track_id.'] '.$langs->trans('TicketNewMessage').'" />';
866 866
             print '</td></tr>';
867 867
 
868 868
             // Destinataires
869
-            print '<tr class="email_line"><td>' . $langs->trans('MailRecipients') . '</td><td colspan="2">';
869
+            print '<tr class="email_line"><td>'.$langs->trans('MailRecipients').'</td><td colspan="2">';
870 870
             $ticketstat = new Ticket($this->db);
871 871
             $res = $ticketstat->fetch('', '', $this->track_id);
872 872
             if ($res) {
@@ -878,13 +878,13 @@  discard block
 block discarded – undo
878 878
                 if (is_array($contacts) && count($contacts) > 0) {
879 879
                     foreach ($contacts as $key => $info_sendto) {
880 880
                         if ($info_sendto['email'] != '') {
881
-                            $sendto[] = dol_escape_htmltag(trim($info_sendto['firstname'] . " " . $info_sendto['lastname']) . " <" . $info_sendto['email'] . "> (" . $info_sendto['libelle'] . ")");
881
+                            $sendto[] = dol_escape_htmltag(trim($info_sendto['firstname']." ".$info_sendto['lastname'])." <".$info_sendto['email']."> (".$info_sendto['libelle'].")");
882 882
                         }
883 883
                     }
884 884
                 }
885 885
 
886 886
                 if ($ticketstat->origin_email && !in_array($this->dao->origin_email, $sendto)) {
887
-                    $sendto[] = $ticketstat->origin_email . "(origin)";
887
+                    $sendto[] = $ticketstat->origin_email."(origin)";
888 888
                 }
889 889
 
890 890
                 if ($ticketstat->fk_soc > 0) {
@@ -892,19 +892,19 @@  discard block
 block discarded – undo
892 892
                     $ticketstat->fetch_thirdparty();
893 893
 
894 894
                     if (is_array($ticketstat->thirdparty->email) && !in_array($ticketstat->thirdparty->email, $sendto)) {
895
-                        $sendto[] = $ticketstat->thirdparty->email . '(' . $langs->trans('Customer') . ')';
895
+                        $sendto[] = $ticketstat->thirdparty->email.'('.$langs->trans('Customer').')';
896 896
                     }
897 897
                 }
898 898
 
899 899
                 if ($conf->global->TICKET_NOTIFICATION_ALSO_MAIN_ADDRESS) {
900
-                    $sendto[] = $conf->global->TICKET_NOTIFICATION_EMAIL_TO . '(generic email)';
900
+                    $sendto[] = $conf->global->TICKET_NOTIFICATION_EMAIL_TO.'(generic email)';
901 901
                 }
902 902
 
903 903
                 // Print recipient list
904 904
                 if (is_array($sendto) && count($sendto) > 0) {
905 905
                     print implode(', ', $sendto);
906 906
                 } else {
907
-                    print '<div class="warning">' . $langs->trans('WarningNoEMailsAdded') . ' ' . $langs->trans('TicketGoIntoContactTab') . '</div>';
907
+                    print '<div class="warning">'.$langs->trans('WarningNoEMailsAdded').' '.$langs->trans('TicketGoIntoContactTab').'</div>';
908 908
                 }
909 909
             }
910 910
             print '</td></tr>';
@@ -914,10 +914,10 @@  discard block
 block discarded – undo
914 914
         // External users can't send message email
915 915
         if ($user->rights->ticket->write && !$user->socid) {
916 916
             $mail_intro = GETPOST('mail_intro') ? GETPOST('mail_intro') : $conf->global->TICKET_MESSAGE_MAIL_INTRO;
917
-            print '<tr class="email_line"><td><label for="mail_intro">' . $langs->trans("TicketMessageMailIntro") . '</label>';
917
+            print '<tr class="email_line"><td><label for="mail_intro">'.$langs->trans("TicketMessageMailIntro").'</label>';
918 918
 
919 919
             print '</td><td>';
920
-            include_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php';
920
+            include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
921 921
             $uselocalbrowser = true;
922 922
 
923 923
             $doleditor = new DolEditor('mail_intro', $mail_intro, '100%', 140, 'dolibarr_details', '', false, true, $conf->global->FCKEDITOR_ENABLE_SOCIETE, ROWS_2, 70);
@@ -929,11 +929,11 @@  discard block
 block discarded – undo
929 929
         }
930 930
 
931 931
         // MESSAGE
932
-        $defaultmessage="";
932
+        $defaultmessage = "";
933 933
         if (is_array($arraydefaultmessage) && count($arraydefaultmessage) > 0 && $arraydefaultmessage->content) {
934
-            $defaultmessage=$arraydefaultmessage->content;
934
+            $defaultmessage = $arraydefaultmessage->content;
935 935
         }
936
-        $defaultmessage=str_replace('\n', "\n", $defaultmessage);
936
+        $defaultmessage = str_replace('\n', "\n", $defaultmessage);
937 937
 
938 938
         // Deal with format differences between message and signature (text / HTML)
939 939
         if (dol_textishtml($defaultmessage) && !dol_textishtml($this->substit['__SIGNATURE__'])) {
@@ -941,17 +941,17 @@  discard block
 block discarded – undo
941 941
         } elseif (!dol_textishtml($defaultmessage) && dol_textishtml($this->substit['__SIGNATURE__'])) {
942 942
             $defaultmessage = dol_nl2br($defaultmessage);
943 943
         }
944
-        if (isset($_POST["message"]) &&  ! $_POST['modelselected']) {
945
-            $defaultmessage=GETPOST('message');
944
+        if (isset($_POST["message"]) && !$_POST['modelselected']) {
945
+            $defaultmessage = GETPOST('message');
946 946
         } else {
947
-            $defaultmessage=make_substitutions($defaultmessage, $this->substit);
947
+            $defaultmessage = make_substitutions($defaultmessage, $this->substit);
948 948
             // Clean first \n and br (to avoid empty line when CONTACTCIVNAME is empty)
949
-            $defaultmessage=preg_replace("/^(<br>)+/", "", $defaultmessage);
950
-            $defaultmessage=preg_replace("/^\n+/", "", $defaultmessage);
949
+            $defaultmessage = preg_replace("/^(<br>)+/", "", $defaultmessage);
950
+            $defaultmessage = preg_replace("/^\n+/", "", $defaultmessage);
951 951
         }
952 952
 
953
-        print '<tr><td><label for="message"><span class="fieldrequired">' . $langs->trans("Message") . '</span></label></td><td>';
954
-        include_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php';
953
+        print '<tr><td><label for="message"><span class="fieldrequired">'.$langs->trans("Message").'</span></label></td><td>';
954
+        include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
955 955
         $doleditor = new DolEditor('message', $defaultmessage, '100%', 350, 'dolibarr_details', '', false, true, $conf->global->FCKEDITOR_ENABLE_SOCIETE, ROWS_2, 70);
956 956
         $doleditor->Create();
957 957
         print '</td><td align="center">';
@@ -965,10 +965,10 @@  discard block
 block discarded – undo
965 965
         // External users can't send message email
966 966
         if ($user->rights->ticket->write && !$user->socid) {
967 967
             $mail_signature = GETPOST('mail_signature') ? GETPOST('mail_signature') : $conf->global->TICKET_MESSAGE_MAIL_SIGNATURE;
968
-            print '<tr class="email_line"><td><label for="mail_intro">' . $langs->trans("TicketMessageMailSignature") . '</label>';
968
+            print '<tr class="email_line"><td><label for="mail_intro">'.$langs->trans("TicketMessageMailSignature").'</label>';
969 969
 
970 970
             print '</td><td>';
971
-            include_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php';
971
+            include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
972 972
             $doleditor = new DolEditor('mail_signature', $mail_signature, '100%', 150, 'dolibarr_details', '', false, true, $conf->global->FCKEDITOR_ENABLE_SOCIETE, ROWS_2, 70);
973 973
             $doleditor->Create();
974 974
             print '</td><td align="center">';
@@ -979,33 +979,33 @@  discard block
 block discarded – undo
979 979
         // Attached files
980 980
         if (!empty($this->withfile)) {
981 981
             $out .= '<tr>';
982
-            $out .= '<td width="180">' . $langs->trans("MailFile") . '</td>';
982
+            $out .= '<td width="180">'.$langs->trans("MailFile").'</td>';
983 983
             $out .= '<td colspan="2">';
984 984
             // TODO Trick to have param removedfile containing nb of image to delete. But this does not works without javascript
985
-            $out .= '<input type="hidden" class="removedfilehidden" name="removedfile" value="">' . "\n";
985
+            $out .= '<input type="hidden" class="removedfilehidden" name="removedfile" value="">'."\n";
986 986
             $out .= '<script type="text/javascript" language="javascript">';
987 987
             $out .= 'jQuery(document).ready(function () {';
988 988
             $out .= '    jQuery(".removedfile").click(function() {';
989 989
             $out .= '        jQuery(".removedfilehidden").val(jQuery(this).val());';
990 990
             $out .= '    });';
991 991
             $out .= '})';
992
-            $out .= '</script>' . "\n";
992
+            $out .= '</script>'."\n";
993 993
             if (count($listofpaths)) {
994 994
                 foreach ($listofpaths as $key => $val) {
995
-                    $out .= '<div id="attachfile_' . $key . '">';
996
-                    $out .= img_mime($listofnames[$key]) . ' ' . $listofnames[$key];
995
+                    $out .= '<div id="attachfile_'.$key.'">';
996
+                    $out .= img_mime($listofnames[$key]).' '.$listofnames[$key];
997 997
                     if (!$this->withfilereadonly) {
998
-                        $out .= ' <input type="image" style="border: 0px;" src="' . DOL_URL_ROOT . '/theme/' . $conf->theme . '/img/delete.png" value="' . ($key + 1) . '" class="removedfile" id="removedfile_' . $key . '" name="removedfile_' . $key . '" />';
998
+                        $out .= ' <input type="image" style="border: 0px;" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/delete.png" value="'.($key + 1).'" class="removedfile" id="removedfile_'.$key.'" name="removedfile_'.$key.'" />';
999 999
                     }
1000 1000
                     $out .= '<br></div>';
1001 1001
                 }
1002 1002
             } else {
1003
-                $out .= $langs->trans("NoAttachedFiles") . '<br>';
1003
+                $out .= $langs->trans("NoAttachedFiles").'<br>';
1004 1004
             }
1005 1005
             if ($this->withfile == 2) { // Can add other files
1006
-                $out .= '<input type="file" class="flat" id="addedfile" name="addedfile" value="' . $langs->trans("Upload") . '" />';
1006
+                $out .= '<input type="file" class="flat" id="addedfile" name="addedfile" value="'.$langs->trans("Upload").'" />';
1007 1007
                 $out .= ' ';
1008
-                $out .= '<input type="submit" class="button" id="' . $addfileaction . '" name="' . $addfileaction . '" value="' . $langs->trans("MailingAddFile") . '" />';
1008
+                $out .= '<input type="submit" class="button" id="'.$addfileaction.'" name="'.$addfileaction.'" value="'.$langs->trans("MailingAddFile").'" />';
1009 1009
             }
1010 1010
             $out .= "</td></tr>\n";
1011 1011
 
@@ -1014,11 +1014,11 @@  discard block
 block discarded – undo
1014 1014
 
1015 1015
         print '<tr><td colspan="3">';
1016 1016
         print '<center>';
1017
-        print '<input class="button" type="submit" name="btn_add_message" value="' . $langs->trans("AddMessage") . '" />';
1017
+        print '<input class="button" type="submit" name="btn_add_message" value="'.$langs->trans("AddMessage").'" />';
1018 1018
 
1019 1019
         if ($this->withcancel) {
1020 1020
             print " &nbsp; &nbsp; ";
1021
-            print "<input class=\"button\" type=\"submit\" name=\"cancel\" value=\"" . $langs->trans("Cancel") . "\">";
1021
+            print "<input class=\"button\" type=\"submit\" name=\"cancel\" value=\"".$langs->trans("Cancel")."\">";
1022 1022
         }
1023 1023
         print "</center>\n";
1024 1024
         print '</td></tr>';
Please login to merge, or discard this patch.
Braces   +6 added lines, -2 removed lines patch added patch discarded remove patch
@@ -147,7 +147,9 @@  discard block
 block discarded – undo
147 147
 
148 148
         print "\n<!-- Begin form TICKETSUP -->\n";
149 149
 
150
-        if ($withdolfichehead) dol_fiche_head(null, 'card', '', 0, '');
150
+        if ($withdolfichehead) {
151
+            dol_fiche_head(null, 'card', '', 0, '');
152
+        }
151 153
 
152 154
         print '<form method="POST" '.($withdolfichehead?'':'style="margin-bottom: 30px;" ').'name="ticket" id="form_create_ticket" enctype="multipart/form-data" action="' . $this->param["returnurl"] . '">';
153 155
         print '<input type="hidden" name="token" value="' . $_SESSION['newtoken'] . '">';
@@ -403,7 +405,9 @@  discard block
 block discarded – undo
403 405
 
404 406
         print '</table>';
405 407
 
406
-        if ($withdolfichehead) dol_fiche_end();
408
+        if ($withdolfichehead) {
409
+            dol_fiche_end();
410
+        }
407 411
 
408 412
         print '<center>';
409 413
         print '<input class="button" type="submit" name="add_ticket" value="' . $langs->trans(($this->withthreadid > 0 ? "SendResponse" : "NewTicket")) . '" />';
Please login to merge, or discard this patch.
dolibarr/htdocs/core/class/link.class.php 3 patches
Indentation   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -29,19 +29,19 @@  discard block
 block discarded – undo
29 29
 class Link extends CommonObject
30 30
 {
31 31
     /**
32
-	 * @var string ID to identify managed object
33
-	 */
34
-	public $element = 'link';
32
+     * @var string ID to identify managed object
33
+     */
34
+    public $element = 'link';
35 35
 
36 36
     /**
37
-	 * @var string Name of table without prefix where object is stored
38
-	 */
39
-	public $table_element = 'links';
37
+     * @var string Name of table without prefix where object is stored
38
+     */
39
+    public $table_element = 'links';
40 40
 
41 41
     /**
42
-	 * @var int Entity
43
-	 */
44
-	public $entity;
42
+     * @var int Entity
43
+     */
44
+    public $entity;
45 45
 
46 46
     public $datea;
47 47
     public $url;
@@ -343,7 +343,7 @@  discard block
 block discarded – undo
343 343
                 return 1;
344 344
             }
345 345
             else
346
-			{
346
+            {
347 347
                 return 0;
348 348
             }
349 349
         } else {
Please login to merge, or discard this patch.
Spacing   +56 added lines, -56 removed lines patch added patch discarded remove patch
@@ -72,11 +72,11 @@  discard block
 block discarded – undo
72 72
      *    @param	User	$user       Object of user that ask creation
73 73
      *    @return   int         		>= 0 if OK, < 0 if KO
74 74
      */
75
-    public function create($user='')
75
+    public function create($user = '')
76 76
     {
77
-        global $langs,$conf;
77
+        global $langs, $conf;
78 78
 
79
-        $error=0;
79
+        $error = 0;
80 80
         $langs->load("errors");
81 81
         // Clean parameters
82 82
         if (empty($this->label)) {
@@ -99,34 +99,34 @@  discard block
 block discarded – undo
99 99
 
100 100
         $sql = "INSERT INTO ".MAIN_DB_PREFIX."links (entity, datea, url, label, objecttype, objectid)";
101 101
         $sql .= " VALUES ('".$conf->entity."', '".$this->db->idate($this->datea)."'";
102
-        $sql .= ", '" . $this->db->escape($this->url) . "'";
103
-        $sql .= ", '" . $this->db->escape($this->label) . "'";
104
-        $sql .= ", '" . $this->db->escape($this->objecttype) . "'";
105
-        $sql .= ", " . $this->objectid . ")";
102
+        $sql .= ", '".$this->db->escape($this->url)."'";
103
+        $sql .= ", '".$this->db->escape($this->label)."'";
104
+        $sql .= ", '".$this->db->escape($this->objecttype)."'";
105
+        $sql .= ", ".$this->objectid.")";
106 106
 
107 107
         dol_syslog(get_class($this)."::create", LOG_DEBUG);
108 108
         $result = $this->db->query($sql);
109 109
         if ($result) {
110
-            $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX . "links");
110
+            $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."links");
111 111
 
112 112
             if ($this->id > 0) {
113 113
                 // Call trigger
114
-                $result=$this->call_trigger('LINK_CREATE',$user);
114
+                $result = $this->call_trigger('LINK_CREATE', $user);
115 115
                 if ($result < 0) $error++;
116 116
                 // End call triggers
117 117
             } else {
118 118
                 $error++;
119 119
             }
120 120
 
121
-            if (! $error)
121
+            if (!$error)
122 122
             {
123
-                dol_syslog(get_class($this)."::Create success id=" . $this->id);
123
+                dol_syslog(get_class($this)."::Create success id=".$this->id);
124 124
                 $this->db->commit();
125 125
                 return $this->id;
126 126
             }
127 127
             else
128 128
             {
129
-                dol_syslog(get_class($this)."::Create echec update " . $this->error, LOG_ERR);
129
+                dol_syslog(get_class($this)."::Create echec update ".$this->error, LOG_ERR);
130 130
                 $this->db->rollback();
131 131
                 return -3;
132 132
             }
@@ -136,13 +136,13 @@  discard block
 block discarded – undo
136 136
             if ($this->db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS')
137 137
             {
138 138
 
139
-                $this->error=$langs->trans("ErrorCompanyNameAlreadyExists",$this->name);
140
-                $result=-1;
139
+                $this->error = $langs->trans("ErrorCompanyNameAlreadyExists", $this->name);
140
+                $result = -1;
141 141
             }
142 142
             else
143 143
             {
144
-                $this->error=$this->db->lasterror();
145
-                $result=-2;
144
+                $this->error = $this->db->lasterror();
145
+                $result = -2;
146 146
             }
147 147
             $this->db->rollback();
148 148
             return $result;
@@ -156,15 +156,15 @@  discard block
 block discarded – undo
156 156
      *      @param  int		$call_trigger    			0=no, 1=yes
157 157
      *      @return int  			           			<0 if KO, >=0 if OK
158 158
      */
159
-    public function update($user='', $call_trigger=1)
159
+    public function update($user = '', $call_trigger = 1)
160 160
     {
161
-        global $langs,$conf;
161
+        global $langs, $conf;
162 162
         require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
163 163
 
164 164
         $langs->load("errors");
165
-        $error=0;
165
+        $error = 0;
166 166
 
167
-        dol_syslog(get_class($this)."::Update id = " . $this->id . " call_trigger = " . $call_trigger);
167
+        dol_syslog(get_class($this)."::Update id = ".$this->id." call_trigger = ".$call_trigger);
168 168
 
169 169
         // Check parameters
170 170
         if (empty($this->url))
@@ -174,37 +174,37 @@  discard block
 block discarded – undo
174 174
         }
175 175
 
176 176
         // Clean parameters
177
-        $this->url       = clean_url($this->url,1);
177
+        $this->url       = clean_url($this->url, 1);
178 178
         if (empty($this->label)) $this->label = basename($this->url);
179 179
         $this->label     = trim($this->label);
180 180
 
181 181
 
182 182
         $this->db->begin();
183 183
 
184
-        $sql  = "UPDATE " . MAIN_DB_PREFIX . "links SET ";
185
-        $sql .= "entity = '" . $conf->entity ."'";
186
-        $sql .= ", datea = '" . $this->db->idate(dol_now()) . "'";
187
-        $sql .= ", url = '" . $this->db->escape($this->url) . "'";
188
-        $sql .= ", label = '" . $this->db->escape($this->label) . "'";
189
-        $sql .= ", objecttype = '" . $this->db->escape($this->objecttype) . "'";
190
-        $sql .= ", objectid = " . $this->objectid;
191
-        $sql .= " WHERE rowid = " . $this->id;
184
+        $sql  = "UPDATE ".MAIN_DB_PREFIX."links SET ";
185
+        $sql .= "entity = '".$conf->entity."'";
186
+        $sql .= ", datea = '".$this->db->idate(dol_now())."'";
187
+        $sql .= ", url = '".$this->db->escape($this->url)."'";
188
+        $sql .= ", label = '".$this->db->escape($this->label)."'";
189
+        $sql .= ", objecttype = '".$this->db->escape($this->objecttype)."'";
190
+        $sql .= ", objectid = ".$this->objectid;
191
+        $sql .= " WHERE rowid = ".$this->id;
192 192
 
193
-        dol_syslog(get_class($this)."::update sql = " .$sql);
193
+        dol_syslog(get_class($this)."::update sql = ".$sql);
194 194
         $resql = $this->db->query($sql);
195 195
         if ($resql)
196 196
         {
197 197
             if ($call_trigger)
198 198
             {
199 199
                 // Call trigger
200
-                $result=$this->call_trigger('LINK_MODIFY',$user);
200
+                $result = $this->call_trigger('LINK_MODIFY', $user);
201 201
                 if ($result < 0) $error++;
202 202
                 // End call triggers
203 203
             }
204 204
 
205
-            if (! $error)
205
+            if (!$error)
206 206
             {
207
-                dol_syslog(get_class($this) . "::Update success");
207
+                dol_syslog(get_class($this)."::Update success");
208 208
                 $this->db->commit();
209 209
                 return 1;
210 210
             } else {
@@ -219,12 +219,12 @@  discard block
 block discarded – undo
219 219
             {
220 220
                 // Doublon
221 221
                 $this->error = $langs->trans("ErrorDuplicateField");
222
-                $result =  -1;
222
+                $result = -1;
223 223
             }
224 224
             else
225 225
             {
226
-                $this->error = $langs->trans("Error sql = " . $sql);
227
-                $result =  -2;
226
+                $this->error = $langs->trans("Error sql = ".$sql);
227
+                $result = -2;
228 228
             }
229 229
             $this->db->rollback();
230 230
             return $result;
@@ -241,18 +241,18 @@  discard block
 block discarded – undo
241 241
      *  @param  string  $sortorder  sort order
242 242
      *  @return int                 1 if ok, 0 if no records, -1 if error
243 243
      **/
244
-    public function fetchAll(&$links, $objecttype, $objectid, $sortfield=null, $sortorder=null)
244
+    public function fetchAll(&$links, $objecttype, $objectid, $sortfield = null, $sortorder = null)
245 245
     {
246 246
         global $conf;
247 247
 
248
-        $sql = "SELECT rowid, entity, datea, url, label, objecttype, objectid FROM " . MAIN_DB_PREFIX . "links";
249
-        $sql .= " WHERE objecttype = '" . $objecttype . "' AND objectid = " . $objectid;
250
-        if ($conf->entity != 0) $sql .= " AND entity = " . $conf->entity;
248
+        $sql = "SELECT rowid, entity, datea, url, label, objecttype, objectid FROM ".MAIN_DB_PREFIX."links";
249
+        $sql .= " WHERE objecttype = '".$objecttype."' AND objectid = ".$objectid;
250
+        if ($conf->entity != 0) $sql .= " AND entity = ".$conf->entity;
251 251
         if ($sortfield) {
252 252
             if (empty($sortorder)) {
253 253
                 $sortorder = "ASC";
254 254
             }
255
-            $sql .= " ORDER BY " . $sortfield . " " . $sortorder;
255
+            $sql .= " ORDER BY ".$sortfield." ".$sortorder;
256 256
         }
257 257
 
258 258
         dol_syslog(get_class($this)."::fetchAll", LOG_DEBUG);
@@ -260,7 +260,7 @@  discard block
 block discarded – undo
260 260
         if ($resql)
261 261
         {
262 262
             $num = $this->db->num_rows($resql);
263
-            dol_syslog(get_class($this)."::fetchAll " . $num . "records", LOG_DEBUG);
263
+            dol_syslog(get_class($this)."::fetchAll ".$num."records", LOG_DEBUG);
264 264
             if ($num > 0)
265 265
             {
266 266
                 while ($obj = $this->db->fetch_object($resql))
@@ -296,9 +296,9 @@  discard block
 block discarded – undo
296 296
     {
297 297
         global $conf;
298 298
 
299
-        $sql = "SELECT COUNT(rowid) as nb FROM " . MAIN_DB_PREFIX . "links";
300
-        $sql .= " WHERE objecttype = '" . $objecttype . "' AND objectid = " . $objectid;
301
-        if ($conf->entity != 0) $sql .= " AND entity = " . $conf->entity;
299
+        $sql = "SELECT COUNT(rowid) as nb FROM ".MAIN_DB_PREFIX."links";
300
+        $sql .= " WHERE objecttype = '".$objecttype."' AND objectid = ".$objectid;
301
+        if ($conf->entity != 0) $sql .= " AND entity = ".$conf->entity;
302 302
 
303 303
         $resql = $db->query($sql);
304 304
         if ($resql)
@@ -315,7 +315,7 @@  discard block
 block discarded – undo
315 315
      *  @param 	int		$rowid 		Id of link to load
316 316
      *  @return int 				1 if ok, 0 if no record found, -1 if error
317 317
      **/
318
-    public function fetch($rowid=null)
318
+    public function fetch($rowid = null)
319 319
     {
320 320
         global $conf;
321 321
 
@@ -323,15 +323,15 @@  discard block
 block discarded – undo
323 323
             $rowid = $this->id;
324 324
         }
325 325
 
326
-        $sql = "SELECT rowid, entity, datea, url, label, objecttype, objectid FROM " . MAIN_DB_PREFIX . "links";
327
-        $sql .= " WHERE rowid = " . $rowid;
328
-        if($conf->entity != 0) $sql .= " AND entity = " . $conf->entity;
326
+        $sql = "SELECT rowid, entity, datea, url, label, objecttype, objectid FROM ".MAIN_DB_PREFIX."links";
327
+        $sql .= " WHERE rowid = ".$rowid;
328
+        if ($conf->entity != 0) $sql .= " AND entity = ".$conf->entity;
329 329
 
330 330
         dol_syslog(get_class($this)."::fetch", LOG_DEBUG);
331 331
         $resql = $this->db->query($sql);
332 332
         if ($resql)
333 333
         {
334
-            if($this->db->num_rows($resql) > 0)
334
+            if ($this->db->num_rows($resql) > 0)
335 335
             {
336 336
                 $obj = $this->db->fetch_object($resql);
337 337
                 $this->entity = $obj->entity;
@@ -347,7 +347,7 @@  discard block
 block discarded – undo
347 347
                 return 0;
348 348
             }
349 349
         } else {
350
-            $this->error=$this->db->lasterror();
350
+            $this->error = $this->db->lasterror();
351 351
             return -1;
352 352
         }
353 353
     }
@@ -365,24 +365,24 @@  discard block
 block discarded – undo
365 365
         $error = 0;
366 366
 
367 367
         // Call trigger
368
-        $result=$this->call_trigger('LINK_DELETE',$user);
368
+        $result = $this->call_trigger('LINK_DELETE', $user);
369 369
         if ($result < 0) return -1;
370 370
         // End call triggers
371 371
 
372 372
         $this->db->begin();
373 373
 
374 374
         // Remove link
375
-        $sql = "DELETE FROM " . MAIN_DB_PREFIX . "links";
376
-        $sql.= " WHERE rowid = " . $this->id;
375
+        $sql = "DELETE FROM ".MAIN_DB_PREFIX."links";
376
+        $sql .= " WHERE rowid = ".$this->id;
377 377
 
378 378
         dol_syslog(get_class($this)."::delete", LOG_DEBUG);
379
-        if (! $this->db->query($sql))
379
+        if (!$this->db->query($sql))
380 380
         {
381 381
             $error++;
382 382
             $this->error = $this->db->lasterror();
383 383
         }
384 384
 
385
-        if (! $error) {
385
+        if (!$error) {
386 386
             $this->db->commit();
387 387
 
388 388
             return 1;
Please login to merge, or discard this patch.
Braces   +30 added lines, -20 removed lines patch added patch discarded remove patch
@@ -112,7 +112,9 @@  discard block
 block discarded – undo
112 112
             if ($this->id > 0) {
113 113
                 // Call trigger
114 114
                 $result=$this->call_trigger('LINK_CREATE',$user);
115
-                if ($result < 0) $error++;
115
+                if ($result < 0) {
116
+                    $error++;
117
+                }
116 118
                 // End call triggers
117 119
             } else {
118 120
                 $error++;
@@ -123,23 +125,20 @@  discard block
 block discarded – undo
123 125
                 dol_syslog(get_class($this)."::Create success id=" . $this->id);
124 126
                 $this->db->commit();
125 127
                 return $this->id;
126
-            }
127
-            else
128
+            } else
128 129
             {
129 130
                 dol_syslog(get_class($this)."::Create echec update " . $this->error, LOG_ERR);
130 131
                 $this->db->rollback();
131 132
                 return -3;
132 133
             }
133
-        }
134
-        else
134
+        } else
135 135
         {
136 136
             if ($this->db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS')
137 137
             {
138 138
 
139 139
                 $this->error=$langs->trans("ErrorCompanyNameAlreadyExists",$this->name);
140 140
                 $result=-1;
141
-            }
142
-            else
141
+            } else
143 142
             {
144 143
                 $this->error=$this->db->lasterror();
145 144
                 $result=-2;
@@ -175,7 +174,9 @@  discard block
 block discarded – undo
175 174
 
176 175
         // Clean parameters
177 176
         $this->url       = clean_url($this->url,1);
178
-        if (empty($this->label)) $this->label = basename($this->url);
177
+        if (empty($this->label)) {
178
+            $this->label = basename($this->url);
179
+        }
179 180
         $this->label     = trim($this->label);
180 181
 
181 182
 
@@ -198,7 +199,9 @@  discard block
 block discarded – undo
198 199
             {
199 200
                 // Call trigger
200 201
                 $result=$this->call_trigger('LINK_MODIFY',$user);
201
-                if ($result < 0) $error++;
202
+                if ($result < 0) {
203
+                    $error++;
204
+                }
202 205
                 // End call triggers
203 206
             }
204 207
 
@@ -212,16 +215,14 @@  discard block
 block discarded – undo
212 215
                 $this->db->rollback();
213 216
                 return -1;
214 217
             }
215
-        }
216
-        else
218
+        } else
217 219
         {
218 220
             if ($this->db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS')
219 221
             {
220 222
                 // Doublon
221 223
                 $this->error = $langs->trans("ErrorDuplicateField");
222 224
                 $result =  -1;
223
-            }
224
-            else
225
+            } else
225 226
             {
226 227
                 $this->error = $langs->trans("Error sql = " . $sql);
227 228
                 $result =  -2;
@@ -247,7 +248,9 @@  discard block
 block discarded – undo
247 248
 
248 249
         $sql = "SELECT rowid, entity, datea, url, label, objecttype, objectid FROM " . MAIN_DB_PREFIX . "links";
249 250
         $sql .= " WHERE objecttype = '" . $objecttype . "' AND objectid = " . $objectid;
250
-        if ($conf->entity != 0) $sql .= " AND entity = " . $conf->entity;
251
+        if ($conf->entity != 0) {
252
+            $sql .= " AND entity = " . $conf->entity;
253
+        }
251 254
         if ($sortfield) {
252 255
             if (empty($sortorder)) {
253 256
                 $sortorder = "ASC";
@@ -298,13 +301,17 @@  discard block
 block discarded – undo
298 301
 
299 302
         $sql = "SELECT COUNT(rowid) as nb FROM " . MAIN_DB_PREFIX . "links";
300 303
         $sql .= " WHERE objecttype = '" . $objecttype . "' AND objectid = " . $objectid;
301
-        if ($conf->entity != 0) $sql .= " AND entity = " . $conf->entity;
304
+        if ($conf->entity != 0) {
305
+            $sql .= " AND entity = " . $conf->entity;
306
+        }
302 307
 
303 308
         $resql = $db->query($sql);
304 309
         if ($resql)
305 310
         {
306 311
             $obj = $db->fetch_object($resql);
307
-            if ($obj) return $obj->nb;
312
+            if ($obj) {
313
+                return $obj->nb;
314
+            }
308 315
         }
309 316
         return -1;
310 317
     }
@@ -325,7 +332,9 @@  discard block
 block discarded – undo
325 332
 
326 333
         $sql = "SELECT rowid, entity, datea, url, label, objecttype, objectid FROM " . MAIN_DB_PREFIX . "links";
327 334
         $sql .= " WHERE rowid = " . $rowid;
328
-        if($conf->entity != 0) $sql .= " AND entity = " . $conf->entity;
335
+        if($conf->entity != 0) {
336
+            $sql .= " AND entity = " . $conf->entity;
337
+        }
329 338
 
330 339
         dol_syslog(get_class($this)."::fetch", LOG_DEBUG);
331 340
         $resql = $this->db->query($sql);
@@ -341,8 +350,7 @@  discard block
 block discarded – undo
341 350
                 $this->objecttype = $obj->objecttype;
342 351
                 $this->objectid = $obj->objectid;
343 352
                 return 1;
344
-            }
345
-            else
353
+            } else
346 354
 			{
347 355
                 return 0;
348 356
             }
@@ -366,7 +374,9 @@  discard block
 block discarded – undo
366 374
 
367 375
         // Call trigger
368 376
         $result=$this->call_trigger('LINK_DELETE',$user);
369
-        if ($result < 0) return -1;
377
+        if ($result < 0) {
378
+            return -1;
379
+        }
370 380
         // End call triggers
371 381
 
372 382
         $this->db->begin();
Please login to merge, or discard this patch.
dolibarr/htdocs/core/class/utils.class.php 3 patches
Indentation   +915 added lines, -915 removed lines patch added patch discarded remove patch
@@ -27,857 +27,857 @@  discard block
 block discarded – undo
27 27
  */
28 28
 class Utils
29 29
 {
30
-	/**
30
+    /**
31 31
      * @var DoliDB Database handler.
32 32
      */
33 33
     public $db;
34 34
 
35
-	var $output;   // Used by Cron method to return message
36
-	var $result;   // Used by Cron method to return data
37
-
38
-	/**
39
-	 *	Constructor
40
-	 *
41
-	 *  @param	DoliDB	$db		Database handler
42
-	 */
43
-	function __construct($db)
44
-	{
45
-		$this->db = $db;
46
-	}
47
-
48
-
49
-	/**
50
-	 *  Purge files into directory of data files.
51
-	 *  CAN BE A CRON TASK
52
-	 *
53
-	 *  @param	string		$choice		Choice of purge mode ('tempfiles', '' or 'tempfilesold' to purge temp older than 24h, 'allfiles', 'logfile')
54
-	 *  @return	int						0 if OK, < 0 if KO (this function is used also by cron so only 0 is OK)
55
-	 */
56
-	function purgeFiles($choice='tempfilesold')
57
-	{
58
-		global $conf, $langs, $dolibarr_main_data_root;
59
-
60
-		$langs->load("admin");
61
-
62
-		dol_syslog("Utils::purgeFiles choice=".$choice, LOG_DEBUG);
63
-		require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
64
-
65
-		$filesarray=array();
66
-		if (empty($choice)) $choice='tempfilesold';
67
-
68
-		if ($choice=='tempfiles' || $choice=='tempfilesold')
69
-		{
70
-			// Delete temporary files
71
-			if ($dolibarr_main_data_root)
72
-			{
73
-				$filesarray=dol_dir_list($dolibarr_main_data_root, "directories", 1, '^temp$', '', 'name', SORT_ASC, 2, 0, '', 1);	// Do not follow symlinks
74
-				if ($choice == 'tempfilesold')
75
-				{
76
-					$now = dol_now();
77
-					foreach($filesarray as $key => $val)
78
-					{
79
-						if ($val['date'] > ($now - (24 * 3600))) unset($filesarray[$key]);	// Discard files not older than 24h
80
-					}
81
-				}
82
-			}
83
-		}
84
-
85
-		if ($choice=='allfiles')
86
-		{
87
-			// Delete all files (except install.lock, do not follow symbolic links)
88
-			if ($dolibarr_main_data_root)
89
-			{
90
-				$filesarray=dol_dir_list($dolibarr_main_data_root, "all", 0, '', 'install\.lock$', 'name', SORT_ASC, 0, 0, '', 1);
91
-			}
92
-		}
93
-
94
-		if ($choice=='logfile')
95
-		{
96
-			// Define files log
97
-			if ($dolibarr_main_data_root)
98
-			{
99
-				$filesarray=dol_dir_list($dolibarr_main_data_root, "files", 0, '.*\.log[\.0-9]*(\.gz)?$', 'install\.lock$', 'name', SORT_ASC, 0, 0, '', 1);
100
-			}
101
-
102
-			$filelog='';
103
-			if (! empty($conf->syslog->enabled))
104
-			{
105
-				$filelog=$conf->global->SYSLOG_FILE;
106
-				$filelog=preg_replace('/DOL_DATA_ROOT/i',DOL_DATA_ROOT,$filelog);
107
-
108
-				$alreadyincluded=false;
109
-				foreach ($filesarray as $tmpcursor)
110
-				{
111
-					if ($tmpcursor['fullname'] == $filelog) { $alreadyincluded=true; }
112
-				}
113
-				if (! $alreadyincluded) $filesarray[]=array('fullname'=>$filelog,'type'=>'file');
114
-			}
115
-		}
116
-
117
-		$count=0;
118
-		$countdeleted=0;
119
-		$counterror=0;
120
-		if (count($filesarray))
121
-		{
122
-			foreach($filesarray as $key => $value)
123
-			{
124
-				//print "x ".$filesarray[$key]['fullname']."-".$filesarray[$key]['type']."<br>\n";
125
-				if ($filesarray[$key]['type'] == 'dir')
126
-				{
127
-					$startcount=0;
128
-					$tmpcountdeleted=0;
129
-					$result=dol_delete_dir_recursive($filesarray[$key]['fullname'], $startcount, 1, 0, $tmpcountdeleted);
130
-					$count+=$result;
131
-					$countdeleted+=$tmpcountdeleted;
132
-				}
133
-				elseif ($filesarray[$key]['type'] == 'file')
134
-				{
135
-					// If (file that is not logfile) or (if mode is logfile)
136
-					if ($filesarray[$key]['fullname'] != $filelog || $choice=='logfile')
137
-					{
138
-						$result=dol_delete_file($filesarray[$key]['fullname'], 1, 1);
139
-						if ($result)
140
-						{
141
-							$count++;
142
-							$countdeleted++;
143
-						}
144
-						else
145
-						{
146
-							$counterror++;
147
-						}
148
-					}
149
-				}
150
-			}
151
-
152
-			// Update cachenbofdoc
153
-			if (! empty($conf->ecm->enabled) && $choice=='allfiles')
154
-			{
155
-				require_once DOL_DOCUMENT_ROOT.'/ecm/class/ecmdirectory.class.php';
156
-				$ecmdirstatic = new EcmDirectory($this->db);
157
-				$result = $ecmdirstatic->refreshcachenboffile(1);
158
-			}
159
-		}
160
-
161
-		if ($count > 0)
162
-		{
163
-			$this->output=$langs->trans("PurgeNDirectoriesDeleted", $countdeleted);
164
-			if ($count > $countdeleted) $this->output.='<br>'.$langs->trans("PurgeNDirectoriesFailed", ($count - $countdeleted));
165
-		}
166
-		else $this->output=$langs->trans("PurgeNothingToDelete").($choice == 'tempfilesold' ? ' (older than 24h)':'');
167
-
168
-		//return $count;
169
-		return 0;     // This function can be called by cron so must return 0 if OK
170
-	}
171
-
172
-
173
-	/**
174
-	 *  Make a backup of database
175
-	 *  CAN BE A CRON TASK
176
-	 *
177
-	 *  @param	string		$compression	   'gz' or 'bz' or 'none'
178
-	 *  @param  string      $type              'mysql', 'postgresql', ...
179
-	 *  @param  int         $usedefault        1=Use default backup profile (Set this to 1 when used as cron)
180
-	 *  @param  string      $file              'auto' or filename to build
181
-	 *  @param  int         $keeplastnfiles    Keep only last n files (not used yet)
182
-	 *  @param	int		    $execmethod		   0=Use default method (that is 1 by default), 1=Use the PHP 'exec', 2=Use the 'popen' method
183
-	 *  @return	int						       0 if OK, < 0 if KO (this function is used also by cron so only 0 is OK)
184
-	 */
185
-	function dumpDatabase($compression='none', $type='auto', $usedefault=1, $file='auto', $keeplastnfiles=0, $execmethod=0)
186
-	{
187
-		global $db, $conf, $langs, $dolibarr_main_data_root;
188
-		global $dolibarr_main_db_name, $dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_port, $dolibarr_main_db_pass;
189
-
190
-		$langs->load("admin");
191
-
192
-		dol_syslog("Utils::dumpDatabase type=".$type." compression=".$compression." file=".$file, LOG_DEBUG);
193
-		require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
194
-
195
-		// Check compression parameter
196
-		if (! in_array($compression, array('none', 'gz', 'bz', 'zip')))
197
-		{
198
-			$langs->load("errors");
199
-			$this->error=$langs->transnoentitiesnoconv("ErrorBadValueForParameter", $compression, "Compression");
200
-			return -1;
201
-		}
202
-
203
-		// Check type parameter
204
-		if ($type == 'auto') $type = $db->type;
205
-		if (! in_array($type, array('postgresql', 'pgsql', 'mysql', 'mysqli', 'mysqlnobin')))
206
-		{
207
-			$langs->load("errors");
208
-			$this->error=$langs->transnoentitiesnoconv("ErrorBadValueForParameter", $type, "Basetype");
209
-			return -1;
210
-		}
211
-
212
-		// Check file parameter
213
-		if ($file == 'auto')
214
-		{
215
-			$prefix='dump';
216
-			$ext='sql';
217
-			if (in_array($type, array('mysql', 'mysqli')))  { $prefix='mysqldump'; $ext='sql'; }
218
-			//if ($label == 'PostgreSQL') { $prefix='pg_dump'; $ext='dump'; }
219
-			if (in_array($type, array('pgsql'))) { $prefix='pg_dump'; $ext='sql'; }
220
-			$file=$prefix.'_'.$dolibarr_main_db_name.'_'.dol_sanitizeFileName(DOL_VERSION).'_'.strftime("%Y%m%d%H%M").'.'.$ext;
221
-		}
222
-
223
-		$outputdir  = $conf->admin->dir_output.'/backup';
224
-		$result=dol_mkdir($outputdir);
225
-
226
-
227
-		// MYSQL
228
-		if ($type == 'mysql' || $type == 'mysqli')
229
-		{
230
-			$cmddump=$conf->global->SYSTEMTOOLS_MYSQLDUMP;
231
-
232
-
233
-			$outputfile = $outputdir.'/'.$file;
234
-			// for compression format, we add extension
235
-			$compression=$compression ? $compression : 'none';
236
-			if ($compression == 'gz') $outputfile.='.gz';
237
-			if ($compression == 'bz') $outputfile.='.bz2';
238
-			$outputerror = $outputfile.'.err';
239
-			dol_mkdir($conf->admin->dir_output.'/backup');
240
-
241
-			// Parameteres execution
242
-			$command=$cmddump;
243
-			if (preg_match("/\s/",$command)) $command=escapeshellarg($command);	// Use quotes on command
244
-
245
-			//$param=escapeshellarg($dolibarr_main_db_name)." -h ".escapeshellarg($dolibarr_main_db_host)." -u ".escapeshellarg($dolibarr_main_db_user)." -p".escapeshellarg($dolibarr_main_db_pass);
246
-			$param=$dolibarr_main_db_name." -h ".$dolibarr_main_db_host;
247
-			$param.=" -u ".$dolibarr_main_db_user;
248
-			if (! empty($dolibarr_main_db_port)) $param.=" -P ".$dolibarr_main_db_port;
249
-			if (! GETPOST("use_transaction"))    $param.=" -l --single-transaction";
250
-			if (GETPOST("disable_fk") || $usedefault) $param.=" -K";
251
-			if (GETPOST("sql_compat") && GETPOST("sql_compat") != 'NONE') $param.=" --compatible=".escapeshellarg(GETPOST("sql_compat","alpha"));
252
-			if (GETPOST("drop_database"))        $param.=" --add-drop-database";
253
-			if (GETPOST("sql_structure") || $usedefault)
254
-			{
255
-				if (GETPOST("drop") || $usedefault)	$param.=" --add-drop-table=TRUE";
256
-				else 							    $param.=" --add-drop-table=FALSE";
257
-			}
258
-			else
259
-			{
260
-				$param.=" -t";
261
-			}
262
-			if (GETPOST("disable-add-locks")) $param.=" --add-locks=FALSE";
263
-			if (GETPOST("sql_data") || $usedefault)
264
-			{
265
-				$param.=" --tables";
266
-				if (GETPOST("showcolumns") || $usedefault)	 $param.=" -c";
267
-				if (GETPOST("extended_ins") || $usedefault) $param.=" -e";
268
-				else $param.=" --skip-extended-insert";
269
-				if (GETPOST("delayed"))	 	 $param.=" --delayed-insert";
270
-				if (GETPOST("sql_ignore"))	 $param.=" --insert-ignore";
271
-				if (GETPOST("hexforbinary") || $usedefault) $param.=" --hex-blob";
272
-			}
273
-			else
274
-			{
275
-				$param.=" -d";    // No row information (no data)
276
-			}
277
-			$param.=" --default-character-set=utf8";    // We always save output into utf8 charset
278
-			$paramcrypted=$param;
279
-			$paramclear=$param;
280
-			if (! empty($dolibarr_main_db_pass))
281
-			{
282
-				$paramcrypted.=' -p"'.preg_replace('/./i','*',$dolibarr_main_db_pass).'"';
283
-				$paramclear.=' -p"'.str_replace(array('"','`'),array('\"','\`'),$dolibarr_main_db_pass).'"';
284
-			}
285
-
286
-			$errormsg='';
287
-			$handle = '';
288
-
289
-			// Start call method to execute dump
290
-			$fullcommandcrypted=$command." ".$paramcrypted." 2>&1";
291
-			$fullcommandclear=$command." ".$paramclear." 2>&1";
292
-			if ($compression == 'none') $handle = fopen($outputfile, 'w');
293
-			if ($compression == 'gz')   $handle = gzopen($outputfile, 'w');
294
-			if ($compression == 'bz')   $handle = bzopen($outputfile, 'w');
295
-
296
-			if ($handle)
297
-			{
298
-				if (! empty($conf->global->MAIN_EXEC_USE_POPEN)) $execmethod=$conf->global->MAIN_EXEC_USE_POPEN;
299
-				if (empty($execmethod)) $execmethod=1;
300
-
301
-				$ok=0;
302
-				dol_syslog("Utils::dumpDatabase execmethod=".$execmethod." command:".$fullcommandcrypted, LOG_DEBUG);
303
-
304
-				// TODO Replace with executeCLI function
305
-				if ($execmethod == 1)
306
-				{
307
-					exec($fullcommandclear, $readt, $retval);
308
-					$result = $retval;
309
-
310
-					if ($retval != 0)
311
-					{
312
-						$langs->load("errors");
313
-						dol_syslog("Datadump retval after exec=".$retval, LOG_ERR);
314
-						$error = 'Error '.$retval;
315
-						$ok=0;
316
-					}
317
-					else
318
-					{
319
-						$i=0;
320
-						if (!empty($readt))
321
-						foreach($readt as $key=>$read)
322
-						{
323
-							$i++;   // output line number
324
-							if ($i == 1 && preg_match('/Warning.*Using a password/i', $read)) continue;
325
-							fwrite($handle, $read.($execmethod == 2 ? '' : "\n"));
326
-							if (preg_match('/'.preg_quote('-- Dump completed').'/i',$read)) $ok=1;
327
-							elseif (preg_match('/'.preg_quote('SET SQL_NOTES=@OLD_SQL_NOTES').'/i',$read)) $ok=1;
328
-						}
329
-					}
330
-				}
331
-				if ($execmethod == 2)	// With this method, there is no way to get the return code, only output
332
-				{
333
-					$handlein = popen($fullcommandclear, 'r');
334
-					$i=0;
335
-					while (!feof($handlein))
336
-					{
337
-						$i++;   // output line number
338
-						$read = fgets($handlein);
339
-						// Exclude warning line we don't want
340
-						if ($i == 1 && preg_match('/Warning.*Using a password/i', $read)) continue;
341
-						fwrite($handle,$read);
342
-						if (preg_match('/'.preg_quote('-- Dump completed').'/i',$read)) $ok=1;
343
-						elseif (preg_match('/'.preg_quote('SET SQL_NOTES=@OLD_SQL_NOTES').'/i',$read)) $ok=1;
344
-					}
345
-					pclose($handlein);
346
-				}
347
-
348
-
349
-				if ($compression == 'none') fclose($handle);
350
-				if ($compression == 'gz')   gzclose($handle);
351
-				if ($compression == 'bz')   bzclose($handle);
352
-
353
-				if (! empty($conf->global->MAIN_UMASK))
354
-					@chmod($outputfile, octdec($conf->global->MAIN_UMASK));
355
-			}
356
-			else
357
-			{
358
-				$langs->load("errors");
359
-				dol_syslog("Failed to open file ".$outputfile,LOG_ERR);
360
-				$errormsg=$langs->trans("ErrorFailedToWriteInDir");
361
-			}
362
-
363
-			// Get errorstring
364
-			if ($compression == 'none') $handle = fopen($outputfile, 'r');
365
-			if ($compression == 'gz')   $handle = gzopen($outputfile, 'r');
366
-			if ($compression == 'bz')   $handle = bzopen($outputfile, 'r');
367
-			if ($handle)
368
-			{
369
-				// Get 2048 first chars of error message.
370
-				$errormsg = fgets($handle,2048);
371
-				// Close file
372
-				if ($compression == 'none') fclose($handle);
373
-				if ($compression == 'gz')   gzclose($handle);
374
-				if ($compression == 'bz')   bzclose($handle);
375
-				if ($ok && preg_match('/^-- MySql/i',$errormsg)) $errormsg='';	// Pas erreur
376
-				else
377
-				{
378
-					// Renommer fichier sortie en fichier erreur
379
-					//print "$outputfile -> $outputerror";
380
-					@dol_delete_file($outputerror, 1, 0, 0, null, false, 0);
381
-					@rename($outputfile,$outputerror);
382
-					// Si safe_mode on et command hors du parametre exec, on a un fichier out vide donc errormsg vide
383
-					if (! $errormsg)
384
-					{
385
-						$langs->load("errors");
386
-						$errormsg=$langs->trans("ErrorFailedToRunExternalCommand");
387
-					}
388
-				}
389
-			}
390
-			// Fin execution commande
391
-
392
-			$this->output = $errormsg;
393
-			$this->error = $errormsg;
394
-			$this->result = array("commandbackuplastdone" => $command." ".$paramcrypted, "commandbackuptorun" => "");
395
-			//if (empty($this->output)) $this->output=$this->result['commandbackuplastdone'];
396
-		}
397
-
398
-		// MYSQL NO BIN
399
-		if ($type == 'mysqlnobin')
400
-		{
401
-			$outputfile = $outputdir.'/'.$file;
402
-			$outputfiletemp = $outputfile.'-TMP.sql';
403
-			// for compression format, we add extension
404
-			$compression=$compression ? $compression : 'none';
405
-			if ($compression == 'gz') $outputfile.='.gz';
406
-			if ($compression == 'bz') $outputfile.='.bz2';
407
-			$outputerror = $outputfile.'.err';
408
-			dol_mkdir($conf->admin->dir_output.'/backup');
409
-
410
-			if ($compression == 'gz' or $compression == 'bz')
411
-			{
412
-				$this->backupTables($outputfiletemp);
413
-				dol_compress_file($outputfiletemp, $outputfile, $compression);
414
-				unlink($outputfiletemp);
415
-			}
416
-			else
417
-			{
418
-				$this->backupTables($outputfile);
419
-			}
420
-
421
-			$this->output = "";
422
-			$this->result = array("commandbackuplastdone" => "", "commandbackuptorun" => "");
423
-		}
424
-
425
-		// POSTGRESQL
426
-		if ($type == 'postgresql' || $type == 'pgsql')
427
-		{
428
-			$cmddump=$conf->global->SYSTEMTOOLS_POSTGRESQLDUMP;
429
-
430
-			$outputfile = $outputdir.'/'.$file;
431
-			// for compression format, we add extension
432
-			$compression=$compression ? $compression : 'none';
433
-			if ($compression == 'gz') $outputfile.='.gz';
434
-			if ($compression == 'bz') $outputfile.='.bz2';
435
-			$outputerror = $outputfile.'.err';
436
-			dol_mkdir($conf->admin->dir_output.'/backup');
437
-
438
-			// Parameteres execution
439
-			$command=$cmddump;
440
-			if (preg_match("/\s/",$command)) $command=escapeshellarg($command);	// Use quotes on command
441
-
442
-			//$param=escapeshellarg($dolibarr_main_db_name)." -h ".escapeshellarg($dolibarr_main_db_host)." -u ".escapeshellarg($dolibarr_main_db_user)." -p".escapeshellarg($dolibarr_main_db_pass);
443
-			//$param="-F c";
444
-			$param="-F p";
445
-			$param.=" --no-tablespaces --inserts -h ".$dolibarr_main_db_host;
446
-			$param.=" -U ".$dolibarr_main_db_user;
447
-			if (! empty($dolibarr_main_db_port)) $param.=" -p ".$dolibarr_main_db_port;
448
-			if (GETPOST("sql_compat") && GETPOST("sql_compat") == 'ANSI') $param.="  --disable-dollar-quoting";
449
-			if (GETPOST("drop_database"))        $param.=" -c -C";
450
-			if (GETPOST("sql_structure"))
451
-			{
452
-				if (GETPOST("drop"))			 $param.=" --add-drop-table";
453
-				if (! GETPOST("sql_data"))       $param.=" -s";
454
-			}
455
-			if (GETPOST("sql_data"))
456
-			{
457
-				if (! GETPOST("sql_structure"))	 $param.=" -a";
458
-				if (GETPOST("showcolumns"))	     $param.=" -c";
459
-			}
460
-			$param.=' -f "'.$outputfile.'"';
461
-			//if ($compression == 'none')
462
-			if ($compression == 'gz')   $param.=' -Z 9';
463
-			//if ($compression == 'bz')
464
-			$paramcrypted=$param;
465
-			$paramclear=$param;
466
-			/*if (! empty($dolibarr_main_db_pass))
35
+    var $output;   // Used by Cron method to return message
36
+    var $result;   // Used by Cron method to return data
37
+
38
+    /**
39
+     *	Constructor
40
+     *
41
+     *  @param	DoliDB	$db		Database handler
42
+     */
43
+    function __construct($db)
44
+    {
45
+        $this->db = $db;
46
+    }
47
+
48
+
49
+    /**
50
+     *  Purge files into directory of data files.
51
+     *  CAN BE A CRON TASK
52
+     *
53
+     *  @param	string		$choice		Choice of purge mode ('tempfiles', '' or 'tempfilesold' to purge temp older than 24h, 'allfiles', 'logfile')
54
+     *  @return	int						0 if OK, < 0 if KO (this function is used also by cron so only 0 is OK)
55
+     */
56
+    function purgeFiles($choice='tempfilesold')
57
+    {
58
+        global $conf, $langs, $dolibarr_main_data_root;
59
+
60
+        $langs->load("admin");
61
+
62
+        dol_syslog("Utils::purgeFiles choice=".$choice, LOG_DEBUG);
63
+        require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
64
+
65
+        $filesarray=array();
66
+        if (empty($choice)) $choice='tempfilesold';
67
+
68
+        if ($choice=='tempfiles' || $choice=='tempfilesold')
69
+        {
70
+            // Delete temporary files
71
+            if ($dolibarr_main_data_root)
72
+            {
73
+                $filesarray=dol_dir_list($dolibarr_main_data_root, "directories", 1, '^temp$', '', 'name', SORT_ASC, 2, 0, '', 1);	// Do not follow symlinks
74
+                if ($choice == 'tempfilesold')
75
+                {
76
+                    $now = dol_now();
77
+                    foreach($filesarray as $key => $val)
78
+                    {
79
+                        if ($val['date'] > ($now - (24 * 3600))) unset($filesarray[$key]);	// Discard files not older than 24h
80
+                    }
81
+                }
82
+            }
83
+        }
84
+
85
+        if ($choice=='allfiles')
86
+        {
87
+            // Delete all files (except install.lock, do not follow symbolic links)
88
+            if ($dolibarr_main_data_root)
89
+            {
90
+                $filesarray=dol_dir_list($dolibarr_main_data_root, "all", 0, '', 'install\.lock$', 'name', SORT_ASC, 0, 0, '', 1);
91
+            }
92
+        }
93
+
94
+        if ($choice=='logfile')
95
+        {
96
+            // Define files log
97
+            if ($dolibarr_main_data_root)
98
+            {
99
+                $filesarray=dol_dir_list($dolibarr_main_data_root, "files", 0, '.*\.log[\.0-9]*(\.gz)?$', 'install\.lock$', 'name', SORT_ASC, 0, 0, '', 1);
100
+            }
101
+
102
+            $filelog='';
103
+            if (! empty($conf->syslog->enabled))
104
+            {
105
+                $filelog=$conf->global->SYSLOG_FILE;
106
+                $filelog=preg_replace('/DOL_DATA_ROOT/i',DOL_DATA_ROOT,$filelog);
107
+
108
+                $alreadyincluded=false;
109
+                foreach ($filesarray as $tmpcursor)
110
+                {
111
+                    if ($tmpcursor['fullname'] == $filelog) { $alreadyincluded=true; }
112
+                }
113
+                if (! $alreadyincluded) $filesarray[]=array('fullname'=>$filelog,'type'=>'file');
114
+            }
115
+        }
116
+
117
+        $count=0;
118
+        $countdeleted=0;
119
+        $counterror=0;
120
+        if (count($filesarray))
121
+        {
122
+            foreach($filesarray as $key => $value)
123
+            {
124
+                //print "x ".$filesarray[$key]['fullname']."-".$filesarray[$key]['type']."<br>\n";
125
+                if ($filesarray[$key]['type'] == 'dir')
126
+                {
127
+                    $startcount=0;
128
+                    $tmpcountdeleted=0;
129
+                    $result=dol_delete_dir_recursive($filesarray[$key]['fullname'], $startcount, 1, 0, $tmpcountdeleted);
130
+                    $count+=$result;
131
+                    $countdeleted+=$tmpcountdeleted;
132
+                }
133
+                elseif ($filesarray[$key]['type'] == 'file')
134
+                {
135
+                    // If (file that is not logfile) or (if mode is logfile)
136
+                    if ($filesarray[$key]['fullname'] != $filelog || $choice=='logfile')
137
+                    {
138
+                        $result=dol_delete_file($filesarray[$key]['fullname'], 1, 1);
139
+                        if ($result)
140
+                        {
141
+                            $count++;
142
+                            $countdeleted++;
143
+                        }
144
+                        else
145
+                        {
146
+                            $counterror++;
147
+                        }
148
+                    }
149
+                }
150
+            }
151
+
152
+            // Update cachenbofdoc
153
+            if (! empty($conf->ecm->enabled) && $choice=='allfiles')
154
+            {
155
+                require_once DOL_DOCUMENT_ROOT.'/ecm/class/ecmdirectory.class.php';
156
+                $ecmdirstatic = new EcmDirectory($this->db);
157
+                $result = $ecmdirstatic->refreshcachenboffile(1);
158
+            }
159
+        }
160
+
161
+        if ($count > 0)
162
+        {
163
+            $this->output=$langs->trans("PurgeNDirectoriesDeleted", $countdeleted);
164
+            if ($count > $countdeleted) $this->output.='<br>'.$langs->trans("PurgeNDirectoriesFailed", ($count - $countdeleted));
165
+        }
166
+        else $this->output=$langs->trans("PurgeNothingToDelete").($choice == 'tempfilesold' ? ' (older than 24h)':'');
167
+
168
+        //return $count;
169
+        return 0;     // This function can be called by cron so must return 0 if OK
170
+    }
171
+
172
+
173
+    /**
174
+     *  Make a backup of database
175
+     *  CAN BE A CRON TASK
176
+     *
177
+     *  @param	string		$compression	   'gz' or 'bz' or 'none'
178
+     *  @param  string      $type              'mysql', 'postgresql', ...
179
+     *  @param  int         $usedefault        1=Use default backup profile (Set this to 1 when used as cron)
180
+     *  @param  string      $file              'auto' or filename to build
181
+     *  @param  int         $keeplastnfiles    Keep only last n files (not used yet)
182
+     *  @param	int		    $execmethod		   0=Use default method (that is 1 by default), 1=Use the PHP 'exec', 2=Use the 'popen' method
183
+     *  @return	int						       0 if OK, < 0 if KO (this function is used also by cron so only 0 is OK)
184
+     */
185
+    function dumpDatabase($compression='none', $type='auto', $usedefault=1, $file='auto', $keeplastnfiles=0, $execmethod=0)
186
+    {
187
+        global $db, $conf, $langs, $dolibarr_main_data_root;
188
+        global $dolibarr_main_db_name, $dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_port, $dolibarr_main_db_pass;
189
+
190
+        $langs->load("admin");
191
+
192
+        dol_syslog("Utils::dumpDatabase type=".$type." compression=".$compression." file=".$file, LOG_DEBUG);
193
+        require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
194
+
195
+        // Check compression parameter
196
+        if (! in_array($compression, array('none', 'gz', 'bz', 'zip')))
197
+        {
198
+            $langs->load("errors");
199
+            $this->error=$langs->transnoentitiesnoconv("ErrorBadValueForParameter", $compression, "Compression");
200
+            return -1;
201
+        }
202
+
203
+        // Check type parameter
204
+        if ($type == 'auto') $type = $db->type;
205
+        if (! in_array($type, array('postgresql', 'pgsql', 'mysql', 'mysqli', 'mysqlnobin')))
206
+        {
207
+            $langs->load("errors");
208
+            $this->error=$langs->transnoentitiesnoconv("ErrorBadValueForParameter", $type, "Basetype");
209
+            return -1;
210
+        }
211
+
212
+        // Check file parameter
213
+        if ($file == 'auto')
214
+        {
215
+            $prefix='dump';
216
+            $ext='sql';
217
+            if (in_array($type, array('mysql', 'mysqli')))  { $prefix='mysqldump'; $ext='sql'; }
218
+            //if ($label == 'PostgreSQL') { $prefix='pg_dump'; $ext='dump'; }
219
+            if (in_array($type, array('pgsql'))) { $prefix='pg_dump'; $ext='sql'; }
220
+            $file=$prefix.'_'.$dolibarr_main_db_name.'_'.dol_sanitizeFileName(DOL_VERSION).'_'.strftime("%Y%m%d%H%M").'.'.$ext;
221
+        }
222
+
223
+        $outputdir  = $conf->admin->dir_output.'/backup';
224
+        $result=dol_mkdir($outputdir);
225
+
226
+
227
+        // MYSQL
228
+        if ($type == 'mysql' || $type == 'mysqli')
229
+        {
230
+            $cmddump=$conf->global->SYSTEMTOOLS_MYSQLDUMP;
231
+
232
+
233
+            $outputfile = $outputdir.'/'.$file;
234
+            // for compression format, we add extension
235
+            $compression=$compression ? $compression : 'none';
236
+            if ($compression == 'gz') $outputfile.='.gz';
237
+            if ($compression == 'bz') $outputfile.='.bz2';
238
+            $outputerror = $outputfile.'.err';
239
+            dol_mkdir($conf->admin->dir_output.'/backup');
240
+
241
+            // Parameteres execution
242
+            $command=$cmddump;
243
+            if (preg_match("/\s/",$command)) $command=escapeshellarg($command);	// Use quotes on command
244
+
245
+            //$param=escapeshellarg($dolibarr_main_db_name)." -h ".escapeshellarg($dolibarr_main_db_host)." -u ".escapeshellarg($dolibarr_main_db_user)." -p".escapeshellarg($dolibarr_main_db_pass);
246
+            $param=$dolibarr_main_db_name." -h ".$dolibarr_main_db_host;
247
+            $param.=" -u ".$dolibarr_main_db_user;
248
+            if (! empty($dolibarr_main_db_port)) $param.=" -P ".$dolibarr_main_db_port;
249
+            if (! GETPOST("use_transaction"))    $param.=" -l --single-transaction";
250
+            if (GETPOST("disable_fk") || $usedefault) $param.=" -K";
251
+            if (GETPOST("sql_compat") && GETPOST("sql_compat") != 'NONE') $param.=" --compatible=".escapeshellarg(GETPOST("sql_compat","alpha"));
252
+            if (GETPOST("drop_database"))        $param.=" --add-drop-database";
253
+            if (GETPOST("sql_structure") || $usedefault)
254
+            {
255
+                if (GETPOST("drop") || $usedefault)	$param.=" --add-drop-table=TRUE";
256
+                else 							    $param.=" --add-drop-table=FALSE";
257
+            }
258
+            else
259
+            {
260
+                $param.=" -t";
261
+            }
262
+            if (GETPOST("disable-add-locks")) $param.=" --add-locks=FALSE";
263
+            if (GETPOST("sql_data") || $usedefault)
264
+            {
265
+                $param.=" --tables";
266
+                if (GETPOST("showcolumns") || $usedefault)	 $param.=" -c";
267
+                if (GETPOST("extended_ins") || $usedefault) $param.=" -e";
268
+                else $param.=" --skip-extended-insert";
269
+                if (GETPOST("delayed"))	 	 $param.=" --delayed-insert";
270
+                if (GETPOST("sql_ignore"))	 $param.=" --insert-ignore";
271
+                if (GETPOST("hexforbinary") || $usedefault) $param.=" --hex-blob";
272
+            }
273
+            else
274
+            {
275
+                $param.=" -d";    // No row information (no data)
276
+            }
277
+            $param.=" --default-character-set=utf8";    // We always save output into utf8 charset
278
+            $paramcrypted=$param;
279
+            $paramclear=$param;
280
+            if (! empty($dolibarr_main_db_pass))
281
+            {
282
+                $paramcrypted.=' -p"'.preg_replace('/./i','*',$dolibarr_main_db_pass).'"';
283
+                $paramclear.=' -p"'.str_replace(array('"','`'),array('\"','\`'),$dolibarr_main_db_pass).'"';
284
+            }
285
+
286
+            $errormsg='';
287
+            $handle = '';
288
+
289
+            // Start call method to execute dump
290
+            $fullcommandcrypted=$command." ".$paramcrypted." 2>&1";
291
+            $fullcommandclear=$command." ".$paramclear." 2>&1";
292
+            if ($compression == 'none') $handle = fopen($outputfile, 'w');
293
+            if ($compression == 'gz')   $handle = gzopen($outputfile, 'w');
294
+            if ($compression == 'bz')   $handle = bzopen($outputfile, 'w');
295
+
296
+            if ($handle)
297
+            {
298
+                if (! empty($conf->global->MAIN_EXEC_USE_POPEN)) $execmethod=$conf->global->MAIN_EXEC_USE_POPEN;
299
+                if (empty($execmethod)) $execmethod=1;
300
+
301
+                $ok=0;
302
+                dol_syslog("Utils::dumpDatabase execmethod=".$execmethod." command:".$fullcommandcrypted, LOG_DEBUG);
303
+
304
+                // TODO Replace with executeCLI function
305
+                if ($execmethod == 1)
306
+                {
307
+                    exec($fullcommandclear, $readt, $retval);
308
+                    $result = $retval;
309
+
310
+                    if ($retval != 0)
311
+                    {
312
+                        $langs->load("errors");
313
+                        dol_syslog("Datadump retval after exec=".$retval, LOG_ERR);
314
+                        $error = 'Error '.$retval;
315
+                        $ok=0;
316
+                    }
317
+                    else
318
+                    {
319
+                        $i=0;
320
+                        if (!empty($readt))
321
+                        foreach($readt as $key=>$read)
322
+                        {
323
+                            $i++;   // output line number
324
+                            if ($i == 1 && preg_match('/Warning.*Using a password/i', $read)) continue;
325
+                            fwrite($handle, $read.($execmethod == 2 ? '' : "\n"));
326
+                            if (preg_match('/'.preg_quote('-- Dump completed').'/i',$read)) $ok=1;
327
+                            elseif (preg_match('/'.preg_quote('SET SQL_NOTES=@OLD_SQL_NOTES').'/i',$read)) $ok=1;
328
+                        }
329
+                    }
330
+                }
331
+                if ($execmethod == 2)	// With this method, there is no way to get the return code, only output
332
+                {
333
+                    $handlein = popen($fullcommandclear, 'r');
334
+                    $i=0;
335
+                    while (!feof($handlein))
336
+                    {
337
+                        $i++;   // output line number
338
+                        $read = fgets($handlein);
339
+                        // Exclude warning line we don't want
340
+                        if ($i == 1 && preg_match('/Warning.*Using a password/i', $read)) continue;
341
+                        fwrite($handle,$read);
342
+                        if (preg_match('/'.preg_quote('-- Dump completed').'/i',$read)) $ok=1;
343
+                        elseif (preg_match('/'.preg_quote('SET SQL_NOTES=@OLD_SQL_NOTES').'/i',$read)) $ok=1;
344
+                    }
345
+                    pclose($handlein);
346
+                }
347
+
348
+
349
+                if ($compression == 'none') fclose($handle);
350
+                if ($compression == 'gz')   gzclose($handle);
351
+                if ($compression == 'bz')   bzclose($handle);
352
+
353
+                if (! empty($conf->global->MAIN_UMASK))
354
+                    @chmod($outputfile, octdec($conf->global->MAIN_UMASK));
355
+            }
356
+            else
357
+            {
358
+                $langs->load("errors");
359
+                dol_syslog("Failed to open file ".$outputfile,LOG_ERR);
360
+                $errormsg=$langs->trans("ErrorFailedToWriteInDir");
361
+            }
362
+
363
+            // Get errorstring
364
+            if ($compression == 'none') $handle = fopen($outputfile, 'r');
365
+            if ($compression == 'gz')   $handle = gzopen($outputfile, 'r');
366
+            if ($compression == 'bz')   $handle = bzopen($outputfile, 'r');
367
+            if ($handle)
368
+            {
369
+                // Get 2048 first chars of error message.
370
+                $errormsg = fgets($handle,2048);
371
+                // Close file
372
+                if ($compression == 'none') fclose($handle);
373
+                if ($compression == 'gz')   gzclose($handle);
374
+                if ($compression == 'bz')   bzclose($handle);
375
+                if ($ok && preg_match('/^-- MySql/i',$errormsg)) $errormsg='';	// Pas erreur
376
+                else
377
+                {
378
+                    // Renommer fichier sortie en fichier erreur
379
+                    //print "$outputfile -> $outputerror";
380
+                    @dol_delete_file($outputerror, 1, 0, 0, null, false, 0);
381
+                    @rename($outputfile,$outputerror);
382
+                    // Si safe_mode on et command hors du parametre exec, on a un fichier out vide donc errormsg vide
383
+                    if (! $errormsg)
384
+                    {
385
+                        $langs->load("errors");
386
+                        $errormsg=$langs->trans("ErrorFailedToRunExternalCommand");
387
+                    }
388
+                }
389
+            }
390
+            // Fin execution commande
391
+
392
+            $this->output = $errormsg;
393
+            $this->error = $errormsg;
394
+            $this->result = array("commandbackuplastdone" => $command." ".$paramcrypted, "commandbackuptorun" => "");
395
+            //if (empty($this->output)) $this->output=$this->result['commandbackuplastdone'];
396
+        }
397
+
398
+        // MYSQL NO BIN
399
+        if ($type == 'mysqlnobin')
400
+        {
401
+            $outputfile = $outputdir.'/'.$file;
402
+            $outputfiletemp = $outputfile.'-TMP.sql';
403
+            // for compression format, we add extension
404
+            $compression=$compression ? $compression : 'none';
405
+            if ($compression == 'gz') $outputfile.='.gz';
406
+            if ($compression == 'bz') $outputfile.='.bz2';
407
+            $outputerror = $outputfile.'.err';
408
+            dol_mkdir($conf->admin->dir_output.'/backup');
409
+
410
+            if ($compression == 'gz' or $compression == 'bz')
411
+            {
412
+                $this->backupTables($outputfiletemp);
413
+                dol_compress_file($outputfiletemp, $outputfile, $compression);
414
+                unlink($outputfiletemp);
415
+            }
416
+            else
417
+            {
418
+                $this->backupTables($outputfile);
419
+            }
420
+
421
+            $this->output = "";
422
+            $this->result = array("commandbackuplastdone" => "", "commandbackuptorun" => "");
423
+        }
424
+
425
+        // POSTGRESQL
426
+        if ($type == 'postgresql' || $type == 'pgsql')
427
+        {
428
+            $cmddump=$conf->global->SYSTEMTOOLS_POSTGRESQLDUMP;
429
+
430
+            $outputfile = $outputdir.'/'.$file;
431
+            // for compression format, we add extension
432
+            $compression=$compression ? $compression : 'none';
433
+            if ($compression == 'gz') $outputfile.='.gz';
434
+            if ($compression == 'bz') $outputfile.='.bz2';
435
+            $outputerror = $outputfile.'.err';
436
+            dol_mkdir($conf->admin->dir_output.'/backup');
437
+
438
+            // Parameteres execution
439
+            $command=$cmddump;
440
+            if (preg_match("/\s/",$command)) $command=escapeshellarg($command);	// Use quotes on command
441
+
442
+            //$param=escapeshellarg($dolibarr_main_db_name)." -h ".escapeshellarg($dolibarr_main_db_host)." -u ".escapeshellarg($dolibarr_main_db_user)." -p".escapeshellarg($dolibarr_main_db_pass);
443
+            //$param="-F c";
444
+            $param="-F p";
445
+            $param.=" --no-tablespaces --inserts -h ".$dolibarr_main_db_host;
446
+            $param.=" -U ".$dolibarr_main_db_user;
447
+            if (! empty($dolibarr_main_db_port)) $param.=" -p ".$dolibarr_main_db_port;
448
+            if (GETPOST("sql_compat") && GETPOST("sql_compat") == 'ANSI') $param.="  --disable-dollar-quoting";
449
+            if (GETPOST("drop_database"))        $param.=" -c -C";
450
+            if (GETPOST("sql_structure"))
451
+            {
452
+                if (GETPOST("drop"))			 $param.=" --add-drop-table";
453
+                if (! GETPOST("sql_data"))       $param.=" -s";
454
+            }
455
+            if (GETPOST("sql_data"))
456
+            {
457
+                if (! GETPOST("sql_structure"))	 $param.=" -a";
458
+                if (GETPOST("showcolumns"))	     $param.=" -c";
459
+            }
460
+            $param.=' -f "'.$outputfile.'"';
461
+            //if ($compression == 'none')
462
+            if ($compression == 'gz')   $param.=' -Z 9';
463
+            //if ($compression == 'bz')
464
+            $paramcrypted=$param;
465
+            $paramclear=$param;
466
+            /*if (! empty($dolibarr_main_db_pass))
467 467
 			 {
468 468
 			 $paramcrypted.=" -W".preg_replace('/./i','*',$dolibarr_main_db_pass);
469 469
 			 $paramclear.=" -W".$dolibarr_main_db_pass;
470 470
 			 }*/
471
-			$paramcrypted.=" -w ".$dolibarr_main_db_name;
472
-			$paramclear.=" -w ".$dolibarr_main_db_name;
473
-
474
-			$this->output = "";
475
-			$this->result = array("commandbackuplastdone" => "", "commandbackuptorun" => $command." ".$paramcrypted);
476
-		}
477
-
478
-		// Clean old files
479
-		if ($keeplastnfiles > 0)
480
-		{
481
-			$tmpfiles = dol_dir_list($conf->admin->dir_output.'/backup', 'files', 0, '', '(\.err|\.old|\.sav)$', 'date', SORT_DESC);
482
-			$i=0;
483
-			foreach($tmpfiles as $key => $val)
484
-			{
485
-				$i++;
486
-				if ($i <= $keeplastnfiles) continue;
487
-				dol_delete_file($val['fullname'], 0, 0, 0, null, false, 0);
488
-			}
489
-		}
490
-
491
-		return 0;
492
-	}
493
-
494
-
495
-
496
-	/**
497
-	 * Execute a CLI command.
498
-	 *
499
-	 * @param 	string	$command		Command line to execute.
500
-	 * @param 	string	$outputfile		Output file (used only when method is 2). For exemple $conf->admin->dir_temp.'/out.tmp';
501
-	 * @param	int		$execmethod		0=Use default method (that is 1 by default), 1=Use the PHP 'exec', 2=Use the 'popen' method
502
-	 * @return	array					array('result'=>...,'output'=>...,'error'=>...). result = 0 means OK.
503
-	 */
504
-	function executeCLI($command, $outputfile, $execmethod=0)
505
-	{
506
-		global $conf, $langs;
507
-
508
-		$result = 0;
509
-		$output = '';
510
-		$error = '';
511
-
512
-		$command=escapeshellcmd($command);
513
-		$command.=" 2>&1";
514
-
515
-		if (! empty($conf->global->MAIN_EXEC_USE_POPEN)) $execmethod=$conf->global->MAIN_EXEC_USE_POPEN;
516
-		if (empty($execmethod)) $execmethod=1;
517
-		//$execmethod=1;
518
-
519
-		dol_syslog("Utils::executeCLI execmethod=".$execmethod." system:".$command, LOG_DEBUG);
520
-		$output_arr=array();
521
-
522
-		if ($execmethod == 1)
523
-		{
524
-			exec($command, $output_arr, $retval);
525
-			$result = $retval;
526
-			if ($retval != 0)
527
-			{
528
-				$langs->load("errors");
529
-				dol_syslog("Utils::executeCLI retval after exec=".$retval, LOG_ERR);
530
-				$error = 'Error '.$retval;
531
-			}
532
-		}
533
-		if ($execmethod == 2)	// With this method, there is no way to get the return code, only output
534
-		{
535
-			$ok=0;
536
-			$handle = fopen($outputfile, 'w+b');
537
-			if ($handle)
538
-			{
539
-				dol_syslog("Utils::executeCLI run command ".$command);
540
-				$handlein = popen($command, 'r');
541
-				while (!feof($handlein))
542
-				{
543
-					$read = fgets($handlein);
544
-					fwrite($handle,$read);
545
-					$output_arr[]=$read;
546
-				}
547
-				pclose($handlein);
548
-				fclose($handle);
549
-			}
550
-			if (! empty($conf->global->MAIN_UMASK)) @chmod($outputfile, octdec($conf->global->MAIN_UMASK));
551
-		}
552
-
553
-		// Update with result
554
-		if (is_array($output_arr) && count($output_arr)>0)
555
-		{
556
-			foreach($output_arr as $val)
557
-			{
558
-				$output.=$val.($execmethod == 2 ? '' : "\n");
559
-			}
560
-		}
561
-
562
-		dol_syslog("Utils::executeCLI result=".$result." output=".$output." error=".$error, LOG_DEBUG);
563
-
564
-		return array('result'=>$result, 'output'=>$output, 'error'=>$error);
565
-	}
566
-
567
-	/**
568
-	 * Generate documentation of a Module
569
-	 *
570
-	 * @param 	string	$module		Module name
571
-	 * @return	int					<0 if KO, >0 if OK
572
-	 */
573
-	function generateDoc($module)
574
-	{
575
-		global $conf, $langs;
576
-		global $dirins;
577
-
578
-		$error = 0;
579
-
580
-		$modulelowercase=strtolower($module);
581
-
582
-		// Dir for module
583
-		$dir = $dirins.'/'.$modulelowercase;
584
-		// Zip file to build
585
-		$FILENAMEDOC='';
586
-
587
-		// Load module
588
-		dol_include_once($modulelowercase.'/core/modules/mod'.$module.'.class.php');
589
-		$class='mod'.$module;
590
-
591
-		if (class_exists($class))
592
-		{
593
-			try {
594
-				$moduleobj = new $class($this->db);
595
-			}
596
-			catch(Exception $e)
597
-			{
598
-				$error++;
599
-				dol_print_error($e->getMessage());
600
-			}
601
-		}
602
-		else
603
-		{
604
-			$error++;
605
-			$langs->load("errors");
606
-			dol_print_error($langs->trans("ErrorFailedToLoadModuleDescriptorForXXX", $module));
607
-			exit;
608
-		}
609
-
610
-		$arrayversion=explode('.',$moduleobj->version,3);
611
-		if (count($arrayversion))
612
-		{
613
-			$FILENAMEASCII=strtolower($module).'.asciidoc';
614
-			$FILENAMEDOC=strtolower($module).'.html';			// TODO Use/text PDF
615
-
616
-			$dirofmodule = dol_buildpath(strtolower($module), 0).'/doc';
617
-			$dirofmoduletmp = dol_buildpath(strtolower($module), 0).'/doc/temp';
618
-			$outputfiledoc = $dirofmodule.'/'.$FILENAMEDOC;
619
-			if ($dirofmodule)
620
-			{
621
-				if (! dol_is_dir($dirofmodule)) dol_mkdir($dirofmodule);
622
-				if (! dol_is_dir($dirofmoduletmp)) dol_mkdir($dirofmoduletmp);
623
-				if (! is_writable($dirofmoduletmp))
624
-				{
625
-					$this->error = 'Dir '.$dirofmoduletmp.' does not exists or is not writable';
626
-					return -1;
627
-				}
628
-
629
-				$destfile=$dirofmoduletmp.'/'.$FILENAMEASCII;
630
-
631
-				$fhandle = fopen($destfile, 'w+');
632
-				if ($fhandle)
633
-				{
634
-					$specs=dol_dir_list(dol_buildpath(strtolower($module).'/doc', 0), 'files', 1, '(\.md|\.asciidoc)$', array('\/temp\/'));
635
-
636
-					$i = 0;
637
-					foreach ($specs as $spec)
638
-					{
639
-						if (preg_match('/notindoc/', $spec['relativename'])) continue;	// Discard file
640
-						if (preg_match('/disabled/', $spec['relativename'])) continue;	// Discard file
641
-
642
-						$pathtofile = strtolower($module).'/doc/'.$spec['relativename'];
643
-						$format='asciidoc';
644
-						if (preg_match('/\.md$/i', $spec['name'])) $format='markdown';
645
-
646
-						$filecursor = @file_get_contents($spec['fullname']);
647
-						if ($filecursor)
648
-						{
649
-							fwrite($fhandle, ($i ? "\n<<<\n\n" : "").$filecursor."\n");
650
-						}
651
-						else
652
-						{
653
-							$this->error = 'Failed to concat content of file '.$spec['fullname'];
654
-							return -1;
655
-						}
656
-
657
-						$i++;
658
-					}
659
-
660
-					fwrite($fhandle, "\n\n\n== DATA SPECIFICATIONS...\n\n");
661
-
662
-					// TODO
663
-					fwrite($fhandle, "TODO...");
664
-
665
-					fclose($fhandle);
666
-				}
667
-
668
-				$conf->global->MODULEBUILDER_ASCIIDOCTOR='asciidoctor';
669
-				if (empty($conf->global->MODULEBUILDER_ASCIIDOCTOR))
670
-				{
671
-					dol_print_error('', 'Module setup not complete');
672
-					exit;
673
-				}
674
-
675
-				$command=$conf->global->MODULEBUILDER_ASCIIDOCTOR.' '.$destfile.' -n -o '.$dirofmodule.'/'.$FILENAMEDOC;
676
-				$outfile=$dirofmoduletmp.'/out.tmp';
677
-
678
-				require_once DOL_DOCUMENT_ROOT.'/core/class/utils.class.php';
679
-				$utils = new Utils($db);
680
-				$resarray = $utils->executeCLI($command, $outfile);
681
-				if ($resarray['result'] != '0')
682
-				{
683
-					$this->error = $resarray['error'].' '.$resarray['output'];
684
-				}
685
-				$result = ($resarray['result'] == 0) ? 1 : 0;
686
-			}
687
-			else
688
-			{
689
-				$result = 0;
690
-			}
691
-
692
-			if ($result > 0)
693
-			{
694
-				return 1;
695
-			}
696
-			else
697
-			{
698
-				$error++;
699
-				$langs->load("errors");
700
-				$this->error = $langs->trans("ErrorFailToGenerateFile", $outputfiledoc);
701
-			}
702
-		}
703
-		else
704
-		{
705
-			$error++;
706
-			$langs->load("errors");
707
-			$this->error = $langs->trans("ErrorCheckVersionIsDefined");
708
-		}
709
-
710
-		return -1;
711
-	}
712
-
713
-	/**
714
-	 * This saves syslog files and compresses older ones.
715
-	 * Nb of archive to keep is defined into $conf->global->SYSLOG_FILE_SAVES
716
-	 * CAN BE A CRON TASK
717
-	 *
718
-	 * @return	int						0 if OK, < 0 if KO
719
-	 */
471
+            $paramcrypted.=" -w ".$dolibarr_main_db_name;
472
+            $paramclear.=" -w ".$dolibarr_main_db_name;
473
+
474
+            $this->output = "";
475
+            $this->result = array("commandbackuplastdone" => "", "commandbackuptorun" => $command." ".$paramcrypted);
476
+        }
477
+
478
+        // Clean old files
479
+        if ($keeplastnfiles > 0)
480
+        {
481
+            $tmpfiles = dol_dir_list($conf->admin->dir_output.'/backup', 'files', 0, '', '(\.err|\.old|\.sav)$', 'date', SORT_DESC);
482
+            $i=0;
483
+            foreach($tmpfiles as $key => $val)
484
+            {
485
+                $i++;
486
+                if ($i <= $keeplastnfiles) continue;
487
+                dol_delete_file($val['fullname'], 0, 0, 0, null, false, 0);
488
+            }
489
+        }
490
+
491
+        return 0;
492
+    }
493
+
494
+
495
+
496
+    /**
497
+     * Execute a CLI command.
498
+     *
499
+     * @param 	string	$command		Command line to execute.
500
+     * @param 	string	$outputfile		Output file (used only when method is 2). For exemple $conf->admin->dir_temp.'/out.tmp';
501
+     * @param	int		$execmethod		0=Use default method (that is 1 by default), 1=Use the PHP 'exec', 2=Use the 'popen' method
502
+     * @return	array					array('result'=>...,'output'=>...,'error'=>...). result = 0 means OK.
503
+     */
504
+    function executeCLI($command, $outputfile, $execmethod=0)
505
+    {
506
+        global $conf, $langs;
507
+
508
+        $result = 0;
509
+        $output = '';
510
+        $error = '';
511
+
512
+        $command=escapeshellcmd($command);
513
+        $command.=" 2>&1";
514
+
515
+        if (! empty($conf->global->MAIN_EXEC_USE_POPEN)) $execmethod=$conf->global->MAIN_EXEC_USE_POPEN;
516
+        if (empty($execmethod)) $execmethod=1;
517
+        //$execmethod=1;
518
+
519
+        dol_syslog("Utils::executeCLI execmethod=".$execmethod." system:".$command, LOG_DEBUG);
520
+        $output_arr=array();
521
+
522
+        if ($execmethod == 1)
523
+        {
524
+            exec($command, $output_arr, $retval);
525
+            $result = $retval;
526
+            if ($retval != 0)
527
+            {
528
+                $langs->load("errors");
529
+                dol_syslog("Utils::executeCLI retval after exec=".$retval, LOG_ERR);
530
+                $error = 'Error '.$retval;
531
+            }
532
+        }
533
+        if ($execmethod == 2)	// With this method, there is no way to get the return code, only output
534
+        {
535
+            $ok=0;
536
+            $handle = fopen($outputfile, 'w+b');
537
+            if ($handle)
538
+            {
539
+                dol_syslog("Utils::executeCLI run command ".$command);
540
+                $handlein = popen($command, 'r');
541
+                while (!feof($handlein))
542
+                {
543
+                    $read = fgets($handlein);
544
+                    fwrite($handle,$read);
545
+                    $output_arr[]=$read;
546
+                }
547
+                pclose($handlein);
548
+                fclose($handle);
549
+            }
550
+            if (! empty($conf->global->MAIN_UMASK)) @chmod($outputfile, octdec($conf->global->MAIN_UMASK));
551
+        }
552
+
553
+        // Update with result
554
+        if (is_array($output_arr) && count($output_arr)>0)
555
+        {
556
+            foreach($output_arr as $val)
557
+            {
558
+                $output.=$val.($execmethod == 2 ? '' : "\n");
559
+            }
560
+        }
561
+
562
+        dol_syslog("Utils::executeCLI result=".$result." output=".$output." error=".$error, LOG_DEBUG);
563
+
564
+        return array('result'=>$result, 'output'=>$output, 'error'=>$error);
565
+    }
566
+
567
+    /**
568
+     * Generate documentation of a Module
569
+     *
570
+     * @param 	string	$module		Module name
571
+     * @return	int					<0 if KO, >0 if OK
572
+     */
573
+    function generateDoc($module)
574
+    {
575
+        global $conf, $langs;
576
+        global $dirins;
577
+
578
+        $error = 0;
579
+
580
+        $modulelowercase=strtolower($module);
581
+
582
+        // Dir for module
583
+        $dir = $dirins.'/'.$modulelowercase;
584
+        // Zip file to build
585
+        $FILENAMEDOC='';
586
+
587
+        // Load module
588
+        dol_include_once($modulelowercase.'/core/modules/mod'.$module.'.class.php');
589
+        $class='mod'.$module;
590
+
591
+        if (class_exists($class))
592
+        {
593
+            try {
594
+                $moduleobj = new $class($this->db);
595
+            }
596
+            catch(Exception $e)
597
+            {
598
+                $error++;
599
+                dol_print_error($e->getMessage());
600
+            }
601
+        }
602
+        else
603
+        {
604
+            $error++;
605
+            $langs->load("errors");
606
+            dol_print_error($langs->trans("ErrorFailedToLoadModuleDescriptorForXXX", $module));
607
+            exit;
608
+        }
609
+
610
+        $arrayversion=explode('.',$moduleobj->version,3);
611
+        if (count($arrayversion))
612
+        {
613
+            $FILENAMEASCII=strtolower($module).'.asciidoc';
614
+            $FILENAMEDOC=strtolower($module).'.html';			// TODO Use/text PDF
615
+
616
+            $dirofmodule = dol_buildpath(strtolower($module), 0).'/doc';
617
+            $dirofmoduletmp = dol_buildpath(strtolower($module), 0).'/doc/temp';
618
+            $outputfiledoc = $dirofmodule.'/'.$FILENAMEDOC;
619
+            if ($dirofmodule)
620
+            {
621
+                if (! dol_is_dir($dirofmodule)) dol_mkdir($dirofmodule);
622
+                if (! dol_is_dir($dirofmoduletmp)) dol_mkdir($dirofmoduletmp);
623
+                if (! is_writable($dirofmoduletmp))
624
+                {
625
+                    $this->error = 'Dir '.$dirofmoduletmp.' does not exists or is not writable';
626
+                    return -1;
627
+                }
628
+
629
+                $destfile=$dirofmoduletmp.'/'.$FILENAMEASCII;
630
+
631
+                $fhandle = fopen($destfile, 'w+');
632
+                if ($fhandle)
633
+                {
634
+                    $specs=dol_dir_list(dol_buildpath(strtolower($module).'/doc', 0), 'files', 1, '(\.md|\.asciidoc)$', array('\/temp\/'));
635
+
636
+                    $i = 0;
637
+                    foreach ($specs as $spec)
638
+                    {
639
+                        if (preg_match('/notindoc/', $spec['relativename'])) continue;	// Discard file
640
+                        if (preg_match('/disabled/', $spec['relativename'])) continue;	// Discard file
641
+
642
+                        $pathtofile = strtolower($module).'/doc/'.$spec['relativename'];
643
+                        $format='asciidoc';
644
+                        if (preg_match('/\.md$/i', $spec['name'])) $format='markdown';
645
+
646
+                        $filecursor = @file_get_contents($spec['fullname']);
647
+                        if ($filecursor)
648
+                        {
649
+                            fwrite($fhandle, ($i ? "\n<<<\n\n" : "").$filecursor."\n");
650
+                        }
651
+                        else
652
+                        {
653
+                            $this->error = 'Failed to concat content of file '.$spec['fullname'];
654
+                            return -1;
655
+                        }
656
+
657
+                        $i++;
658
+                    }
659
+
660
+                    fwrite($fhandle, "\n\n\n== DATA SPECIFICATIONS...\n\n");
661
+
662
+                    // TODO
663
+                    fwrite($fhandle, "TODO...");
664
+
665
+                    fclose($fhandle);
666
+                }
667
+
668
+                $conf->global->MODULEBUILDER_ASCIIDOCTOR='asciidoctor';
669
+                if (empty($conf->global->MODULEBUILDER_ASCIIDOCTOR))
670
+                {
671
+                    dol_print_error('', 'Module setup not complete');
672
+                    exit;
673
+                }
674
+
675
+                $command=$conf->global->MODULEBUILDER_ASCIIDOCTOR.' '.$destfile.' -n -o '.$dirofmodule.'/'.$FILENAMEDOC;
676
+                $outfile=$dirofmoduletmp.'/out.tmp';
677
+
678
+                require_once DOL_DOCUMENT_ROOT.'/core/class/utils.class.php';
679
+                $utils = new Utils($db);
680
+                $resarray = $utils->executeCLI($command, $outfile);
681
+                if ($resarray['result'] != '0')
682
+                {
683
+                    $this->error = $resarray['error'].' '.$resarray['output'];
684
+                }
685
+                $result = ($resarray['result'] == 0) ? 1 : 0;
686
+            }
687
+            else
688
+            {
689
+                $result = 0;
690
+            }
691
+
692
+            if ($result > 0)
693
+            {
694
+                return 1;
695
+            }
696
+            else
697
+            {
698
+                $error++;
699
+                $langs->load("errors");
700
+                $this->error = $langs->trans("ErrorFailToGenerateFile", $outputfiledoc);
701
+            }
702
+        }
703
+        else
704
+        {
705
+            $error++;
706
+            $langs->load("errors");
707
+            $this->error = $langs->trans("ErrorCheckVersionIsDefined");
708
+        }
709
+
710
+        return -1;
711
+    }
712
+
713
+    /**
714
+     * This saves syslog files and compresses older ones.
715
+     * Nb of archive to keep is defined into $conf->global->SYSLOG_FILE_SAVES
716
+     * CAN BE A CRON TASK
717
+     *
718
+     * @return	int						0 if OK, < 0 if KO
719
+     */
720 720
     function compressSyslogs()
721 721
     {
722
-		global $conf;
722
+        global $conf;
723
+
724
+        if(empty($conf->loghandlers['mod_syslog_file'])) { // File Syslog disabled
725
+            return 0;
726
+        }
727
+
728
+        if(! function_exists('gzopen')) {
729
+            $this->error = 'Support for gzopen not available in this PHP';
730
+            return -1;
731
+        }
732
+
733
+        dol_include_once('/core/lib/files.lib.php');
734
+
735
+        $nbSaves = ! empty($conf->global->SYSLOG_FILE_SAVES) ? intval($conf->global->SYSLOG_FILE_SAVES) : 14;
736
+
737
+        if (empty($conf->global->SYSLOG_FILE)) {
738
+            $mainlogdir = DOL_DATA_ROOT;
739
+            $mainlog = 'dolibarr.log';
740
+        } else {
741
+            $mainlogfull = str_replace('DOL_DATA_ROOT', DOL_DATA_ROOT, $conf->global->SYSLOG_FILE);
742
+            $mainlogdir = dirname($mainlogfull);
743
+            $mainlog = basename($mainlogfull);
744
+        }
745
+
746
+        $tabfiles = dol_dir_list(DOL_DATA_ROOT, 'files', 0, '^(dolibarr_.+|odt2pdf)\.log$'); // Also handle other log files like dolibarr_install.log
747
+        $tabfiles[] = array('name' => $mainlog, 'path' => $mainlogdir);
723 748
 
724
-		if(empty($conf->loghandlers['mod_syslog_file'])) { // File Syslog disabled
725
-			return 0;
726
-		}
749
+        foreach($tabfiles as $file) {
727 750
 
728
-		if(! function_exists('gzopen')) {
729
-			$this->error = 'Support for gzopen not available in this PHP';
730
-			return -1;
731
-		}
751
+            $logname = $file['name'];
752
+            $logpath = $file['path'];
732 753
 
733
-		dol_include_once('/core/lib/files.lib.php');
754
+            if (dol_is_file($logpath.'/'.$logname) && dol_filesize($logpath.'/'.$logname) > 0)	// If log file exists and is not empty
755
+            {
756
+                // Handle already compressed files to rename them and add +1
734 757
 
735
-		$nbSaves = ! empty($conf->global->SYSLOG_FILE_SAVES) ? intval($conf->global->SYSLOG_FILE_SAVES) : 14;
758
+                $filter = '^'.preg_quote($logname, '/').'\.([0-9]+)\.gz$';
736 759
 
737
-		if (empty($conf->global->SYSLOG_FILE)) {
738
-			$mainlogdir = DOL_DATA_ROOT;
739
-			$mainlog = 'dolibarr.log';
740
-		} else {
741
-			$mainlogfull = str_replace('DOL_DATA_ROOT', DOL_DATA_ROOT, $conf->global->SYSLOG_FILE);
742
-			$mainlogdir = dirname($mainlogfull);
743
-			$mainlog = basename($mainlogfull);
744
-		}
760
+                $gzfilestmp = dol_dir_list($logpath, 'files', 0, $filter);
761
+                $gzfiles = array();
745 762
 
746
-		$tabfiles = dol_dir_list(DOL_DATA_ROOT, 'files', 0, '^(dolibarr_.+|odt2pdf)\.log$'); // Also handle other log files like dolibarr_install.log
747
-		$tabfiles[] = array('name' => $mainlog, 'path' => $mainlogdir);
763
+                foreach($gzfilestmp as $gzfile) {
764
+                    $tabmatches = array();
765
+                    preg_match('/'.$filter.'/i', $gzfile['name'], $tabmatches);
748 766
 
749
-		foreach($tabfiles as $file) {
750
-
751
-			$logname = $file['name'];
752
-			$logpath = $file['path'];
753
-
754
-			if (dol_is_file($logpath.'/'.$logname) && dol_filesize($logpath.'/'.$logname) > 0)	// If log file exists and is not empty
755
-			{
756
-				// Handle already compressed files to rename them and add +1
757
-
758
-				$filter = '^'.preg_quote($logname, '/').'\.([0-9]+)\.gz$';
759
-
760
-				$gzfilestmp = dol_dir_list($logpath, 'files', 0, $filter);
761
-				$gzfiles = array();
762
-
763
-				foreach($gzfilestmp as $gzfile) {
764
-					$tabmatches = array();
765
-					preg_match('/'.$filter.'/i', $gzfile['name'], $tabmatches);
766
-
767
-					$numsave = intval($tabmatches[1]);
768
-
769
-					$gzfiles[$numsave] = $gzfile;
770
-				}
771
-
772
-				krsort($gzfiles, SORT_NUMERIC);
773
-
774
-				foreach($gzfiles as $numsave => $dummy) {
775
-					if (dol_is_file($logpath.'/'.$logname.'.'.($numsave+1).'.gz')) {
776
-						return -2;
777
-					}
778
-
779
-					if($numsave >= $nbSaves) {
780
-						dol_delete_file($logpath.'/'.$logname.'.'.$numsave.'.gz', 0, 0, 0, null, false, 0);
781
-					} else {
782
-						dol_move($logpath.'/'.$logname.'.'.$numsave.'.gz', $logpath.'/'.$logname.'.'.($numsave+1).'.gz', 0, 1, 0, 0);
783
-					}
784
-				}
785
-
786
-				// Compress current file and recreate it
787
-
788
-				if ($nbSaves > 0) {			// If $nbSaves is 1, we keep 1 archive .gz file, If 2, we keep 2 .gz files
789
-					$gzfilehandle = gzopen($logpath.'/'.$logname.'.1.gz', 'wb9');
790
-
791
-					if (empty($gzfilehandle)) {
792
-						$this->error = 'Failted to open file '.$logpath.'/'.$logname.'.1.gz';
793
-						return -3;
794
-					}
795
-
796
-					$sourcehandle = fopen($logpath.'/'.$logname, 'r');
797
-
798
-					if (empty($sourcehandle)) {
799
-						$this->error = 'Failed to open file '.$logpath.'/'.$logname;
800
-						return -4;
801
-					}
802
-
803
-					while(! feof($sourcehandle)) {
804
-						gzwrite($gzfilehandle, fread($sourcehandle, 512 * 1024)); // Read 512 kB at a time
805
-					}
806
-
807
-					fclose($sourcehandle);
808
-					gzclose($gzfilehandle);
809
-
810
-					@chmod($logpath.'/'.$logname.'.1.gz', octdec(empty($conf->global->MAIN_UMASK)?'0664':$conf->global->MAIN_UMASK));
811
-				}
812
-
813
-				dol_delete_file($logpath.'/'.$logname, 0, 0, 0, null, false, 0);
814
-
815
-				// Create empty file
816
-				$newlog = fopen($logpath.'/'.$logname, 'a+');
817
-				fclose($newlog);
818
-
819
-				//var_dump($logpath.'/'.$logname." - ".octdec(empty($conf->global->MAIN_UMASK)?'0664':$conf->global->MAIN_UMASK));
820
-				@chmod($logpath.'/'.$logname, octdec(empty($conf->global->MAIN_UMASK)?'0664':$conf->global->MAIN_UMASK));
821
-			}
822
-		}
823
-
824
-		$this->output = 'Archive log files (keeping last SYSLOG_FILE_SAVES='.$nbSaves.' files) done.';
825
-		return 0;
826
-	}
827
-
828
-	/**	Backup the db OR just a table without mysqldump binary, with PHP only (does not require any exec permission)
829
-	 *	Author: David Walsh (http://davidwalsh.name/backup-mysql-database-php)
830
-	 *	Updated and enhanced by Stephen Larroque (lrq3000) and by the many commentators from the blog
831
-	 *	Note about foreign keys constraints: for Dolibarr, since there are a lot of constraints and when imported the tables will be inserted in the dumped order, not in constraints order, then we ABSOLUTELY need to use SET FOREIGN_KEY_CHECKS=0; when importing the sql dump.
832
-	 *	Note2: db2SQL by Howard Yeend can be an alternative, by using SHOW FIELDS FROM and SHOW KEYS FROM we could generate a more precise dump (eg: by getting the type of the field and then precisely outputting the right formatting - in quotes, numeric or null - instead of trying to guess like we are doing now).
833
-	 *
834
-	 *	@param	string	$outputfile		Output file name
835
-	 *	@param	string	$tables			Table name or '*' for all
836
-	 *	@return	int						<0 if KO, >0 if OK
837
-	 */
838
-	function backupTables($outputfile, $tables='*')
839
-	{
840
-		global $db, $langs;
841
-		global $errormsg;
842
-
843
-		// Set to UTF-8
844
-		if (is_a($db, 'DoliDBMysqli')) {
845
-			/** @var DoliDBMysqli $db */
846
-			$db->db->set_charset('utf8');
847
-		} else {
848
-			/** @var DoliDB $db */
849
-			$db->query('SET NAMES utf8');
850
-			$db->query('SET CHARACTER SET utf8');
851
-		}
852
-
853
-		//get all of the tables
854
-		if ($tables == '*')
855
-		{
856
-			$tables = array();
857
-			$result = $db->query('SHOW FULL TABLES WHERE Table_type = \'BASE TABLE\'');
858
-			while($row = $db->fetch_row($result))
859
-			{
860
-				$tables[] = $row[0];
861
-			}
862
-		}
863
-		else
864
-		{
865
-			$tables = is_array($tables) ? $tables : explode(',',$tables);
866
-		}
867
-
868
-		//cycle through
869
-		$handle = fopen($outputfile, 'w+');
870
-		if (fwrite($handle, '') === false)
871
-		{
872
-			$langs->load("errors");
873
-			dol_syslog("Failed to open file ".$outputfile,LOG_ERR);
874
-			$errormsg=$langs->trans("ErrorFailedToWriteInDir");
875
-			return -1;
876
-		}
877
-
878
-		// Print headers and global mysql config vars
879
-		$sqlhead = '';
880
-		$sqlhead .= "-- ".$db::LABEL." dump via php with Dolibarr ".DOL_VERSION."
767
+                    $numsave = intval($tabmatches[1]);
768
+
769
+                    $gzfiles[$numsave] = $gzfile;
770
+                }
771
+
772
+                krsort($gzfiles, SORT_NUMERIC);
773
+
774
+                foreach($gzfiles as $numsave => $dummy) {
775
+                    if (dol_is_file($logpath.'/'.$logname.'.'.($numsave+1).'.gz')) {
776
+                        return -2;
777
+                    }
778
+
779
+                    if($numsave >= $nbSaves) {
780
+                        dol_delete_file($logpath.'/'.$logname.'.'.$numsave.'.gz', 0, 0, 0, null, false, 0);
781
+                    } else {
782
+                        dol_move($logpath.'/'.$logname.'.'.$numsave.'.gz', $logpath.'/'.$logname.'.'.($numsave+1).'.gz', 0, 1, 0, 0);
783
+                    }
784
+                }
785
+
786
+                // Compress current file and recreate it
787
+
788
+                if ($nbSaves > 0) {			// If $nbSaves is 1, we keep 1 archive .gz file, If 2, we keep 2 .gz files
789
+                    $gzfilehandle = gzopen($logpath.'/'.$logname.'.1.gz', 'wb9');
790
+
791
+                    if (empty($gzfilehandle)) {
792
+                        $this->error = 'Failted to open file '.$logpath.'/'.$logname.'.1.gz';
793
+                        return -3;
794
+                    }
795
+
796
+                    $sourcehandle = fopen($logpath.'/'.$logname, 'r');
797
+
798
+                    if (empty($sourcehandle)) {
799
+                        $this->error = 'Failed to open file '.$logpath.'/'.$logname;
800
+                        return -4;
801
+                    }
802
+
803
+                    while(! feof($sourcehandle)) {
804
+                        gzwrite($gzfilehandle, fread($sourcehandle, 512 * 1024)); // Read 512 kB at a time
805
+                    }
806
+
807
+                    fclose($sourcehandle);
808
+                    gzclose($gzfilehandle);
809
+
810
+                    @chmod($logpath.'/'.$logname.'.1.gz', octdec(empty($conf->global->MAIN_UMASK)?'0664':$conf->global->MAIN_UMASK));
811
+                }
812
+
813
+                dol_delete_file($logpath.'/'.$logname, 0, 0, 0, null, false, 0);
814
+
815
+                // Create empty file
816
+                $newlog = fopen($logpath.'/'.$logname, 'a+');
817
+                fclose($newlog);
818
+
819
+                //var_dump($logpath.'/'.$logname." - ".octdec(empty($conf->global->MAIN_UMASK)?'0664':$conf->global->MAIN_UMASK));
820
+                @chmod($logpath.'/'.$logname, octdec(empty($conf->global->MAIN_UMASK)?'0664':$conf->global->MAIN_UMASK));
821
+            }
822
+        }
823
+
824
+        $this->output = 'Archive log files (keeping last SYSLOG_FILE_SAVES='.$nbSaves.' files) done.';
825
+        return 0;
826
+    }
827
+
828
+    /**	Backup the db OR just a table without mysqldump binary, with PHP only (does not require any exec permission)
829
+     *	Author: David Walsh (http://davidwalsh.name/backup-mysql-database-php)
830
+     *	Updated and enhanced by Stephen Larroque (lrq3000) and by the many commentators from the blog
831
+     *	Note about foreign keys constraints: for Dolibarr, since there are a lot of constraints and when imported the tables will be inserted in the dumped order, not in constraints order, then we ABSOLUTELY need to use SET FOREIGN_KEY_CHECKS=0; when importing the sql dump.
832
+     *	Note2: db2SQL by Howard Yeend can be an alternative, by using SHOW FIELDS FROM and SHOW KEYS FROM we could generate a more precise dump (eg: by getting the type of the field and then precisely outputting the right formatting - in quotes, numeric or null - instead of trying to guess like we are doing now).
833
+     *
834
+     *	@param	string	$outputfile		Output file name
835
+     *	@param	string	$tables			Table name or '*' for all
836
+     *	@return	int						<0 if KO, >0 if OK
837
+     */
838
+    function backupTables($outputfile, $tables='*')
839
+    {
840
+        global $db, $langs;
841
+        global $errormsg;
842
+
843
+        // Set to UTF-8
844
+        if (is_a($db, 'DoliDBMysqli')) {
845
+            /** @var DoliDBMysqli $db */
846
+            $db->db->set_charset('utf8');
847
+        } else {
848
+            /** @var DoliDB $db */
849
+            $db->query('SET NAMES utf8');
850
+            $db->query('SET CHARACTER SET utf8');
851
+        }
852
+
853
+        //get all of the tables
854
+        if ($tables == '*')
855
+        {
856
+            $tables = array();
857
+            $result = $db->query('SHOW FULL TABLES WHERE Table_type = \'BASE TABLE\'');
858
+            while($row = $db->fetch_row($result))
859
+            {
860
+                $tables[] = $row[0];
861
+            }
862
+        }
863
+        else
864
+        {
865
+            $tables = is_array($tables) ? $tables : explode(',',$tables);
866
+        }
867
+
868
+        //cycle through
869
+        $handle = fopen($outputfile, 'w+');
870
+        if (fwrite($handle, '') === false)
871
+        {
872
+            $langs->load("errors");
873
+            dol_syslog("Failed to open file ".$outputfile,LOG_ERR);
874
+            $errormsg=$langs->trans("ErrorFailedToWriteInDir");
875
+            return -1;
876
+        }
877
+
878
+        // Print headers and global mysql config vars
879
+        $sqlhead = '';
880
+        $sqlhead .= "-- ".$db::LABEL." dump via php with Dolibarr ".DOL_VERSION."
881 881
 --
882 882
 -- Host: ".$db->db->host_info."    Database: ".$db->database_name."
883 883
 -- ------------------------------------------------------
@@ -896,77 +896,77 @@  discard block
 block discarded – undo
896 896
 
897 897
 ";
898 898
 
899
-		if (GETPOST("nobin_disable_fk")) $sqlhead .= "SET FOREIGN_KEY_CHECKS=0;\n";
900
-		//$sqlhead .= "SET SQL_MODE=\"NO_AUTO_VALUE_ON_ZERO\";\n";
901
-		if (GETPOST("nobin_use_transaction")) $sqlhead .= "SET AUTOCOMMIT=0;\nSTART TRANSACTION;\n";
902
-
903
-		fwrite($handle, $sqlhead);
904
-
905
-		$ignore = '';
906
-		if (GETPOST("nobin_sql_ignore")) $ignore = 'IGNORE ';
907
-		$delayed = '';
908
-		if (GETPOST("nobin_delayed")) $delayed = 'DELAYED ';
909
-
910
-		// Process each table and print their definition + their datas
911
-		foreach($tables as $table)
912
-		{
913
-			// Saving the table structure
914
-			fwrite($handle, "\n--\n-- Table structure for table `".$table."`\n--\n");
915
-
916
-			if (GETPOST("nobin_drop")) fwrite($handle,"DROP TABLE IF EXISTS `".$table."`;\n"); // Dropping table if exists prior to re create it
917
-			fwrite($handle,"/*!40101 SET @saved_cs_client     = @@character_set_client */;\n");
918
-			fwrite($handle,"/*!40101 SET character_set_client = utf8 */;\n");
919
-			$resqldrop=$db->query('SHOW CREATE TABLE '.$table);
920
-			$row2 = $db->fetch_row($resqldrop);
921
-			if (empty($row2[1]))
922
-			{
923
-				fwrite($handle, "\n-- WARNING: Show create table ".$table." return empy string when it should not.\n");
924
-			}
925
-			else
926
-			{
927
-				fwrite($handle,$row2[1].";\n");
928
-				//fwrite($handle,"/*!40101 SET character_set_client = @saved_cs_client */;\n\n");
929
-
930
-				// Dumping the data (locking the table and disabling the keys check while doing the process)
931
-				fwrite($handle, "\n--\n-- Dumping data for table `".$table."`\n--\n");
932
-				if (!GETPOST("nobin_nolocks")) fwrite($handle, "LOCK TABLES `".$table."` WRITE;\n"); // Lock the table before inserting data (when the data will be imported back)
933
-				if (GETPOST("nobin_disable_fk")) fwrite($handle, "ALTER TABLE `".$table."` DISABLE KEYS;\n");
934
-				else fwrite($handle, "/*!40000 ALTER TABLE `".$table."` DISABLE KEYS */;\n");
935
-
936
-				$sql='SELECT * FROM '.$table;
937
-				$result = $db->query($sql);
938
-				while($row = $db->fetch_row($result))
939
-				{
940
-					// For each row of data we print a line of INSERT
941
-					fwrite($handle,'INSERT '.$delayed.$ignore.'INTO `'.$table.'` VALUES (');
942
-					$columns = count($row);
943
-					for($j=0; $j<$columns; $j++) {
944
-						// Processing each columns of the row to ensure that we correctly save the value (eg: add quotes for string - in fact we add quotes for everything, it's easier)
945
-						if ($row[$j] == null && !is_string($row[$j])) {
946
-							// IMPORTANT: if the field is NULL we set it NULL
947
-							$row[$j] = 'NULL';
948
-						} elseif(is_string($row[$j]) && $row[$j] == '') {
949
-							// if it's an empty string, we set it as an empty string
950
-							$row[$j] = "''";
951
-						} elseif(is_numeric($row[$j]) && !strcmp($row[$j], $row[$j]+0) ) { // test if it's a numeric type and the numeric version ($nb+0) == string version (eg: if we have 01, it's probably not a number but rather a string, else it would not have any leading 0)
952
-							// if it's a number, we return it as-is
953
-							//	                    $row[$j] = $row[$j];
954
-						} else { // else for all other cases we escape the value and put quotes around
955
-							$row[$j] = addslashes($row[$j]);
956
-							$row[$j] = preg_replace("#\n#", "\\n", $row[$j]);
957
-							$row[$j] = "'".$row[$j]."'";
958
-						}
959
-					}
960
-					fwrite($handle,implode(',', $row).");\n");
961
-				}
962
-				if (GETPOST("nobin_disable_fk")) fwrite($handle, "ALTER TABLE `".$table."` ENABLE KEYS;\n"); // Enabling back the keys/index checking
963
-				if (!GETPOST("nobin_nolocks")) fwrite($handle, "UNLOCK TABLES;\n"); // Unlocking the table
964
-				fwrite($handle,"\n\n\n");
965
-			}
966
-		}
967
-
968
-		/* Backup Procedure structure*/
969
-		/*
899
+        if (GETPOST("nobin_disable_fk")) $sqlhead .= "SET FOREIGN_KEY_CHECKS=0;\n";
900
+        //$sqlhead .= "SET SQL_MODE=\"NO_AUTO_VALUE_ON_ZERO\";\n";
901
+        if (GETPOST("nobin_use_transaction")) $sqlhead .= "SET AUTOCOMMIT=0;\nSTART TRANSACTION;\n";
902
+
903
+        fwrite($handle, $sqlhead);
904
+
905
+        $ignore = '';
906
+        if (GETPOST("nobin_sql_ignore")) $ignore = 'IGNORE ';
907
+        $delayed = '';
908
+        if (GETPOST("nobin_delayed")) $delayed = 'DELAYED ';
909
+
910
+        // Process each table and print their definition + their datas
911
+        foreach($tables as $table)
912
+        {
913
+            // Saving the table structure
914
+            fwrite($handle, "\n--\n-- Table structure for table `".$table."`\n--\n");
915
+
916
+            if (GETPOST("nobin_drop")) fwrite($handle,"DROP TABLE IF EXISTS `".$table."`;\n"); // Dropping table if exists prior to re create it
917
+            fwrite($handle,"/*!40101 SET @saved_cs_client     = @@character_set_client */;\n");
918
+            fwrite($handle,"/*!40101 SET character_set_client = utf8 */;\n");
919
+            $resqldrop=$db->query('SHOW CREATE TABLE '.$table);
920
+            $row2 = $db->fetch_row($resqldrop);
921
+            if (empty($row2[1]))
922
+            {
923
+                fwrite($handle, "\n-- WARNING: Show create table ".$table." return empy string when it should not.\n");
924
+            }
925
+            else
926
+            {
927
+                fwrite($handle,$row2[1].";\n");
928
+                //fwrite($handle,"/*!40101 SET character_set_client = @saved_cs_client */;\n\n");
929
+
930
+                // Dumping the data (locking the table and disabling the keys check while doing the process)
931
+                fwrite($handle, "\n--\n-- Dumping data for table `".$table."`\n--\n");
932
+                if (!GETPOST("nobin_nolocks")) fwrite($handle, "LOCK TABLES `".$table."` WRITE;\n"); // Lock the table before inserting data (when the data will be imported back)
933
+                if (GETPOST("nobin_disable_fk")) fwrite($handle, "ALTER TABLE `".$table."` DISABLE KEYS;\n");
934
+                else fwrite($handle, "/*!40000 ALTER TABLE `".$table."` DISABLE KEYS */;\n");
935
+
936
+                $sql='SELECT * FROM '.$table;
937
+                $result = $db->query($sql);
938
+                while($row = $db->fetch_row($result))
939
+                {
940
+                    // For each row of data we print a line of INSERT
941
+                    fwrite($handle,'INSERT '.$delayed.$ignore.'INTO `'.$table.'` VALUES (');
942
+                    $columns = count($row);
943
+                    for($j=0; $j<$columns; $j++) {
944
+                        // Processing each columns of the row to ensure that we correctly save the value (eg: add quotes for string - in fact we add quotes for everything, it's easier)
945
+                        if ($row[$j] == null && !is_string($row[$j])) {
946
+                            // IMPORTANT: if the field is NULL we set it NULL
947
+                            $row[$j] = 'NULL';
948
+                        } elseif(is_string($row[$j]) && $row[$j] == '') {
949
+                            // if it's an empty string, we set it as an empty string
950
+                            $row[$j] = "''";
951
+                        } elseif(is_numeric($row[$j]) && !strcmp($row[$j], $row[$j]+0) ) { // test if it's a numeric type and the numeric version ($nb+0) == string version (eg: if we have 01, it's probably not a number but rather a string, else it would not have any leading 0)
952
+                            // if it's a number, we return it as-is
953
+                            //	                    $row[$j] = $row[$j];
954
+                        } else { // else for all other cases we escape the value and put quotes around
955
+                            $row[$j] = addslashes($row[$j]);
956
+                            $row[$j] = preg_replace("#\n#", "\\n", $row[$j]);
957
+                            $row[$j] = "'".$row[$j]."'";
958
+                        }
959
+                    }
960
+                    fwrite($handle,implode(',', $row).");\n");
961
+                }
962
+                if (GETPOST("nobin_disable_fk")) fwrite($handle, "ALTER TABLE `".$table."` ENABLE KEYS;\n"); // Enabling back the keys/index checking
963
+                if (!GETPOST("nobin_nolocks")) fwrite($handle, "UNLOCK TABLES;\n"); // Unlocking the table
964
+                fwrite($handle,"\n\n\n");
965
+            }
966
+        }
967
+
968
+        /* Backup Procedure structure*/
969
+        /*
970 970
 		 $result = $db->query('SHOW PROCEDURE STATUS');
971 971
 		 if ($db->num_rows($result) > 0)
972 972
 		 {
@@ -982,17 +982,17 @@  discard block
 block discarded – undo
982 982
 		 }
983 983
 		 }
984 984
 		 */
985
-		/* Backup Procedure structure*/
985
+        /* Backup Procedure structure*/
986 986
 
987
-		// Write the footer (restore the previous database settings)
988
-		$sqlfooter="\n\n";
989
-		if (GETPOST("nobin_use_transaction")) $sqlfooter .= "COMMIT;\n";
990
-		if (GETPOST("nobin_disable_fk")) $sqlfooter .= "SET FOREIGN_KEY_CHECKS=1;\n";
991
-		$sqlfooter.="\n\n-- Dump completed on ".date('Y-m-d G-i-s');
992
-		fwrite($handle, $sqlfooter);
987
+        // Write the footer (restore the previous database settings)
988
+        $sqlfooter="\n\n";
989
+        if (GETPOST("nobin_use_transaction")) $sqlfooter .= "COMMIT;\n";
990
+        if (GETPOST("nobin_disable_fk")) $sqlfooter .= "SET FOREIGN_KEY_CHECKS=1;\n";
991
+        $sqlfooter.="\n\n-- Dump completed on ".date('Y-m-d G-i-s');
992
+        fwrite($handle, $sqlfooter);
993 993
 
994
-		fclose($handle);
994
+        fclose($handle);
995 995
 
996
-		return 1;
997
-	}
996
+        return 1;
997
+    }
998 998
 }
Please login to merge, or discard this patch.
Spacing   +196 added lines, -196 removed lines patch added patch discarded remove patch
@@ -32,8 +32,8 @@  discard block
 block discarded – undo
32 32
      */
33 33
     public $db;
34 34
 
35
-	var $output;   // Used by Cron method to return message
36
-	var $result;   // Used by Cron method to return data
35
+	var $output; // Used by Cron method to return message
36
+	var $result; // Used by Cron method to return data
37 37
 
38 38
 	/**
39 39
 	 *	Constructor
@@ -53,7 +53,7 @@  discard block
 block discarded – undo
53 53
 	 *  @param	string		$choice		Choice of purge mode ('tempfiles', '' or 'tempfilesold' to purge temp older than 24h, 'allfiles', 'logfile')
54 54
 	 *  @return	int						0 if OK, < 0 if KO (this function is used also by cron so only 0 is OK)
55 55
 	 */
56
-	function purgeFiles($choice='tempfilesold')
56
+	function purgeFiles($choice = 'tempfilesold')
57 57
 	{
58 58
 		global $conf, $langs, $dolibarr_main_data_root;
59 59
 
@@ -62,80 +62,80 @@  discard block
 block discarded – undo
62 62
 		dol_syslog("Utils::purgeFiles choice=".$choice, LOG_DEBUG);
63 63
 		require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
64 64
 
65
-		$filesarray=array();
66
-		if (empty($choice)) $choice='tempfilesold';
65
+		$filesarray = array();
66
+		if (empty($choice)) $choice = 'tempfilesold';
67 67
 
68
-		if ($choice=='tempfiles' || $choice=='tempfilesold')
68
+		if ($choice == 'tempfiles' || $choice == 'tempfilesold')
69 69
 		{
70 70
 			// Delete temporary files
71 71
 			if ($dolibarr_main_data_root)
72 72
 			{
73
-				$filesarray=dol_dir_list($dolibarr_main_data_root, "directories", 1, '^temp$', '', 'name', SORT_ASC, 2, 0, '', 1);	// Do not follow symlinks
73
+				$filesarray = dol_dir_list($dolibarr_main_data_root, "directories", 1, '^temp$', '', 'name', SORT_ASC, 2, 0, '', 1); // Do not follow symlinks
74 74
 				if ($choice == 'tempfilesold')
75 75
 				{
76 76
 					$now = dol_now();
77
-					foreach($filesarray as $key => $val)
77
+					foreach ($filesarray as $key => $val)
78 78
 					{
79
-						if ($val['date'] > ($now - (24 * 3600))) unset($filesarray[$key]);	// Discard files not older than 24h
79
+						if ($val['date'] > ($now - (24 * 3600))) unset($filesarray[$key]); // Discard files not older than 24h
80 80
 					}
81 81
 				}
82 82
 			}
83 83
 		}
84 84
 
85
-		if ($choice=='allfiles')
85
+		if ($choice == 'allfiles')
86 86
 		{
87 87
 			// Delete all files (except install.lock, do not follow symbolic links)
88 88
 			if ($dolibarr_main_data_root)
89 89
 			{
90
-				$filesarray=dol_dir_list($dolibarr_main_data_root, "all", 0, '', 'install\.lock$', 'name', SORT_ASC, 0, 0, '', 1);
90
+				$filesarray = dol_dir_list($dolibarr_main_data_root, "all", 0, '', 'install\.lock$', 'name', SORT_ASC, 0, 0, '', 1);
91 91
 			}
92 92
 		}
93 93
 
94
-		if ($choice=='logfile')
94
+		if ($choice == 'logfile')
95 95
 		{
96 96
 			// Define files log
97 97
 			if ($dolibarr_main_data_root)
98 98
 			{
99
-				$filesarray=dol_dir_list($dolibarr_main_data_root, "files", 0, '.*\.log[\.0-9]*(\.gz)?$', 'install\.lock$', 'name', SORT_ASC, 0, 0, '', 1);
99
+				$filesarray = dol_dir_list($dolibarr_main_data_root, "files", 0, '.*\.log[\.0-9]*(\.gz)?$', 'install\.lock$', 'name', SORT_ASC, 0, 0, '', 1);
100 100
 			}
101 101
 
102
-			$filelog='';
103
-			if (! empty($conf->syslog->enabled))
102
+			$filelog = '';
103
+			if (!empty($conf->syslog->enabled))
104 104
 			{
105
-				$filelog=$conf->global->SYSLOG_FILE;
106
-				$filelog=preg_replace('/DOL_DATA_ROOT/i',DOL_DATA_ROOT,$filelog);
105
+				$filelog = $conf->global->SYSLOG_FILE;
106
+				$filelog = preg_replace('/DOL_DATA_ROOT/i', DOL_DATA_ROOT, $filelog);
107 107
 
108
-				$alreadyincluded=false;
108
+				$alreadyincluded = false;
109 109
 				foreach ($filesarray as $tmpcursor)
110 110
 				{
111
-					if ($tmpcursor['fullname'] == $filelog) { $alreadyincluded=true; }
111
+					if ($tmpcursor['fullname'] == $filelog) { $alreadyincluded = true; }
112 112
 				}
113
-				if (! $alreadyincluded) $filesarray[]=array('fullname'=>$filelog,'type'=>'file');
113
+				if (!$alreadyincluded) $filesarray[] = array('fullname'=>$filelog, 'type'=>'file');
114 114
 			}
115 115
 		}
116 116
 
117
-		$count=0;
118
-		$countdeleted=0;
119
-		$counterror=0;
117
+		$count = 0;
118
+		$countdeleted = 0;
119
+		$counterror = 0;
120 120
 		if (count($filesarray))
121 121
 		{
122
-			foreach($filesarray as $key => $value)
122
+			foreach ($filesarray as $key => $value)
123 123
 			{
124 124
 				//print "x ".$filesarray[$key]['fullname']."-".$filesarray[$key]['type']."<br>\n";
125 125
 				if ($filesarray[$key]['type'] == 'dir')
126 126
 				{
127
-					$startcount=0;
128
-					$tmpcountdeleted=0;
129
-					$result=dol_delete_dir_recursive($filesarray[$key]['fullname'], $startcount, 1, 0, $tmpcountdeleted);
130
-					$count+=$result;
131
-					$countdeleted+=$tmpcountdeleted;
127
+					$startcount = 0;
128
+					$tmpcountdeleted = 0;
129
+					$result = dol_delete_dir_recursive($filesarray[$key]['fullname'], $startcount, 1, 0, $tmpcountdeleted);
130
+					$count += $result;
131
+					$countdeleted += $tmpcountdeleted;
132 132
 				}
133 133
 				elseif ($filesarray[$key]['type'] == 'file')
134 134
 				{
135 135
 					// If (file that is not logfile) or (if mode is logfile)
136
-					if ($filesarray[$key]['fullname'] != $filelog || $choice=='logfile')
136
+					if ($filesarray[$key]['fullname'] != $filelog || $choice == 'logfile')
137 137
 					{
138
-						$result=dol_delete_file($filesarray[$key]['fullname'], 1, 1);
138
+						$result = dol_delete_file($filesarray[$key]['fullname'], 1, 1);
139 139
 						if ($result)
140 140
 						{
141 141
 							$count++;
@@ -150,7 +150,7 @@  discard block
 block discarded – undo
150 150
 			}
151 151
 
152 152
 			// Update cachenbofdoc
153
-			if (! empty($conf->ecm->enabled) && $choice=='allfiles')
153
+			if (!empty($conf->ecm->enabled) && $choice == 'allfiles')
154 154
 			{
155 155
 				require_once DOL_DOCUMENT_ROOT.'/ecm/class/ecmdirectory.class.php';
156 156
 				$ecmdirstatic = new EcmDirectory($this->db);
@@ -160,13 +160,13 @@  discard block
 block discarded – undo
160 160
 
161 161
 		if ($count > 0)
162 162
 		{
163
-			$this->output=$langs->trans("PurgeNDirectoriesDeleted", $countdeleted);
164
-			if ($count > $countdeleted) $this->output.='<br>'.$langs->trans("PurgeNDirectoriesFailed", ($count - $countdeleted));
163
+			$this->output = $langs->trans("PurgeNDirectoriesDeleted", $countdeleted);
164
+			if ($count > $countdeleted) $this->output .= '<br>'.$langs->trans("PurgeNDirectoriesFailed", ($count - $countdeleted));
165 165
 		}
166
-		else $this->output=$langs->trans("PurgeNothingToDelete").($choice == 'tempfilesold' ? ' (older than 24h)':'');
166
+		else $this->output = $langs->trans("PurgeNothingToDelete").($choice == 'tempfilesold' ? ' (older than 24h)' : '');
167 167
 
168 168
 		//return $count;
169
-		return 0;     // This function can be called by cron so must return 0 if OK
169
+		return 0; // This function can be called by cron so must return 0 if OK
170 170
 	}
171 171
 
172 172
 
@@ -182,7 +182,7 @@  discard block
 block discarded – undo
182 182
 	 *  @param	int		    $execmethod		   0=Use default method (that is 1 by default), 1=Use the PHP 'exec', 2=Use the 'popen' method
183 183
 	 *  @return	int						       0 if OK, < 0 if KO (this function is used also by cron so only 0 is OK)
184 184
 	 */
185
-	function dumpDatabase($compression='none', $type='auto', $usedefault=1, $file='auto', $keeplastnfiles=0, $execmethod=0)
185
+	function dumpDatabase($compression = 'none', $type = 'auto', $usedefault = 1, $file = 'auto', $keeplastnfiles = 0, $execmethod = 0)
186 186
 	{
187 187
 		global $db, $conf, $langs, $dolibarr_main_data_root;
188 188
 		global $dolibarr_main_db_name, $dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_port, $dolibarr_main_db_pass;
@@ -193,112 +193,112 @@  discard block
 block discarded – undo
193 193
 		require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
194 194
 
195 195
 		// Check compression parameter
196
-		if (! in_array($compression, array('none', 'gz', 'bz', 'zip')))
196
+		if (!in_array($compression, array('none', 'gz', 'bz', 'zip')))
197 197
 		{
198 198
 			$langs->load("errors");
199
-			$this->error=$langs->transnoentitiesnoconv("ErrorBadValueForParameter", $compression, "Compression");
199
+			$this->error = $langs->transnoentitiesnoconv("ErrorBadValueForParameter", $compression, "Compression");
200 200
 			return -1;
201 201
 		}
202 202
 
203 203
 		// Check type parameter
204 204
 		if ($type == 'auto') $type = $db->type;
205
-		if (! in_array($type, array('postgresql', 'pgsql', 'mysql', 'mysqli', 'mysqlnobin')))
205
+		if (!in_array($type, array('postgresql', 'pgsql', 'mysql', 'mysqli', 'mysqlnobin')))
206 206
 		{
207 207
 			$langs->load("errors");
208
-			$this->error=$langs->transnoentitiesnoconv("ErrorBadValueForParameter", $type, "Basetype");
208
+			$this->error = $langs->transnoentitiesnoconv("ErrorBadValueForParameter", $type, "Basetype");
209 209
 			return -1;
210 210
 		}
211 211
 
212 212
 		// Check file parameter
213 213
 		if ($file == 'auto')
214 214
 		{
215
-			$prefix='dump';
216
-			$ext='sql';
217
-			if (in_array($type, array('mysql', 'mysqli')))  { $prefix='mysqldump'; $ext='sql'; }
215
+			$prefix = 'dump';
216
+			$ext = 'sql';
217
+			if (in_array($type, array('mysql', 'mysqli'))) { $prefix = 'mysqldump'; $ext = 'sql'; }
218 218
 			//if ($label == 'PostgreSQL') { $prefix='pg_dump'; $ext='dump'; }
219
-			if (in_array($type, array('pgsql'))) { $prefix='pg_dump'; $ext='sql'; }
220
-			$file=$prefix.'_'.$dolibarr_main_db_name.'_'.dol_sanitizeFileName(DOL_VERSION).'_'.strftime("%Y%m%d%H%M").'.'.$ext;
219
+			if (in_array($type, array('pgsql'))) { $prefix = 'pg_dump'; $ext = 'sql'; }
220
+			$file = $prefix.'_'.$dolibarr_main_db_name.'_'.dol_sanitizeFileName(DOL_VERSION).'_'.strftime("%Y%m%d%H%M").'.'.$ext;
221 221
 		}
222 222
 
223
-		$outputdir  = $conf->admin->dir_output.'/backup';
224
-		$result=dol_mkdir($outputdir);
223
+		$outputdir = $conf->admin->dir_output.'/backup';
224
+		$result = dol_mkdir($outputdir);
225 225
 
226 226
 
227 227
 		// MYSQL
228 228
 		if ($type == 'mysql' || $type == 'mysqli')
229 229
 		{
230
-			$cmddump=$conf->global->SYSTEMTOOLS_MYSQLDUMP;
230
+			$cmddump = $conf->global->SYSTEMTOOLS_MYSQLDUMP;
231 231
 
232 232
 
233 233
 			$outputfile = $outputdir.'/'.$file;
234 234
 			// for compression format, we add extension
235
-			$compression=$compression ? $compression : 'none';
236
-			if ($compression == 'gz') $outputfile.='.gz';
237
-			if ($compression == 'bz') $outputfile.='.bz2';
235
+			$compression = $compression ? $compression : 'none';
236
+			if ($compression == 'gz') $outputfile .= '.gz';
237
+			if ($compression == 'bz') $outputfile .= '.bz2';
238 238
 			$outputerror = $outputfile.'.err';
239 239
 			dol_mkdir($conf->admin->dir_output.'/backup');
240 240
 
241 241
 			// Parameteres execution
242
-			$command=$cmddump;
243
-			if (preg_match("/\s/",$command)) $command=escapeshellarg($command);	// Use quotes on command
242
+			$command = $cmddump;
243
+			if (preg_match("/\s/", $command)) $command = escapeshellarg($command); // Use quotes on command
244 244
 
245 245
 			//$param=escapeshellarg($dolibarr_main_db_name)." -h ".escapeshellarg($dolibarr_main_db_host)." -u ".escapeshellarg($dolibarr_main_db_user)." -p".escapeshellarg($dolibarr_main_db_pass);
246
-			$param=$dolibarr_main_db_name." -h ".$dolibarr_main_db_host;
247
-			$param.=" -u ".$dolibarr_main_db_user;
248
-			if (! empty($dolibarr_main_db_port)) $param.=" -P ".$dolibarr_main_db_port;
249
-			if (! GETPOST("use_transaction"))    $param.=" -l --single-transaction";
250
-			if (GETPOST("disable_fk") || $usedefault) $param.=" -K";
251
-			if (GETPOST("sql_compat") && GETPOST("sql_compat") != 'NONE') $param.=" --compatible=".escapeshellarg(GETPOST("sql_compat","alpha"));
252
-			if (GETPOST("drop_database"))        $param.=" --add-drop-database";
246
+			$param = $dolibarr_main_db_name." -h ".$dolibarr_main_db_host;
247
+			$param .= " -u ".$dolibarr_main_db_user;
248
+			if (!empty($dolibarr_main_db_port)) $param .= " -P ".$dolibarr_main_db_port;
249
+			if (!GETPOST("use_transaction"))    $param .= " -l --single-transaction";
250
+			if (GETPOST("disable_fk") || $usedefault) $param .= " -K";
251
+			if (GETPOST("sql_compat") && GETPOST("sql_compat") != 'NONE') $param .= " --compatible=".escapeshellarg(GETPOST("sql_compat", "alpha"));
252
+			if (GETPOST("drop_database"))        $param .= " --add-drop-database";
253 253
 			if (GETPOST("sql_structure") || $usedefault)
254 254
 			{
255
-				if (GETPOST("drop") || $usedefault)	$param.=" --add-drop-table=TRUE";
256
-				else 							    $param.=" --add-drop-table=FALSE";
255
+				if (GETPOST("drop") || $usedefault)	$param .= " --add-drop-table=TRUE";
256
+				else 							    $param .= " --add-drop-table=FALSE";
257 257
 			}
258 258
 			else
259 259
 			{
260
-				$param.=" -t";
260
+				$param .= " -t";
261 261
 			}
262
-			if (GETPOST("disable-add-locks")) $param.=" --add-locks=FALSE";
262
+			if (GETPOST("disable-add-locks")) $param .= " --add-locks=FALSE";
263 263
 			if (GETPOST("sql_data") || $usedefault)
264 264
 			{
265
-				$param.=" --tables";
266
-				if (GETPOST("showcolumns") || $usedefault)	 $param.=" -c";
267
-				if (GETPOST("extended_ins") || $usedefault) $param.=" -e";
268
-				else $param.=" --skip-extended-insert";
269
-				if (GETPOST("delayed"))	 	 $param.=" --delayed-insert";
270
-				if (GETPOST("sql_ignore"))	 $param.=" --insert-ignore";
271
-				if (GETPOST("hexforbinary") || $usedefault) $param.=" --hex-blob";
265
+				$param .= " --tables";
266
+				if (GETPOST("showcolumns") || $usedefault)	 $param .= " -c";
267
+				if (GETPOST("extended_ins") || $usedefault) $param .= " -e";
268
+				else $param .= " --skip-extended-insert";
269
+				if (GETPOST("delayed"))	 	 $param .= " --delayed-insert";
270
+				if (GETPOST("sql_ignore"))	 $param .= " --insert-ignore";
271
+				if (GETPOST("hexforbinary") || $usedefault) $param .= " --hex-blob";
272 272
 			}
273 273
 			else
274 274
 			{
275
-				$param.=" -d";    // No row information (no data)
275
+				$param .= " -d"; // No row information (no data)
276 276
 			}
277
-			$param.=" --default-character-set=utf8";    // We always save output into utf8 charset
278
-			$paramcrypted=$param;
279
-			$paramclear=$param;
280
-			if (! empty($dolibarr_main_db_pass))
277
+			$param .= " --default-character-set=utf8"; // We always save output into utf8 charset
278
+			$paramcrypted = $param;
279
+			$paramclear = $param;
280
+			if (!empty($dolibarr_main_db_pass))
281 281
 			{
282
-				$paramcrypted.=' -p"'.preg_replace('/./i','*',$dolibarr_main_db_pass).'"';
283
-				$paramclear.=' -p"'.str_replace(array('"','`'),array('\"','\`'),$dolibarr_main_db_pass).'"';
282
+				$paramcrypted .= ' -p"'.preg_replace('/./i', '*', $dolibarr_main_db_pass).'"';
283
+				$paramclear .= ' -p"'.str_replace(array('"', '`'), array('\"', '\`'), $dolibarr_main_db_pass).'"';
284 284
 			}
285 285
 
286
-			$errormsg='';
286
+			$errormsg = '';
287 287
 			$handle = '';
288 288
 
289 289
 			// Start call method to execute dump
290
-			$fullcommandcrypted=$command." ".$paramcrypted." 2>&1";
291
-			$fullcommandclear=$command." ".$paramclear." 2>&1";
290
+			$fullcommandcrypted = $command." ".$paramcrypted." 2>&1";
291
+			$fullcommandclear = $command." ".$paramclear." 2>&1";
292 292
 			if ($compression == 'none') $handle = fopen($outputfile, 'w');
293 293
 			if ($compression == 'gz')   $handle = gzopen($outputfile, 'w');
294 294
 			if ($compression == 'bz')   $handle = bzopen($outputfile, 'w');
295 295
 
296 296
 			if ($handle)
297 297
 			{
298
-				if (! empty($conf->global->MAIN_EXEC_USE_POPEN)) $execmethod=$conf->global->MAIN_EXEC_USE_POPEN;
299
-				if (empty($execmethod)) $execmethod=1;
298
+				if (!empty($conf->global->MAIN_EXEC_USE_POPEN)) $execmethod = $conf->global->MAIN_EXEC_USE_POPEN;
299
+				if (empty($execmethod)) $execmethod = 1;
300 300
 
301
-				$ok=0;
301
+				$ok = 0;
302 302
 				dol_syslog("Utils::dumpDatabase execmethod=".$execmethod." command:".$fullcommandcrypted, LOG_DEBUG);
303 303
 
304 304
 				// TODO Replace with executeCLI function
@@ -312,35 +312,35 @@  discard block
 block discarded – undo
312 312
 						$langs->load("errors");
313 313
 						dol_syslog("Datadump retval after exec=".$retval, LOG_ERR);
314 314
 						$error = 'Error '.$retval;
315
-						$ok=0;
315
+						$ok = 0;
316 316
 					}
317 317
 					else
318 318
 					{
319
-						$i=0;
319
+						$i = 0;
320 320
 						if (!empty($readt))
321
-						foreach($readt as $key=>$read)
321
+						foreach ($readt as $key=>$read)
322 322
 						{
323
-							$i++;   // output line number
323
+							$i++; // output line number
324 324
 							if ($i == 1 && preg_match('/Warning.*Using a password/i', $read)) continue;
325 325
 							fwrite($handle, $read.($execmethod == 2 ? '' : "\n"));
326
-							if (preg_match('/'.preg_quote('-- Dump completed').'/i',$read)) $ok=1;
327
-							elseif (preg_match('/'.preg_quote('SET SQL_NOTES=@OLD_SQL_NOTES').'/i',$read)) $ok=1;
326
+							if (preg_match('/'.preg_quote('-- Dump completed').'/i', $read)) $ok = 1;
327
+							elseif (preg_match('/'.preg_quote('SET SQL_NOTES=@OLD_SQL_NOTES').'/i', $read)) $ok = 1;
328 328
 						}
329 329
 					}
330 330
 				}
331 331
 				if ($execmethod == 2)	// With this method, there is no way to get the return code, only output
332 332
 				{
333 333
 					$handlein = popen($fullcommandclear, 'r');
334
-					$i=0;
334
+					$i = 0;
335 335
 					while (!feof($handlein))
336 336
 					{
337
-						$i++;   // output line number
337
+						$i++; // output line number
338 338
 						$read = fgets($handlein);
339 339
 						// Exclude warning line we don't want
340 340
 						if ($i == 1 && preg_match('/Warning.*Using a password/i', $read)) continue;
341
-						fwrite($handle,$read);
342
-						if (preg_match('/'.preg_quote('-- Dump completed').'/i',$read)) $ok=1;
343
-						elseif (preg_match('/'.preg_quote('SET SQL_NOTES=@OLD_SQL_NOTES').'/i',$read)) $ok=1;
341
+						fwrite($handle, $read);
342
+						if (preg_match('/'.preg_quote('-- Dump completed').'/i', $read)) $ok = 1;
343
+						elseif (preg_match('/'.preg_quote('SET SQL_NOTES=@OLD_SQL_NOTES').'/i', $read)) $ok = 1;
344 344
 					}
345 345
 					pclose($handlein);
346 346
 				}
@@ -350,14 +350,14 @@  discard block
 block discarded – undo
350 350
 				if ($compression == 'gz')   gzclose($handle);
351 351
 				if ($compression == 'bz')   bzclose($handle);
352 352
 
353
-				if (! empty($conf->global->MAIN_UMASK))
353
+				if (!empty($conf->global->MAIN_UMASK))
354 354
 					@chmod($outputfile, octdec($conf->global->MAIN_UMASK));
355 355
 			}
356 356
 			else
357 357
 			{
358 358
 				$langs->load("errors");
359
-				dol_syslog("Failed to open file ".$outputfile,LOG_ERR);
360
-				$errormsg=$langs->trans("ErrorFailedToWriteInDir");
359
+				dol_syslog("Failed to open file ".$outputfile, LOG_ERR);
360
+				$errormsg = $langs->trans("ErrorFailedToWriteInDir");
361 361
 			}
362 362
 
363 363
 			// Get errorstring
@@ -367,23 +367,23 @@  discard block
 block discarded – undo
367 367
 			if ($handle)
368 368
 			{
369 369
 				// Get 2048 first chars of error message.
370
-				$errormsg = fgets($handle,2048);
370
+				$errormsg = fgets($handle, 2048);
371 371
 				// Close file
372 372
 				if ($compression == 'none') fclose($handle);
373 373
 				if ($compression == 'gz')   gzclose($handle);
374 374
 				if ($compression == 'bz')   bzclose($handle);
375
-				if ($ok && preg_match('/^-- MySql/i',$errormsg)) $errormsg='';	// Pas erreur
375
+				if ($ok && preg_match('/^-- MySql/i', $errormsg)) $errormsg = ''; // Pas erreur
376 376
 				else
377 377
 				{
378 378
 					// Renommer fichier sortie en fichier erreur
379 379
 					//print "$outputfile -> $outputerror";
380 380
 					@dol_delete_file($outputerror, 1, 0, 0, null, false, 0);
381
-					@rename($outputfile,$outputerror);
381
+					@rename($outputfile, $outputerror);
382 382
 					// Si safe_mode on et command hors du parametre exec, on a un fichier out vide donc errormsg vide
383
-					if (! $errormsg)
383
+					if (!$errormsg)
384 384
 					{
385 385
 						$langs->load("errors");
386
-						$errormsg=$langs->trans("ErrorFailedToRunExternalCommand");
386
+						$errormsg = $langs->trans("ErrorFailedToRunExternalCommand");
387 387
 					}
388 388
 				}
389 389
 			}
@@ -401,9 +401,9 @@  discard block
 block discarded – undo
401 401
 			$outputfile = $outputdir.'/'.$file;
402 402
 			$outputfiletemp = $outputfile.'-TMP.sql';
403 403
 			// for compression format, we add extension
404
-			$compression=$compression ? $compression : 'none';
405
-			if ($compression == 'gz') $outputfile.='.gz';
406
-			if ($compression == 'bz') $outputfile.='.bz2';
404
+			$compression = $compression ? $compression : 'none';
405
+			if ($compression == 'gz') $outputfile .= '.gz';
406
+			if ($compression == 'bz') $outputfile .= '.bz2';
407 407
 			$outputerror = $outputfile.'.err';
408 408
 			dol_mkdir($conf->admin->dir_output.'/backup');
409 409
 
@@ -425,51 +425,51 @@  discard block
 block discarded – undo
425 425
 		// POSTGRESQL
426 426
 		if ($type == 'postgresql' || $type == 'pgsql')
427 427
 		{
428
-			$cmddump=$conf->global->SYSTEMTOOLS_POSTGRESQLDUMP;
428
+			$cmddump = $conf->global->SYSTEMTOOLS_POSTGRESQLDUMP;
429 429
 
430 430
 			$outputfile = $outputdir.'/'.$file;
431 431
 			// for compression format, we add extension
432
-			$compression=$compression ? $compression : 'none';
433
-			if ($compression == 'gz') $outputfile.='.gz';
434
-			if ($compression == 'bz') $outputfile.='.bz2';
432
+			$compression = $compression ? $compression : 'none';
433
+			if ($compression == 'gz') $outputfile .= '.gz';
434
+			if ($compression == 'bz') $outputfile .= '.bz2';
435 435
 			$outputerror = $outputfile.'.err';
436 436
 			dol_mkdir($conf->admin->dir_output.'/backup');
437 437
 
438 438
 			// Parameteres execution
439
-			$command=$cmddump;
440
-			if (preg_match("/\s/",$command)) $command=escapeshellarg($command);	// Use quotes on command
439
+			$command = $cmddump;
440
+			if (preg_match("/\s/", $command)) $command = escapeshellarg($command); // Use quotes on command
441 441
 
442 442
 			//$param=escapeshellarg($dolibarr_main_db_name)." -h ".escapeshellarg($dolibarr_main_db_host)." -u ".escapeshellarg($dolibarr_main_db_user)." -p".escapeshellarg($dolibarr_main_db_pass);
443 443
 			//$param="-F c";
444
-			$param="-F p";
445
-			$param.=" --no-tablespaces --inserts -h ".$dolibarr_main_db_host;
446
-			$param.=" -U ".$dolibarr_main_db_user;
447
-			if (! empty($dolibarr_main_db_port)) $param.=" -p ".$dolibarr_main_db_port;
448
-			if (GETPOST("sql_compat") && GETPOST("sql_compat") == 'ANSI') $param.="  --disable-dollar-quoting";
449
-			if (GETPOST("drop_database"))        $param.=" -c -C";
444
+			$param = "-F p";
445
+			$param .= " --no-tablespaces --inserts -h ".$dolibarr_main_db_host;
446
+			$param .= " -U ".$dolibarr_main_db_user;
447
+			if (!empty($dolibarr_main_db_port)) $param .= " -p ".$dolibarr_main_db_port;
448
+			if (GETPOST("sql_compat") && GETPOST("sql_compat") == 'ANSI') $param .= "  --disable-dollar-quoting";
449
+			if (GETPOST("drop_database"))        $param .= " -c -C";
450 450
 			if (GETPOST("sql_structure"))
451 451
 			{
452
-				if (GETPOST("drop"))			 $param.=" --add-drop-table";
453
-				if (! GETPOST("sql_data"))       $param.=" -s";
452
+				if (GETPOST("drop"))			 $param .= " --add-drop-table";
453
+				if (!GETPOST("sql_data"))       $param .= " -s";
454 454
 			}
455 455
 			if (GETPOST("sql_data"))
456 456
 			{
457
-				if (! GETPOST("sql_structure"))	 $param.=" -a";
458
-				if (GETPOST("showcolumns"))	     $param.=" -c";
457
+				if (!GETPOST("sql_structure"))	 $param .= " -a";
458
+				if (GETPOST("showcolumns"))	     $param .= " -c";
459 459
 			}
460
-			$param.=' -f "'.$outputfile.'"';
460
+			$param .= ' -f "'.$outputfile.'"';
461 461
 			//if ($compression == 'none')
462
-			if ($compression == 'gz')   $param.=' -Z 9';
462
+			if ($compression == 'gz')   $param .= ' -Z 9';
463 463
 			//if ($compression == 'bz')
464
-			$paramcrypted=$param;
465
-			$paramclear=$param;
464
+			$paramcrypted = $param;
465
+			$paramclear = $param;
466 466
 			/*if (! empty($dolibarr_main_db_pass))
467 467
 			 {
468 468
 			 $paramcrypted.=" -W".preg_replace('/./i','*',$dolibarr_main_db_pass);
469 469
 			 $paramclear.=" -W".$dolibarr_main_db_pass;
470 470
 			 }*/
471
-			$paramcrypted.=" -w ".$dolibarr_main_db_name;
472
-			$paramclear.=" -w ".$dolibarr_main_db_name;
471
+			$paramcrypted .= " -w ".$dolibarr_main_db_name;
472
+			$paramclear .= " -w ".$dolibarr_main_db_name;
473 473
 
474 474
 			$this->output = "";
475 475
 			$this->result = array("commandbackuplastdone" => "", "commandbackuptorun" => $command." ".$paramcrypted);
@@ -479,8 +479,8 @@  discard block
 block discarded – undo
479 479
 		if ($keeplastnfiles > 0)
480 480
 		{
481 481
 			$tmpfiles = dol_dir_list($conf->admin->dir_output.'/backup', 'files', 0, '', '(\.err|\.old|\.sav)$', 'date', SORT_DESC);
482
-			$i=0;
483
-			foreach($tmpfiles as $key => $val)
482
+			$i = 0;
483
+			foreach ($tmpfiles as $key => $val)
484 484
 			{
485 485
 				$i++;
486 486
 				if ($i <= $keeplastnfiles) continue;
@@ -501,7 +501,7 @@  discard block
 block discarded – undo
501 501
 	 * @param	int		$execmethod		0=Use default method (that is 1 by default), 1=Use the PHP 'exec', 2=Use the 'popen' method
502 502
 	 * @return	array					array('result'=>...,'output'=>...,'error'=>...). result = 0 means OK.
503 503
 	 */
504
-	function executeCLI($command, $outputfile, $execmethod=0)
504
+	function executeCLI($command, $outputfile, $execmethod = 0)
505 505
 	{
506 506
 		global $conf, $langs;
507 507
 
@@ -509,15 +509,15 @@  discard block
 block discarded – undo
509 509
 		$output = '';
510 510
 		$error = '';
511 511
 
512
-		$command=escapeshellcmd($command);
513
-		$command.=" 2>&1";
512
+		$command = escapeshellcmd($command);
513
+		$command .= " 2>&1";
514 514
 
515
-		if (! empty($conf->global->MAIN_EXEC_USE_POPEN)) $execmethod=$conf->global->MAIN_EXEC_USE_POPEN;
516
-		if (empty($execmethod)) $execmethod=1;
515
+		if (!empty($conf->global->MAIN_EXEC_USE_POPEN)) $execmethod = $conf->global->MAIN_EXEC_USE_POPEN;
516
+		if (empty($execmethod)) $execmethod = 1;
517 517
 		//$execmethod=1;
518 518
 
519 519
 		dol_syslog("Utils::executeCLI execmethod=".$execmethod." system:".$command, LOG_DEBUG);
520
-		$output_arr=array();
520
+		$output_arr = array();
521 521
 
522 522
 		if ($execmethod == 1)
523 523
 		{
@@ -532,7 +532,7 @@  discard block
 block discarded – undo
532 532
 		}
533 533
 		if ($execmethod == 2)	// With this method, there is no way to get the return code, only output
534 534
 		{
535
-			$ok=0;
535
+			$ok = 0;
536 536
 			$handle = fopen($outputfile, 'w+b');
537 537
 			if ($handle)
538 538
 			{
@@ -541,21 +541,21 @@  discard block
 block discarded – undo
541 541
 				while (!feof($handlein))
542 542
 				{
543 543
 					$read = fgets($handlein);
544
-					fwrite($handle,$read);
545
-					$output_arr[]=$read;
544
+					fwrite($handle, $read);
545
+					$output_arr[] = $read;
546 546
 				}
547 547
 				pclose($handlein);
548 548
 				fclose($handle);
549 549
 			}
550
-			if (! empty($conf->global->MAIN_UMASK)) @chmod($outputfile, octdec($conf->global->MAIN_UMASK));
550
+			if (!empty($conf->global->MAIN_UMASK)) @chmod($outputfile, octdec($conf->global->MAIN_UMASK));
551 551
 		}
552 552
 
553 553
 		// Update with result
554
-		if (is_array($output_arr) && count($output_arr)>0)
554
+		if (is_array($output_arr) && count($output_arr) > 0)
555 555
 		{
556
-			foreach($output_arr as $val)
556
+			foreach ($output_arr as $val)
557 557
 			{
558
-				$output.=$val.($execmethod == 2 ? '' : "\n");
558
+				$output .= $val.($execmethod == 2 ? '' : "\n");
559 559
 			}
560 560
 		}
561 561
 
@@ -577,23 +577,23 @@  discard block
 block discarded – undo
577 577
 
578 578
 		$error = 0;
579 579
 
580
-		$modulelowercase=strtolower($module);
580
+		$modulelowercase = strtolower($module);
581 581
 
582 582
 		// Dir for module
583 583
 		$dir = $dirins.'/'.$modulelowercase;
584 584
 		// Zip file to build
585
-		$FILENAMEDOC='';
585
+		$FILENAMEDOC = '';
586 586
 
587 587
 		// Load module
588 588
 		dol_include_once($modulelowercase.'/core/modules/mod'.$module.'.class.php');
589
-		$class='mod'.$module;
589
+		$class = 'mod'.$module;
590 590
 
591 591
 		if (class_exists($class))
592 592
 		{
593 593
 			try {
594 594
 				$moduleobj = new $class($this->db);
595 595
 			}
596
-			catch(Exception $e)
596
+			catch (Exception $e)
597 597
 			{
598 598
 				$error++;
599 599
 				dol_print_error($e->getMessage());
@@ -607,41 +607,41 @@  discard block
 block discarded – undo
607 607
 			exit;
608 608
 		}
609 609
 
610
-		$arrayversion=explode('.',$moduleobj->version,3);
610
+		$arrayversion = explode('.', $moduleobj->version, 3);
611 611
 		if (count($arrayversion))
612 612
 		{
613
-			$FILENAMEASCII=strtolower($module).'.asciidoc';
614
-			$FILENAMEDOC=strtolower($module).'.html';			// TODO Use/text PDF
613
+			$FILENAMEASCII = strtolower($module).'.asciidoc';
614
+			$FILENAMEDOC = strtolower($module).'.html'; // TODO Use/text PDF
615 615
 
616 616
 			$dirofmodule = dol_buildpath(strtolower($module), 0).'/doc';
617 617
 			$dirofmoduletmp = dol_buildpath(strtolower($module), 0).'/doc/temp';
618 618
 			$outputfiledoc = $dirofmodule.'/'.$FILENAMEDOC;
619 619
 			if ($dirofmodule)
620 620
 			{
621
-				if (! dol_is_dir($dirofmodule)) dol_mkdir($dirofmodule);
622
-				if (! dol_is_dir($dirofmoduletmp)) dol_mkdir($dirofmoduletmp);
623
-				if (! is_writable($dirofmoduletmp))
621
+				if (!dol_is_dir($dirofmodule)) dol_mkdir($dirofmodule);
622
+				if (!dol_is_dir($dirofmoduletmp)) dol_mkdir($dirofmoduletmp);
623
+				if (!is_writable($dirofmoduletmp))
624 624
 				{
625 625
 					$this->error = 'Dir '.$dirofmoduletmp.' does not exists or is not writable';
626 626
 					return -1;
627 627
 				}
628 628
 
629
-				$destfile=$dirofmoduletmp.'/'.$FILENAMEASCII;
629
+				$destfile = $dirofmoduletmp.'/'.$FILENAMEASCII;
630 630
 
631 631
 				$fhandle = fopen($destfile, 'w+');
632 632
 				if ($fhandle)
633 633
 				{
634
-					$specs=dol_dir_list(dol_buildpath(strtolower($module).'/doc', 0), 'files', 1, '(\.md|\.asciidoc)$', array('\/temp\/'));
634
+					$specs = dol_dir_list(dol_buildpath(strtolower($module).'/doc', 0), 'files', 1, '(\.md|\.asciidoc)$', array('\/temp\/'));
635 635
 
636 636
 					$i = 0;
637 637
 					foreach ($specs as $spec)
638 638
 					{
639
-						if (preg_match('/notindoc/', $spec['relativename'])) continue;	// Discard file
640
-						if (preg_match('/disabled/', $spec['relativename'])) continue;	// Discard file
639
+						if (preg_match('/notindoc/', $spec['relativename'])) continue; // Discard file
640
+						if (preg_match('/disabled/', $spec['relativename'])) continue; // Discard file
641 641
 
642 642
 						$pathtofile = strtolower($module).'/doc/'.$spec['relativename'];
643
-						$format='asciidoc';
644
-						if (preg_match('/\.md$/i', $spec['name'])) $format='markdown';
643
+						$format = 'asciidoc';
644
+						if (preg_match('/\.md$/i', $spec['name'])) $format = 'markdown';
645 645
 
646 646
 						$filecursor = @file_get_contents($spec['fullname']);
647 647
 						if ($filecursor)
@@ -665,15 +665,15 @@  discard block
 block discarded – undo
665 665
 					fclose($fhandle);
666 666
 				}
667 667
 
668
-				$conf->global->MODULEBUILDER_ASCIIDOCTOR='asciidoctor';
668
+				$conf->global->MODULEBUILDER_ASCIIDOCTOR = 'asciidoctor';
669 669
 				if (empty($conf->global->MODULEBUILDER_ASCIIDOCTOR))
670 670
 				{
671 671
 					dol_print_error('', 'Module setup not complete');
672 672
 					exit;
673 673
 				}
674 674
 
675
-				$command=$conf->global->MODULEBUILDER_ASCIIDOCTOR.' '.$destfile.' -n -o '.$dirofmodule.'/'.$FILENAMEDOC;
676
-				$outfile=$dirofmoduletmp.'/out.tmp';
675
+				$command = $conf->global->MODULEBUILDER_ASCIIDOCTOR.' '.$destfile.' -n -o '.$dirofmodule.'/'.$FILENAMEDOC;
676
+				$outfile = $dirofmoduletmp.'/out.tmp';
677 677
 
678 678
 				require_once DOL_DOCUMENT_ROOT.'/core/class/utils.class.php';
679 679
 				$utils = new Utils($db);
@@ -721,18 +721,18 @@  discard block
 block discarded – undo
721 721
     {
722 722
 		global $conf;
723 723
 
724
-		if(empty($conf->loghandlers['mod_syslog_file'])) { // File Syslog disabled
724
+		if (empty($conf->loghandlers['mod_syslog_file'])) { // File Syslog disabled
725 725
 			return 0;
726 726
 		}
727 727
 
728
-		if(! function_exists('gzopen')) {
728
+		if (!function_exists('gzopen')) {
729 729
 			$this->error = 'Support for gzopen not available in this PHP';
730 730
 			return -1;
731 731
 		}
732 732
 
733 733
 		dol_include_once('/core/lib/files.lib.php');
734 734
 
735
-		$nbSaves = ! empty($conf->global->SYSLOG_FILE_SAVES) ? intval($conf->global->SYSLOG_FILE_SAVES) : 14;
735
+		$nbSaves = !empty($conf->global->SYSLOG_FILE_SAVES) ? intval($conf->global->SYSLOG_FILE_SAVES) : 14;
736 736
 
737 737
 		if (empty($conf->global->SYSLOG_FILE)) {
738 738
 			$mainlogdir = DOL_DATA_ROOT;
@@ -746,7 +746,7 @@  discard block
 block discarded – undo
746 746
 		$tabfiles = dol_dir_list(DOL_DATA_ROOT, 'files', 0, '^(dolibarr_.+|odt2pdf)\.log$'); // Also handle other log files like dolibarr_install.log
747 747
 		$tabfiles[] = array('name' => $mainlog, 'path' => $mainlogdir);
748 748
 
749
-		foreach($tabfiles as $file) {
749
+		foreach ($tabfiles as $file) {
750 750
 
751 751
 			$logname = $file['name'];
752 752
 			$logpath = $file['path'];
@@ -760,7 +760,7 @@  discard block
 block discarded – undo
760 760
 				$gzfilestmp = dol_dir_list($logpath, 'files', 0, $filter);
761 761
 				$gzfiles = array();
762 762
 
763
-				foreach($gzfilestmp as $gzfile) {
763
+				foreach ($gzfilestmp as $gzfile) {
764 764
 					$tabmatches = array();
765 765
 					preg_match('/'.$filter.'/i', $gzfile['name'], $tabmatches);
766 766
 
@@ -771,15 +771,15 @@  discard block
 block discarded – undo
771 771
 
772 772
 				krsort($gzfiles, SORT_NUMERIC);
773 773
 
774
-				foreach($gzfiles as $numsave => $dummy) {
775
-					if (dol_is_file($logpath.'/'.$logname.'.'.($numsave+1).'.gz')) {
774
+				foreach ($gzfiles as $numsave => $dummy) {
775
+					if (dol_is_file($logpath.'/'.$logname.'.'.($numsave + 1).'.gz')) {
776 776
 						return -2;
777 777
 					}
778 778
 
779
-					if($numsave >= $nbSaves) {
779
+					if ($numsave >= $nbSaves) {
780 780
 						dol_delete_file($logpath.'/'.$logname.'.'.$numsave.'.gz', 0, 0, 0, null, false, 0);
781 781
 					} else {
782
-						dol_move($logpath.'/'.$logname.'.'.$numsave.'.gz', $logpath.'/'.$logname.'.'.($numsave+1).'.gz', 0, 1, 0, 0);
782
+						dol_move($logpath.'/'.$logname.'.'.$numsave.'.gz', $logpath.'/'.$logname.'.'.($numsave + 1).'.gz', 0, 1, 0, 0);
783 783
 					}
784 784
 				}
785 785
 
@@ -800,14 +800,14 @@  discard block
 block discarded – undo
800 800
 						return -4;
801 801
 					}
802 802
 
803
-					while(! feof($sourcehandle)) {
803
+					while (!feof($sourcehandle)) {
804 804
 						gzwrite($gzfilehandle, fread($sourcehandle, 512 * 1024)); // Read 512 kB at a time
805 805
 					}
806 806
 
807 807
 					fclose($sourcehandle);
808 808
 					gzclose($gzfilehandle);
809 809
 
810
-					@chmod($logpath.'/'.$logname.'.1.gz', octdec(empty($conf->global->MAIN_UMASK)?'0664':$conf->global->MAIN_UMASK));
810
+					@chmod($logpath.'/'.$logname.'.1.gz', octdec(empty($conf->global->MAIN_UMASK) ? '0664' : $conf->global->MAIN_UMASK));
811 811
 				}
812 812
 
813 813
 				dol_delete_file($logpath.'/'.$logname, 0, 0, 0, null, false, 0);
@@ -817,7 +817,7 @@  discard block
 block discarded – undo
817 817
 				fclose($newlog);
818 818
 
819 819
 				//var_dump($logpath.'/'.$logname." - ".octdec(empty($conf->global->MAIN_UMASK)?'0664':$conf->global->MAIN_UMASK));
820
-				@chmod($logpath.'/'.$logname, octdec(empty($conf->global->MAIN_UMASK)?'0664':$conf->global->MAIN_UMASK));
820
+				@chmod($logpath.'/'.$logname, octdec(empty($conf->global->MAIN_UMASK) ? '0664' : $conf->global->MAIN_UMASK));
821 821
 			}
822 822
 		}
823 823
 
@@ -835,7 +835,7 @@  discard block
 block discarded – undo
835 835
 	 *	@param	string	$tables			Table name or '*' for all
836 836
 	 *	@return	int						<0 if KO, >0 if OK
837 837
 	 */
838
-	function backupTables($outputfile, $tables='*')
838
+	function backupTables($outputfile, $tables = '*')
839 839
 	{
840 840
 		global $db, $langs;
841 841
 		global $errormsg;
@@ -855,14 +855,14 @@  discard block
 block discarded – undo
855 855
 		{
856 856
 			$tables = array();
857 857
 			$result = $db->query('SHOW FULL TABLES WHERE Table_type = \'BASE TABLE\'');
858
-			while($row = $db->fetch_row($result))
858
+			while ($row = $db->fetch_row($result))
859 859
 			{
860 860
 				$tables[] = $row[0];
861 861
 			}
862 862
 		}
863 863
 		else
864 864
 		{
865
-			$tables = is_array($tables) ? $tables : explode(',',$tables);
865
+			$tables = is_array($tables) ? $tables : explode(',', $tables);
866 866
 		}
867 867
 
868 868
 		//cycle through
@@ -870,8 +870,8 @@  discard block
 block discarded – undo
870 870
 		if (fwrite($handle, '') === false)
871 871
 		{
872 872
 			$langs->load("errors");
873
-			dol_syslog("Failed to open file ".$outputfile,LOG_ERR);
874
-			$errormsg=$langs->trans("ErrorFailedToWriteInDir");
873
+			dol_syslog("Failed to open file ".$outputfile, LOG_ERR);
874
+			$errormsg = $langs->trans("ErrorFailedToWriteInDir");
875 875
 			return -1;
876 876
 		}
877 877
 
@@ -908,15 +908,15 @@  discard block
 block discarded – undo
908 908
 		if (GETPOST("nobin_delayed")) $delayed = 'DELAYED ';
909 909
 
910 910
 		// Process each table and print their definition + their datas
911
-		foreach($tables as $table)
911
+		foreach ($tables as $table)
912 912
 		{
913 913
 			// Saving the table structure
914 914
 			fwrite($handle, "\n--\n-- Table structure for table `".$table."`\n--\n");
915 915
 
916
-			if (GETPOST("nobin_drop")) fwrite($handle,"DROP TABLE IF EXISTS `".$table."`;\n"); // Dropping table if exists prior to re create it
917
-			fwrite($handle,"/*!40101 SET @saved_cs_client     = @@character_set_client */;\n");
918
-			fwrite($handle,"/*!40101 SET character_set_client = utf8 */;\n");
919
-			$resqldrop=$db->query('SHOW CREATE TABLE '.$table);
916
+			if (GETPOST("nobin_drop")) fwrite($handle, "DROP TABLE IF EXISTS `".$table."`;\n"); // Dropping table if exists prior to re create it
917
+			fwrite($handle, "/*!40101 SET @saved_cs_client     = @@character_set_client */;\n");
918
+			fwrite($handle, "/*!40101 SET character_set_client = utf8 */;\n");
919
+			$resqldrop = $db->query('SHOW CREATE TABLE '.$table);
920 920
 			$row2 = $db->fetch_row($resqldrop);
921 921
 			if (empty($row2[1]))
922 922
 			{
@@ -924,7 +924,7 @@  discard block
 block discarded – undo
924 924
 			}
925 925
 			else
926 926
 			{
927
-				fwrite($handle,$row2[1].";\n");
927
+				fwrite($handle, $row2[1].";\n");
928 928
 				//fwrite($handle,"/*!40101 SET character_set_client = @saved_cs_client */;\n\n");
929 929
 
930 930
 				// Dumping the data (locking the table and disabling the keys check while doing the process)
@@ -933,22 +933,22 @@  discard block
 block discarded – undo
933 933
 				if (GETPOST("nobin_disable_fk")) fwrite($handle, "ALTER TABLE `".$table."` DISABLE KEYS;\n");
934 934
 				else fwrite($handle, "/*!40000 ALTER TABLE `".$table."` DISABLE KEYS */;\n");
935 935
 
936
-				$sql='SELECT * FROM '.$table;
936
+				$sql = 'SELECT * FROM '.$table;
937 937
 				$result = $db->query($sql);
938
-				while($row = $db->fetch_row($result))
938
+				while ($row = $db->fetch_row($result))
939 939
 				{
940 940
 					// For each row of data we print a line of INSERT
941
-					fwrite($handle,'INSERT '.$delayed.$ignore.'INTO `'.$table.'` VALUES (');
941
+					fwrite($handle, 'INSERT '.$delayed.$ignore.'INTO `'.$table.'` VALUES (');
942 942
 					$columns = count($row);
943
-					for($j=0; $j<$columns; $j++) {
943
+					for ($j = 0; $j < $columns; $j++) {
944 944
 						// Processing each columns of the row to ensure that we correctly save the value (eg: add quotes for string - in fact we add quotes for everything, it's easier)
945 945
 						if ($row[$j] == null && !is_string($row[$j])) {
946 946
 							// IMPORTANT: if the field is NULL we set it NULL
947 947
 							$row[$j] = 'NULL';
948
-						} elseif(is_string($row[$j]) && $row[$j] == '') {
948
+						} elseif (is_string($row[$j]) && $row[$j] == '') {
949 949
 							// if it's an empty string, we set it as an empty string
950 950
 							$row[$j] = "''";
951
-						} elseif(is_numeric($row[$j]) && !strcmp($row[$j], $row[$j]+0) ) { // test if it's a numeric type and the numeric version ($nb+0) == string version (eg: if we have 01, it's probably not a number but rather a string, else it would not have any leading 0)
951
+						} elseif (is_numeric($row[$j]) && !strcmp($row[$j], $row[$j] + 0)) { // test if it's a numeric type and the numeric version ($nb+0) == string version (eg: if we have 01, it's probably not a number but rather a string, else it would not have any leading 0)
952 952
 							// if it's a number, we return it as-is
953 953
 							//	                    $row[$j] = $row[$j];
954 954
 						} else { // else for all other cases we escape the value and put quotes around
@@ -957,11 +957,11 @@  discard block
 block discarded – undo
957 957
 							$row[$j] = "'".$row[$j]."'";
958 958
 						}
959 959
 					}
960
-					fwrite($handle,implode(',', $row).");\n");
960
+					fwrite($handle, implode(',', $row).");\n");
961 961
 				}
962 962
 				if (GETPOST("nobin_disable_fk")) fwrite($handle, "ALTER TABLE `".$table."` ENABLE KEYS;\n"); // Enabling back the keys/index checking
963 963
 				if (!GETPOST("nobin_nolocks")) fwrite($handle, "UNLOCK TABLES;\n"); // Unlocking the table
964
-				fwrite($handle,"\n\n\n");
964
+				fwrite($handle, "\n\n\n");
965 965
 			}
966 966
 		}
967 967
 
@@ -985,10 +985,10 @@  discard block
 block discarded – undo
985 985
 		/* Backup Procedure structure*/
986 986
 
987 987
 		// Write the footer (restore the previous database settings)
988
-		$sqlfooter="\n\n";
988
+		$sqlfooter = "\n\n";
989 989
 		if (GETPOST("nobin_use_transaction")) $sqlfooter .= "COMMIT;\n";
990 990
 		if (GETPOST("nobin_disable_fk")) $sqlfooter .= "SET FOREIGN_KEY_CHECKS=1;\n";
991
-		$sqlfooter.="\n\n-- Dump completed on ".date('Y-m-d G-i-s');
991
+		$sqlfooter .= "\n\n-- Dump completed on ".date('Y-m-d G-i-s');
992 992
 		fwrite($handle, $sqlfooter);
993 993
 
994 994
 		fclose($handle);
Please login to merge, or discard this patch.
Braces   +270 added lines, -116 removed lines patch added patch discarded remove patch
@@ -63,7 +63,9 @@  discard block
 block discarded – undo
63 63
 		require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
64 64
 
65 65
 		$filesarray=array();
66
-		if (empty($choice)) $choice='tempfilesold';
66
+		if (empty($choice)) {
67
+		    $choice='tempfilesold';
68
+		}
67 69
 
68 70
 		if ($choice=='tempfiles' || $choice=='tempfilesold')
69 71
 		{
@@ -76,7 +78,10 @@  discard block
 block discarded – undo
76 78
 					$now = dol_now();
77 79
 					foreach($filesarray as $key => $val)
78 80
 					{
79
-						if ($val['date'] > ($now - (24 * 3600))) unset($filesarray[$key]);	// Discard files not older than 24h
81
+						if ($val['date'] > ($now - (24 * 3600))) {
82
+						    unset($filesarray[$key]);
83
+						}
84
+						// Discard files not older than 24h
80 85
 					}
81 86
 				}
82 87
 			}
@@ -110,7 +115,9 @@  discard block
 block discarded – undo
110 115
 				{
111 116
 					if ($tmpcursor['fullname'] == $filelog) { $alreadyincluded=true; }
112 117
 				}
113
-				if (! $alreadyincluded) $filesarray[]=array('fullname'=>$filelog,'type'=>'file');
118
+				if (! $alreadyincluded) {
119
+				    $filesarray[]=array('fullname'=>$filelog,'type'=>'file');
120
+				}
114 121
 			}
115 122
 		}
116 123
 
@@ -129,8 +136,7 @@  discard block
 block discarded – undo
129 136
 					$result=dol_delete_dir_recursive($filesarray[$key]['fullname'], $startcount, 1, 0, $tmpcountdeleted);
130 137
 					$count+=$result;
131 138
 					$countdeleted+=$tmpcountdeleted;
132
-				}
133
-				elseif ($filesarray[$key]['type'] == 'file')
139
+				} elseif ($filesarray[$key]['type'] == 'file')
134 140
 				{
135 141
 					// If (file that is not logfile) or (if mode is logfile)
136 142
 					if ($filesarray[$key]['fullname'] != $filelog || $choice=='logfile')
@@ -140,8 +146,7 @@  discard block
 block discarded – undo
140 146
 						{
141 147
 							$count++;
142 148
 							$countdeleted++;
143
-						}
144
-						else
149
+						} else
145 150
 						{
146 151
 							$counterror++;
147 152
 						}
@@ -161,9 +166,12 @@  discard block
 block discarded – undo
161 166
 		if ($count > 0)
162 167
 		{
163 168
 			$this->output=$langs->trans("PurgeNDirectoriesDeleted", $countdeleted);
164
-			if ($count > $countdeleted) $this->output.='<br>'.$langs->trans("PurgeNDirectoriesFailed", ($count - $countdeleted));
169
+			if ($count > $countdeleted) {
170
+			    $this->output.='<br>'.$langs->trans("PurgeNDirectoriesFailed", ($count - $countdeleted));
171
+			}
172
+		} else {
173
+		    $this->output=$langs->trans("PurgeNothingToDelete").($choice == 'tempfilesold' ? ' (older than 24h)':'');
165 174
 		}
166
-		else $this->output=$langs->trans("PurgeNothingToDelete").($choice == 'tempfilesold' ? ' (older than 24h)':'');
167 175
 
168 176
 		//return $count;
169 177
 		return 0;     // This function can be called by cron so must return 0 if OK
@@ -201,7 +209,9 @@  discard block
 block discarded – undo
201 209
 		}
202 210
 
203 211
 		// Check type parameter
204
-		if ($type == 'auto') $type = $db->type;
212
+		if ($type == 'auto') {
213
+		    $type = $db->type;
214
+		}
205 215
 		if (! in_array($type, array('postgresql', 'pgsql', 'mysql', 'mysqli', 'mysqlnobin')))
206 216
 		{
207 217
 			$langs->load("errors");
@@ -233,44 +243,75 @@  discard block
 block discarded – undo
233 243
 			$outputfile = $outputdir.'/'.$file;
234 244
 			// for compression format, we add extension
235 245
 			$compression=$compression ? $compression : 'none';
236
-			if ($compression == 'gz') $outputfile.='.gz';
237
-			if ($compression == 'bz') $outputfile.='.bz2';
246
+			if ($compression == 'gz') {
247
+			    $outputfile.='.gz';
248
+			}
249
+			if ($compression == 'bz') {
250
+			    $outputfile.='.bz2';
251
+			}
238 252
 			$outputerror = $outputfile.'.err';
239 253
 			dol_mkdir($conf->admin->dir_output.'/backup');
240 254
 
241 255
 			// Parameteres execution
242 256
 			$command=$cmddump;
243
-			if (preg_match("/\s/",$command)) $command=escapeshellarg($command);	// Use quotes on command
257
+			if (preg_match("/\s/",$command)) {
258
+			    $command=escapeshellarg($command);
259
+			}
260
+			// Use quotes on command
244 261
 
245 262
 			//$param=escapeshellarg($dolibarr_main_db_name)." -h ".escapeshellarg($dolibarr_main_db_host)." -u ".escapeshellarg($dolibarr_main_db_user)." -p".escapeshellarg($dolibarr_main_db_pass);
246 263
 			$param=$dolibarr_main_db_name." -h ".$dolibarr_main_db_host;
247 264
 			$param.=" -u ".$dolibarr_main_db_user;
248
-			if (! empty($dolibarr_main_db_port)) $param.=" -P ".$dolibarr_main_db_port;
249
-			if (! GETPOST("use_transaction"))    $param.=" -l --single-transaction";
250
-			if (GETPOST("disable_fk") || $usedefault) $param.=" -K";
251
-			if (GETPOST("sql_compat") && GETPOST("sql_compat") != 'NONE') $param.=" --compatible=".escapeshellarg(GETPOST("sql_compat","alpha"));
252
-			if (GETPOST("drop_database"))        $param.=" --add-drop-database";
265
+			if (! empty($dolibarr_main_db_port)) {
266
+			    $param.=" -P ".$dolibarr_main_db_port;
267
+			}
268
+			if (! GETPOST("use_transaction")) {
269
+			    $param.=" -l --single-transaction";
270
+			}
271
+			if (GETPOST("disable_fk") || $usedefault) {
272
+			    $param.=" -K";
273
+			}
274
+			if (GETPOST("sql_compat") && GETPOST("sql_compat") != 'NONE') {
275
+			    $param.=" --compatible=".escapeshellarg(GETPOST("sql_compat","alpha"));
276
+			}
277
+			if (GETPOST("drop_database")) {
278
+			    $param.=" --add-drop-database";
279
+			}
253 280
 			if (GETPOST("sql_structure") || $usedefault)
254 281
 			{
255
-				if (GETPOST("drop") || $usedefault)	$param.=" --add-drop-table=TRUE";
256
-				else 							    $param.=" --add-drop-table=FALSE";
257
-			}
258
-			else
282
+				if (GETPOST("drop") || $usedefault) {
283
+				    $param.=" --add-drop-table=TRUE";
284
+				} else {
285
+				    $param.=" --add-drop-table=FALSE";
286
+				}
287
+			} else
259 288
 			{
260 289
 				$param.=" -t";
261 290
 			}
262
-			if (GETPOST("disable-add-locks")) $param.=" --add-locks=FALSE";
291
+			if (GETPOST("disable-add-locks")) {
292
+			    $param.=" --add-locks=FALSE";
293
+			}
263 294
 			if (GETPOST("sql_data") || $usedefault)
264 295
 			{
265 296
 				$param.=" --tables";
266
-				if (GETPOST("showcolumns") || $usedefault)	 $param.=" -c";
267
-				if (GETPOST("extended_ins") || $usedefault) $param.=" -e";
268
-				else $param.=" --skip-extended-insert";
269
-				if (GETPOST("delayed"))	 	 $param.=" --delayed-insert";
270
-				if (GETPOST("sql_ignore"))	 $param.=" --insert-ignore";
271
-				if (GETPOST("hexforbinary") || $usedefault) $param.=" --hex-blob";
272
-			}
273
-			else
297
+				if (GETPOST("showcolumns") || $usedefault) {
298
+				    $param.=" -c";
299
+				}
300
+				if (GETPOST("extended_ins") || $usedefault) {
301
+				    $param.=" -e";
302
+				} else {
303
+				    $param.=" --skip-extended-insert";
304
+				}
305
+				if (GETPOST("delayed")) {
306
+				    $param.=" --delayed-insert";
307
+				}
308
+				if (GETPOST("sql_ignore")) {
309
+				    $param.=" --insert-ignore";
310
+				}
311
+				if (GETPOST("hexforbinary") || $usedefault) {
312
+				    $param.=" --hex-blob";
313
+				}
314
+			} else
274 315
 			{
275 316
 				$param.=" -d";    // No row information (no data)
276 317
 			}
@@ -289,14 +330,24 @@  discard block
 block discarded – undo
289 330
 			// Start call method to execute dump
290 331
 			$fullcommandcrypted=$command." ".$paramcrypted." 2>&1";
291 332
 			$fullcommandclear=$command." ".$paramclear." 2>&1";
292
-			if ($compression == 'none') $handle = fopen($outputfile, 'w');
293
-			if ($compression == 'gz')   $handle = gzopen($outputfile, 'w');
294
-			if ($compression == 'bz')   $handle = bzopen($outputfile, 'w');
333
+			if ($compression == 'none') {
334
+			    $handle = fopen($outputfile, 'w');
335
+			}
336
+			if ($compression == 'gz') {
337
+			    $handle = gzopen($outputfile, 'w');
338
+			}
339
+			if ($compression == 'bz') {
340
+			    $handle = bzopen($outputfile, 'w');
341
+			}
295 342
 
296 343
 			if ($handle)
297 344
 			{
298
-				if (! empty($conf->global->MAIN_EXEC_USE_POPEN)) $execmethod=$conf->global->MAIN_EXEC_USE_POPEN;
299
-				if (empty($execmethod)) $execmethod=1;
345
+				if (! empty($conf->global->MAIN_EXEC_USE_POPEN)) {
346
+				    $execmethod=$conf->global->MAIN_EXEC_USE_POPEN;
347
+				}
348
+				if (empty($execmethod)) {
349
+				    $execmethod=1;
350
+				}
300 351
 
301 352
 				$ok=0;
302 353
 				dol_syslog("Utils::dumpDatabase execmethod=".$execmethod." command:".$fullcommandcrypted, LOG_DEBUG);
@@ -313,47 +364,66 @@  discard block
 block discarded – undo
313 364
 						dol_syslog("Datadump retval after exec=".$retval, LOG_ERR);
314 365
 						$error = 'Error '.$retval;
315 366
 						$ok=0;
316
-					}
317
-					else
367
+					} else
318 368
 					{
319 369
 						$i=0;
320
-						if (!empty($readt))
321
-						foreach($readt as $key=>$read)
370
+						if (!empty($readt)) {
371
+												foreach($readt as $key=>$read)
322 372
 						{
323
-							$i++;   // output line number
324
-							if ($i == 1 && preg_match('/Warning.*Using a password/i', $read)) continue;
373
+							$i++;
374
+						}
375
+						// output line number
376
+							if ($i == 1 && preg_match('/Warning.*Using a password/i', $read)) {
377
+							    continue;
378
+							}
325 379
 							fwrite($handle, $read.($execmethod == 2 ? '' : "\n"));
326
-							if (preg_match('/'.preg_quote('-- Dump completed').'/i',$read)) $ok=1;
327
-							elseif (preg_match('/'.preg_quote('SET SQL_NOTES=@OLD_SQL_NOTES').'/i',$read)) $ok=1;
380
+							if (preg_match('/'.preg_quote('-- Dump completed').'/i',$read)) {
381
+							    $ok=1;
382
+							} elseif (preg_match('/'.preg_quote('SET SQL_NOTES=@OLD_SQL_NOTES').'/i',$read)) {
383
+							    $ok=1;
384
+							}
328 385
 						}
329 386
 					}
330 387
 				}
331
-				if ($execmethod == 2)	// With this method, there is no way to get the return code, only output
388
+				if ($execmethod == 2) {
389
+				    // With this method, there is no way to get the return code, only output
332 390
 				{
333 391
 					$handlein = popen($fullcommandclear, 'r');
392
+				}
334 393
 					$i=0;
335 394
 					while (!feof($handlein))
336 395
 					{
337 396
 						$i++;   // output line number
338 397
 						$read = fgets($handlein);
339 398
 						// Exclude warning line we don't want
340
-						if ($i == 1 && preg_match('/Warning.*Using a password/i', $read)) continue;
399
+						if ($i == 1 && preg_match('/Warning.*Using a password/i', $read)) {
400
+						    continue;
401
+						}
341 402
 						fwrite($handle,$read);
342
-						if (preg_match('/'.preg_quote('-- Dump completed').'/i',$read)) $ok=1;
343
-						elseif (preg_match('/'.preg_quote('SET SQL_NOTES=@OLD_SQL_NOTES').'/i',$read)) $ok=1;
403
+						if (preg_match('/'.preg_quote('-- Dump completed').'/i',$read)) {
404
+						    $ok=1;
405
+						} elseif (preg_match('/'.preg_quote('SET SQL_NOTES=@OLD_SQL_NOTES').'/i',$read)) {
406
+						    $ok=1;
407
+						}
344 408
 					}
345 409
 					pclose($handlein);
346 410
 				}
347 411
 
348 412
 
349
-				if ($compression == 'none') fclose($handle);
350
-				if ($compression == 'gz')   gzclose($handle);
351
-				if ($compression == 'bz')   bzclose($handle);
413
+				if ($compression == 'none') {
414
+				    fclose($handle);
415
+				}
416
+				if ($compression == 'gz') {
417
+				    gzclose($handle);
418
+				}
419
+				if ($compression == 'bz') {
420
+				    bzclose($handle);
421
+				}
352 422
 
353
-				if (! empty($conf->global->MAIN_UMASK))
354
-					@chmod($outputfile, octdec($conf->global->MAIN_UMASK));
355
-			}
356
-			else
423
+				if (! empty($conf->global->MAIN_UMASK)) {
424
+									@chmod($outputfile, octdec($conf->global->MAIN_UMASK));
425
+				}
426
+			} else
357 427
 			{
358 428
 				$langs->load("errors");
359 429
 				dol_syslog("Failed to open file ".$outputfile,LOG_ERR);
@@ -361,18 +431,33 @@  discard block
 block discarded – undo
361 431
 			}
362 432
 
363 433
 			// Get errorstring
364
-			if ($compression == 'none') $handle = fopen($outputfile, 'r');
365
-			if ($compression == 'gz')   $handle = gzopen($outputfile, 'r');
366
-			if ($compression == 'bz')   $handle = bzopen($outputfile, 'r');
434
+			if ($compression == 'none') {
435
+			    $handle = fopen($outputfile, 'r');
436
+			}
437
+			if ($compression == 'gz') {
438
+			    $handle = gzopen($outputfile, 'r');
439
+			}
440
+			if ($compression == 'bz') {
441
+			    $handle = bzopen($outputfile, 'r');
442
+			}
367 443
 			if ($handle)
368 444
 			{
369 445
 				// Get 2048 first chars of error message.
370 446
 				$errormsg = fgets($handle,2048);
371 447
 				// Close file
372
-				if ($compression == 'none') fclose($handle);
373
-				if ($compression == 'gz')   gzclose($handle);
374
-				if ($compression == 'bz')   bzclose($handle);
375
-				if ($ok && preg_match('/^-- MySql/i',$errormsg)) $errormsg='';	// Pas erreur
448
+				if ($compression == 'none') {
449
+				    fclose($handle);
450
+				}
451
+				if ($compression == 'gz') {
452
+				    gzclose($handle);
453
+				}
454
+				if ($compression == 'bz') {
455
+				    bzclose($handle);
456
+				}
457
+				if ($ok && preg_match('/^-- MySql/i',$errormsg)) {
458
+				    $errormsg='';
459
+				}
460
+				// Pas erreur
376 461
 				else
377 462
 				{
378 463
 					// Renommer fichier sortie en fichier erreur
@@ -402,8 +487,12 @@  discard block
 block discarded – undo
402 487
 			$outputfiletemp = $outputfile.'-TMP.sql';
403 488
 			// for compression format, we add extension
404 489
 			$compression=$compression ? $compression : 'none';
405
-			if ($compression == 'gz') $outputfile.='.gz';
406
-			if ($compression == 'bz') $outputfile.='.bz2';
490
+			if ($compression == 'gz') {
491
+			    $outputfile.='.gz';
492
+			}
493
+			if ($compression == 'bz') {
494
+			    $outputfile.='.bz2';
495
+			}
407 496
 			$outputerror = $outputfile.'.err';
408 497
 			dol_mkdir($conf->admin->dir_output.'/backup');
409 498
 
@@ -412,8 +501,7 @@  discard block
 block discarded – undo
412 501
 				$this->backupTables($outputfiletemp);
413 502
 				dol_compress_file($outputfiletemp, $outputfile, $compression);
414 503
 				unlink($outputfiletemp);
415
-			}
416
-			else
504
+			} else
417 505
 			{
418 506
 				$this->backupTables($outputfile);
419 507
 			}
@@ -430,36 +518,59 @@  discard block
 block discarded – undo
430 518
 			$outputfile = $outputdir.'/'.$file;
431 519
 			// for compression format, we add extension
432 520
 			$compression=$compression ? $compression : 'none';
433
-			if ($compression == 'gz') $outputfile.='.gz';
434
-			if ($compression == 'bz') $outputfile.='.bz2';
521
+			if ($compression == 'gz') {
522
+			    $outputfile.='.gz';
523
+			}
524
+			if ($compression == 'bz') {
525
+			    $outputfile.='.bz2';
526
+			}
435 527
 			$outputerror = $outputfile.'.err';
436 528
 			dol_mkdir($conf->admin->dir_output.'/backup');
437 529
 
438 530
 			// Parameteres execution
439 531
 			$command=$cmddump;
440
-			if (preg_match("/\s/",$command)) $command=escapeshellarg($command);	// Use quotes on command
532
+			if (preg_match("/\s/",$command)) {
533
+			    $command=escapeshellarg($command);
534
+			}
535
+			// Use quotes on command
441 536
 
442 537
 			//$param=escapeshellarg($dolibarr_main_db_name)." -h ".escapeshellarg($dolibarr_main_db_host)." -u ".escapeshellarg($dolibarr_main_db_user)." -p".escapeshellarg($dolibarr_main_db_pass);
443 538
 			//$param="-F c";
444 539
 			$param="-F p";
445 540
 			$param.=" --no-tablespaces --inserts -h ".$dolibarr_main_db_host;
446 541
 			$param.=" -U ".$dolibarr_main_db_user;
447
-			if (! empty($dolibarr_main_db_port)) $param.=" -p ".$dolibarr_main_db_port;
448
-			if (GETPOST("sql_compat") && GETPOST("sql_compat") == 'ANSI') $param.="  --disable-dollar-quoting";
449
-			if (GETPOST("drop_database"))        $param.=" -c -C";
542
+			if (! empty($dolibarr_main_db_port)) {
543
+			    $param.=" -p ".$dolibarr_main_db_port;
544
+			}
545
+			if (GETPOST("sql_compat") && GETPOST("sql_compat") == 'ANSI') {
546
+			    $param.="  --disable-dollar-quoting";
547
+			}
548
+			if (GETPOST("drop_database")) {
549
+			    $param.=" -c -C";
550
+			}
450 551
 			if (GETPOST("sql_structure"))
451 552
 			{
452
-				if (GETPOST("drop"))			 $param.=" --add-drop-table";
453
-				if (! GETPOST("sql_data"))       $param.=" -s";
553
+				if (GETPOST("drop")) {
554
+				    $param.=" --add-drop-table";
555
+				}
556
+				if (! GETPOST("sql_data")) {
557
+				    $param.=" -s";
558
+				}
454 559
 			}
455 560
 			if (GETPOST("sql_data"))
456 561
 			{
457
-				if (! GETPOST("sql_structure"))	 $param.=" -a";
458
-				if (GETPOST("showcolumns"))	     $param.=" -c";
562
+				if (! GETPOST("sql_structure")) {
563
+				    $param.=" -a";
564
+				}
565
+				if (GETPOST("showcolumns")) {
566
+				    $param.=" -c";
567
+				}
459 568
 			}
460 569
 			$param.=' -f "'.$outputfile.'"';
461 570
 			//if ($compression == 'none')
462
-			if ($compression == 'gz')   $param.=' -Z 9';
571
+			if ($compression == 'gz') {
572
+			    $param.=' -Z 9';
573
+			}
463 574
 			//if ($compression == 'bz')
464 575
 			$paramcrypted=$param;
465 576
 			$paramclear=$param;
@@ -483,7 +594,9 @@  discard block
 block discarded – undo
483 594
 			foreach($tmpfiles as $key => $val)
484 595
 			{
485 596
 				$i++;
486
-				if ($i <= $keeplastnfiles) continue;
597
+				if ($i <= $keeplastnfiles) {
598
+				    continue;
599
+				}
487 600
 				dol_delete_file($val['fullname'], 0, 0, 0, null, false, 0);
488 601
 			}
489 602
 		}
@@ -512,8 +625,12 @@  discard block
 block discarded – undo
512 625
 		$command=escapeshellcmd($command);
513 626
 		$command.=" 2>&1";
514 627
 
515
-		if (! empty($conf->global->MAIN_EXEC_USE_POPEN)) $execmethod=$conf->global->MAIN_EXEC_USE_POPEN;
516
-		if (empty($execmethod)) $execmethod=1;
628
+		if (! empty($conf->global->MAIN_EXEC_USE_POPEN)) {
629
+		    $execmethod=$conf->global->MAIN_EXEC_USE_POPEN;
630
+		}
631
+		if (empty($execmethod)) {
632
+		    $execmethod=1;
633
+		}
517 634
 		//$execmethod=1;
518 635
 
519 636
 		dol_syslog("Utils::executeCLI execmethod=".$execmethod." system:".$command, LOG_DEBUG);
@@ -530,9 +647,11 @@  discard block
 block discarded – undo
530 647
 				$error = 'Error '.$retval;
531 648
 			}
532 649
 		}
533
-		if ($execmethod == 2)	// With this method, there is no way to get the return code, only output
650
+		if ($execmethod == 2) {
651
+		    // With this method, there is no way to get the return code, only output
534 652
 		{
535 653
 			$ok=0;
654
+		}
536 655
 			$handle = fopen($outputfile, 'w+b');
537 656
 			if ($handle)
538 657
 			{
@@ -547,7 +666,9 @@  discard block
 block discarded – undo
547 666
 				pclose($handlein);
548 667
 				fclose($handle);
549 668
 			}
550
-			if (! empty($conf->global->MAIN_UMASK)) @chmod($outputfile, octdec($conf->global->MAIN_UMASK));
669
+			if (! empty($conf->global->MAIN_UMASK)) {
670
+			    @chmod($outputfile, octdec($conf->global->MAIN_UMASK));
671
+			}
551 672
 		}
552 673
 
553 674
 		// Update with result
@@ -592,14 +713,12 @@  discard block
 block discarded – undo
592 713
 		{
593 714
 			try {
594 715
 				$moduleobj = new $class($this->db);
595
-			}
596
-			catch(Exception $e)
716
+			} catch(Exception $e)
597 717
 			{
598 718
 				$error++;
599 719
 				dol_print_error($e->getMessage());
600 720
 			}
601
-		}
602
-		else
721
+		} else
603 722
 		{
604 723
 			$error++;
605 724
 			$langs->load("errors");
@@ -618,8 +737,12 @@  discard block
 block discarded – undo
618 737
 			$outputfiledoc = $dirofmodule.'/'.$FILENAMEDOC;
619 738
 			if ($dirofmodule)
620 739
 			{
621
-				if (! dol_is_dir($dirofmodule)) dol_mkdir($dirofmodule);
622
-				if (! dol_is_dir($dirofmoduletmp)) dol_mkdir($dirofmoduletmp);
740
+				if (! dol_is_dir($dirofmodule)) {
741
+				    dol_mkdir($dirofmodule);
742
+				}
743
+				if (! dol_is_dir($dirofmoduletmp)) {
744
+				    dol_mkdir($dirofmoduletmp);
745
+				}
623 746
 				if (! is_writable($dirofmoduletmp))
624 747
 				{
625 748
 					$this->error = 'Dir '.$dirofmoduletmp.' does not exists or is not writable';
@@ -636,19 +759,26 @@  discard block
 block discarded – undo
636 759
 					$i = 0;
637 760
 					foreach ($specs as $spec)
638 761
 					{
639
-						if (preg_match('/notindoc/', $spec['relativename'])) continue;	// Discard file
640
-						if (preg_match('/disabled/', $spec['relativename'])) continue;	// Discard file
762
+						if (preg_match('/notindoc/', $spec['relativename'])) {
763
+						    continue;
764
+						}
765
+						// Discard file
766
+						if (preg_match('/disabled/', $spec['relativename'])) {
767
+						    continue;
768
+						}
769
+						// Discard file
641 770
 
642 771
 						$pathtofile = strtolower($module).'/doc/'.$spec['relativename'];
643 772
 						$format='asciidoc';
644
-						if (preg_match('/\.md$/i', $spec['name'])) $format='markdown';
773
+						if (preg_match('/\.md$/i', $spec['name'])) {
774
+						    $format='markdown';
775
+						}
645 776
 
646 777
 						$filecursor = @file_get_contents($spec['fullname']);
647 778
 						if ($filecursor)
648 779
 						{
649 780
 							fwrite($fhandle, ($i ? "\n<<<\n\n" : "").$filecursor."\n");
650
-						}
651
-						else
781
+						} else
652 782
 						{
653 783
 							$this->error = 'Failed to concat content of file '.$spec['fullname'];
654 784
 							return -1;
@@ -683,8 +813,7 @@  discard block
 block discarded – undo
683 813
 					$this->error = $resarray['error'].' '.$resarray['output'];
684 814
 				}
685 815
 				$result = ($resarray['result'] == 0) ? 1 : 0;
686
-			}
687
-			else
816
+			} else
688 817
 			{
689 818
 				$result = 0;
690 819
 			}
@@ -692,15 +821,13 @@  discard block
 block discarded – undo
692 821
 			if ($result > 0)
693 822
 			{
694 823
 				return 1;
695
-			}
696
-			else
824
+			} else
697 825
 			{
698 826
 				$error++;
699 827
 				$langs->load("errors");
700 828
 				$this->error = $langs->trans("ErrorFailToGenerateFile", $outputfiledoc);
701 829
 			}
702
-		}
703
-		else
830
+		} else
704 831
 		{
705 832
 			$error++;
706 833
 			$langs->load("errors");
@@ -751,11 +878,13 @@  discard block
 block discarded – undo
751 878
 			$logname = $file['name'];
752 879
 			$logpath = $file['path'];
753 880
 
754
-			if (dol_is_file($logpath.'/'.$logname) && dol_filesize($logpath.'/'.$logname) > 0)	// If log file exists and is not empty
881
+			if (dol_is_file($logpath.'/'.$logname) && dol_filesize($logpath.'/'.$logname) > 0) {
882
+			    // If log file exists and is not empty
755 883
 			{
756 884
 				// Handle already compressed files to rename them and add +1
757 885
 
758 886
 				$filter = '^'.preg_quote($logname, '/').'\.([0-9]+)\.gz$';
887
+			}
759 888
 
760 889
 				$gzfilestmp = dol_dir_list($logpath, 'files', 0, $filter);
761 890
 				$gzfiles = array();
@@ -859,8 +988,7 @@  discard block
 block discarded – undo
859 988
 			{
860 989
 				$tables[] = $row[0];
861 990
 			}
862
-		}
863
-		else
991
+		} else
864 992
 		{
865 993
 			$tables = is_array($tables) ? $tables : explode(',',$tables);
866 994
 		}
@@ -896,16 +1024,24 @@  discard block
 block discarded – undo
896 1024
 
897 1025
 ";
898 1026
 
899
-		if (GETPOST("nobin_disable_fk")) $sqlhead .= "SET FOREIGN_KEY_CHECKS=0;\n";
1027
+		if (GETPOST("nobin_disable_fk")) {
1028
+		    $sqlhead .= "SET FOREIGN_KEY_CHECKS=0;\n";
1029
+		}
900 1030
 		//$sqlhead .= "SET SQL_MODE=\"NO_AUTO_VALUE_ON_ZERO\";\n";
901
-		if (GETPOST("nobin_use_transaction")) $sqlhead .= "SET AUTOCOMMIT=0;\nSTART TRANSACTION;\n";
1031
+		if (GETPOST("nobin_use_transaction")) {
1032
+		    $sqlhead .= "SET AUTOCOMMIT=0;\nSTART TRANSACTION;\n";
1033
+		}
902 1034
 
903 1035
 		fwrite($handle, $sqlhead);
904 1036
 
905 1037
 		$ignore = '';
906
-		if (GETPOST("nobin_sql_ignore")) $ignore = 'IGNORE ';
1038
+		if (GETPOST("nobin_sql_ignore")) {
1039
+		    $ignore = 'IGNORE ';
1040
+		}
907 1041
 		$delayed = '';
908
-		if (GETPOST("nobin_delayed")) $delayed = 'DELAYED ';
1042
+		if (GETPOST("nobin_delayed")) {
1043
+		    $delayed = 'DELAYED ';
1044
+		}
909 1045
 
910 1046
 		// Process each table and print their definition + their datas
911 1047
 		foreach($tables as $table)
@@ -913,7 +1049,10 @@  discard block
 block discarded – undo
913 1049
 			// Saving the table structure
914 1050
 			fwrite($handle, "\n--\n-- Table structure for table `".$table."`\n--\n");
915 1051
 
916
-			if (GETPOST("nobin_drop")) fwrite($handle,"DROP TABLE IF EXISTS `".$table."`;\n"); // Dropping table if exists prior to re create it
1052
+			if (GETPOST("nobin_drop")) {
1053
+			    fwrite($handle,"DROP TABLE IF EXISTS `".$table."`;\n");
1054
+			}
1055
+			// Dropping table if exists prior to re create it
917 1056
 			fwrite($handle,"/*!40101 SET @saved_cs_client     = @@character_set_client */;\n");
918 1057
 			fwrite($handle,"/*!40101 SET character_set_client = utf8 */;\n");
919 1058
 			$resqldrop=$db->query('SHOW CREATE TABLE '.$table);
@@ -921,17 +1060,22 @@  discard block
 block discarded – undo
921 1060
 			if (empty($row2[1]))
922 1061
 			{
923 1062
 				fwrite($handle, "\n-- WARNING: Show create table ".$table." return empy string when it should not.\n");
924
-			}
925
-			else
1063
+			} else
926 1064
 			{
927 1065
 				fwrite($handle,$row2[1].";\n");
928 1066
 				//fwrite($handle,"/*!40101 SET character_set_client = @saved_cs_client */;\n\n");
929 1067
 
930 1068
 				// Dumping the data (locking the table and disabling the keys check while doing the process)
931 1069
 				fwrite($handle, "\n--\n-- Dumping data for table `".$table."`\n--\n");
932
-				if (!GETPOST("nobin_nolocks")) fwrite($handle, "LOCK TABLES `".$table."` WRITE;\n"); // Lock the table before inserting data (when the data will be imported back)
933
-				if (GETPOST("nobin_disable_fk")) fwrite($handle, "ALTER TABLE `".$table."` DISABLE KEYS;\n");
934
-				else fwrite($handle, "/*!40000 ALTER TABLE `".$table."` DISABLE KEYS */;\n");
1070
+				if (!GETPOST("nobin_nolocks")) {
1071
+				    fwrite($handle, "LOCK TABLES `".$table."` WRITE;\n");
1072
+				}
1073
+				// Lock the table before inserting data (when the data will be imported back)
1074
+				if (GETPOST("nobin_disable_fk")) {
1075
+				    fwrite($handle, "ALTER TABLE `".$table."` DISABLE KEYS;\n");
1076
+				} else {
1077
+				    fwrite($handle, "/*!40000 ALTER TABLE `".$table."` DISABLE KEYS */;\n");
1078
+				}
935 1079
 
936 1080
 				$sql='SELECT * FROM '.$table;
937 1081
 				$result = $db->query($sql);
@@ -959,8 +1103,14 @@  discard block
 block discarded – undo
959 1103
 					}
960 1104
 					fwrite($handle,implode(',', $row).");\n");
961 1105
 				}
962
-				if (GETPOST("nobin_disable_fk")) fwrite($handle, "ALTER TABLE `".$table."` ENABLE KEYS;\n"); // Enabling back the keys/index checking
963
-				if (!GETPOST("nobin_nolocks")) fwrite($handle, "UNLOCK TABLES;\n"); // Unlocking the table
1106
+				if (GETPOST("nobin_disable_fk")) {
1107
+				    fwrite($handle, "ALTER TABLE `".$table."` ENABLE KEYS;\n");
1108
+				}
1109
+				// Enabling back the keys/index checking
1110
+				if (!GETPOST("nobin_nolocks")) {
1111
+				    fwrite($handle, "UNLOCK TABLES;\n");
1112
+				}
1113
+				// Unlocking the table
964 1114
 				fwrite($handle,"\n\n\n");
965 1115
 			}
966 1116
 		}
@@ -986,8 +1136,12 @@  discard block
 block discarded – undo
986 1136
 
987 1137
 		// Write the footer (restore the previous database settings)
988 1138
 		$sqlfooter="\n\n";
989
-		if (GETPOST("nobin_use_transaction")) $sqlfooter .= "COMMIT;\n";
990
-		if (GETPOST("nobin_disable_fk")) $sqlfooter .= "SET FOREIGN_KEY_CHECKS=1;\n";
1139
+		if (GETPOST("nobin_use_transaction")) {
1140
+		    $sqlfooter .= "COMMIT;\n";
1141
+		}
1142
+		if (GETPOST("nobin_disable_fk")) {
1143
+		    $sqlfooter .= "SET FOREIGN_KEY_CHECKS=1;\n";
1144
+		}
991 1145
 		$sqlfooter.="\n\n-- Dump completed on ".date('Y-m-d G-i-s');
992 1146
 		fwrite($handle, $sqlfooter);
993 1147
 
Please login to merge, or discard this patch.
dolibarr/htdocs/core/class/html.formcontract.class.php 3 patches
Indentation   +124 added lines, -124 removed lines patch added patch discarded remove patch
@@ -33,9 +33,9 @@  discard block
 block discarded – undo
33 33
     public $db;
34 34
 
35 35
     /**
36
-	 * @var string Error code (or message)
37
-	 */
38
-	public $error='';
36
+     * @var string Error code (or message)
37
+     */
38
+    public $error='';
39 39
 
40 40
 
41 41
     /**
@@ -50,135 +50,135 @@  discard block
 block discarded – undo
50 50
 
51 51
 
52 52
     // phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
53
-	/**
54
-	 *	Show a combo list with contracts qualified for a third party
55
-	 *
56
-	 *	@param	int		$socid      Id third party (-1=all, 0=only contracts not linked to a third party, id=contracts not linked or linked to third party id)
57
-	 *	@param  int		$selected   Id contract preselected
58
-	 *	@param  string	$htmlname   Nom de la zone html
59
-	 *	@param	int		$maxlength	Maximum length of label
60
-	 *	@param	int		$showempty	Show empty line
61
-	 *	@return int         		Nbr of project if OK, <0 if KO
62
-	 */
63
-	function select_contract($socid=-1, $selected='', $htmlname='contrattid', $maxlength=16, $showempty=1)
64
-	{
53
+    /**
54
+     *	Show a combo list with contracts qualified for a third party
55
+     *
56
+     *	@param	int		$socid      Id third party (-1=all, 0=only contracts not linked to a third party, id=contracts not linked or linked to third party id)
57
+     *	@param  int		$selected   Id contract preselected
58
+     *	@param  string	$htmlname   Nom de la zone html
59
+     *	@param	int		$maxlength	Maximum length of label
60
+     *	@param	int		$showempty	Show empty line
61
+     *	@return int         		Nbr of project if OK, <0 if KO
62
+     */
63
+    function select_contract($socid=-1, $selected='', $htmlname='contrattid', $maxlength=16, $showempty=1)
64
+    {
65 65
         // phpcs:enable
66
-		global $db,$user,$conf,$langs;
66
+        global $db,$user,$conf,$langs;
67 67
 
68
-		$hideunselectables = false;
69
-		if (! empty($conf->global->CONTRACT_HIDE_UNSELECTABLES)) $hideunselectables = true;
68
+        $hideunselectables = false;
69
+        if (! empty($conf->global->CONTRACT_HIDE_UNSELECTABLES)) $hideunselectables = true;
70 70
 
71
-		// Search all contacts
72
-		$sql = 'SELECT c.rowid, c.ref, c.fk_soc, c.statut';
73
-		$sql.= ' FROM '.MAIN_DB_PREFIX .'contrat as c';
74
-		$sql.= " WHERE c.entity = ".$conf->entity;
75
-		//if ($contratListId) $sql.= " AND c.rowid IN (".$contratListId.")";
76
-		if ($socid > 0)
77
-		{
78
-			// CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY is 'all' or a list of ids separated by coma.
79
-		    	if (empty($conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY))
80
-			    $sql.= " AND (c.fk_soc=".$socid." OR c.fk_soc IS NULL)";
81
-		    	else if ($conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY != 'all')
82
-			{
83
-		        	$sql.= " AND (c.fk_soc IN (".$socid.", ".$conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY.") ";
84
-				$sql.= " OR c.fk_soc IS NULL)";
85
-		    	}
86
-		}
87
-		if ($socid == 0) $sql.= " AND (c.fk_soc = 0 OR c.fk_soc IS NULL)";
88
-		$sql.= " ORDER BY c.ref ";
71
+        // Search all contacts
72
+        $sql = 'SELECT c.rowid, c.ref, c.fk_soc, c.statut';
73
+        $sql.= ' FROM '.MAIN_DB_PREFIX .'contrat as c';
74
+        $sql.= " WHERE c.entity = ".$conf->entity;
75
+        //if ($contratListId) $sql.= " AND c.rowid IN (".$contratListId.")";
76
+        if ($socid > 0)
77
+        {
78
+            // CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY is 'all' or a list of ids separated by coma.
79
+                if (empty($conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY))
80
+                $sql.= " AND (c.fk_soc=".$socid." OR c.fk_soc IS NULL)";
81
+                else if ($conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY != 'all')
82
+            {
83
+                    $sql.= " AND (c.fk_soc IN (".$socid.", ".$conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY.") ";
84
+                $sql.= " OR c.fk_soc IS NULL)";
85
+                }
86
+        }
87
+        if ($socid == 0) $sql.= " AND (c.fk_soc = 0 OR c.fk_soc IS NULL)";
88
+        $sql.= " ORDER BY c.ref ";
89 89
 
90
-		dol_syslog(get_class($this)."::select_contract", LOG_DEBUG);
91
-		$resql=$db->query($sql);
92
-		if ($resql)
93
-		{
94
-			print '<select class="flat" name="'.$htmlname.'">';
95
-			if ($showempty) print '<option value="0">&nbsp;</option>';
96
-			$num = $db->num_rows($resql);
97
-			$i = 0;
98
-			if ($num)
99
-			{
100
-				while ($i < $num)
101
-				{
102
-					$obj = $db->fetch_object($resql);
103
-					// If we ask to filter on a company and user has no permission to see all companies and project is linked to another company, we hide project.
104
-					if ($socid > 0 && (empty($obj->fk_soc) || $obj->fk_soc == $socid) && ! $user->rights->societe->lire)
105
-					{
106
-						// Do nothing
107
-					}
108
-					else
109
-					{
110
-						$labeltoshow=dol_trunc($obj->ref,18);
111
-						//if ($obj->public) $labeltoshow.=' ('.$langs->trans("SharedProject").')';
112
-						//else $labeltoshow.=' ('.$langs->trans("Private").')';
113
-						if (!empty($selected) && $selected == $obj->rowid && $obj->statut > 0)
114
-						{
115
-							print '<option value="'.$obj->rowid.'" selected>'.$labeltoshow.'</option>';
116
-						}
117
-						else
118
-						{
119
-							$disabled=0;
120
-							if ( $obj->statut ==  0)
121
-							{
122
-								$disabled=1;
123
-								$labeltoshow.=' ('.$langs->trans("Draft").')';
124
-							}
125
-							if ( empty($conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY) &&  $socid > 0 && (! empty($obj->fk_soc) && $obj->fk_soc != $socid))
126
-							{
127
-								$disabled=1;
128
-								$labeltoshow.=' - '.$langs->trans("LinkedToAnotherCompany");
129
-							}
90
+        dol_syslog(get_class($this)."::select_contract", LOG_DEBUG);
91
+        $resql=$db->query($sql);
92
+        if ($resql)
93
+        {
94
+            print '<select class="flat" name="'.$htmlname.'">';
95
+            if ($showempty) print '<option value="0">&nbsp;</option>';
96
+            $num = $db->num_rows($resql);
97
+            $i = 0;
98
+            if ($num)
99
+            {
100
+                while ($i < $num)
101
+                {
102
+                    $obj = $db->fetch_object($resql);
103
+                    // If we ask to filter on a company and user has no permission to see all companies and project is linked to another company, we hide project.
104
+                    if ($socid > 0 && (empty($obj->fk_soc) || $obj->fk_soc == $socid) && ! $user->rights->societe->lire)
105
+                    {
106
+                        // Do nothing
107
+                    }
108
+                    else
109
+                    {
110
+                        $labeltoshow=dol_trunc($obj->ref,18);
111
+                        //if ($obj->public) $labeltoshow.=' ('.$langs->trans("SharedProject").')';
112
+                        //else $labeltoshow.=' ('.$langs->trans("Private").')';
113
+                        if (!empty($selected) && $selected == $obj->rowid && $obj->statut > 0)
114
+                        {
115
+                            print '<option value="'.$obj->rowid.'" selected>'.$labeltoshow.'</option>';
116
+                        }
117
+                        else
118
+                        {
119
+                            $disabled=0;
120
+                            if ( $obj->statut ==  0)
121
+                            {
122
+                                $disabled=1;
123
+                                $labeltoshow.=' ('.$langs->trans("Draft").')';
124
+                            }
125
+                            if ( empty($conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY) &&  $socid > 0 && (! empty($obj->fk_soc) && $obj->fk_soc != $socid))
126
+                            {
127
+                                $disabled=1;
128
+                                $labeltoshow.=' - '.$langs->trans("LinkedToAnotherCompany");
129
+                            }
130 130
 
131
-							if ($hideunselectables && $disabled)
132
-							{
133
-								$resultat='';
134
-							}
135
-							else
136
-							{
137
-								$resultat='<option value="'.$obj->rowid.'"';
138
-								if ($disabled) $resultat.=' disabled';
139
-								//if ($obj->public) $labeltoshow.=' ('.$langs->trans("Public").')';
140
-								//else $labeltoshow.=' ('.$langs->trans("Private").')';
141
-								$resultat.='>'.$labeltoshow;
142
-								$resultat.='</option>';
143
-							}
144
-							print $resultat;
145
-						}
146
-					}
147
-					$i++;
148
-				}
149
-			}
150
-			print '</select>';
151
-			$db->free($resql);
131
+                            if ($hideunselectables && $disabled)
132
+                            {
133
+                                $resultat='';
134
+                            }
135
+                            else
136
+                            {
137
+                                $resultat='<option value="'.$obj->rowid.'"';
138
+                                if ($disabled) $resultat.=' disabled';
139
+                                //if ($obj->public) $labeltoshow.=' ('.$langs->trans("Public").')';
140
+                                //else $labeltoshow.=' ('.$langs->trans("Private").')';
141
+                                $resultat.='>'.$labeltoshow;
142
+                                $resultat.='</option>';
143
+                            }
144
+                            print $resultat;
145
+                        }
146
+                    }
147
+                    $i++;
148
+                }
149
+            }
150
+            print '</select>';
151
+            $db->free($resql);
152 152
 
153
-			if (!empty($conf->use_javascript_ajax))
154
-			{
155
-				// Make select dynamic
156
-				include_once DOL_DOCUMENT_ROOT . '/core/lib/ajax.lib.php';
157
-				print ajax_combobox($htmlname);
158
-			}
153
+            if (!empty($conf->use_javascript_ajax))
154
+            {
155
+                // Make select dynamic
156
+                include_once DOL_DOCUMENT_ROOT . '/core/lib/ajax.lib.php';
157
+                print ajax_combobox($htmlname);
158
+            }
159 159
 
160
-			return $num;
161
-		}
162
-		else
163
-		{
164
-			dol_print_error($db);
165
-			return -1;
166
-		}
167
-	}
160
+            return $num;
161
+        }
162
+        else
163
+        {
164
+            dol_print_error($db);
165
+            return -1;
166
+        }
167
+    }
168 168
 
169
-	/**
170
-	 *	Show a form to select a contract
171
-	 *
172
-	 *  @param	int		$page       Page
173
-	 *	@param	int		$socid      Id third party (-1=all, 0=only contracts not linked to a third party, id=contracts not linked or linked to third party id)
174
-	 *	@param  int		$selected   Id contract preselected
175
-	 *	@param  string	$htmlname   Nom de la zone html
176
-	 *	@param	int		$maxlength	Maximum length of label
177
-	 *	@param	int		$showempty	Show empty line
178
-	 *	@return int                 Nbr of project if OK, <0 if KO
179
-	 */
180
-	function formSelectContract($page, $socid=-1, $selected='', $htmlname='contrattid', $maxlength=16, $showempty=1)
181
-	{
169
+    /**
170
+     *	Show a form to select a contract
171
+     *
172
+     *  @param	int		$page       Page
173
+     *	@param	int		$socid      Id third party (-1=all, 0=only contracts not linked to a third party, id=contracts not linked or linked to third party id)
174
+     *	@param  int		$selected   Id contract preselected
175
+     *	@param  string	$htmlname   Nom de la zone html
176
+     *	@param	int		$maxlength	Maximum length of label
177
+     *	@param	int		$showempty	Show empty line
178
+     *	@return int                 Nbr of project if OK, <0 if KO
179
+     */
180
+    function formSelectContract($page, $socid=-1, $selected='', $htmlname='contrattid', $maxlength=16, $showempty=1)
181
+    {
182 182
         global $langs;
183 183
 
184 184
         print "\n";
Please login to merge, or discard this patch.
Spacing   +28 added lines, -28 removed lines patch added patch discarded remove patch
@@ -35,7 +35,7 @@  discard block
 block discarded – undo
35 35
     /**
36 36
 	 * @var string Error code (or message)
37 37
 	 */
38
-	public $error='';
38
+	public $error = '';
39 39
 
40 40
 
41 41
     /**
@@ -60,35 +60,35 @@  discard block
 block discarded – undo
60 60
 	 *	@param	int		$showempty	Show empty line
61 61
 	 *	@return int         		Nbr of project if OK, <0 if KO
62 62
 	 */
63
-	function select_contract($socid=-1, $selected='', $htmlname='contrattid', $maxlength=16, $showempty=1)
63
+	function select_contract($socid = -1, $selected = '', $htmlname = 'contrattid', $maxlength = 16, $showempty = 1)
64 64
 	{
65 65
         // phpcs:enable
66
-		global $db,$user,$conf,$langs;
66
+		global $db, $user, $conf, $langs;
67 67
 
68 68
 		$hideunselectables = false;
69
-		if (! empty($conf->global->CONTRACT_HIDE_UNSELECTABLES)) $hideunselectables = true;
69
+		if (!empty($conf->global->CONTRACT_HIDE_UNSELECTABLES)) $hideunselectables = true;
70 70
 
71 71
 		// Search all contacts
72 72
 		$sql = 'SELECT c.rowid, c.ref, c.fk_soc, c.statut';
73
-		$sql.= ' FROM '.MAIN_DB_PREFIX .'contrat as c';
74
-		$sql.= " WHERE c.entity = ".$conf->entity;
73
+		$sql .= ' FROM '.MAIN_DB_PREFIX.'contrat as c';
74
+		$sql .= " WHERE c.entity = ".$conf->entity;
75 75
 		//if ($contratListId) $sql.= " AND c.rowid IN (".$contratListId.")";
76 76
 		if ($socid > 0)
77 77
 		{
78 78
 			// CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY is 'all' or a list of ids separated by coma.
79 79
 		    	if (empty($conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY))
80
-			    $sql.= " AND (c.fk_soc=".$socid." OR c.fk_soc IS NULL)";
80
+			    $sql .= " AND (c.fk_soc=".$socid." OR c.fk_soc IS NULL)";
81 81
 		    	else if ($conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY != 'all')
82 82
 			{
83
-		        	$sql.= " AND (c.fk_soc IN (".$socid.", ".$conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY.") ";
84
-				$sql.= " OR c.fk_soc IS NULL)";
83
+		        	$sql .= " AND (c.fk_soc IN (".$socid.", ".$conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY.") ";
84
+				$sql .= " OR c.fk_soc IS NULL)";
85 85
 		    	}
86 86
 		}
87
-		if ($socid == 0) $sql.= " AND (c.fk_soc = 0 OR c.fk_soc IS NULL)";
88
-		$sql.= " ORDER BY c.ref ";
87
+		if ($socid == 0) $sql .= " AND (c.fk_soc = 0 OR c.fk_soc IS NULL)";
88
+		$sql .= " ORDER BY c.ref ";
89 89
 
90 90
 		dol_syslog(get_class($this)."::select_contract", LOG_DEBUG);
91
-		$resql=$db->query($sql);
91
+		$resql = $db->query($sql);
92 92
 		if ($resql)
93 93
 		{
94 94
 			print '<select class="flat" name="'.$htmlname.'">';
@@ -101,13 +101,13 @@  discard block
 block discarded – undo
101 101
 				{
102 102
 					$obj = $db->fetch_object($resql);
103 103
 					// If we ask to filter on a company and user has no permission to see all companies and project is linked to another company, we hide project.
104
-					if ($socid > 0 && (empty($obj->fk_soc) || $obj->fk_soc == $socid) && ! $user->rights->societe->lire)
104
+					if ($socid > 0 && (empty($obj->fk_soc) || $obj->fk_soc == $socid) && !$user->rights->societe->lire)
105 105
 					{
106 106
 						// Do nothing
107 107
 					}
108 108
 					else
109 109
 					{
110
-						$labeltoshow=dol_trunc($obj->ref,18);
110
+						$labeltoshow = dol_trunc($obj->ref, 18);
111 111
 						//if ($obj->public) $labeltoshow.=' ('.$langs->trans("SharedProject").')';
112 112
 						//else $labeltoshow.=' ('.$langs->trans("Private").')';
113 113
 						if (!empty($selected) && $selected == $obj->rowid && $obj->statut > 0)
@@ -116,30 +116,30 @@  discard block
 block discarded – undo
116 116
 						}
117 117
 						else
118 118
 						{
119
-							$disabled=0;
120
-							if ( $obj->statut ==  0)
119
+							$disabled = 0;
120
+							if ($obj->statut == 0)
121 121
 							{
122
-								$disabled=1;
123
-								$labeltoshow.=' ('.$langs->trans("Draft").')';
122
+								$disabled = 1;
123
+								$labeltoshow .= ' ('.$langs->trans("Draft").')';
124 124
 							}
125
-							if ( empty($conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY) &&  $socid > 0 && (! empty($obj->fk_soc) && $obj->fk_soc != $socid))
125
+							if (empty($conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY) && $socid > 0 && (!empty($obj->fk_soc) && $obj->fk_soc != $socid))
126 126
 							{
127
-								$disabled=1;
128
-								$labeltoshow.=' - '.$langs->trans("LinkedToAnotherCompany");
127
+								$disabled = 1;
128
+								$labeltoshow .= ' - '.$langs->trans("LinkedToAnotherCompany");
129 129
 							}
130 130
 
131 131
 							if ($hideunselectables && $disabled)
132 132
 							{
133
-								$resultat='';
133
+								$resultat = '';
134 134
 							}
135 135
 							else
136 136
 							{
137
-								$resultat='<option value="'.$obj->rowid.'"';
138
-								if ($disabled) $resultat.=' disabled';
137
+								$resultat = '<option value="'.$obj->rowid.'"';
138
+								if ($disabled) $resultat .= ' disabled';
139 139
 								//if ($obj->public) $labeltoshow.=' ('.$langs->trans("Public").')';
140 140
 								//else $labeltoshow.=' ('.$langs->trans("Private").')';
141
-								$resultat.='>'.$labeltoshow;
142
-								$resultat.='</option>';
141
+								$resultat .= '>'.$labeltoshow;
142
+								$resultat .= '</option>';
143 143
 							}
144 144
 							print $resultat;
145 145
 						}
@@ -153,7 +153,7 @@  discard block
 block discarded – undo
153 153
 			if (!empty($conf->use_javascript_ajax))
154 154
 			{
155 155
 				// Make select dynamic
156
-				include_once DOL_DOCUMENT_ROOT . '/core/lib/ajax.lib.php';
156
+				include_once DOL_DOCUMENT_ROOT.'/core/lib/ajax.lib.php';
157 157
 				print ajax_combobox($htmlname);
158 158
 			}
159 159
 
@@ -177,7 +177,7 @@  discard block
 block discarded – undo
177 177
 	 *	@param	int		$showempty	Show empty line
178 178
 	 *	@return int                 Nbr of project if OK, <0 if KO
179 179
 	 */
180
-	function formSelectContract($page, $socid=-1, $selected='', $htmlname='contrattid', $maxlength=16, $showempty=1)
180
+	function formSelectContract($page, $socid = -1, $selected = '', $htmlname = 'contrattid', $maxlength = 16, $showempty = 1)
181 181
 	{
182 182
         global $langs;
183 183
 
Please login to merge, or discard this patch.
Braces   +19 added lines, -15 removed lines patch added patch discarded remove patch
@@ -66,7 +66,9 @@  discard block
 block discarded – undo
66 66
 		global $db,$user,$conf,$langs;
67 67
 
68 68
 		$hideunselectables = false;
69
-		if (! empty($conf->global->CONTRACT_HIDE_UNSELECTABLES)) $hideunselectables = true;
69
+		if (! empty($conf->global->CONTRACT_HIDE_UNSELECTABLES)) {
70
+		    $hideunselectables = true;
71
+		}
70 72
 
71 73
 		// Search all contacts
72 74
 		$sql = 'SELECT c.rowid, c.ref, c.fk_soc, c.statut';
@@ -76,15 +78,17 @@  discard block
 block discarded – undo
76 78
 		if ($socid > 0)
77 79
 		{
78 80
 			// CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY is 'all' or a list of ids separated by coma.
79
-		    	if (empty($conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY))
80
-			    $sql.= " AND (c.fk_soc=".$socid." OR c.fk_soc IS NULL)";
81
-		    	else if ($conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY != 'all')
81
+		    	if (empty($conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY)) {
82
+		    				    $sql.= " AND (c.fk_soc=".$socid." OR c.fk_soc IS NULL)";
83
+		    	} else if ($conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY != 'all')
82 84
 			{
83 85
 		        	$sql.= " AND (c.fk_soc IN (".$socid.", ".$conf->global->CONTRACT_ALLOW_TO_LINK_FROM_OTHER_COMPANY.") ";
84 86
 				$sql.= " OR c.fk_soc IS NULL)";
85 87
 		    	}
86 88
 		}
87
-		if ($socid == 0) $sql.= " AND (c.fk_soc = 0 OR c.fk_soc IS NULL)";
89
+		if ($socid == 0) {
90
+		    $sql.= " AND (c.fk_soc = 0 OR c.fk_soc IS NULL)";
91
+		}
88 92
 		$sql.= " ORDER BY c.ref ";
89 93
 
90 94
 		dol_syslog(get_class($this)."::select_contract", LOG_DEBUG);
@@ -92,7 +96,9 @@  discard block
 block discarded – undo
92 96
 		if ($resql)
93 97
 		{
94 98
 			print '<select class="flat" name="'.$htmlname.'">';
95
-			if ($showempty) print '<option value="0">&nbsp;</option>';
99
+			if ($showempty) {
100
+			    print '<option value="0">&nbsp;</option>';
101
+			}
96 102
 			$num = $db->num_rows($resql);
97 103
 			$i = 0;
98 104
 			if ($num)
@@ -104,8 +110,7 @@  discard block
 block discarded – undo
104 110
 					if ($socid > 0 && (empty($obj->fk_soc) || $obj->fk_soc == $socid) && ! $user->rights->societe->lire)
105 111
 					{
106 112
 						// Do nothing
107
-					}
108
-					else
113
+					} else
109 114
 					{
110 115
 						$labeltoshow=dol_trunc($obj->ref,18);
111 116
 						//if ($obj->public) $labeltoshow.=' ('.$langs->trans("SharedProject").')';
@@ -113,8 +118,7 @@  discard block
 block discarded – undo
113 118
 						if (!empty($selected) && $selected == $obj->rowid && $obj->statut > 0)
114 119
 						{
115 120
 							print '<option value="'.$obj->rowid.'" selected>'.$labeltoshow.'</option>';
116
-						}
117
-						else
121
+						} else
118 122
 						{
119 123
 							$disabled=0;
120 124
 							if ( $obj->statut ==  0)
@@ -131,11 +135,12 @@  discard block
 block discarded – undo
131 135
 							if ($hideunselectables && $disabled)
132 136
 							{
133 137
 								$resultat='';
134
-							}
135
-							else
138
+							} else
136 139
 							{
137 140
 								$resultat='<option value="'.$obj->rowid.'"';
138
-								if ($disabled) $resultat.=' disabled';
141
+								if ($disabled) {
142
+								    $resultat.=' disabled';
143
+								}
139 144
 								//if ($obj->public) $labeltoshow.=' ('.$langs->trans("Public").')';
140 145
 								//else $labeltoshow.=' ('.$langs->trans("Private").')';
141 146
 								$resultat.='>'.$labeltoshow;
@@ -158,8 +163,7 @@  discard block
 block discarded – undo
158 163
 			}
159 164
 
160 165
 			return $num;
161
-		}
162
-		else
166
+		} else
163 167
 		{
164 168
 			dol_print_error($db);
165 169
 			return -1;
Please login to merge, or discard this patch.
dolibarr/htdocs/core/class/html.formmargin.class.php 3 patches
Indentation   +209 added lines, -209 removed lines patch added patch discarded remove patch
@@ -34,9 +34,9 @@  discard block
 block discarded – undo
34 34
     public $db;
35 35
 
36 36
     /**
37
-	 * @var string Error code (or message)
38
-	 */
39
-	public $error='';
37
+     * @var string Error code (or message)
38
+     */
39
+    public $error='';
40 40
 
41 41
 
42 42
     /**
@@ -51,234 +51,234 @@  discard block
 block discarded – undo
51 51
 
52 52
 
53 53
 
54
-	/**
55
-	 *	get array with margin information from lines of object
56
-	 *  TODO Move this in common class.
57
-	 *
58
-	 * 	@param	CommonObject	$object			Object we want to get margin information for
59
-	 * 	@param 	boolean			$force_price	True of not
60
-	 * 	@return array							Array with info
61
-	 */
62
-	function getMarginInfosArray($object, $force_price=false)
63
-	{
64
-		global $conf, $db;
54
+    /**
55
+     *	get array with margin information from lines of object
56
+     *  TODO Move this in common class.
57
+     *
58
+     * 	@param	CommonObject	$object			Object we want to get margin information for
59
+     * 	@param 	boolean			$force_price	True of not
60
+     * 	@return array							Array with info
61
+     */
62
+    function getMarginInfosArray($object, $force_price=false)
63
+    {
64
+        global $conf, $db;
65 65
 
66
-		// Default returned array
67
-		$marginInfos = array(
68
-				'pa_products' => 0,
69
-				'pv_products' => 0,
70
-				'margin_on_products' => 0,
71
-				'margin_rate_products' => '',
72
-				'mark_rate_products' => '',
73
-				'pa_services' => 0,
74
-				'pv_services' => 0,
75
-				'margin_on_services' => 0,
76
-				'margin_rate_services' => '',
77
-				'mark_rate_services' => '',
78
-				'pa_total' => 0,
79
-				'pv_total' => 0,
80
-				'total_margin' => 0,
81
-				'total_margin_rate' => '',
82
-				'total_mark_rate' => ''
83
-		);
66
+        // Default returned array
67
+        $marginInfos = array(
68
+                'pa_products' => 0,
69
+                'pv_products' => 0,
70
+                'margin_on_products' => 0,
71
+                'margin_rate_products' => '',
72
+                'mark_rate_products' => '',
73
+                'pa_services' => 0,
74
+                'pv_services' => 0,
75
+                'margin_on_services' => 0,
76
+                'margin_rate_services' => '',
77
+                'mark_rate_services' => '',
78
+                'pa_total' => 0,
79
+                'pv_total' => 0,
80
+                'total_margin' => 0,
81
+                'total_margin_rate' => '',
82
+                'total_mark_rate' => ''
83
+        );
84 84
 
85
-		foreach($object->lines as $line)
86
-		{
87
-			if (empty($line->pa_ht) && isset($line->fk_fournprice) && !$force_price)
88
-			{
89
-				require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php';
90
-				$product = new ProductFournisseur($db);
91
-				if ($product->fetch_product_fournisseur_price($line->fk_fournprice))
92
-					$line->pa_ht = $product->fourn_unitprice * (1 - $product->fourn_remise_percent / 100);
93
-			}
94
-			// si prix d'achat non renseigné et devrait l'être, alors prix achat = prix vente
95
-			if ((!isset($line->pa_ht) || $line->pa_ht == 0) && $line->subprice > 0 && (isset($conf->global->ForceBuyingPriceIfNull) && $conf->global->ForceBuyingPriceIfNull == 1)) {
96
-				$line->pa_ht = $line->subprice * (1 - ($line->remise_percent / 100));
97
-			}
85
+        foreach($object->lines as $line)
86
+        {
87
+            if (empty($line->pa_ht) && isset($line->fk_fournprice) && !$force_price)
88
+            {
89
+                require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php';
90
+                $product = new ProductFournisseur($db);
91
+                if ($product->fetch_product_fournisseur_price($line->fk_fournprice))
92
+                    $line->pa_ht = $product->fourn_unitprice * (1 - $product->fourn_remise_percent / 100);
93
+            }
94
+            // si prix d'achat non renseigné et devrait l'être, alors prix achat = prix vente
95
+            if ((!isset($line->pa_ht) || $line->pa_ht == 0) && $line->subprice > 0 && (isset($conf->global->ForceBuyingPriceIfNull) && $conf->global->ForceBuyingPriceIfNull == 1)) {
96
+                $line->pa_ht = $line->subprice * (1 - ($line->remise_percent / 100));
97
+            }
98 98
 
99
-			$pv = $line->qty * $line->subprice * (1 - $line->remise_percent / 100);
100
-			$pa_ht = ($pv < 0 ? - $line->pa_ht : $line->pa_ht);      // We choosed to have line->pa_ht always positive in database, so we guess the correct sign
101
-			$pa = $line->qty * $pa_ht;
99
+            $pv = $line->qty * $line->subprice * (1 - $line->remise_percent / 100);
100
+            $pa_ht = ($pv < 0 ? - $line->pa_ht : $line->pa_ht);      // We choosed to have line->pa_ht always positive in database, so we guess the correct sign
101
+            $pa = $line->qty * $pa_ht;
102 102
 
103
-			// calcul des marges
104
-			if (isset($line->fk_remise_except) && isset($conf->global->MARGIN_METHODE_FOR_DISCOUNT)) {    // remise
105
-				if ($conf->global->MARGIN_METHODE_FOR_DISCOUNT == '1') { // remise globale considérée comme produit
106
-					$marginInfos['pa_products'] += $pa;
107
-					$marginInfos['pv_products'] += $pv;
108
-					$marginInfos['pa_total'] +=  $pa;
109
-					$marginInfos['pv_total'] +=  $pv;
110
-					// if credit note, margin = -1 * (abs(selling_price) - buying_price)
111
-					//if ($pv < 0)
112
-					//{
113
-					//	$marginInfos['margin_on_products'] += -1 * (abs($pv) - $pa);
114
-					//}
115
-					//else
116
-						$marginInfos['margin_on_products'] += $pv - $pa;
117
-				}
118
-				elseif ($conf->global->MARGIN_METHODE_FOR_DISCOUNT == '2') { // remise globale considérée comme service
119
-					$marginInfos['pa_services'] += $pa;
120
-					$marginInfos['pv_services'] += $pv;
121
-					$marginInfos['pa_total'] +=  $pa;
122
-					$marginInfos['pv_total'] +=  $pv;
123
-					// if credit note, margin = -1 * (abs(selling_price) - buying_price)
124
-					//if ($pv < 0)
125
-					//	$marginInfos['margin_on_services'] += -1 * (abs($pv) - $pa);
126
-					//else
127
-						$marginInfos['margin_on_services'] += $pv - $pa;
128
-				}
129
-				elseif ($conf->global->MARGIN_METHODE_FOR_DISCOUNT == '3') { // remise globale prise en compte uniqt sur total
130
-					$marginInfos['pa_total'] += $pa;
131
-					$marginInfos['pv_total'] += $pv;
132
-				}
133
-			}
134
-			else {
135
-				$type=$line->product_type?$line->product_type:$line->fk_product_type;
136
-				if ($type == 0) {  // product
137
-					$marginInfos['pa_products'] += $pa;
138
-					$marginInfos['pv_products'] += $pv;
139
-					$marginInfos['pa_total'] +=  $pa;
140
-					$marginInfos['pv_total'] +=  $pv;
141
-					// if credit note, margin = -1 * (abs(selling_price) - buying_price)
142
-					//if ($pv < 0)
143
-					//{
144
-					//    $marginInfos['margin_on_products'] += -1 * (abs($pv) - $pa);
145
-					//}
146
-					//else
147
-					//{
148
-					    $marginInfos['margin_on_products'] += $pv - $pa;
149
-					//}
150
-				}
151
-				elseif ($type == 1) {  // service
152
-					$marginInfos['pa_services'] += $pa;
153
-					$marginInfos['pv_services'] += $pv;
154
-					$marginInfos['pa_total'] +=  $pa;
155
-					$marginInfos['pv_total'] +=  $pv;
156
-					// if credit note, margin = -1 * (abs(selling_price) - buying_price)
157
-					//if ($pv < 0)
158
-					//	$marginInfos['margin_on_services'] += -1 * (abs($pv) - $pa);
159
-					//else
160
-						$marginInfos['margin_on_services'] += $pv - $pa;
161
-				}
162
-			}
163
-		}
164
-		if ($marginInfos['pa_products'] > 0)
165
-			$marginInfos['margin_rate_products'] = 100 * $marginInfos['margin_on_products'] / $marginInfos['pa_products'];
166
-		if ($marginInfos['pv_products'] > 0)
167
-			$marginInfos['mark_rate_products'] = 100 * $marginInfos['margin_on_products'] / $marginInfos['pv_products'];
103
+            // calcul des marges
104
+            if (isset($line->fk_remise_except) && isset($conf->global->MARGIN_METHODE_FOR_DISCOUNT)) {    // remise
105
+                if ($conf->global->MARGIN_METHODE_FOR_DISCOUNT == '1') { // remise globale considérée comme produit
106
+                    $marginInfos['pa_products'] += $pa;
107
+                    $marginInfos['pv_products'] += $pv;
108
+                    $marginInfos['pa_total'] +=  $pa;
109
+                    $marginInfos['pv_total'] +=  $pv;
110
+                    // if credit note, margin = -1 * (abs(selling_price) - buying_price)
111
+                    //if ($pv < 0)
112
+                    //{
113
+                    //	$marginInfos['margin_on_products'] += -1 * (abs($pv) - $pa);
114
+                    //}
115
+                    //else
116
+                        $marginInfos['margin_on_products'] += $pv - $pa;
117
+                }
118
+                elseif ($conf->global->MARGIN_METHODE_FOR_DISCOUNT == '2') { // remise globale considérée comme service
119
+                    $marginInfos['pa_services'] += $pa;
120
+                    $marginInfos['pv_services'] += $pv;
121
+                    $marginInfos['pa_total'] +=  $pa;
122
+                    $marginInfos['pv_total'] +=  $pv;
123
+                    // if credit note, margin = -1 * (abs(selling_price) - buying_price)
124
+                    //if ($pv < 0)
125
+                    //	$marginInfos['margin_on_services'] += -1 * (abs($pv) - $pa);
126
+                    //else
127
+                        $marginInfos['margin_on_services'] += $pv - $pa;
128
+                }
129
+                elseif ($conf->global->MARGIN_METHODE_FOR_DISCOUNT == '3') { // remise globale prise en compte uniqt sur total
130
+                    $marginInfos['pa_total'] += $pa;
131
+                    $marginInfos['pv_total'] += $pv;
132
+                }
133
+            }
134
+            else {
135
+                $type=$line->product_type?$line->product_type:$line->fk_product_type;
136
+                if ($type == 0) {  // product
137
+                    $marginInfos['pa_products'] += $pa;
138
+                    $marginInfos['pv_products'] += $pv;
139
+                    $marginInfos['pa_total'] +=  $pa;
140
+                    $marginInfos['pv_total'] +=  $pv;
141
+                    // if credit note, margin = -1 * (abs(selling_price) - buying_price)
142
+                    //if ($pv < 0)
143
+                    //{
144
+                    //    $marginInfos['margin_on_products'] += -1 * (abs($pv) - $pa);
145
+                    //}
146
+                    //else
147
+                    //{
148
+                        $marginInfos['margin_on_products'] += $pv - $pa;
149
+                    //}
150
+                }
151
+                elseif ($type == 1) {  // service
152
+                    $marginInfos['pa_services'] += $pa;
153
+                    $marginInfos['pv_services'] += $pv;
154
+                    $marginInfos['pa_total'] +=  $pa;
155
+                    $marginInfos['pv_total'] +=  $pv;
156
+                    // if credit note, margin = -1 * (abs(selling_price) - buying_price)
157
+                    //if ($pv < 0)
158
+                    //	$marginInfos['margin_on_services'] += -1 * (abs($pv) - $pa);
159
+                    //else
160
+                        $marginInfos['margin_on_services'] += $pv - $pa;
161
+                }
162
+            }
163
+        }
164
+        if ($marginInfos['pa_products'] > 0)
165
+            $marginInfos['margin_rate_products'] = 100 * $marginInfos['margin_on_products'] / $marginInfos['pa_products'];
166
+        if ($marginInfos['pv_products'] > 0)
167
+            $marginInfos['mark_rate_products'] = 100 * $marginInfos['margin_on_products'] / $marginInfos['pv_products'];
168 168
 
169
-		if ($marginInfos['pa_services'] > 0)
170
-			$marginInfos['margin_rate_services'] = 100 * $marginInfos['margin_on_services'] / $marginInfos['pa_services'];
171
-		if ($marginInfos['pv_services'] > 0)
172
-			$marginInfos['mark_rate_services'] = 100 * $marginInfos['margin_on_services'] / $marginInfos['pv_services'];
169
+        if ($marginInfos['pa_services'] > 0)
170
+            $marginInfos['margin_rate_services'] = 100 * $marginInfos['margin_on_services'] / $marginInfos['pa_services'];
171
+        if ($marginInfos['pv_services'] > 0)
172
+            $marginInfos['mark_rate_services'] = 100 * $marginInfos['margin_on_services'] / $marginInfos['pv_services'];
173 173
 
174
-		// if credit note, margin = -1 * (abs(selling_price) - buying_price)
175
-		//if ($marginInfos['pv_total'] < 0)
176
-		//	$marginInfos['total_margin'] = -1 * (abs($marginInfos['pv_total']) - $marginInfos['pa_total']);
177
-		//else
178
-			$marginInfos['total_margin'] = $marginInfos['pv_total'] - $marginInfos['pa_total'];
179
-		if ($marginInfos['pa_total'] > 0)
180
-			$marginInfos['total_margin_rate'] = 100 * $marginInfos['total_margin'] / $marginInfos['pa_total'];
181
-		if ($marginInfos['pv_total'] > 0)
182
-			$marginInfos['total_mark_rate'] = 100 * $marginInfos['total_margin'] / $marginInfos['pv_total'];
174
+        // if credit note, margin = -1 * (abs(selling_price) - buying_price)
175
+        //if ($marginInfos['pv_total'] < 0)
176
+        //	$marginInfos['total_margin'] = -1 * (abs($marginInfos['pv_total']) - $marginInfos['pa_total']);
177
+        //else
178
+            $marginInfos['total_margin'] = $marginInfos['pv_total'] - $marginInfos['pa_total'];
179
+        if ($marginInfos['pa_total'] > 0)
180
+            $marginInfos['total_margin_rate'] = 100 * $marginInfos['total_margin'] / $marginInfos['pa_total'];
181
+        if ($marginInfos['pv_total'] > 0)
182
+            $marginInfos['total_mark_rate'] = 100 * $marginInfos['total_margin'] / $marginInfos['pv_total'];
183 183
 
184
-		return $marginInfos;
185
-	}
184
+        return $marginInfos;
185
+    }
186 186
 
187
-	/**
188
-	 * 	Show the array with all margin infos
189
-	 *
190
-	 *	@param	CommonObject	$object			Object we want to get margin information for
191
-	 * 	@param 	boolean			$force_price	Force price
192
-	 * 	@return	void
193
-	 */
194
-	function displayMarginInfos($object, $force_price=false)
195
-	{
196
-		global $langs, $conf, $user;
187
+    /**
188
+     * 	Show the array with all margin infos
189
+     *
190
+     *	@param	CommonObject	$object			Object we want to get margin information for
191
+     * 	@param 	boolean			$force_price	Force price
192
+     * 	@return	void
193
+     */
194
+    function displayMarginInfos($object, $force_price=false)
195
+    {
196
+        global $langs, $conf, $user;
197 197
 
198
-    	if (! empty($user->societe_id)) return;
198
+        if (! empty($user->societe_id)) return;
199 199
 
200
-    	if (! $user->rights->margins->liretous) return;
200
+        if (! $user->rights->margins->liretous) return;
201 201
 
202 202
         $rounding = min($conf->global->MAIN_MAX_DECIMALS_UNIT, $conf->global->MAIN_MAX_DECIMALS_TOT);
203 203
 
204
-		$marginInfo = $this->getMarginInfosArray($object, $force_price);
204
+        $marginInfo = $this->getMarginInfosArray($object, $force_price);
205 205
 
206
-		if (! empty($conf->global->MARGIN_ADD_SHOWHIDE_BUTTON))	// TODO Warning this feature rely on an external js file that may be removed. Using native js function document.cookie should be better
207
-		{
208
-			print $langs->trans('ShowMarginInfos').' : ';
209
-	        $hidemargininfos = $_COOKIE['DOLUSER_MARGININFO_HIDE_SHOW'];
210
-	    	print '<span id="showMarginInfos" class="linkobject '.(!empty($hidemargininfos)?'':'hideobject').'">'.img_picto($langs->trans("Disabled"),'switch_off').'</span>';
211
-	    	print '<span id="hideMarginInfos" class="linkobject '.(!empty($hidemargininfos)?'hideobject':'').'">'.img_picto($langs->trans("Enabled"),'switch_on').'</span>';
206
+        if (! empty($conf->global->MARGIN_ADD_SHOWHIDE_BUTTON))	// TODO Warning this feature rely on an external js file that may be removed. Using native js function document.cookie should be better
207
+        {
208
+            print $langs->trans('ShowMarginInfos').' : ';
209
+            $hidemargininfos = $_COOKIE['DOLUSER_MARGININFO_HIDE_SHOW'];
210
+            print '<span id="showMarginInfos" class="linkobject '.(!empty($hidemargininfos)?'':'hideobject').'">'.img_picto($langs->trans("Disabled"),'switch_off').'</span>';
211
+            print '<span id="hideMarginInfos" class="linkobject '.(!empty($hidemargininfos)?'hideobject':'').'">'.img_picto($langs->trans("Enabled"),'switch_on').'</span>';
212 212
 
213
-    	    print '<script>$(document).ready(function() {
213
+            print '<script>$(document).ready(function() {
214 214
         	    $("span#showMarginInfos").click(function() { $.getScript( "'.dol_buildpath('/includes/jquery/plugins/jquerytreeview/lib/jquery.cookie.js', 1).'", function( data, textStatus, jqxhr ) { $.cookie("DOLUSER_MARGININFO_HIDE_SHOW", 0); $(".margininfos").show(); $("span#showMarginInfos").addClass("hideobject"); $("span#hideMarginInfos").removeClass("hideobject");})});
215 215
         	    $("span#hideMarginInfos").click(function() { $.getScript( "'.dol_buildpath('/includes/jquery/plugins/jquerytreeview/lib/jquery.cookie.js', 1).'", function( data, textStatus, jqxhr ) { $.cookie("DOLUSER_MARGININFO_HIDE_SHOW", 1); $(".margininfos").hide(); $("span#hideMarginInfos").addClass("hideobject"); $("span#showMarginInfos").removeClass("hideobject");})});
216 216
       	        });</script>';
217
-    	    if (!empty($hidemargininfos)) print '<script>$(document).ready(function() {$(".margininfos").hide();});</script>';
218
-		}
217
+            if (!empty($hidemargininfos)) print '<script>$(document).ready(function() {$(".margininfos").hide();});</script>';
218
+        }
219 219
 
220
-		print '<div class="div-table-responsive-no-min">';
221
-		print '<!-- Margin table -->'."\n";
220
+        print '<div class="div-table-responsive-no-min">';
221
+        print '<!-- Margin table -->'."\n";
222 222
 
223
-		print '<table class="noborder margintable centpercent">';
224
-		print '<tr class="liste_titre">';
225
-		print '<td class="liste_titre">'.$langs->trans('Margins').'</td>';
226
-		print '<td class="liste_titre" align="right">'.$langs->trans('SellingPrice').'</td>';
227
-		if ($conf->global->MARGIN_TYPE == "1")
228
-			print '<td class="liste_titre" align="right">'.$langs->trans('BuyingPrice').'</td>';
229
-		else
230
-			print '<td class="liste_titre" align="right">'.$langs->trans('CostPrice').'</td>';
231
-		print '<td class="liste_titre" align="right">'.$langs->trans('Margin').'</td>';
232
-		if (! empty($conf->global->DISPLAY_MARGIN_RATES))
233
-			print '<td class="liste_titre" align="right">'.$langs->trans('MarginRate').'</td>';
234
-		if (! empty($conf->global->DISPLAY_MARK_RATES))
235
-			print '<td class="liste_titre" align="right">'.$langs->trans('MarkRate').'</td>';
236
-		print '</tr>';
223
+        print '<table class="noborder margintable centpercent">';
224
+        print '<tr class="liste_titre">';
225
+        print '<td class="liste_titre">'.$langs->trans('Margins').'</td>';
226
+        print '<td class="liste_titre" align="right">'.$langs->trans('SellingPrice').'</td>';
227
+        if ($conf->global->MARGIN_TYPE == "1")
228
+            print '<td class="liste_titre" align="right">'.$langs->trans('BuyingPrice').'</td>';
229
+        else
230
+            print '<td class="liste_titre" align="right">'.$langs->trans('CostPrice').'</td>';
231
+        print '<td class="liste_titre" align="right">'.$langs->trans('Margin').'</td>';
232
+        if (! empty($conf->global->DISPLAY_MARGIN_RATES))
233
+            print '<td class="liste_titre" align="right">'.$langs->trans('MarginRate').'</td>';
234
+        if (! empty($conf->global->DISPLAY_MARK_RATES))
235
+            print '<td class="liste_titre" align="right">'.$langs->trans('MarkRate').'</td>';
236
+        print '</tr>';
237 237
 
238
-		if (! empty($conf->product->enabled))
239
-		{
240
-			//if ($marginInfo['margin_on_products'] != 0 && $marginInfo['margin_on_services'] != 0) {
241
-			print '<tr class="oddeven">';
242
-			print '<td>'.$langs->trans('MarginOnProducts').'</td>';
243
-			print '<td align="right">'.price($marginInfo['pv_products'], null, null, null, null, $rounding).'</td>';
244
-			print '<td align="right">'.price($marginInfo['pa_products'], null, null, null, null, $rounding).'</td>';
245
-			print '<td align="right">'.price($marginInfo['margin_on_products'], null, null, null, null, $rounding).'</td>';
246
-			if (! empty($conf->global->DISPLAY_MARGIN_RATES))
247
-				print '<td align="right">'.(($marginInfo['margin_rate_products'] == '')?'':price($marginInfo['margin_rate_products'], null, null, null, null, $rounding).'%').'</td>';
248
-			if (! empty($conf->global->DISPLAY_MARK_RATES))
249
-				print '<td align="right">'.(($marginInfo['mark_rate_products'] == '')?'':price($marginInfo['mark_rate_products'], null, null, null, null, $rounding).'%').'</td>';
250
-			print '</tr>';
251
-		}
238
+        if (! empty($conf->product->enabled))
239
+        {
240
+            //if ($marginInfo['margin_on_products'] != 0 && $marginInfo['margin_on_services'] != 0) {
241
+            print '<tr class="oddeven">';
242
+            print '<td>'.$langs->trans('MarginOnProducts').'</td>';
243
+            print '<td align="right">'.price($marginInfo['pv_products'], null, null, null, null, $rounding).'</td>';
244
+            print '<td align="right">'.price($marginInfo['pa_products'], null, null, null, null, $rounding).'</td>';
245
+            print '<td align="right">'.price($marginInfo['margin_on_products'], null, null, null, null, $rounding).'</td>';
246
+            if (! empty($conf->global->DISPLAY_MARGIN_RATES))
247
+                print '<td align="right">'.(($marginInfo['margin_rate_products'] == '')?'':price($marginInfo['margin_rate_products'], null, null, null, null, $rounding).'%').'</td>';
248
+            if (! empty($conf->global->DISPLAY_MARK_RATES))
249
+                print '<td align="right">'.(($marginInfo['mark_rate_products'] == '')?'':price($marginInfo['mark_rate_products'], null, null, null, null, $rounding).'%').'</td>';
250
+            print '</tr>';
251
+        }
252 252
 
253
-		if (! empty($conf->service->enabled))
254
-		{
255
-			print '<tr class="oddeven">';
256
-			print '<td>'.$langs->trans('MarginOnServices').'</td>';
257
-			print '<td align="right">'.price($marginInfo['pv_services'], null, null, null, null, $rounding).'</td>';
258
-			print '<td align="right">'.price($marginInfo['pa_services'], null, null, null, null, $rounding).'</td>';
259
-			print '<td align="right">'.price($marginInfo['margin_on_services'], null, null, null, null, $rounding).'</td>';
260
-			if (! empty($conf->global->DISPLAY_MARGIN_RATES))
261
-				print '<td align="right">'.(($marginInfo['margin_rate_services'] == '')?'':price($marginInfo['margin_rate_services'], null, null, null, null, $rounding).'%').'</td>';
262
-			if (! empty($conf->global->DISPLAY_MARK_RATES))
263
-				print '<td align="right">'.(($marginInfo['mark_rate_services'] == '')?'':price($marginInfo['mark_rate_services'], null, null, null, null, $rounding).'%').'</td>';
264
-			print '</tr>';
265
-		}
253
+        if (! empty($conf->service->enabled))
254
+        {
255
+            print '<tr class="oddeven">';
256
+            print '<td>'.$langs->trans('MarginOnServices').'</td>';
257
+            print '<td align="right">'.price($marginInfo['pv_services'], null, null, null, null, $rounding).'</td>';
258
+            print '<td align="right">'.price($marginInfo['pa_services'], null, null, null, null, $rounding).'</td>';
259
+            print '<td align="right">'.price($marginInfo['margin_on_services'], null, null, null, null, $rounding).'</td>';
260
+            if (! empty($conf->global->DISPLAY_MARGIN_RATES))
261
+                print '<td align="right">'.(($marginInfo['margin_rate_services'] == '')?'':price($marginInfo['margin_rate_services'], null, null, null, null, $rounding).'%').'</td>';
262
+            if (! empty($conf->global->DISPLAY_MARK_RATES))
263
+                print '<td align="right">'.(($marginInfo['mark_rate_services'] == '')?'':price($marginInfo['mark_rate_services'], null, null, null, null, $rounding).'%').'</td>';
264
+            print '</tr>';
265
+        }
266 266
 
267
-		if (! empty($conf->product->enabled) && ! empty($conf->service->enabled))
268
-		{
269
-			print '<tr class="liste_total">';
270
-			print '<td>'.$langs->trans('TotalMargin').'</td>';
271
-			print '<td align="right">'.price($marginInfo['pv_total'], null, null, null, null, $rounding).'</td>';
272
-			print '<td align="right">'.price($marginInfo['pa_total'], null, null, null, null, $rounding).'</td>';
273
-			print '<td align="right">'.price($marginInfo['total_margin'], null, null, null, null, $rounding).'</td>';
274
-			if (! empty($conf->global->DISPLAY_MARGIN_RATES))
275
-				print '<td align="right">'.(($marginInfo['total_margin_rate'] == '')?'':price($marginInfo['total_margin_rate'], null, null, null, null, $rounding).'%').'</td>';
276
-			if (! empty($conf->global->DISPLAY_MARK_RATES))
277
-				print '<td align="right">'.(($marginInfo['total_mark_rate'] == '')?'':price($marginInfo['total_mark_rate'], null, null, null, null, $rounding).'%').'</td>';
278
-			print '</tr>';
279
-		}
280
-		print '</table>';
281
-		print '</div>';
282
-	}
267
+        if (! empty($conf->product->enabled) && ! empty($conf->service->enabled))
268
+        {
269
+            print '<tr class="liste_total">';
270
+            print '<td>'.$langs->trans('TotalMargin').'</td>';
271
+            print '<td align="right">'.price($marginInfo['pv_total'], null, null, null, null, $rounding).'</td>';
272
+            print '<td align="right">'.price($marginInfo['pa_total'], null, null, null, null, $rounding).'</td>';
273
+            print '<td align="right">'.price($marginInfo['total_margin'], null, null, null, null, $rounding).'</td>';
274
+            if (! empty($conf->global->DISPLAY_MARGIN_RATES))
275
+                print '<td align="right">'.(($marginInfo['total_margin_rate'] == '')?'':price($marginInfo['total_margin_rate'], null, null, null, null, $rounding).'%').'</td>';
276
+            if (! empty($conf->global->DISPLAY_MARK_RATES))
277
+                print '<td align="right">'.(($marginInfo['total_mark_rate'] == '')?'':price($marginInfo['total_mark_rate'], null, null, null, null, $rounding).'%').'</td>';
278
+            print '</tr>';
279
+        }
280
+        print '</table>';
281
+        print '</div>';
282
+    }
283 283
 }
284 284
 
Please login to merge, or discard this patch.
Spacing   +36 added lines, -36 removed lines patch added patch discarded remove patch
@@ -36,7 +36,7 @@  discard block
 block discarded – undo
36 36
     /**
37 37
 	 * @var string Error code (or message)
38 38
 	 */
39
-	public $error='';
39
+	public $error = '';
40 40
 
41 41
 
42 42
     /**
@@ -59,7 +59,7 @@  discard block
 block discarded – undo
59 59
 	 * 	@param 	boolean			$force_price	True of not
60 60
 	 * 	@return array							Array with info
61 61
 	 */
62
-	function getMarginInfosArray($object, $force_price=false)
62
+	function getMarginInfosArray($object, $force_price = false)
63 63
 	{
64 64
 		global $conf, $db;
65 65
 
@@ -82,7 +82,7 @@  discard block
 block discarded – undo
82 82
 				'total_mark_rate' => ''
83 83
 		);
84 84
 
85
-		foreach($object->lines as $line)
85
+		foreach ($object->lines as $line)
86 86
 		{
87 87
 			if (empty($line->pa_ht) && isset($line->fk_fournprice) && !$force_price)
88 88
 			{
@@ -97,7 +97,7 @@  discard block
 block discarded – undo
97 97
 			}
98 98
 
99 99
 			$pv = $line->qty * $line->subprice * (1 - $line->remise_percent / 100);
100
-			$pa_ht = ($pv < 0 ? - $line->pa_ht : $line->pa_ht);      // We choosed to have line->pa_ht always positive in database, so we guess the correct sign
100
+			$pa_ht = ($pv < 0 ? -$line->pa_ht : $line->pa_ht); // We choosed to have line->pa_ht always positive in database, so we guess the correct sign
101 101
 			$pa = $line->qty * $pa_ht;
102 102
 
103 103
 			// calcul des marges
@@ -105,8 +105,8 @@  discard block
 block discarded – undo
105 105
 				if ($conf->global->MARGIN_METHODE_FOR_DISCOUNT == '1') { // remise globale considérée comme produit
106 106
 					$marginInfos['pa_products'] += $pa;
107 107
 					$marginInfos['pv_products'] += $pv;
108
-					$marginInfos['pa_total'] +=  $pa;
109
-					$marginInfos['pv_total'] +=  $pv;
108
+					$marginInfos['pa_total'] += $pa;
109
+					$marginInfos['pv_total'] += $pv;
110 110
 					// if credit note, margin = -1 * (abs(selling_price) - buying_price)
111 111
 					//if ($pv < 0)
112 112
 					//{
@@ -118,8 +118,8 @@  discard block
 block discarded – undo
118 118
 				elseif ($conf->global->MARGIN_METHODE_FOR_DISCOUNT == '2') { // remise globale considérée comme service
119 119
 					$marginInfos['pa_services'] += $pa;
120 120
 					$marginInfos['pv_services'] += $pv;
121
-					$marginInfos['pa_total'] +=  $pa;
122
-					$marginInfos['pv_total'] +=  $pv;
121
+					$marginInfos['pa_total'] += $pa;
122
+					$marginInfos['pv_total'] += $pv;
123 123
 					// if credit note, margin = -1 * (abs(selling_price) - buying_price)
124 124
 					//if ($pv < 0)
125 125
 					//	$marginInfos['margin_on_services'] += -1 * (abs($pv) - $pa);
@@ -132,12 +132,12 @@  discard block
 block discarded – undo
132 132
 				}
133 133
 			}
134 134
 			else {
135
-				$type=$line->product_type?$line->product_type:$line->fk_product_type;
135
+				$type = $line->product_type ? $line->product_type : $line->fk_product_type;
136 136
 				if ($type == 0) {  // product
137 137
 					$marginInfos['pa_products'] += $pa;
138 138
 					$marginInfos['pv_products'] += $pv;
139
-					$marginInfos['pa_total'] +=  $pa;
140
-					$marginInfos['pv_total'] +=  $pv;
139
+					$marginInfos['pa_total'] += $pa;
140
+					$marginInfos['pv_total'] += $pv;
141 141
 					// if credit note, margin = -1 * (abs(selling_price) - buying_price)
142 142
 					//if ($pv < 0)
143 143
 					//{
@@ -151,8 +151,8 @@  discard block
 block discarded – undo
151 151
 				elseif ($type == 1) {  // service
152 152
 					$marginInfos['pa_services'] += $pa;
153 153
 					$marginInfos['pv_services'] += $pv;
154
-					$marginInfos['pa_total'] +=  $pa;
155
-					$marginInfos['pv_total'] +=  $pv;
154
+					$marginInfos['pa_total'] += $pa;
155
+					$marginInfos['pv_total'] += $pv;
156 156
 					// if credit note, margin = -1 * (abs(selling_price) - buying_price)
157 157
 					//if ($pv < 0)
158 158
 					//	$marginInfos['margin_on_services'] += -1 * (abs($pv) - $pa);
@@ -191,24 +191,24 @@  discard block
 block discarded – undo
191 191
 	 * 	@param 	boolean			$force_price	Force price
192 192
 	 * 	@return	void
193 193
 	 */
194
-	function displayMarginInfos($object, $force_price=false)
194
+	function displayMarginInfos($object, $force_price = false)
195 195
 	{
196 196
 		global $langs, $conf, $user;
197 197
 
198
-    	if (! empty($user->societe_id)) return;
198
+    	if (!empty($user->societe_id)) return;
199 199
 
200
-    	if (! $user->rights->margins->liretous) return;
200
+    	if (!$user->rights->margins->liretous) return;
201 201
 
202 202
         $rounding = min($conf->global->MAIN_MAX_DECIMALS_UNIT, $conf->global->MAIN_MAX_DECIMALS_TOT);
203 203
 
204 204
 		$marginInfo = $this->getMarginInfosArray($object, $force_price);
205 205
 
206
-		if (! empty($conf->global->MARGIN_ADD_SHOWHIDE_BUTTON))	// TODO Warning this feature rely on an external js file that may be removed. Using native js function document.cookie should be better
206
+		if (!empty($conf->global->MARGIN_ADD_SHOWHIDE_BUTTON))	// TODO Warning this feature rely on an external js file that may be removed. Using native js function document.cookie should be better
207 207
 		{
208 208
 			print $langs->trans('ShowMarginInfos').' : ';
209 209
 	        $hidemargininfos = $_COOKIE['DOLUSER_MARGININFO_HIDE_SHOW'];
210
-	    	print '<span id="showMarginInfos" class="linkobject '.(!empty($hidemargininfos)?'':'hideobject').'">'.img_picto($langs->trans("Disabled"),'switch_off').'</span>';
211
-	    	print '<span id="hideMarginInfos" class="linkobject '.(!empty($hidemargininfos)?'hideobject':'').'">'.img_picto($langs->trans("Enabled"),'switch_on').'</span>';
210
+	    	print '<span id="showMarginInfos" class="linkobject '.(!empty($hidemargininfos) ? '' : 'hideobject').'">'.img_picto($langs->trans("Disabled"), 'switch_off').'</span>';
211
+	    	print '<span id="hideMarginInfos" class="linkobject '.(!empty($hidemargininfos) ? 'hideobject' : '').'">'.img_picto($langs->trans("Enabled"), 'switch_on').'</span>';
212 212
 
213 213
     	    print '<script>$(document).ready(function() {
214 214
         	    $("span#showMarginInfos").click(function() { $.getScript( "'.dol_buildpath('/includes/jquery/plugins/jquerytreeview/lib/jquery.cookie.js', 1).'", function( data, textStatus, jqxhr ) { $.cookie("DOLUSER_MARGININFO_HIDE_SHOW", 0); $(".margininfos").show(); $("span#showMarginInfos").addClass("hideobject"); $("span#hideMarginInfos").removeClass("hideobject");})});
@@ -229,13 +229,13 @@  discard block
 block discarded – undo
229 229
 		else
230 230
 			print '<td class="liste_titre" align="right">'.$langs->trans('CostPrice').'</td>';
231 231
 		print '<td class="liste_titre" align="right">'.$langs->trans('Margin').'</td>';
232
-		if (! empty($conf->global->DISPLAY_MARGIN_RATES))
232
+		if (!empty($conf->global->DISPLAY_MARGIN_RATES))
233 233
 			print '<td class="liste_titre" align="right">'.$langs->trans('MarginRate').'</td>';
234
-		if (! empty($conf->global->DISPLAY_MARK_RATES))
234
+		if (!empty($conf->global->DISPLAY_MARK_RATES))
235 235
 			print '<td class="liste_titre" align="right">'.$langs->trans('MarkRate').'</td>';
236 236
 		print '</tr>';
237 237
 
238
-		if (! empty($conf->product->enabled))
238
+		if (!empty($conf->product->enabled))
239 239
 		{
240 240
 			//if ($marginInfo['margin_on_products'] != 0 && $marginInfo['margin_on_services'] != 0) {
241 241
 			print '<tr class="oddeven">';
@@ -243,38 +243,38 @@  discard block
 block discarded – undo
243 243
 			print '<td align="right">'.price($marginInfo['pv_products'], null, null, null, null, $rounding).'</td>';
244 244
 			print '<td align="right">'.price($marginInfo['pa_products'], null, null, null, null, $rounding).'</td>';
245 245
 			print '<td align="right">'.price($marginInfo['margin_on_products'], null, null, null, null, $rounding).'</td>';
246
-			if (! empty($conf->global->DISPLAY_MARGIN_RATES))
247
-				print '<td align="right">'.(($marginInfo['margin_rate_products'] == '')?'':price($marginInfo['margin_rate_products'], null, null, null, null, $rounding).'%').'</td>';
248
-			if (! empty($conf->global->DISPLAY_MARK_RATES))
249
-				print '<td align="right">'.(($marginInfo['mark_rate_products'] == '')?'':price($marginInfo['mark_rate_products'], null, null, null, null, $rounding).'%').'</td>';
246
+			if (!empty($conf->global->DISPLAY_MARGIN_RATES))
247
+				print '<td align="right">'.(($marginInfo['margin_rate_products'] == '') ? '' : price($marginInfo['margin_rate_products'], null, null, null, null, $rounding).'%').'</td>';
248
+			if (!empty($conf->global->DISPLAY_MARK_RATES))
249
+				print '<td align="right">'.(($marginInfo['mark_rate_products'] == '') ? '' : price($marginInfo['mark_rate_products'], null, null, null, null, $rounding).'%').'</td>';
250 250
 			print '</tr>';
251 251
 		}
252 252
 
253
-		if (! empty($conf->service->enabled))
253
+		if (!empty($conf->service->enabled))
254 254
 		{
255 255
 			print '<tr class="oddeven">';
256 256
 			print '<td>'.$langs->trans('MarginOnServices').'</td>';
257 257
 			print '<td align="right">'.price($marginInfo['pv_services'], null, null, null, null, $rounding).'</td>';
258 258
 			print '<td align="right">'.price($marginInfo['pa_services'], null, null, null, null, $rounding).'</td>';
259 259
 			print '<td align="right">'.price($marginInfo['margin_on_services'], null, null, null, null, $rounding).'</td>';
260
-			if (! empty($conf->global->DISPLAY_MARGIN_RATES))
261
-				print '<td align="right">'.(($marginInfo['margin_rate_services'] == '')?'':price($marginInfo['margin_rate_services'], null, null, null, null, $rounding).'%').'</td>';
262
-			if (! empty($conf->global->DISPLAY_MARK_RATES))
263
-				print '<td align="right">'.(($marginInfo['mark_rate_services'] == '')?'':price($marginInfo['mark_rate_services'], null, null, null, null, $rounding).'%').'</td>';
260
+			if (!empty($conf->global->DISPLAY_MARGIN_RATES))
261
+				print '<td align="right">'.(($marginInfo['margin_rate_services'] == '') ? '' : price($marginInfo['margin_rate_services'], null, null, null, null, $rounding).'%').'</td>';
262
+			if (!empty($conf->global->DISPLAY_MARK_RATES))
263
+				print '<td align="right">'.(($marginInfo['mark_rate_services'] == '') ? '' : price($marginInfo['mark_rate_services'], null, null, null, null, $rounding).'%').'</td>';
264 264
 			print '</tr>';
265 265
 		}
266 266
 
267
-		if (! empty($conf->product->enabled) && ! empty($conf->service->enabled))
267
+		if (!empty($conf->product->enabled) && !empty($conf->service->enabled))
268 268
 		{
269 269
 			print '<tr class="liste_total">';
270 270
 			print '<td>'.$langs->trans('TotalMargin').'</td>';
271 271
 			print '<td align="right">'.price($marginInfo['pv_total'], null, null, null, null, $rounding).'</td>';
272 272
 			print '<td align="right">'.price($marginInfo['pa_total'], null, null, null, null, $rounding).'</td>';
273 273
 			print '<td align="right">'.price($marginInfo['total_margin'], null, null, null, null, $rounding).'</td>';
274
-			if (! empty($conf->global->DISPLAY_MARGIN_RATES))
275
-				print '<td align="right">'.(($marginInfo['total_margin_rate'] == '')?'':price($marginInfo['total_margin_rate'], null, null, null, null, $rounding).'%').'</td>';
276
-			if (! empty($conf->global->DISPLAY_MARK_RATES))
277
-				print '<td align="right">'.(($marginInfo['total_mark_rate'] == '')?'':price($marginInfo['total_mark_rate'], null, null, null, null, $rounding).'%').'</td>';
274
+			if (!empty($conf->global->DISPLAY_MARGIN_RATES))
275
+				print '<td align="right">'.(($marginInfo['total_margin_rate'] == '') ? '' : price($marginInfo['total_margin_rate'], null, null, null, null, $rounding).'%').'</td>';
276
+			if (!empty($conf->global->DISPLAY_MARK_RATES))
277
+				print '<td align="right">'.(($marginInfo['total_mark_rate'] == '') ? '' : price($marginInfo['total_mark_rate'], null, null, null, null, $rounding).'%').'</td>';
278 278
 			print '</tr>';
279 279
 		}
280 280
 		print '</table>';
Please login to merge, or discard this patch.
Braces   +66 added lines, -46 removed lines patch added patch discarded remove patch
@@ -88,8 +88,9 @@  discard block
 block discarded – undo
88 88
 			{
89 89
 				require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php';
90 90
 				$product = new ProductFournisseur($db);
91
-				if ($product->fetch_product_fournisseur_price($line->fk_fournprice))
92
-					$line->pa_ht = $product->fourn_unitprice * (1 - $product->fourn_remise_percent / 100);
91
+				if ($product->fetch_product_fournisseur_price($line->fk_fournprice)) {
92
+									$line->pa_ht = $product->fourn_unitprice * (1 - $product->fourn_remise_percent / 100);
93
+				}
93 94
 			}
94 95
 			// si prix d'achat non renseigné et devrait l'être, alors prix achat = prix vente
95 96
 			if ((!isset($line->pa_ht) || $line->pa_ht == 0) && $line->subprice > 0 && (isset($conf->global->ForceBuyingPriceIfNull) && $conf->global->ForceBuyingPriceIfNull == 1)) {
@@ -114,8 +115,7 @@  discard block
 block discarded – undo
114 115
 					//}
115 116
 					//else
116 117
 						$marginInfos['margin_on_products'] += $pv - $pa;
117
-				}
118
-				elseif ($conf->global->MARGIN_METHODE_FOR_DISCOUNT == '2') { // remise globale considérée comme service
118
+				} elseif ($conf->global->MARGIN_METHODE_FOR_DISCOUNT == '2') { // remise globale considérée comme service
119 119
 					$marginInfos['pa_services'] += $pa;
120 120
 					$marginInfos['pv_services'] += $pv;
121 121
 					$marginInfos['pa_total'] +=  $pa;
@@ -125,13 +125,11 @@  discard block
 block discarded – undo
125 125
 					//	$marginInfos['margin_on_services'] += -1 * (abs($pv) - $pa);
126 126
 					//else
127 127
 						$marginInfos['margin_on_services'] += $pv - $pa;
128
-				}
129
-				elseif ($conf->global->MARGIN_METHODE_FOR_DISCOUNT == '3') { // remise globale prise en compte uniqt sur total
128
+				} elseif ($conf->global->MARGIN_METHODE_FOR_DISCOUNT == '3') { // remise globale prise en compte uniqt sur total
130 129
 					$marginInfos['pa_total'] += $pa;
131 130
 					$marginInfos['pv_total'] += $pv;
132 131
 				}
133
-			}
134
-			else {
132
+			} else {
135 133
 				$type=$line->product_type?$line->product_type:$line->fk_product_type;
136 134
 				if ($type == 0) {  // product
137 135
 					$marginInfos['pa_products'] += $pa;
@@ -147,8 +145,7 @@  discard block
 block discarded – undo
147 145
 					//{
148 146
 					    $marginInfos['margin_on_products'] += $pv - $pa;
149 147
 					//}
150
-				}
151
-				elseif ($type == 1) {  // service
148
+				} elseif ($type == 1) {  // service
152 149
 					$marginInfos['pa_services'] += $pa;
153 150
 					$marginInfos['pv_services'] += $pv;
154 151
 					$marginInfos['pa_total'] +=  $pa;
@@ -161,25 +158,31 @@  discard block
 block discarded – undo
161 158
 				}
162 159
 			}
163 160
 		}
164
-		if ($marginInfos['pa_products'] > 0)
165
-			$marginInfos['margin_rate_products'] = 100 * $marginInfos['margin_on_products'] / $marginInfos['pa_products'];
166
-		if ($marginInfos['pv_products'] > 0)
167
-			$marginInfos['mark_rate_products'] = 100 * $marginInfos['margin_on_products'] / $marginInfos['pv_products'];
161
+		if ($marginInfos['pa_products'] > 0) {
162
+					$marginInfos['margin_rate_products'] = 100 * $marginInfos['margin_on_products'] / $marginInfos['pa_products'];
163
+		}
164
+		if ($marginInfos['pv_products'] > 0) {
165
+					$marginInfos['mark_rate_products'] = 100 * $marginInfos['margin_on_products'] / $marginInfos['pv_products'];
166
+		}
168 167
 
169
-		if ($marginInfos['pa_services'] > 0)
170
-			$marginInfos['margin_rate_services'] = 100 * $marginInfos['margin_on_services'] / $marginInfos['pa_services'];
171
-		if ($marginInfos['pv_services'] > 0)
172
-			$marginInfos['mark_rate_services'] = 100 * $marginInfos['margin_on_services'] / $marginInfos['pv_services'];
168
+		if ($marginInfos['pa_services'] > 0) {
169
+					$marginInfos['margin_rate_services'] = 100 * $marginInfos['margin_on_services'] / $marginInfos['pa_services'];
170
+		}
171
+		if ($marginInfos['pv_services'] > 0) {
172
+					$marginInfos['mark_rate_services'] = 100 * $marginInfos['margin_on_services'] / $marginInfos['pv_services'];
173
+		}
173 174
 
174 175
 		// if credit note, margin = -1 * (abs(selling_price) - buying_price)
175 176
 		//if ($marginInfos['pv_total'] < 0)
176 177
 		//	$marginInfos['total_margin'] = -1 * (abs($marginInfos['pv_total']) - $marginInfos['pa_total']);
177 178
 		//else
178 179
 			$marginInfos['total_margin'] = $marginInfos['pv_total'] - $marginInfos['pa_total'];
179
-		if ($marginInfos['pa_total'] > 0)
180
-			$marginInfos['total_margin_rate'] = 100 * $marginInfos['total_margin'] / $marginInfos['pa_total'];
181
-		if ($marginInfos['pv_total'] > 0)
182
-			$marginInfos['total_mark_rate'] = 100 * $marginInfos['total_margin'] / $marginInfos['pv_total'];
180
+		if ($marginInfos['pa_total'] > 0) {
181
+					$marginInfos['total_margin_rate'] = 100 * $marginInfos['total_margin'] / $marginInfos['pa_total'];
182
+		}
183
+		if ($marginInfos['pv_total'] > 0) {
184
+					$marginInfos['total_mark_rate'] = 100 * $marginInfos['total_margin'] / $marginInfos['pv_total'];
185
+		}
183 186
 
184 187
 		return $marginInfos;
185 188
 	}
@@ -195,17 +198,23 @@  discard block
 block discarded – undo
195 198
 	{
196 199
 		global $langs, $conf, $user;
197 200
 
198
-    	if (! empty($user->societe_id)) return;
201
+    	if (! empty($user->societe_id)) {
202
+    	    return;
203
+    	}
199 204
 
200
-    	if (! $user->rights->margins->liretous) return;
205
+    	if (! $user->rights->margins->liretous) {
206
+    	    return;
207
+    	}
201 208
 
202 209
         $rounding = min($conf->global->MAIN_MAX_DECIMALS_UNIT, $conf->global->MAIN_MAX_DECIMALS_TOT);
203 210
 
204 211
 		$marginInfo = $this->getMarginInfosArray($object, $force_price);
205 212
 
206
-		if (! empty($conf->global->MARGIN_ADD_SHOWHIDE_BUTTON))	// TODO Warning this feature rely on an external js file that may be removed. Using native js function document.cookie should be better
213
+		if (! empty($conf->global->MARGIN_ADD_SHOWHIDE_BUTTON)) {
214
+		    // TODO Warning this feature rely on an external js file that may be removed. Using native js function document.cookie should be better
207 215
 		{
208 216
 			print $langs->trans('ShowMarginInfos').' : ';
217
+		}
209 218
 	        $hidemargininfos = $_COOKIE['DOLUSER_MARGININFO_HIDE_SHOW'];
210 219
 	    	print '<span id="showMarginInfos" class="linkobject '.(!empty($hidemargininfos)?'':'hideobject').'">'.img_picto($langs->trans("Disabled"),'switch_off').'</span>';
211 220
 	    	print '<span id="hideMarginInfos" class="linkobject '.(!empty($hidemargininfos)?'hideobject':'').'">'.img_picto($langs->trans("Enabled"),'switch_on').'</span>';
@@ -214,7 +223,9 @@  discard block
 block discarded – undo
214 223
         	    $("span#showMarginInfos").click(function() { $.getScript( "'.dol_buildpath('/includes/jquery/plugins/jquerytreeview/lib/jquery.cookie.js', 1).'", function( data, textStatus, jqxhr ) { $.cookie("DOLUSER_MARGININFO_HIDE_SHOW", 0); $(".margininfos").show(); $("span#showMarginInfos").addClass("hideobject"); $("span#hideMarginInfos").removeClass("hideobject");})});
215 224
         	    $("span#hideMarginInfos").click(function() { $.getScript( "'.dol_buildpath('/includes/jquery/plugins/jquerytreeview/lib/jquery.cookie.js', 1).'", function( data, textStatus, jqxhr ) { $.cookie("DOLUSER_MARGININFO_HIDE_SHOW", 1); $(".margininfos").hide(); $("span#hideMarginInfos").addClass("hideobject"); $("span#showMarginInfos").removeClass("hideobject");})});
216 225
       	        });</script>';
217
-    	    if (!empty($hidemargininfos)) print '<script>$(document).ready(function() {$(".margininfos").hide();});</script>';
226
+    	    if (!empty($hidemargininfos)) {
227
+    	        print '<script>$(document).ready(function() {$(".margininfos").hide();});</script>';
228
+    	    }
218 229
 		}
219 230
 
220 231
 		print '<div class="div-table-responsive-no-min">';
@@ -224,15 +235,18 @@  discard block
 block discarded – undo
224 235
 		print '<tr class="liste_titre">';
225 236
 		print '<td class="liste_titre">'.$langs->trans('Margins').'</td>';
226 237
 		print '<td class="liste_titre" align="right">'.$langs->trans('SellingPrice').'</td>';
227
-		if ($conf->global->MARGIN_TYPE == "1")
228
-			print '<td class="liste_titre" align="right">'.$langs->trans('BuyingPrice').'</td>';
229
-		else
230
-			print '<td class="liste_titre" align="right">'.$langs->trans('CostPrice').'</td>';
238
+		if ($conf->global->MARGIN_TYPE == "1") {
239
+					print '<td class="liste_titre" align="right">'.$langs->trans('BuyingPrice').'</td>';
240
+		} else {
241
+					print '<td class="liste_titre" align="right">'.$langs->trans('CostPrice').'</td>';
242
+		}
231 243
 		print '<td class="liste_titre" align="right">'.$langs->trans('Margin').'</td>';
232
-		if (! empty($conf->global->DISPLAY_MARGIN_RATES))
233
-			print '<td class="liste_titre" align="right">'.$langs->trans('MarginRate').'</td>';
234
-		if (! empty($conf->global->DISPLAY_MARK_RATES))
235
-			print '<td class="liste_titre" align="right">'.$langs->trans('MarkRate').'</td>';
244
+		if (! empty($conf->global->DISPLAY_MARGIN_RATES)) {
245
+					print '<td class="liste_titre" align="right">'.$langs->trans('MarginRate').'</td>';
246
+		}
247
+		if (! empty($conf->global->DISPLAY_MARK_RATES)) {
248
+					print '<td class="liste_titre" align="right">'.$langs->trans('MarkRate').'</td>';
249
+		}
236 250
 		print '</tr>';
237 251
 
238 252
 		if (! empty($conf->product->enabled))
@@ -243,10 +257,12 @@  discard block
 block discarded – undo
243 257
 			print '<td align="right">'.price($marginInfo['pv_products'], null, null, null, null, $rounding).'</td>';
244 258
 			print '<td align="right">'.price($marginInfo['pa_products'], null, null, null, null, $rounding).'</td>';
245 259
 			print '<td align="right">'.price($marginInfo['margin_on_products'], null, null, null, null, $rounding).'</td>';
246
-			if (! empty($conf->global->DISPLAY_MARGIN_RATES))
247
-				print '<td align="right">'.(($marginInfo['margin_rate_products'] == '')?'':price($marginInfo['margin_rate_products'], null, null, null, null, $rounding).'%').'</td>';
248
-			if (! empty($conf->global->DISPLAY_MARK_RATES))
249
-				print '<td align="right">'.(($marginInfo['mark_rate_products'] == '')?'':price($marginInfo['mark_rate_products'], null, null, null, null, $rounding).'%').'</td>';
260
+			if (! empty($conf->global->DISPLAY_MARGIN_RATES)) {
261
+							print '<td align="right">'.(($marginInfo['margin_rate_products'] == '')?'':price($marginInfo['margin_rate_products'], null, null, null, null, $rounding).'%').'</td>';
262
+			}
263
+			if (! empty($conf->global->DISPLAY_MARK_RATES)) {
264
+							print '<td align="right">'.(($marginInfo['mark_rate_products'] == '')?'':price($marginInfo['mark_rate_products'], null, null, null, null, $rounding).'%').'</td>';
265
+			}
250 266
 			print '</tr>';
251 267
 		}
252 268
 
@@ -257,10 +273,12 @@  discard block
 block discarded – undo
257 273
 			print '<td align="right">'.price($marginInfo['pv_services'], null, null, null, null, $rounding).'</td>';
258 274
 			print '<td align="right">'.price($marginInfo['pa_services'], null, null, null, null, $rounding).'</td>';
259 275
 			print '<td align="right">'.price($marginInfo['margin_on_services'], null, null, null, null, $rounding).'</td>';
260
-			if (! empty($conf->global->DISPLAY_MARGIN_RATES))
261
-				print '<td align="right">'.(($marginInfo['margin_rate_services'] == '')?'':price($marginInfo['margin_rate_services'], null, null, null, null, $rounding).'%').'</td>';
262
-			if (! empty($conf->global->DISPLAY_MARK_RATES))
263
-				print '<td align="right">'.(($marginInfo['mark_rate_services'] == '')?'':price($marginInfo['mark_rate_services'], null, null, null, null, $rounding).'%').'</td>';
276
+			if (! empty($conf->global->DISPLAY_MARGIN_RATES)) {
277
+							print '<td align="right">'.(($marginInfo['margin_rate_services'] == '')?'':price($marginInfo['margin_rate_services'], null, null, null, null, $rounding).'%').'</td>';
278
+			}
279
+			if (! empty($conf->global->DISPLAY_MARK_RATES)) {
280
+							print '<td align="right">'.(($marginInfo['mark_rate_services'] == '')?'':price($marginInfo['mark_rate_services'], null, null, null, null, $rounding).'%').'</td>';
281
+			}
264 282
 			print '</tr>';
265 283
 		}
266 284
 
@@ -271,10 +289,12 @@  discard block
 block discarded – undo
271 289
 			print '<td align="right">'.price($marginInfo['pv_total'], null, null, null, null, $rounding).'</td>';
272 290
 			print '<td align="right">'.price($marginInfo['pa_total'], null, null, null, null, $rounding).'</td>';
273 291
 			print '<td align="right">'.price($marginInfo['total_margin'], null, null, null, null, $rounding).'</td>';
274
-			if (! empty($conf->global->DISPLAY_MARGIN_RATES))
275
-				print '<td align="right">'.(($marginInfo['total_margin_rate'] == '')?'':price($marginInfo['total_margin_rate'], null, null, null, null, $rounding).'%').'</td>';
276
-			if (! empty($conf->global->DISPLAY_MARK_RATES))
277
-				print '<td align="right">'.(($marginInfo['total_mark_rate'] == '')?'':price($marginInfo['total_mark_rate'], null, null, null, null, $rounding).'%').'</td>';
292
+			if (! empty($conf->global->DISPLAY_MARGIN_RATES)) {
293
+							print '<td align="right">'.(($marginInfo['total_margin_rate'] == '')?'':price($marginInfo['total_margin_rate'], null, null, null, null, $rounding).'%').'</td>';
294
+			}
295
+			if (! empty($conf->global->DISPLAY_MARK_RATES)) {
296
+							print '<td align="right">'.(($marginInfo['total_mark_rate'] == '')?'':price($marginInfo['total_mark_rate'], null, null, null, null, $rounding).'%').'</td>';
297
+			}
278 298
 			print '</tr>';
279 299
 		}
280 300
 		print '</table>';
Please login to merge, or discard this patch.