Passed
Push — master ( c72032...27415e )
by
unknown
02:50
created
core/modules/modSubtotal.class.php 2 patches
Indentation   +399 added lines, -399 removed lines patch added patch discarded remove patch
@@ -31,182 +31,182 @@  discard block
 block discarded – undo
31 31
 class modSubtotal extends DolibarrModules
32 32
 {
33 33
 
34
-    /**
35
-     * 	Constructor. Define names, constants, directories, boxes, permissions
36
-     *
37
-     * 	@param	DoliDB		$db	Database handler
38
-     */
34
+	/**
35
+	 * 	Constructor. Define names, constants, directories, boxes, permissions
36
+	 *
37
+	 * 	@param	DoliDB		$db	Database handler
38
+	 */
39 39
      
40
-    public function __construct($db)
41
-    {
42
-        global $langs, $conf;
40
+	public function __construct($db)
41
+	{
42
+		global $langs, $conf;
43 43
 
44
-        $this->db = $db;
44
+		$this->db = $db;
45 45
 
46 46
 		$this->editor_name = 'ATM-Consulting';
47
-        // Id for module (must be unique).
48
-        // Use a free id here
49
-        // (See in Home -> System information -> Dolibarr for list of used modules id).
50
-        $this->numero = 104777; // 104000 to 104999 for ATM CONSULTING
51
-        // Key text used to identify module (for permissions, menus, etc...)
52
-        $this->rights_class = 'subtotal';
47
+		// Id for module (must be unique).
48
+		// Use a free id here
49
+		// (See in Home -> System information -> Dolibarr for list of used modules id).
50
+		$this->numero = 104777; // 104000 to 104999 for ATM CONSULTING
51
+		// Key text used to identify module (for permissions, menus, etc...)
52
+		$this->rights_class = 'subtotal';
53 53
 
54
-        // Family can be 'crm','financial','hr','projects','products','ecm','technic','other'
55
-        // It is used to group modules in module setup page
56
-        $this->family = "technic";
57
-        // Module label (no space allowed)
58
-        // used if translation string 'ModuleXXXName' not found
59
-        // (where XXX is value of numeric property 'numero' of module)
60
-        $this->name = preg_replace('/^mod/i', '', get_class($this));
61
-        // Module description
62
-        // used if translation string 'ModuleXXXDesc' not found
63
-        // (where XXX is value of numeric property 'numero' of module)
64
-        $this->description = "Module permettant l'ajout de sous-totaux et sous-totaux intermédiaires et le déplacement d'une ligne aisée de l'un dans l'autre";
65
-        // Possible values for version are: 'development', 'experimental' or version
66
-        $this->version = '3.1.10';
67
-        // Key used in llx_const table to save module status enabled/disabled
68
-        // (where MYMODULE is value of property name of module in uppercase)
69
-        $this->const_name = 'MAIN_MODULE_' . strtoupper($this->name);
70
-        // Where to store the module in setup page
71
-        // (0=common,1=interface,2=others,3=very specific)
72
-        $this->special = 2;
73
-        // Name of image file used for this module.
74
-        // If file is in theme/yourtheme/img directory under name object_pictovalue.png
75
-        // use this->picto='pictovalue'
76
-        // If file is in module/img directory under name object_pictovalue.png
77
-        // use this->picto='pictovalue@module'
78
-        $this->picto = 'subtotal@subtotal'; // mypicto@titre
79
-        // Defined all module parts (triggers, login, substitutions, menus, css, etc...)
80
-        // for default path (eg: /titre/core/xxxxx) (0=disable, 1=enable)
81
-        // for specific path of parts (eg: /titre/core/modules/barcode)
82
-        // for specific css file (eg: /titre/css/titre.css.php)
83
-        $this->module_parts = array(
84
-            // Set this to 1 if module has its own trigger directory
85
-            'triggers' => 1,
86
-            // Set this to 1 if module has its own login method directory
87
-            //'login' => 0,
88
-            // Set this to 1 if module has its own substitution function file
89
-            //'substitutions' => 0,
90
-            // Set this to 1 if module has its own menus handler directory
91
-            //'menus' => 0,
92
-            // Set this to 1 if module has its own barcode directory
93
-            //'barcode' => 0,
94
-            // Set this to 1 if module has its own models directory
95
-            'models' => 1,
96
-            // Set this to relative path of css if module has its own css file
97
-            //'css' => '/titre/css/mycss.css.php',
98
-            // Set here all hooks context managed by module
99
-            'hooks' => array(
100
-                'invoicecard'
101
-                ,'invoicesuppliercard'
102
-                ,'propalcard'
103
-                ,'supplier_proposalcard'
104
-                ,'ordercard'
105
-                ,'ordersuppliercard'
106
-                ,'odtgeneration'
107
-                ,'orderstoinvoice'
108
-                ,'admin'
109
-                ,'invoicereccard'
110
-                ,'consumptionthirdparty'
111
-            )
112
-            // Set here all workflow context managed by module
113
-            //'workflow' => array('order' => array('WORKFLOW_ORDER_AUTOCREATE_INVOICE'))
114
-        );
54
+		// Family can be 'crm','financial','hr','projects','products','ecm','technic','other'
55
+		// It is used to group modules in module setup page
56
+		$this->family = "technic";
57
+		// Module label (no space allowed)
58
+		// used if translation string 'ModuleXXXName' not found
59
+		// (where XXX is value of numeric property 'numero' of module)
60
+		$this->name = preg_replace('/^mod/i', '', get_class($this));
61
+		// Module description
62
+		// used if translation string 'ModuleXXXDesc' not found
63
+		// (where XXX is value of numeric property 'numero' of module)
64
+		$this->description = "Module permettant l'ajout de sous-totaux et sous-totaux intermédiaires et le déplacement d'une ligne aisée de l'un dans l'autre";
65
+		// Possible values for version are: 'development', 'experimental' or version
66
+		$this->version = '3.1.10';
67
+		// Key used in llx_const table to save module status enabled/disabled
68
+		// (where MYMODULE is value of property name of module in uppercase)
69
+		$this->const_name = 'MAIN_MODULE_' . strtoupper($this->name);
70
+		// Where to store the module in setup page
71
+		// (0=common,1=interface,2=others,3=very specific)
72
+		$this->special = 2;
73
+		// Name of image file used for this module.
74
+		// If file is in theme/yourtheme/img directory under name object_pictovalue.png
75
+		// use this->picto='pictovalue'
76
+		// If file is in module/img directory under name object_pictovalue.png
77
+		// use this->picto='pictovalue@module'
78
+		$this->picto = 'subtotal@subtotal'; // mypicto@titre
79
+		// Defined all module parts (triggers, login, substitutions, menus, css, etc...)
80
+		// for default path (eg: /titre/core/xxxxx) (0=disable, 1=enable)
81
+		// for specific path of parts (eg: /titre/core/modules/barcode)
82
+		// for specific css file (eg: /titre/css/titre.css.php)
83
+		$this->module_parts = array(
84
+			// Set this to 1 if module has its own trigger directory
85
+			'triggers' => 1,
86
+			// Set this to 1 if module has its own login method directory
87
+			//'login' => 0,
88
+			// Set this to 1 if module has its own substitution function file
89
+			//'substitutions' => 0,
90
+			// Set this to 1 if module has its own menus handler directory
91
+			//'menus' => 0,
92
+			// Set this to 1 if module has its own barcode directory
93
+			//'barcode' => 0,
94
+			// Set this to 1 if module has its own models directory
95
+			'models' => 1,
96
+			// Set this to relative path of css if module has its own css file
97
+			//'css' => '/titre/css/mycss.css.php',
98
+			// Set here all hooks context managed by module
99
+			'hooks' => array(
100
+				'invoicecard'
101
+				,'invoicesuppliercard'
102
+				,'propalcard'
103
+				,'supplier_proposalcard'
104
+				,'ordercard'
105
+				,'ordersuppliercard'
106
+				,'odtgeneration'
107
+				,'orderstoinvoice'
108
+				,'admin'
109
+				,'invoicereccard'
110
+				,'consumptionthirdparty'
111
+			)
112
+			// Set here all workflow context managed by module
113
+			//'workflow' => array('order' => array('WORKFLOW_ORDER_AUTOCREATE_INVOICE'))
114
+		);
115 115
 
116
-        // Data directories to create when module is enabled.
117
-        // Example: this->dirs = array("/titre/temp");
118
-        $this->dirs = array();
116
+		// Data directories to create when module is enabled.
117
+		// Example: this->dirs = array("/titre/temp");
118
+		$this->dirs = array();
119 119
 
120
-        // Config pages. Put here list of php pages
121
-        // stored into titre/admin directory, used to setup module.
122
-        $this->config_page_url = array("subtotal_setup.php@subtotal");
120
+		// Config pages. Put here list of php pages
121
+		// stored into titre/admin directory, used to setup module.
122
+		$this->config_page_url = array("subtotal_setup.php@subtotal");
123 123
 
124
-        // Dependencies
125
-        // List of modules id that must be enabled if this module is enabled
126
-        $this->depends = array();
124
+		// Dependencies
125
+		// List of modules id that must be enabled if this module is enabled
126
+		$this->depends = array();
127 127
 
128 128
 		$this->conflictwith=array('modMilestone');
129
-        // List of modules id to disable if this one is disabled
130
-        $this->requiredby = array();
131
-        // Minimum version of PHP required by module
132
-        $this->phpmin = array(5, 3);
133
-        // Minimum version of Dolibarr required by module
134
-        $this->need_dolibarr_version = array(3, 2);
135
-        $this->langfiles = array("subtotal@subtotal"); // langfiles@titre
136
-        // Constants
137
-        // List of particular constants to add when module is enabled
138
-        // (key, 'chaine', value, desc, visible, 'current' or 'allentities', deleteonunactive)
139
-        // Example:
140
-        $this->const = array(
141
-            	0=>array(
142
-            		'SUBTOTAL_STYLE_TITRES_SI_LIGNES_CACHEES',
143
-            		'chaine',
144
-            		'I',
145
-            		'Définit le style (B : gras, I : Italique, U : Souligné) des sous titres lorsque le détail des lignes et des ensembles est caché',
146
-            		1
147
-            	)
129
+		// List of modules id to disable if this one is disabled
130
+		$this->requiredby = array();
131
+		// Minimum version of PHP required by module
132
+		$this->phpmin = array(5, 3);
133
+		// Minimum version of Dolibarr required by module
134
+		$this->need_dolibarr_version = array(3, 2);
135
+		$this->langfiles = array("subtotal@subtotal"); // langfiles@titre
136
+		// Constants
137
+		// List of particular constants to add when module is enabled
138
+		// (key, 'chaine', value, desc, visible, 'current' or 'allentities', deleteonunactive)
139
+		// Example:
140
+		$this->const = array(
141
+				0=>array(
142
+					'SUBTOTAL_STYLE_TITRES_SI_LIGNES_CACHEES',
143
+					'chaine',
144
+					'I',
145
+					'Définit le style (B : gras, I : Italique, U : Souligné) des sous titres lorsque le détail des lignes et des ensembles est caché',
146
+					1
147
+				)
148 148
 				,1=>array('SUBTOTAL_ALLOW_ADD_BLOCK', 'chaine', '1', 'Permet l\'ajout de titres et sous-totaux')
149 149
 				,2=>array('SUBTOTAL_ALLOW_EDIT_BLOCK', 'chaine', '1', 'Permet de modifier titres et sous-totaux')
150 150
 				,3=>array('SUBTOTAL_ALLOW_REMOVE_BLOCK', 'chaine', '1', 'Permet de supprimer les titres et sous-totaux')
151 151
 				,4=>array('SUBTOTAL_TITLE_STYLE', 'chaine', 'BU')
152 152
 				,5=>array('SUBTOTAL_SUBTOTAL_STYLE', 'chaine', 'B')
153
-            //	1=>array(
154
-            //		'MYMODULE_MYNEWCONST2',
155
-            //		'chaine',
156
-            //		'myvalue',
157
-            //		'This is another constant to add',
158
-            //		0
159
-            //	)
160
-        );
153
+			//	1=>array(
154
+			//		'MYMODULE_MYNEWCONST2',
155
+			//		'chaine',
156
+			//		'myvalue',
157
+			//		'This is another constant to add',
158
+			//		0
159
+			//	)
160
+		);
161 161
 		
162 162
 
163 163
 
164 164
 
165
-        // Array to add new pages in new tabs
166
-        // Example:
167
-        $this->tabs = array(
168
-            //	// To add a new tab identified by code tabname1
169
-            //	'objecttype:+tabname1:Title1:langfile@titre:$user->rights->titre->read:/titre/mynewtab1.php?id=__ID__',
170
-            //	// To add another new tab identified by code tabname2
171
-            //	'objecttype:+tabname2:Title2:langfile@titre:$user->rights->othermodule->read:/titre/mynewtab2.php?id=__ID__',
172
-            //	// To remove an existing tab identified by code tabname
173
-            //	'objecttype:-tabname'
174
-        );
175
-        // where objecttype can be
176
-        // 'thirdparty'			to add a tab in third party view
177
-        // 'intervention'		to add a tab in intervention view
178
-        // 'order_supplier'		to add a tab in supplier order view
179
-        // 'invoice_supplier'	to add a tab in supplier invoice view
180
-        // 'invoice'			to add a tab in customer invoice view
181
-        // 'order'				to add a tab in customer order view
182
-        // 'product'			to add a tab in product view
183
-        // 'stock'				to add a tab in stock view
184
-        // 'propal'				to add a tab in propal view
185
-        // 'member'				to add a tab in fundation member view
186
-        // 'contract'			to add a tab in contract view
187
-        // 'user'				to add a tab in user view
188
-        // 'group'				to add a tab in group view
189
-        // 'contact'			to add a tab in contact view
190
-        // 'categories_x'		to add a tab in category view
191
-        // (replace 'x' by type of category (0=product, 1=supplier, 2=customer, 3=member)
192
-        // Dictionnaries
193
-        if (! isset($conf->subtotal->enabled)) {
194
-            $conf->subtotal=new stdClass();
195
-            $conf->subtotal->enabled = 0;
196
-        }
197
-        $this->dictionaries = array(
165
+		// Array to add new pages in new tabs
166
+		// Example:
167
+		$this->tabs = array(
168
+			//	// To add a new tab identified by code tabname1
169
+			//	'objecttype:+tabname1:Title1:langfile@titre:$user->rights->titre->read:/titre/mynewtab1.php?id=__ID__',
170
+			//	// To add another new tab identified by code tabname2
171
+			//	'objecttype:+tabname2:Title2:langfile@titre:$user->rights->othermodule->read:/titre/mynewtab2.php?id=__ID__',
172
+			//	// To remove an existing tab identified by code tabname
173
+			//	'objecttype:-tabname'
174
+		);
175
+		// where objecttype can be
176
+		// 'thirdparty'			to add a tab in third party view
177
+		// 'intervention'		to add a tab in intervention view
178
+		// 'order_supplier'		to add a tab in supplier order view
179
+		// 'invoice_supplier'	to add a tab in supplier invoice view
180
+		// 'invoice'			to add a tab in customer invoice view
181
+		// 'order'				to add a tab in customer order view
182
+		// 'product'			to add a tab in product view
183
+		// 'stock'				to add a tab in stock view
184
+		// 'propal'				to add a tab in propal view
185
+		// 'member'				to add a tab in fundation member view
186
+		// 'contract'			to add a tab in contract view
187
+		// 'user'				to add a tab in user view
188
+		// 'group'				to add a tab in group view
189
+		// 'contact'			to add a tab in contact view
190
+		// 'categories_x'		to add a tab in category view
191
+		// (replace 'x' by type of category (0=product, 1=supplier, 2=customer, 3=member)
192
+		// Dictionnaries
193
+		if (! isset($conf->subtotal->enabled)) {
194
+			$conf->subtotal=new stdClass();
195
+			$conf->subtotal->enabled = 0;
196
+		}
197
+		$this->dictionaries = array(
198 198
 			'langs'=>'subtotal@subtotal',
199
-            'tabname'=>array(MAIN_DB_PREFIX.'c_subtotal_free_text'),		// List of tables we want to see into dictonnary editor
200
-            'tablib'=>array($langs->trans('subtotalFreeLineDictionary')),													// Label of tables
201
-            'tabsql'=>array('SELECT f.rowid as rowid, f.label, f.content, f.entity, f.active FROM '.MAIN_DB_PREFIX.'c_subtotal_free_text as f WHERE f.entity='.$conf->entity),	// Request to select fields
202
-            'tabsqlsort'=>array('label ASC'),																					// Sort order
203
-            'tabfield'=>array('label,content'),							// List of fields (result of select to show dictionary)
204
-            'tabfieldvalue'=>array('label,content'),						// List of fields (list of fields to edit a record)
205
-            'tabfieldinsert'=>array('label,content,entity'),					// List of fields (list of fields for insert)
206
-            'tabrowid'=>array('rowid'),											// Name of columns with primary key (try to always name it 'rowid')
207
-            'tabcond'=>array($conf->subtotal->enabled)	
199
+			'tabname'=>array(MAIN_DB_PREFIX.'c_subtotal_free_text'),		// List of tables we want to see into dictonnary editor
200
+			'tablib'=>array($langs->trans('subtotalFreeLineDictionary')),													// Label of tables
201
+			'tabsql'=>array('SELECT f.rowid as rowid, f.label, f.content, f.entity, f.active FROM '.MAIN_DB_PREFIX.'c_subtotal_free_text as f WHERE f.entity='.$conf->entity),	// Request to select fields
202
+			'tabsqlsort'=>array('label ASC'),																					// Sort order
203
+			'tabfield'=>array('label,content'),							// List of fields (result of select to show dictionary)
204
+			'tabfieldvalue'=>array('label,content'),						// List of fields (list of fields to edit a record)
205
+			'tabfieldinsert'=>array('label,content,entity'),					// List of fields (list of fields for insert)
206
+			'tabrowid'=>array('rowid'),											// Name of columns with primary key (try to always name it 'rowid')
207
+			'tabcond'=>array($conf->subtotal->enabled)	
208 208
 		);
209
-        /* Example:
209
+		/* Example:
210 210
           // This is to avoid warnings
211 211
           if (! isset($conf->titre->enabled)) $conf->titre->enabled=0;
212 212
           $this->dictionnaries=array(
@@ -247,223 +247,223 @@  discard block
 block discarded – undo
247 247
           );
248 248
          */
249 249
 
250
-        // Boxes
251
-        // Add here list of php file(s) stored in core/boxes that contains class to show a box.
252
-        $this->boxes = array(); // Boxes list
250
+		// Boxes
251
+		// Add here list of php file(s) stored in core/boxes that contains class to show a box.
252
+		$this->boxes = array(); // Boxes list
253 253
        
254
-        /*
254
+		/*
255 255
           $this->boxes[$r][1] = "myboxb.php";
256 256
           $r++;
257 257
          */
258 258
 
259
-        // Permissions
260
-        $this->rights = array(); // Permission array used by this module
261
-        $r = 0;
259
+		// Permissions
260
+		$this->rights = array(); // Permission array used by this module
261
+		$r = 0;
262 262
 
263
-        // Add here list of permission defined by
264
-        // an id, a label, a boolean and two constant strings.
265
-        // Example:
266
-        //// Permission id (must not be already used)
267
-        //$this->rights[$r][0] = 2000;
268
-        //// Permission label
269
-        //$this->rights[$r][1] = 'Permision label';
270
-        //// Permission by default for new user (0/1)
271
-        //$this->rights[$r][3] = 1;
272
-        //// In php code, permission will be checked by test
273
-        //// if ($user->rights->permkey->level1->level2)
274
-        //$this->rights[$r][4] = 'level1';
275
-        //// In php code, permission will be checked by test
276
-        //// if ($user->rights->permkey->level1->level2)
277
-        //$this->rights[$r][5] = 'level2';
278
-        //$r++;
279
-        // Main menu entries
280
-        $this->menus = array(); // List of menus to add
281
-        $r = 0;
263
+		// Add here list of permission defined by
264
+		// an id, a label, a boolean and two constant strings.
265
+		// Example:
266
+		//// Permission id (must not be already used)
267
+		//$this->rights[$r][0] = 2000;
268
+		//// Permission label
269
+		//$this->rights[$r][1] = 'Permision label';
270
+		//// Permission by default for new user (0/1)
271
+		//$this->rights[$r][3] = 1;
272
+		//// In php code, permission will be checked by test
273
+		//// if ($user->rights->permkey->level1->level2)
274
+		//$this->rights[$r][4] = 'level1';
275
+		//// In php code, permission will be checked by test
276
+		//// if ($user->rights->permkey->level1->level2)
277
+		//$this->rights[$r][5] = 'level2';
278
+		//$r++;
279
+		// Main menu entries
280
+		$this->menus = array(); // List of menus to add
281
+		$r = 0;
282 282
 
283
-        // Add here entries to declare new menus
284
-        //
285
-        // Example to declare a new Top Menu entry and its Left menu entry:
286
-        //$this->menu[$r]=array(
287
-        //	// Put 0 if this is a top menu
288
-        //	'fk_menu'=>0,
289
-        //	// This is a Top menu entry
290
-        //	'type'=>'top',
291
-        //	'titre'=>'titre top menu',
292
-        //	'mainmenu'=>'titre',
293
-        //	'leftmenu'=>'titre',
294
-        //	'url'=>'/titre/pagetop.php',
295
-        //	// Lang file to use (without .lang) by module.
296
-        //	// File must be in langs/code_CODE/ directory.
297
-        //	'langs'=>'mylangfile',
298
-        //	'position'=>100,
299
-        //	// Define condition to show or hide menu entry.
300
-        //	// Use '$conf->titre->enabled' if entry must be visible if module is enabled.
301
-        //	'enabled'=>'$conf->titre->enabled',
302
-        //	// Use 'perms'=>'$user->rights->titre->level1->level2'
303
-        //	// if you want your menu with a permission rules
304
-        //	'perms'=>'1',
305
-        //	'target'=>'',
306
-        //	// 0=Menu for internal users, 1=external users, 2=both
307
-        //	'user'=>2
308
-        //);
309
-        //$r++;
310
-        //$this->menu[$r]=array(
311
-        //	// Use r=value where r is index key used for the parent menu entry
312
-        //	// (higher parent must be a top menu entry)
313
-        //	'fk_menu'=>'r=0',
314
-        //	// This is a Left menu entry
315
-        //	'type'=>'left',
316
-        //	'titre'=>'titre left menu',
317
-        //	'mainmenu'=>'titre',
318
-        //	'leftmenu'=>'titre',
319
-        //	'url'=>'/titre/pagelevel1.php',
320
-        //	// Lang file to use (without .lang) by module.
321
-        //	// File must be in langs/code_CODE/ directory.
322
-        //	'langs'=>'mylangfile',
323
-        //	'position'=>100,
324
-        //	// Define condition to show or hide menu entry.
325
-        //	// Use '$conf->titre->enabled' if entry must be visible if module is enabled.
326
-        //	'enabled'=>'$conf->titre->enabled',
327
-        //	// Use 'perms'=>'$user->rights->titre->level1->level2'
328
-        //	// if you want your menu with a permission rules
329
-        //	'perms'=>'1',
330
-        //	'target'=>'',
331
-        //	// 0=Menu for internal users, 1=external users, 2=both
332
-        //	'user'=>2
333
-        //);
334
-        //$r++;
335
-        //
336
-        // Example to declare a Left Menu entry into an existing Top menu entry:
337
-        //$this->menu[$r]=array(
338
-        //	// Use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy'
339
-        //	'fk_menu'=>'fk_mainmenu=mainmenucode',
340
-        //	// This is a Left menu entry
341
-        //	'type'=>'left',
342
-        //	'titre'=>'titre left menu',
343
-        //	'mainmenu'=>'mainmenucode',
344
-        //	'leftmenu'=>'titre',
345
-        //	'url'=>'/titre/pagelevel2.php',
346
-        //	// Lang file to use (without .lang) by module.
347
-        //	// File must be in langs/code_CODE/ directory.
348
-        //	'langs'=>'mylangfile',
349
-        //	'position'=>100,
350
-        //	// Define condition to show or hide menu entry.
351
-        //	// Use '$conf->titre->enabled' if entry must be visible if module is enabled.
352
-        //	// Use '$leftmenu==\'system\'' to show if leftmenu system is selected.
353
-        //	'enabled'=>'$conf->titre->enabled',
354
-        //	// Use 'perms'=>'$user->rights->titre->level1->level2'
355
-        //	// if you want your menu with a permission rules
356
-        //	'perms'=>'1',
357
-        //	'target'=>'',
358
-        //	// 0=Menu for internal users, 1=external users, 2=both
359
-        //	'user'=>2
360
-        //);
361
-        //$r++;
362
-        // Exports
363
-        $r = 1;
283
+		// Add here entries to declare new menus
284
+		//
285
+		// Example to declare a new Top Menu entry and its Left menu entry:
286
+		//$this->menu[$r]=array(
287
+		//	// Put 0 if this is a top menu
288
+		//	'fk_menu'=>0,
289
+		//	// This is a Top menu entry
290
+		//	'type'=>'top',
291
+		//	'titre'=>'titre top menu',
292
+		//	'mainmenu'=>'titre',
293
+		//	'leftmenu'=>'titre',
294
+		//	'url'=>'/titre/pagetop.php',
295
+		//	// Lang file to use (without .lang) by module.
296
+		//	// File must be in langs/code_CODE/ directory.
297
+		//	'langs'=>'mylangfile',
298
+		//	'position'=>100,
299
+		//	// Define condition to show or hide menu entry.
300
+		//	// Use '$conf->titre->enabled' if entry must be visible if module is enabled.
301
+		//	'enabled'=>'$conf->titre->enabled',
302
+		//	// Use 'perms'=>'$user->rights->titre->level1->level2'
303
+		//	// if you want your menu with a permission rules
304
+		//	'perms'=>'1',
305
+		//	'target'=>'',
306
+		//	// 0=Menu for internal users, 1=external users, 2=both
307
+		//	'user'=>2
308
+		//);
309
+		//$r++;
310
+		//$this->menu[$r]=array(
311
+		//	// Use r=value where r is index key used for the parent menu entry
312
+		//	// (higher parent must be a top menu entry)
313
+		//	'fk_menu'=>'r=0',
314
+		//	// This is a Left menu entry
315
+		//	'type'=>'left',
316
+		//	'titre'=>'titre left menu',
317
+		//	'mainmenu'=>'titre',
318
+		//	'leftmenu'=>'titre',
319
+		//	'url'=>'/titre/pagelevel1.php',
320
+		//	// Lang file to use (without .lang) by module.
321
+		//	// File must be in langs/code_CODE/ directory.
322
+		//	'langs'=>'mylangfile',
323
+		//	'position'=>100,
324
+		//	// Define condition to show or hide menu entry.
325
+		//	// Use '$conf->titre->enabled' if entry must be visible if module is enabled.
326
+		//	'enabled'=>'$conf->titre->enabled',
327
+		//	// Use 'perms'=>'$user->rights->titre->level1->level2'
328
+		//	// if you want your menu with a permission rules
329
+		//	'perms'=>'1',
330
+		//	'target'=>'',
331
+		//	// 0=Menu for internal users, 1=external users, 2=both
332
+		//	'user'=>2
333
+		//);
334
+		//$r++;
335
+		//
336
+		// Example to declare a Left Menu entry into an existing Top menu entry:
337
+		//$this->menu[$r]=array(
338
+		//	// Use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy'
339
+		//	'fk_menu'=>'fk_mainmenu=mainmenucode',
340
+		//	// This is a Left menu entry
341
+		//	'type'=>'left',
342
+		//	'titre'=>'titre left menu',
343
+		//	'mainmenu'=>'mainmenucode',
344
+		//	'leftmenu'=>'titre',
345
+		//	'url'=>'/titre/pagelevel2.php',
346
+		//	// Lang file to use (without .lang) by module.
347
+		//	// File must be in langs/code_CODE/ directory.
348
+		//	'langs'=>'mylangfile',
349
+		//	'position'=>100,
350
+		//	// Define condition to show or hide menu entry.
351
+		//	// Use '$conf->titre->enabled' if entry must be visible if module is enabled.
352
+		//	// Use '$leftmenu==\'system\'' to show if leftmenu system is selected.
353
+		//	'enabled'=>'$conf->titre->enabled',
354
+		//	// Use 'perms'=>'$user->rights->titre->level1->level2'
355
+		//	// if you want your menu with a permission rules
356
+		//	'perms'=>'1',
357
+		//	'target'=>'',
358
+		//	// 0=Menu for internal users, 1=external users, 2=both
359
+		//	'user'=>2
360
+		//);
361
+		//$r++;
362
+		// Exports
363
+		$r = 1;
364 364
 
365
-        // Example:
366
-        //$this->export_code[$r]=$this->rights_class.'_'.$r;
367
-        //// Translation key (used only if key ExportDataset_xxx_z not found)
368
-        //$this->export_label[$r]='CustomersInvoicesAndInvoiceLines';
369
-        //// Condition to show export in list (ie: '$user->id==3').
370
-        //// Set to 1 to always show when module is enabled.
371
-        //$this->export_enabled[$r]='1';
372
-        //$this->export_permission[$r]=array(array("facture","facture","export"));
373
-        //$this->export_fields_array[$r]=array(
374
-        //	's.rowid'=>"IdCompany",
375
-        //	's.nom'=>'CompanyName',
376
-        //	's.address'=>'Address',
377
-        //	's.cp'=>'Zip',
378
-        //	's.ville'=>'Town',
379
-        //	's.fk_pays'=>'Country',
380
-        //	's.tel'=>'Phone',
381
-        //	's.siren'=>'ProfId1',
382
-        //	's.siret'=>'ProfId2',
383
-        //	's.ape'=>'ProfId3',
384
-        //	's.idprof4'=>'ProfId4',
385
-        //	's.code_compta'=>'CustomerAccountancyCode',
386
-        //	's.code_compta_fournisseur'=>'SupplierAccountancyCode',
387
-        //	'f.rowid'=>"InvoiceId",
388
-        //	'f.facnumber'=>"InvoiceRef",
389
-        //	'f.datec'=>"InvoiceDateCreation",
390
-        //	'f.datef'=>"DateInvoice",
391
-        //	'f.total'=>"TotalHT",
392
-        //	'f.total_ttc'=>"TotalTTC",
393
-        //	'f.tva'=>"TotalVAT",
394
-        //	'f.paye'=>"InvoicePaid",
395
-        //	'f.fk_statut'=>'InvoiceStatus',
396
-        //	'f.note'=>"InvoiceNote",
397
-        //	'fd.rowid'=>'LineId',
398
-        //	'fd.description'=>"LineDescription",
399
-        //	'fd.price'=>"LineUnitPrice",
400
-        //	'fd.tva_tx'=>"LineVATRate",
401
-        //	'fd.qty'=>"LineQty",
402
-        //	'fd.total_ht'=>"LineTotalHT",
403
-        //	'fd.total_tva'=>"LineTotalTVA",
404
-        //	'fd.total_ttc'=>"LineTotalTTC",
405
-        //	'fd.date_start'=>"DateStart",
406
-        //	'fd.date_end'=>"DateEnd",
407
-        //	'fd.fk_product'=>'ProductId',
408
-        //	'p.ref'=>'ProductRef'
409
-        //);
410
-        //$this->export_entities_array[$r]=array('s.rowid'=>"company",
411
-        //	's.nom'=>'company',
412
-        //	's.address'=>'company',
413
-        //	's.cp'=>'company',
414
-        //	's.ville'=>'company',
415
-        //	's.fk_pays'=>'company',
416
-        //	's.tel'=>'company',
417
-        //	's.siren'=>'company',
418
-        //	's.siret'=>'company',
419
-        //	's.ape'=>'company',
420
-        //	's.idprof4'=>'company',
421
-        //	's.code_compta'=>'company',
422
-        //	's.code_compta_fournisseur'=>'company',
423
-        //	'f.rowid'=>"invoice",
424
-        //	'f.facnumber'=>"invoice",
425
-        //	'f.datec'=>"invoice",
426
-        //	'f.datef'=>"invoice",
427
-        //	'f.total'=>"invoice",
428
-        //	'f.total_ttc'=>"invoice",
429
-        //	'f.tva'=>"invoice",
430
-        //	'f.paye'=>"invoice",
431
-        //	'f.fk_statut'=>'invoice',
432
-        //	'f.note'=>"invoice",
433
-        //	'fd.rowid'=>'invoice_line',
434
-        //	'fd.description'=>"invoice_line",
435
-        //	'fd.price'=>"invoice_line",
436
-        //	'fd.total_ht'=>"invoice_line",
437
-        //	'fd.total_tva'=>"invoice_line",
438
-        //	'fd.total_ttc'=>"invoice_line",
439
-        //	'fd.tva_tx'=>"invoice_line",
440
-        //	'fd.qty'=>"invoice_line",
441
-        //	'fd.date_start'=>"invoice_line",
442
-        //	'fd.date_end'=>"invoice_line",
443
-        //	'fd.fk_product'=>'product',
444
-        //	'p.ref'=>'product'
445
-        //);
446
-        //$this->export_sql_start[$r] = 'SELECT DISTINCT ';
447
-        //$this->export_sql_end[$r] = ' FROM (' . MAIN_DB_PREFIX . 'facture as f, '
448
-        //	. MAIN_DB_PREFIX . 'facturedet as fd, ' . MAIN_DB_PREFIX . 'societe as s)';
449
-        //$this->export_sql_end[$r] .= ' LEFT JOIN ' . MAIN_DB_PREFIX
450
-        //	. 'product as p on (fd.fk_product = p.rowid)';
451
-        //$this->export_sql_end[$r] .= ' WHERE f.fk_soc = s.rowid '
452
-        //	. 'AND f.rowid = fd.fk_facture';
453
-        //$r++;
454
-    }
365
+		// Example:
366
+		//$this->export_code[$r]=$this->rights_class.'_'.$r;
367
+		//// Translation key (used only if key ExportDataset_xxx_z not found)
368
+		//$this->export_label[$r]='CustomersInvoicesAndInvoiceLines';
369
+		//// Condition to show export in list (ie: '$user->id==3').
370
+		//// Set to 1 to always show when module is enabled.
371
+		//$this->export_enabled[$r]='1';
372
+		//$this->export_permission[$r]=array(array("facture","facture","export"));
373
+		//$this->export_fields_array[$r]=array(
374
+		//	's.rowid'=>"IdCompany",
375
+		//	's.nom'=>'CompanyName',
376
+		//	's.address'=>'Address',
377
+		//	's.cp'=>'Zip',
378
+		//	's.ville'=>'Town',
379
+		//	's.fk_pays'=>'Country',
380
+		//	's.tel'=>'Phone',
381
+		//	's.siren'=>'ProfId1',
382
+		//	's.siret'=>'ProfId2',
383
+		//	's.ape'=>'ProfId3',
384
+		//	's.idprof4'=>'ProfId4',
385
+		//	's.code_compta'=>'CustomerAccountancyCode',
386
+		//	's.code_compta_fournisseur'=>'SupplierAccountancyCode',
387
+		//	'f.rowid'=>"InvoiceId",
388
+		//	'f.facnumber'=>"InvoiceRef",
389
+		//	'f.datec'=>"InvoiceDateCreation",
390
+		//	'f.datef'=>"DateInvoice",
391
+		//	'f.total'=>"TotalHT",
392
+		//	'f.total_ttc'=>"TotalTTC",
393
+		//	'f.tva'=>"TotalVAT",
394
+		//	'f.paye'=>"InvoicePaid",
395
+		//	'f.fk_statut'=>'InvoiceStatus',
396
+		//	'f.note'=>"InvoiceNote",
397
+		//	'fd.rowid'=>'LineId',
398
+		//	'fd.description'=>"LineDescription",
399
+		//	'fd.price'=>"LineUnitPrice",
400
+		//	'fd.tva_tx'=>"LineVATRate",
401
+		//	'fd.qty'=>"LineQty",
402
+		//	'fd.total_ht'=>"LineTotalHT",
403
+		//	'fd.total_tva'=>"LineTotalTVA",
404
+		//	'fd.total_ttc'=>"LineTotalTTC",
405
+		//	'fd.date_start'=>"DateStart",
406
+		//	'fd.date_end'=>"DateEnd",
407
+		//	'fd.fk_product'=>'ProductId',
408
+		//	'p.ref'=>'ProductRef'
409
+		//);
410
+		//$this->export_entities_array[$r]=array('s.rowid'=>"company",
411
+		//	's.nom'=>'company',
412
+		//	's.address'=>'company',
413
+		//	's.cp'=>'company',
414
+		//	's.ville'=>'company',
415
+		//	's.fk_pays'=>'company',
416
+		//	's.tel'=>'company',
417
+		//	's.siren'=>'company',
418
+		//	's.siret'=>'company',
419
+		//	's.ape'=>'company',
420
+		//	's.idprof4'=>'company',
421
+		//	's.code_compta'=>'company',
422
+		//	's.code_compta_fournisseur'=>'company',
423
+		//	'f.rowid'=>"invoice",
424
+		//	'f.facnumber'=>"invoice",
425
+		//	'f.datec'=>"invoice",
426
+		//	'f.datef'=>"invoice",
427
+		//	'f.total'=>"invoice",
428
+		//	'f.total_ttc'=>"invoice",
429
+		//	'f.tva'=>"invoice",
430
+		//	'f.paye'=>"invoice",
431
+		//	'f.fk_statut'=>'invoice',
432
+		//	'f.note'=>"invoice",
433
+		//	'fd.rowid'=>'invoice_line',
434
+		//	'fd.description'=>"invoice_line",
435
+		//	'fd.price'=>"invoice_line",
436
+		//	'fd.total_ht'=>"invoice_line",
437
+		//	'fd.total_tva'=>"invoice_line",
438
+		//	'fd.total_ttc'=>"invoice_line",
439
+		//	'fd.tva_tx'=>"invoice_line",
440
+		//	'fd.qty'=>"invoice_line",
441
+		//	'fd.date_start'=>"invoice_line",
442
+		//	'fd.date_end'=>"invoice_line",
443
+		//	'fd.fk_product'=>'product',
444
+		//	'p.ref'=>'product'
445
+		//);
446
+		//$this->export_sql_start[$r] = 'SELECT DISTINCT ';
447
+		//$this->export_sql_end[$r] = ' FROM (' . MAIN_DB_PREFIX . 'facture as f, '
448
+		//	. MAIN_DB_PREFIX . 'facturedet as fd, ' . MAIN_DB_PREFIX . 'societe as s)';
449
+		//$this->export_sql_end[$r] .= ' LEFT JOIN ' . MAIN_DB_PREFIX
450
+		//	. 'product as p on (fd.fk_product = p.rowid)';
451
+		//$this->export_sql_end[$r] .= ' WHERE f.fk_soc = s.rowid '
452
+		//	. 'AND f.rowid = fd.fk_facture';
453
+		//$r++;
454
+	}
455 455
 
456
-    /**
457
-     * Function called when module is enabled.
458
-     * The init function add constants, boxes, permissions and menus
459
-     * (defined in constructor) into Dolibarr database.
460
-     * It also creates data directories
461
-     *
462
-     * 	@param		string	$options	Options when enabling module ('', 'noboxes')
463
-     * 	@return		int					1 if OK, 0 if KO
464
-     */
465
-    public function init($options = '')
466
-    {
456
+	/**
457
+	 * Function called when module is enabled.
458
+	 * The init function add constants, boxes, permissions and menus
459
+	 * (defined in constructor) into Dolibarr database.
460
+	 * It also creates data directories
461
+	 *
462
+	 * 	@param		string	$options	Options when enabling module ('', 'noboxes')
463
+	 * 	@return		int					1 if OK, 0 if KO
464
+	 */
465
+	public function init($options = '')
466
+	{
467 467
 	  	global $conf, $db;
468 468
 		
469 469
 		
@@ -471,46 +471,46 @@  discard block
 block discarded – undo
471 471
 			exit("Attention, ce module rentre ne conflit avec le module Jalon/Milestones. Merci de le désactiver auparavant.");
472 472
 		}
473 473
       */
474
-	    $sql = array();
474
+		$sql = array();
475 475
 
476
-        $result = $this->loadTables();
477
-        dol_include_once('/core/class/extrafields.class.php');
476
+		$result = $this->loadTables();
477
+		dol_include_once('/core/class/extrafields.class.php');
478 478
 	
479
-        $extra = new ExtraFields($db); // propaldet, commandedet, facturedet
480
-        $TElementType = array('propaldet', 'commandedet', 'facturedet', 'supplier_proposaldet', 'commande_fournisseurdet', 'facture_fourn_det');
481
-        foreach($TElementType as $element_type) {
482
-            $extra->addExtraField('show_total_ht', 'Afficher le Total HT sur le sous-total', 'int', 0, 10, $element_type, 0, 0, '', unserialize('a:1:{s:7:"options";a:1:{s:0:"";N;}}'), 0, '', 0, 1);
483
-            $extra->addExtraField('show_reduc', 'Afficher la réduction sur le sous-total', 'int', 0, 10, $element_type, 0, 0, '', unserialize('a:1:{s:7:"options";a:1:{s:0:"";N;}}'), 0, '', 0, 1);
484
-        }
479
+		$extra = new ExtraFields($db); // propaldet, commandedet, facturedet
480
+		$TElementType = array('propaldet', 'commandedet', 'facturedet', 'supplier_proposaldet', 'commande_fournisseurdet', 'facture_fourn_det');
481
+		foreach($TElementType as $element_type) {
482
+			$extra->addExtraField('show_total_ht', 'Afficher le Total HT sur le sous-total', 'int', 0, 10, $element_type, 0, 0, '', unserialize('a:1:{s:7:"options";a:1:{s:0:"";N;}}'), 0, '', 0, 1);
483
+			$extra->addExtraField('show_reduc', 'Afficher la réduction sur le sous-total', 'int', 0, 10, $element_type, 0, 0, '', unserialize('a:1:{s:7:"options";a:1:{s:0:"";N;}}'), 0, '', 0, 1);
484
+		}
485 485
 		
486
-        return $this->_init($sql, $options);
487
-    }
486
+		return $this->_init($sql, $options);
487
+	}
488 488
 
489
-    /**
490
-     * Function called when module is disabled.
491
-     * Remove from database constants, boxes and permissions from Dolibarr database.
492
-     * Data directories are not deleted
493
-     *
494
-     * 	@param		string	$options	Options when enabling module ('', 'noboxes')
495
-     * 	@return		int					1 if OK, 0 if KO
496
-     */
497
-    public function remove($options = '')
498
-    {
499
-        $sql = array();
489
+	/**
490
+	 * Function called when module is disabled.
491
+	 * Remove from database constants, boxes and permissions from Dolibarr database.
492
+	 * Data directories are not deleted
493
+	 *
494
+	 * 	@param		string	$options	Options when enabling module ('', 'noboxes')
495
+	 * 	@return		int					1 if OK, 0 if KO
496
+	 */
497
+	public function remove($options = '')
498
+	{
499
+		$sql = array();
500 500
 
501
-        return $this->_remove($sql, $options);
502
-    }
501
+		return $this->_remove($sql, $options);
502
+	}
503 503
 
504
-    /**
505
-     * Create tables, keys and data required by module
506
-     * Files llx_table1.sql, llx_table1.key.sql llx_data.sql with create table, create keys
507
-     * and create data commands must be stored in directory /titre/sql/
508
-     * This function is called by this->init
509
-     *
510
-     * 	@return		int		<=0 if KO, >0 if OK
511
-     */
512
-    private function loadTables()
513
-    {
514
-        return $this->_load_tables('/subtotal/sql/');
515
-    }
504
+	/**
505
+	 * Create tables, keys and data required by module
506
+	 * Files llx_table1.sql, llx_table1.key.sql llx_data.sql with create table, create keys
507
+	 * and create data commands must be stored in directory /titre/sql/
508
+	 * This function is called by this->init
509
+	 *
510
+	 * 	@return		int		<=0 if KO, >0 if OK
511
+	 */
512
+	private function loadTables()
513
+	{
514
+		return $this->_load_tables('/subtotal/sql/');
515
+	}
516 516
 }
Please login to merge, or discard this patch.
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -23,7 +23,7 @@  discard block
 block discarded – undo
23 23
  * 	\ingroup	titre
24 24
  * 	\brief		Description and activation file for module titre
25 25
  */
26
-include_once DOL_DOCUMENT_ROOT . "/core/modules/DolibarrModules.class.php";
26
+include_once DOL_DOCUMENT_ROOT."/core/modules/DolibarrModules.class.php";
27 27
 
28 28
 /**
29 29
  * Description and activation class for module titre
@@ -66,7 +66,7 @@  discard block
 block discarded – undo
66 66
         $this->version = '3.1.10';
67 67
         // Key used in llx_const table to save module status enabled/disabled
68 68
         // (where MYMODULE is value of property name of module in uppercase)
69
-        $this->const_name = 'MAIN_MODULE_' . strtoupper($this->name);
69
+        $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
70 70
         // Where to store the module in setup page
71 71
         // (0=common,1=interface,2=others,3=very specific)
72 72
         $this->special = 2;
@@ -125,7 +125,7 @@  discard block
 block discarded – undo
125 125
         // List of modules id that must be enabled if this module is enabled
126 126
         $this->depends = array();
127 127
 
128
-		$this->conflictwith=array('modMilestone');
128
+		$this->conflictwith = array('modMilestone');
129 129
         // List of modules id to disable if this one is disabled
130 130
         $this->requiredby = array();
131 131
         // Minimum version of PHP required by module
@@ -190,20 +190,20 @@  discard block
 block discarded – undo
190 190
         // 'categories_x'		to add a tab in category view
191 191
         // (replace 'x' by type of category (0=product, 1=supplier, 2=customer, 3=member)
192 192
         // Dictionnaries
193
-        if (! isset($conf->subtotal->enabled)) {
194
-            $conf->subtotal=new stdClass();
193
+        if (!isset($conf->subtotal->enabled)) {
194
+            $conf->subtotal = new stdClass();
195 195
             $conf->subtotal->enabled = 0;
196 196
         }
197 197
         $this->dictionaries = array(
198 198
 			'langs'=>'subtotal@subtotal',
199
-            'tabname'=>array(MAIN_DB_PREFIX.'c_subtotal_free_text'),		// List of tables we want to see into dictonnary editor
200
-            'tablib'=>array($langs->trans('subtotalFreeLineDictionary')),													// Label of tables
201
-            'tabsql'=>array('SELECT f.rowid as rowid, f.label, f.content, f.entity, f.active FROM '.MAIN_DB_PREFIX.'c_subtotal_free_text as f WHERE f.entity='.$conf->entity),	// Request to select fields
202
-            'tabsqlsort'=>array('label ASC'),																					// Sort order
203
-            'tabfield'=>array('label,content'),							// List of fields (result of select to show dictionary)
204
-            'tabfieldvalue'=>array('label,content'),						// List of fields (list of fields to edit a record)
205
-            'tabfieldinsert'=>array('label,content,entity'),					// List of fields (list of fields for insert)
206
-            'tabrowid'=>array('rowid'),											// Name of columns with primary key (try to always name it 'rowid')
199
+            'tabname'=>array(MAIN_DB_PREFIX.'c_subtotal_free_text'), // List of tables we want to see into dictonnary editor
200
+            'tablib'=>array($langs->trans('subtotalFreeLineDictionary')), // Label of tables
201
+            'tabsql'=>array('SELECT f.rowid as rowid, f.label, f.content, f.entity, f.active FROM '.MAIN_DB_PREFIX.'c_subtotal_free_text as f WHERE f.entity='.$conf->entity), // Request to select fields
202
+            'tabsqlsort'=>array('label ASC'), // Sort order
203
+            'tabfield'=>array('label,content'), // List of fields (result of select to show dictionary)
204
+            'tabfieldvalue'=>array('label,content'), // List of fields (list of fields to edit a record)
205
+            'tabfieldinsert'=>array('label,content,entity'), // List of fields (list of fields for insert)
206
+            'tabrowid'=>array('rowid'), // Name of columns with primary key (try to always name it 'rowid')
207 207
             'tabcond'=>array($conf->subtotal->enabled)	
208 208
 		);
209 209
         /* Example:
@@ -478,7 +478,7 @@  discard block
 block discarded – undo
478 478
 	
479 479
         $extra = new ExtraFields($db); // propaldet, commandedet, facturedet
480 480
         $TElementType = array('propaldet', 'commandedet', 'facturedet', 'supplier_proposaldet', 'commande_fournisseurdet', 'facture_fourn_det');
481
-        foreach($TElementType as $element_type) {
481
+        foreach ($TElementType as $element_type) {
482 482
             $extra->addExtraField('show_total_ht', 'Afficher le Total HT sur le sous-total', 'int', 0, 10, $element_type, 0, 0, '', unserialize('a:1:{s:7:"options";a:1:{s:0:"";N;}}'), 0, '', 0, 1);
483 483
             $extra->addExtraField('show_reduc', 'Afficher la réduction sur le sous-total', 'int', 0, 10, $element_type, 0, 0, '', unserialize('a:1:{s:7:"options";a:1:{s:0:"";N;}}'), 0, '', 0, 1);
484 484
         }
Please login to merge, or discard this patch.
class/actions_subtotal.class.php 3 patches
Indentation   +289 added lines, -289 removed lines patch added patch discarded remove patch
@@ -101,11 +101,11 @@  discard block
 block discarded – undo
101 101
 	 * @return     void
102 102
 	 */
103 103
     
104
-    var $module_number = 104777;
104
+	var $module_number = 104777;
105 105
     
106
-    function formObjectOptions($parameters, &$object, &$action, $hookmanager) 
107
-    {
108
-      	global $langs,$db,$user, $conf;
106
+	function formObjectOptions($parameters, &$object, &$action, $hookmanager) 
107
+	{
108
+	  	global $langs,$db,$user, $conf;
109 109
 		
110 110
 		$langs->load('subtotal@subtotal');
111 111
 		
@@ -120,10 +120,10 @@  discard block
 block discarded – undo
120 120
 				$createRight = $user->rights->facture->creer;
121 121
 			} elseif($object->element == 'order_supplier' )
122 122
 			{
123
-			    $createRight = $user->rights->fournisseur->commande->creer;
123
+				$createRight = $user->rights->fournisseur->commande->creer;
124 124
 			} elseif($object->element == 'invoice_supplier' )
125 125
 			{
126
-			    $createRight = $user->rights->fournisseur->facture->creer;
126
+				$createRight = $user->rights->fournisseur->facture->creer;
127 127
 			}
128 128
 			
129 129
 			if ($object->statut == 0  && $createRight) {
@@ -173,7 +173,7 @@  discard block
 block discarded – undo
173 173
 					
174 174
 					if (!empty($conf->global->SUBTOTAL_AUTO_ADD_SUBTOTAL_ON_ADDING_NEW_TITLE) && $qty < 10) TSubtotal::addSubtotalMissing($object, $qty);
175 175
 					
176
-	    			TSubtotal::addSubTotalLine($object, $title, $qty);
176
+					TSubtotal::addSubTotalLine($object, $title, $qty);
177 177
 				}
178 178
 				else if($action==='ask_deleteallline') {
179 179
 						$form=new Form($db);
@@ -395,36 +395,36 @@  discard block
 block discarded – undo
395 395
 		$TContext = explode(':',$parameters['context']);
396 396
 		if (
397 397
 				in_array('invoicecard',$TContext)
398
-		        || in_array('invoicesuppliercard',$TContext)
398
+				|| in_array('invoicesuppliercard',$TContext)
399 399
 				|| in_array('propalcard',$TContext)
400 400
 				|| in_array('ordercard',$TContext)
401
-		        || in_array('ordersuppliercard',$TContext)
401
+				|| in_array('ordersuppliercard',$TContext)
402 402
 				|| in_array('invoicereccard',$TContext)
403 403
 			)
404
-	        {	
405
-	            $hideInnerLines	= isset( $_SESSION['subtotal_hideInnerLines_'.$parameters['modulepart']][$object->id] ) ?  $_SESSION['subtotal_hideInnerLines_'.$parameters['modulepart']][$object->id] : 0;
406
-	            $hidedetails	= isset( $_SESSION['subtotal_hidedetails_'.$parameters['modulepart']][$object->id] ) ?  $_SESSION['subtotal_hidedetails_'.$parameters['modulepart']][$object->id] : 0;
404
+			{	
405
+				$hideInnerLines	= isset( $_SESSION['subtotal_hideInnerLines_'.$parameters['modulepart']][$object->id] ) ?  $_SESSION['subtotal_hideInnerLines_'.$parameters['modulepart']][$object->id] : 0;
406
+				$hidedetails	= isset( $_SESSION['subtotal_hidedetails_'.$parameters['modulepart']][$object->id] ) ?  $_SESSION['subtotal_hidedetails_'.$parameters['modulepart']][$object->id] : 0;
407 407
 				$hidepricesDefaultConf = !empty($conf->global->SUBTOTAL_HIDE_PRICE_DEFAULT_CHECKED)?$conf->global->SUBTOTAL_HIDE_PRICE_DEFAULT_CHECKED:0;
408 408
 				$hideprices= isset( $_SESSION['subtotal_hideprices_'.$parameters['modulepart']][$object->id] ) ?  $_SESSION['subtotal_hideprices_'.$parameters['modulepart']][$object->id] : $hidepricesDefaultConf;
409 409
 				
410 410
 				$var=false;
411
-		     	$out.= '<tr '.$bc[$var].'>
411
+			 	$out.= '<tr '.$bc[$var].'>
412 412
 		     			<td colspan="4" align="right">
413 413
 		     				<label for="hideInnerLines">'.$langs->trans('HideInnerLines').'</label>
414 414
 		     				<input type="checkbox" onclick="if($(this).is(\':checked\')) { $(\'#hidedetails\').prop(\'checked\', \'checked\')  }" id="hideInnerLines" name="hideInnerLines" value="1" '.(( $hideInnerLines ) ? 'checked="checked"' : '' ).' />
415 415
 		     			</td>
416 416
 		     			</tr>';
417 417
 				
418
-		     	$var=!$var;
419
-		     	$out.= '<tr '.$bc[$var].'>
418
+			 	$var=!$var;
419
+			 	$out.= '<tr '.$bc[$var].'>
420 420
 		     			<td colspan="4" align="right">
421 421
 		     				<label for="hidedetails">'.$langs->trans('SubTotalhidedetails').'</label>
422 422
 		     				<input type="checkbox" id="hidedetails" name="hidedetails" value="1" '.(( $hidedetails ) ? 'checked="checked"' : '' ).' />
423 423
 		     			</td>
424 424
 		     			</tr>';
425 425
 		     	
426
-		     	$var=!$var;
427
-		     	$out.= '<tr '.$bc[$var].'>
426
+			 	$var=!$var;
427
+			 	$out.= '<tr '.$bc[$var].'>
428 428
 		     			<td colspan="4" align="right">
429 429
 		     				<label for="hideprices">'.$langs->trans('SubTotalhidePrice').'</label>
430 430
 		     				<input type="checkbox" id="hideprices" name="hideprices" value="1" '.(( $hideprices ) ? 'checked="checked"' : '' ).' />
@@ -436,9 +436,9 @@  discard block
 block discarded – undo
436 436
 				if ( 
437 437
 					(in_array('propalcard',$TContext) && !empty($conf->global->SUBTOTAL_PROPAL_ADD_RECAP))
438 438
 					|| (in_array('ordercard',$TContext) && !empty($conf->global->SUBTOTAL_COMMANDE_ADD_RECAP))
439
-				    || (in_array('ordersuppliercard',$TContext) && !empty($conf->global->SUBTOTAL_COMMANDE_ADD_RECAP))
439
+					|| (in_array('ordersuppliercard',$TContext) && !empty($conf->global->SUBTOTAL_COMMANDE_ADD_RECAP))
440 440
 					|| (in_array('invoicecard',$TContext) && !empty($conf->global->SUBTOTAL_INVOICE_ADD_RECAP))
441
-				    || (in_array('invoicesuppliercard',$TContext) && !empty($conf->global->SUBTOTAL_INVOICE_ADD_RECAP))
441
+					|| (in_array('invoicesuppliercard',$TContext) && !empty($conf->global->SUBTOTAL_INVOICE_ADD_RECAP))
442 442
 					|| (in_array('invoicereccard',$TContext)  && !empty($conf->global->SUBTOTAL_INVOICE_ADD_RECAP ))
443 443
 				)
444 444
 				{
@@ -457,19 +457,19 @@  discard block
 block discarded – undo
457 457
 			}
458 458
 			
459 459
 		
460
-        return 1;
460
+		return 1;
461 461
 	} 
462 462
 	 
463
-    function formEditProductOptions($parameters, &$object, &$action, $hookmanager) 
464
-    {
463
+	function formEditProductOptions($parameters, &$object, &$action, $hookmanager) 
464
+	{
465 465
 		
466
-    	if (in_array('invoicecard',explode(':',$parameters['context'])))
467
-        {
466
+		if (in_array('invoicecard',explode(':',$parameters['context'])))
467
+		{
468 468
         	
469
-        }
469
+		}
470 470
 		
471
-        return 0;
472
-    }
471
+		return 0;
472
+	}
473 473
 	
474 474
 	function ODTSubstitutionLine(&$parameters, &$object, $action, $hookmanager) {
475 475
 		global $conf;
@@ -518,11 +518,11 @@  discard block
 block discarded – undo
518 518
 	
519 519
 		if (
520 520
 				in_array('invoicecard',explode(':',$parameters['context']))
521
-		        || in_array('invoicesuppliercard',explode(':',$parameters['context']))
521
+				|| in_array('invoicesuppliercard',explode(':',$parameters['context']))
522 522
 				|| in_array('propalcard',explode(':',$parameters['context']))
523
-		        || in_array('supplier_proposalcard',explode(':',$parameters['context']))
523
+				|| in_array('supplier_proposalcard',explode(':',$parameters['context']))
524 524
 				|| in_array('ordercard',explode(':',$parameters['context']))
525
-		        || in_array('ordersuppliercard',explode(':',$parameters['context']))
525
+				|| in_array('ordersuppliercard',explode(':',$parameters['context']))
526 526
 				|| in_array('invoicereccard',explode(':',$parameters['context']))
527 527
 		) {
528 528
 			
@@ -601,20 +601,20 @@  discard block
 block discarded – undo
601 601
 				in_array('invoicecard',explode(':',$parameters['context']))
602 602
 				|| in_array('propalcard',explode(':',$parameters['context']))
603 603
 				|| in_array('ordercard',explode(':',$parameters['context']))
604
-			    || in_array('ordersuppliercard',explode(':',$parameters['context']))
605
-			    || in_array('invoicesuppliercard',explode(':',$parameters['context']))
606
-			    || in_array('supplier_proposalcard',explode(':',$parameters['context']))
604
+				|| in_array('ordersuppliercard',explode(':',$parameters['context']))
605
+				|| in_array('invoicesuppliercard',explode(':',$parameters['context']))
606
+				|| in_array('supplier_proposalcard',explode(':',$parameters['context']))
607 607
 			)
608
-	        {								
608
+			{								
609 609
 				if(in_array('invoicecard',explode(':',$parameters['context']))) {
610 610
 					$sessname = 'subtotal_hideInnerLines_facture';	
611 611
 					$sessname2 = 'subtotal_hidedetails_facture';
612 612
 					$sessname3 = 'subtotal_hideprices_facture';
613 613
 				}
614 614
 				elseif(in_array('invoicesuppliercard',explode(':',$parameters['context']))) {
615
-				    $sessname = 'subtotal_hideInnerLines_facture_fournisseur';
616
-				    $sessname2 = 'subtotal_hidedetails_facture_fournisseur';
617
-				    $sessname3 = 'subtotal_hideprices_facture_fournisseur';
615
+					$sessname = 'subtotal_hideInnerLines_facture_fournisseur';
616
+					$sessname2 = 'subtotal_hidedetails_facture_fournisseur';
617
+					$sessname3 = 'subtotal_hideprices_facture_fournisseur';
618 618
 				}
619 619
 				elseif(in_array('propalcard',explode(':',$parameters['context']))) {
620 620
 					$sessname = 'subtotal_hideInnerLines_propal';
@@ -622,9 +622,9 @@  discard block
 block discarded – undo
622 622
 					$sessname3 = 'subtotal_hideprices_propal';
623 623
 				}
624 624
 				elseif(in_array('supplier_proposalcard',explode(':',$parameters['context']))) {
625
-				    $sessname = 'subtotal_hideInnerLines_supplier_proposal';
626
-				    $sessname2 = 'subtotal_hidedetails_supplier_proposal';
627
-				    $sessname3 = 'subtotal_hideprices_supplier_proposal';
625
+					$sessname = 'subtotal_hideInnerLines_supplier_proposal';
626
+					$sessname2 = 'subtotal_hidedetails_supplier_proposal';
627
+					$sessname3 = 'subtotal_hideprices_supplier_proposal';
628 628
 				}
629 629
 				elseif(in_array('ordercard',explode(':',$parameters['context']))) {
630 630
 					$sessname = 'subtotal_hideInnerLines_commande';
@@ -632,9 +632,9 @@  discard block
 block discarded – undo
632 632
 					$sessname3 = 'subtotal_hideprices_commande';
633 633
 				}
634 634
 				elseif(in_array('ordersuppliercard',explode(':',$parameters['context']))) {
635
-				    $sessname = 'subtotal_hideInnerLines_commande_fournisseur';
636
-				    $sessname2 = 'subtotal_hidedetails_commande_fournisseur';
637
-				    $sessname3 = 'subtotal_hideprices_commande_fournisseur';
635
+					$sessname = 'subtotal_hideInnerLines_commande_fournisseur';
636
+					$sessname2 = 'subtotal_hidedetails_commande_fournisseur';
637
+					$sessname3 = 'subtotal_hideprices_commande_fournisseur';
638 638
 				}
639 639
 				else {
640 640
 					$sessname = 'subtotal_hideInnerLines_unknown';
@@ -659,17 +659,17 @@  discard block
 block discarded – undo
659 659
 				foreach($object->lines as &$line) {
660 660
 					if ($line->product_type == 9 && $line->special_code == $this->module_number) {
661 661
 					    
662
-                        if($line->qty>=90) {
663
-                            $line->modsubtotal_total = 1;
664
-                        }
665
-                        else{
666
-                            $line->modsubtotal_title = 1;
667
-                        }
662
+						if($line->qty>=90) {
663
+							$line->modsubtotal_total = 1;
664
+						}
665
+						else{
666
+							$line->modsubtotal_title = 1;
667
+						}
668 668
                         
669 669
 						$line->total_ht = $this->getTotalLineFromObject($object, $line, '');
670 670
 					}
671
-	        	}
672
-	        }
671
+				}
672
+			}
673 673
 			
674 674
 		}
675 675
 		else if($action === 'confirm_delete_all_lines' && GETPOST('confirm')=='yes') {
@@ -686,7 +686,7 @@  discard block
 block discarded – undo
686 686
 				 */
687 687
 				else if($object->element=='invoice_supplier')
688 688
 				{
689
-				    $object->deleteline($idLine);
689
+					$object->deleteline($idLine);
690 690
 				}
691 691
 				/**
692 692
 				 * @var $object Propal
@@ -709,7 +709,7 @@  discard block
 block discarded – undo
709 709
 				 */
710 710
 				else if($object->element=='order_supplier')
711 711
 				{
712
-				    $object->deleteline($idLine);
712
+					$object->deleteline($idLine);
713 713
 				}
714 714
 				/**
715 715
 				 * @var $object Facturerec
@@ -780,7 +780,7 @@  discard block
 block discarded – undo
780 780
 		
781 781
 		foreach($object->lines as $l) {
782 782
 		
783
-		    $lid = (!empty($l->rowid) ? $l->rowid : $l->id);
783
+			$lid = (!empty($l->rowid) ? $l->rowid : $l->id);
784 784
 			if($lid == $lineid) {
785 785
 
786 786
 				$found = true;
@@ -789,7 +789,7 @@  discard block
 block discarded – undo
789 789
 			
790 790
 			if($found) {
791 791
 				
792
-			    $Tab[] = (!empty($l->rowid) ? $l->rowid : $l->id);
792
+				$Tab[] = (!empty($l->rowid) ? $l->rowid : $l->id);
793 793
 				
794 794
 				if($l->special_code==$this->module_number && (($l->qty==99 && $qty_line==1) || ($l->qty==98 && $qty_line==2))   ) {
795 795
 					break; // end of story
@@ -916,7 +916,7 @@  discard block
 block discarded – undo
916 916
 		if(method_exists('Closure','bind')) {
917 917
 			$pageBreakOriginalValue = $pdf->AcceptPageBreak();
918 918
 			$sweetsThief = function ($pdf) {
919
-		    		return $pdf->bMargin ;
919
+					return $pdf->bMargin ;
920 920
 			};
921 921
 			$sweetsThief = Closure::bind($sweetsThief, null, $pdf);
922 922
 	
@@ -984,7 +984,7 @@  discard block
 block discarded – undo
984 984
 					list($total, $total_tva, $total_ttc, $TTotal_tva) = $this->getTotalLineFromObject($object, $line, '', 1);
985 985
 					$total_to_print = price($total);
986 986
 					
987
-                    $line->total_ht = $total;
987
+					$line->total_ht = $total;
988 988
 					$line->total = $total;
989 989
 					$line->total_tva = $total_tva;
990 990
 					$line->total_ttc = $total_ttc;
@@ -1133,7 +1133,7 @@  discard block
 block discarded – undo
1133 1133
 	}
1134 1134
 	
1135 1135
 	function pdf_getlinetotalexcltax($parameters=array(), &$object, &$action='') {
1136
-	    global $conf, $hideprices, $hookmanager;
1136
+		global $conf, $hideprices, $hookmanager;
1137 1137
 		
1138 1138
 		if(is_array($parameters)) $i = & $parameters['i'];
1139 1139
 		else $i = (int)$parameters;
@@ -1172,7 +1172,7 @@  discard block
 block discarded – undo
1172 1172
 			}
1173 1173
 		}
1174 1174
 		if ((int)GETPOST('hideInnerLines') && !empty($conf->global->SUBTOTAL_REPLACE_WITH_VAT_IF_HIDE_INNERLINES)){
1175
-		    $this->resprints = price($object->lines[$i]->total_ht);
1175
+			$this->resprints = price($object->lines[$i]->total_ht);
1176 1176
 		}
1177 1177
 		
1178 1178
 		// Si la gestion C/NC est active et que je suis sur un ligne dont l'extrafield est coché
@@ -1301,7 +1301,7 @@  discard block
 block discarded – undo
1301 1301
 	}
1302 1302
 	
1303 1303
 	function pdf_getlineupexcltax($parameters=array(), &$object, &$action='') {
1304
-	    global $conf,$hideprices,$hookmanager;
1304
+		global $conf,$hideprices,$hookmanager;
1305 1305
 
1306 1306
 		if(is_array($parameters)) $i = & $parameters['i'];
1307 1307
 		else $i = (int)$parameters;
@@ -1309,18 +1309,18 @@  discard block
 block discarded – undo
1309 1309
 		if($this->isModSubtotalLine($parameters,$object) ) {
1310 1310
 			$this->resprints = ' ';
1311 1311
 
1312
-            $line = $object->lines[$i];
1312
+			$line = $object->lines[$i];
1313 1313
 
1314
-            // On récupère les montants du bloc pour les afficher dans la ligne de sous-total
1315
-            if(TSubtotal::isSubtotal($line)) {
1316
-                $parentTitle = TSubtotal::getParentTitleOfLine($object, $i);
1314
+			// On récupère les montants du bloc pour les afficher dans la ligne de sous-total
1315
+			if(TSubtotal::isSubtotal($line)) {
1316
+				$parentTitle = TSubtotal::getParentTitleOfLine($object, $i);
1317 1317
 
1318
-                if(is_object($parentTitle) && empty($parentTitle->array_options)) $parentTitle->fetch_optionals();
1319
-                if(! empty($parentTitle->array_options['options_show_total_ht'])) {
1320
-                    $TTotal = TSubtotal::getTotalBlockFromTitle($object, $parentTitle);
1321
-                    $this->resprints = price($TTotal['total_subprice']);
1322
-                }
1323
-            }
1318
+				if(is_object($parentTitle) && empty($parentTitle->array_options)) $parentTitle->fetch_optionals();
1319
+				if(! empty($parentTitle->array_options['options_show_total_ht'])) {
1320
+					$TTotal = TSubtotal::getTotalBlockFromTitle($object, $parentTitle);
1321
+					$this->resprints = price($TTotal['total_subprice']);
1322
+				}
1323
+			}
1324 1324
 		
1325 1325
 			if((float)DOL_VERSION<=3.6) {
1326 1326
 				return '';
@@ -1336,58 +1336,58 @@  discard block
 block discarded – undo
1336 1336
 		(!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i]))
1337 1337
 		)
1338 1338
 		{
1339
-		    // alors je dois vérifier si la méthode fait partie de la conf qui l'exclue
1340
-		    if (!in_array(__FUNCTION__, explode(',', $conf->global->SUBTOTAL_TFIELD_TO_KEEP_WITH_NC)))
1341
-		    {
1342
-		        $this->resprints = ' ';
1339
+			// alors je dois vérifier si la méthode fait partie de la conf qui l'exclue
1340
+			if (!in_array(__FUNCTION__, explode(',', $conf->global->SUBTOTAL_TFIELD_TO_KEEP_WITH_NC)))
1341
+			{
1342
+				$this->resprints = ' ';
1343 1343
 		        
1344
-		        // currentcontext à modifier celon l'appel
1345
-		        $params = array('parameters' => $parameters, 'currentmethod' => 'pdf_getlineupexcltax', 'currentcontext'=>'subtotal_hide_nc', 'i' => $i);
1346
-		        return $this->callHook($object, $hookmanager, $action, $params); // return 1 (qui est la valeur par défaut) OU -1 si erreur OU overrideReturn (contient -1 ou 0 ou 1)
1344
+				// currentcontext à modifier celon l'appel
1345
+				$params = array('parameters' => $parameters, 'currentmethod' => 'pdf_getlineupexcltax', 'currentcontext'=>'subtotal_hide_nc', 'i' => $i);
1346
+				return $this->callHook($object, $hookmanager, $action, $params); // return 1 (qui est la valeur par défaut) OU -1 si erreur OU overrideReturn (contient -1 ou 0 ou 1)
1347 1347
 		        
1348
-		    }
1348
+			}
1349 1349
 		}
1350 1350
 		// Cache le prix pour les lignes standards dolibarr qui sont dans un ensemble
1351 1351
 		else if (!empty($hideprices))
1352 1352
 		{
1353 1353
 		    
1354
-		    // Check if a title exist for this line && if the title have subtotal
1355
-		    $lineTitle = TSubtotal::getParentTitleOfLine($object, $i);
1356
-		    if(TSubtotal::getParentTitleOfLine($object, $i) && TSubtotal::titleHasTotalLine($object, $lineTitle, true))
1357
-		    {
1354
+			// Check if a title exist for this line && if the title have subtotal
1355
+			$lineTitle = TSubtotal::getParentTitleOfLine($object, $i);
1356
+			if(TSubtotal::getParentTitleOfLine($object, $i) && TSubtotal::titleHasTotalLine($object, $lineTitle, true))
1357
+			{
1358 1358
 		        
1359
-		        $this->resprints = ' ';
1359
+				$this->resprints = ' ';
1360 1360
 		        
1361
-		        // currentcontext à modifier celon l'appel
1362
-		        $params = array('parameters' => $parameters, 'currentmethod' => 'pdf_getlineupexcltax', 'currentcontext'=>'subtotal_hideprices', 'i' => $i);
1363
-		        return $this->callHook($object, $hookmanager, $action, $params); // return 1 (qui est la valeur par défaut) OU -1 si erreur OU overrideReturn (contient -1 ou 0 ou 1)
1364
-		    }
1361
+				// currentcontext à modifier celon l'appel
1362
+				$params = array('parameters' => $parameters, 'currentmethod' => 'pdf_getlineupexcltax', 'currentcontext'=>'subtotal_hideprices', 'i' => $i);
1363
+				return $this->callHook($object, $hookmanager, $action, $params); // return 1 (qui est la valeur par défaut) OU -1 si erreur OU overrideReturn (contient -1 ou 0 ou 1)
1364
+			}
1365 1365
 		}
1366 1366
 		
1367 1367
 		return 0;
1368 1368
 	}
1369 1369
 	
1370 1370
 	function pdf_getlineremisepercent($parameters=array(), &$object, &$action='') {
1371
-	    global $conf,$hideprices,$hookmanager;
1371
+		global $conf,$hideprices,$hookmanager;
1372 1372
 
1373
-        if(is_array($parameters)) $i = & $parameters['i'];
1374
-        else $i = (int) $parameters;
1373
+		if(is_array($parameters)) $i = & $parameters['i'];
1374
+		else $i = (int) $parameters;
1375 1375
 
1376 1376
 		if($this->isModSubtotalLine($parameters,$object) ) {
1377 1377
 			$this->resprints = ' ';
1378 1378
 
1379
-            $line = $object->lines[$i];
1379
+			$line = $object->lines[$i];
1380 1380
 
1381
-            // Affichage de la remise 
1382
-            if(TSubtotal::isSubtotal($line)) {
1383
-                $parentTitle = TSubtotal::getParentTitleOfLine($object, $i);
1381
+			// Affichage de la remise 
1382
+			if(TSubtotal::isSubtotal($line)) {
1383
+				$parentTitle = TSubtotal::getParentTitleOfLine($object, $i);
1384 1384
 
1385
-                if(empty($parentTitle->array_options)) $parentTitle->fetch_optionals();
1386
-                if(! empty($parentTitle->array_options['options_show_reduc'])) {
1387
-                    $TTotal = TSubtotal::getTotalBlockFromTitle($object, $parentTitle);
1388
-                    $this->resprints = price((1-$TTotal['total_ht'] / $TTotal['total_subprice'])*100, 0, '', 1, 2, 2).'%';
1389
-                }
1390
-            }
1385
+				if(empty($parentTitle->array_options)) $parentTitle->fetch_optionals();
1386
+				if(! empty($parentTitle->array_options['options_show_reduc'])) {
1387
+					$TTotal = TSubtotal::getTotalBlockFromTitle($object, $parentTitle);
1388
+					$this->resprints = price((1-$TTotal['total_ht'] / $TTotal['total_subprice'])*100, 0, '', 1, 2, 2).'%';
1389
+				}
1390
+			}
1391 1391
 		
1392 1392
 			if((float)DOL_VERSION<=3.6) {
1393 1393
 				return '';
@@ -1397,15 +1397,15 @@  discard block
 block discarded – undo
1397 1397
 			}
1398 1398
 		}
1399 1399
 		elseif (!empty($hideprices)
1400
-		        || (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])) )
1401
-		        )
1402
-		    {
1403
-		        if (!empty($hideprices) || !in_array(__FUNCTION__, explode(',', $conf->global->SUBTOTAL_TFIELD_TO_KEEP_WITH_NC)))
1404
-		        {
1405
-		            $this->resprints = ' ';
1406
-		            return 1;
1407
-		        }
1408
-		    }
1400
+				|| (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])) )
1401
+				)
1402
+			{
1403
+				if (!empty($hideprices) || !in_array(__FUNCTION__, explode(',', $conf->global->SUBTOTAL_TFIELD_TO_KEEP_WITH_NC)))
1404
+				{
1405
+					$this->resprints = ' ';
1406
+					return 1;
1407
+				}
1408
+			}
1409 1409
 		
1410 1410
 		return 0;
1411 1411
 	}
@@ -1441,7 +1441,7 @@  discard block
 block discarded – undo
1441 1441
 	}
1442 1442
 	
1443 1443
 	function pdf_getlinevatrate($parameters=array(), &$object, &$action='') {
1444
-	    global $conf,$hideprices,$hookmanager;
1444
+		global $conf,$hideprices,$hookmanager;
1445 1445
 	    
1446 1446
 		if($this->isModSubtotalLine($parameters,$object) ){
1447 1447
 			$this->resprints = ' ';
@@ -1466,31 +1466,31 @@  discard block
 block discarded – undo
1466 1466
 		(!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i]))
1467 1467
 		)
1468 1468
 		{
1469
-		    // alors je dois vérifier si la méthode fait partie de la conf qui l'exclue
1470
-		    if (!in_array(__FUNCTION__, explode(',', $conf->global->SUBTOTAL_TFIELD_TO_KEEP_WITH_NC)))
1471
-		    {
1472
-		        $this->resprints = ' ';
1469
+			// alors je dois vérifier si la méthode fait partie de la conf qui l'exclue
1470
+			if (!in_array(__FUNCTION__, explode(',', $conf->global->SUBTOTAL_TFIELD_TO_KEEP_WITH_NC)))
1471
+			{
1472
+				$this->resprints = ' ';
1473 1473
 		        
1474
-		        // currentcontext à modifier celon l'appel
1475
-		        $params = array('parameters' => $parameters, 'currentmethod' => 'pdf_getlinevatrate', 'currentcontext'=>'subtotal_hide_nc', 'i' => $i);
1476
-		        return $this->callHook($object, $hookmanager, $action, $params); // return 1 (qui est la valeur par défaut) OU -1 si erreur OU overrideReturn (contient -1 ou 0 ou 1)
1477
-		    }
1474
+				// currentcontext à modifier celon l'appel
1475
+				$params = array('parameters' => $parameters, 'currentmethod' => 'pdf_getlinevatrate', 'currentcontext'=>'subtotal_hide_nc', 'i' => $i);
1476
+				return $this->callHook($object, $hookmanager, $action, $params); // return 1 (qui est la valeur par défaut) OU -1 si erreur OU overrideReturn (contient -1 ou 0 ou 1)
1477
+			}
1478 1478
 		}
1479 1479
 		// Cache le prix pour les lignes standards dolibarr qui sont dans un ensemble
1480 1480
 		else if (!empty($hideprices))
1481 1481
 		{
1482 1482
 		    
1483
-		    // Check if a title exist for this line && if the title have subtotal
1484
-		    $lineTitle = TSubtotal::getParentTitleOfLine($object, $i);
1485
-		    if(TSubtotal::getParentTitleOfLine($object, $i) && TSubtotal::titleHasTotalLine($object, $lineTitle, true))
1486
-		    {
1483
+			// Check if a title exist for this line && if the title have subtotal
1484
+			$lineTitle = TSubtotal::getParentTitleOfLine($object, $i);
1485
+			if(TSubtotal::getParentTitleOfLine($object, $i) && TSubtotal::titleHasTotalLine($object, $lineTitle, true))
1486
+			{
1487 1487
 		        
1488
-		        $this->resprints = ' ';
1488
+				$this->resprints = ' ';
1489 1489
 		        
1490
-		        // currentcontext à modifier celon l'appel
1491
-		        $params = array('parameters' => $parameters, 'currentmethod' => 'pdf_getlinevatrate', 'currentcontext'=>'subtotal_hideprices', 'i' => $i);
1492
-		        return $this->callHook($object, $hookmanager, $action, $params); // return 1 (qui est la valeur par défaut) OU -1 si erreur OU overrideReturn (contient -1 ou 0 ou 1)
1493
-		    }
1490
+				// currentcontext à modifier celon l'appel
1491
+				$params = array('parameters' => $parameters, 'currentmethod' => 'pdf_getlinevatrate', 'currentcontext'=>'subtotal_hideprices', 'i' => $i);
1492
+				return $this->callHook($object, $hookmanager, $action, $params); // return 1 (qui est la valeur par défaut) OU -1 si erreur OU overrideReturn (contient -1 ou 0 ou 1)
1493
+			}
1494 1494
 		}
1495 1495
 		
1496 1496
 		return 0;
@@ -1614,25 +1614,25 @@  discard block
 block discarded – undo
1614 1614
 		
1615 1615
 		$this->add_numerotation($object);	
1616 1616
 		
1617
-        foreach($object->lines as $k => &$l) {
1618
-            if(TSubtotal::isSubtotal($l)) {
1619
-                $parentTitle = TSubtotal::getParentTitleOfLine($object, $k);
1620
-                if(is_object($parentTitle) && empty($parentTitle->array_options)) $parentTitle->fetch_optionals();
1621
-                if(! empty($parentTitle->id) && ! empty($parentTitle->array_options['options_show_total_ht'])) {
1622
-                    $l->remise_percent = 100;    // Affichage de la réduction sur la ligne de sous-total
1623
-                }
1624
-            }
1625
-        }
1617
+		foreach($object->lines as $k => &$l) {
1618
+			if(TSubtotal::isSubtotal($l)) {
1619
+				$parentTitle = TSubtotal::getParentTitleOfLine($object, $k);
1620
+				if(is_object($parentTitle) && empty($parentTitle->array_options)) $parentTitle->fetch_optionals();
1621
+				if(! empty($parentTitle->id) && ! empty($parentTitle->array_options['options_show_total_ht'])) {
1622
+					$l->remise_percent = 100;    // Affichage de la réduction sur la ligne de sous-total
1623
+				}
1624
+			}
1625
+		}
1626 1626
 
1627 1627
 		$hideInnerLines = (int)GETPOST('hideInnerLines');
1628 1628
 		$hidedetails = (int)GETPOST('hidedetails');
1629 1629
 
1630 1630
 		if ($hideInnerLines) { // si c une ligne de titre
1631
-	    	$fk_parent_line=0;
1631
+			$fk_parent_line=0;
1632 1632
 			$TLines =array();
1633 1633
 		
1634 1634
 			$original_count=count($object->lines);
1635
-		    $TTvas = array(); // tableau de tva
1635
+			$TTvas = array(); // tableau de tva
1636 1636
 		    
1637 1637
 			foreach($object->lines as $k=>&$line) 
1638 1638
 			{
@@ -1671,48 +1671,48 @@  discard block
 block discarded – undo
1671 1671
 			
1672 1672
 				if ($hideInnerLines)
1673 1673
 				{
1674
-				    if(!empty($conf->global->SUBTOTAL_REPLACE_WITH_VAT_IF_HIDE_INNERLINES))
1675
-				    {
1676
-				        if($line->tva_tx != '0.000' && $line->product_type!=9){
1674
+					if(!empty($conf->global->SUBTOTAL_REPLACE_WITH_VAT_IF_HIDE_INNERLINES))
1675
+					{
1676
+						if($line->tva_tx != '0.000' && $line->product_type!=9){
1677 1677
 				            
1678
-    				        // on remplit le tableau de tva pour substituer les lignes cachées
1679
-    				        $TTvas[$line->tva_tx]['total_tva'] += $line->total_tva;
1680
-    				        $TTvas[$line->tva_tx]['total_ht'] += $line->total_ht;
1681
-    				        $TTvas[$line->tva_tx]['total_ttc'] += $line->total_ttc; 
1682
-    				    }
1683
-    					if($line->product_type==9 && $line->rowid>0)
1684
-    					{
1685
-    					    //Cas où je doit cacher les produits et afficher uniquement les sous-totaux avec les titres
1686
-    					    // génère des lignes d'affichage des montants HT soumis à tva
1687
-    					    $nbtva = count($TTvas);
1688
-    					    if(!empty($nbtva)){
1689
-    					        foreach ($TTvas as $tx =>$val){
1690
-    					            $l = clone $line;
1691
-    					            $l->product_type = 1;
1692
-    					            $l->special_code = '';
1693
-    					            $l->qty = 1;
1694
-    					            $l->desc = $langs->trans('AmountBeforeTaxesSubjectToVATX%', $langs->transnoentitiesnoconv('VAT'), price($tx));
1695
-    					            $l->tva_tx = $tx;
1696
-    					            $l->total_ht = $val['total_ht'];
1697
-    					            $l->total_tva = $val['total_tva'];
1698
-    					            $l->total = $line->total_ht;
1699
-    					            $l->total_ttc = $val['total_ttc'];
1700
-    					            $TLines[] = $l;
1701
-    					            array_shift($TTvas);
1702
-    					       }
1703
-    					    }
1678
+							// on remplit le tableau de tva pour substituer les lignes cachées
1679
+							$TTvas[$line->tva_tx]['total_tva'] += $line->total_tva;
1680
+							$TTvas[$line->tva_tx]['total_ht'] += $line->total_ht;
1681
+							$TTvas[$line->tva_tx]['total_ttc'] += $line->total_ttc; 
1682
+						}
1683
+						if($line->product_type==9 && $line->rowid>0)
1684
+						{
1685
+							//Cas où je doit cacher les produits et afficher uniquement les sous-totaux avec les titres
1686
+							// génère des lignes d'affichage des montants HT soumis à tva
1687
+							$nbtva = count($TTvas);
1688
+							if(!empty($nbtva)){
1689
+								foreach ($TTvas as $tx =>$val){
1690
+									$l = clone $line;
1691
+									$l->product_type = 1;
1692
+									$l->special_code = '';
1693
+									$l->qty = 1;
1694
+									$l->desc = $langs->trans('AmountBeforeTaxesSubjectToVATX%', $langs->transnoentitiesnoconv('VAT'), price($tx));
1695
+									$l->tva_tx = $tx;
1696
+									$l->total_ht = $val['total_ht'];
1697
+									$l->total_tva = $val['total_tva'];
1698
+									$l->total = $line->total_ht;
1699
+									$l->total_ttc = $val['total_ttc'];
1700
+									$TLines[] = $l;
1701
+									array_shift($TTvas);
1702
+							   }
1703
+							}
1704 1704
     					    
1705
-    					    // ajoute la ligne de sous-total
1706
-    					    $TLines[] = $line; 
1707
-    					}
1708
-				    } else {
1705
+							// ajoute la ligne de sous-total
1706
+							$TLines[] = $line; 
1707
+						}
1708
+					} else {
1709 1709
 				        
1710
-				        if($line->product_type==9 && $line->rowid>0)
1711
-				        {
1712
-				            // ajoute la ligne de sous-total
1713
-				            $TLines[] = $line; 
1714
-				        }
1715
-				    }
1710
+						if($line->product_type==9 && $line->rowid>0)
1711
+						{
1712
+							// ajoute la ligne de sous-total
1713
+							$TLines[] = $line; 
1714
+						}
1715
+					}
1716 1716
 				    
1717 1717
 					
1718 1718
 				}
@@ -1737,20 +1737,20 @@  discard block
 block discarded – undo
1737 1737
 			$nbtva = count($TTvas);
1738 1738
 			if(!empty($nbtva) && $hideInnerLines && !empty($conf->global->SUBTOTAL_REPLACE_WITH_VAT_IF_HIDE_INNERLINES))
1739 1739
 			{
1740
-			    foreach ($TTvas as $tx =>$val){
1741
-			        $l = clone $line;
1742
-			        $l->product_type = 1;
1743
-			        $l->special_code = '';
1744
-			        $l->qty = 1;
1745
-			        $l->desc = $langs->trans('AmountBeforeTaxesSubjectToVATX%', $langs->transnoentitiesnoconv('VAT'), price($tx));
1746
-			        $l->tva_tx = $tx;
1747
-			        $l->total_ht = $val['total_ht'];
1748
-			        $l->total_tva = $val['total_tva'];
1749
-			        $l->total = $line->total_ht;
1750
-			        $l->total_ttc = $val['total_ttc'];
1751
-			        $TLines[] = $l;
1752
-			        array_shift($TTvas);
1753
-			    }
1740
+				foreach ($TTvas as $tx =>$val){
1741
+					$l = clone $line;
1742
+					$l->product_type = 1;
1743
+					$l->special_code = '';
1744
+					$l->qty = 1;
1745
+					$l->desc = $langs->trans('AmountBeforeTaxesSubjectToVATX%', $langs->transnoentitiesnoconv('VAT'), price($tx));
1746
+					$l->tva_tx = $tx;
1747
+					$l->total_ht = $val['total_ht'];
1748
+					$l->total_tva = $val['total_tva'];
1749
+					$l->total = $line->total_ht;
1750
+					$l->total_ttc = $val['total_ttc'];
1751
+					$TLines[] = $l;
1752
+					array_shift($TTvas);
1753
+				}
1754 1754
 			}
1755 1755
 			
1756 1756
 			global $nblignes;
@@ -1762,7 +1762,7 @@  discard block
 block discarded – undo
1762 1762
 				$this->resprints = '';
1763 1763
 				return 0;
1764 1764
 			}
1765
-	    }
1765
+		}
1766 1766
 		
1767 1767
 		return 0;
1768 1768
 	}
@@ -1925,18 +1925,18 @@  discard block
 block discarded – undo
1925 1925
 		}
1926 1926
 		elseif($object->element == 'order_supplier' )
1927 1927
 		{
1928
-		    $createRight = $user->rights->fournisseur->commande->creer;
1928
+			$createRight = $user->rights->fournisseur->commande->creer;
1929 1929
 		}
1930 1930
 		elseif($object->element == 'invoice_supplier' )
1931 1931
 		{
1932
-		    $createRight = $user->rights->fournisseur->facture->creer;
1932
+			$createRight = $user->rights->fournisseur->facture->creer;
1933 1933
 		}
1934 1934
 		
1935 1935
 		if($line->special_code!=$this->module_number || $line->product_type!=9) {
1936 1936
 			null;
1937 1937
 		}	
1938 1938
 		else if (in_array('invoicecard',$contexts) || in_array('invoicesuppliercard',$contexts) || in_array('propalcard',$contexts) || in_array('supplier_proposalcard',$contexts) || in_array('ordercard',$contexts) || in_array('ordersuppliercard',$contexts) || in_array('invoicereccard',$contexts)) 
1939
-        {
1939
+		{
1940 1940
 			if($object->element=='facture')$idvar = 'facid';
1941 1941
 			else $idvar='id';
1942 1942
 			
@@ -1985,7 +1985,7 @@  discard block
 block discarded – undo
1985 1985
 			//var_dump($line);
1986 1986
             
1987 1987
 			// HTML 5 data for js
1988
-            $data = $this->_getHtmlData($parameters, $object, $action, $hookmanager);
1988
+			$data = $this->_getHtmlData($parameters, $object, $action, $hookmanager);
1989 1989
             
1990 1990
 			
1991 1991
 			?>
@@ -2047,8 +2047,8 @@  discard block
 block discarded – undo
2047 2047
 						}
2048 2048
 						
2049 2049
 						if ($object->element == 'order_supplier' || $object->element == 'invoice_supplier') {
2050
-						    $line->label = !empty($line->description) ? $line->description : $line->desc;
2051
-						    $line->description = '';
2050
+							$line->label = !empty($line->description) ? $line->description : $line->desc;
2051
+							$line->description = '';
2052 2052
 						}
2053 2053
 						$newlabel = $line->label;
2054 2054
 						if($line->label=='' && !$isFreeText) {
@@ -2082,38 +2082,38 @@  discard block
 block discarded – undo
2082 2082
 						
2083 2083
 
2084 2084
 						echo '<div class="subtotal_underline" style="margin-left:24px; line-height: 25px;">';
2085
-                        echo '<div>';
2086
-                        echo '<input style="vertical-align:sub;"  type="checkbox" name="line-pagebreak" id="subtotal-pagebreak" value="8" '.(($line->info_bits > 0) ? 'checked="checked"' : '') .' />&nbsp;';
2087
-                        echo '<label for="subtotal-pagebreak">'.$langs->trans('AddBreakPageBefore').'</label>';
2088
-                        echo '</div>';
2089
-
2090
-                        if (TSubtotal::isTitle($line))
2091
-                        {
2092
-                            $form = new Form($db);
2093
-                            echo '<div>';
2094
-                            echo '<label for="subtotal_tva_tx">'.$form->textwithpicto($langs->trans('subtotal_apply_default_tva'), $langs->trans('subtotal_apply_default_tva_help')).'</label>';
2095
-                            echo '<select id="subtotal_tva_tx" name="subtotal_tva_tx" class="flat"><option selected="selected" value="">-</option>';
2096
-                            if (empty($readonlyForSituation)) echo str_replace('selected', '', $form->load_tva('subtotal_tva_tx', '', $parameters['seller'], $parameters['buyer'], 0, 0, '', true));
2097
-                            echo '</select>';
2098
-                            echo '</div>';
2099
-
2100
-                            if (!empty($conf->global->INVOICE_USE_SITUATION) && $object->element == 'facture' && $object->type == Facture::TYPE_SITUATION)
2101
-                            {
2102
-                                echo '<div>';
2103
-                                echo '<label for="subtotal_progress">'.$langs->trans('subtotal_apply_progress').'</label> <input id="subtotal_progress" name="subtotal_progress" value="" size="1" />%';
2104
-                                echo '</div>';
2105
-                            }
2106
-                            echo '<div>';
2107
-                            echo '<input style="vertical-align:sub;"  type="checkbox" name="line-showTotalHT" id="subtotal-showTotalHT" value="9" '.(($line->array_options['options_show_total_ht'] > 0) ? 'checked="checked"' : '') .' />&nbsp;';
2108
-                            echo '<label for="subtotal-showTotalHT">'.$langs->trans('ShowTotalHTOnSubtotalBlock').'</label>';
2109
-                            echo '</div>';
2110
-
2111
-                            echo '<div>';
2112
-                            echo '<input style="vertical-align:sub;"  type="checkbox" name="line-showReduc" id="subtotal-showReduc" value="1" '.(($line->array_options['options_show_reduc'] > 0) ? 'checked="checked"' : '') .' />&nbsp;';
2113
-                            echo '<label for="subtotal-showReduc">'.$langs->trans('ShowReducOnSubtotalBlock').'</label>';
2114
-                            echo '</div>';
2115
-                        }
2116
-                        else if ($isFreeText) echo TSubtotal::getFreeTextHtml($line, (bool) $readonlyForSituation);
2085
+						echo '<div>';
2086
+						echo '<input style="vertical-align:sub;"  type="checkbox" name="line-pagebreak" id="subtotal-pagebreak" value="8" '.(($line->info_bits > 0) ? 'checked="checked"' : '') .' />&nbsp;';
2087
+						echo '<label for="subtotal-pagebreak">'.$langs->trans('AddBreakPageBefore').'</label>';
2088
+						echo '</div>';
2089
+
2090
+						if (TSubtotal::isTitle($line))
2091
+						{
2092
+							$form = new Form($db);
2093
+							echo '<div>';
2094
+							echo '<label for="subtotal_tva_tx">'.$form->textwithpicto($langs->trans('subtotal_apply_default_tva'), $langs->trans('subtotal_apply_default_tva_help')).'</label>';
2095
+							echo '<select id="subtotal_tva_tx" name="subtotal_tva_tx" class="flat"><option selected="selected" value="">-</option>';
2096
+							if (empty($readonlyForSituation)) echo str_replace('selected', '', $form->load_tva('subtotal_tva_tx', '', $parameters['seller'], $parameters['buyer'], 0, 0, '', true));
2097
+							echo '</select>';
2098
+							echo '</div>';
2099
+
2100
+							if (!empty($conf->global->INVOICE_USE_SITUATION) && $object->element == 'facture' && $object->type == Facture::TYPE_SITUATION)
2101
+							{
2102
+								echo '<div>';
2103
+								echo '<label for="subtotal_progress">'.$langs->trans('subtotal_apply_progress').'</label> <input id="subtotal_progress" name="subtotal_progress" value="" size="1" />%';
2104
+								echo '</div>';
2105
+							}
2106
+							echo '<div>';
2107
+							echo '<input style="vertical-align:sub;"  type="checkbox" name="line-showTotalHT" id="subtotal-showTotalHT" value="9" '.(($line->array_options['options_show_total_ht'] > 0) ? 'checked="checked"' : '') .' />&nbsp;';
2108
+							echo '<label for="subtotal-showTotalHT">'.$langs->trans('ShowTotalHTOnSubtotalBlock').'</label>';
2109
+							echo '</div>';
2110
+
2111
+							echo '<div>';
2112
+							echo '<input style="vertical-align:sub;"  type="checkbox" name="line-showReduc" id="subtotal-showReduc" value="1" '.(($line->array_options['options_show_reduc'] > 0) ? 'checked="checked"' : '') .' />&nbsp;';
2113
+							echo '<label for="subtotal-showReduc">'.$langs->trans('ShowReducOnSubtotalBlock').'</label>';
2114
+							echo '</div>';
2115
+						}
2116
+						else if ($isFreeText) echo TSubtotal::getFreeTextHtml($line, (bool) $readonlyForSituation);
2117 2117
 						echo '</div>';
2118 2118
 
2119 2119
 						if($line->qty<10) {
@@ -2381,17 +2381,17 @@  discard block
 block discarded – undo
2381 2381
 		if ($object->statut == 0 && !empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && $action != 'editline')
2382 2382
 		{
2383 2383
 		    
2384
-		    if($object->element == 'invoice_supplier' || $object->element == 'order_supplier')
2385
-		    {
2386
-		        foreach ($object->lines as $line)
2387
-		        {
2388
-		            // fetch optionals attributes and labels
2389
-		            require_once(DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php');
2390
-		            $extrafields=new ExtraFields($this->db);
2391
-		            $extralabels=$extrafields->fetch_name_optionals_label($object->table_element_line,true);
2392
-		            $line->fetch_optionals($line->id,$extralabels);
2393
-		        }
2394
-		    }
2384
+			if($object->element == 'invoice_supplier' || $object->element == 'order_supplier')
2385
+			{
2386
+				foreach ($object->lines as $line)
2387
+				{
2388
+					// fetch optionals attributes and labels
2389
+					require_once(DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php');
2390
+					$extrafields=new ExtraFields($this->db);
2391
+					$extralabels=$extrafields->fetch_name_optionals_label($object->table_element_line,true);
2392
+					$line->fetch_optionals($line->id,$extralabels);
2393
+				}
2394
+			}
2395 2395
 		    
2396 2396
 			$TSubNc = array();
2397 2397
 			foreach ($object->lines as &$l)
@@ -2482,80 +2482,80 @@  discard block
 block discarded – undo
2482 2482
 	{
2483 2483
 		dol_include_once('/subtotal/class/subtotal.class.php');
2484 2484
 
2485
-	    $line = &$parameters['line'];
2485
+		$line = &$parameters['line'];
2486 2486
 	    
2487
-	    $ThtmlData['data-id']           = $line->id;
2488
-	    $ThtmlData['data-product_type'] = $line->product_type;
2489
-	    $ThtmlData['data-qty']          = 0; //$line->qty;
2490
-	    $ThtmlData['data-level']        = TSubtotal::getNiveau($line);
2487
+		$ThtmlData['data-id']           = $line->id;
2488
+		$ThtmlData['data-product_type'] = $line->product_type;
2489
+		$ThtmlData['data-qty']          = 0; //$line->qty;
2490
+		$ThtmlData['data-level']        = TSubtotal::getNiveau($line);
2491 2491
 	    
2492
-	    if(TSubtotal::isTitle($line)){
2493
-	        $ThtmlData['data-issubtotal'] = 'title';
2494
-	    }elseif(TSubtotal::isSubtotal($line)){
2495
-	        $ThtmlData['data-issubtotal'] = 'subtotal';
2496
-	    }
2497
-	    else{
2498
-	        $ThtmlData['data-issubtotal'] = 'freetext';
2499
-	    }
2492
+		if(TSubtotal::isTitle($line)){
2493
+			$ThtmlData['data-issubtotal'] = 'title';
2494
+		}elseif(TSubtotal::isSubtotal($line)){
2495
+			$ThtmlData['data-issubtotal'] = 'subtotal';
2496
+		}
2497
+		else{
2498
+			$ThtmlData['data-issubtotal'] = 'freetext';
2499
+		}
2500 2500
 	    
2501 2501
 	    
2502
-	    // Change or add data  from hooks
2503
-	    $parameters = array_replace($parameters , array(  'ThtmlData' => $ThtmlData )  );
2502
+		// Change or add data  from hooks
2503
+		$parameters = array_replace($parameters , array(  'ThtmlData' => $ThtmlData )  );
2504 2504
 	    
2505
-	    // hook 
2506
-	    $reshook = $hookmanager->executeHooks('subtotalLineHtmlData',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
2507
-	    if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
2508
-	    if ($reshook>0)
2509
-	    {
2510
-	        $ThtmlData = $hookmanager->resArray;
2511
-	    }
2512
-
2513
-	    return $this->implodeHtmlData($ThtmlData);
2505
+		// hook 
2506
+		$reshook = $hookmanager->executeHooks('subtotalLineHtmlData',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
2507
+		if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
2508
+		if ($reshook>0)
2509
+		{
2510
+			$ThtmlData = $hookmanager->resArray;
2511
+		}
2512
+
2513
+		return $this->implodeHtmlData($ThtmlData);
2514 2514
 	
2515 2515
 	}
2516 2516
 	
2517 2517
 	
2518 2518
 	function implodeHtmlData($ThtmlData = array())
2519 2519
 	{
2520
-	    $data = '';
2521
-	    foreach($ThtmlData as $k => $h )
2522
-	    {
2523
-	        if(is_array($h))
2524
-	        {
2525
-	            $h = json_encode($h);
2526
-	        }
2520
+		$data = '';
2521
+		foreach($ThtmlData as $k => $h )
2522
+		{
2523
+			if(is_array($h))
2524
+			{
2525
+				$h = json_encode($h);
2526
+			}
2527 2527
 	        
2528
-	        $data .= $k . '="'.dol_htmlentities($h, ENT_QUOTES).'" ';
2529
-	    }
2528
+			$data .= $k . '="'.dol_htmlentities($h, ENT_QUOTES).'" ';
2529
+		}
2530 2530
 	    
2531
-	    return $data;
2531
+		return $data;
2532 2532
 	}
2533 2533
 	
2534 2534
 	function _ajax_block_order_js($object)
2535 2535
 	{
2536
-	    global $conf,$tagidfortablednd,$filepath,$langs;
2536
+		global $conf,$tagidfortablednd,$filepath,$langs;
2537 2537
 	    
2538
-	    /*
2538
+		/*
2539 2539
 	     * this part of js is base on dolibarr htdocs/core/tpl/ajaxrow.tpl.php 
2540 2540
 	     * for compatibility reasons we don't use tableDnD but jquery sortable
2541 2541
 	     */
2542 2542
 	    
2543
-	    $id=$object->id;
2544
-	    $nboflines=(isset($object->lines)?count($object->lines):0);
2545
-	    $forcereloadpage=empty($conf->global->MAIN_FORCE_RELOAD_PAGE)?0:1;
2543
+		$id=$object->id;
2544
+		$nboflines=(isset($object->lines)?count($object->lines):0);
2545
+		$forcereloadpage=empty($conf->global->MAIN_FORCE_RELOAD_PAGE)?0:1;
2546 2546
 	    
2547
-	    $id=$object->id;
2548
-	    $fk_element=$object->fk_element;
2549
-	    $table_element_line=$object->table_element_line;
2550
-	    $nboflines=(isset($object->lines)?count($object->lines):(empty($nboflines)?0:$nboflines));
2551
-	    $tagidfortablednd=(empty($tagidfortablednd)?'tablelines':$tagidfortablednd);
2552
-	    $filepath=(empty($filepath)?'':$filepath);
2547
+		$id=$object->id;
2548
+		$fk_element=$object->fk_element;
2549
+		$table_element_line=$object->table_element_line;
2550
+		$nboflines=(isset($object->lines)?count($object->lines):(empty($nboflines)?0:$nboflines));
2551
+		$tagidfortablednd=(empty($tagidfortablednd)?'tablelines':$tagidfortablednd);
2552
+		$filepath=(empty($filepath)?'':$filepath);
2553 2553
 	    
2554 2554
 	    
2555
-	    if (GETPOST('action','aZ09') != 'editline' && $nboflines > 1)
2556
-	    {
2555
+		if (GETPOST('action','aZ09') != 'editline' && $nboflines > 1)
2556
+		{
2557 2557
 	        
2558
-	        ?>
2558
+			?>
2559 2559
 		
2560 2560
 		
2561 2561
 			<script type="text/javascript">
Please login to merge, or discard this patch.
Spacing   +413 added lines, -413 removed lines patch added patch discarded remove patch
@@ -16,17 +16,17 @@  discard block
 block discarded – undo
16 16
 		
17 17
 		global $type_element, $where;
18 18
 		
19
-		$contexts = explode(':',$parameters['context']);
19
+		$contexts = explode(':', $parameters['context']);
20 20
 		
21
-		if(in_array('consumptionthirdparty',$contexts) && in_array($type_element, array('propal', 'order', 'invoice', 'supplier_order', 'supplier_invoice', 'supplier_proposal'))) {
21
+		if (in_array('consumptionthirdparty', $contexts) && in_array($type_element, array('propal', 'order', 'invoice', 'supplier_order', 'supplier_invoice', 'supplier_proposal'))) {
22 22
 			$mod_num = TSubtotal::$module_number;
23 23
 			
24 24
 			// Not a title (can't use TSubtotal class methods in sql)
25
-			$where.= ' AND (d.special_code != '.$mod_num.' OR d.product_type != 9 OR d.qty > 9)';
25
+			$where .= ' AND (d.special_code != '.$mod_num.' OR d.product_type != 9 OR d.qty > 9)';
26 26
 			// Not a subtotal (can't use TSubtotal class methods in sql)
27
-			$where.= ' AND (d.special_code != '.$mod_num.' OR d.product_type != 9 OR d.qty < 90)';
27
+			$where .= ' AND (d.special_code != '.$mod_num.' OR d.product_type != 9 OR d.qty < 90)';
28 28
 			// Not a free line text (can't use TSubtotal class methods in sql)
29
-			$where.= ' AND (d.special_code != '.$mod_num.' OR d.product_type != 9 OR d.qty != 50)';
29
+			$where .= ' AND (d.special_code != '.$mod_num.' OR d.product_type != 9 OR d.qty != 50)';
30 30
 			
31 31
 		}
32 32
 		
@@ -105,43 +105,43 @@  discard block
 block discarded – undo
105 105
     
106 106
     function formObjectOptions($parameters, &$object, &$action, $hookmanager) 
107 107
     {
108
-      	global $langs,$db,$user, $conf;
108
+      	global $langs, $db, $user, $conf;
109 109
 		
110 110
 		$langs->load('subtotal@subtotal');
111 111
 		
112
-		$contexts = explode(':',$parameters['context']);
112
+		$contexts = explode(':', $parameters['context']);
113 113
 		
114
-		if(in_array('ordercard',$contexts) || in_array('ordersuppliercard',$contexts) || in_array('propalcard',$contexts) || in_array('supplier_proposalcard',$contexts) || in_array('invoicecard',$contexts) || in_array('invoicesuppliercard',$contexts) || in_array('invoicereccard',$contexts)) {
114
+		if (in_array('ordercard', $contexts) || in_array('ordersuppliercard', $contexts) || in_array('propalcard', $contexts) || in_array('supplier_proposalcard', $contexts) || in_array('invoicecard', $contexts) || in_array('invoicesuppliercard', $contexts) || in_array('invoicereccard', $contexts)) {
115 115
 			
116 116
 			$createRight = $user->rights->{$object->element}->creer;
117
-			if($object->element == 'facturerec' )
117
+			if ($object->element == 'facturerec')
118 118
 			{
119 119
 				$object->statut = 0; // hack for facture rec
120 120
 				$createRight = $user->rights->facture->creer;
121
-			} elseif($object->element == 'order_supplier' )
121
+			} elseif ($object->element == 'order_supplier')
122 122
 			{
123 123
 			    $createRight = $user->rights->fournisseur->commande->creer;
124
-			} elseif($object->element == 'invoice_supplier' )
124
+			} elseif ($object->element == 'invoice_supplier')
125 125
 			{
126 126
 			    $createRight = $user->rights->fournisseur->facture->creer;
127 127
 			}
128 128
 			
129
-			if ($object->statut == 0  && $createRight) {
129
+			if ($object->statut == 0 && $createRight) {
130 130
 			
131 131
 
132
-				if($object->element=='facture')$idvar = 'facid';
133
-				else $idvar='id';
132
+				if ($object->element == 'facture')$idvar = 'facid';
133
+				else $idvar = 'id';
134 134
 				
135
-				if(in_array($action, array('add_title_line', 'add_total_line', 'add_subtitle_line', 'add_subtotal_line', 'add_free_text')) )
135
+				if (in_array($action, array('add_title_line', 'add_total_line', 'add_subtitle_line', 'add_subtotal_line', 'add_free_text')))
136 136
 				{
137 137
 					$level = GETPOST('level', 'int'); //New avec SUBTOTAL_USE_NEW_FORMAT
138 138
 					
139
-					if($action=='add_title_line') {
139
+					if ($action == 'add_title_line') {
140 140
 						$title = GETPOST('title');
141
-						if(empty($title)) $title = $langs->trans('title');
142
-						$qty = $level<1 ? 1 : $level ;
141
+						if (empty($title)) $title = $langs->trans('title');
142
+						$qty = $level < 1 ? 1 : $level;
143 143
 					}
144
-					else if($action=='add_free_text') {
144
+					else if ($action == 'add_free_text') {
145 145
 						$title = GETPOST('title');
146 146
 
147 147
 						if (empty($title)) {
@@ -153,21 +153,21 @@  discard block
 block discarded – undo
153 153
 								}
154 154
 							}
155 155
 						}
156
-						if(empty($title)) $title = $langs->trans('subtotalAddLineDescription');
156
+						if (empty($title)) $title = $langs->trans('subtotalAddLineDescription');
157 157
 						$qty = 50;
158 158
 					}
159
-					else if($action=='add_subtitle_line') {
159
+					else if ($action == 'add_subtitle_line') {
160 160
 						$title = GETPOST('title');
161
-						if(empty($title)) $title = $langs->trans('subtitle');
161
+						if (empty($title)) $title = $langs->trans('subtitle');
162 162
 						$qty = 2;
163 163
 					}
164
-					else if($action=='add_subtotal_line') {
164
+					else if ($action == 'add_subtotal_line') {
165 165
 						$title = $langs->trans('SubSubTotal');
166 166
 						$qty = 98;
167 167
 					}
168 168
 					else {
169 169
 						$title = GETPOST('title') ? GETPOST('title') : $langs->trans('SubTotal');
170
-						$qty = $level ? 100-$level : 99;
170
+						$qty = $level ? 100 - $level : 99;
171 171
 					}
172 172
 					dol_include_once('/subtotal/class/subtotal.class.php');
173 173
 					
@@ -175,15 +175,15 @@  discard block
 block discarded – undo
175 175
 					
176 176
 	    			TSubtotal::addSubTotalLine($object, $title, $qty);
177 177
 				}
178
-				else if($action==='ask_deleteallline') {
179
-						$form=new Form($db);
178
+				else if ($action === 'ask_deleteallline') {
179
+						$form = new Form($db);
180 180
 						
181
-						$lineid = GETPOST('lineid','integer');
181
+						$lineid = GETPOST('lineid', 'integer');
182 182
 						$TIdForGroup = $this->getArrayOfLineForAGroup($object, $lineid);
183 183
 					
184 184
 						$nbLines = count($TIdForGroup);
185 185
 					
186
-						$formconfirm=$form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id.'&lineid='.$lineid, $langs->trans('deleteWithAllLines'), $langs->trans('ConfirmDeleteAllThisLines',$nbLines), 'confirm_delete_all_lines','',0,1);
186
+						$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id.'&lineid='.$lineid, $langs->trans('deleteWithAllLines'), $langs->trans('ConfirmDeleteAllThisLines', $nbLines), 'confirm_delete_all_lines', '', 0, 1);
187 187
 						print $formconfirm;
188 188
 				}
189 189
 
@@ -193,13 +193,13 @@  discard block
 block discarded – undo
193 193
 				}
194 194
 
195 195
 				
196
-				if($action!='editline') {
196
+				if ($action != 'editline') {
197 197
 					// New format is for 3.8
198 198
 					$this->printNewFormat($object, $conf, $langs, $idvar);
199 199
 				}
200 200
 			}
201 201
 		}
202
-		elseif ((!empty($parameters['currentcontext']) && $parameters['currentcontext'] == 'orderstoinvoice') || in_array('orderstoinvoice',$contexts))
202
+		elseif ((!empty($parameters['currentcontext']) && $parameters['currentcontext'] == 'orderstoinvoice') || in_array('orderstoinvoice', $contexts))
203 203
 		{
204 204
 			?>
205 205
 			<script type="text/javascript">
@@ -224,7 +224,7 @@  discard block
 block discarded – undo
224 224
 				$(document).ready(function() {
225 225
 					$('div.fiche div.tabsAction').append('<br />');
226 226
 					
227
-					$('div.fiche div.tabsAction').append('<div class="inline-block divButAction"><a id="add_title_line" rel="add_title_line" href="javascript:;" class="butAction"><?php echo  $langs->trans('AddTitle' )?></a></div>');
227
+					$('div.fiche div.tabsAction').append('<div class="inline-block divButAction"><a id="add_title_line" rel="add_title_line" href="javascript:;" class="butAction"><?php echo  $langs->trans('AddTitle')?></a></div>');
228 228
 					$('div.fiche div.tabsAction').append('<div class="inline-block divButAction"><a id="add_total_line" rel="add_total_line" href="javascript:;" class="butAction"><?php echo  $langs->trans('AddSubTotal')?></a></div>');
229 229
 					$('div.fiche div.tabsAction').append('<div class="inline-block divButAction"><a id="add_free_text" rel="add_free_text" href="javascript:;" class="butAction"><?php echo  $langs->trans('AddFreeText')?></a></div>');
230 230
 
@@ -275,9 +275,9 @@  discard block
 block discarded – undo
275 275
 						$('body').append(dialog_html);
276 276
 
277 277
 						<?php 
278
-						$editorTool = empty($conf->global->FCKEDITOR_EDITORNAME)?'ckeditor':$conf->global->FCKEDITOR_EDITORNAME;
279
-						$editorConf = empty($conf->global->FCKEDITOR_ENABLE_DETAILS)?false:$conf->global->FCKEDITOR_ENABLE_DETAILS;
280
-						if($editorConf && in_array($editorTool,array('textarea','ckeditor'))){ 
278
+						$editorTool = empty($conf->global->FCKEDITOR_EDITORNAME) ? 'ckeditor' : $conf->global->FCKEDITOR_EDITORNAME;
279
+						$editorConf = empty($conf->global->FCKEDITOR_ENABLE_DETAILS) ?false:$conf->global->FCKEDITOR_ENABLE_DETAILS;
280
+						if ($editorConf && in_array($editorTool, array('textarea', 'ckeditor'))) { 
281 281
 						?>
282 282
 						if (action == 'addTitle' || action == 'addFreeTxt')
283 283
 						{
@@ -392,62 +392,62 @@  discard block
 block discarded – undo
392 392
 		global $conf, $langs, $bc;
393 393
 			
394 394
 		$action = GETPOST('action');	
395
-		$TContext = explode(':',$parameters['context']);
395
+		$TContext = explode(':', $parameters['context']);
396 396
 		if (
397
-				in_array('invoicecard',$TContext)
398
-		        || in_array('invoicesuppliercard',$TContext)
399
-				|| in_array('propalcard',$TContext)
400
-				|| in_array('ordercard',$TContext)
401
-		        || in_array('ordersuppliercard',$TContext)
402
-				|| in_array('invoicereccard',$TContext)
397
+				in_array('invoicecard', $TContext)
398
+		        || in_array('invoicesuppliercard', $TContext)
399
+				|| in_array('propalcard', $TContext)
400
+				|| in_array('ordercard', $TContext)
401
+		        || in_array('ordersuppliercard', $TContext)
402
+				|| in_array('invoicereccard', $TContext)
403 403
 			)
404 404
 	        {	
405
-	            $hideInnerLines	= isset( $_SESSION['subtotal_hideInnerLines_'.$parameters['modulepart']][$object->id] ) ?  $_SESSION['subtotal_hideInnerLines_'.$parameters['modulepart']][$object->id] : 0;
406
-	            $hidedetails	= isset( $_SESSION['subtotal_hidedetails_'.$parameters['modulepart']][$object->id] ) ?  $_SESSION['subtotal_hidedetails_'.$parameters['modulepart']][$object->id] : 0;
407
-				$hidepricesDefaultConf = !empty($conf->global->SUBTOTAL_HIDE_PRICE_DEFAULT_CHECKED)?$conf->global->SUBTOTAL_HIDE_PRICE_DEFAULT_CHECKED:0;
408
-				$hideprices= isset( $_SESSION['subtotal_hideprices_'.$parameters['modulepart']][$object->id] ) ?  $_SESSION['subtotal_hideprices_'.$parameters['modulepart']][$object->id] : $hidepricesDefaultConf;
405
+	            $hideInnerLines = isset($_SESSION['subtotal_hideInnerLines_'.$parameters['modulepart']][$object->id]) ? $_SESSION['subtotal_hideInnerLines_'.$parameters['modulepart']][$object->id] : 0;
406
+	            $hidedetails = isset($_SESSION['subtotal_hidedetails_'.$parameters['modulepart']][$object->id]) ? $_SESSION['subtotal_hidedetails_'.$parameters['modulepart']][$object->id] : 0;
407
+				$hidepricesDefaultConf = !empty($conf->global->SUBTOTAL_HIDE_PRICE_DEFAULT_CHECKED) ? $conf->global->SUBTOTAL_HIDE_PRICE_DEFAULT_CHECKED : 0;
408
+				$hideprices = isset($_SESSION['subtotal_hideprices_'.$parameters['modulepart']][$object->id]) ? $_SESSION['subtotal_hideprices_'.$parameters['modulepart']][$object->id] : $hidepricesDefaultConf;
409 409
 				
410
-				$var=false;
411
-		     	$out.= '<tr '.$bc[$var].'>
410
+				$var = false;
411
+		     	$out .= '<tr '.$bc[$var].'>
412 412
 		     			<td colspan="4" align="right">
413 413
 		     				<label for="hideInnerLines">'.$langs->trans('HideInnerLines').'</label>
414
-		     				<input type="checkbox" onclick="if($(this).is(\':checked\')) { $(\'#hidedetails\').prop(\'checked\', \'checked\')  }" id="hideInnerLines" name="hideInnerLines" value="1" '.(( $hideInnerLines ) ? 'checked="checked"' : '' ).' />
414
+		     				<input type="checkbox" onclick="if($(this).is(\':checked\')) { $(\'#hidedetails\').prop(\'checked\', \'checked\')  }" id="hideInnerLines" name="hideInnerLines" value="1" '.(($hideInnerLines) ? 'checked="checked"' : '').' />
415 415
 		     			</td>
416 416
 		     			</tr>';
417 417
 				
418
-		     	$var=!$var;
419
-		     	$out.= '<tr '.$bc[$var].'>
418
+		     	$var = !$var;
419
+		     	$out .= '<tr '.$bc[$var].'>
420 420
 		     			<td colspan="4" align="right">
421 421
 		     				<label for="hidedetails">'.$langs->trans('SubTotalhidedetails').'</label>
422
-		     				<input type="checkbox" id="hidedetails" name="hidedetails" value="1" '.(( $hidedetails ) ? 'checked="checked"' : '' ).' />
422
+		     				<input type="checkbox" id="hidedetails" name="hidedetails" value="1" '.(($hidedetails) ? 'checked="checked"' : '').' />
423 423
 		     			</td>
424 424
 		     			</tr>';
425 425
 		     	
426
-		     	$var=!$var;
427
-		     	$out.= '<tr '.$bc[$var].'>
426
+		     	$var = !$var;
427
+		     	$out .= '<tr '.$bc[$var].'>
428 428
 		     			<td colspan="4" align="right">
429 429
 		     				<label for="hideprices">'.$langs->trans('SubTotalhidePrice').'</label>
430
-		     				<input type="checkbox" id="hideprices" name="hideprices" value="1" '.(( $hideprices ) ? 'checked="checked"' : '' ).' />
430
+		     				<input type="checkbox" id="hideprices" name="hideprices" value="1" '.(($hideprices) ? 'checked="checked"' : '').' />
431 431
 		     			</td>
432 432
 		     			</tr>';
433 433
 		     	
434 434
 		     	
435 435
 				 
436 436
 				if ( 
437
-					(in_array('propalcard',$TContext) && !empty($conf->global->SUBTOTAL_PROPAL_ADD_RECAP))
438
-					|| (in_array('ordercard',$TContext) && !empty($conf->global->SUBTOTAL_COMMANDE_ADD_RECAP))
439
-				    || (in_array('ordersuppliercard',$TContext) && !empty($conf->global->SUBTOTAL_COMMANDE_ADD_RECAP))
440
-					|| (in_array('invoicecard',$TContext) && !empty($conf->global->SUBTOTAL_INVOICE_ADD_RECAP))
441
-				    || (in_array('invoicesuppliercard',$TContext) && !empty($conf->global->SUBTOTAL_INVOICE_ADD_RECAP))
442
-					|| (in_array('invoicereccard',$TContext)  && !empty($conf->global->SUBTOTAL_INVOICE_ADD_RECAP ))
437
+					(in_array('propalcard', $TContext) && !empty($conf->global->SUBTOTAL_PROPAL_ADD_RECAP))
438
+					|| (in_array('ordercard', $TContext) && !empty($conf->global->SUBTOTAL_COMMANDE_ADD_RECAP))
439
+				    || (in_array('ordersuppliercard', $TContext) && !empty($conf->global->SUBTOTAL_COMMANDE_ADD_RECAP))
440
+					|| (in_array('invoicecard', $TContext) && !empty($conf->global->SUBTOTAL_INVOICE_ADD_RECAP))
441
+				    || (in_array('invoicesuppliercard', $TContext) && !empty($conf->global->SUBTOTAL_INVOICE_ADD_RECAP))
442
+					|| (in_array('invoicereccard', $TContext) && !empty($conf->global->SUBTOTAL_INVOICE_ADD_RECAP))
443 443
 				)
444 444
 				{
445
-					$var=!$var;
446
-					$out.= '
445
+					$var = !$var;
446
+					$out .= '
447 447
 						<tr '.$bc[$var].'>
448 448
 							<td colspan="4" align="right">
449 449
 								<label for="subtotal_add_recap">'.$langs->trans('subtotal_add_recap').'</label>
450
-								<input type="checkbox" id="subtotal_add_recap" name="subtotal_add_recap" value="1" '.( GETPOST('subtotal_add_recap') ? 'checked="checked"' : '' ).' />
450
+								<input type="checkbox" id="subtotal_add_recap" name="subtotal_add_recap" value="1" '.(GETPOST('subtotal_add_recap') ? 'checked="checked"' : '').' />
451 451
 							</td>
452 452
 						</tr>';
453 453
 				}
@@ -463,7 +463,7 @@  discard block
 block discarded – undo
463 463
     function formEditProductOptions($parameters, &$object, &$action, $hookmanager) 
464 464
     {
465 465
 		
466
-    	if (in_array('invoicecard',explode(':',$parameters['context'])))
466
+    	if (in_array('invoicecard', explode(':', $parameters['context'])))
467 467
         {
468 468
         	
469 469
         }
@@ -474,13 +474,13 @@  discard block
 block discarded – undo
474 474
 	function ODTSubstitutionLine(&$parameters, &$object, $action, $hookmanager) {
475 475
 		global $conf;
476 476
 		
477
-		if($action === 'builddoc') {
477
+		if ($action === 'builddoc') {
478 478
 			
479 479
 			$line = &$parameters['line'];
480 480
 			$object = &$parameters['object'];
481 481
 			$substitutionarray = &$parameters['substitutionarray'];
482 482
 			
483
-			if($line->product_type == 9 && $line->special_code == $this->module_number) {
483
+			if ($line->product_type == 9 && $line->special_code == $this->module_number) {
484 484
 				$substitutionarray['line_modsubtotal'] = 1;	
485 485
 				
486 486
 				$substitutionarray['line_price_ht']
@@ -491,7 +491,7 @@  discard block
 block discarded – undo
491 491
 					 = $substitutionarray['line_up'] 
492 492
 					 = '';
493 493
 				
494
-				if($line->qty>90) {
494
+				if ($line->qty > 90) {
495 495
 					$substitutionarray['line_modsubtotal_total'] = true;
496 496
 					
497 497
 					list($total, $total_tva, $total_ttc, $TTotal_tva) = $this->getTotalLineFromObject($object, $line, '', 1);
@@ -505,7 +505,7 @@  discard block
 block discarded – undo
505 505
 				
506 506
 				
507 507
 			}	
508
-			else{
508
+			else {
509 509
 				$substitutionarray['line_not_modsubtotal'] = true;
510 510
 				$substitutionarray['line_modsubtotal'] = 0;
511 511
 			}
@@ -517,29 +517,29 @@  discard block
 block discarded – undo
517 517
 	function createFrom($parameters, &$object, $action, $hookmanager) {
518 518
 	
519 519
 		if (
520
-				in_array('invoicecard',explode(':',$parameters['context']))
521
-		        || in_array('invoicesuppliercard',explode(':',$parameters['context']))
522
-				|| in_array('propalcard',explode(':',$parameters['context']))
523
-		        || in_array('supplier_proposalcard',explode(':',$parameters['context']))
524
-				|| in_array('ordercard',explode(':',$parameters['context']))
525
-		        || in_array('ordersuppliercard',explode(':',$parameters['context']))
526
-				|| in_array('invoicereccard',explode(':',$parameters['context']))
520
+				in_array('invoicecard', explode(':', $parameters['context']))
521
+		        || in_array('invoicesuppliercard', explode(':', $parameters['context']))
522
+				|| in_array('propalcard', explode(':', $parameters['context']))
523
+		        || in_array('supplier_proposalcard', explode(':', $parameters['context']))
524
+				|| in_array('ordercard', explode(':', $parameters['context']))
525
+		        || in_array('ordersuppliercard', explode(':', $parameters['context']))
526
+				|| in_array('invoicereccard', explode(':', $parameters['context']))
527 527
 		) {
528 528
 			
529 529
 			global $db;
530 530
 			
531 531
 			$objFrom = $parameters['objFrom'];
532 532
 			
533
-			foreach($objFrom->lines as $k=> &$lineOld) {
533
+			foreach ($objFrom->lines as $k=> &$lineOld) {
534 534
 				
535
-					if($lineOld->product_type == 9 && $lineOld->info_bits > 0 ) {
535
+					if ($lineOld->product_type == 9 && $lineOld->info_bits > 0) {
536 536
 							
537 537
 							$line = & $object->lines[$k];
538 538
 				
539 539
 							$idLine = (int) ($line->id ? $line->id : $line->rowid); 
540 540
 				
541 541
 							$db->query("UPDATE ".MAIN_DB_PREFIX.$line->table_element."
542
-							SET info_bits=".(int)$lineOld->info_bits."
542
+							SET info_bits=".(int) $lineOld->info_bits."
543 543
 							WHERE rowid = ".$idLine."
544 544
 							");
545 545
 						
@@ -555,15 +555,15 @@  discard block
 block discarded – undo
555 555
 	
556 556
 	function doActions($parameters, &$object, $action, $hookmanager)
557 557
 	{
558
-		global $db, $conf, $langs,$user;
558
+		global $db, $conf, $langs, $user;
559 559
 		
560 560
 		dol_include_once('/subtotal/class/subtotal.class.php');
561 561
 		dol_include_once('/subtotal/lib/subtotal.lib.php');
562
-		require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php';
562
+		require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
563 563
 		
564 564
 		$showBlockExtrafields = GETPOST('showBlockExtrafields');
565 565
 		
566
-		if($object->element=='facture') $idvar = 'facid';
566
+		if ($object->element == 'facture') $idvar = 'facid';
567 567
 		else $idvar = 'id';
568 568
 			
569 569
 		if ($action == 'updateligne' || $action == 'updateline')
@@ -576,7 +576,7 @@  discard block
 block discarded – undo
576 576
 				if ($line->id == $lineid && TSubtotal::isModSubtotalLine($line))
577 577
 				{
578 578
 					$found = true;
579
-					if(TSubtotal::isTitle($line) && !empty($showBlockExtrafields)) {
579
+					if (TSubtotal::isTitle($line) && !empty($showBlockExtrafields)) {
580 580
 						$extrafieldsline = new ExtraFields($db);
581 581
 						$extralabelsline = $extrafieldsline->fetch_name_optionals_label($object->table_element_line);
582 582
 						$extrafieldsline->setOptionalsFromPost($extralabelsline, $line);
@@ -595,43 +595,43 @@  discard block
 block discarded – undo
595 595
 				exit; // Surtout ne pas laisser Dolibarr faire du traitement sur le updateligne sinon ça plante les données de la ligne
596 596
 			}
597 597
 		}
598
-		else if($action === 'builddoc') {
598
+		else if ($action === 'builddoc') {
599 599
 			
600 600
 			if (
601
-				in_array('invoicecard',explode(':',$parameters['context']))
602
-				|| in_array('propalcard',explode(':',$parameters['context']))
603
-				|| in_array('ordercard',explode(':',$parameters['context']))
604
-			    || in_array('ordersuppliercard',explode(':',$parameters['context']))
605
-			    || in_array('invoicesuppliercard',explode(':',$parameters['context']))
606
-			    || in_array('supplier_proposalcard',explode(':',$parameters['context']))
601
+				in_array('invoicecard', explode(':', $parameters['context']))
602
+				|| in_array('propalcard', explode(':', $parameters['context']))
603
+				|| in_array('ordercard', explode(':', $parameters['context']))
604
+			    || in_array('ordersuppliercard', explode(':', $parameters['context']))
605
+			    || in_array('invoicesuppliercard', explode(':', $parameters['context']))
606
+			    || in_array('supplier_proposalcard', explode(':', $parameters['context']))
607 607
 			)
608 608
 	        {								
609
-				if(in_array('invoicecard',explode(':',$parameters['context']))) {
609
+				if (in_array('invoicecard', explode(':', $parameters['context']))) {
610 610
 					$sessname = 'subtotal_hideInnerLines_facture';	
611 611
 					$sessname2 = 'subtotal_hidedetails_facture';
612 612
 					$sessname3 = 'subtotal_hideprices_facture';
613 613
 				}
614
-				elseif(in_array('invoicesuppliercard',explode(':',$parameters['context']))) {
614
+				elseif (in_array('invoicesuppliercard', explode(':', $parameters['context']))) {
615 615
 				    $sessname = 'subtotal_hideInnerLines_facture_fournisseur';
616 616
 				    $sessname2 = 'subtotal_hidedetails_facture_fournisseur';
617 617
 				    $sessname3 = 'subtotal_hideprices_facture_fournisseur';
618 618
 				}
619
-				elseif(in_array('propalcard',explode(':',$parameters['context']))) {
619
+				elseif (in_array('propalcard', explode(':', $parameters['context']))) {
620 620
 					$sessname = 'subtotal_hideInnerLines_propal';
621 621
 					$sessname2 = 'subtotal_hidedetails_propal';	
622 622
 					$sessname3 = 'subtotal_hideprices_propal';
623 623
 				}
624
-				elseif(in_array('supplier_proposalcard',explode(':',$parameters['context']))) {
624
+				elseif (in_array('supplier_proposalcard', explode(':', $parameters['context']))) {
625 625
 				    $sessname = 'subtotal_hideInnerLines_supplier_proposal';
626 626
 				    $sessname2 = 'subtotal_hidedetails_supplier_proposal';
627 627
 				    $sessname3 = 'subtotal_hideprices_supplier_proposal';
628 628
 				}
629
-				elseif(in_array('ordercard',explode(':',$parameters['context']))) {
629
+				elseif (in_array('ordercard', explode(':', $parameters['context']))) {
630 630
 					$sessname = 'subtotal_hideInnerLines_commande';
631 631
 					$sessname2 = 'subtotal_hidedetails_commande';	
632 632
 					$sessname3 = 'subtotal_hideprices_commande';
633 633
 				}
634
-				elseif(in_array('ordersuppliercard',explode(':',$parameters['context']))) {
634
+				elseif (in_array('ordersuppliercard', explode(':', $parameters['context']))) {
635 635
 				    $sessname = 'subtotal_hideInnerLines_commande_fournisseur';
636 636
 				    $sessname2 = 'subtotal_hidedetails_commande_fournisseur';
637 637
 				    $sessname3 = 'subtotal_hideprices_commande_fournisseur';
@@ -644,25 +644,25 @@  discard block
 block discarded – undo
644 644
 					
645 645
 				global $hideprices;
646 646
 				
647
-				$hideInnerLines = (int)GETPOST('hideInnerLines');
648
-				if(!empty($_SESSION[$sessname]) && !is_array($_SESSION[$sessname][$object->id]) ) $_SESSION[$sessname] = array(); // prevent old system
647
+				$hideInnerLines = (int) GETPOST('hideInnerLines');
648
+				if (!empty($_SESSION[$sessname]) && !is_array($_SESSION[$sessname][$object->id])) $_SESSION[$sessname] = array(); // prevent old system
649 649
 				$_SESSION[$sessname][$object->id] = $hideInnerLines;		
650 650
 				
651
-				$hidedetails= (int)GETPOST('hidedetails');
652
-				if(!empty($_SESSION[$sessname2]) && !is_array($_SESSION[$sessname2][$object->id]) ) $_SESSION[$sessname2] = array(); // prevent old system
651
+				$hidedetails = (int) GETPOST('hidedetails');
652
+				if (!empty($_SESSION[$sessname2]) && !is_array($_SESSION[$sessname2][$object->id])) $_SESSION[$sessname2] = array(); // prevent old system
653 653
 				$_SESSION[$sessname2][$object->id] = $hidedetails;
654 654
 				
655
-				$hideprices= (int)GETPOST('hideprices');
656
-				if(!empty($_SESSION[$sessname3]) && !is_array($_SESSION[$sessname3][$object->id]) ) $_SESSION[$sessname3] = array(); // prevent old system
655
+				$hideprices = (int) GETPOST('hideprices');
656
+				if (!empty($_SESSION[$sessname3]) && !is_array($_SESSION[$sessname3][$object->id])) $_SESSION[$sessname3] = array(); // prevent old system
657 657
 				$_SESSION[$sessname3][$object->id] = $hideprices;
658 658
 				
659
-				foreach($object->lines as &$line) {
659
+				foreach ($object->lines as &$line) {
660 660
 					if ($line->product_type == 9 && $line->special_code == $this->module_number) {
661 661
 					    
662
-                        if($line->qty>=90) {
662
+                        if ($line->qty >= 90) {
663 663
                             $line->modsubtotal_total = 1;
664 664
                         }
665
-                        else{
665
+                        else {
666 666
                             $line->modsubtotal_title = 1;
667 667
                         }
668 668
                         
@@ -672,34 +672,34 @@  discard block
 block discarded – undo
672 672
 	        }
673 673
 			
674 674
 		}
675
-		else if($action === 'confirm_delete_all_lines' && GETPOST('confirm')=='yes') {
675
+		else if ($action === 'confirm_delete_all_lines' && GETPOST('confirm') == 'yes') {
676 676
 			
677 677
 			$Tab = $this->getArrayOfLineForAGroup($object, GETPOST('lineid'));
678 678
 			
679
-			foreach($Tab as $idLine) {
679
+			foreach ($Tab as $idLine) {
680 680
 				/**
681 681
 				 * @var $object Facture
682 682
 				 */
683
-				if($object->element=='facture') $object->deleteline($idLine);
683
+				if ($object->element == 'facture') $object->deleteline($idLine);
684 684
 				/**
685 685
 				 * @var $object Facture fournisseur
686 686
 				 */
687
-				else if($object->element=='invoice_supplier')
687
+				else if ($object->element == 'invoice_supplier')
688 688
 				{
689 689
 				    $object->deleteline($idLine);
690 690
 				}
691 691
 				/**
692 692
 				 * @var $object Propal
693 693
 				 */
694
-				else if($object->element=='propal') $object->deleteline($idLine);
694
+				else if ($object->element == 'propal') $object->deleteline($idLine);
695 695
 				/**
696 696
 				 * @var $object Propal Fournisseur
697 697
 				 */
698
-				else if($object->element=='supplier_proposal') $object->deleteline($idLine);
698
+				else if ($object->element == 'supplier_proposal') $object->deleteline($idLine);
699 699
 				/**
700 700
 				 * @var $object Commande
701 701
 				 */
702
-				else if($object->element=='commande') 
702
+				else if ($object->element == 'commande') 
703 703
 				{
704 704
 					if ((float) DOL_VERSION >= 5.0) $object->deleteline($user, $idLine);
705 705
 					else $object->deleteline($idLine);
@@ -707,14 +707,14 @@  discard block
 block discarded – undo
707 707
 				/**
708 708
 				 * @var $object Commande fournisseur
709 709
 				 */
710
-				else if($object->element=='order_supplier')
710
+				else if ($object->element == 'order_supplier')
711 711
 				{
712 712
 				    $object->deleteline($idLine);
713 713
 				}
714 714
 				/**
715 715
 				 * @var $object Facturerec
716 716
 				 */
717
-				else if($object->element=='facturerec') $object->deleteline($idLine);
717
+				else if ($object->element == 'facturerec') $object->deleteline($idLine);
718 718
 			}
719 719
 			
720 720
 			header('location:?id='.$object->id);
@@ -737,7 +737,7 @@  discard block
 block discarded – undo
737 737
 		return 0;
738 738
 	}
739 739
 	
740
-	function formAddObjectLine ($parameters, &$object, &$action, $hookmanager) {
740
+	function formAddObjectLine($parameters, &$object, &$action, $hookmanager) {
741 741
 		return 0;
742 742
 	}
743 743
 	
@@ -755,8 +755,8 @@  discard block
 block discarded – undo
755 755
 			if (!empty($parameters['fk_element']))
756 756
 			{
757 757
 				
758
-				if($obj->fetch($parameters['fk_element'])){
759
-					$obj->id= $obj->rowid;
758
+				if ($obj->fetch($parameters['fk_element'])) {
759
+					$obj->id = $obj->rowid;
760 760
 					if (empty($obj->array_options))
761 761
 						$obj->fetch_optionals();
762 762
 					if (!empty($obj->array_options['options_subtotal_nc']))
@@ -776,22 +776,22 @@  discard block
 block discarded – undo
776 776
 		
777 777
 		$found = false;
778 778
 
779
-		$Tab= array();
779
+		$Tab = array();
780 780
 		
781
-		foreach($object->lines as $l) {
781
+		foreach ($object->lines as $l) {
782 782
 		
783 783
 		    $lid = (!empty($l->rowid) ? $l->rowid : $l->id);
784
-			if($lid == $lineid) {
784
+			if ($lid == $lineid) {
785 785
 
786 786
 				$found = true;
787 787
 				$qty_line = $l->qty;
788 788
 			}
789 789
 			
790
-			if($found) {
790
+			if ($found) {
791 791
 				
792 792
 			    $Tab[] = (!empty($l->rowid) ? $l->rowid : $l->id);
793 793
 				
794
-				if($l->special_code==$this->module_number && (($l->qty==99 && $qty_line==1) || ($l->qty==98 && $qty_line==2))   ) {
794
+				if ($l->special_code == $this->module_number && (($l->qty == 99 && $qty_line == 1) || ($l->qty == 98 && $qty_line == 2))) {
795 795
 					break; // end of story
796 796
 				}
797 797
 			}
@@ -820,7 +820,7 @@  discard block
 block discarded – undo
820 820
 	 * 
821 821
 	 * @param	$use_level		isn't used anymore
822 822
 	 */
823
-	function getTotalLineFromObject(&$object, &$line, $use_level=false, $return_all=0) {
823
+	function getTotalLineFromObject(&$object, &$line, $use_level = false, $return_all = 0) {
824 824
 		global $conf;
825 825
 		
826 826
 		$rang = $line->rang;
@@ -831,31 +831,31 @@  discard block
 block discarded – undo
831 831
 		$total_ttc = 0;
832 832
 		$TTotal_tva = array();
833 833
 		
834
-		$sign=1;
835
-		if (isset($object->type) && $object->type == 2 && ! empty($conf->global->INVOICE_POSITIVE_CREDIT_NOTE)) $sign=-1;
834
+		$sign = 1;
835
+		if (isset($object->type) && $object->type == 2 && !empty($conf->global->INVOICE_POSITIVE_CREDIT_NOTE)) $sign = -1;
836 836
 		
837 837
 		if (GETPOST('action') == 'builddoc') $builddoc = true;
838 838
 		else $builddoc = false;
839 839
 		
840 840
 		dol_include_once('/subtotal/class/subtotal.class.php');
841
-		foreach($object->lines as $l) {
841
+		foreach ($object->lines as $l) {
842 842
 			//print $l->rang.'>='.$rang.' '.$total.'<br/>';
843
-			if($l->rang>=$rang) {
843
+			if ($l->rang >= $rang) {
844 844
 				//echo 'return!<br>';
845 845
 				if (!$return_all) return $total;
846 846
 				else return array($total, $total_tva, $total_ttc, $TTotal_tva);
847 847
 			}
848
-			else if(TSubtotal::isTitle($l, 100 - $qty_line)) 
848
+			else if (TSubtotal::isTitle($l, 100 - $qty_line)) 
849 849
 		  	{
850 850
 				$total = 0;
851 851
 				$total_tva = 0;
852 852
 				$total_ttc = 0;
853 853
 				$TTotal_tva = array();
854 854
 			}
855
-			elseif(!TSubtotal::isTitle($l) && !TSubtotal::isSubtotal($l)) {
855
+			elseif (!TSubtotal::isTitle($l) && !TSubtotal::isSubtotal($l)) {
856 856
 				
857 857
 				// TODO retirer le test avec $builddoc quand Dolibarr affichera le total progression sur la card et pas seulement dans le PDF
858
-				if ($builddoc && $object->element == 'facture' && $object->type==Facture::TYPE_SITUATION)
858
+				if ($builddoc && $object->element == 'facture' && $object->type == Facture::TYPE_SITUATION)
859 859
 				{
860 860
 					if ($l->situation_percent > 0)
861 861
 					{
@@ -868,7 +868,7 @@  discard block
 block discarded – undo
868 868
 						}
869 869
 						
870 870
 						$result = $sign * ($l->total_ht / ($l->situation_percent / 100)) * $progress;
871
-						$total+= $result;
871
+						$total += $result;
872 872
 						// TODO check si les 3 lignes du dessous sont corrects
873 873
 						$total_tva += $sign * ($l->total_tva / ($l->situation_percent / 100)) * $progress;
874 874
 						$TTotal_tva[$l->tva_tx] += $sign * ($l->total_tva / ($l->situation_percent / 100)) * $progress;
@@ -900,10 +900,10 @@  discard block
 block discarded – undo
900 900
 	 * @param $w            float               width
901 901
 	 * @param $h            float               height
902 902
 	 */
903
-	function pdf_add_total(&$pdf,&$object, &$line, $label, $description,$posx, $posy, $w, $h) {
904
-		global $conf,$subtotal_last_title_posy;
903
+	function pdf_add_total(&$pdf, &$object, &$line, $label, $description, $posx, $posy, $w, $h) {
904
+		global $conf, $subtotal_last_title_posy;
905 905
 
906
-		$hideInnerLines = (int)GETPOST('hideInnerLines');
906
+		$hideInnerLines = (int) GETPOST('hideInnerLines');
907 907
 		if (!empty($conf->global->SUBTOTAL_ONE_LINE_IF_HIDE_INNERLINES) && $hideInnerLines && !empty($subtotal_last_title_posy))
908 908
 		{
909 909
 			$posy = $subtotal_last_title_posy;
@@ -913,34 +913,34 @@  discard block
 block discarded – undo
913 913
 		$hidePriceOnSubtotalLines = (int) GETPOST('hide_price_on_subtotal_lines');
914 914
 		
915 915
 		$set_pagebreak_margin = false;
916
-		if(method_exists('Closure','bind')) {
916
+		if (method_exists('Closure', 'bind')) {
917 917
 			$pageBreakOriginalValue = $pdf->AcceptPageBreak();
918
-			$sweetsThief = function ($pdf) {
919
-		    		return $pdf->bMargin ;
918
+			$sweetsThief = function($pdf) {
919
+		    		return $pdf->bMargin;
920 920
 			};
921 921
 			$sweetsThief = Closure::bind($sweetsThief, null, $pdf);
922 922
 	
923
-			$bMargin  = $sweetsThief($pdf);
923
+			$bMargin = $sweetsThief($pdf);
924 924
 	
925
-			$pdf->SetAutoPageBreak( false );
925
+			$pdf->SetAutoPageBreak(false);
926 926
 
927 927
 			$set_pagebreak_margin = true;			
928 928
 		}
929 929
 		
930 930
 			
931
-		if($line->qty==99)
932
-			$pdf->SetFillColor(220,220,220);
933
-		elseif ($line->qty==98)
934
-			$pdf->SetFillColor(230,230,230);
931
+		if ($line->qty == 99)
932
+			$pdf->SetFillColor(220, 220, 220);
933
+		elseif ($line->qty == 98)
934
+			$pdf->SetFillColor(230, 230, 230);
935 935
 		else
936
-			$pdf->SetFillColor(240,240,240);
936
+			$pdf->SetFillColor(240, 240, 240);
937 937
 		
938 938
 		$style = 'B';
939 939
 		if (!empty($conf->global->SUBTOTAL_SUBTOTAL_STYLE)) $style = $conf->global->SUBTOTAL_SUBTOTAL_STYLE;
940 940
 		
941 941
 		$pdf->SetFont('', $style, 9);
942 942
 		
943
-		$pdf->writeHTMLCell($w, $h, $posx, $posy, $label, 0, 1, false, true, 'R',true);
943
+		$pdf->writeHTMLCell($w, $h, $posx, $posy, $label, 0, 1, false, true, 'R', true);
944 944
 //		var_dump($bMargin);
945 945
 		$pageAfter = $pdf->getPage();
946 946
 		
@@ -968,7 +968,7 @@  discard block
 block discarded – undo
968 968
 			
969 969
 			
970 970
 			
971
-			if($total_to_print !== '') {
971
+			if ($total_to_print !== '') {
972 972
 				
973 973
 				if (GETPOST('hideInnerLines'))
974 974
 				{
@@ -992,11 +992,11 @@  discard block
 block discarded – undo
992 992
 			}
993 993
 
994 994
 			$pdf->SetXY($pdf->postotalht, $posy);
995
-			if($set_pagebreak_margin) $pdf->SetAutoPageBreak( $pageBreakOriginalValue , $bMargin);
996
-			$pdf->MultiCell($pdf->page_largeur-$pdf->marge_droite-$pdf->postotalht, 3, $total_to_print, 0, 'R', 0);
995
+			if ($set_pagebreak_margin) $pdf->SetAutoPageBreak($pageBreakOriginalValue, $bMargin);
996
+			$pdf->MultiCell($pdf->page_largeur - $pdf->marge_droite - $pdf->postotalht, 3, $total_to_print, 0, 'R', 0);
997 997
 		}
998
-		else{
999
-			if($set_pagebreak_margin) $pdf->SetAutoPageBreak( $pageBreakOriginalValue , $bMargin);
998
+		else {
999
+			if ($set_pagebreak_margin) $pdf->SetAutoPageBreak($pageBreakOriginalValue, $bMargin);
1000 1000
 		}
1001 1001
 		
1002 1002
 		$posy = $posy + $cell_height;
@@ -1016,22 +1016,22 @@  discard block
 block discarded – undo
1016 1016
 	 * @param $w            float               width
1017 1017
 	 * @param $h            float               height
1018 1018
 	 */
1019
-	function pdf_add_title(&$pdf,&$object, &$line, $label, $description,$posx, $posy, $w, $h) {
1019
+	function pdf_add_title(&$pdf, &$object, &$line, $label, $description, $posx, $posy, $w, $h) {
1020 1020
 		
1021
-		global $db,$conf,$subtotal_last_title_posy;
1021
+		global $db, $conf, $subtotal_last_title_posy;
1022 1022
 		
1023 1023
 		$subtotal_last_title_posy = $posy;
1024
-		$pdf->SetXY ($posx, $posy);
1024
+		$pdf->SetXY($posx, $posy);
1025 1025
 		
1026
-		$hideInnerLines = (int)GETPOST('hideInnerLines');
1026
+		$hideInnerLines = (int) GETPOST('hideInnerLines');
1027 1027
 		
1028 1028
 		
1029 1029
  
1030
-		$style = ($line->qty==1) ? 'BU' : 'BUI';
1030
+		$style = ($line->qty == 1) ? 'BU' : 'BUI';
1031 1031
 		if (!empty($conf->global->SUBTOTAL_TITLE_STYLE)) $style = $conf->global->SUBTOTAL_TITLE_STYLE;
1032 1032
 		
1033
-		if($hideInnerLines) {
1034
-			if($line->qty==1)$pdf->SetFont('', $style, 9);
1033
+		if ($hideInnerLines) {
1034
+			if ($line->qty == 1)$pdf->SetFont('', $style, 9);
1035 1035
 			else 
1036 1036
 			{
1037 1037
 				if (!empty($conf->global->SUBTOTAL_STYLE_TITRES_SI_LIGNES_CACHEES)) $style = $conf->global->SUBTOTAL_STYLE_TITRES_SI_LIGNES_CACHEES;
@@ -1040,43 +1040,43 @@  discard block
 block discarded – undo
1040 1040
 		}
1041 1041
 		else {
1042 1042
 
1043
-			if($line->qty==1)$pdf->SetFont('', $style, 9); //TODO if super utile
1043
+			if ($line->qty == 1)$pdf->SetFont('', $style, 9); //TODO if super utile
1044 1044
 			else $pdf->SetFont('', $style, 9);
1045 1045
 			
1046 1046
 		}
1047 1047
 		
1048 1048
 		if ($label === strip_tags($label) && $label === dol_html_entity_decode($label, ENT_QUOTES)) $pdf->MultiCell($w, $h, $label, 0, 'L'); // Pas de HTML dans la chaine
1049
-		else $pdf->writeHTMLCell($w, $h, $posx, $posy, $label, 0, 1, false, true, 'J',true); // et maintenant avec du HTML
1049
+		else $pdf->writeHTMLCell($w, $h, $posx, $posy, $label, 0, 1, false, true, 'J', true); // et maintenant avec du HTML
1050 1050
 		
1051
-		if($description && !$hidedesc) {
1051
+		if ($description && !$hidedesc) {
1052 1052
 			$posy = $pdf->GetY();
1053 1053
 			
1054 1054
 			$pdf->SetFont('', '', 8);
1055 1055
 			
1056
-			$pdf->writeHTMLCell($w, $h, $posx, $posy, $description, 0, 1, false, true, 'J',true);
1056
+			$pdf->writeHTMLCell($w, $h, $posx, $posy, $description, 0, 1, false, true, 'J', true);
1057 1057
 
1058 1058
 		}
1059 1059
 		
1060 1060
 	}
1061 1061
 
1062
-	function pdf_writelinedesc_ref($parameters=array(), &$object, &$action='') {
1062
+	function pdf_writelinedesc_ref($parameters = array(), &$object, &$action = '') {
1063 1063
 	// ultimate PDF hook O_o
1064 1064
 		
1065
-		return $this->pdf_writelinedesc($parameters,$object,$action);
1065
+		return $this->pdf_writelinedesc($parameters, $object, $action);
1066 1066
 		
1067 1067
 	}
1068 1068
 
1069 1069
 	function isModSubtotalLine(&$parameters, &$object) {
1070 1070
 		
1071
-		if(is_array($parameters)) {
1071
+		if (is_array($parameters)) {
1072 1072
 			$i = & $parameters['i'];	
1073 1073
 		}
1074 1074
 		else {
1075
-			$i = (int)$parameters;
1075
+			$i = (int) $parameters;
1076 1076
 		}
1077 1077
 		
1078 1078
 		
1079
-		if($object->lines[$i]->special_code == $this->module_number && $object->lines[$i]->product_type == 9) {
1079
+		if ($object->lines[$i]->special_code == $this->module_number && $object->lines[$i]->product_type == 9) {
1080 1080
 			return true;
1081 1081
 		}
1082 1082
 		
@@ -1084,43 +1084,43 @@  discard block
 block discarded – undo
1084 1084
 		
1085 1085
 	}
1086 1086
 
1087
-	function pdf_getlineqty($parameters=array(), &$object, &$action='') {
1088
-		global $conf,$hideprices;
1087
+	function pdf_getlineqty($parameters = array(), &$object, &$action = '') {
1088
+		global $conf, $hideprices;
1089 1089
 		
1090
-		if($this->isModSubtotalLine($parameters,$object) ){
1090
+		if ($this->isModSubtotalLine($parameters, $object)) {
1091 1091
 			
1092 1092
 			$this->resprints = ' ';
1093 1093
 			
1094
-			if((float)DOL_VERSION<=3.6) {
1094
+			if ((float) DOL_VERSION <= 3.6) {
1095 1095
 				return '';
1096 1096
 			}
1097
-			else if((float)DOL_VERSION>=3.8) {
1097
+			else if ((float) DOL_VERSION >= 3.8) {
1098 1098
 				return 1;
1099 1099
 			}
1100 1100
 			
1101 1101
 		}
1102
-		elseif(!empty($hideprices)) {
1102
+		elseif (!empty($hideprices)) {
1103 1103
 			$this->resprints = $object->lines[$parameters['i']]->qty;
1104 1104
 			return 1;
1105 1105
 		}
1106 1106
 		elseif (!empty($conf->global->SUBTOTAL_IF_HIDE_PRICES_SHOW_QTY))
1107 1107
 		{
1108
-			$hideInnerLines = (int)GETPOST('hideInnerLines');
1109
-			$hidedetails = (int)GETPOST('hidedetails');
1108
+			$hideInnerLines = (int) GETPOST('hideInnerLines');
1109
+			$hidedetails = (int) GETPOST('hidedetails');
1110 1110
 			if (empty($hideInnerLines) && !empty($hidedetails))
1111 1111
 			{
1112 1112
 				$this->resprints = $object->lines[$parameters['i']]->qty;
1113 1113
 			}
1114 1114
 		}
1115 1115
 		
1116
-		if(is_array($parameters)) $i = & $parameters['i'];
1117
-		else $i = (int)$parameters;
1116
+		if (is_array($parameters)) $i = & $parameters['i'];
1117
+		else $i = (int) $parameters;
1118 1118
 
1119 1119
 		if (empty($object->lines[$i])) return 0; // hideInnerLines => override $object->lines et Dolibarr ne nous permet pas de mettre à jour la variable qui conditionne la boucle sur les lignes (PR faite pour 6.0)
1120 1120
 		
1121
-		if(empty($object->lines[$i]->array_options)) $object->lines[$i]->fetch_optionals();
1121
+		if (empty($object->lines[$i]->array_options)) $object->lines[$i]->fetch_optionals();
1122 1122
 
1123
-		if (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])) )
1123
+		if (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])))
1124 1124
 		{
1125 1125
 			if (!in_array(__FUNCTION__, explode(',', $conf->global->SUBTOTAL_TFIELD_TO_KEEP_WITH_NC)))
1126 1126
 			{
@@ -1132,20 +1132,20 @@  discard block
 block discarded – undo
1132 1132
 		return 0;
1133 1133
 	}
1134 1134
 	
1135
-	function pdf_getlinetotalexcltax($parameters=array(), &$object, &$action='') {
1135
+	function pdf_getlinetotalexcltax($parameters = array(), &$object, &$action = '') {
1136 1136
 	    global $conf, $hideprices, $hookmanager;
1137 1137
 		
1138
-		if(is_array($parameters)) $i = & $parameters['i'];
1139
-		else $i = (int)$parameters;
1138
+		if (is_array($parameters)) $i = & $parameters['i'];
1139
+		else $i = (int) $parameters;
1140 1140
 			
1141
-		if($this->isModSubtotalLine($parameters,$object) ){
1141
+		if ($this->isModSubtotalLine($parameters, $object)) {
1142 1142
 			
1143 1143
 			$this->resprints = ' ';
1144 1144
 			
1145
-			if((float)DOL_VERSION<=3.6) {
1145
+			if ((float) DOL_VERSION <= 3.6) {
1146 1146
 				return '';
1147 1147
 			}
1148
-			else if((float)DOL_VERSION>=3.8) {
1148
+			else if ((float) DOL_VERSION >= 3.8) {
1149 1149
 				return 1;
1150 1150
 			}
1151 1151
 			
@@ -1171,7 +1171,7 @@  discard block
 block discarded – undo
1171 1171
 				}
1172 1172
 			}
1173 1173
 		}
1174
-		if ((int)GETPOST('hideInnerLines') && !empty($conf->global->SUBTOTAL_REPLACE_WITH_VAT_IF_HIDE_INNERLINES)){
1174
+		if ((int) GETPOST('hideInnerLines') && !empty($conf->global->SUBTOTAL_REPLACE_WITH_VAT_IF_HIDE_INNERLINES)) {
1175 1175
 		    $this->resprints = price($object->lines[$i]->total_ht);
1176 1176
 		}
1177 1177
 		
@@ -1196,7 +1196,7 @@  discard block
 block discarded – undo
1196 1196
 		{
1197 1197
 			// Check if a title exist for this line && if the title have subtotal
1198 1198
 			$lineTitle = TSubtotal::getParentTitleOfLine($object, $i);
1199
-			if(TSubtotal::getParentTitleOfLine($object, $i) && TSubtotal::titleHasTotalLine($object, $lineTitle, true))
1199
+			if (TSubtotal::getParentTitleOfLine($object, $i) && TSubtotal::titleHasTotalLine($object, $lineTitle, true))
1200 1200
 			{
1201 1201
 
1202 1202
 				$this->resprints = ' ';
@@ -1216,7 +1216,7 @@  discard block
 block discarded – undo
1216 1216
 	 */
1217 1217
 	private function callHook(&$object, &$hookmanager, $action, $params, $defaultReturn = 1)
1218 1218
 	{
1219
-		$reshook=$hookmanager->executeHooks('subtotalHidePrices',$params, $object, $action);
1219
+		$reshook = $hookmanager->executeHooks('subtotalHidePrices', $params, $object, $action);
1220 1220
 		if ($reshook < 0)
1221 1221
 		{
1222 1222
 			$this->error = $hookmanager->error;
@@ -1232,7 +1232,7 @@  discard block
 block discarded – undo
1232 1232
 			$this->resprints = $hookmanager->resprints;
1233 1233
 
1234 1234
 			// override return (use  $this->results['overrideReturn'] or $this->resArray['overrideReturn'] in other module action_xxxx.class.php )
1235
-			if(isset($hookmanager->resArray['overrideReturn']))
1235
+			if (isset($hookmanager->resArray['overrideReturn']))
1236 1236
 			{
1237 1237
 				return $hookmanager->resArray['overrideReturn'];
1238 1238
 			}
@@ -1241,25 +1241,25 @@  discard block
 block discarded – undo
1241 1241
 		return $defaultReturn;
1242 1242
 	}
1243 1243
 	
1244
-	function pdf_getlinetotalwithtax($parameters=array(), &$object, &$action='') {
1244
+	function pdf_getlinetotalwithtax($parameters = array(), &$object, &$action = '') {
1245 1245
 		global $conf;
1246 1246
 		
1247
-		if($this->isModSubtotalLine($parameters,$object) ){
1247
+		if ($this->isModSubtotalLine($parameters, $object)) {
1248 1248
 			
1249 1249
 			$this->resprints = ' ';
1250 1250
 		
1251
-			if((float)DOL_VERSION<=3.6) {
1251
+			if ((float) DOL_VERSION <= 3.6) {
1252 1252
 				return '';
1253 1253
 			}
1254
-			else if((float)DOL_VERSION>=3.8) {
1254
+			else if ((float) DOL_VERSION >= 3.8) {
1255 1255
 				return 1;
1256 1256
 			}
1257 1257
 		}
1258 1258
 		
1259
-		if(is_array($parameters)) $i = & $parameters['i'];
1260
-		else $i = (int)$parameters;
1259
+		if (is_array($parameters)) $i = & $parameters['i'];
1260
+		else $i = (int) $parameters;
1261 1261
 		
1262
-		if (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])) ) 
1262
+		if (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i]))) 
1263 1263
 		{
1264 1264
 			if (!in_array(__FUNCTION__, explode(',', $conf->global->SUBTOTAL_TFIELD_TO_KEEP_WITH_NC)))
1265 1265
 			{
@@ -1271,24 +1271,24 @@  discard block
 block discarded – undo
1271 1271
 		return 0;
1272 1272
 	}
1273 1273
 	
1274
-	function pdf_getlineunit($parameters=array(), &$object, &$action='') {
1274
+	function pdf_getlineunit($parameters = array(), &$object, &$action = '') {
1275 1275
 		global $conf;
1276 1276
 		
1277
-		if($this->isModSubtotalLine($parameters,$object) ){
1277
+		if ($this->isModSubtotalLine($parameters, $object)) {
1278 1278
 			$this->resprints = ' ';
1279 1279
 		
1280
-			if((float)DOL_VERSION<=3.6) {
1280
+			if ((float) DOL_VERSION <= 3.6) {
1281 1281
 				return '';
1282 1282
 			}
1283
-			else if((float)DOL_VERSION>=3.8) {
1283
+			else if ((float) DOL_VERSION >= 3.8) {
1284 1284
 				return 1;
1285 1285
 			}
1286 1286
 		}
1287 1287
 		
1288
-		if(is_array($parameters)) $i = & $parameters['i'];
1289
-		else $i = (int)$parameters;
1288
+		if (is_array($parameters)) $i = & $parameters['i'];
1289
+		else $i = (int) $parameters;
1290 1290
 			
1291
-		if (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])) )
1291
+		if (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])))
1292 1292
 		{
1293 1293
 			if (!in_array(__FUNCTION__, explode(',', $conf->global->SUBTOTAL_TFIELD_TO_KEEP_WITH_NC)))
1294 1294
 			{
@@ -1300,32 +1300,32 @@  discard block
 block discarded – undo
1300 1300
 		return 0;
1301 1301
 	}
1302 1302
 	
1303
-	function pdf_getlineupexcltax($parameters=array(), &$object, &$action='') {
1304
-	    global $conf,$hideprices,$hookmanager;
1303
+	function pdf_getlineupexcltax($parameters = array(), &$object, &$action = '') {
1304
+	    global $conf, $hideprices, $hookmanager;
1305 1305
 
1306
-		if(is_array($parameters)) $i = & $parameters['i'];
1307
-		else $i = (int)$parameters;
1306
+		if (is_array($parameters)) $i = & $parameters['i'];
1307
+		else $i = (int) $parameters;
1308 1308
 
1309
-		if($this->isModSubtotalLine($parameters,$object) ) {
1309
+		if ($this->isModSubtotalLine($parameters, $object)) {
1310 1310
 			$this->resprints = ' ';
1311 1311
 
1312 1312
             $line = $object->lines[$i];
1313 1313
 
1314 1314
             // On récupère les montants du bloc pour les afficher dans la ligne de sous-total
1315
-            if(TSubtotal::isSubtotal($line)) {
1315
+            if (TSubtotal::isSubtotal($line)) {
1316 1316
                 $parentTitle = TSubtotal::getParentTitleOfLine($object, $i);
1317 1317
 
1318
-                if(is_object($parentTitle) && empty($parentTitle->array_options)) $parentTitle->fetch_optionals();
1319
-                if(! empty($parentTitle->array_options['options_show_total_ht'])) {
1318
+                if (is_object($parentTitle) && empty($parentTitle->array_options)) $parentTitle->fetch_optionals();
1319
+                if (!empty($parentTitle->array_options['options_show_total_ht'])) {
1320 1320
                     $TTotal = TSubtotal::getTotalBlockFromTitle($object, $parentTitle);
1321 1321
                     $this->resprints = price($TTotal['total_subprice']);
1322 1322
                 }
1323 1323
             }
1324 1324
 		
1325
-			if((float)DOL_VERSION<=3.6) {
1325
+			if ((float) DOL_VERSION <= 3.6) {
1326 1326
 				return '';
1327 1327
 			}
1328
-			else if((float)DOL_VERSION>=3.8) {
1328
+			else if ((float) DOL_VERSION >= 3.8) {
1329 1329
 				return 1;
1330 1330
 			}
1331 1331
 		}
@@ -1353,7 +1353,7 @@  discard block
 block discarded – undo
1353 1353
 		    
1354 1354
 		    // Check if a title exist for this line && if the title have subtotal
1355 1355
 		    $lineTitle = TSubtotal::getParentTitleOfLine($object, $i);
1356
-		    if(TSubtotal::getParentTitleOfLine($object, $i) && TSubtotal::titleHasTotalLine($object, $lineTitle, true))
1356
+		    if (TSubtotal::getParentTitleOfLine($object, $i) && TSubtotal::titleHasTotalLine($object, $lineTitle, true))
1357 1357
 		    {
1358 1358
 		        
1359 1359
 		        $this->resprints = ' ';
@@ -1367,37 +1367,37 @@  discard block
 block discarded – undo
1367 1367
 		return 0;
1368 1368
 	}
1369 1369
 	
1370
-	function pdf_getlineremisepercent($parameters=array(), &$object, &$action='') {
1371
-	    global $conf,$hideprices,$hookmanager;
1370
+	function pdf_getlineremisepercent($parameters = array(), &$object, &$action = '') {
1371
+	    global $conf, $hideprices, $hookmanager;
1372 1372
 
1373
-        if(is_array($parameters)) $i = & $parameters['i'];
1373
+        if (is_array($parameters)) $i = & $parameters['i'];
1374 1374
         else $i = (int) $parameters;
1375 1375
 
1376
-		if($this->isModSubtotalLine($parameters,$object) ) {
1376
+		if ($this->isModSubtotalLine($parameters, $object)) {
1377 1377
 			$this->resprints = ' ';
1378 1378
 
1379 1379
             $line = $object->lines[$i];
1380 1380
 
1381 1381
             // Affichage de la remise 
1382
-            if(TSubtotal::isSubtotal($line)) {
1382
+            if (TSubtotal::isSubtotal($line)) {
1383 1383
                 $parentTitle = TSubtotal::getParentTitleOfLine($object, $i);
1384 1384
 
1385
-                if(empty($parentTitle->array_options)) $parentTitle->fetch_optionals();
1386
-                if(! empty($parentTitle->array_options['options_show_reduc'])) {
1385
+                if (empty($parentTitle->array_options)) $parentTitle->fetch_optionals();
1386
+                if (!empty($parentTitle->array_options['options_show_reduc'])) {
1387 1387
                     $TTotal = TSubtotal::getTotalBlockFromTitle($object, $parentTitle);
1388
-                    $this->resprints = price((1-$TTotal['total_ht'] / $TTotal['total_subprice'])*100, 0, '', 1, 2, 2).'%';
1388
+                    $this->resprints = price((1 - $TTotal['total_ht'] / $TTotal['total_subprice']) * 100, 0, '', 1, 2, 2).'%';
1389 1389
                 }
1390 1390
             }
1391 1391
 		
1392
-			if((float)DOL_VERSION<=3.6) {
1392
+			if ((float) DOL_VERSION <= 3.6) {
1393 1393
 				return '';
1394 1394
 			}
1395
-			else if((float)DOL_VERSION>=3.8) {
1395
+			else if ((float) DOL_VERSION >= 3.8) {
1396 1396
 				return 1;
1397 1397
 			}
1398 1398
 		}
1399 1399
 		elseif (!empty($hideprices)
1400
-		        || (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])) )
1400
+		        || (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])))
1401 1401
 		        )
1402 1402
 		    {
1403 1403
 		        if (!empty($hideprices) || !in_array(__FUNCTION__, explode(',', $conf->global->SUBTOTAL_TFIELD_TO_KEEP_WITH_NC)))
@@ -1410,24 +1410,24 @@  discard block
 block discarded – undo
1410 1410
 		return 0;
1411 1411
 	}
1412 1412
 	
1413
-	function pdf_getlineupwithtax($parameters=array(), &$object, &$action='') {
1414
-		global $conf,$hideprices;
1413
+	function pdf_getlineupwithtax($parameters = array(), &$object, &$action = '') {
1414
+		global $conf, $hideprices;
1415 1415
 		
1416
-		if($this->isModSubtotalLine($parameters,$object) ){
1416
+		if ($this->isModSubtotalLine($parameters, $object)) {
1417 1417
 			$this->resprints = ' ';
1418
-			if((float)DOL_VERSION<=3.6) {
1418
+			if ((float) DOL_VERSION <= 3.6) {
1419 1419
 				return '';
1420 1420
 			}
1421
-			else if((float)DOL_VERSION>=3.8) {
1421
+			else if ((float) DOL_VERSION >= 3.8) {
1422 1422
 				return 1;
1423 1423
 			}
1424 1424
 		}
1425 1425
 		
1426
-		if(is_array($parameters)) $i = & $parameters['i'];
1427
-		else $i = (int)$parameters;
1426
+		if (is_array($parameters)) $i = & $parameters['i'];
1427
+		else $i = (int) $parameters;
1428 1428
 			
1429 1429
 		if (!empty($hideprices)
1430
-				|| (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])) )
1430
+				|| (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])))
1431 1431
 		)
1432 1432
 		{
1433 1433
 			if (!empty($hideprices) || !in_array(__FUNCTION__, explode(',', $conf->global->SUBTOTAL_TFIELD_TO_KEEP_WITH_NC)))
@@ -1440,22 +1440,22 @@  discard block
 block discarded – undo
1440 1440
 		return 0;
1441 1441
 	}
1442 1442
 	
1443
-	function pdf_getlinevatrate($parameters=array(), &$object, &$action='') {
1444
-	    global $conf,$hideprices,$hookmanager;
1443
+	function pdf_getlinevatrate($parameters = array(), &$object, &$action = '') {
1444
+	    global $conf, $hideprices, $hookmanager;
1445 1445
 	    
1446
-		if($this->isModSubtotalLine($parameters,$object) ){
1446
+		if ($this->isModSubtotalLine($parameters, $object)) {
1447 1447
 			$this->resprints = ' ';
1448 1448
 			
1449
-			if((float)DOL_VERSION<=3.6) {
1449
+			if ((float) DOL_VERSION <= 3.6) {
1450 1450
 				return '';
1451 1451
 			}
1452
-			else if((float)DOL_VERSION>=3.8) {
1452
+			else if ((float) DOL_VERSION >= 3.8) {
1453 1453
 				return 1;
1454 1454
 			}
1455 1455
 		}
1456 1456
 		
1457
-		if(is_array($parameters)) $i = & $parameters['i'];
1458
-		else $i = (int)$parameters;
1457
+		if (is_array($parameters)) $i = & $parameters['i'];
1458
+		else $i = (int) $parameters;
1459 1459
 		
1460 1460
 		if (empty($object->lines[$i])) return 0; // hideInnerLines => override $object->lines et Dolibarr ne nous permet pas de mettre à jour la variable qui conditionne la boucle sur les lignes (PR faite pour 6.0)
1461 1461
 
@@ -1482,7 +1482,7 @@  discard block
 block discarded – undo
1482 1482
 		    
1483 1483
 		    // Check if a title exist for this line && if the title have subtotal
1484 1484
 		    $lineTitle = TSubtotal::getParentTitleOfLine($object, $i);
1485
-		    if(TSubtotal::getParentTitleOfLine($object, $i) && TSubtotal::titleHasTotalLine($object, $lineTitle, true))
1485
+		    if (TSubtotal::getParentTitleOfLine($object, $i) && TSubtotal::titleHasTotalLine($object, $lineTitle, true))
1486 1486
 		    {
1487 1487
 		        
1488 1488
 		        $this->resprints = ' ';
@@ -1496,23 +1496,23 @@  discard block
 block discarded – undo
1496 1496
 		return 0;
1497 1497
 	}
1498 1498
 		
1499
-	function pdf_getlineprogress($parameters=array(), &$object, &$action) {
1499
+	function pdf_getlineprogress($parameters = array(), &$object, &$action) {
1500 1500
 		global $conf;
1501 1501
 		
1502
-		if($this->isModSubtotalLine($parameters,$object) ){
1502
+		if ($this->isModSubtotalLine($parameters, $object)) {
1503 1503
 			$this->resprints = ' ';
1504
-			if((float)DOL_VERSION<=3.6) {
1504
+			if ((float) DOL_VERSION <= 3.6) {
1505 1505
 				return '';
1506 1506
 			}
1507
-			else if((float)DOL_VERSION>=3.8) {
1507
+			else if ((float) DOL_VERSION >= 3.8) {
1508 1508
 				return 1;
1509 1509
 			}
1510 1510
 		}
1511 1511
 		
1512
-		if(is_array($parameters)) $i = & $parameters['i'];
1513
-		else $i = (int)$parameters;
1512
+		if (is_array($parameters)) $i = & $parameters['i'];
1513
+		else $i = (int) $parameters;
1514 1514
 			
1515
-		if (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])) )
1515
+		if (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])))
1516 1516
 		{
1517 1517
 			if (!in_array(__FUNCTION__, explode(',', $conf->global->SUBTOTAL_TFIELD_TO_KEEP_WITH_NC)))
1518 1518
 			{
@@ -1527,12 +1527,12 @@  discard block
 block discarded – undo
1527 1527
 	function add_numerotation(&$object) {
1528 1528
 		global $conf;
1529 1529
 		
1530
-		if(!empty($conf->global->SUBTOTAL_USE_NUMEROTATION)) {
1530
+		if (!empty($conf->global->SUBTOTAL_USE_NUMEROTATION)) {
1531 1531
 		
1532 1532
 			$TLevelTitre = array();
1533 1533
 			$prevlevel = 0;
1534 1534
 		
1535
-			foreach($object->lines as $k=>&$line) 
1535
+			foreach ($object->lines as $k=>&$line) 
1536 1536
 			{
1537 1537
 				if ($line->id > 0 && $this->isModSubtotalLine($k, $object) && $line->qty <= 10)
1538 1538
 				{
@@ -1546,12 +1546,12 @@  discard block
 block discarded – undo
1546 1546
 	}
1547 1547
 
1548 1548
 	// TODO ne gère pas encore la numération des lignes "Totaux"
1549
-	private function formatNumerotation(&$TLineTitle, $line_reference='', $level=1, $prefix_num=0)
1549
+	private function formatNumerotation(&$TLineTitle, $line_reference = '', $level = 1, $prefix_num = 0)
1550 1550
 	{
1551 1551
 		$TTitle = array();
1552 1552
 		
1553
-		$i=1;
1554
-		$j=0;
1553
+		$i = 1;
1554
+		$j = 0;
1555 1555
 		foreach ($TLineTitle as $k => &$line)
1556 1556
 		{
1557 1557
 			if (!empty($line_reference) && $line->rang <= $line_reference->rang) continue;
@@ -1561,7 +1561,7 @@  discard block
 block discarded – undo
1561 1561
 			{
1562 1562
 				$TTitle[$j]['numerotation'] = ($prefix_num == 0) ? $i : $prefix_num.'.'.$i;
1563 1563
 				//var_dump('Prefix == '.$prefix_num.' // '.$line->desc.' ==> numerotation == '.$TTitle[$j]['numerotation'].'   ###    '.$line->qty .'=='. $level);
1564
-				if (empty($line->label) && (float)DOL_VERSION < 6)
1564
+				if (empty($line->label) && (float) DOL_VERSION < 6)
1565 1565
 				{
1566 1566
 					$line->label = !empty($line->desc) ? $line->desc : $line->description;
1567 1567
 					$line->desc = $line->description = '';
@@ -1587,26 +1587,26 @@  discard block
 block discarded – undo
1587 1587
 	
1588 1588
 	function setDocTVA(&$pdf, &$object) {
1589 1589
 		
1590
-		$hidedetails = (int)GETPOST('hidedetails');
1590
+		$hidedetails = (int) GETPOST('hidedetails');
1591 1591
 		
1592
-		if(empty($hidedetails)) return false;
1592
+		if (empty($hidedetails)) return false;
1593 1593
 		
1594 1594
 		// TODO can't add VAT to document without lines... :-/
1595 1595
 		
1596 1596
 		return true;
1597 1597
 	}
1598 1598
 	
1599
-	function beforePDFCreation($parameters=array(), &$object, &$action)
1599
+	function beforePDFCreation($parameters = array(), &$object, &$action)
1600 1600
 	{
1601 1601
 		/**
1602 1602
 		 * @var $pdf    TCPDF
1603 1603
 		 */
1604
-		global $pdf,$conf, $langs;
1604
+		global $pdf, $conf, $langs;
1605 1605
 
1606 1606
 		// var_dump($object->lines);
1607 1607
 		dol_include_once('/subtotal/class/subtotal.class.php');
1608 1608
 
1609
-		foreach($parameters as $key=>$value) {
1609
+		foreach ($parameters as $key=>$value) {
1610 1610
 			${$key} = $value;
1611 1611
 		}
1612 1612
 		
@@ -1614,35 +1614,35 @@  discard block
 block discarded – undo
1614 1614
 		
1615 1615
 		$this->add_numerotation($object);	
1616 1616
 		
1617
-        foreach($object->lines as $k => &$l) {
1618
-            if(TSubtotal::isSubtotal($l)) {
1617
+        foreach ($object->lines as $k => &$l) {
1618
+            if (TSubtotal::isSubtotal($l)) {
1619 1619
                 $parentTitle = TSubtotal::getParentTitleOfLine($object, $k);
1620
-                if(is_object($parentTitle) && empty($parentTitle->array_options)) $parentTitle->fetch_optionals();
1621
-                if(! empty($parentTitle->id) && ! empty($parentTitle->array_options['options_show_total_ht'])) {
1622
-                    $l->remise_percent = 100;    // Affichage de la réduction sur la ligne de sous-total
1620
+                if (is_object($parentTitle) && empty($parentTitle->array_options)) $parentTitle->fetch_optionals();
1621
+                if (!empty($parentTitle->id) && !empty($parentTitle->array_options['options_show_total_ht'])) {
1622
+                    $l->remise_percent = 100; // Affichage de la réduction sur la ligne de sous-total
1623 1623
                 }
1624 1624
             }
1625 1625
         }
1626 1626
 
1627
-		$hideInnerLines = (int)GETPOST('hideInnerLines');
1628
-		$hidedetails = (int)GETPOST('hidedetails');
1627
+		$hideInnerLines = (int) GETPOST('hideInnerLines');
1628
+		$hidedetails = (int) GETPOST('hidedetails');
1629 1629
 
1630 1630
 		if ($hideInnerLines) { // si c une ligne de titre
1631
-	    	$fk_parent_line=0;
1632
-			$TLines =array();
1631
+	    	$fk_parent_line = 0;
1632
+			$TLines = array();
1633 1633
 		
1634
-			$original_count=count($object->lines);
1634
+			$original_count = count($object->lines);
1635 1635
 		    $TTvas = array(); // tableau de tva
1636 1636
 		    
1637
-			foreach($object->lines as $k=>&$line) 
1637
+			foreach ($object->lines as $k=>&$line) 
1638 1638
 			{
1639 1639
 			    
1640
-				if($line->product_type==9 && $line->rowid>0) 
1640
+				if ($line->product_type == 9 && $line->rowid > 0) 
1641 1641
 				{
1642 1642
 					$fk_parent_line = $line->rowid;
1643 1643
 					
1644 1644
 					// Fix tk7201 - si on cache le détail, la TVA est renseigné au niveau du sous-total, l'erreur c'est s'il y a plusieurs sous-totaux pour les même lignes, ça va faire la somme
1645
-					if(TSubtotal::isSubtotal($line)) 
1645
+					if (TSubtotal::isSubtotal($line)) 
1646 1646
 					{
1647 1647
 						/*$total = $this->getTotalLineFromObject($object, $line, '');
1648 1648
 						
@@ -1671,22 +1671,22 @@  discard block
 block discarded – undo
1671 1671
 			
1672 1672
 				if ($hideInnerLines)
1673 1673
 				{
1674
-				    if(!empty($conf->global->SUBTOTAL_REPLACE_WITH_VAT_IF_HIDE_INNERLINES))
1674
+				    if (!empty($conf->global->SUBTOTAL_REPLACE_WITH_VAT_IF_HIDE_INNERLINES))
1675 1675
 				    {
1676
-				        if($line->tva_tx != '0.000' && $line->product_type!=9){
1676
+				        if ($line->tva_tx != '0.000' && $line->product_type != 9) {
1677 1677
 				            
1678 1678
     				        // on remplit le tableau de tva pour substituer les lignes cachées
1679 1679
     				        $TTvas[$line->tva_tx]['total_tva'] += $line->total_tva;
1680 1680
     				        $TTvas[$line->tva_tx]['total_ht'] += $line->total_ht;
1681 1681
     				        $TTvas[$line->tva_tx]['total_ttc'] += $line->total_ttc; 
1682 1682
     				    }
1683
-    					if($line->product_type==9 && $line->rowid>0)
1683
+    					if ($line->product_type == 9 && $line->rowid > 0)
1684 1684
     					{
1685 1685
     					    //Cas où je doit cacher les produits et afficher uniquement les sous-totaux avec les titres
1686 1686
     					    // génère des lignes d'affichage des montants HT soumis à tva
1687 1687
     					    $nbtva = count($TTvas);
1688
-    					    if(!empty($nbtva)){
1689
-    					        foreach ($TTvas as $tx =>$val){
1688
+    					    if (!empty($nbtva)) {
1689
+    					        foreach ($TTvas as $tx =>$val) {
1690 1690
     					            $l = clone $line;
1691 1691
     					            $l->product_type = 1;
1692 1692
     					            $l->special_code = '';
@@ -1707,7 +1707,7 @@  discard block
 block discarded – undo
1707 1707
     					}
1708 1708
 				    } else {
1709 1709
 				        
1710
-				        if($line->product_type==9 && $line->rowid>0)
1710
+				        if ($line->product_type == 9 && $line->rowid > 0)
1711 1711
 				        {
1712 1712
 				            // ajoute la ligne de sous-total
1713 1713
 				            $TLines[] = $line; 
@@ -1735,9 +1735,9 @@  discard block
 block discarded – undo
1735 1735
 			
1736 1736
 			// cas incongru où il y aurait des produits en dessous du dernier sous-total
1737 1737
 			$nbtva = count($TTvas);
1738
-			if(!empty($nbtva) && $hideInnerLines && !empty($conf->global->SUBTOTAL_REPLACE_WITH_VAT_IF_HIDE_INNERLINES))
1738
+			if (!empty($nbtva) && $hideInnerLines && !empty($conf->global->SUBTOTAL_REPLACE_WITH_VAT_IF_HIDE_INNERLINES))
1739 1739
 			{
1740
-			    foreach ($TTvas as $tx =>$val){
1740
+			    foreach ($TTvas as $tx =>$val) {
1741 1741
 			        $l = clone $line;
1742 1742
 			        $l->product_type = 1;
1743 1743
 			        $l->special_code = '';
@@ -1754,11 +1754,11 @@  discard block
 block discarded – undo
1754 1754
 			}
1755 1755
 			
1756 1756
 			global $nblignes;
1757
-			$nblignes=count($TLines);
1757
+			$nblignes = count($TLines);
1758 1758
 
1759 1759
 			$object->lines = $TLines;
1760 1760
 			
1761
-			if($i>count($object->lines)) {
1761
+			if ($i > count($object->lines)) {
1762 1762
 				$this->resprints = '';
1763 1763
 				return 0;
1764 1764
 			}
@@ -1767,59 +1767,59 @@  discard block
 block discarded – undo
1767 1767
 		return 0;
1768 1768
 	}
1769 1769
 
1770
-	function pdf_writelinedesc($parameters=array(), &$object, &$action)
1770
+	function pdf_writelinedesc($parameters = array(), &$object, &$action)
1771 1771
 	{
1772 1772
 		/**
1773 1773
 		 * @var $pdf    TCPDF
1774 1774
 		 */
1775
-		global $pdf,$conf;
1775
+		global $pdf, $conf;
1776 1776
 
1777
-		foreach($parameters as $key=>$value) {
1777
+		foreach ($parameters as $key=>$value) {
1778 1778
 			${$key} = $value;
1779 1779
 		}
1780 1780
 		
1781
-		$hideInnerLines = (int)GETPOST('hideInnerLines');
1782
-		$hidedetails = (int)GETPOST('hidedetails');
1781
+		$hideInnerLines = (int) GETPOST('hideInnerLines');
1782
+		$hidedetails = (int) GETPOST('hidedetails');
1783 1783
 		
1784
-		if($this->isModSubtotalLine($parameters,$object) ){			
1784
+		if ($this->isModSubtotalLine($parameters, $object)) {			
1785 1785
 		
1786 1786
 				global $hideprices;
1787 1787
 				
1788
-				if(!empty($hideprices)) {
1789
-					foreach($object->lines as &$line) {
1790
-						if($line->fk_product_type!=9) $line->fk_parent_line = -1;	
1788
+				if (!empty($hideprices)) {
1789
+					foreach ($object->lines as &$line) {
1790
+						if ($line->fk_product_type != 9) $line->fk_parent_line = -1;	
1791 1791
 					}
1792 1792
 				}
1793 1793
 			
1794 1794
 				$line = &$object->lines[$i];
1795 1795
 				
1796
-				if($line->info_bits>0) { // PAGE BREAK
1796
+				if ($line->info_bits > 0) { // PAGE BREAK
1797 1797
 					$pdf->addPage();
1798 1798
 					$posy = $pdf->GetY();
1799 1799
 				}
1800 1800
 				
1801 1801
 				$label = $line->label;
1802
-				$description= !empty($line->desc) ? $outputlangs->convToOutputCharset($line->desc) : $outputlangs->convToOutputCharset($line->description);
1802
+				$description = !empty($line->desc) ? $outputlangs->convToOutputCharset($line->desc) : $outputlangs->convToOutputCharset($line->description);
1803 1803
 				
1804
-				if(empty($label)) {
1804
+				if (empty($label)) {
1805 1805
 					$label = $description;
1806
-					$description='';
1806
+					$description = '';
1807 1807
 				}
1808 1808
 				
1809
-				if($line->qty>90) {
1809
+				if ($line->qty > 90) {
1810 1810
 					
1811 1811
 					if ($conf->global->SUBTOTAL_USE_NEW_FORMAT)	$label .= ' '.$this->getTitle($object, $line);
1812 1812
 					
1813 1813
 					$pageBefore = $pdf->getPage();
1814
-					$this->pdf_add_total($pdf,$object, $line, $label, $description,$posx, $posy, $w, $h);
1814
+					$this->pdf_add_total($pdf, $object, $line, $label, $description, $posx, $posy, $w, $h);
1815 1815
 					$pageAfter = $pdf->getPage();	
1816 1816
 
1817
-					if($pageAfter>$pageBefore) {
1817
+					if ($pageAfter > $pageBefore) {
1818 1818
 						//print "ST $pageAfter>$pageBefore<br>";
1819 1819
 						$pdf->rollbackTransaction(true);	
1820
-						$pdf->addPage('','', true);
1820
+						$pdf->addPage('', '', true);
1821 1821
 						$posy = $pdf->GetY();
1822
-						$this->pdf_add_total($pdf,$object, $line, $label, $description,$posx, $posy, $w, $h);
1822
+						$this->pdf_add_total($pdf, $object, $line, $label, $description, $posx, $posy, $w, $h);
1823 1823
 						$posy = $pdf->GetY();
1824 1824
 						//print 'add ST'.$pdf->getPage().'<br />';
1825 1825
 					}
@@ -1830,7 +1830,7 @@  discard block
 block discarded – undo
1830 1830
 				else if ($line->qty < 10) {
1831 1831
 					$pageBefore = $pdf->getPage();
1832 1832
 
1833
-					$this->pdf_add_title($pdf,$object, $line, $label, $description,$posx, $posy, $w, $h); 
1833
+					$this->pdf_add_title($pdf, $object, $line, $label, $description, $posx, $posy, $w, $h); 
1834 1834
 					$pageAfter = $pdf->getPage();	
1835 1835
 
1836 1836
 					
@@ -1905,9 +1905,9 @@  discard block
 block discarded – undo
1905 1905
 	 * @param $hookmanager  HookManager
1906 1906
 	 * @return int
1907 1907
 	 */
1908
-	function printObjectLine ($parameters, &$object, &$action, $hookmanager){
1908
+	function printObjectLine($parameters, &$object, &$action, $hookmanager) {
1909 1909
 		
1910
-		global $conf,$langs,$user,$db,$bc;
1910
+		global $conf, $langs, $user, $db, $bc;
1911 1911
 		
1912 1912
 		$num = &$parameters['num'];
1913 1913
 		$line = &$parameters['line'];
@@ -1915,32 +1915,32 @@  discard block
 block discarded – undo
1915 1915
 		
1916 1916
 		$var = &$parameters['var'];
1917 1917
 
1918
-		$contexts = explode(':',$parameters['context']);
1918
+		$contexts = explode(':', $parameters['context']);
1919 1919
 
1920 1920
 		$createRight = $user->rights->{$object->element}->creer;
1921
-		if($object->element == 'facturerec' )
1921
+		if ($object->element == 'facturerec')
1922 1922
 		{
1923 1923
 			$object->statut = 0; // hack for facture rec
1924 1924
 			$createRight = $user->rights->facture->creer;
1925 1925
 		}
1926
-		elseif($object->element == 'order_supplier' )
1926
+		elseif ($object->element == 'order_supplier')
1927 1927
 		{
1928 1928
 		    $createRight = $user->rights->fournisseur->commande->creer;
1929 1929
 		}
1930
-		elseif($object->element == 'invoice_supplier' )
1930
+		elseif ($object->element == 'invoice_supplier')
1931 1931
 		{
1932 1932
 		    $createRight = $user->rights->fournisseur->facture->creer;
1933 1933
 		}
1934 1934
 		
1935
-		if($line->special_code!=$this->module_number || $line->product_type!=9) {
1935
+		if ($line->special_code != $this->module_number || $line->product_type != 9) {
1936 1936
 			null;
1937 1937
 		}	
1938
-		else if (in_array('invoicecard',$contexts) || in_array('invoicesuppliercard',$contexts) || in_array('propalcard',$contexts) || in_array('supplier_proposalcard',$contexts) || in_array('ordercard',$contexts) || in_array('ordersuppliercard',$contexts) || in_array('invoicereccard',$contexts)) 
1938
+		else if (in_array('invoicecard', $contexts) || in_array('invoicesuppliercard', $contexts) || in_array('propalcard', $contexts) || in_array('supplier_proposalcard', $contexts) || in_array('ordercard', $contexts) || in_array('ordersuppliercard', $contexts) || in_array('invoicereccard', $contexts)) 
1939 1939
         {
1940
-			if($object->element=='facture')$idvar = 'facid';
1941
-			else $idvar='id';
1940
+			if ($object->element == 'facture')$idvar = 'facid';
1941
+			else $idvar = 'id';
1942 1942
 			
1943
-			if((float)DOL_VERSION <= 3.4)
1943
+			if ((float) DOL_VERSION <= 3.4)
1944 1944
 			{
1945 1945
 				?>
1946 1946
 				<script type="text/javascript">
@@ -1964,22 +1964,22 @@  discard block
 block discarded – undo
1964 1964
 				<?php
1965 1965
 			}
1966 1966
 			
1967
-			if(empty($line->description)) $line->description = $line->desc;
1967
+			if (empty($line->description)) $line->description = $line->desc;
1968 1968
 			
1969 1969
 			$colspan = 5;
1970
-			if($object->element == 'facturerec' ) $colspan = 3;
1971
-			if($object->element == 'order_supplier') (float) DOL_VERSION < 7.0 ? $colspan = 3 : $colspan = 6;
1972
-			if($object->element == 'invoice_supplier') (float) DOL_VERSION < 7.0 ? $colspan = 4: $colspan = 7;
1973
-			if($object->element == 'supplier_proposal') (float) DOL_VERSION < 6.0 ? $colspan = 4 : $colspan = 3;
1974
-			if(!empty($conf->multicurrency->enabled) && ((float) DOL_VERSION < 8.0 || $object->multicurrency_code != $conf->currency)) {
1970
+			if ($object->element == 'facturerec') $colspan = 3;
1971
+			if ($object->element == 'order_supplier') (float) DOL_VERSION < 7.0 ? $colspan = 3 : $colspan = 6;
1972
+			if ($object->element == 'invoice_supplier') (float) DOL_VERSION < 7.0 ? $colspan = 4 : $colspan = 7;
1973
+			if ($object->element == 'supplier_proposal') (float) DOL_VERSION < 6.0 ? $colspan = 4 : $colspan = 3;
1974
+			if (!empty($conf->multicurrency->enabled) && ((float) DOL_VERSION < 8.0 || $object->multicurrency_code != $conf->currency)) {
1975 1975
 				$colspan++; // Colonne PU Devise
1976 1976
 			}
1977
-			if($object->element == 'commande' && $object->statut < 3 && !empty($conf->shippableorder->enabled)) $colspan++;
1978
-			if(!empty($conf->margin->enabled)) $colspan++;
1979
-			if(!empty($conf->global->DISPLAY_MARGIN_RATES)) $colspan++;
1980
-			if(!empty($conf->global->DISPLAY_MARK_RATES)) $colspan++;
1981
-			if($object->element == 'facture' && !empty($conf->global->INVOICE_USE_SITUATION) && $object->type == Facture::TYPE_SITUATION) $colspan++;
1982
-			if(!empty($conf->global->PRODUCT_USE_UNITS)) $colspan++;
1977
+			if ($object->element == 'commande' && $object->statut < 3 && !empty($conf->shippableorder->enabled)) $colspan++;
1978
+			if (!empty($conf->margin->enabled)) $colspan++;
1979
+			if (!empty($conf->global->DISPLAY_MARGIN_RATES)) $colspan++;
1980
+			if (!empty($conf->global->DISPLAY_MARK_RATES)) $colspan++;
1981
+			if ($object->element == 'facture' && !empty($conf->global->INVOICE_USE_SITUATION) && $object->type == Facture::TYPE_SITUATION) $colspan++;
1982
+			if (!empty($conf->global->PRODUCT_USE_UNITS)) $colspan++;
1983 1983
 					
1984 1984
 			/* Titre */
1985 1985
 			//var_dump($line);
@@ -1989,39 +1989,39 @@  discard block
 block discarded – undo
1989 1989
             
1990 1990
 			
1991 1991
 			?>
1992
-			<tr <?php echo $bc[$var]; $var=!$var; echo $data; ?> rel="subtotal" id="row-<?php echo $line->id ?>" style="<?php
1992
+			<tr <?php echo $bc[$var]; $var = !$var; echo $data; ?> rel="subtotal" id="row-<?php echo $line->id ?>" style="<?php
1993 1993
 					if (!empty($conf->global->SUBTOTAL_USE_NEW_FORMAT))
1994 1994
 					{
1995
-						if($line->qty==99) print 'background:#adadcf';
1996
-						else if($line->qty==98) print 'background:#ddddff;';
1997
-						else if($line->qty<=97 && $line->qty>=91) print 'background:#eeeeff;';
1998
-						else if($line->qty==1) print 'background:#adadcf;';
1999
-						else if($line->qty==2) print 'background:#ddddff;';
2000
-						else if($line->qty==50) print '';
1995
+						if ($line->qty == 99) print 'background:#adadcf';
1996
+						else if ($line->qty == 98) print 'background:#ddddff;';
1997
+						else if ($line->qty <= 97 && $line->qty >= 91) print 'background:#eeeeff;';
1998
+						else if ($line->qty == 1) print 'background:#adadcf;';
1999
+						else if ($line->qty == 2) print 'background:#ddddff;';
2000
+						else if ($line->qty == 50) print '';
2001 2001
 						else print 'background:#eeeeff;';
2002 2002
 
2003 2003
 						//A compléter si on veux plus de nuances de couleurs avec les niveau 4,5,6,7,8 et 9
2004 2004
 					}
2005 2005
 					else 
2006 2006
 					{
2007
-						if($line->qty==99) print 'background:#ddffdd';
2008
-						else if($line->qty==98) print 'background:#ddddff;';
2009
-						else if($line->qty==2) print 'background:#eeeeff; ';
2010
-						else if($line->qty==50) print '';
2011
-						else print 'background:#eeffee;' ;
2007
+						if ($line->qty == 99) print 'background:#ddffdd';
2008
+						else if ($line->qty == 98) print 'background:#ddddff;';
2009
+						else if ($line->qty == 2) print 'background:#eeeeff; ';
2010
+						else if ($line->qty == 50) print '';
2011
+						else print 'background:#eeffee;';
2012 2012
 					}
2013 2013
 
2014 2014
 			?>;">
2015 2015
 
2016
-				<?php if(! empty($conf->global->MAIN_VIEW_LINE_NUMBER)) { ?>
2016
+				<?php if (!empty($conf->global->MAIN_VIEW_LINE_NUMBER)) { ?>
2017 2017
 				<td class="linecolnum"><?php echo $i + 1; ?></td>
2018 2018
 				<?php } ?>
2019 2019
 
2020
-				<td colspan="<?php echo $colspan; ?>" style="<?php TSubtotal::isFreeText($line) ? '' : 'font-weight:bold;'; ?>  <?php echo ($line->qty>90)?'text-align:right':'' ?> "><?php
2021
-					if($action=='editline' && GETPOST('lineid') == $line->id && TSubtotal::isModSubtotalLine($line) ) {
2020
+				<td colspan="<?php echo $colspan; ?>" style="<?php TSubtotal::isFreeText($line) ? '' : 'font-weight:bold;'; ?>  <?php echo ($line->qty > 90) ? 'text-align:right' : '' ?> "><?php
2021
+					if ($action == 'editline' && GETPOST('lineid') == $line->id && TSubtotal::isModSubtotalLine($line)) {
2022 2022
 
2023
-						$params=array('line'=>$line);
2024
-						$reshook=$hookmanager->executeHooks('formEditProductOptions',$params,$object,$action);
2023
+						$params = array('line'=>$line);
2024
+						$reshook = $hookmanager->executeHooks('formEditProductOptions', $params, $object, $action);
2025 2025
 						
2026 2026
 						echo '<div id="line_'.$line->id.'"></div>'; // Imitation Dolibarr
2027 2027
 						echo '<input type="hidden" value="'.$line->id.'" name="lineid">';
@@ -2029,7 +2029,7 @@  discard block
 block discarded – undo
2029 2029
 						echo '<input id="product_id" type="hidden" value="'.$line->fk_product.'" name="type">';
2030 2030
 						echo '<input id="special_code" type="hidden" value="'.$line->special_code.'" name="type">';
2031 2031
 
2032
-						$isFreeText=false;
2032
+						$isFreeText = false;
2033 2033
 						if (TSubtotal::isTitle($line))
2034 2034
 						{
2035 2035
 							$qty_displayed = $line->qty;
@@ -2051,13 +2051,13 @@  discard block
 block discarded – undo
2051 2051
 						    $line->description = '';
2052 2052
 						}
2053 2053
 						$newlabel = $line->label;
2054
-						if($line->label=='' && !$isFreeText) {
2055
-							if(TSubtotal::isSubtotal($line)) {
2054
+						if ($line->label == '' && !$isFreeText) {
2055
+							if (TSubtotal::isSubtotal($line)) {
2056 2056
 								$newlabel = $line->description.' '.$this->getTitle($object, $line);
2057
-								$line->description='';
2058
-							} elseif( (float)DOL_VERSION < 6 ) {
2059
-								$newlabel= $line->description;
2060
-								$line->description='';
2057
+								$line->description = '';
2058
+							} elseif ((float) DOL_VERSION < 6) {
2059
+								$newlabel = $line->description;
2060
+								$line->description = '';
2061 2061
 							}
2062 2062
 						}
2063 2063
 
@@ -2066,10 +2066,10 @@  discard block
 block discarded – undo
2066 2066
 						
2067 2067
 						if (!$isFreeText) echo '<input type="text" name="line-title" id-line="'.$line->id.'" value="'.$newlabel.'" size="80" '.$readonlyForSituation.'/>&nbsp;';
2068 2068
 						
2069
-						if (!empty($conf->global->SUBTOTAL_USE_NEW_FORMAT) && (TSubtotal::isTitle($line) || TSubtotal::isSubtotal($line)) )
2069
+						if (!empty($conf->global->SUBTOTAL_USE_NEW_FORMAT) && (TSubtotal::isTitle($line) || TSubtotal::isSubtotal($line)))
2070 2070
 						{
2071 2071
 							$select = '<select name="subtotal_level">';
2072
-							for ($j=1; $j<10; $j++)
2072
+							for ($j = 1; $j < 10; $j++)
2073 2073
 							{
2074 2074
 								if (!empty($readonlyForSituation)) {
2075 2075
 									if ($qty_displayed == $j) $select .= '<option selected="selected" value="'.$j.'">'.$langs->trans('Level').' '.$j.'</option>';
@@ -2083,7 +2083,7 @@  discard block
 block discarded – undo
2083 2083
 
2084 2084
 						echo '<div class="subtotal_underline" style="margin-left:24px; line-height: 25px;">';
2085 2085
                         echo '<div>';
2086
-                        echo '<input style="vertical-align:sub;"  type="checkbox" name="line-pagebreak" id="subtotal-pagebreak" value="8" '.(($line->info_bits > 0) ? 'checked="checked"' : '') .' />&nbsp;';
2086
+                        echo '<input style="vertical-align:sub;"  type="checkbox" name="line-pagebreak" id="subtotal-pagebreak" value="8" '.(($line->info_bits > 0) ? 'checked="checked"' : '').' />&nbsp;';
2087 2087
                         echo '<label for="subtotal-pagebreak">'.$langs->trans('AddBreakPageBefore').'</label>';
2088 2088
                         echo '</div>';
2089 2089
 
@@ -2104,21 +2104,21 @@  discard block
 block discarded – undo
2104 2104
                                 echo '</div>';
2105 2105
                             }
2106 2106
                             echo '<div>';
2107
-                            echo '<input style="vertical-align:sub;"  type="checkbox" name="line-showTotalHT" id="subtotal-showTotalHT" value="9" '.(($line->array_options['options_show_total_ht'] > 0) ? 'checked="checked"' : '') .' />&nbsp;';
2107
+                            echo '<input style="vertical-align:sub;"  type="checkbox" name="line-showTotalHT" id="subtotal-showTotalHT" value="9" '.(($line->array_options['options_show_total_ht'] > 0) ? 'checked="checked"' : '').' />&nbsp;';
2108 2108
                             echo '<label for="subtotal-showTotalHT">'.$langs->trans('ShowTotalHTOnSubtotalBlock').'</label>';
2109 2109
                             echo '</div>';
2110 2110
 
2111 2111
                             echo '<div>';
2112
-                            echo '<input style="vertical-align:sub;"  type="checkbox" name="line-showReduc" id="subtotal-showReduc" value="1" '.(($line->array_options['options_show_reduc'] > 0) ? 'checked="checked"' : '') .' />&nbsp;';
2112
+                            echo '<input style="vertical-align:sub;"  type="checkbox" name="line-showReduc" id="subtotal-showReduc" value="1" '.(($line->array_options['options_show_reduc'] > 0) ? 'checked="checked"' : '').' />&nbsp;';
2113 2113
                             echo '<label for="subtotal-showReduc">'.$langs->trans('ShowReducOnSubtotalBlock').'</label>';
2114 2114
                             echo '</div>';
2115 2115
                         }
2116 2116
                         else if ($isFreeText) echo TSubtotal::getFreeTextHtml($line, (bool) $readonlyForSituation);
2117 2117
 						echo '</div>';
2118 2118
 
2119
-						if($line->qty<10) {
2119
+						if ($line->qty < 10) {
2120 2120
 							// WYSIWYG editor
2121
-							require_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php';
2121
+							require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
2122 2122
 							$nbrows = ROWS_2;
2123 2123
 							$cked_enabled = (!empty($conf->global->FCKEDITOR_ENABLE_DETAILS) ? $conf->global->FCKEDITOR_ENABLE_DETAILS : 0);
2124 2124
 							if (!empty($conf->global->MAIN_INPUT_DESC_HEIGHT)) {
@@ -2138,25 +2138,25 @@  discard block
 block discarded – undo
2138 2138
 
2139 2139
 						 if ($conf->global->SUBTOTAL_USE_NEW_FORMAT)
2140 2140
 						 {
2141
-							if(TSubtotal::isTitle($line) || TSubtotal::isSubtotal($line)) 
2141
+							if (TSubtotal::isTitle($line) || TSubtotal::isSubtotal($line)) 
2142 2142
 							{
2143
-								echo str_repeat('&nbsp;&nbsp;&nbsp;', $line->qty-1);
2143
+								echo str_repeat('&nbsp;&nbsp;&nbsp;', $line->qty - 1);
2144 2144
 								
2145 2145
 								if (TSubtotal::isTitle($line)) print img_picto('', 'subtotal@subtotal').'<span style="font-size:9px;margin-left:-3px;">'.$line->qty.'</span>&nbsp;&nbsp;';
2146
-								else print img_picto('', 'subtotal2@subtotal').'<span style="font-size:9px;margin-left:-1px;">'.(100-$line->qty).'</span>&nbsp;&nbsp;';
2146
+								else print img_picto('', 'subtotal2@subtotal').'<span style="font-size:9px;margin-left:-1px;">'.(100 - $line->qty).'</span>&nbsp;&nbsp;';
2147 2147
 							}
2148 2148
 						 }
2149 2149
 						 else 
2150 2150
 						 {
2151
-							if($line->qty<=1) print img_picto('', 'subtotal@subtotal');
2152
-							else if($line->qty==2) print img_picto('', 'subsubtotal@subtotal').'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'; 
2151
+							if ($line->qty <= 1) print img_picto('', 'subtotal@subtotal');
2152
+							else if ($line->qty == 2) print img_picto('', 'subsubtotal@subtotal').'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'; 
2153 2153
 						 }
2154 2154
 						 
2155 2155
 						 
2156 2156
 						 // Get display styles and apply them
2157 2157
 						 $titleStyleItalic = strpos($conf->global->SUBTOTAL_TITLE_STYLE, 'I') === false ? '' : ' font-style: italic;';
2158
-						 $titleStyleBold =  strpos($conf->global->SUBTOTAL_TITLE_STYLE, 'B') === false ? '' : ' font-weight:bold;';
2159
-						 $titleStyleUnderline =  strpos($conf->global->SUBTOTAL_TITLE_STYLE, 'U') === false ? '' : ' text-decoration: underline;';
2158
+						 $titleStyleBold = strpos($conf->global->SUBTOTAL_TITLE_STYLE, 'B') === false ? '' : ' font-weight:bold;';
2159
+						 $titleStyleUnderline = strpos($conf->global->SUBTOTAL_TITLE_STYLE, 'U') === false ? '' : ' text-decoration: underline;';
2160 2160
 						 
2161 2161
 						 if (empty($line->label)) {
2162 2162
 							if ($line->qty >= 91 && $line->qty <= 99 && $conf->global->SUBTOTAL_USE_NEW_FORMAT) print  $line->description.' '.$this->getTitle($object, $line);
@@ -2164,16 +2164,16 @@  discard block
 block discarded – undo
2164 2164
 						 } 
2165 2165
 						 else {
2166 2166
 
2167
-							if (! empty($conf->global->PRODUIT_DESC_IN_FORM) && !empty($line->description)) {
2167
+							if (!empty($conf->global->PRODUIT_DESC_IN_FORM) && !empty($line->description)) {
2168 2168
 								print '<span class="subtotal_label" style="'.$titleStyleItalic.$titleStyleBold.$titleStyleUnderline.'" >'.$line->label.'</span><br><div class="subtotal_desc">'.dol_htmlentitiesbr($line->description).'</div>';
2169 2169
 							}
2170
-							else{
2170
+							else {
2171 2171
 								print '<span class="subtotal_label classfortooltip '.$titleStyleItalic.$titleStyleBold.$titleStyleUnderline.'" title="'.$line->description.'">'.$line->label.'</span>';    
2172 2172
 							}
2173 2173
 
2174 2174
 						 } 
2175
-						if($line->qty>90) print ' : ';
2176
-						if($line->info_bits > 0) echo img_picto($langs->trans('Pagebreak'), 'pagebreak@subtotal');
2175
+						if ($line->qty > 90) print ' : ';
2176
+						if ($line->info_bits > 0) echo img_picto($langs->trans('Pagebreak'), 'pagebreak@subtotal');
2177 2177
 
2178 2178
 						 
2179 2179
 
@@ -2182,7 +2182,7 @@  discard block
 block discarded – undo
2182 2182
 			?></td>
2183 2183
 					 
2184 2184
 			<?php
2185
-				if($line->qty>90) {
2185
+				if ($line->qty > 90) {
2186 2186
 					/* Total */
2187 2187
 					$total_line = $this->getTotalLineFromObject($object, $line, '');
2188 2188
 					echo '<td class="linecolht nowrap" align="right" style="font-weight:bold;" rel="subtotal_total">'.price($total_line).'</td>';
@@ -2201,7 +2201,7 @@  discard block
 block discarded – undo
2201 2201
 				<?php
2202 2202
 				if ($action != 'selectlines') {
2203 2203
 				
2204
-					if($action=='editline' && GETPOST('lineid') == $line->id && TSubtotal::isModSubtotalLine($line) ) {
2204
+					if ($action == 'editline' && GETPOST('lineid') == $line->id && TSubtotal::isModSubtotalLine($line)) {
2205 2205
 						?>
2206 2206
 						<input id="savelinebutton" class="button" type="submit" name="save" value="<?php echo $langs->trans('Save') ?>" />
2207 2207
 						<br />
@@ -2217,13 +2217,13 @@  discard block
 block discarded – undo
2217 2217
 						<?php
2218 2218
 						
2219 2219
 					}
2220
-					else{
2221
-						if ($object->statut == 0  && $createRight && !empty($conf->global->SUBTOTAL_ALLOW_DUPLICATE_BLOCK) && $object->element !== 'invoice_supplier')
2220
+					else {
2221
+						if ($object->statut == 0 && $createRight && !empty($conf->global->SUBTOTAL_ALLOW_DUPLICATE_BLOCK) && $object->element !== 'invoice_supplier')
2222 2222
 						{
2223
-							if(TSubtotal::isTitle($line) && ( $line->fk_prev_id === null )) echo '<a href="'.$_SERVER['PHP_SELF'].'?'.$idvar.'='.$object->id.'&action=duplicate&lineid='.$line->id.'">'. img_picto($langs->trans('Duplicate'), 'duplicate@subtotal').'</a>';
2223
+							if (TSubtotal::isTitle($line) && ($line->fk_prev_id === null)) echo '<a href="'.$_SERVER['PHP_SELF'].'?'.$idvar.'='.$object->id.'&action=duplicate&lineid='.$line->id.'">'.img_picto($langs->trans('Duplicate'), 'duplicate@subtotal').'</a>';
2224 2224
 						}
2225 2225
 
2226
-						if ($object->statut == 0  && $createRight && !empty($conf->global->SUBTOTAL_ALLOW_EDIT_BLOCK)) 
2226
+						if ($object->statut == 0 && $createRight && !empty($conf->global->SUBTOTAL_ALLOW_EDIT_BLOCK)) 
2227 2227
 						{
2228 2228
 							echo '<a href="'.$_SERVER['PHP_SELF'].'?'.$idvar.'='.$object->id.'&action=editline&lineid='.$line->id.'">'.img_edit().'</a>';
2229 2229
 						}								
@@ -2238,7 +2238,7 @@  discard block
 block discarded – undo
2238 2238
 				<?php
2239 2239
 
2240 2240
 				if ($action != 'editline' && $action != 'selectlines') {
2241
-						if ($object->statut == 0  && $createRight && !empty($conf->global->SUBTOTAL_ALLOW_REMOVE_BLOCK))
2241
+						if ($object->statut == 0 && $createRight && !empty($conf->global->SUBTOTAL_ALLOW_REMOVE_BLOCK))
2242 2242
 						{
2243 2243
 
2244 2244
 							if ($line->fk_prev_id === null)
@@ -2246,12 +2246,12 @@  discard block
 block discarded – undo
2246 2246
 								echo '<a href="'.$_SERVER['PHP_SELF'].'?'.$idvar.'='.$object->id.'&action=ask_deleteline&lineid='.$line->id.'">'.img_delete().'</a>';
2247 2247
 							}
2248 2248
 
2249
-							if(TSubtotal::isTitle($line) && ($line->fk_prev_id === null) )
2249
+							if (TSubtotal::isTitle($line) && ($line->fk_prev_id === null))
2250 2250
 							{
2251 2251
 								if ((float) DOL_VERSION >= 8.0) {
2252 2252
 									$img_delete = img_delete($langs->trans('deleteWithAllLines'), ' class="pictodelete pictodeleteallline"');
2253 2253
 								} elseif ((float) DOL_VERSION >= 3.8) {
2254
-									$img_delete = img_picto($langs->trans('deleteWithAllLines'), 'delete_all.3.8@subtotal',' class="pictodelete" ');
2254
+									$img_delete = img_picto($langs->trans('deleteWithAllLines'), 'delete_all.3.8@subtotal', ' class="pictodelete" ');
2255 2255
 								} else {
2256 2256
 									$img_delete = img_picto($langs->trans('deleteWithAllLines'), 'delete_all@subtotal');
2257 2257
 								}
@@ -2261,7 +2261,7 @@  discard block
 block discarded – undo
2261 2261
 								/* Depuis la 8.0, les icônes "standard" utilisent FontAwesome et sont préconfigurées selon la clé de l'image
2262 2262
 								 * Impossible d'en customiser par exemple la couleur, même en utilisant img_picto() directement
2263 2263
 								 */
2264
-								if((float) DOL_VERSION >= 8.0) {
2264
+								if ((float) DOL_VERSION >= 8.0) {
2265 2265
 								?>
2266 2266
 								<script>
2267 2267
 									$(document).ready(function () {
@@ -2277,7 +2277,7 @@  discard block
 block discarded – undo
2277 2277
 			</td>
2278 2278
 			
2279 2279
 			<?php 
2280
-			if ($object->statut == 0  && $createRight && !empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && TSubtotal::isTitle($line) && $action != 'editline')
2280
+			if ($object->statut == 0 && $createRight && !empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && TSubtotal::isTitle($line) && $action != 'editline')
2281 2281
 			{
2282 2282
 				echo '<td class="subtotal_nc">';
2283 2283
 				echo '<input id="subtotal_nc-'.$line->id.'" class="subtotal_nc_chkbx" data-lineid="'.$line->id.'" type="checkbox" name="subtotal_nc" value="1" '.(!empty($line->array_options['options_subtotal_nc']) ? 'checked="checked"' : '').' />';
@@ -2288,11 +2288,11 @@  discard block
 block discarded – undo
2288 2288
 			<td align="center" class="linecolmove tdlineupdown">
2289 2289
 			</td>
2290 2290
 			<?php } else { ?>
2291
-			<td align="center"<?php echo ((empty($conf->browser->phone) && ($object->statut == 0  && $createRight ))?' class="tdlineupdown"':''); ?>></td>
2291
+			<td align="center"<?php echo ((empty($conf->browser->phone) && ($object->statut == 0 && $createRight)) ? ' class="tdlineupdown"' : ''); ?>></td>
2292 2292
 			<?php } ?>
2293 2293
 
2294
-			<?php  if($action == 'selectlines'){ // dolibarr 8 ?>
2295
-			<td class="linecolcheck" align="center"><input type="checkbox" class="linecheckbox" name="line_checkbox[<?php echo $i+1; ?>]" value="<?php echo $line->id; ?>" ></td>
2294
+			<?php  if ($action == 'selectlines') { // dolibarr 8 ?>
2295
+			<td class="linecolcheck" align="center"><input type="checkbox" class="linecheckbox" name="line_checkbox[<?php echo $i + 1; ?>]" value="<?php echo $line->id; ?>" ></td>
2296 2296
 			<?php } ?>
2297 2297
 
2298 2298
 			</tr>
@@ -2300,29 +2300,29 @@  discard block
 block discarded – undo
2300 2300
 			
2301 2301
 			
2302 2302
 			// Affichage des extrafields à la Dolibarr (car sinon non affiché sur les titres)
2303
-			if(TSubtotal::isTitle($line) && !empty($conf->global->SUBTOTAL_ALLOW_EXTRAFIELDS_ON_TITLE)) {
2303
+			if (TSubtotal::isTitle($line) && !empty($conf->global->SUBTOTAL_ALLOW_EXTRAFIELDS_ON_TITLE)) {
2304 2304
 				
2305
-				require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php';
2305
+				require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
2306 2306
 				
2307 2307
 				// Extrafields
2308 2308
 				$extrafieldsline = new ExtraFields($db);
2309 2309
 				$extralabelsline = $extrafieldsline->fetch_name_optionals_label($object->table_element_line);
2310 2310
 				
2311
-				$colspan+=3; $mode = 'view';
2312
-				if($action === 'editline' && $line->rowid == GETPOST('lineid')) $mode = 'edit';
2311
+				$colspan += 3; $mode = 'view';
2312
+				if ($action === 'editline' && $line->rowid == GETPOST('lineid')) $mode = 'edit';
2313 2313
 				
2314 2314
 				$ex_element = $line->element;
2315 2315
 				$line->element = 'tr_extrafield_title '.$line->element; // Pour pouvoir manipuler ces tr
2316
-				print $line->showOptionals($extrafieldsline, $mode, array('style'=>' style="background:#eeffee;" ','colspan'=>$colspan));
2316
+				print $line->showOptionals($extrafieldsline, $mode, array('style'=>' style="background:#eeffee;" ', 'colspan'=>$colspan));
2317 2317
 				$isExtraSelected = false;
2318
-				foreach($line->array_options as $option) {
2319
-					if(!empty($option) && $option != "-1") {
2318
+				foreach ($line->array_options as $option) {
2319
+					if (!empty($option) && $option != "-1") {
2320 2320
 						$isExtraSelected = true;
2321 2321
 						break;
2322 2322
 					}
2323 2323
 				}
2324 2324
 				
2325
-				if($mode === 'edit') {
2325
+				if ($mode === 'edit') {
2326 2326
 					?>
2327 2327
 					<script>
2328 2328
 						$(document).ready(function(){
@@ -2330,7 +2330,7 @@  discard block
 block discarded – undo
2330 2330
 							var all_tr_extrafields = $("tr.tr_extrafield_title");
2331 2331
 							<?php 
2332 2332
 							// Si un extrafield est rempli alors on affiche directement les extrafields
2333
-							if(!$isExtraSelected) {
2333
+							if (!$isExtraSelected) {
2334 2334
 								echo 'all_tr_extrafields.hide();';
2335 2335
 								echo 'var trad = "'.$langs->trans('showExtrafields').'";';
2336 2336
 								echo 'var extra = 0;';
@@ -2376,20 +2376,20 @@  discard block
 block discarded – undo
2376 2376
 
2377 2377
 	
2378 2378
 	function addMoreActionsButtons($parameters, &$object, &$action, $hookmanager) {
2379
-		global $conf,$langs;
2379
+		global $conf, $langs;
2380 2380
 		 
2381 2381
 		if ($object->statut == 0 && !empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && $action != 'editline')
2382 2382
 		{
2383 2383
 		    
2384
-		    if($object->element == 'invoice_supplier' || $object->element == 'order_supplier')
2384
+		    if ($object->element == 'invoice_supplier' || $object->element == 'order_supplier')
2385 2385
 		    {
2386 2386
 		        foreach ($object->lines as $line)
2387 2387
 		        {
2388 2388
 		            // fetch optionals attributes and labels
2389 2389
 		            require_once(DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php');
2390
-		            $extrafields=new ExtraFields($this->db);
2391
-		            $extralabels=$extrafields->fetch_name_optionals_label($object->table_element_line,true);
2392
-		            $line->fetch_optionals($line->id,$extralabels);
2390
+		            $extrafields = new ExtraFields($this->db);
2391
+		            $extralabels = $extrafields->fetch_name_optionals_label($object->table_element_line, true);
2392
+		            $line->fetch_optionals($line->id, $extralabels);
2393 2393
 		        }
2394 2394
 		    }
2395 2395
 		    
@@ -2489,23 +2489,23 @@  discard block
 block discarded – undo
2489 2489
 	    $ThtmlData['data-qty']          = 0; //$line->qty;
2490 2490
 	    $ThtmlData['data-level']        = TSubtotal::getNiveau($line);
2491 2491
 	    
2492
-	    if(TSubtotal::isTitle($line)){
2492
+	    if (TSubtotal::isTitle($line)) {
2493 2493
 	        $ThtmlData['data-issubtotal'] = 'title';
2494
-	    }elseif(TSubtotal::isSubtotal($line)){
2494
+	    }elseif (TSubtotal::isSubtotal($line)) {
2495 2495
 	        $ThtmlData['data-issubtotal'] = 'subtotal';
2496 2496
 	    }
2497
-	    else{
2497
+	    else {
2498 2498
 	        $ThtmlData['data-issubtotal'] = 'freetext';
2499 2499
 	    }
2500 2500
 	    
2501 2501
 	    
2502 2502
 	    // Change or add data  from hooks
2503
-	    $parameters = array_replace($parameters , array(  'ThtmlData' => $ThtmlData )  );
2503
+	    $parameters = array_replace($parameters, array('ThtmlData' => $ThtmlData));
2504 2504
 	    
2505 2505
 	    // hook 
2506
-	    $reshook = $hookmanager->executeHooks('subtotalLineHtmlData',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
2506
+	    $reshook = $hookmanager->executeHooks('subtotalLineHtmlData', $parameters, $object, $action); // Note that $action and $object may have been modified by hook
2507 2507
 	    if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
2508
-	    if ($reshook>0)
2508
+	    if ($reshook > 0)
2509 2509
 	    {
2510 2510
 	        $ThtmlData = $hookmanager->resArray;
2511 2511
 	    }
@@ -2518,14 +2518,14 @@  discard block
 block discarded – undo
2518 2518
 	function implodeHtmlData($ThtmlData = array())
2519 2519
 	{
2520 2520
 	    $data = '';
2521
-	    foreach($ThtmlData as $k => $h )
2521
+	    foreach ($ThtmlData as $k => $h)
2522 2522
 	    {
2523
-	        if(is_array($h))
2523
+	        if (is_array($h))
2524 2524
 	        {
2525 2525
 	            $h = json_encode($h);
2526 2526
 	        }
2527 2527
 	        
2528
-	        $data .= $k . '="'.dol_htmlentities($h, ENT_QUOTES).'" ';
2528
+	        $data .= $k.'="'.dol_htmlentities($h, ENT_QUOTES).'" ';
2529 2529
 	    }
2530 2530
 	    
2531 2531
 	    return $data;
@@ -2533,26 +2533,26 @@  discard block
 block discarded – undo
2533 2533
 	
2534 2534
 	function _ajax_block_order_js($object)
2535 2535
 	{
2536
-	    global $conf,$tagidfortablednd,$filepath,$langs;
2536
+	    global $conf, $tagidfortablednd, $filepath, $langs;
2537 2537
 	    
2538 2538
 	    /*
2539 2539
 	     * this part of js is base on dolibarr htdocs/core/tpl/ajaxrow.tpl.php 
2540 2540
 	     * for compatibility reasons we don't use tableDnD but jquery sortable
2541 2541
 	     */
2542 2542
 	    
2543
-	    $id=$object->id;
2544
-	    $nboflines=(isset($object->lines)?count($object->lines):0);
2545
-	    $forcereloadpage=empty($conf->global->MAIN_FORCE_RELOAD_PAGE)?0:1;
2543
+	    $id = $object->id;
2544
+	    $nboflines = (isset($object->lines) ?count($object->lines) : 0);
2545
+	    $forcereloadpage = empty($conf->global->MAIN_FORCE_RELOAD_PAGE) ? 0 : 1;
2546 2546
 	    
2547
-	    $id=$object->id;
2548
-	    $fk_element=$object->fk_element;
2549
-	    $table_element_line=$object->table_element_line;
2550
-	    $nboflines=(isset($object->lines)?count($object->lines):(empty($nboflines)?0:$nboflines));
2551
-	    $tagidfortablednd=(empty($tagidfortablednd)?'tablelines':$tagidfortablednd);
2552
-	    $filepath=(empty($filepath)?'':$filepath);
2547
+	    $id = $object->id;
2548
+	    $fk_element = $object->fk_element;
2549
+	    $table_element_line = $object->table_element_line;
2550
+	    $nboflines = (isset($object->lines) ?count($object->lines) : (empty($nboflines) ? 0 : $nboflines));
2551
+	    $tagidfortablednd = (empty($tagidfortablednd) ? 'tablelines' : $tagidfortablednd);
2552
+	    $filepath = (empty($filepath) ? '' : $filepath);
2553 2553
 	    
2554 2554
 	    
2555
-	    if (GETPOST('action','aZ09') != 'editline' && $nboflines > 1)
2555
+	    if (GETPOST('action', 'aZ09') != 'editline' && $nboflines > 1)
2556 2556
 	    {
2557 2557
 	        
2558 2558
 	        ?>
@@ -2570,7 +2570,7 @@  discard block
 block discarded – undo
2570 2570
 				moveBlockCol.disableSelection(); // prevent selection
2571 2571
 <?php if ($object->statut == 0) { ?>
2572 2572
 				// apply some graphical stuff
2573
-				moveBlockCol.css("background-image",'url(<?php echo dol_buildpath('subtotal/img/grip_all.png',2);  ?>)');
2573
+				moveBlockCol.css("background-image",'url(<?php echo dol_buildpath('subtotal/img/grip_all.png', 2); ?>)');
2574 2574
 				moveBlockCol.css("background-repeat","no-repeat");
2575 2575
 				moveBlockCol.css("background-position","center center");
2576 2576
 				moveBlockCol.css("cursor","move");
Please login to merge, or discard this patch.
Braces   +396 added lines, -240 removed lines patch added patch discarded remove patch
@@ -45,7 +45,9 @@  discard block
 block discarded – undo
45 45
 				$value = '';
46 46
 				$sql = 'SELECT content FROM '.MAIN_DB_PREFIX.'c_subtotal_free_text WHERE rowid = '.GETPOST('rowid');
47 47
 				$resql = $this->db->query($sql);
48
-				if ($resql && ($obj = $this->db->fetch_object($resql))) $value = $obj->content;
48
+				if ($resql && ($obj = $this->db->fetch_object($resql))) {
49
+					$value = $obj->content;
50
+				}
49 51
 			}
50 52
 			
51 53
 			?>
@@ -129,8 +131,11 @@  discard block
 block discarded – undo
129 131
 			if ($object->statut == 0  && $createRight) {
130 132
 			
131 133
 
132
-				if($object->element=='facture')$idvar = 'facid';
133
-				else $idvar='id';
134
+				if($object->element=='facture') {
135
+					$idvar = 'facid';
136
+				} else {
137
+					$idvar='id';
138
+				}
134 139
 				
135 140
 				if(in_array($action, array('add_title_line', 'add_total_line', 'add_subtitle_line', 'add_subtotal_line', 'add_free_text')) )
136 141
 				{
@@ -138,10 +143,11 @@  discard block
 block discarded – undo
138 143
 					
139 144
 					if($action=='add_title_line') {
140 145
 						$title = GETPOST('title');
141
-						if(empty($title)) $title = $langs->trans('title');
146
+						if(empty($title)) {
147
+							$title = $langs->trans('title');
148
+						}
142 149
 						$qty = $level<1 ? 1 : $level ;
143
-					}
144
-					else if($action=='add_free_text') {
150
+					} else if($action=='add_free_text') {
145 151
 						$title = GETPOST('title');
146 152
 
147 153
 						if (empty($title)) {
@@ -153,29 +159,31 @@  discard block
 block discarded – undo
153 159
 								}
154 160
 							}
155 161
 						}
156
-						if(empty($title)) $title = $langs->trans('subtotalAddLineDescription');
162
+						if(empty($title)) {
163
+							$title = $langs->trans('subtotalAddLineDescription');
164
+						}
157 165
 						$qty = 50;
158
-					}
159
-					else if($action=='add_subtitle_line') {
166
+					} else if($action=='add_subtitle_line') {
160 167
 						$title = GETPOST('title');
161
-						if(empty($title)) $title = $langs->trans('subtitle');
168
+						if(empty($title)) {
169
+							$title = $langs->trans('subtitle');
170
+						}
162 171
 						$qty = 2;
163
-					}
164
-					else if($action=='add_subtotal_line') {
172
+					} else if($action=='add_subtotal_line') {
165 173
 						$title = $langs->trans('SubSubTotal');
166 174
 						$qty = 98;
167
-					}
168
-					else {
175
+					} else {
169 176
 						$title = GETPOST('title') ? GETPOST('title') : $langs->trans('SubTotal');
170 177
 						$qty = $level ? 100-$level : 99;
171 178
 					}
172 179
 					dol_include_once('/subtotal/class/subtotal.class.php');
173 180
 					
174
-					if (!empty($conf->global->SUBTOTAL_AUTO_ADD_SUBTOTAL_ON_ADDING_NEW_TITLE) && $qty < 10) TSubtotal::addSubtotalMissing($object, $qty);
181
+					if (!empty($conf->global->SUBTOTAL_AUTO_ADD_SUBTOTAL_ON_ADDING_NEW_TITLE) && $qty < 10) {
182
+						TSubtotal::addSubtotalMissing($object, $qty);
183
+					}
175 184
 					
176 185
 	    			TSubtotal::addSubTotalLine($object, $title, $qty);
177
-				}
178
-				else if($action==='ask_deleteallline') {
186
+				} else if($action==='ask_deleteallline') {
179 187
 						$form=new Form($db);
180 188
 						
181 189
 						$lineid = GETPOST('lineid','integer');
@@ -198,8 +206,7 @@  discard block
 block discarded – undo
198 206
 					$this->printNewFormat($object, $conf, $langs, $idvar);
199 207
 				}
200 208
 			}
201
-		}
202
-		elseif ((!empty($parameters['currentcontext']) && $parameters['currentcontext'] == 'orderstoinvoice') || in_array('orderstoinvoice',$contexts))
209
+		} elseif ((!empty($parameters['currentcontext']) && $parameters['currentcontext'] == 'orderstoinvoice') || in_array('orderstoinvoice',$contexts))
203 210
 		{
204 211
 			?>
205 212
 			<script type="text/javascript">
@@ -217,8 +224,13 @@  discard block
 block discarded – undo
217 224
      
218 225
 	function printNewFormat(&$object, &$conf, &$langs, $idvar)
219 226
 	{
220
-		if (empty($conf->global->SUBTOTAL_ALLOW_ADD_BLOCK)) return false;
221
-		if ($line->fk_prev_id != null && !empty($line->fk_prev_id)) return false; // Si facture de situation
227
+		if (empty($conf->global->SUBTOTAL_ALLOW_ADD_BLOCK)) {
228
+			return false;
229
+		}
230
+		if ($line->fk_prev_id != null && !empty($line->fk_prev_id)) {
231
+			return false;
232
+		}
233
+		// Si facture de situation
222 234
 		?>
223 235
 		 	<script type="text/javascript">
224 236
 				$(document).ready(function() {
@@ -504,8 +516,7 @@  discard block
 block discarded – undo
504 516
 				}
505 517
 				
506 518
 				
507
-			}	
508
-			else{
519
+			} else{
509 520
 				$substitutionarray['line_not_modsubtotal'] = true;
510 521
 				$substitutionarray['line_modsubtotal'] = 0;
511 522
 			}
@@ -563,8 +574,11 @@  discard block
 block discarded – undo
563 574
 		
564 575
 		$showBlockExtrafields = GETPOST('showBlockExtrafields');
565 576
 		
566
-		if($object->element=='facture') $idvar = 'facid';
567
-		else $idvar = 'id';
577
+		if($object->element=='facture') {
578
+			$idvar = 'facid';
579
+		} else {
580
+			$idvar = 'id';
581
+		}
568 582
 			
569 583
 		if ($action == 'updateligne' || $action == 'updateline')
570 584
 		{
@@ -594,8 +608,7 @@  discard block
 block discarded – undo
594 608
 				header('Location: '.$_SERVER['PHP_SELF'].'?'.$idvar.'='.$object->id);
595 609
 				exit; // Surtout ne pas laisser Dolibarr faire du traitement sur le updateligne sinon ça plante les données de la ligne
596 610
 			}
597
-		}
598
-		else if($action === 'builddoc') {
611
+		} else if($action === 'builddoc') {
599 612
 			
600 613
 			if (
601 614
 				in_array('invoicecard',explode(':',$parameters['context']))
@@ -610,33 +623,27 @@  discard block
 block discarded – undo
610 623
 					$sessname = 'subtotal_hideInnerLines_facture';	
611 624
 					$sessname2 = 'subtotal_hidedetails_facture';
612 625
 					$sessname3 = 'subtotal_hideprices_facture';
613
-				}
614
-				elseif(in_array('invoicesuppliercard',explode(':',$parameters['context']))) {
626
+				} elseif(in_array('invoicesuppliercard',explode(':',$parameters['context']))) {
615 627
 				    $sessname = 'subtotal_hideInnerLines_facture_fournisseur';
616 628
 				    $sessname2 = 'subtotal_hidedetails_facture_fournisseur';
617 629
 				    $sessname3 = 'subtotal_hideprices_facture_fournisseur';
618
-				}
619
-				elseif(in_array('propalcard',explode(':',$parameters['context']))) {
630
+				} elseif(in_array('propalcard',explode(':',$parameters['context']))) {
620 631
 					$sessname = 'subtotal_hideInnerLines_propal';
621 632
 					$sessname2 = 'subtotal_hidedetails_propal';	
622 633
 					$sessname3 = 'subtotal_hideprices_propal';
623
-				}
624
-				elseif(in_array('supplier_proposalcard',explode(':',$parameters['context']))) {
634
+				} elseif(in_array('supplier_proposalcard',explode(':',$parameters['context']))) {
625 635
 				    $sessname = 'subtotal_hideInnerLines_supplier_proposal';
626 636
 				    $sessname2 = 'subtotal_hidedetails_supplier_proposal';
627 637
 				    $sessname3 = 'subtotal_hideprices_supplier_proposal';
628
-				}
629
-				elseif(in_array('ordercard',explode(':',$parameters['context']))) {
638
+				} elseif(in_array('ordercard',explode(':',$parameters['context']))) {
630 639
 					$sessname = 'subtotal_hideInnerLines_commande';
631 640
 					$sessname2 = 'subtotal_hidedetails_commande';	
632 641
 					$sessname3 = 'subtotal_hideprices_commande';
633
-				}
634
-				elseif(in_array('ordersuppliercard',explode(':',$parameters['context']))) {
642
+				} elseif(in_array('ordersuppliercard',explode(':',$parameters['context']))) {
635 643
 				    $sessname = 'subtotal_hideInnerLines_commande_fournisseur';
636 644
 				    $sessname2 = 'subtotal_hidedetails_commande_fournisseur';
637 645
 				    $sessname3 = 'subtotal_hideprices_commande_fournisseur';
638
-				}
639
-				else {
646
+				} else {
640 647
 					$sessname = 'subtotal_hideInnerLines_unknown';
641 648
 					$sessname2 = 'subtotal_hidedetails_unknown';
642 649
 					$sessname3 = 'subtotal_hideprices_unknown';
@@ -645,15 +652,24 @@  discard block
 block discarded – undo
645 652
 				global $hideprices;
646 653
 				
647 654
 				$hideInnerLines = (int)GETPOST('hideInnerLines');
648
-				if(!empty($_SESSION[$sessname]) && !is_array($_SESSION[$sessname][$object->id]) ) $_SESSION[$sessname] = array(); // prevent old system
655
+				if(!empty($_SESSION[$sessname]) && !is_array($_SESSION[$sessname][$object->id]) ) {
656
+					$_SESSION[$sessname] = array();
657
+				}
658
+				// prevent old system
649 659
 				$_SESSION[$sessname][$object->id] = $hideInnerLines;		
650 660
 				
651 661
 				$hidedetails= (int)GETPOST('hidedetails');
652
-				if(!empty($_SESSION[$sessname2]) && !is_array($_SESSION[$sessname2][$object->id]) ) $_SESSION[$sessname2] = array(); // prevent old system
662
+				if(!empty($_SESSION[$sessname2]) && !is_array($_SESSION[$sessname2][$object->id]) ) {
663
+					$_SESSION[$sessname2] = array();
664
+				}
665
+				// prevent old system
653 666
 				$_SESSION[$sessname2][$object->id] = $hidedetails;
654 667
 				
655 668
 				$hideprices= (int)GETPOST('hideprices');
656
-				if(!empty($_SESSION[$sessname3]) && !is_array($_SESSION[$sessname3][$object->id]) ) $_SESSION[$sessname3] = array(); // prevent old system
669
+				if(!empty($_SESSION[$sessname3]) && !is_array($_SESSION[$sessname3][$object->id]) ) {
670
+					$_SESSION[$sessname3] = array();
671
+				}
672
+				// prevent old system
657 673
 				$_SESSION[$sessname3][$object->id] = $hideprices;
658 674
 				
659 675
 				foreach($object->lines as &$line) {
@@ -661,8 +677,7 @@  discard block
 block discarded – undo
661 677
 					    
662 678
                         if($line->qty>=90) {
663 679
                             $line->modsubtotal_total = 1;
664
-                        }
665
-                        else{
680
+                        } else{
666 681
                             $line->modsubtotal_title = 1;
667 682
                         }
668 683
                         
@@ -671,8 +686,7 @@  discard block
 block discarded – undo
671 686
 	        	}
672 687
 	        }
673 688
 			
674
-		}
675
-		else if($action === 'confirm_delete_all_lines' && GETPOST('confirm')=='yes') {
689
+		} else if($action === 'confirm_delete_all_lines' && GETPOST('confirm')=='yes') {
676 690
 			
677 691
 			$Tab = $this->getArrayOfLineForAGroup($object, GETPOST('lineid'));
678 692
 			
@@ -680,7 +694,9 @@  discard block
 block discarded – undo
680 694
 				/**
681 695
 				 * @var $object Facture
682 696
 				 */
683
-				if($object->element=='facture') $object->deleteline($idLine);
697
+				if($object->element=='facture') {
698
+					$object->deleteline($idLine);
699
+				}
684 700
 				/**
685 701
 				 * @var $object Facture fournisseur
686 702
 				 */
@@ -691,18 +707,25 @@  discard block
 block discarded – undo
691 707
 				/**
692 708
 				 * @var $object Propal
693 709
 				 */
694
-				else if($object->element=='propal') $object->deleteline($idLine);
710
+				else if($object->element=='propal') {
711
+					$object->deleteline($idLine);
712
+				}
695 713
 				/**
696 714
 				 * @var $object Propal Fournisseur
697 715
 				 */
698
-				else if($object->element=='supplier_proposal') $object->deleteline($idLine);
716
+				else if($object->element=='supplier_proposal') {
717
+					$object->deleteline($idLine);
718
+				}
699 719
 				/**
700 720
 				 * @var $object Commande
701 721
 				 */
702 722
 				else if($object->element=='commande') 
703 723
 				{
704
-					if ((float) DOL_VERSION >= 5.0) $object->deleteline($user, $idLine);
705
-					else $object->deleteline($idLine);
724
+					if ((float) DOL_VERSION >= 5.0) {
725
+						$object->deleteline($user, $idLine);
726
+					} else {
727
+						$object->deleteline($idLine);
728
+					}
706 729
 				}
707 730
 				/**
708 731
 				 * @var $object Commande fournisseur
@@ -714,21 +737,26 @@  discard block
 block discarded – undo
714 737
 				/**
715 738
 				 * @var $object Facturerec
716 739
 				 */
717
-				else if($object->element=='facturerec') $object->deleteline($idLine);
740
+				else if($object->element=='facturerec') {
741
+					$object->deleteline($idLine);
742
+				}
718 743
 			}
719 744
 			
720 745
 			header('location:?id='.$object->id);
721 746
 			exit;
722 747
 			
723
-		}
724
-		else if ($action == 'duplicate')
748
+		} else if ($action == 'duplicate')
725 749
 		{
726 750
 			$lineid = GETPOST('lineid', 'int');
727 751
 			$nbDuplicate = TSubtotal::duplicateLines($object, $lineid, true);
728 752
 			
729
-			if ($nbDuplicate > 0) setEventMessage($langs->trans('subtotal_duplicate_success', $nbDuplicate));
730
-			elseif ($nbDuplicate == 0) setEventMessage($langs->trans('subtotal_duplicate_lineid_not_found'), 'warnings');
731
-			else setEventMessage($langs->trans('subtotal_duplicate_error'), 'errors');
753
+			if ($nbDuplicate > 0) {
754
+				setEventMessage($langs->trans('subtotal_duplicate_success', $nbDuplicate));
755
+			} elseif ($nbDuplicate == 0) {
756
+				setEventMessage($langs->trans('subtotal_duplicate_lineid_not_found'), 'warnings');
757
+			} else {
758
+				setEventMessage($langs->trans('subtotal_duplicate_error'), 'errors');
759
+			}
732 760
 			
733 761
 			header('Location: ?id='.$object->id);
734 762
 			exit;
@@ -746,21 +774,26 @@  discard block
 block discarded – undo
746 774
 		global $conf;
747 775
 		if (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && !empty($object->table_element_line) && in_array($object->element, array('commande', 'facture', 'propal')))
748 776
 		{
749
-			if ($object->element == 'commande')
750
-				$obj = new OrderLine($object->db);
751
-			if ($object->element == 'propal')
752
-				$obj = new PropaleLigne($object->db);
753
-			if ($object->element == 'facture')
754
-				$obj = new FactureLigne($object->db);
777
+			if ($object->element == 'commande') {
778
+							$obj = new OrderLine($object->db);
779
+			}
780
+			if ($object->element == 'propal') {
781
+							$obj = new PropaleLigne($object->db);
782
+			}
783
+			if ($object->element == 'facture') {
784
+							$obj = new FactureLigne($object->db);
785
+			}
755 786
 			if (!empty($parameters['fk_element']))
756 787
 			{
757 788
 				
758 789
 				if($obj->fetch($parameters['fk_element'])){
759 790
 					$obj->id= $obj->rowid;
760
-					if (empty($obj->array_options))
761
-						$obj->fetch_optionals();
762
-					if (!empty($obj->array_options['options_subtotal_nc']))
763
-						return 1;
791
+					if (empty($obj->array_options)) {
792
+											$obj->fetch_optionals();
793
+					}
794
+					if (!empty($obj->array_options['options_subtotal_nc'])) {
795
+											return 1;
796
+					}
764 797
 				}
765 798
 			}
766 799
 		}
@@ -832,27 +865,33 @@  discard block
 block discarded – undo
832 865
 		$TTotal_tva = array();
833 866
 		
834 867
 		$sign=1;
835
-		if (isset($object->type) && $object->type == 2 && ! empty($conf->global->INVOICE_POSITIVE_CREDIT_NOTE)) $sign=-1;
868
+		if (isset($object->type) && $object->type == 2 && ! empty($conf->global->INVOICE_POSITIVE_CREDIT_NOTE)) {
869
+			$sign=-1;
870
+		}
836 871
 		
837
-		if (GETPOST('action') == 'builddoc') $builddoc = true;
838
-		else $builddoc = false;
872
+		if (GETPOST('action') == 'builddoc') {
873
+			$builddoc = true;
874
+		} else {
875
+			$builddoc = false;
876
+		}
839 877
 		
840 878
 		dol_include_once('/subtotal/class/subtotal.class.php');
841 879
 		foreach($object->lines as $l) {
842 880
 			//print $l->rang.'>='.$rang.' '.$total.'<br/>';
843 881
 			if($l->rang>=$rang) {
844 882
 				//echo 'return!<br>';
845
-				if (!$return_all) return $total;
846
-				else return array($total, $total_tva, $total_ttc, $TTotal_tva);
847
-			}
848
-			else if(TSubtotal::isTitle($l, 100 - $qty_line)) 
883
+				if (!$return_all) {
884
+					return $total;
885
+				} else {
886
+					return array($total, $total_tva, $total_ttc, $TTotal_tva);
887
+				}
888
+			} else if(TSubtotal::isTitle($l, 100 - $qty_line)) 
849 889
 		  	{
850 890
 				$total = 0;
851 891
 				$total_tva = 0;
852 892
 				$total_ttc = 0;
853 893
 				$TTotal_tva = array();
854
-			}
855
-			elseif(!TSubtotal::isTitle($l) && !TSubtotal::isSubtotal($l)) {
894
+			} elseif(!TSubtotal::isTitle($l) && !TSubtotal::isSubtotal($l)) {
856 895
 				
857 896
 				// TODO retirer le test avec $builddoc quand Dolibarr affichera le total progression sur la card et pas seulement dans le PDF
858 897
 				if ($builddoc && $object->element == 'facture' && $object->type==Facture::TYPE_SITUATION)
@@ -874,8 +913,7 @@  discard block
 block discarded – undo
874 913
 						$TTotal_tva[$l->tva_tx] += $sign * ($l->total_tva / ($l->situation_percent / 100)) * $progress;
875 914
 						$total_ttc += $sign * ($l->total_tva / ($l->total_ttc / 100)) * $progress;
876 915
 					}
877
-				}
878
-				else
916
+				} else
879 917
 				{
880 918
 					$total += $l->total_ht;
881 919
 					$total_tva += $l->total_tva;
@@ -885,8 +923,11 @@  discard block
 block discarded – undo
885 923
 			}
886 924
 			
887 925
 		}
888
-		if (!$return_all) return $total;
889
-		else return array($total, $total_tva, $total_ttc, $TTotal_tva);
926
+		if (!$return_all) {
927
+			return $total;
928
+		} else {
929
+			return array($total, $total_tva, $total_ttc, $TTotal_tva);
930
+		}
890 931
 	}
891 932
 
892 933
 	/**
@@ -928,15 +969,18 @@  discard block
 block discarded – undo
928 969
 		}
929 970
 		
930 971
 			
931
-		if($line->qty==99)
932
-			$pdf->SetFillColor(220,220,220);
933
-		elseif ($line->qty==98)
934
-			$pdf->SetFillColor(230,230,230);
935
-		else
936
-			$pdf->SetFillColor(240,240,240);
972
+		if($line->qty==99) {
973
+					$pdf->SetFillColor(220,220,220);
974
+		} elseif ($line->qty==98) {
975
+					$pdf->SetFillColor(230,230,230);
976
+		} else {
977
+					$pdf->SetFillColor(240,240,240);
978
+		}
937 979
 		
938 980
 		$style = 'B';
939
-		if (!empty($conf->global->SUBTOTAL_SUBTOTAL_STYLE)) $style = $conf->global->SUBTOTAL_SUBTOTAL_STYLE;
981
+		if (!empty($conf->global->SUBTOTAL_SUBTOTAL_STYLE)) {
982
+			$style = $conf->global->SUBTOTAL_SUBTOTAL_STYLE;
983
+		}
940 984
 		
941 985
 		$pdf->SetFont('', $style, 9);
942 986
 		
@@ -978,8 +1022,7 @@  discard block
 block discarded – undo
978 1022
 //					$line->total_tva
979 1023
 //					$line->total
980 1024
 //					$line->total_ttc
981
-				}
982
-				else
1025
+				} else
983 1026
 				{
984 1027
 					list($total, $total_tva, $total_ttc, $TTotal_tva) = $this->getTotalLineFromObject($object, $line, '', 1);
985 1028
 					$total_to_print = price($total);
@@ -992,11 +1035,14 @@  discard block
 block discarded – undo
992 1035
 			}
993 1036
 
994 1037
 			$pdf->SetXY($pdf->postotalht, $posy);
995
-			if($set_pagebreak_margin) $pdf->SetAutoPageBreak( $pageBreakOriginalValue , $bMargin);
1038
+			if($set_pagebreak_margin) {
1039
+				$pdf->SetAutoPageBreak( $pageBreakOriginalValue , $bMargin);
1040
+			}
996 1041
 			$pdf->MultiCell($pdf->page_largeur-$pdf->marge_droite-$pdf->postotalht, 3, $total_to_print, 0, 'R', 0);
997
-		}
998
-		else{
999
-			if($set_pagebreak_margin) $pdf->SetAutoPageBreak( $pageBreakOriginalValue , $bMargin);
1042
+		} else{
1043
+			if($set_pagebreak_margin) {
1044
+				$pdf->SetAutoPageBreak( $pageBreakOriginalValue , $bMargin);
1045
+			}
1000 1046
 		}
1001 1047
 		
1002 1048
 		$posy = $posy + $cell_height;
@@ -1028,25 +1074,40 @@  discard block
 block discarded – undo
1028 1074
 		
1029 1075
  
1030 1076
 		$style = ($line->qty==1) ? 'BU' : 'BUI';
1031
-		if (!empty($conf->global->SUBTOTAL_TITLE_STYLE)) $style = $conf->global->SUBTOTAL_TITLE_STYLE;
1077
+		if (!empty($conf->global->SUBTOTAL_TITLE_STYLE)) {
1078
+			$style = $conf->global->SUBTOTAL_TITLE_STYLE;
1079
+		}
1032 1080
 		
1033 1081
 		if($hideInnerLines) {
1034
-			if($line->qty==1)$pdf->SetFont('', $style, 9);
1035
-			else 
1082
+			if($line->qty==1) {
1083
+				$pdf->SetFont('', $style, 9);
1084
+			} else 
1036 1085
 			{
1037
-				if (!empty($conf->global->SUBTOTAL_STYLE_TITRES_SI_LIGNES_CACHEES)) $style = $conf->global->SUBTOTAL_STYLE_TITRES_SI_LIGNES_CACHEES;
1086
+				if (!empty($conf->global->SUBTOTAL_STYLE_TITRES_SI_LIGNES_CACHEES)) {
1087
+					$style = $conf->global->SUBTOTAL_STYLE_TITRES_SI_LIGNES_CACHEES;
1088
+				}
1038 1089
 				$pdf->SetFont('', $style, 9);
1039 1090
 			}
1040
-		}
1041
-		else {
1091
+		} else {
1042 1092
 
1043
-			if($line->qty==1)$pdf->SetFont('', $style, 9); //TODO if super utile
1044
-			else $pdf->SetFont('', $style, 9);
1093
+			if($line->qty==1) {
1094
+				$pdf->SetFont('', $style, 9);
1095
+			}
1096
+			//TODO if super utile
1097
+			else {
1098
+				$pdf->SetFont('', $style, 9);
1099
+			}
1045 1100
 			
1046 1101
 		}
1047 1102
 		
1048
-		if ($label === strip_tags($label) && $label === dol_html_entity_decode($label, ENT_QUOTES)) $pdf->MultiCell($w, $h, $label, 0, 'L'); // Pas de HTML dans la chaine
1049
-		else $pdf->writeHTMLCell($w, $h, $posx, $posy, $label, 0, 1, false, true, 'J',true); // et maintenant avec du HTML
1103
+		if ($label === strip_tags($label) && $label === dol_html_entity_decode($label, ENT_QUOTES)) {
1104
+			$pdf->MultiCell($w, $h, $label, 0, 'L');
1105
+		}
1106
+		// Pas de HTML dans la chaine
1107
+		else {
1108
+			$pdf->writeHTMLCell($w, $h, $posx, $posy, $label, 0, 1, false, true, 'J',true);
1109
+		}
1110
+		// et maintenant avec du HTML
1050 1111
 		
1051 1112
 		if($description && !$hidedesc) {
1052 1113
 			$posy = $pdf->GetY();
@@ -1070,8 +1131,7 @@  discard block
 block discarded – undo
1070 1131
 		
1071 1132
 		if(is_array($parameters)) {
1072 1133
 			$i = & $parameters['i'];	
1073
-		}
1074
-		else {
1134
+		} else {
1075 1135
 			$i = (int)$parameters;
1076 1136
 		}
1077 1137
 		
@@ -1093,17 +1153,14 @@  discard block
 block discarded – undo
1093 1153
 			
1094 1154
 			if((float)DOL_VERSION<=3.6) {
1095 1155
 				return '';
1096
-			}
1097
-			else if((float)DOL_VERSION>=3.8) {
1156
+			} else if((float)DOL_VERSION>=3.8) {
1098 1157
 				return 1;
1099 1158
 			}
1100 1159
 			
1101
-		}
1102
-		elseif(!empty($hideprices)) {
1160
+		} elseif(!empty($hideprices)) {
1103 1161
 			$this->resprints = $object->lines[$parameters['i']]->qty;
1104 1162
 			return 1;
1105
-		}
1106
-		elseif (!empty($conf->global->SUBTOTAL_IF_HIDE_PRICES_SHOW_QTY))
1163
+		} elseif (!empty($conf->global->SUBTOTAL_IF_HIDE_PRICES_SHOW_QTY))
1107 1164
 		{
1108 1165
 			$hideInnerLines = (int)GETPOST('hideInnerLines');
1109 1166
 			$hidedetails = (int)GETPOST('hidedetails');
@@ -1113,12 +1170,20 @@  discard block
 block discarded – undo
1113 1170
 			}
1114 1171
 		}
1115 1172
 		
1116
-		if(is_array($parameters)) $i = & $parameters['i'];
1117
-		else $i = (int)$parameters;
1173
+		if(is_array($parameters)) {
1174
+			$i = & $parameters['i'];
1175
+		} else {
1176
+			$i = (int)$parameters;
1177
+		}
1118 1178
 
1119
-		if (empty($object->lines[$i])) return 0; // hideInnerLines => override $object->lines et Dolibarr ne nous permet pas de mettre à jour la variable qui conditionne la boucle sur les lignes (PR faite pour 6.0)
1179
+		if (empty($object->lines[$i])) {
1180
+			return 0;
1181
+		}
1182
+		// hideInnerLines => override $object->lines et Dolibarr ne nous permet pas de mettre à jour la variable qui conditionne la boucle sur les lignes (PR faite pour 6.0)
1120 1183
 		
1121
-		if(empty($object->lines[$i]->array_options)) $object->lines[$i]->fetch_optionals();
1184
+		if(empty($object->lines[$i]->array_options)) {
1185
+			$object->lines[$i]->fetch_optionals();
1186
+		}
1122 1187
 
1123 1188
 		if (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])) )
1124 1189
 		{
@@ -1135,8 +1200,11 @@  discard block
 block discarded – undo
1135 1200
 	function pdf_getlinetotalexcltax($parameters=array(), &$object, &$action='') {
1136 1201
 	    global $conf, $hideprices, $hookmanager;
1137 1202
 		
1138
-		if(is_array($parameters)) $i = & $parameters['i'];
1139
-		else $i = (int)$parameters;
1203
+		if(is_array($parameters)) {
1204
+			$i = & $parameters['i'];
1205
+		} else {
1206
+			$i = (int)$parameters;
1207
+		}
1140 1208
 			
1141 1209
 		if($this->isModSubtotalLine($parameters,$object) ){
1142 1210
 			
@@ -1144,13 +1212,11 @@  discard block
 block discarded – undo
1144 1212
 			
1145 1213
 			if((float)DOL_VERSION<=3.6) {
1146 1214
 				return '';
1147
-			}
1148
-			else if((float)DOL_VERSION>=3.8) {
1215
+			} else if((float)DOL_VERSION>=3.8) {
1149 1216
 				return 1;
1150 1217
 			}
1151 1218
 			
1152
-		}
1153
-		elseif (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS))
1219
+		} elseif (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS))
1154 1220
 		{
1155 1221
 			if (!in_array(__FUNCTION__, explode(',', $conf->global->SUBTOTAL_TFIELD_TO_KEEP_WITH_NC)))
1156 1222
 			{
@@ -1222,12 +1288,10 @@  discard block
 block discarded – undo
1222 1288
 			$this->error = $hookmanager->error;
1223 1289
 			$this->errors = $hookmanager->errors;
1224 1290
 			return -1;
1225
-		}
1226
-		elseif (empty($reshook))
1291
+		} elseif (empty($reshook))
1227 1292
 		{
1228 1293
 			$this->resprints .= $hookmanager->resprints;
1229
-		}
1230
-		else
1294
+		} else
1231 1295
 		{
1232 1296
 			$this->resprints = $hookmanager->resprints;
1233 1297
 
@@ -1250,14 +1314,16 @@  discard block
 block discarded – undo
1250 1314
 		
1251 1315
 			if((float)DOL_VERSION<=3.6) {
1252 1316
 				return '';
1253
-			}
1254
-			else if((float)DOL_VERSION>=3.8) {
1317
+			} else if((float)DOL_VERSION>=3.8) {
1255 1318
 				return 1;
1256 1319
 			}
1257 1320
 		}
1258 1321
 		
1259
-		if(is_array($parameters)) $i = & $parameters['i'];
1260
-		else $i = (int)$parameters;
1322
+		if(is_array($parameters)) {
1323
+			$i = & $parameters['i'];
1324
+		} else {
1325
+			$i = (int)$parameters;
1326
+		}
1261 1327
 		
1262 1328
 		if (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])) ) 
1263 1329
 		{
@@ -1279,14 +1345,16 @@  discard block
 block discarded – undo
1279 1345
 		
1280 1346
 			if((float)DOL_VERSION<=3.6) {
1281 1347
 				return '';
1282
-			}
1283
-			else if((float)DOL_VERSION>=3.8) {
1348
+			} else if((float)DOL_VERSION>=3.8) {
1284 1349
 				return 1;
1285 1350
 			}
1286 1351
 		}
1287 1352
 		
1288
-		if(is_array($parameters)) $i = & $parameters['i'];
1289
-		else $i = (int)$parameters;
1353
+		if(is_array($parameters)) {
1354
+			$i = & $parameters['i'];
1355
+		} else {
1356
+			$i = (int)$parameters;
1357
+		}
1290 1358
 			
1291 1359
 		if (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])) )
1292 1360
 		{
@@ -1303,8 +1371,11 @@  discard block
 block discarded – undo
1303 1371
 	function pdf_getlineupexcltax($parameters=array(), &$object, &$action='') {
1304 1372
 	    global $conf,$hideprices,$hookmanager;
1305 1373
 
1306
-		if(is_array($parameters)) $i = & $parameters['i'];
1307
-		else $i = (int)$parameters;
1374
+		if(is_array($parameters)) {
1375
+			$i = & $parameters['i'];
1376
+		} else {
1377
+			$i = (int)$parameters;
1378
+		}
1308 1379
 
1309 1380
 		if($this->isModSubtotalLine($parameters,$object) ) {
1310 1381
 			$this->resprints = ' ';
@@ -1315,7 +1386,9 @@  discard block
 block discarded – undo
1315 1386
             if(TSubtotal::isSubtotal($line)) {
1316 1387
                 $parentTitle = TSubtotal::getParentTitleOfLine($object, $i);
1317 1388
 
1318
-                if(is_object($parentTitle) && empty($parentTitle->array_options)) $parentTitle->fetch_optionals();
1389
+                if(is_object($parentTitle) && empty($parentTitle->array_options)) {
1390
+                	$parentTitle->fetch_optionals();
1391
+                }
1319 1392
                 if(! empty($parentTitle->array_options['options_show_total_ht'])) {
1320 1393
                     $TTotal = TSubtotal::getTotalBlockFromTitle($object, $parentTitle);
1321 1394
                     $this->resprints = price($TTotal['total_subprice']);
@@ -1324,8 +1397,7 @@  discard block
 block discarded – undo
1324 1397
 		
1325 1398
 			if((float)DOL_VERSION<=3.6) {
1326 1399
 				return '';
1327
-			}
1328
-			else if((float)DOL_VERSION>=3.8) {
1400
+			} else if((float)DOL_VERSION>=3.8) {
1329 1401
 				return 1;
1330 1402
 			}
1331 1403
 		}
@@ -1370,8 +1442,11 @@  discard block
 block discarded – undo
1370 1442
 	function pdf_getlineremisepercent($parameters=array(), &$object, &$action='') {
1371 1443
 	    global $conf,$hideprices,$hookmanager;
1372 1444
 
1373
-        if(is_array($parameters)) $i = & $parameters['i'];
1374
-        else $i = (int) $parameters;
1445
+        if(is_array($parameters)) {
1446
+        	$i = & $parameters['i'];
1447
+        } else {
1448
+        	$i = (int) $parameters;
1449
+        }
1375 1450
 
1376 1451
 		if($this->isModSubtotalLine($parameters,$object) ) {
1377 1452
 			$this->resprints = ' ';
@@ -1382,7 +1457,9 @@  discard block
 block discarded – undo
1382 1457
             if(TSubtotal::isSubtotal($line)) {
1383 1458
                 $parentTitle = TSubtotal::getParentTitleOfLine($object, $i);
1384 1459
 
1385
-                if(empty($parentTitle->array_options)) $parentTitle->fetch_optionals();
1460
+                if(empty($parentTitle->array_options)) {
1461
+                	$parentTitle->fetch_optionals();
1462
+                }
1386 1463
                 if(! empty($parentTitle->array_options['options_show_reduc'])) {
1387 1464
                     $TTotal = TSubtotal::getTotalBlockFromTitle($object, $parentTitle);
1388 1465
                     $this->resprints = price((1-$TTotal['total_ht'] / $TTotal['total_subprice'])*100, 0, '', 1, 2, 2).'%';
@@ -1391,12 +1468,10 @@  discard block
 block discarded – undo
1391 1468
 		
1392 1469
 			if((float)DOL_VERSION<=3.6) {
1393 1470
 				return '';
1394
-			}
1395
-			else if((float)DOL_VERSION>=3.8) {
1471
+			} else if((float)DOL_VERSION>=3.8) {
1396 1472
 				return 1;
1397 1473
 			}
1398
-		}
1399
-		elseif (!empty($hideprices)
1474
+		} elseif (!empty($hideprices)
1400 1475
 		        || (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])) )
1401 1476
 		        )
1402 1477
 		    {
@@ -1417,14 +1492,16 @@  discard block
 block discarded – undo
1417 1492
 			$this->resprints = ' ';
1418 1493
 			if((float)DOL_VERSION<=3.6) {
1419 1494
 				return '';
1420
-			}
1421
-			else if((float)DOL_VERSION>=3.8) {
1495
+			} else if((float)DOL_VERSION>=3.8) {
1422 1496
 				return 1;
1423 1497
 			}
1424 1498
 		}
1425 1499
 		
1426
-		if(is_array($parameters)) $i = & $parameters['i'];
1427
-		else $i = (int)$parameters;
1500
+		if(is_array($parameters)) {
1501
+			$i = & $parameters['i'];
1502
+		} else {
1503
+			$i = (int)$parameters;
1504
+		}
1428 1505
 			
1429 1506
 		if (!empty($hideprices)
1430 1507
 				|| (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])) )
@@ -1448,16 +1525,21 @@  discard block
 block discarded – undo
1448 1525
 			
1449 1526
 			if((float)DOL_VERSION<=3.6) {
1450 1527
 				return '';
1451
-			}
1452
-			else if((float)DOL_VERSION>=3.8) {
1528
+			} else if((float)DOL_VERSION>=3.8) {
1453 1529
 				return 1;
1454 1530
 			}
1455 1531
 		}
1456 1532
 		
1457
-		if(is_array($parameters)) $i = & $parameters['i'];
1458
-		else $i = (int)$parameters;
1533
+		if(is_array($parameters)) {
1534
+			$i = & $parameters['i'];
1535
+		} else {
1536
+			$i = (int)$parameters;
1537
+		}
1459 1538
 		
1460
-		if (empty($object->lines[$i])) return 0; // hideInnerLines => override $object->lines et Dolibarr ne nous permet pas de mettre à jour la variable qui conditionne la boucle sur les lignes (PR faite pour 6.0)
1539
+		if (empty($object->lines[$i])) {
1540
+			return 0;
1541
+		}
1542
+		// hideInnerLines => override $object->lines et Dolibarr ne nous permet pas de mettre à jour la variable qui conditionne la boucle sur les lignes (PR faite pour 6.0)
1461 1543
 
1462 1544
 		$object->lines[$i]->fetch_optionals();
1463 1545
 		// Si la gestion C/NC est active et que je suis sur un ligne dont l'extrafield est coché
@@ -1503,14 +1585,16 @@  discard block
 block discarded – undo
1503 1585
 			$this->resprints = ' ';
1504 1586
 			if((float)DOL_VERSION<=3.6) {
1505 1587
 				return '';
1506
-			}
1507
-			else if((float)DOL_VERSION>=3.8) {
1588
+			} else if((float)DOL_VERSION>=3.8) {
1508 1589
 				return 1;
1509 1590
 			}
1510 1591
 		}
1511 1592
 		
1512
-		if(is_array($parameters)) $i = & $parameters['i'];
1513
-		else $i = (int)$parameters;
1593
+		if(is_array($parameters)) {
1594
+			$i = & $parameters['i'];
1595
+		} else {
1596
+			$i = (int)$parameters;
1597
+		}
1514 1598
 			
1515 1599
 		if (!empty($conf->global->SUBTOTAL_MANAGE_COMPRIS_NONCOMPRIS) && (!empty($object->lines[$i]->array_options['options_subtotal_nc']) || TSubtotal::hasNcTitle($object->lines[$i])) )
1516 1600
 		{
@@ -1540,7 +1624,9 @@  discard block
 block discarded – undo
1540 1624
 				}
1541 1625
 			}
1542 1626
 			
1543
-			if (!empty($TLineTitle)) $TTitleNumeroted = $this->formatNumerotation($TLineTitle);
1627
+			if (!empty($TLineTitle)) {
1628
+				$TTitleNumeroted = $this->formatNumerotation($TLineTitle);
1629
+			}
1544 1630
 		}
1545 1631
 		
1546 1632
 	}
@@ -1554,8 +1640,12 @@  discard block
 block discarded – undo
1554 1640
 		$j=0;
1555 1641
 		foreach ($TLineTitle as $k => &$line)
1556 1642
 		{
1557
-			if (!empty($line_reference) && $line->rang <= $line_reference->rang) continue;
1558
-			if (!empty($line_reference) && $line->qty <= $line_reference->qty) break;
1643
+			if (!empty($line_reference) && $line->rang <= $line_reference->rang) {
1644
+				continue;
1645
+			}
1646
+			if (!empty($line_reference) && $line->qty <= $line_reference->qty) {
1647
+				break;
1648
+			}
1559 1649
 			
1560 1650
 			if ($line->qty == $level)
1561 1651
 			{
@@ -1589,7 +1679,9 @@  discard block
 block discarded – undo
1589 1679
 		
1590 1680
 		$hidedetails = (int)GETPOST('hidedetails');
1591 1681
 		
1592
-		if(empty($hidedetails)) return false;
1682
+		if(empty($hidedetails)) {
1683
+			return false;
1684
+		}
1593 1685
 		
1594 1686
 		// TODO can't add VAT to document without lines... :-/
1595 1687
 		
@@ -1617,7 +1709,9 @@  discard block
 block discarded – undo
1617 1709
         foreach($object->lines as $k => &$l) {
1618 1710
             if(TSubtotal::isSubtotal($l)) {
1619 1711
                 $parentTitle = TSubtotal::getParentTitleOfLine($object, $k);
1620
-                if(is_object($parentTitle) && empty($parentTitle->array_options)) $parentTitle->fetch_optionals();
1712
+                if(is_object($parentTitle) && empty($parentTitle->array_options)) {
1713
+                	$parentTitle->fetch_optionals();
1714
+                }
1621 1715
                 if(! empty($parentTitle->id) && ! empty($parentTitle->array_options['options_show_total_ht'])) {
1622 1716
                     $l->remise_percent = 100;    // Affichage de la réduction sur la ligne de sous-total
1623 1717
                 }
@@ -1651,7 +1745,9 @@  discard block
 block discarded – undo
1651 1745
 						*/
1652 1746
 						list($total, $total_tva, $total_ttc, $TTotal_tva) = $this->getTotalLineFromObject($object, $line, '', 1);
1653 1747
 						
1654
-						if (TSubtotal::getNiveau($line) == 1) $line->TTotal_tva = $TTotal_tva;
1748
+						if (TSubtotal::getNiveau($line) == 1) {
1749
+							$line->TTotal_tva = $TTotal_tva;
1750
+						}
1655 1751
 						$line->total_ht = $total;
1656 1752
 						$line->total_tva = $total_tva;
1657 1753
 						$line->total = $line->total_ht;
@@ -1715,8 +1811,7 @@  discard block
 block discarded – undo
1715 1811
 				    }
1716 1812
 				    
1717 1813
 					
1718
-				}
1719
-				elseif ($hidedetails)
1814
+				} elseif ($hidedetails)
1720 1815
 				{
1721 1816
 					$TLines[] = $line; //Cas où je cache uniquement les prix des produits	
1722 1817
 				}
@@ -1787,7 +1882,9 @@  discard block
 block discarded – undo
1787 1882
 				
1788 1883
 				if(!empty($hideprices)) {
1789 1884
 					foreach($object->lines as &$line) {
1790
-						if($line->fk_product_type!=9) $line->fk_parent_line = -1;	
1885
+						if($line->fk_product_type!=9) {
1886
+							$line->fk_parent_line = -1;
1887
+						}
1791 1888
 					}
1792 1889
 				}
1793 1890
 			
@@ -1808,7 +1905,9 @@  discard block
 block discarded – undo
1808 1905
 				
1809 1906
 				if($line->qty>90) {
1810 1907
 					
1811
-					if ($conf->global->SUBTOTAL_USE_NEW_FORMAT)	$label .= ' '.$this->getTitle($object, $line);
1908
+					if ($conf->global->SUBTOTAL_USE_NEW_FORMAT) {
1909
+						$label .= ' '.$this->getTitle($object, $line);
1910
+					}
1812 1911
 					
1813 1912
 					$pageBefore = $pdf->getPage();
1814 1913
 					$this->pdf_add_total($pdf,$object, $line, $label, $description,$posx, $posy, $w, $h);
@@ -1826,8 +1925,7 @@  discard block
 block discarded – undo
1826 1925
 				
1827 1926
 					$posy = $pdf->GetY();
1828 1927
 					return 1;
1829
-				}	
1830
-				else if ($line->qty < 10) {
1928
+				} else if ($line->qty < 10) {
1831 1929
 					$pageBefore = $pdf->getPage();
1832 1930
 
1833 1931
 					$this->pdf_add_title($pdf,$object, $line, $label, $description,$posx, $posy, $w, $h); 
@@ -1851,8 +1949,7 @@  discard block
 block discarded – undo
1851 1949
 //	if($line->rowid==47) exit;
1852 1950
 			
1853 1951
 			return 0;
1854
-		}
1855
-		elseif (empty($object->lines[$parameters['i']]))
1952
+		} elseif (empty($object->lines[$parameters['i']]))
1856 1953
 		{
1857 1954
 			$this->resprints = -1;
1858 1955
 		}
@@ -1885,7 +1982,9 @@  discard block
 block discarded – undo
1885 1982
 		
1886 1983
 		foreach ($object->lines as $line)
1887 1984
 		{
1888
-			if ($line->id == $currentLine->id) break;
1985
+			if ($line->id == $currentLine->id) {
1986
+				break;
1987
+			}
1889 1988
 			
1890 1989
 			$qty_search = 100 - $currentLine->qty;
1891 1990
 			
@@ -1922,23 +2021,23 @@  discard block
 block discarded – undo
1922 2021
 		{
1923 2022
 			$object->statut = 0; // hack for facture rec
1924 2023
 			$createRight = $user->rights->facture->creer;
1925
-		}
1926
-		elseif($object->element == 'order_supplier' )
2024
+		} elseif($object->element == 'order_supplier' )
1927 2025
 		{
1928 2026
 		    $createRight = $user->rights->fournisseur->commande->creer;
1929
-		}
1930
-		elseif($object->element == 'invoice_supplier' )
2027
+		} elseif($object->element == 'invoice_supplier' )
1931 2028
 		{
1932 2029
 		    $createRight = $user->rights->fournisseur->facture->creer;
1933 2030
 		}
1934 2031
 		
1935 2032
 		if($line->special_code!=$this->module_number || $line->product_type!=9) {
1936 2033
 			null;
1937
-		}	
1938
-		else if (in_array('invoicecard',$contexts) || in_array('invoicesuppliercard',$contexts) || in_array('propalcard',$contexts) || in_array('supplier_proposalcard',$contexts) || in_array('ordercard',$contexts) || in_array('ordersuppliercard',$contexts) || in_array('invoicereccard',$contexts)) 
2034
+		} else if (in_array('invoicecard',$contexts) || in_array('invoicesuppliercard',$contexts) || in_array('propalcard',$contexts) || in_array('supplier_proposalcard',$contexts) || in_array('ordercard',$contexts) || in_array('ordersuppliercard',$contexts) || in_array('invoicereccard',$contexts)) 
1939 2035
         {
1940
-			if($object->element=='facture')$idvar = 'facid';
1941
-			else $idvar='id';
2036
+			if($object->element=='facture') {
2037
+				$idvar = 'facid';
2038
+			} else {
2039
+				$idvar='id';
2040
+			}
1942 2041
 			
1943 2042
 			if((float)DOL_VERSION <= 3.4)
1944 2043
 			{
@@ -1964,22 +2063,44 @@  discard block
 block discarded – undo
1964 2063
 				<?php
1965 2064
 			}
1966 2065
 			
1967
-			if(empty($line->description)) $line->description = $line->desc;
2066
+			if(empty($line->description)) {
2067
+				$line->description = $line->desc;
2068
+			}
1968 2069
 			
1969 2070
 			$colspan = 5;
1970
-			if($object->element == 'facturerec' ) $colspan = 3;
1971
-			if($object->element == 'order_supplier') (float) DOL_VERSION < 7.0 ? $colspan = 3 : $colspan = 6;
1972
-			if($object->element == 'invoice_supplier') (float) DOL_VERSION < 7.0 ? $colspan = 4: $colspan = 7;
1973
-			if($object->element == 'supplier_proposal') (float) DOL_VERSION < 6.0 ? $colspan = 4 : $colspan = 3;
2071
+			if($object->element == 'facturerec' ) {
2072
+				$colspan = 3;
2073
+			}
2074
+			if($object->element == 'order_supplier') {
2075
+				(float) DOL_VERSION < 7.0 ? $colspan = 3 : $colspan = 6;
2076
+			}
2077
+			if($object->element == 'invoice_supplier') {
2078
+				(float) DOL_VERSION < 7.0 ? $colspan = 4: $colspan = 7;
2079
+			}
2080
+			if($object->element == 'supplier_proposal') {
2081
+				(float) DOL_VERSION < 6.0 ? $colspan = 4 : $colspan = 3;
2082
+			}
1974 2083
 			if(!empty($conf->multicurrency->enabled) && ((float) DOL_VERSION < 8.0 || $object->multicurrency_code != $conf->currency)) {
1975 2084
 				$colspan++; // Colonne PU Devise
1976 2085
 			}
1977
-			if($object->element == 'commande' && $object->statut < 3 && !empty($conf->shippableorder->enabled)) $colspan++;
1978
-			if(!empty($conf->margin->enabled)) $colspan++;
1979
-			if(!empty($conf->global->DISPLAY_MARGIN_RATES)) $colspan++;
1980
-			if(!empty($conf->global->DISPLAY_MARK_RATES)) $colspan++;
1981
-			if($object->element == 'facture' && !empty($conf->global->INVOICE_USE_SITUATION) && $object->type == Facture::TYPE_SITUATION) $colspan++;
1982
-			if(!empty($conf->global->PRODUCT_USE_UNITS)) $colspan++;
2086
+			if($object->element == 'commande' && $object->statut < 3 && !empty($conf->shippableorder->enabled)) {
2087
+				$colspan++;
2088
+			}
2089
+			if(!empty($conf->margin->enabled)) {
2090
+				$colspan++;
2091
+			}
2092
+			if(!empty($conf->global->DISPLAY_MARGIN_RATES)) {
2093
+				$colspan++;
2094
+			}
2095
+			if(!empty($conf->global->DISPLAY_MARK_RATES)) {
2096
+				$colspan++;
2097
+			}
2098
+			if($object->element == 'facture' && !empty($conf->global->INVOICE_USE_SITUATION) && $object->type == Facture::TYPE_SITUATION) {
2099
+				$colspan++;
2100
+			}
2101
+			if(!empty($conf->global->PRODUCT_USE_UNITS)) {
2102
+				$colspan++;
2103
+			}
1983 2104
 					
1984 2105
 			/* Titre */
1985 2106
 			//var_dump($line);
@@ -1992,23 +2113,36 @@  discard block
 block discarded – undo
1992 2113
 			<tr <?php echo $bc[$var]; $var=!$var; echo $data; ?> rel="subtotal" id="row-<?php echo $line->id ?>" style="<?php
1993 2114
 					if (!empty($conf->global->SUBTOTAL_USE_NEW_FORMAT))
1994 2115
 					{
1995
-						if($line->qty==99) print 'background:#adadcf';
1996
-						else if($line->qty==98) print 'background:#ddddff;';
1997
-						else if($line->qty<=97 && $line->qty>=91) print 'background:#eeeeff;';
1998
-						else if($line->qty==1) print 'background:#adadcf;';
1999
-						else if($line->qty==2) print 'background:#ddddff;';
2000
-						else if($line->qty==50) print '';
2001
-						else print 'background:#eeeeff;';
2116
+						if($line->qty==99) {
2117
+							print 'background:#adadcf';
2118
+						} else if($line->qty==98) {
2119
+							print 'background:#ddddff;';
2120
+						} else if($line->qty<=97 && $line->qty>=91) {
2121
+							print 'background:#eeeeff;';
2122
+						} else if($line->qty==1) {
2123
+							print 'background:#adadcf;';
2124
+						} else if($line->qty==2) {
2125
+							print 'background:#ddddff;';
2126
+						} else if($line->qty==50) {
2127
+							print '';
2128
+						} else {
2129
+							print 'background:#eeeeff;';
2130
+						}
2002 2131
 
2003 2132
 						//A compléter si on veux plus de nuances de couleurs avec les niveau 4,5,6,7,8 et 9
2004
-					}
2005
-					else 
2133
+					} else 
2006 2134
 					{
2007
-						if($line->qty==99) print 'background:#ddffdd';
2008
-						else if($line->qty==98) print 'background:#ddddff;';
2009
-						else if($line->qty==2) print 'background:#eeeeff; ';
2010
-						else if($line->qty==50) print '';
2011
-						else print 'background:#eeffee;' ;
2135
+						if($line->qty==99) {
2136
+							print 'background:#ddffdd';
2137
+						} else if($line->qty==98) {
2138
+							print 'background:#ddddff;';
2139
+						} else if($line->qty==2) {
2140
+							print 'background:#eeeeff; ';
2141
+						} else if($line->qty==50) {
2142
+							print '';
2143
+						} else {
2144
+							print 'background:#eeffee;' ;
2145
+						}
2012 2146
 					}
2013 2147
 
2014 2148
 			?>;">
@@ -2035,13 +2169,11 @@  discard block
 block discarded – undo
2035 2169
 							$qty_displayed = $line->qty;
2036 2170
 							print img_picto('', 'subsubtotal@subtotal').'<span style="font-size:9px;margin-left:-3px;color:#0075DE;">'.$qty_displayed.'</span>&nbsp;&nbsp;';
2037 2171
 							
2038
-						}
2039
-						else if (TSubtotal::isSubtotal($line))
2172
+						} else if (TSubtotal::isSubtotal($line))
2040 2173
 						{
2041 2174
 							$qty_displayed = 100 - $line->qty;
2042 2175
 							print img_picto('', 'subsubtotal2@subtotal').'<span style="font-size:9px;margin-left:-1px;color:#0075DE;">'.$qty_displayed.'</span>&nbsp;&nbsp;';
2043
-						}
2044
-						else
2176
+						} else
2045 2177
 						{
2046 2178
 							$isFreeText = true;
2047 2179
 						}
@@ -2062,9 +2194,13 @@  discard block
 block discarded – undo
2062 2194
 						}
2063 2195
 
2064 2196
 						$readonlyForSituation = '';
2065
-						if (!empty($line->fk_prev_id) && $line->fk_prev_id != null) $readonlyForSituation = 'readonly';
2197
+						if (!empty($line->fk_prev_id) && $line->fk_prev_id != null) {
2198
+							$readonlyForSituation = 'readonly';
2199
+						}
2066 2200
 						
2067
-						if (!$isFreeText) echo '<input type="text" name="line-title" id-line="'.$line->id.'" value="'.$newlabel.'" size="80" '.$readonlyForSituation.'/>&nbsp;';
2201
+						if (!$isFreeText) {
2202
+							echo '<input type="text" name="line-title" id-line="'.$line->id.'" value="'.$newlabel.'" size="80" '.$readonlyForSituation.'/>&nbsp;';
2203
+						}
2068 2204
 						
2069 2205
 						if (!empty($conf->global->SUBTOTAL_USE_NEW_FORMAT) && (TSubtotal::isTitle($line) || TSubtotal::isSubtotal($line)) )
2070 2206
 						{
@@ -2072,8 +2208,12 @@  discard block
 block discarded – undo
2072 2208
 							for ($j=1; $j<10; $j++)
2073 2209
 							{
2074 2210
 								if (!empty($readonlyForSituation)) {
2075
-									if ($qty_displayed == $j) $select .= '<option selected="selected" value="'.$j.'">'.$langs->trans('Level').' '.$j.'</option>';
2076
-								} else $select .= '<option '.($qty_displayed == $j ? 'selected="selected"' : '').' value="'.$j.'">'.$langs->trans('Level').' '.$j.'</option>';
2211
+									if ($qty_displayed == $j) {
2212
+										$select .= '<option selected="selected" value="'.$j.'">'.$langs->trans('Level').' '.$j.'</option>';
2213
+									}
2214
+								} else {
2215
+									$select .= '<option '.($qty_displayed == $j ? 'selected="selected"' : '').' value="'.$j.'">'.$langs->trans('Level').' '.$j.'</option>';
2216
+								}
2077 2217
 							}
2078 2218
 							$select .= '</select>&nbsp;';
2079 2219
 
@@ -2093,7 +2233,9 @@  discard block
 block discarded – undo
2093 2233
                             echo '<div>';
2094 2234
                             echo '<label for="subtotal_tva_tx">'.$form->textwithpicto($langs->trans('subtotal_apply_default_tva'), $langs->trans('subtotal_apply_default_tva_help')).'</label>';
2095 2235
                             echo '<select id="subtotal_tva_tx" name="subtotal_tva_tx" class="flat"><option selected="selected" value="">-</option>';
2096
-                            if (empty($readonlyForSituation)) echo str_replace('selected', '', $form->load_tva('subtotal_tva_tx', '', $parameters['seller'], $parameters['buyer'], 0, 0, '', true));
2236
+                            if (empty($readonlyForSituation)) {
2237
+                            	echo str_replace('selected', '', $form->load_tva('subtotal_tva_tx', '', $parameters['seller'], $parameters['buyer'], 0, 0, '', true));
2238
+                            }
2097 2239
                             echo '</select>';
2098 2240
                             echo '</div>';
2099 2241
 
@@ -2112,8 +2254,9 @@  discard block
 block discarded – undo
2112 2254
                             echo '<input style="vertical-align:sub;"  type="checkbox" name="line-showReduc" id="subtotal-showReduc" value="1" '.(($line->array_options['options_show_reduc'] > 0) ? 'checked="checked"' : '') .' />&nbsp;';
2113 2255
                             echo '<label for="subtotal-showReduc">'.$langs->trans('ShowReducOnSubtotalBlock').'</label>';
2114 2256
                             echo '</div>';
2257
+                        } else if ($isFreeText) {
2258
+                        	echo TSubtotal::getFreeTextHtml($line, (bool) $readonlyForSituation);
2115 2259
                         }
2116
-                        else if ($isFreeText) echo TSubtotal::getFreeTextHtml($line, (bool) $readonlyForSituation);
2117 2260
 						echo '</div>';
2118 2261
 
2119 2262
 						if($line->qty<10) {
@@ -2133,8 +2276,7 @@  discard block
 block discarded – undo
2133 2276
 							$doleditor->Create();
2134 2277
 						}
2135 2278
 						
2136
-					}
2137
-					else {
2279
+					} else {
2138 2280
 
2139 2281
 						 if ($conf->global->SUBTOTAL_USE_NEW_FORMAT)
2140 2282
 						 {
@@ -2142,14 +2284,19 @@  discard block
 block discarded – undo
2142 2284
 							{
2143 2285
 								echo str_repeat('&nbsp;&nbsp;&nbsp;', $line->qty-1);
2144 2286
 								
2145
-								if (TSubtotal::isTitle($line)) print img_picto('', 'subtotal@subtotal').'<span style="font-size:9px;margin-left:-3px;">'.$line->qty.'</span>&nbsp;&nbsp;';
2146
-								else print img_picto('', 'subtotal2@subtotal').'<span style="font-size:9px;margin-left:-1px;">'.(100-$line->qty).'</span>&nbsp;&nbsp;';
2287
+								if (TSubtotal::isTitle($line)) {
2288
+									print img_picto('', 'subtotal@subtotal').'<span style="font-size:9px;margin-left:-3px;">'.$line->qty.'</span>&nbsp;&nbsp;';
2289
+								} else {
2290
+									print img_picto('', 'subtotal2@subtotal').'<span style="font-size:9px;margin-left:-1px;">'.(100-$line->qty).'</span>&nbsp;&nbsp;';
2291
+								}
2147 2292
 							}
2148
-						 }
2149
-						 else 
2293
+						 } else 
2150 2294
 						 {
2151
-							if($line->qty<=1) print img_picto('', 'subtotal@subtotal');
2152
-							else if($line->qty==2) print img_picto('', 'subsubtotal@subtotal').'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'; 
2295
+							if($line->qty<=1) {
2296
+								print img_picto('', 'subtotal@subtotal');
2297
+							} else if($line->qty==2) {
2298
+								print img_picto('', 'subsubtotal@subtotal').'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
2299
+							}
2153 2300
 						 }
2154 2301
 						 
2155 2302
 						 
@@ -2159,21 +2306,26 @@  discard block
 block discarded – undo
2159 2306
 						 $titleStyleUnderline =  strpos($conf->global->SUBTOTAL_TITLE_STYLE, 'U') === false ? '' : ' text-decoration: underline;';
2160 2307
 						 
2161 2308
 						 if (empty($line->label)) {
2162
-							if ($line->qty >= 91 && $line->qty <= 99 && $conf->global->SUBTOTAL_USE_NEW_FORMAT) print  $line->description.' '.$this->getTitle($object, $line);
2163
-							else print  $line->description;
2164
-						 } 
2165
-						 else {
2309
+							if ($line->qty >= 91 && $line->qty <= 99 && $conf->global->SUBTOTAL_USE_NEW_FORMAT) {
2310
+								print  $line->description.' '.$this->getTitle($object, $line);
2311
+							} else {
2312
+								print  $line->description;
2313
+							}
2314
+						 } else {
2166 2315
 
2167 2316
 							if (! empty($conf->global->PRODUIT_DESC_IN_FORM) && !empty($line->description)) {
2168 2317
 								print '<span class="subtotal_label" style="'.$titleStyleItalic.$titleStyleBold.$titleStyleUnderline.'" >'.$line->label.'</span><br><div class="subtotal_desc">'.dol_htmlentitiesbr($line->description).'</div>';
2169
-							}
2170
-							else{
2318
+							} else{
2171 2319
 								print '<span class="subtotal_label classfortooltip '.$titleStyleItalic.$titleStyleBold.$titleStyleUnderline.'" title="'.$line->description.'">'.$line->label.'</span>';    
2172 2320
 							}
2173 2321
 
2174 2322
 						 } 
2175
-						if($line->qty>90) print ' : ';
2176
-						if($line->info_bits > 0) echo img_picto($langs->trans('Pagebreak'), 'pagebreak@subtotal');
2323
+						if($line->qty>90) {
2324
+							print ' : ';
2325
+						}
2326
+						if($line->info_bits > 0) {
2327
+							echo img_picto($langs->trans('Pagebreak'), 'pagebreak@subtotal');
2328
+						}
2177 2329
 
2178 2330
 						 
2179 2331
 
@@ -2216,11 +2368,12 @@  discard block
 block discarded – undo
2216 2368
 						</script>
2217 2369
 						<?php
2218 2370
 						
2219
-					}
2220
-					else{
2371
+					} else{
2221 2372
 						if ($object->statut == 0  && $createRight && !empty($conf->global->SUBTOTAL_ALLOW_DUPLICATE_BLOCK) && $object->element !== 'invoice_supplier')
2222 2373
 						{
2223
-							if(TSubtotal::isTitle($line) && ( $line->fk_prev_id === null )) echo '<a href="'.$_SERVER['PHP_SELF'].'?'.$idvar.'='.$object->id.'&action=duplicate&lineid='.$line->id.'">'. img_picto($langs->trans('Duplicate'), 'duplicate@subtotal').'</a>';
2374
+							if(TSubtotal::isTitle($line) && ( $line->fk_prev_id === null )) {
2375
+								echo '<a href="'.$_SERVER['PHP_SELF'].'?'.$idvar.'='.$object->id.'&action=duplicate&lineid='.$line->id.'">'. img_picto($langs->trans('Duplicate'), 'duplicate@subtotal').'</a>';
2376
+							}
2224 2377
 						}
2225 2378
 
2226 2379
 						if ($object->statut == 0  && $createRight && !empty($conf->global->SUBTOTAL_ALLOW_EDIT_BLOCK)) 
@@ -2309,7 +2462,9 @@  discard block
 block discarded – undo
2309 2462
 				$extralabelsline = $extrafieldsline->fetch_name_optionals_label($object->table_element_line);
2310 2463
 				
2311 2464
 				$colspan+=3; $mode = 'view';
2312
-				if($action === 'editline' && $line->rowid == GETPOST('lineid')) $mode = 'edit';
2465
+				if($action === 'editline' && $line->rowid == GETPOST('lineid')) {
2466
+					$mode = 'edit';
2467
+				}
2313 2468
 				
2314 2469
 				$ex_element = $line->element;
2315 2470
 				$line->element = 'tr_extrafield_title '.$line->element; // Pour pouvoir manipuler ces tr
@@ -2491,10 +2646,9 @@  discard block
 block discarded – undo
2491 2646
 	    
2492 2647
 	    if(TSubtotal::isTitle($line)){
2493 2648
 	        $ThtmlData['data-issubtotal'] = 'title';
2494
-	    }elseif(TSubtotal::isSubtotal($line)){
2649
+	    } elseif(TSubtotal::isSubtotal($line)){
2495 2650
 	        $ThtmlData['data-issubtotal'] = 'subtotal';
2496
-	    }
2497
-	    else{
2651
+	    } else{
2498 2652
 	        $ThtmlData['data-issubtotal'] = 'freetext';
2499 2653
 	    }
2500 2654
 	    
@@ -2504,7 +2658,9 @@  discard block
 block discarded – undo
2504 2658
 	    
2505 2659
 	    // hook 
2506 2660
 	    $reshook = $hookmanager->executeHooks('subtotalLineHtmlData',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
2507
-	    if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
2661
+	    if ($reshook < 0) {
2662
+	    	setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
2663
+	    }
2508 2664
 	    if ($reshook>0)
2509 2665
 	    {
2510 2666
 	        $ThtmlData = $hookmanager->resArray;
Please login to merge, or discard this patch.
class/subtotal.class.php 1 patch
Braces   +277 added lines, -135 removed lines patch added patch discarded remove patch
@@ -13,18 +13,23 @@  discard block
 block discarded – undo
13 13
 			/**
14 14
 			 * @var $object Facture
15 15
 			 */
16
-			if($object->element=='facture') $res =  $object->addline($object->id, $label, 0,$qty,0,0,0,0,0,'','',0,0,'','HT',0,9,-1, TSubtotal::$module_number);
16
+			if($object->element=='facture') {
17
+				$res =  $object->addline($object->id, $label, 0,$qty,0,0,0,0,0,'','',0,0,'','HT',0,9,-1, TSubtotal::$module_number);
18
+			}
17 19
 			/**
18 20
 			 * @var $object Propal
19 21
 			 */
20
-			else if($object->element=='propal') $res =  $object->addline($object->id,$label, 0,$qty,0,0,0,0,0,'HT',0,0,9,-1, TSubtotal::$module_number);
22
+			else if($object->element=='propal') {
23
+				$res =  $object->addline($object->id,$label, 0,$qty,0,0,0,0,0,'HT',0,0,9,-1, TSubtotal::$module_number);
24
+			}
21 25
 			/**
22 26
 			 * @var $object Commande
23 27
 			 */
24
-			else if($object->element=='commande') $res =  $object->addline($object->id,$label, 0,$qty,0,0,0,0,0,0,0,'HT',0,'','',9,-1, TSubtotal::$module_number);
28
+			else if($object->element=='commande') {
29
+				$res =  $object->addline($object->id,$label, 0,$qty,0,0,0,0,0,0,0,'HT',0,'','',9,-1, TSubtotal::$module_number);
30
+			}
25 31
 
26
-		}
27
-		else {
32
+		} else {
28 33
 			$desc = '';
29 34
 			
30 35
 			$TNotElements = array ('invoice_supplier', 'order_supplier');
@@ -36,7 +41,9 @@  discard block
 block discarded – undo
36 41
 			/**
37 42
 			 * @var $object Facture
38 43
 			 */
39
-			if($object->element=='facture') $res =  $object->addline($desc, 0,$qty,0,0,0,0,0,'','',0,0,'','HT',0,9,$rang, TSubtotal::$module_number, '', 0, 0, null, 0, $label);
44
+			if($object->element=='facture') {
45
+				$res =  $object->addline($desc, 0,$qty,0,0,0,0,0,'','',0,0,'','HT',0,9,$rang, TSubtotal::$module_number, '', 0, 0, null, 0, $label);
46
+			}
40 47
 			/**
41 48
 			 * @var $object Facture fournisseur
42 49
 			 */
@@ -48,16 +55,22 @@  discard block
 block discarded – undo
48 55
 			/**
49 56
 			 * @var $object Propal
50 57
 			 */
51
-			else if($object->element=='propal') $res = $object->addline($desc, 0,$qty,0,0,0,0,0,'HT',0,0,9,$rang, TSubtotal::$module_number, 0, 0, 0, $label);
58
+			else if($object->element=='propal') {
59
+				$res = $object->addline($desc, 0,$qty,0,0,0,0,0,'HT',0,0,9,$rang, TSubtotal::$module_number, 0, 0, 0, $label);
60
+			}
52 61
 			/**
53 62
 			 * @var $object Propal Fournisseur
54 63
 			 */
55
-			else if($object->element=='supplier_proposal') $res = $object->addline($desc, 0,$qty,0,0,0,0,0,'HT',0,0,9,$rang, TSubtotal::$module_number, 0, 0, 0, $label);
64
+			else if($object->element=='supplier_proposal') {
65
+				$res = $object->addline($desc, 0,$qty,0,0,0,0,0,'HT',0,0,9,$rang, TSubtotal::$module_number, 0, 0, 0, $label);
66
+			}
56 67
 			
57 68
 			/**
58 69
 			 * @var $object Commande
59 70
 			 */
60
-			else if($object->element=='commande') $res =  $object->addline($desc, 0,$qty,0,0,0,0,0,0,0,'HT',0,'','',9,$rang, TSubtotal::$module_number, 0, null, 0, $label);
71
+			else if($object->element=='commande') {
72
+				$res =  $object->addline($desc, 0,$qty,0,0,0,0,0,0,0,'HT',0,'','',9,$rang, TSubtotal::$module_number, 0, null, 0, $label);
73
+			}
61 74
 			/**
62 75
 			 * @var $object Commande fournisseur
63 76
 			 */
@@ -68,7 +81,9 @@  discard block
 block discarded – undo
68 81
 			/**
69 82
 			 * @var $object Facturerec
70 83
 			 */
71
-			else if($object->element=='facturerec') $res =  $object->addline($desc, 0,$qty, 0, 0, 0, 0, 0, 'HT', 0, '', 0, 9, $rang, TSubtotal::$module_number,$label); 
84
+			else if($object->element=='facturerec') {
85
+				$res =  $object->addline($desc, 0,$qty, 0, 0, 0, 0, 0, 'HT', 0, '', 0, 9, $rang, TSubtotal::$module_number,$label);
86
+			}
72 87
 			
73 88
 		}
74 89
 	
@@ -90,8 +105,9 @@  discard block
 block discarded – undo
90 105
 			// Define output language
91 106
 			$outputlangs = $langs;
92 107
 			$newlang = GETPOST('lang_id', 'alpha');
93
-			if (! empty($conf->global->MAIN_MULTILANGS) && empty($newlang))
94
-				$newlang = !empty($object->client) ? $object->client->default_lang : $object->thirdparty->default_lang;
108
+			if (! empty($conf->global->MAIN_MULTILANGS) && empty($newlang)) {
109
+							$newlang = !empty($object->client) ? $object->client->default_lang : $object->thirdparty->default_lang;
110
+			}
95 111
 			if (! empty($newlang)) {
96 112
 				$outputlangs = new Translate("", $conf);
97 113
 				$outputlangs->setDefaultLang($newlang);
@@ -100,13 +116,18 @@  discard block
 block discarded – undo
100 116
 			$ret = $object->fetch($object->id); // Reload to get new records
101 117
 			if ((float) DOL_VERSION <= 3.6)
102 118
 			{
103
-				if ($object->element == 'propal') propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
104
-				elseif ($object->element == 'commande') commande_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
105
-				elseif ($object->element == 'facture') facture_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
106
-			}
107
-			else
119
+				if ($object->element == 'propal') {
120
+					propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
121
+				} elseif ($object->element == 'commande') {
122
+					commande_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
123
+				} elseif ($object->element == 'facture') {
124
+					facture_pdf_create($db, $object, $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
125
+				}
126
+			} else
108 127
 			{
109
-				if ($object->element!= 'facturerec') $object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
128
+				if ($object->element!= 'facturerec') {
129
+					$object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref);
130
+				}
110 131
 			}
111 132
 		}
112 133
 	}
@@ -120,7 +141,9 @@  discard block
 block discarded – undo
120 141
 	 */
121 142
 	public static function updateRang(&$object, $rang_start, $move_to=1)
122 143
 	{
123
-		if (!class_exists('GenericObject')) require_once DOL_DOCUMENT_ROOT.'/core/class/genericobject.class.php';
144
+		if (!class_exists('GenericObject')) {
145
+			require_once DOL_DOCUMENT_ROOT.'/core/class/genericobject.class.php';
146
+		}
124 147
 		
125 148
 		$row=new GenericObject($object->db);
126 149
 		$row->table_element_line = $object->table_element_line;
@@ -129,7 +152,9 @@  discard block
 block discarded – undo
129 152
 		
130 153
 		foreach ($object->lines as &$line)
131 154
 		{
132
-			if ($line->rang < $rang_start) continue;
155
+			if ($line->rang < $rang_start) {
156
+				continue;
157
+			}
133 158
 			
134 159
 			$row->updateRangOfLine($line->id, $line->rang+$move_to);
135 160
 		}
@@ -152,21 +177,28 @@  discard block
 block discarded – undo
152 177
 		foreach ($TTitle_reverse as $k => $title_line)
153 178
 		{
154 179
 			$title_niveau = self::getNiveau($title_line);
155
-			if ($title_niveau < $level_new_title) break;
180
+			if ($title_niveau < $level_new_title) {
181
+				break;
182
+			}
156 183
 			
157 184
 			$rang_to_add = self::titleHasTotalLine($object, $title_line, true, true);
158 185
 			
159 186
 			if (is_numeric($rang_to_add)) 
160 187
 			{
161
-				if ($rang_to_add != -1) self::updateRang($object, $rang_to_add);
188
+				if ($rang_to_add != -1) {
189
+					self::updateRang($object, $rang_to_add);
190
+				}
162 191
 				
163 192
 				self::addSubTotalLine($object, $langs->trans('SubTotal'), 100-$title_niveau, $rang_to_add);
164 193
 				
165 194
 				$object->lines[] = $object->line; // ajout de la ligne dans le tableau de ligne (Dolibarr ne le fait pas)
166 195
 				if ($rang_to_add != -1) 
167 196
 				{
168
-					if (method_exists($object, 'fetch_lines')) $object->fetch_lines();
169
-					else $object->fetch($object->id);
197
+					if (method_exists($object, 'fetch_lines')) {
198
+						$object->fetch_lines();
199
+					} else {
200
+						$object->fetch($object->id);
201
+					}
170 202
 				}
171 203
 			}
172 204
 		}
@@ -196,7 +228,9 @@  discard block
 block discarded – undo
196 228
 		
197 229
 		foreach ($TTitle as $k => $title_line)
198 230
 		{
199
-			if (self::titleHasTotalLine($object, $title_line)) unset($TTitle[$k]);
231
+			if (self::titleHasTotalLine($object, $title_line)) {
232
+				unset($TTitle[$k]);
233
+			}
200 234
 		}
201 235
 		
202 236
 		return $TTitle;
@@ -213,23 +247,41 @@  discard block
 block discarded – undo
213 247
 	 */
214 248
 	public static function titleHasTotalLine(&$object, &$title_line, $strict_mode=false, $return_rang_on_false=false)
215 249
 	{
216
-		if (empty($object->lines) || !is_array($object->lines)) return false;
250
+		if (empty($object->lines) || !is_array($object->lines)) {
251
+			return false;
252
+		}
217 253
 		
218 254
 		$title_niveau = self::getNiveau($title_line);
219 255
 		foreach ($object->lines as &$line)
220 256
 		{
221
-			if ($line->rang <= $title_line->rang) continue;
222
-			if (self::isTitle($line) && self::getNiveau($line) <= $title_niveau) return false; // Oups on croise un titre d'un niveau inférieur ou égale (exemple : je croise un titre niveau 2 alors que je suis sur un titre de niveau 3) pas lieu de continuer car un nouveau bloc commence
223
-			if (!self::isSubtotal($line)) continue;
257
+			if ($line->rang <= $title_line->rang) {
258
+				continue;
259
+			}
260
+			if (self::isTitle($line) && self::getNiveau($line) <= $title_niveau) {
261
+				return false;
262
+			}
263
+			// Oups on croise un titre d'un niveau inférieur ou égale (exemple : je croise un titre niveau 2 alors que je suis sur un titre de niveau 3) pas lieu de continuer car un nouveau bloc commence
264
+			if (!self::isSubtotal($line)) {
265
+				continue;
266
+			}
224 267
 			
225 268
 			$subtotal_niveau = self::getNiveau($line);
226 269
 			
227 270
 			// Comparaison du niveau de la ligne de sous-total avec celui du titre
228
-			if ($subtotal_niveau == $title_niveau) return true; // niveau égale => Ok mon titre a un sous-total
229
-			elseif ($subtotal_niveau < $title_niveau) // niveau inférieur trouvé (exemple : sous-total de niveau 1 contre mon titre de niveau 3)
271
+			if ($subtotal_niveau == $title_niveau) {
272
+				return true;
273
+			}
274
+			// niveau égale => Ok mon titre a un sous-total
275
+			elseif ($subtotal_niveau < $title_niveau) {
276
+				// niveau inférieur trouvé (exemple : sous-total de niveau 1 contre mon titre de niveau 3)
230 277
 			{
231
-				if ($strict_mode) return ($return_rang_on_false) ? $line->rang : false; // mode strict niveau pas égale donc faux
232
-				else return true; // mode libre => OK je considère que mon titre à un sous-total
278
+				if ($strict_mode) return ($return_rang_on_false) ? $line->rang : false;
279
+			}
280
+			// mode strict niveau pas égale donc faux
281
+				else {
282
+					return true;
283
+				}
284
+				// mode libre => OK je considère que mon titre à un sous-total
233 285
 			}
234 286
 		}
235 287
 		
@@ -277,16 +329,19 @@  discard block
 block discarded – undo
277 329
 		
278 330
 		foreach ($object->lines as &$l)
279 331
 		{
280
-			if ($l->rang <= $line->rang) continue;
281
-			elseif (self::isSubtotal($l) && self::getNiveau($l) <= self::getNiveau($line)) break;
282
-			elseif ($breakOnTitle && self::isTitle($l) && self::getNiveau($l) <= self::getNiveau($line)) break;
332
+			if ($l->rang <= $line->rang) {
333
+				continue;
334
+			} elseif (self::isSubtotal($l) && self::getNiveau($l) <= self::getNiveau($line)) {
335
+				break;
336
+			} elseif ($breakOnTitle && self::isTitle($l) && self::getNiveau($l) <= self::getNiveau($line)) {
337
+				break;
338
+			}
283 339
 			
284 340
 			if (!empty($l->array_options['options_subtotal_nc']))
285 341
 			{
286 342
 				$tabprice = calcul_price_total($l->qty, $l->subprice, $l->remise_percent, $l->tva_tx, $l->localtax1_tx, $l->localtax2_tx, 0, 'HT', $l->info_bits, $l->product_type);
287 343
 				$TTot['total_options'] += $tabprice[0]; // total ht
288
-			}
289
-			else
344
+			} else
290 345
 			{
291 346
 				$TTot['total_pa_ht'] += $l->pa_ht * $l->qty;
292 347
 				$TTot['total_subprice'] += $l->subprice * $l->qty;
@@ -306,29 +361,41 @@  discard block
 block discarded – undo
306 361
 
307 362
 	public static function getOrderIdFromLineId(&$db, $fk_commandedet)
308 363
 	{
309
-		if (empty($fk_commandedet)) return false;
364
+		if (empty($fk_commandedet)) {
365
+			return false;
366
+		}
310 367
 		
311 368
 		$sql = 'SELECT fk_commande FROM '.MAIN_DB_PREFIX.'commandedet WHERE rowid = '.$fk_commandedet;
312 369
 		$resql = $db->query($sql);
313 370
 		
314
-		if ($resql && ($row = $db->fetch_object($resql))) return $row->fk_commande;
315
-		else return false;
371
+		if ($resql && ($row = $db->fetch_object($resql))) {
372
+			return $row->fk_commande;
373
+		} else {
374
+			return false;
375
+		}
316 376
 	}
317 377
 	
318 378
 	public static function getLastLineOrderId(&$db, $fk_commande)
319 379
 	{
320
-		if (empty($fk_commande)) return false;
380
+		if (empty($fk_commande)) {
381
+			return false;
382
+		}
321 383
 		
322 384
 		$sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.'commandedet WHERE fk_commande = '.$fk_commande.' ORDER BY rang DESC LIMIT 1';
323 385
 		$resql = $db->query($sql);
324 386
 		
325
-		if ($resql && ($row = $db->fetch_object($resql))) return $row->rowid;
326
-		else return false;
387
+		if ($resql && ($row = $db->fetch_object($resql))) {
388
+			return $row->rowid;
389
+		} else {
390
+			return false;
391
+		}
327 392
 	}
328 393
 	
329 394
 	public static function getParentTitleOfLine(&$object, $i)
330 395
 	{
331
-		if ($i <= 0) return false;
396
+		if ($i <= 0) {
397
+			return false;
398
+		}
332 399
 		
333 400
 		$skip_title = 0;
334 401
 		// Je parcours les lignes précédentes
@@ -347,8 +414,7 @@  discard block
 block discarded – undo
347 414
 				//@INFO J'ai ma ligne titre qui contient ma ligne, par contre je check pas s'il y a un sous-total
348 415
 				return $line;
349 416
 				break;
350
-			}
351
-			elseif ($line->product_type == 9 && $line->qty >= 90 && $line->qty <= 99)
417
+			} elseif ($line->product_type == 9 && $line->qty >= 90 && $line->qty <= 99)
352 418
 			{
353 419
 				// Il s'agit d'un sous-total, ça veut dire que le prochain titre théoriquement doit être ignorer (je travail avec un incrément au cas ou je croise plusieurs sous-totaux)
354 420
 				$skip_title++;
@@ -363,7 +429,9 @@  discard block
 block discarded – undo
363 429
 		$res = $line->special_code == self::$module_number && $line->product_type == 9 && $line->qty <= 9;
364 430
 		if($res && $level > -1) {
365 431
 			return $line->qty == $level;
366
-		} else return $res;
432
+		} else {
433
+			return $res;
434
+		}
367 435
 		
368 436
 	}
369 437
 	
@@ -372,7 +440,9 @@  discard block
 block discarded – undo
372 440
 	    $res = $line->special_code == self::$module_number && $line->product_type == 9 && $line->qty >= 90;
373 441
 	    if($res && $level > -1) {
374 442
 	        return self::getNiveau($line) == $level;
375
-	    } else return $res;
443
+	    } else {
444
+	    	return $res;
445
+	    }
376 446
 	}
377 447
 	
378 448
 	public static function isFreeText(&$line)
@@ -393,10 +463,14 @@  discard block
 block discarded – undo
393 463
 		// editeur wysiwyg
394 464
 		require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php';
395 465
 		$nbrows=ROWS_2;
396
-		if (! empty($conf->global->MAIN_INPUT_DESC_HEIGHT)) $nbrows=$conf->global->MAIN_INPUT_DESC_HEIGHT;
466
+		if (! empty($conf->global->MAIN_INPUT_DESC_HEIGHT)) {
467
+			$nbrows=$conf->global->MAIN_INPUT_DESC_HEIGHT;
468
+		}
397 469
 		$enable=(isset($conf->global->FCKEDITOR_ENABLE_DETAILS)?$conf->global->FCKEDITOR_ENABLE_DETAILS:0);
398 470
 		$toolbarname='dolibarr_details';
399
-		if (! empty($conf->global->FCKEDITOR_ENABLE_DETAILS_FULL)) $toolbarname='dolibarr_notes';
471
+		if (! empty($conf->global->FCKEDITOR_ENABLE_DETAILS_FULL)) {
472
+			$toolbarname='dolibarr_notes';
473
+		}
400 474
 		$text = !empty($line->description)?$line->description:$line->label;
401 475
 		$doleditor=new DolEditor('line-description',$text,'',164,$toolbarname,'',false,true,$enable,$nbrows,'98%', $readonly);
402 476
 		return $doleditor->Create(1);
@@ -411,12 +485,10 @@  discard block
 block discarded – undo
411 485
 		{
412 486
 		    $object->statut = 0; // hack for facture rec
413 487
 		    $createRight = $user->rights->facture->creer;
414
-		}
415
-		elseif($object->element == 'order_supplier' )
488
+		} elseif($object->element == 'order_supplier' )
416 489
 		{
417 490
 		    $createRight = $user->rights->fournisseur->commande->creer;
418
-		}
419
-		elseif($object->element == 'invoice_supplier' )
491
+		} elseif($object->element == 'invoice_supplier' )
420 492
 		{
421 493
 		    $createRight = $user->rights->fournisseur->facture->creer;
422 494
 		}
@@ -489,8 +561,9 @@  discard block
 block discarded – undo
489 561
 
490 562
 					$TLineAdded[] = $object->line;
491 563
 					// Error from addline
492
-					if ($res <= 0) break;
493
-					else
564
+					if ($res <= 0) {
565
+						break;
566
+					} else
494 567
 					{
495 568
 						$object->line_from = $line;
496 569
 						// Call trigger
@@ -512,8 +585,7 @@  discard block
 block discarded – undo
512 585
 					    _updateLineNC($object->element, $object->id, $line->id, $line->array_options['options_subtotal_nc']);
513 586
 					}
514 587
 					return count($TLineAdded);
515
-				}
516
-				else
588
+				} else
517 589
 				{
518 590
 					$object->db->rollback();
519 591
 					return -1;
@@ -529,10 +601,14 @@  discard block
 block discarded – undo
529 601
 		global $langs;
530 602
 		
531 603
 		// Besoin de comparer sur les 2 formes d'écriture
532
-		if (!$key_is_id) $TTitle_search = array($langs->trans($key_trad), $langs->transnoentitiesnoconv($key_trad));
604
+		if (!$key_is_id) {
605
+			$TTitle_search = array($langs->trans($key_trad), $langs->transnoentitiesnoconv($key_trad));
606
+		}
533 607
 		
534 608
 		$TTitle_under_search = array();
535
-		if (!empty($under_title)) $TTitle_under_search = array($langs->trans($under_title), $langs->transnoentitiesnoconv($under_title));
609
+		if (!empty($under_title)) {
610
+			$TTitle_under_search = array($langs->trans($under_title), $langs->transnoentitiesnoconv($under_title));
611
+		}
536 612
 		
537 613
 		$TLine = array();
538 614
 		$add_line = false;
@@ -542,28 +618,37 @@  discard block
 block discarded – undo
542 618
 		{
543 619
 			if (!$under_title_found && !empty($TTitle_under_search))
544 620
 			{
545
-				if ($line->product_type == 9 && (in_array($line->desc, $TTitle_under_search) || in_array($line->label, $TTitle_under_search)) ) $under_title_found = true;
546
-			}
547
-			else
621
+				if ($line->product_type == 9 && (in_array($line->desc, $TTitle_under_search) || in_array($line->label, $TTitle_under_search)) ) {
622
+					$under_title_found = true;
623
+				}
624
+			} else
548 625
 			{
549 626
 				if ( ($key_is_id && $line->id == $key_trad) || (!$key_is_id && $line->product_type == 9 && $line->qty == $level && (in_array($line->desc, $TTitle_search) || in_array($line->label, $TTitle_search) )))
550 627
 				{
551
-					if ($key_is_id) $level = $line->qty;
628
+					if ($key_is_id) {
629
+						$level = $line->qty;
630
+					}
552 631
 					
553 632
 					$add_line = true;
554
-					if ($withBlockLine) $TLine[] = $line;
633
+					if ($withBlockLine) {
634
+						$TLine[] = $line;
635
+					}
555 636
 					continue;
556
-				}
557
-				elseif ($add_line && TSubtotal::isModSubtotalLine($line) && TSubtotal::getNiveau($line) == $level) // Si on tombe sur un sous-total, il faut que ce soit un du même niveau que le titre
637
+				} elseif ($add_line && TSubtotal::isModSubtotalLine($line) && TSubtotal::getNiveau($line) == $level) {
638
+					// Si on tombe sur un sous-total, il faut que ce soit un du même niveau que le titre
558 639
 				{
559 640
 					if ($withBlockLine) $TLine[] = $line;
641
+				}
560 642
 					break;
561 643
 				}
562 644
 				
563 645
 				if ($add_line)
564 646
 				{
565
-					if (!$withBlockLine && (self::isTitle($line) || self::isSubtotal($line)) ) continue;
566
-					else $TLine[] = $line;
647
+					if (!$withBlockLine && (self::isTitle($line) || self::isSubtotal($line)) ) {
648
+						continue;
649
+					} else {
650
+						$TLine[] = $line;
651
+					}
567 652
 				}
568 653
 			}
569 654
 		}
@@ -597,7 +682,9 @@  discard block
 block discarded – undo
597 682
 				
598 683
 			case 'order_supplier':
599 684
 			    $object->special_code = SELF::$module_number;
600
-			    if (empty($desc)) $desc = $label;
685
+			    if (empty($desc)) {
686
+			    	$desc = $label;
687
+			    }
601 688
 			    $res = $object->updateline($rowid, $desc, $pu, $qty, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, $price_base_type, $info_bits, $type, 0, $date_start, $date_end, $array_options, $fk_unit);
602 689
 			    break;
603 690
 			
@@ -607,7 +694,9 @@  discard block
 block discarded – undo
607 694
 				
608 695
 			case 'invoice_supplier':
609 696
 			    $object->special_code = SELF::$module_number;
610
-			    if (empty($desc)) $desc = $label;
697
+			    if (empty($desc)) {
698
+			    	$desc = $label;
699
+			    }
611 700
 			    $res = $object->updateline($rowid, $desc, $pu, $txtva, $txlocaltax1, $txlocaltax2, $qty, 0, $price_base_type, $info_bits, $type, $remise_percent, 0, $date_start, $date_end, $array_options, $fk_unit);
612 701
 			    break;
613 702
 				
@@ -624,8 +713,11 @@  discard block
 block discarded – undo
624 713
 				break;
625 714
 		}
626 715
 		
627
-		if ($res <= 0) $object->db->rollback();
628
-		else $object->db->commit();
716
+		if ($res <= 0) {
717
+			$object->db->rollback();
718
+		} else {
719
+			$object->db->commit();
720
+		}
629 721
 		
630 722
 		return $res;
631 723
 	}
@@ -635,24 +727,20 @@  discard block
 block discarded – undo
635 727
 		global $db, $object;
636 728
 		
637 729
 		$TTitle = array();
638
-		if(! empty($object->id) && in_array($object->element, array('propal', 'commande', 'facture'))) {}
639
-		else {
730
+		if(! empty($object->id) && in_array($object->element, array('propal', 'commande', 'facture'))) {} else {
640 731
 			if ($origin_line->element == 'propaldet')
641 732
 			{
642 733
 				$object = new Propal($db);
643 734
 				$object->fetch($origin_line->fk_propal);
644
-			}
645
-			else if ($origin_line->element == 'commandedet')
735
+			} else if ($origin_line->element == 'commandedet')
646 736
 			{
647 737
 				$object = new Commande($db);
648 738
 				$object->fetch($origin_line->fk_commande);
649
-			}
650
-			else if ($origin_line->element == 'facturedet')
739
+			} else if ($origin_line->element == 'facturedet')
651 740
 			{
652 741
 				$object = new Facture($db);
653 742
 				$object->fetch($origin_line->fk_facture);
654
-			}
655
-			else
743
+			} else
656 744
 			{
657 745
 				return $TTitle;
658 746
 			}
@@ -662,8 +750,11 @@  discard block
 block discarded – undo
662 750
 		$i = 0;
663 751
 		foreach ($object->lines as &$line)
664 752
 		{
665
-			if ($origin_line->id == $line->id) break;
666
-			else $i++;
753
+			if ($origin_line->id == $line->id) {
754
+				break;
755
+			} else {
756
+				$i++;
757
+			}
667 758
 		}
668 759
 		
669 760
 		$i--; // Skip la ligne d'origine
@@ -678,35 +769,43 @@  discard block
 block discarded – undo
678 769
 				if (self::isSubtotal($object->lines[$y]))
679 770
 				{
680 771
 					$next_title_lvl_to_skip = self::getNiveau($object->lines[$y]);
681
-				}
682
-				elseif (self::isTitle($object->lines[$y]))
772
+				} elseif (self::isTitle($object->lines[$y]))
683 773
 				{
684 774
 					if ($object->lines[$y]->qty == $next_title_lvl_to_skip)
685 775
 					{
686 776
 						$next_title_lvl_to_skip = 0;
687 777
 						continue;
688
-					}
689
-					else
778
+					} else
690 779
 					{
691
-						if (empty($object->lines[$y]->array_options)) $object->lines[$y]->fetch_optionals();
780
+						if (empty($object->lines[$y]->array_options)) {
781
+							$object->lines[$y]->fetch_optionals();
782
+						}
692 783
 						$TTitle[$object->lines[$y]->id] = $object->lines[$y];
693 784
 						
694
-						if ($object->lines[$y]->qty == 1) break;
785
+						if ($object->lines[$y]->qty == 1) {
786
+							break;
787
+						}
695 788
 					}
696 789
 				}
697 790
 			}
698 791
 		}
699 792
 		
700
-		if ($reverse) $TTitle = array_reverse($TTitle, true);
793
+		if ($reverse) {
794
+			$TTitle = array_reverse($TTitle, true);
795
+		}
701 796
 		
702 797
 		return $TTitle;
703 798
 	}
704 799
 	
705 800
 	public static function getNiveau(&$line)
706 801
 	{
707
-		if (self::isTitle($line)) return $line->qty;
708
-		elseif (self::isSubtotal($line)) return 100 - $line->qty;
709
-		else return 0;
802
+		if (self::isTitle($line)) {
803
+			return $line->qty;
804
+		} elseif (self::isSubtotal($line)) {
805
+			return 100 - $line->qty;
806
+		} else {
807
+			return 0;
808
+		}
710 809
 	}
711 810
 	
712 811
 	/**
@@ -731,10 +830,16 @@  discard block
 block discarded – undo
731 830
 		$objmarge->marge_droite = 10;
732 831
 		
733 832
 		$objectref = dol_sanitizeFileName($object->ref);
734
-		if ($object->element == 'propal') $dir = $conf->propal->dir_output . '/' . $objectref;
735
-		elseif ($object->element == 'commande') $dir = $conf->commande->dir_output . '/' . $objectref;
736
-		elseif ($object->element == 'facture') $dir = $conf->facture->dir_output . '/' . $objectref;
737
-		elseif ($object->element == 'facturerec') return; // no PDF for facturerec
833
+		if ($object->element == 'propal') {
834
+			$dir = $conf->propal->dir_output . '/' . $objectref;
835
+		} elseif ($object->element == 'commande') {
836
+			$dir = $conf->commande->dir_output . '/' . $objectref;
837
+		} elseif ($object->element == 'facture') {
838
+			$dir = $conf->facture->dir_output . '/' . $objectref;
839
+		} elseif ($object->element == 'facturerec') {
840
+			return;
841
+		}
842
+		// no PDF for facturerec
738 843
 		else
739 844
 		{
740 845
 			setEventMessage($langs->trans('warning_subtotal_recap_object_element_unknown', $object->element), 'warnings');
@@ -769,7 +874,9 @@  discard block
 block discarded – undo
769 874
 		$pdf->SetCreator("Dolibarr ".DOL_VERSION);
770 875
 		$pdf->SetAuthor($outputlangs->convToOutputCharset($user->getFullName($outputlangs)));
771 876
 		$pdf->SetKeyWords($outputlangs->convToOutputCharset($object->ref)." ".$outputlangs->transnoentities("subtotalRecap")." ".$outputlangs->convToOutputCharset($object->thirdparty->name));
772
-		if (! empty($conf->global->MAIN_DISABLE_PDF_COMPRESSION)) $pdf->SetCompression(false);
877
+		if (! empty($conf->global->MAIN_DISABLE_PDF_COMPRESSION)) {
878
+			$pdf->SetCompression(false);
879
+		}
773 880
 
774 881
 		$pdf->SetMargins($objmarge->marge_gauche, $objmarge->marge_haute, $objmarge->marge_droite);   // Left, Top, Right
775 882
 
@@ -779,7 +886,9 @@  discard block
 block discarded – undo
779 886
 			
780 887
 		// New page
781 888
 		$pdf->AddPage();
782
-		if (! empty($tplidx)) $pdf->useTemplate($tplidx);
889
+		if (! empty($tplidx)) {
890
+			$pdf->useTemplate($tplidx);
891
+		}
783 892
 		$pagenb++;
784 893
 		
785 894
 		
@@ -835,8 +944,10 @@  discard block
 block discarded – undo
835 944
 					{
836 945
 						$TTot['TTotal_tva_multicurrency'][$tx] += $amount;
837 946
 					}	
947
+				} else {
948
+					$pdf->SetFont('','', $default_font_size - 1);
838 949
 				}
839
-				else $pdf->SetFont('','', $default_font_size - 1);   // Into loop to work with multipage
950
+				// Into loop to work with multipage
840 951
 				
841 952
 				$pdf->SetTextColor(0,0,0);
842 953
 				
@@ -858,9 +969,11 @@  discard block
 block discarded – undo
858 969
 				$pdf->startTransaction();
859 970
 				$pdf->writeHTMLCell($posx_options-$posx_designation-$decalage, 3, $posx_designation+$decalage, $curY, $outputlangs->convToOutputCharset($label), 0, 1, false, true, 'J',true);
860 971
 				$pageposafter=$pdf->getPage();
861
-				if ($pageposafter > $pageposbefore)	// There is a pagebreak
972
+				if ($pageposafter > $pageposbefore) {
973
+					// There is a pagebreak
862 974
 				{
863 975
 					$pdf->rollbackTransaction(true);
976
+				}
864 977
 					$pageposafter=$pageposbefore;
865 978
 					//print $pageposafter.'-'.$pageposbefore;exit;
866 979
 					$pdf->setPageOrientation('', 1, $heightforfooter);	// The only function to edit the bottom margin of current page to set it.
@@ -869,23 +982,27 @@  discard block
 block discarded – undo
869 982
 					$pageposafter=$pdf->getPage();
870 983
 					$posyafter=$pdf->GetY();
871 984
 					//var_dump($posyafter); var_dump(($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))); exit;
872
-					if ($posyafter > ($objmarge->page_hauteur - ($heightforfooter+$heightforinfotot)))	// There is no space left for total+free text
985
+					if ($posyafter > ($objmarge->page_hauteur - ($heightforfooter+$heightforinfotot))) {
986
+						// There is no space left for total+free text
873 987
 					{
874 988
 						if ($i == ($nblignes-1))	// No more lines, and no space left to show total, so we create a new page
875 989
 						{
876 990
 							$pdf->AddPage('','',true);
877
-							if (! empty($tplidx)) $pdf->useTemplate($tplidx);
878
-							if (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)) self::pagehead($objmarge, $pdf, $object, 0, $outputlangs);
991
+					}
992
+							if (! empty($tplidx)) {
993
+								$pdf->useTemplate($tplidx);
994
+							}
995
+							if (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)) {
996
+								self::pagehead($objmarge, $pdf, $object, 0, $outputlangs);
997
+							}
879 998
 							$pdf->setPage($pageposafter+1);
880 999
 						}
881
-					}
882
-					else
1000
+					} else
883 1001
 					{
884 1002
 						// We found a page break
885 1003
 						$showpricebeforepagebreak=0;
886 1004
 					}
887
-				}
888
-				else	// No pagebreak
1005
+				} else	// No pagebreak
889 1006
 				{
890 1007
 					$pdf->commitTransaction();
891 1008
 				}
@@ -925,8 +1042,7 @@  discard block
 block discarded – undo
925 1042
 					if ($pagenb == 1)
926 1043
 					{
927 1044
 						self::tableau($objmarge, $pdf, $posx_designation, $posx_options, $posx_montant, $tab_top, $objmarge->page_hauteur - $tab_top - $heightforfooter, 0, $outputlangs, 0, 1, $object->multicurrency_code);
928
-					}
929
-					else
1045
+					} else
930 1046
 					{
931 1047
 						self::tableau($objmarge, $pdf, $posx_designation, $posx_options, $posx_montant, $tab_top_newpage, $objmarge->page_hauteur - $tab_top_newpage - $heightforfooter, 0, $outputlangs, $hidetop, 1, $object->multicurrency_code);
932 1048
 					}
@@ -934,7 +1050,9 @@  discard block
 block discarded – undo
934 1050
 					$pagenb++;
935 1051
 					$pdf->setPage($pagenb);
936 1052
 					$pdf->setPageOrientation('', 1, 0);	// The only function to edit the bottom margin of current page to set it.
937
-					if (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)) self::pagehead($objmarge, $pdf, $object, 0, $outputlangs);
1053
+					if (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)) {
1054
+						self::pagehead($objmarge, $pdf, $object, 0, $outputlangs);
1055
+					}
938 1056
 				}
939 1057
 			}
940 1058
 		}
@@ -944,8 +1062,7 @@  discard block
 block discarded – undo
944 1062
 		{
945 1063
 			self::tableau($objmarge, $pdf, $posx_designation, $posx_options, $posx_montant, $tab_top, $objmarge->page_hauteur - $tab_top - $heightforinfotot - $heightforfooter, 0, $outputlangs, 0, 0, $object->multicurrency_code);
946 1064
 			$bottomlasttab=$objmarge->page_hauteur - $heightforinfotot - $heightforfooter + 1;
947
-		}
948
-		else
1065
+		} else
949 1066
 		{
950 1067
 			self::tableau($objmarge, $pdf, $posx_designation, $posx_options, $posx_montant, $tab_top_newpage, $objmarge->page_hauteur - $tab_top_newpage - $heightforinfotot - $heightforfooter, 0, $outputlangs, $hidetop, 0, $object->multicurrency_code);
951 1068
 			$bottomlasttab=$objmarge->page_hauteur - $heightforinfotot - $heightforfooter + 1;
@@ -959,7 +1076,9 @@  discard block
 block discarded – undo
959 1076
 		
960 1077
 		$pagecount = self::concat($outputlangs, array($origin_file, $file), $origin_file);
961 1078
 		
962
-		if (empty($conf->global->SUBTOTAL_KEEP_RECAP_FILE)) unlink($file);
1079
+		if (empty($conf->global->SUBTOTAL_KEEP_RECAP_FILE)) {
1080
+			unlink($file);
1081
+		}
963 1082
 	}
964 1083
 	
965 1084
 	private static function printLevel($objmarge, $pdf, $line, $curY, $posx_designation)
@@ -1002,8 +1121,7 @@  discard block
 block discarded – undo
1002 1121
 			{
1003 1122
 			    $height=pdf_getHeightForLogo($logo);
1004 1123
 			    $pdf->Image($logo, $objmarge->marge_gauche, $posy, 0, $height);	// width=0 (auto)
1005
-			}
1006
-			else
1124
+			} else
1007 1125
 			{
1008 1126
 				$pdf->SetTextColor(200,0,0);
1009 1127
 				$pdf->SetFont('','B',$default_font_size - 2);
@@ -1012,8 +1130,7 @@  discard block
 block discarded – undo
1012 1130
 			}
1013 1131
 			
1014 1132
 			$posy+=35;
1015
-		}
1016
-		else
1133
+		} else
1017 1134
 		{
1018 1135
 			$text=$mysoc->name;
1019 1136
 			$pdf->MultiCell(100, 4, $outputlangs->convToOutputCharset($text), 0, 'L');
@@ -1027,9 +1144,13 @@  discard block
 block discarded – undo
1027 1144
 		$pdf->SetXY($objmarge->marge_gauche,$posy);
1028 1145
 		
1029 1146
 		$key = 'subtotalPropalTitle';
1030
-		if ($object->element == 'commande') $key = 'subtotalCommandeTitle';
1031
-		elseif ($object->element == 'facture') $key = 'subtotalInvoiceTitle';
1032
-		elseif ($object->element == 'facturerec') $key = 'subtotalInvoiceTitle';
1147
+		if ($object->element == 'commande') {
1148
+			$key = 'subtotalCommandeTitle';
1149
+		} elseif ($object->element == 'facture') {
1150
+			$key = 'subtotalInvoiceTitle';
1151
+		} elseif ($object->element == 'facturerec') {
1152
+			$key = 'subtotalInvoiceTitle';
1153
+		}
1033 1154
 		
1034 1155
 		$pdf->MultiCell(150, 4, $outputlangs->transnoentities($key, $object->ref, $object->thirdparty->name), '', 'L');
1035 1156
 		
@@ -1064,7 +1185,9 @@  discard block
 block discarded – undo
1064 1185
 		
1065 1186
 		// Force to disable hidetop and hidebottom
1066 1187
 		$hidebottom=0;
1067
-		if ($hidetop) $hidetop=-1;
1188
+		if ($hidetop) {
1189
+			$hidetop=-1;
1190
+		}
1068 1191
 
1069 1192
 		$currency = !empty($currency) ? $currency : $conf->currency;
1070 1193
 		$default_font_size = pdf_getPDFFontSize($outputlangs);
@@ -1079,7 +1202,9 @@  discard block
 block discarded – undo
1079 1202
 			$pdf->SetXY($objmarge->page_largeur - $objmarge->marge_droite - ($pdf->GetStringWidth($titre) + 3), $tab_top-4.5);
1080 1203
 			$pdf->MultiCell(($pdf->GetStringWidth($titre) + 3), 2, $titre);
1081 1204
 			
1082
-			if (! empty($conf->global->MAIN_PDF_TITLE_BACKGROUND_COLOR)) $pdf->Rect($objmarge->marge_gauche, $tab_top, $objmarge->page_largeur-$objmarge->marge_droite-$objmarge->marge_gauche, 8, 'F', null, explode(',',$conf->global->MAIN_PDF_TITLE_BACKGROUND_COLOR));
1205
+			if (! empty($conf->global->MAIN_PDF_TITLE_BACKGROUND_COLOR)) {
1206
+				$pdf->Rect($objmarge->marge_gauche, $tab_top, $objmarge->page_largeur-$objmarge->marge_droite-$objmarge->marge_gauche, 8, 'F', null, explode(',',$conf->global->MAIN_PDF_TITLE_BACKGROUND_COLOR));
1207
+			}
1083 1208
 			
1084 1209
 			
1085 1210
 			$pdf->line($objmarge->marge_gauche, $tab_top, $objmarge->page_largeur-$objmarge->marge_droite, $tab_top);	// line prend une position y en 2eme param et 4eme param
@@ -1092,8 +1217,7 @@  discard block
 block discarded – undo
1092 1217
 			$pdf->MultiCell($objmarge->page_largeur - $objmarge->marge_droite - $posx_montant,2, $outputlangs->transnoentities("Amount"),'','R');
1093 1218
 			
1094 1219
 			$pdf->line($objmarge->marge_gauche, $tab_top+8, $objmarge->page_largeur-$objmarge->marge_droite, $tab_top+8);	// line prend une position y en 2eme param et 4eme param
1095
-		}
1096
-		else
1220
+		} else
1097 1221
 		{
1098 1222
 			$pdf->line($objmarge->marge_gauche, $tab_top-2, $objmarge->page_largeur-$objmarge->marge_droite, $tab_top-2);	// line prend une position y en 2eme param et 4eme param
1099 1223
 		}
@@ -1114,10 +1238,12 @@  discard block
 block discarded – undo
1114 1238
 
1115 1239
 		// Tableau total
1116 1240
 		$col1x = 120; $col2x = 170;
1117
-		if ($objmarge->page_largeur < 210) // To work with US executive format
1241
+		if ($objmarge->page_largeur < 210) {
1242
+			// To work with US executive format
1118 1243
 		{
1119 1244
 			$col2x-=20;
1120 1245
 		}
1246
+		}
1121 1247
 		$largcol2 = ($objmarge->page_largeur - $objmarge->marge_droite - $col2x);
1122 1248
 
1123 1249
 		$useborder=0;
@@ -1139,9 +1265,11 @@  discard block
 block discarded – undo
1139 1265
 		$atleastoneratenotnull=0;
1140 1266
 		foreach($TTot['TTotal_tva'] as $tvakey => $tvaval)
1141 1267
 		{
1142
-			if ($tvakey != 0)    // On affiche pas taux 0
1268
+			if ($tvakey != 0) {
1269
+				// On affiche pas taux 0
1143 1270
 			{
1144 1271
 				$atleastoneratenotnull++;
1272
+			}
1145 1273
 
1146 1274
 				$index++;
1147 1275
 				$pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index);
@@ -1194,9 +1322,13 @@  discard block
 block discarded – undo
1194 1322
 	 */
1195 1323
     private static function printRect($pdf, $x, $y, $l, $h, $hidetop=0, $hidebottom=0)
1196 1324
     {
1197
-	    if (empty($hidetop) || $hidetop==-1) $pdf->line($x, $y, $x+$l, $y);
1325
+	    if (empty($hidetop) || $hidetop==-1) {
1326
+	    	$pdf->line($x, $y, $x+$l, $y);
1327
+	    }
1198 1328
 	    $pdf->line($x+$l, $y, $x+$l, $y+$h);
1199
-	    if (empty($hidebottom)) $pdf->line($x+$l, $y+$h, $x, $y+$h);
1329
+	    if (empty($hidebottom)) {
1330
+	    	$pdf->line($x+$l, $y+$h, $x, $y+$h);
1331
+	    }
1200 1332
 	    $pdf->line($x, $y+$h, $x, $y);
1201 1333
     }
1202 1334
 	
@@ -1205,7 +1337,9 @@  discard block
 block discarded – undo
1205 1337
 	{
1206 1338
 		global $conf;
1207 1339
 		
1208
-		if (empty($fileoutput)) $fileoutput = $file[0];
1340
+		if (empty($fileoutput)) {
1341
+			$fileoutput = $file[0];
1342
+		}
1209 1343
 		
1210 1344
 		$pdf=pdf_getInstance();
1211 1345
         if (class_exists('TCPDF'))
@@ -1215,7 +1349,9 @@  discard block
 block discarded – undo
1215 1349
         }
1216 1350
         $pdf->SetFont(pdf_getPDFFont($outputlangs));
1217 1351
 
1218
-        if (! empty($conf->global->MAIN_DISABLE_PDF_COMPRESSION)) $pdf->SetCompression(false);
1352
+        if (! empty($conf->global->MAIN_DISABLE_PDF_COMPRESSION)) {
1353
+        	$pdf->SetCompression(false);
1354
+        }
1219 1355
 
1220 1356
 		
1221 1357
 		foreach($files as $file)
@@ -1231,7 +1367,9 @@  discard block
 block discarded – undo
1231 1367
 		}
1232 1368
 		
1233 1369
 		$pdf->Output($fileoutput,'F');
1234
-		if (! empty($conf->global->MAIN_UMASK)) @chmod($file, octdec($conf->global->MAIN_UMASK));
1370
+		if (! empty($conf->global->MAIN_UMASK)) {
1371
+			@chmod($file, octdec($conf->global->MAIN_UMASK));
1372
+		}
1235 1373
 
1236 1374
 		return $pagecount;
1237 1375
 	}
@@ -1244,7 +1382,9 @@  discard block
 block discarded – undo
1244 1382
 	 */
1245 1383
 	public static function hasNcTitle(&$line)
1246 1384
 	{
1247
-		if(isset($line->has_nc_title)) return $line->has_nc_title;
1385
+		if(isset($line->has_nc_title)) {
1386
+			return $line->has_nc_title;
1387
+		}
1248 1388
 
1249 1389
 		$TTitle = self::getAllTitleFromLine($line);
1250 1390
 		foreach ($TTitle as &$line_title)
@@ -1269,7 +1409,9 @@  discard block
 block discarded – undo
1269 1409
 	public static function getTitleLabel($line)
1270 1410
 	{
1271 1411
 		$title = $line->label;
1272
-		if (empty($title)) $title = !empty($line->description) ? $line->description : $line->desc;
1412
+		if (empty($title)) {
1413
+			$title = !empty($line->description) ? $line->description : $line->desc;
1414
+		}
1273 1415
 		return $title;
1274 1416
 	}
1275 1417
 }
Please login to merge, or discard this patch.