121 |
/** |
/** |
122 |
* \brief Crée la societe en base |
* \brief Crée la societe en base |
123 |
* \param user Objet utilisateur qui demande la création |
* \param user Objet utilisateur qui demande la création |
124 |
* \return 0 si ok, < 0 si erreur |
* \return int 0 si ok, < 0 si erreur |
125 |
*/ |
*/ |
126 |
|
|
127 |
function create($user='') |
function create($user='') |
151 |
|
|
152 |
$ret = $this->update($this->id,$user,0); |
$ret = $this->update($this->id,$user,0); |
153 |
|
|
154 |
if ($ret > 0) |
if ($ret >= 0) |
155 |
{ |
{ |
156 |
$this->use_webcal=($conf->global->PHPWEBCALENDAR_COMPANYCREATE=='always'?1:0); |
$this->use_webcal=($conf->global->PHPWEBCALENDAR_COMPANYCREATE=='always'?1:0); |
157 |
|
|
163 |
|
|
164 |
dolibarr_syslog("Societe::Create success id=".$this->id); |
dolibarr_syslog("Societe::Create success id=".$this->id); |
165 |
$this->db->commit(); |
$this->db->commit(); |
166 |
$ret = 0; |
return 0; |
167 |
} |
} |
168 |
else |
else |
169 |
{ |
{ |
171 |
$this->db->rollback(); |
$this->db->rollback(); |
172 |
return -3; |
return -3; |
173 |
} |
} |
|
|
|
|
return $ret; |
|
174 |
} |
} |
175 |
else |
else |
176 |
|
|
240 |
* \param id id societe |
* \param id id societe |
241 |
* \param user Utilisateur qui demande la mise à jour |
* \param user Utilisateur qui demande la mise à jour |
242 |
* \param call_trigger 0=non, 1=oui |
* \param call_trigger 0=non, 1=oui |
243 |
* \return int <0 si ko, >0 si erreur |
* \return int <0 si ko, >=0 si ok |
244 |
*/ |
*/ |
245 |
function update($id, $user='', $call_trigger=1) |
function update($id, $user='', $call_trigger=1) |
246 |
{ |
{ |
270 |
|
|
271 |
$result = $this->verify(); |
$result = $this->verify(); |
272 |
|
|
273 |
if ($result == 0) |
if ($result >= 0) |
274 |
{ |
{ |
275 |
dolibarr_syslog("Societe::Update verify ok"); |
dolibarr_syslog("Societe::Update verify ok"); |
276 |
|
|
277 |
if (strlen($this->capital) == 0) |
if (strlen($this->capital) == 0) |
278 |
{ |
{ |
279 |
$this->capital = 0; |
$this->capital = 0; |
280 |
} |
} |
281 |
|
|
282 |
$this->tel = ereg_replace(" ","",$this->tel); |
$this->tel = ereg_replace(" ","",$this->tel); |
283 |
$this->tel = ereg_replace("\.","",$this->tel); |
$this->tel = ereg_replace("\.","",$this->tel); |
284 |
$this->fax = ereg_replace(" ","",$this->fax); |
$this->fax = ereg_replace(" ","",$this->fax); |
285 |
$this->fax = ereg_replace("\.","",$this->fax); |
$this->fax = ereg_replace("\.","",$this->fax); |
286 |
|
|
287 |
/* |
/* |
288 |
* Supression des if (trim(valeur)) pour construire la requete |
* Supression des if (trim(valeur)) pour construire la requete |
289 |
* sinon il est impossible de vider les champs |
* sinon il est impossible de vider les champs |
290 |
*/ |
*/ |
291 |
|
|
292 |
$sql = "UPDATE ".MAIN_DB_PREFIX."societe "; |
$sql = "UPDATE ".MAIN_DB_PREFIX."societe "; |
293 |
$sql .= " SET nom = '" . addslashes($this->nom) ."'"; // Champ obligatoire |
$sql .= " SET nom = '" . addslashes($this->nom) ."'"; // Champ obligatoire |
294 |
$sql .= ", datea = now()"; |
$sql .= ", datea = now()"; |
295 |
$sql .= ",address = '" . addslashes($this->adresse) ."'"; |
$sql .= ",address = '" . addslashes($this->adresse) ."'"; |
296 |
|
|
297 |
if ($this->cp) |
if ($this->cp) |
298 |
{ $sql .= ",cp = '" . $this->cp ."'"; } |
{ $sql .= ",cp = '" . $this->cp ."'"; } |
299 |
|
|
300 |
if ($this->ville) |
if ($this->ville) |
301 |
{ $sql .= ",ville = '" . addslashes($this->ville) ."'"; } |
{ $sql .= ",ville = '" . addslashes($this->ville) ."'"; } |
302 |
|
|
303 |
$sql .= ",fk_departement = '" . ($this->departement_id?$this->departement_id:'0') ."'"; |
$sql .= ",fk_departement = '" . ($this->departement_id?$this->departement_id:'0') ."'"; |
304 |
$sql .= ",fk_pays = '" . ($this->pays_id?$this->pays_id:'0') ."'"; |
$sql .= ",fk_pays = '" . ($this->pays_id?$this->pays_id:'0') ."'"; |
305 |
|
|
306 |
$sql .= ",tel = ".($this->tel?"'".addslashes($this->tel)."'":"null"); |
$sql .= ",tel = ".($this->tel?"'".addslashes($this->tel)."'":"null"); |
307 |
$sql .= ",fax = ".($this->fax?"'".addslashes($this->fax)."'":"null"); |
$sql .= ",fax = ".($this->fax?"'".addslashes($this->fax)."'":"null"); |
308 |
$sql .= ",url = ".($this->url?"'".addslashes($this->url)."'":"null"); |
$sql .= ",url = ".($this->url?"'".addslashes($this->url)."'":"null"); |
309 |
|
|
310 |
$sql .= ",siren = '". addslashes($this->siren) ."'"; |
$sql .= ",siren = '". addslashes($this->siren) ."'"; |
311 |
$sql .= ",siret = '". addslashes($this->siret) ."'"; |
$sql .= ",siret = '". addslashes($this->siret) ."'"; |
312 |
$sql .= ",ape = '". addslashes($this->ape) ."'"; |
$sql .= ",ape = '". addslashes($this->ape) ."'"; |
313 |
|
|
314 |
$sql .= ",tva_intra = '" . addslashes($this->tva_intra) ."'"; |
$sql .= ",tva_intra = '" . addslashes($this->tva_intra) ."'"; |
315 |
$sql .= ",capital = '" . addslashes($this->capital) ."'"; |
$sql .= ",capital = '" . addslashes($this->capital) ."'"; |
316 |
|
|
317 |
if ($this->prefix_comm) $sql .= ",prefix_comm = '" . $this->prefix_comm ."'"; |
if ($this->prefix_comm) $sql .= ",prefix_comm = '" . $this->prefix_comm ."'"; |
318 |
|
|
319 |
if ($this->effectif_id) $sql .= ",fk_effectif = '" . $this->effectif_id ."'"; |
if ($this->effectif_id) $sql .= ",fk_effectif = '" . $this->effectif_id ."'"; |
320 |
|
|
321 |
if ($this->typent_id) $sql .= ",fk_typent = '" . $this->typent_id ."'"; |
if ($this->typent_id) $sql .= ",fk_typent = '" . $this->typent_id ."'"; |
322 |
|
|
323 |
if ($this->forme_juridique_code) $sql .= ",fk_forme_juridique = '".$this->forme_juridique_code."'"; |
if ($this->forme_juridique_code) $sql .= ",fk_forme_juridique = '".$this->forme_juridique_code."'"; |
324 |
|
|
325 |
$sql .= ",client = " . $this->client; |
$sql .= ",client = " . $this->client; |
326 |
$sql .= ",fournisseur = " . $this->fournisseur; |
$sql .= ",fournisseur = " . $this->fournisseur; |
327 |
|
|
328 |
if ($this->creation_bit || $this->codeclient_modifiable) |
if ($this->creation_bit || $this->codeclient_modifiable) |
329 |
{ |
{ |
330 |
// Attention check_codeclient peut modifier le code |
// Attention check_codeclient peut modifier le code |
331 |
// suivant le module utilis |
// suivant le module utilis |
332 |
|
|
333 |
$this->check_codeclient(); |
$this->check_codeclient(); |
334 |
|
|
335 |
$sql .= ", code_client = ".($this->code_client?"'".$this->code_client."'":"null"); |
$sql .= ", code_client = ".($this->code_client?"'".$this->code_client."'":"null"); |
336 |
|
|
337 |
// Attention check_codecompta_client peut modifier le code |
// Attention check_codecompta_client peut modifier le code |
338 |
// suivant le module utilis |
// suivant le module utilis |
339 |
|
|
340 |
$this->check_codecompta_client(); |
$this->check_codecompta_client(); |
341 |
|
|
342 |
$sql .= ", code_compta = ".($this->code_compta?"'".$this->code_compta."'":"null"); |
$sql .= ", code_compta = ".($this->code_compta?"'".$this->code_compta."'":"null"); |
343 |
} |
} |
344 |
|
|
345 |
if ($this->creation_bit || $this->codefournisseur_modifiable) |
if ($this->creation_bit || $this->codefournisseur_modifiable) |
346 |
{ |
{ |
347 |
// Attention check_codefournisseur peut modifier le code |
// Attention check_codefournisseur peut modifier le code |
348 |
// suivant le module utilis |
// suivant le module utilis |
349 |
|
|
350 |
$this->check_codefournisseur(); |
$this->check_codefournisseur(); |
351 |
|
|
352 |
$sql .= ", code_fournisseur = ".($this->code_fournisseur?"'".$this->code_fournisseur."'":"null"); |
$sql .= ", code_fournisseur = ".($this->code_fournisseur?"'".$this->code_fournisseur."'":"null"); |
353 |
|
|
354 |
// Attention check_codecompta_fournisseur peut modifier le code |
// Attention check_codecompta_fournisseur peut modifier le code |
355 |
// suivant le module utilis |
// suivant le module utilis |
356 |
|
|
357 |
$this->check_codecompta_fournisseur(); |
$this->check_codecompta_fournisseur(); |
358 |
|
|
359 |
$sql .= ", code_compta_fournisseur = ".($this->code_compta_fournisseur?"'".$this->code_compta_fournisseur."'":"null"); |
$sql .= ", code_compta_fournisseur = ".($this->code_compta_fournisseur?"'".$this->code_compta_fournisseur."'":"null"); |
360 |
} |
} |
361 |
if ($user) $sql .= ",fk_user_modif = '".$user->id."'"; |
if ($user) $sql .= ",fk_user_modif = '".$user->id."'"; |
362 |
$sql .= " WHERE idp = '" . $id ."'"; |
$sql .= " WHERE idp = '" . $id ."'"; |
363 |
|
|
364 |
$resql=$this->db->query($sql); |
$resql=$this->db->query($sql); |
365 |
if ($resql) |
if ($resql) |
366 |
{ |
{ |
367 |
if ($call_trigger) |
if ($call_trigger) |
368 |
{ |
{ |
369 |
// Appel des triggers |
// Appel des triggers |
370 |
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); |
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php"); |
371 |
$interface=new Interfaces($this->db); |
$interface=new Interfaces($this->db); |
372 |
$result=$interface->run_triggers('COMPANY_MODIFY',$this,$user,$langs,$conf); |
$result=$interface->run_triggers('COMPANY_MODIFY',$this,$user,$langs,$conf); |
373 |
// Fin appel triggers |
// Fin appel triggers |
374 |
} |
} |
375 |
|
|
376 |
$result = 1; |
$result = 1; |
377 |
} |
} |
378 |
else |
else |
379 |
{ |
{ |
380 |
if ($this->db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') |
if ($this->db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') |
381 |
{ |
{ |
382 |
// Doublon |
// Doublon |
383 |
$this->error = $langs->trans("ErrorPrefixAlreadyExists",$this->prefix_comm); |
$this->error = $langs->trans("ErrorPrefixAlreadyExists",$this->prefix_comm); |
384 |
$result = -1; |
$result = -1; |
385 |
} |
} |
386 |
else |
else |
387 |
{ |
{ |
388 |
|
|
389 |
$this->error = $langs->trans("Error sql=$sql"); |
$this->error = $langs->trans("Error sql=$sql"); |
390 |
dolibarr_syslog("Societe::Update echec sql=$sql"); |
dolibarr_syslog("Societe::Update echec sql=$sql"); |
391 |
$result = -2; |
$result = -2; |
392 |
} |
} |
393 |
} |
} |
394 |
} |
} |
395 |
|
|
396 |
return $result; |
return $result; |