X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Feducation.func.inc.php;h=dd635915e99c7667de775a5d0f70858c20ed318d;hb=89cb2025f5f2aed0be3994c89ac473aa11535853;hp=04a98caa32215d48c310382c15d1186b59d31feb;hpb=be638e733bce413df4324d985297d9a4d94dcbca;p=platal.git diff --git a/include/education.func.inc.php b/include/education.func.inc.php index 04a98ca..dd63591 100644 --- a/include/education.func.inc.php +++ b/include/education.func.inc.php @@ -22,14 +22,14 @@ function education_options($current = 0) { $html = ''; - $res = XDB::iterator("SELECT e.id AS id, g.pays AS country, + $res = XDB::iterator("SELECT e.id AS id, gc.countryFR AS country, IF(CHAR_LENGTH(e.name) > 76, e.abbreviation, e.name) AS name FROM profile_education_enum AS e - LEFT JOIN geoloc_pays AS g ON (e.country = g.a2) + LEFT JOIN geoloc_countries AS gc ON (e.country = gc.iso_3166_1_a2) WHERE EXISTS (SELECT * FROM profile_education_degree AS d WHERE e.id = d.eduid) - ORDER BY g.pays, e.name"); + ORDER BY gc.countryFR, e.name"); $country = ""; while ($arr_edu = $res->next()) { if ($arr_edu["country"] != $country) { @@ -60,33 +60,25 @@ Platal::page()->register_function('education_options', '_education_options_smart */ function education_degree() { - $html = ""; - $res = XDB::iterRow("SELECT d.eduid, d.degreeid - FROM profile_education_enum AS e - INNER JOIN profile_education_degree AS d ON (e.id = d.eduid) - LEFT JOIN geoloc_pays AS g ON (e.country = g.a2) - ORDER BY g.pays, e.name"); - if ($edu_degree = $res->next()) { - $eduid = $edu_degree['0']; - $html .= "["; - $html .= $edu_degree['1']; - $edu_degree = $res->next(); - while ($edu_degree['0'] == $eduid) { - $html .= "," . $edu_degree['1']; + $html = ''; + $res = XDB::iterRow("SELECT eduid, degreeid + FROM profile_education_degree + ORDER BY eduid"); + $edu_degree = $res->next(); + for ($eduid = 1; $edu_degree; ++$eduid) { + $html .= '['; + if ($edu_degree['0'] == $eduid) { + $html .= $edu_degree['1']; $edu_degree = $res->next(); + while ($edu_degree['0'] == $eduid) { + $html .= ',' . $edu_degree['1']; + $edu_degree = $res->next(); + } } - $html .= "]"; - } - while ($edu_degree) { - $eduid = $edu_degree['0']; - $html .= ",\n["; - $html .= $edu_degree['1']; - $edu_degree = $res->next(); - while ($edu_degree['0'] == $eduid) { - $html .= "," . $edu_degree['1']; - $edu_degree = $res->next(); + $html .= ']'; + if ($edu_degree) { + $html .= ",\n"; } - $html .= "]"; } return $html; } @@ -164,8 +156,16 @@ function education_fmt($name, $url, $degree, $grad_year, $field, $program, $sexe function _education_fmt($params, &$smarty) { - extract($params); - return education_fmt($name, $url, $degree, $grad_year, $field, $program, $sexe, $long); + $params = new PlDict($params); + $edu = $params->v('edu'); + if (!$params->has('sex')) { + $profile = $params->v('profile'); + $sex = $profile->isFemale(); + } else { + $sex = $params->b('sex'); + } + return education_fmt($edu['school_short'], $edu['school_url'], $edu['degree_short'], $edu['grad_year'], + $edu['field'], $edu['program'], $sex, $params->b('long')); } Platal::page()->register_function('education_fmt', '_education_fmt');