Completed
Push — master ( 78fac9...861463 )
by Laurent
01:54
created
class/bbctypes.class.php 1 patch
Indentation   +503 added lines, -503 removed lines patch added patch discarded remove patch
@@ -41,228 +41,228 @@  discard block
 block discarded – undo
41 41
  */
42 42
 class Bbctypes extends CommonObject
43 43
 {
44
-	/**
45
-	 * @var string Id to identify managed objects
46
-	 */
47
-	public $element = 'bbctypes';
48
-	/**
49
-	 * @var string Name of table without prefix where object is stored
50
-	 */
51
-	public $table_element = 'bbc_types';
52
-
53
-	/**
54
-	 * @var BbctypesLine[] Lines
55
-	 */
56
-	public $lines = array();
57
-
58
-	/**
59
-	 */
44
+    /**
45
+     * @var string Id to identify managed objects
46
+     */
47
+    public $element = 'bbctypes';
48
+    /**
49
+     * @var string Name of table without prefix where object is stored
50
+     */
51
+    public $table_element = 'bbc_types';
52
+
53
+    /**
54
+     * @var BbctypesLine[] Lines
55
+     */
56
+    public $lines = array();
57
+
58
+    /**
59
+     */
60 60
 	
61
-	public $idType;
62
-	public $numero;
63
-	public $nom;
64
-	public $active;
65
-	public $fkService;
61
+    public $idType;
62
+    public $numero;
63
+    public $nom;
64
+    public $active;
65
+    public $fkService;
66 66
 
67 67
     /**
68 68
      * @var Product
69 69
      */
70
-	public $service;
71
-
72
-	/**
73
-	 * Constructor
74
-	 *
75
-	 * @param DoliDb $db Database handler
76
-	 */
77
-	public function __construct(DoliDB $db)
78
-	{
79
-		$this->db = $db;
80
-	}
81
-
82
-	/**
83
-	 * Create object into database
84
-	 *
85
-	 * @param  User $user      User that creates
86
-	 * @param  bool $notrigger false=launch triggers after, true=disable triggers
87
-	 *
88
-	 * @return int <0 if KO, Id of created object if OK
89
-	 */
90
-	public function create(User $user, $notrigger = false)
91
-	{
92
-		dol_syslog(__METHOD__, LOG_DEBUG);
93
-
94
-		$error = 0;
95
-
96
-		// Clean parameters
70
+    public $service;
71
+
72
+    /**
73
+     * Constructor
74
+     *
75
+     * @param DoliDb $db Database handler
76
+     */
77
+    public function __construct(DoliDB $db)
78
+    {
79
+        $this->db = $db;
80
+    }
81
+
82
+    /**
83
+     * Create object into database
84
+     *
85
+     * @param  User $user      User that creates
86
+     * @param  bool $notrigger false=launch triggers after, true=disable triggers
87
+     *
88
+     * @return int <0 if KO, Id of created object if OK
89
+     */
90
+    public function create(User $user, $notrigger = false)
91
+    {
92
+        dol_syslog(__METHOD__, LOG_DEBUG);
93
+
94
+        $error = 0;
95
+
96
+        // Clean parameters
97 97
 		
98
-		if (isset($this->idType)) {
99
-			 $this->idType = trim($this->idType);
100
-		}
101
-		if (isset($this->numero)) {
102
-			 $this->numero = trim($this->numero);
103
-		}
104
-		if (isset($this->nom)) {
105
-			 $this->nom = trim($this->nom);
106
-		}
107
-		if (isset($this->active)) {
108
-			 $this->active = trim($this->active);
109
-		}
110
-		if (isset($this->fkService)) {
111
-			 $this->fkService = trim($this->fkService);
112
-		}
113
-
114
-
115
-
116
-		// Check parameters
117
-		// Put here code to add control on parameters values
118
-
119
-		// Insert request
120
-		$sql = 'INSERT INTO ' . MAIN_DB_PREFIX . $this->table_element . '(';
98
+        if (isset($this->idType)) {
99
+                $this->idType = trim($this->idType);
100
+        }
101
+        if (isset($this->numero)) {
102
+                $this->numero = trim($this->numero);
103
+        }
104
+        if (isset($this->nom)) {
105
+                $this->nom = trim($this->nom);
106
+        }
107
+        if (isset($this->active)) {
108
+                $this->active = trim($this->active);
109
+        }
110
+        if (isset($this->fkService)) {
111
+                $this->fkService = trim($this->fkService);
112
+        }
113
+
114
+
115
+
116
+        // Check parameters
117
+        // Put here code to add control on parameters values
118
+
119
+        // Insert request
120
+        $sql = 'INSERT INTO ' . MAIN_DB_PREFIX . $this->table_element . '(';
121 121
 		
122
-		$sql.= 'numero,';
123
-		$sql.= 'nom,';
124
-		$sql.= 'fkService,';
125
-		$sql.= 'active';
122
+        $sql.= 'numero,';
123
+        $sql.= 'nom,';
124
+        $sql.= 'fkService,';
125
+        $sql.= 'active';
126 126
 
127 127
 		
128
-		$sql .= ') VALUES (';
128
+        $sql .= ') VALUES (';
129 129
 		
130
-		$sql .= ' '.(! isset($this->numero)?'NULL':$this->numero).',';
131
-		$sql .= ' '.(! isset($this->nom)?'NULL':"'".$this->db->escape($this->nom)."'").',';
132
-		$sql .= ' '.(! isset($this->fkService)?'NULL':"'".$this->db->escape($this->fkService)."'").',';
133
-		$sql .= ' '.(! isset($this->active)?'NULL':$this->active);
130
+        $sql .= ' '.(! isset($this->numero)?'NULL':$this->numero).',';
131
+        $sql .= ' '.(! isset($this->nom)?'NULL':"'".$this->db->escape($this->nom)."'").',';
132
+        $sql .= ' '.(! isset($this->fkService)?'NULL':"'".$this->db->escape($this->fkService)."'").',';
133
+        $sql .= ' '.(! isset($this->active)?'NULL':$this->active);
134 134
 
135 135
 		
136
-		$sql .= ')';
137
-
138
-		$this->db->begin();
139
-
140
-		$resql = $this->db->query($sql);
141
-		if (!$resql) {
142
-			$error ++;
143
-			$this->errors[] = 'Error ' . $this->db->lasterror();
144
-			dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
145
-		}
146
-
147
-		if (!$error) {
148
-			$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX . $this->table_element);
149
-
150
-			if (!$notrigger) {
151
-				// Uncomment this and change MYOBJECT to your own tag if you
152
-				// want this action to call a trigger.
153
-
154
-				//// Call triggers
155
-				//$result=$this->call_trigger('MYOBJECT_CREATE',$user);
156
-				//if ($result < 0) $error++;
157
-				//// End call triggers
158
-			}
159
-		}
160
-
161
-		// Commit or rollback
162
-		if ($error) {
163
-			$this->db->rollback();
164
-
165
-			return - 1 * $error;
166
-		} else {
167
-			$this->db->commit();
168
-
169
-			return $this->id;
170
-		}
171
-	}
172
-
173
-	/**
174
-	 * Load object in memory from the database
175
-	 *
176
-	 * @param int    $id  Id object
177
-	 * @param string $ref Ref
178
-	 *
179
-	 * @return int <0 if KO, 0 if not found, >0 if OK
180
-	 */
181
-	public function fetch($id, $ref = null)
182
-	{
183
-		dol_syslog(__METHOD__, LOG_DEBUG);
184
-
185
-		$sql = 'SELECT';
186
-		$sql .= ' t.idType,';
136
+        $sql .= ')';
137
+
138
+        $this->db->begin();
139
+
140
+        $resql = $this->db->query($sql);
141
+        if (!$resql) {
142
+            $error ++;
143
+            $this->errors[] = 'Error ' . $this->db->lasterror();
144
+            dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
145
+        }
146
+
147
+        if (!$error) {
148
+            $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX . $this->table_element);
149
+
150
+            if (!$notrigger) {
151
+                // Uncomment this and change MYOBJECT to your own tag if you
152
+                // want this action to call a trigger.
153
+
154
+                //// Call triggers
155
+                //$result=$this->call_trigger('MYOBJECT_CREATE',$user);
156
+                //if ($result < 0) $error++;
157
+                //// End call triggers
158
+            }
159
+        }
160
+
161
+        // Commit or rollback
162
+        if ($error) {
163
+            $this->db->rollback();
164
+
165
+            return - 1 * $error;
166
+        } else {
167
+            $this->db->commit();
168
+
169
+            return $this->id;
170
+        }
171
+    }
172
+
173
+    /**
174
+     * Load object in memory from the database
175
+     *
176
+     * @param int    $id  Id object
177
+     * @param string $ref Ref
178
+     *
179
+     * @return int <0 if KO, 0 if not found, >0 if OK
180
+     */
181
+    public function fetch($id, $ref = null)
182
+    {
183
+        dol_syslog(__METHOD__, LOG_DEBUG);
184
+
185
+        $sql = 'SELECT';
186
+        $sql .= ' t.idType,';
187 187
 		
188
-		$sql .= " t.numero,";
189
-		$sql .= " t.nom,";
190
-		$sql .= " t.fkService,";
191
-		$sql .= " t.active";
188
+        $sql .= " t.numero,";
189
+        $sql .= " t.nom,";
190
+        $sql .= " t.fkService,";
191
+        $sql .= " t.active";
192 192
 
193 193
 		
194
-		$sql .= ' FROM ' . MAIN_DB_PREFIX . $this->table_element . ' as t';
195
-		if (null !== $ref) {
196
-			$sql .= ' WHERE t.ref = ' . '\'' . $ref . '\'';
197
-		} else {
198
-			$sql .= ' WHERE t.idType = ' . $id;
199
-		}
200
-
201
-		$resql = $this->db->query($sql);
202
-		if ($resql) {
203
-			$numrows = $this->db->num_rows($resql);
204
-			if ($numrows) {
205
-				$obj = $this->db->fetch_object($resql);
206
-
207
-				$this->id = $obj->idType;
194
+        $sql .= ' FROM ' . MAIN_DB_PREFIX . $this->table_element . ' as t';
195
+        if (null !== $ref) {
196
+            $sql .= ' WHERE t.ref = ' . '\'' . $ref . '\'';
197
+        } else {
198
+            $sql .= ' WHERE t.idType = ' . $id;
199
+        }
200
+
201
+        $resql = $this->db->query($sql);
202
+        if ($resql) {
203
+            $numrows = $this->db->num_rows($resql);
204
+            if ($numrows) {
205
+                $obj = $this->db->fetch_object($resql);
206
+
207
+                $this->id = $obj->idType;
208 208
 				
209
-				$this->idType = $obj->idType;
210
-				$this->numero = $obj->numero;
211
-				$this->nom = $obj->nom;
212
-				$this->fkService = $obj->fkService;
213
-				$this->active = $obj->active;
209
+                $this->idType = $obj->idType;
210
+                $this->numero = $obj->numero;
211
+                $this->nom = $obj->nom;
212
+                $this->fkService = $obj->fkService;
213
+                $this->active = $obj->active;
214 214
 
215
-				if($this->fkService){
215
+                if($this->fkService){
216 216
                     $this->service = new Product($this->db);
217 217
                     $this->service->fetch($this->fkService);
218 218
                 }
219
-			}
220
-			$this->db->free($resql);
221
-
222
-			if ($numrows) {
223
-				return 1;
224
-			} else {
225
-				return 0;
226
-			}
227
-		} else {
228
-			$this->errors[] = 'Error ' . $this->db->lasterror();
229
-			dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
230
-
231
-			return - 1;
232
-		}
233
-	}
234
-
235
-	/**
236
-	 * Load object in memory from the database
237
-	 *
238
-	 * @param string $sortorder Sort Order
239
-	 * @param string $sortfield Sort field
240
-	 * @param int    $limit     offset limit
241
-	 * @param int    $offset    offset limit
242
-	 * @param array  $filter    filter array
243
-	 * @param string $filtermode filter mode (AND or OR)
244
-	 *
245
-	 * @return int <0 if KO, >0 if OK
246
-	 */
247
-	public function fetchAll($sortorder='', $sortfield='', $limit=0, $offset=0, array $filter = array(), $filtermode='AND')
248
-	{
249
-		dol_syslog(__METHOD__, LOG_DEBUG);
250
-
251
-		$sql = 'SELECT';
252
-		$sql .= " t.idType,";
253
-		$sql .= " t.numero,";
254
-		$sql .= " t.nom,";
255
-		$sql .= " t.fkService,";
256
-		$sql .= " t.active";
219
+            }
220
+            $this->db->free($resql);
221
+
222
+            if ($numrows) {
223
+                return 1;
224
+            } else {
225
+                return 0;
226
+            }
227
+        } else {
228
+            $this->errors[] = 'Error ' . $this->db->lasterror();
229
+            dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
230
+
231
+            return - 1;
232
+        }
233
+    }
234
+
235
+    /**
236
+     * Load object in memory from the database
237
+     *
238
+     * @param string $sortorder Sort Order
239
+     * @param string $sortfield Sort field
240
+     * @param int    $limit     offset limit
241
+     * @param int    $offset    offset limit
242
+     * @param array  $filter    filter array
243
+     * @param string $filtermode filter mode (AND or OR)
244
+     *
245
+     * @return int <0 if KO, >0 if OK
246
+     */
247
+    public function fetchAll($sortorder='', $sortfield='', $limit=0, $offset=0, array $filter = array(), $filtermode='AND')
248
+    {
249
+        dol_syslog(__METHOD__, LOG_DEBUG);
250
+
251
+        $sql = 'SELECT';
252
+        $sql .= " t.idType,";
253
+        $sql .= " t.numero,";
254
+        $sql .= " t.nom,";
255
+        $sql .= " t.fkService,";
256
+        $sql .= " t.active";
257 257
 
258 258
 		
259
-		$sql .= ' FROM ' . MAIN_DB_PREFIX . $this->table_element. ' as t';
259
+        $sql .= ' FROM ' . MAIN_DB_PREFIX . $this->table_element. ' as t';
260 260
 
261
-		// Manage filter
262
-		$sqlwhere = array();
261
+        // Manage filter
262
+        $sqlwhere = array();
263 263
 
264
-		foreach ($filter as $key => $value) {
265
-		    if(is_string($value)){
264
+        foreach ($filter as $key => $value) {
265
+            if(is_string($value)){
266 266
                 $sqlwhere [] = $key . ' LIKE \'%' . $this->db->escape($value) . '%\'';
267 267
                 continue;
268 268
             }
@@ -273,237 +273,237 @@  discard block
 block discarded – undo
273 273
             }
274 274
         }
275 275
 
276
-		if (count($sqlwhere) > 0) {
277
-			$sql .= ' WHERE ' . implode(' '.$filtermode.' ', $sqlwhere);
278
-		}
276
+        if (count($sqlwhere) > 0) {
277
+            $sql .= ' WHERE ' . implode(' '.$filtermode.' ', $sqlwhere);
278
+        }
279 279
 		
280
-		if (!empty($sortfield)) {
281
-			$sql .= $this->db->order($sortfield,$sortorder);
282
-		}
283
-		if (!empty($limit)) {
284
-		 $sql .=  ' ' . $this->db->plimit($limit + 1, $offset);
285
-		}
286
-		$this->lines = array();
287
-
288
-		$resql = $this->db->query($sql);
289
-		if ($resql) {
290
-			$num = $this->db->num_rows($resql);
291
-
292
-			while ($obj = $this->db->fetch_object($resql)) {
293
-				$line = new BbctypesLine();
294
-
295
-				$line->id = $obj->idType;
296
-				$line->idType = $obj->idType;
297
-				$line->numero = $obj->numero;
298
-				$line->nom = $obj->nom;
299
-				$line->fkService = $obj->fkService;
300
-				$line->active = $obj->active;
301
-
302
-				$this->lines[$line->id] = $line;
303
-			}
304
-			$this->db->free($resql);
305
-
306
-			return $num;
307
-		} else {
308
-			$this->errors[] = 'Error ' . $this->db->lasterror();
309
-			dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
310
-
311
-			return - 1;
312
-		}
313
-	}
314
-
315
-	/**
316
-	 * Update object into database
317
-	 *
318
-	 * @param  User $user      User that modifies
319
-	 * @param  bool $notrigger false=launch triggers after, true=disable triggers
320
-	 *
321
-	 * @return int <0 if KO, >0 if OK
322
-	 */
323
-	public function update(User $user, $notrigger = false)
324
-	{
325
-		$error = 0;
326
-
327
-		dol_syslog(__METHOD__, LOG_DEBUG);
328
-
329
-		// Clean parameters
280
+        if (!empty($sortfield)) {
281
+            $sql .= $this->db->order($sortfield,$sortorder);
282
+        }
283
+        if (!empty($limit)) {
284
+            $sql .=  ' ' . $this->db->plimit($limit + 1, $offset);
285
+        }
286
+        $this->lines = array();
287
+
288
+        $resql = $this->db->query($sql);
289
+        if ($resql) {
290
+            $num = $this->db->num_rows($resql);
291
+
292
+            while ($obj = $this->db->fetch_object($resql)) {
293
+                $line = new BbctypesLine();
294
+
295
+                $line->id = $obj->idType;
296
+                $line->idType = $obj->idType;
297
+                $line->numero = $obj->numero;
298
+                $line->nom = $obj->nom;
299
+                $line->fkService = $obj->fkService;
300
+                $line->active = $obj->active;
301
+
302
+                $this->lines[$line->id] = $line;
303
+            }
304
+            $this->db->free($resql);
305
+
306
+            return $num;
307
+        } else {
308
+            $this->errors[] = 'Error ' . $this->db->lasterror();
309
+            dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
310
+
311
+            return - 1;
312
+        }
313
+    }
314
+
315
+    /**
316
+     * Update object into database
317
+     *
318
+     * @param  User $user      User that modifies
319
+     * @param  bool $notrigger false=launch triggers after, true=disable triggers
320
+     *
321
+     * @return int <0 if KO, >0 if OK
322
+     */
323
+    public function update(User $user, $notrigger = false)
324
+    {
325
+        $error = 0;
326
+
327
+        dol_syslog(__METHOD__, LOG_DEBUG);
328
+
329
+        // Clean parameters
330 330
 		
331
-		if (isset($this->idType)) {
332
-			 $this->idType = trim($this->idType);
333
-		}
334
-		if (isset($this->numero)) {
335
-			 $this->numero = trim($this->numero);
336
-		}
337
-		if (isset($this->nom)) {
338
-			 $this->nom = trim($this->nom);
339
-		}
340
-		if (isset($this->fkService)) {
341
-			 $this->fkService = trim($this->fkService);
342
-		}
343
-		if (isset($this->active)) {
344
-			 $this->active = trim($this->active);
345
-		}
331
+        if (isset($this->idType)) {
332
+                $this->idType = trim($this->idType);
333
+        }
334
+        if (isset($this->numero)) {
335
+                $this->numero = trim($this->numero);
336
+        }
337
+        if (isset($this->nom)) {
338
+                $this->nom = trim($this->nom);
339
+        }
340
+        if (isset($this->fkService)) {
341
+                $this->fkService = trim($this->fkService);
342
+        }
343
+        if (isset($this->active)) {
344
+                $this->active = trim($this->active);
345
+        }
346 346
 
347 347
 		
348 348
 
349
-		// Check parameters
350
-		// Put here code to add a control on parameters values
349
+        // Check parameters
350
+        // Put here code to add a control on parameters values
351 351
 
352
-		// Update request
353
-		$sql = 'UPDATE ' . MAIN_DB_PREFIX . $this->table_element . ' SET';
352
+        // Update request
353
+        $sql = 'UPDATE ' . MAIN_DB_PREFIX . $this->table_element . ' SET';
354 354
 		
355
-		$sql .= ' numero = '.(isset($this->numero)?$this->numero:"null").',';
356
-		$sql .= ' nom = '.(isset($this->nom)?"'".$this->db->escape($this->nom)."'":"null").',';
357
-		$sql .= ' fkService = '.(isset($this->fkService)?"'".$this->db->escape($this->fkService)."'":"null").',';
358
-		$sql .= ' active = '.(isset($this->active)?$this->active:"null");
355
+        $sql .= ' numero = '.(isset($this->numero)?$this->numero:"null").',';
356
+        $sql .= ' nom = '.(isset($this->nom)?"'".$this->db->escape($this->nom)."'":"null").',';
357
+        $sql .= ' fkService = '.(isset($this->fkService)?"'".$this->db->escape($this->fkService)."'":"null").',';
358
+        $sql .= ' active = '.(isset($this->active)?$this->active:"null");
359 359
 
360 360
         
361
-		$sql .= ' WHERE idType=' . $this->id;
362
-
363
-		$this->db->begin();
364
-
365
-		$resql = $this->db->query($sql);
366
-		if (!$resql) {
367
-			$error ++;
368
-			$this->errors[] = 'Error ' . $this->db->lasterror();
369
-			dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
370
-		}
371
-
372
-		if (!$error && !$notrigger) {
373
-			// Uncomment this and change MYOBJECT to your own tag if you
374
-			// want this action calls a trigger.
375
-
376
-			//// Call triggers
377
-			//$result=$this->call_trigger('MYOBJECT_MODIFY',$user);
378
-			//if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail}
379
-			//// End call triggers
380
-		}
381
-
382
-		// Commit or rollback
383
-		if ($error) {
384
-			$this->db->rollback();
385
-
386
-			return - 1 * $error;
387
-		} else {
388
-			$this->db->commit();
389
-
390
-			return 1;
391
-		}
392
-	}
393
-
394
-	/**
395
-	 * Delete object in database
396
-	 *
397
-	 * @param User $user      User that deletes
398
-	 * @param bool $notrigger false=launch triggers after, true=disable triggers
399
-	 *
400
-	 * @return int <0 if KO, >0 if OK
401
-	 */
402
-	public function delete(User $user, $notrigger = false)
403
-	{
404
-		dol_syslog(__METHOD__, LOG_DEBUG);
405
-
406
-		$error = 0;
407
-
408
-		$this->db->begin();
409
-
410
-		if (!$error) {
411
-			if (!$notrigger) {
412
-				// Uncomment this and change MYOBJECT to your own tag if you
413
-				// want this action calls a trigger.
414
-
415
-				//// Call triggers
416
-				//$result=$this->call_trigger('MYOBJECT_DELETE',$user);
417
-				//if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail}
418
-				//// End call triggers
419
-			}
420
-		}
421
-
422
-		if (!$error) {
423
-			$sql = 'DELETE FROM ' . MAIN_DB_PREFIX . $this->table_element;
424
-			$sql .= ' WHERE idType=' . $this->id;
425
-
426
-			$resql = $this->db->query($sql);
427
-			if (!$resql) {
428
-				$error ++;
429
-				$this->errors[] = 'Error ' . $this->db->lasterror();
430
-				dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
431
-			}
432
-		}
433
-
434
-		// Commit or rollback
435
-		if ($error) {
436
-			$this->db->rollback();
437
-
438
-			return - 1 * $error;
439
-		} else {
440
-			$this->db->commit();
441
-
442
-			return 1;
443
-		}
444
-	}
445
-
446
-	/**
447
-	 * Load an object from its id and create a new one in database
448
-	 *
449
-	 * @param int $fromid Id of object to clone
450
-	 *
451
-	 * @return int New id of clone
452
-	 */
453
-	public function createFromClone($fromid)
454
-	{
455
-		dol_syslog(__METHOD__, LOG_DEBUG);
456
-
457
-		global $user;
458
-		$error = 0;
459
-		$object = new Bbctypes($this->db);
460
-
461
-		$this->db->begin();
462
-
463
-		// Load source object
464
-		$object->fetch($fromid);
465
-		// Reset object
466
-		$object->id = 0;
467
-
468
-		// Clear fields
469
-		// ...
470
-
471
-		// Create clone
472
-		$result = $object->create($user);
473
-
474
-		// Other options
475
-		if ($result < 0) {
476
-			$error ++;
477
-			$this->errors = $object->errors;
478
-			dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
479
-		}
480
-
481
-		// End
482
-		if (!$error) {
483
-			$this->db->commit();
484
-
485
-			return $object->id;
486
-		} else {
487
-			$this->db->rollback();
488
-
489
-			return - 1;
490
-		}
491
-	}
492
-
493
-	/**
494
-	 *  Return a link to the user card (with optionaly the picto)
495
-	 * 	Use this->id,this->lastname, this->firstname
496
-	 *
497
-	 *	@param	int		$withpicto			Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto)
498
-	 *	@param	string	$option				On what the link point to
361
+        $sql .= ' WHERE idType=' . $this->id;
362
+
363
+        $this->db->begin();
364
+
365
+        $resql = $this->db->query($sql);
366
+        if (!$resql) {
367
+            $error ++;
368
+            $this->errors[] = 'Error ' . $this->db->lasterror();
369
+            dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
370
+        }
371
+
372
+        if (!$error && !$notrigger) {
373
+            // Uncomment this and change MYOBJECT to your own tag if you
374
+            // want this action calls a trigger.
375
+
376
+            //// Call triggers
377
+            //$result=$this->call_trigger('MYOBJECT_MODIFY',$user);
378
+            //if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail}
379
+            //// End call triggers
380
+        }
381
+
382
+        // Commit or rollback
383
+        if ($error) {
384
+            $this->db->rollback();
385
+
386
+            return - 1 * $error;
387
+        } else {
388
+            $this->db->commit();
389
+
390
+            return 1;
391
+        }
392
+    }
393
+
394
+    /**
395
+     * Delete object in database
396
+     *
397
+     * @param User $user      User that deletes
398
+     * @param bool $notrigger false=launch triggers after, true=disable triggers
399
+     *
400
+     * @return int <0 if KO, >0 if OK
401
+     */
402
+    public function delete(User $user, $notrigger = false)
403
+    {
404
+        dol_syslog(__METHOD__, LOG_DEBUG);
405
+
406
+        $error = 0;
407
+
408
+        $this->db->begin();
409
+
410
+        if (!$error) {
411
+            if (!$notrigger) {
412
+                // Uncomment this and change MYOBJECT to your own tag if you
413
+                // want this action calls a trigger.
414
+
415
+                //// Call triggers
416
+                //$result=$this->call_trigger('MYOBJECT_DELETE',$user);
417
+                //if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail}
418
+                //// End call triggers
419
+            }
420
+        }
421
+
422
+        if (!$error) {
423
+            $sql = 'DELETE FROM ' . MAIN_DB_PREFIX . $this->table_element;
424
+            $sql .= ' WHERE idType=' . $this->id;
425
+
426
+            $resql = $this->db->query($sql);
427
+            if (!$resql) {
428
+                $error ++;
429
+                $this->errors[] = 'Error ' . $this->db->lasterror();
430
+                dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
431
+            }
432
+        }
433
+
434
+        // Commit or rollback
435
+        if ($error) {
436
+            $this->db->rollback();
437
+
438
+            return - 1 * $error;
439
+        } else {
440
+            $this->db->commit();
441
+
442
+            return 1;
443
+        }
444
+    }
445
+
446
+    /**
447
+     * Load an object from its id and create a new one in database
448
+     *
449
+     * @param int $fromid Id of object to clone
450
+     *
451
+     * @return int New id of clone
452
+     */
453
+    public function createFromClone($fromid)
454
+    {
455
+        dol_syslog(__METHOD__, LOG_DEBUG);
456
+
457
+        global $user;
458
+        $error = 0;
459
+        $object = new Bbctypes($this->db);
460
+
461
+        $this->db->begin();
462
+
463
+        // Load source object
464
+        $object->fetch($fromid);
465
+        // Reset object
466
+        $object->id = 0;
467
+
468
+        // Clear fields
469
+        // ...
470
+
471
+        // Create clone
472
+        $result = $object->create($user);
473
+
474
+        // Other options
475
+        if ($result < 0) {
476
+            $error ++;
477
+            $this->errors = $object->errors;
478
+            dol_syslog(__METHOD__ . ' ' . join(',', $this->errors), LOG_ERR);
479
+        }
480
+
481
+        // End
482
+        if (!$error) {
483
+            $this->db->commit();
484
+
485
+            return $object->id;
486
+        } else {
487
+            $this->db->rollback();
488
+
489
+            return - 1;
490
+        }
491
+    }
492
+
493
+    /**
494
+     *  Return a link to the user card (with optionaly the picto)
495
+     * 	Use this->id,this->lastname, this->firstname
496
+     *
497
+     *	@param	int		$withpicto			Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto)
498
+     *	@param	string	$option				On what the link point to
499 499
      *  @param	integer	$notooltip			1=Disable tooltip
500 500
      *  @param	int		$maxlen				Max length of visible user name
501 501
      *  @param  string  $morecss            Add more css on link
502
-	 *	@return	string						String with URL
503
-	 */
504
-	function getNomUrl($withpicto=0, $option='', $notooltip=0, $maxlen=24, $morecss='')
505
-	{
506
-		global $langs, $conf, $db;
502
+     *	@return	string						String with URL
503
+     */
504
+    function getNomUrl($withpicto=0, $option='', $notooltip=0, $maxlen=24, $morecss='')
505
+    {
506
+        global $langs, $conf, $db;
507 507
         global $dolibarr_main_authentication, $dolibarr_main_demo;
508 508
         global $menumanager;
509 509
 
@@ -518,93 +518,93 @@  discard block
 block discarded – undo
518 518
         $link = '<a href="'.DOL_URL_ROOT.'/flightlog/card.php?id='.$this->id.'"';
519 519
         $link.= ($notooltip?'':' title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip'.($morecss?' '.$morecss:'').'"');
520 520
         $link.= '>';
521
-		$linkend='</a>';
521
+        $linkend='</a>';
522 522
 
523 523
         if ($withpicto)
524 524
         {
525 525
             $result.=($link.img_object(($notooltip?'':$label), 'label', ($notooltip?'':'class="classfortooltip"')).$linkend);
526 526
             if ($withpicto != 2) $result.=' ';
527
-		}
528
-		$result.= $link . $this->ref . $linkend;
529
-		return $result;
530
-	}
527
+        }
528
+        $result.= $link . $this->ref . $linkend;
529
+        return $result;
530
+    }
531 531
 	
532
-	/**
533
-	 *  Retourne le libelle du status d'un user (actif, inactif)
534
-	 *
535
-	 *  @param	int		$mode          0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
536
-	 *  @return	string 			       Label of status
537
-	 */
538
-	function getLibStatut($mode=0)
539
-	{
540
-		return $this->LibStatut($this->status,$mode);
541
-	}
542
-
543
-	/**
544
-	 *  Renvoi le libelle d'un status donne
545
-	 *
546
-	 *  @param	int		$status        	Id status
547
-	 *  @param  int		$mode          	0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
548
-	 *  @return string 			       	Label of status
549
-	 */
550
-	function LibStatut($status,$mode=0)
551
-	{
552
-		global $langs;
553
-
554
-		if ($mode == 0)
555
-		{
556
-			$prefix='';
557
-			if ($status == 1) return $langs->trans('Enabled');
558
-			if ($status == 0) return $langs->trans('Disabled');
559
-		}
560
-		if ($mode == 1)
561
-		{
562
-			if ($status == 1) return $langs->trans('Enabled');
563
-			if ($status == 0) return $langs->trans('Disabled');
564
-		}
565
-		if ($mode == 2)
566
-		{
567
-			if ($status == 1) return img_picto($langs->trans('Enabled'),'statut4').' '.$langs->trans('Enabled');
568
-			if ($status == 0) return img_picto($langs->trans('Disabled'),'statut5').' '.$langs->trans('Disabled');
569
-		}
570
-		if ($mode == 3)
571
-		{
572
-			if ($status == 1) return img_picto($langs->trans('Enabled'),'statut4');
573
-			if ($status == 0) return img_picto($langs->trans('Disabled'),'statut5');
574
-		}
575
-		if ($mode == 4)
576
-		{
577
-			if ($status == 1) return img_picto($langs->trans('Enabled'),'statut4').' '.$langs->trans('Enabled');
578
-			if ($status == 0) return img_picto($langs->trans('Disabled'),'statut5').' '.$langs->trans('Disabled');
579
-		}
580
-		if ($mode == 5)
581
-		{
582
-			if ($status == 1) return $langs->trans('Enabled').' '.img_picto($langs->trans('Enabled'),'statut4');
583
-			if ($status == 0) return $langs->trans('Disabled').' '.img_picto($langs->trans('Disabled'),'statut5');
584
-		}
585
-
586
-		return "";
587
-	}
532
+    /**
533
+     *  Retourne le libelle du status d'un user (actif, inactif)
534
+     *
535
+     *  @param	int		$mode          0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
536
+     *  @return	string 			       Label of status
537
+     */
538
+    function getLibStatut($mode=0)
539
+    {
540
+        return $this->LibStatut($this->status,$mode);
541
+    }
542
+
543
+    /**
544
+     *  Renvoi le libelle d'un status donne
545
+     *
546
+     *  @param	int		$status        	Id status
547
+     *  @param  int		$mode          	0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long, 5=Libelle court + Picto
548
+     *  @return string 			       	Label of status
549
+     */
550
+    function LibStatut($status,$mode=0)
551
+    {
552
+        global $langs;
553
+
554
+        if ($mode == 0)
555
+        {
556
+            $prefix='';
557
+            if ($status == 1) return $langs->trans('Enabled');
558
+            if ($status == 0) return $langs->trans('Disabled');
559
+        }
560
+        if ($mode == 1)
561
+        {
562
+            if ($status == 1) return $langs->trans('Enabled');
563
+            if ($status == 0) return $langs->trans('Disabled');
564
+        }
565
+        if ($mode == 2)
566
+        {
567
+            if ($status == 1) return img_picto($langs->trans('Enabled'),'statut4').' '.$langs->trans('Enabled');
568
+            if ($status == 0) return img_picto($langs->trans('Disabled'),'statut5').' '.$langs->trans('Disabled');
569
+        }
570
+        if ($mode == 3)
571
+        {
572
+            if ($status == 1) return img_picto($langs->trans('Enabled'),'statut4');
573
+            if ($status == 0) return img_picto($langs->trans('Disabled'),'statut5');
574
+        }
575
+        if ($mode == 4)
576
+        {
577
+            if ($status == 1) return img_picto($langs->trans('Enabled'),'statut4').' '.$langs->trans('Enabled');
578
+            if ($status == 0) return img_picto($langs->trans('Disabled'),'statut5').' '.$langs->trans('Disabled');
579
+        }
580
+        if ($mode == 5)
581
+        {
582
+            if ($status == 1) return $langs->trans('Enabled').' '.img_picto($langs->trans('Enabled'),'statut4');
583
+            if ($status == 0) return $langs->trans('Disabled').' '.img_picto($langs->trans('Disabled'),'statut5');
584
+        }
585
+
586
+        return "";
587
+    }
588 588
 	
589 589
 	
590
-	/**
591
-	 * Initialise object with example values
592
-	 * Id must be 0 if object instance is a specimen
593
-	 *
594
-	 * @return void
595
-	 */
596
-	public function initAsSpecimen()
597
-	{
598
-		$this->id = 0;
590
+    /**
591
+     * Initialise object with example values
592
+     * Id must be 0 if object instance is a specimen
593
+     *
594
+     * @return void
595
+     */
596
+    public function initAsSpecimen()
597
+    {
598
+        $this->id = 0;
599 599
 		
600
-		$this->idType = '';
601
-		$this->numero = '';
602
-		$this->nom = '';
603
-		$this->fkService = null;
604
-		$this->active = '';
600
+        $this->idType = '';
601
+        $this->numero = '';
602
+        $this->nom = '';
603
+        $this->fkService = null;
604
+        $this->active = '';
605 605
 
606 606
 		
607
-	}
607
+    }
608 608
 
609 609
 }
610 610
 
@@ -613,14 +613,14 @@  discard block
 block discarded – undo
613 613
  */
614 614
 class BbctypesLine
615 615
 {
616
-	/**
617
-	 * @var int ID
618
-	 */
619
-	public $id;
620
-
621
-	public $idType;
622
-	public $numero;
623
-	public $nom;
624
-	public $fkService;
625
-	public $active;
616
+    /**
617
+     * @var int ID
618
+     */
619
+    public $id;
620
+
621
+    public $idType;
622
+    public $numero;
623
+    public $nom;
624
+    public $fkService;
625
+    public $active;
626 626
 }
Please login to merge, or discard this patch.