X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fvalidations%2Fentreprises.inc.php;h=42e1f4a19a6bf0ac95b89e5c1f193035b32969bc;hb=a6dcf7ed6e2ca2c8f39eda6008c24b9ecd0da3bd;hp=635173d3e5be603c2ae1ea9f677c9b2fc1cf6854;hpb=9891bd15f772caef0c199a98f036e976bf4ab94a;p=platal.git diff --git a/include/validations/entreprises.inc.php b/include/validations/entreprises.inc.php index 635173d..42e1f4a 100644 --- a/include/validations/entreprises.inc.php +++ b/include/validations/entreprises.inc.php @@ -1,6 +1,6 @@ id = $_id; $this->name = $_name; $this->acronym = $_acronym; @@ -53,6 +57,7 @@ class EntrReq extends Validate $this->email = $_email; $this->tel = $_tel; $this->fax = $_fax; + $this->address = $_address; $_name = preg_replace('/[^0-9a-z]/i', ' ', strtolower(replace_accent($_name))); $name = explode(" ", $_name); @@ -67,13 +72,14 @@ class EntrReq extends Validate $where .= "name LIKE '%" . $name_array[$i] . "%'"; } } - $res = XDB::iterator("SELECT name - FROM profile_job_enum - WHERE " - . $where); - $this->suggestions = "| "; - while ($sug = $res->next()) { - $this->suggestions .= $sug['name'] . " | "; + if ($where != '') { + $res = XDB::iterator('SELECT name + FROM profile_job_enum + WHERE ' . $where); + $this->suggestions = "| "; + while ($sug = $res->next()) { + $this->suggestions .= $sug['name'] . " | "; + } } } @@ -98,26 +104,14 @@ class EntrReq extends Validate protected function handle_editor() { - if (Env::has('holdingid')) { - $this->holdingid = trim(Env::v('holdingid')); + foreach (array('name', 'acronym', 'url', 'email', 'SIREN', 'NAF_code', 'tel', 'fax', 'address') as $field) { + $this->$field = (Env::t($field) == '' ? null : Env::t($field)); } - if (Env::has('name')) { - $this->name = trim(Env::v('name')); - if (Env::has('acronym')) { - $this->acronym = trim(Env::v('acronym')); - if (Env::has('url')) { - $this->url = trim(Env::v('url')); - if (Env::has('NAF_code')) { - $this->NAF_code = trim(Env::v('NAF_code')); - if (Env::has('AX_code')) { - $this->AX_code = trim(Env::v('AX_code')); - return true; - } - } - } - } + foreach (array('AX_code', 'holdingid') as $field) { + $this->$field = (Env::i($field) == 0 ? null : Env::i($field)); } - return false; + + return true; } // }}} @@ -125,7 +119,7 @@ class EntrReq extends Validate protected function _mail_subj() { - return "[Polytechnique.org/Entreprises] Demande d'ajout d'une entreprise : " . $this->name; + return '[Polytechnique.org/Entreprises] Demande d\'ajout d\'une entreprise'; } // }}} @@ -136,8 +130,7 @@ class EntrReq extends Validate if ($isok) { return " L'entreprise " . $this->name . " vient d'être ajoutée à ta fiche."; } else { - return " La demande que tu avais faite pour l'entreprise " . $this->name . - " a été refusée, car elle figure déjà dans notre base."; + return ' La demande que tu avais faite pour l\'entreprise ' . $this->name . ' a été refusée.'; } } @@ -151,29 +144,34 @@ class EntrReq extends Validate WHERE name = {?}', $this->name); if ($res->numRows() != 1) { - require_once("profil.func.inc.php"); - - XDB::execute('INSERT INTO profile_job_enum (name, acronym, url, email, holdingid, NAF_code, AX_code) - VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?})', + XDB::execute('INSERT INTO profile_job_enum (name, acronym, url, email, holdingid, SIREN_code, NAF_code, AX_code) + VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})', $this->name, $this->acronym, $this->url, $this->email, - $this->holdingid, $this->NAF_code, $this->AX_code); + $this->holdingid, $this->SIREN, $this->NAF_code, $this->AX_code); + $jobid = XDB::insertId(); - $display_tel = format_display_number($this->tel, $error_tel); - $display_fax =format_display_number($this->fax, $error_fax); - XDB::execute('INSERT INTO profile_phones (uid, link_type, link_id, tel_id, tel_type, - search_tel, display_tel, pub) - VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}), - ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})', - $jobid, 'hq', $this->id, 0, 'fixed', format_phone_number($this->tel), $display_tel, 'public', - $jobid, 'hq', $this->id, 1, 'fax', format_phone_number($this->fax), $display_fax, 'public'); + $phone = new Phone(array('link_type' => 'hq', 'link_id' => $jobid, 'id' => 0, + 'type' => 'fixed', 'display' => $this->tel, 'pub' => 'public')); + $fax = new Phone(array('link_type' => 'hq', 'link_id' => $jobid, 'id' => 1, + 'type' => 'fax', 'display' => $this->fax, 'pub' => 'public')); + $address = new Address(array('jobid' => $jobid, 'type' => Address::LINK_COMPANY, 'text' => $this->address)); + $phone->save(); + $fax->save(); + $address->save(); } else { $jobid = $res->fetchOneCell(); - $success = true; } - return XDB::execute('UPDATE profile_job - SET jobid = {?} - WHERE uid = {?} AND id = {?}', - $jobid, $this->user->id(), $this->id); + + XDB::execute('UPDATE profile_job + SET jobid = {?} + WHERE pid = {?} AND id = {?}', + $jobid, $this->profile->id(), $this->id); + if (XDB::affectedRows() == 0) { + return XDB::execute('INSERT INTO profile_job (jobid, pid, id) + VALUES ({?}, {?}, {?})', + $jobid, $this->profile->id(), $this->id); + } + return true; } // }}} @@ -181,5 +179,5 @@ class EntrReq extends Validate // }}} -// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8: ?>