X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Feducation.func.inc.php;h=3e036a91e99ed43a026f697ad6ddb906f65af1cf;hb=b123528ef3ea23483f558de98a47b7fe2651a99e;hp=857774eeb743d81978e6c69eb0824dfba54deba1;hpb=065cd7ed086ef7806f294f92e675f16232704d6a;p=platal.git diff --git a/include/education.func.inc.php b/include/education.func.inc.php index 857774e..3e036a9 100644 --- a/include/education.func.inc.php +++ b/include/education.func.inc.php @@ -1,6 +1,6 @@ '; - $res = XDB::iterator("SELECT e.id AS id, e.name AS name, 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) { @@ -59,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; } @@ -163,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');