<?php
/***************************************************************************
- * Copyright (C) 2003-2009 Polytechnique.org *
+ * Copyright (C) 2003-2010 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
function education_options($current = 0)
{
$html = '<option value="-1"></option>';
- $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) {
*/
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;
}
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');