X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fvalidations%2Fentreprises.inc.php;h=88531640c063483e622118d2db47d989bad0440a;hb=00ca8c0923077700cc37cfd8f2b385ac4d115eff;hp=2e1cd9a66e28987f81d256004dc2680eda6ae418;hpb=79414508519eab284fbf5093acf478a858a77ec9;p=platal.git diff --git a/include/validations/entreprises.inc.php b/include/validations/entreprises.inc.php index 2e1cd9a..8853164 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; - $this->url = $_url; - $this->email = $_email; - $this->tel = $_tel; - $this->fax = $_fax; + parent::__construct($_user, false, 'entreprise', $_stamp); + $this->id = $_id; + $this->name = $_name; + $this->acronym = $_acronym; + $this->url = $_url; + $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); + $name_array = array_map("trim", $name); + $length = count($name_array); + $where = ""; + for ($i = 0; $i < $length; $i++) { + if (strlen($name_array[$i]) > 2) { + if ($where !== "") { + $where .= " OR "; + } + $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'] . " | "; + } } // }}} @@ -128,7 +152,8 @@ class EntrReq extends Validate WHERE name = {?}', $this->name); if ($res->numRows() != 1) { - require_once("profil.func.inc.php"); + require_once 'profil.func.inc.php'; + require_once 'geocoding.inc.php'; XDB::execute('INSERT INTO profile_job_enum (name, acronym, url, email, holdingid, NAF_code, AX_code) VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?})', @@ -136,13 +161,26 @@ class EntrReq extends Validate $this->holdingid, $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); + $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'); + XDB::execute("INSERT INTO profile_addresses (jobid, type, id, accuracy, + text, postalText, postalCode, localityId, + subAdministrativeAreaId, administrativeAreaId, + countryId, latitude, longitude, updateTime, + north, south, east, west) + VALUES ({?}, 'hq', 0, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, + {?}, {?}, FROM_UNIXTIME({?}), {?}, {?}, {?}, {?})", + $jobid, $this->address['accuracy'], $this->address['text'], $this->address['postalText'], + $this->address['postalCode'], $this->address['localityId'], + $this->address['subAdministrativeAreaId'], $this->address['administrativeAreaId'], + $this->address['countryId'], $this->address['latitude'], $this->address['longitude'], + $this->address['updateTime'], $this->address['north'], $this->address['south'], + $this->address['east'], $this->address['west']); } else { $jobid = $res->fetchOneCell(); $success = true;