$success = true;
if (is_null($value)) {
$value = array();
- $res = XDB::iterRow("SELECT m.secteur, m.ss_secteur, ss.label
- FROM mentor_secteurs AS m
- INNER JOIN emploi_secteur AS s ON(m.secteur = s.id)
- INNER JOIN emploi_ss_secteur AS ss ON(s.id = ss.secteur AND m.ss_secteur = ss.id)
+ $res = XDB::iterRow("SELECT m.sectorid, m.subsectorid, ss.name
+ FROM profile_mentor_sector AS m
+ INNER JOIN profile_job_sector_enum AS s ON (m.sectorid = s.id)
+ INNER JOIN profile_job_subsector_enum AS ss ON (s.id = ss.sectorid AND m.subsectorid = ss.id)
WHERE m.uid = {?}",
S::i('uid'));
while (list($s, $ss, $ssname) = $res->next()) {
} else if (!is_array($value)) {
$value = array();
} else if (count($value) > 10) {
- global $page;
- $page->trig("Le nombre de secteurs d'expertise est limité à 10");
+ Platal::page()->trigError("Le nombre de secteurs d'expertise est limité à 10.");
$success = false;
}
ksort($value);
public function save(ProfilePage &$page, $field, $value)
{
- XDB::execute("DELETE FROM mentor_secteurs
+ XDB::execute("DELETE FROM profile_mentor_sector
WHERE uid = {?}",
S::i('uid'));
if (!count($value)) {
}
foreach ($value as $id=>&$sect) {
foreach ($sect as $sid=>&$name) {
- XDB::execute("INSERT INTO mentor_secteurs (uid, secteur, ss_secteur)
+ XDB::execute("INSERT INTO profile_mentor_sector (uid, sectorid, subsectorid)
VALUES ({?}, {?}, {?})",
S::i('uid'), $id, $sid);
}
$success = true;
if (is_null($value)) {
$value = array();
- $res = XDB::iterRow("SELECT m.pid, p.pays
- FROM mentor_pays AS m
- INNER JOIN geoloc_pays AS p ON(m.pid = p.a2)
+ $res = XDB::iterRow("SELECT m.country, p.pays
+ FROM profile_mentor_country AS m
+ INNER JOIN geoloc_pays AS p ON (m.country = p.a2)
WHERE m.uid = {?}",
S::i('uid'));
while (list($id, $name) = $res->next()) {
} else if (!is_array($value)) {
$value = array();
} else if (count($value) > 10) {
- global $page;
- $page->trig("Le nombre de secteurs d'expertise est limité à 10");
+ Platal::page()->trigError("Le nombre de secteurs d'expertise est limité à 10");
$success = false;
}
ksort($value);
public function save(ProfilePage &$page, $field, $value)
{
- XDB::execute("DELETE FROM mentor_pays
+ XDB::execute("DELETE FROM profile_mentor_country
WHERE uid = {?}",
S::i('uid'));
foreach ($value as $id=>&$name) {
- XDB::execute("INSERT INTO mentor_pays (uid, pid)
+ XDB::execute("INSERT INTO profile_mentor_country (uid, country)
VALUES ({?}, {?})",
S::i('uid'), $id);
}
protected function _saveData()
{
if ($this->changed['expertise']) {
- XDB::execute("REPLACE INTO mentor (uid, expertise)
- VALUES ({?}, {?})",
- S::i('uid'), $this->values['expertise']);
+ $expertise = trim($this->values['expertise']);
+ if (empty($expertise)) {
+ XDB::execute("DELETE FROM mentor
+ WHERE uid = {?}",
+ S::i('uid'));
+ $this->values['expertise'] = null;
+ } else {
+ XDB::execute("REPLACE INTO mentor (uid, expertise)
+ VALUES ({?}, {?})",
+ S::i('uid'), $expertise);
+ $this->values['expertise'] = $expertise;
+ }
}
}
- public function _prepare(PlatalPage &$page, $id)
+ public function _prepare(PlPage &$page, $id)
{
- $page->assign('secteurs_sel', XDB::iterator("SELECT id, label
- FROM emploi_secteur"));
+ $page->assign('secteurs_sel', XDB::iterator("SELECT id, name AS label
+ FROM profile_job_sector_enum"));
}
}