<?php
/***************************************************************************
- * Copyright (C) 2003-2008 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, 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
- INNER JOIN geoloc_pays AS g ON (e.country = g.a2)
- ORDER BY g.pays, e.name");
+ 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 gc.countryFR, e.name");
$country = "";
while ($arr_edu = $res->next()) {
if ($arr_edu["country"] != $country) {
*/
function education_degree()
{
- $html = "";
+ $html = '';
$res = XDB::iterRow("SELECT eduid, degreeid
- FROM profile_education_degree AS d
- INNER JOIN profile_education_enum AS e ON (e.id = d.eduid)
- INNER 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'];
+ 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_degree_all()
{
- $html = "";
$res = XDB::query("SELECT id
FROM profile_education_degree_enum
ORDER BY id");
*/
function education_degree_name()
{
- $html = "";
$res = XDB::query("SELECT degree
- FROM profile_education_degree_enum
- ORDER BY id");
- return '\'' . implode('\',\'', $res->fetchColumn()) . '\'';
+ FROM profile_education_degree_enum
+ ORDER BY id");
+ return '"' . implode('","', $res->fetchColumn()) . '"';
}
Platal::page()->register_function('education_degree_name', 'education_degree_name');
}
}
- if (($degree != "Licence") || ($long)) {
- if (($degree != "Ingénieur") && ($degree != "Diplôme")) {
+ if (($degree != "Lic.") || ($long)) {
+ if (($degree != "Ing.") && ($degree != "Dipl.")) {
$txt .= $degree;
}
- if ($name != "Université") {
- if ($name) {
- $txt .= ' ';
- }
- if ($url != ' ') {
- $txt .= "<a href=\"$url\" onclick=\"return popup(this)\">$name</a>";
- } else {
- $txt .= $name;
- }
+ if ($name) {
+ $txt .= ' ';
+ }
+ if ($url != ' ') {
+ $txt .= "<a href=\"$url\" onclick=\"return popup(this)\">$name</a>";
+ } else {
+ $txt .= $name;
}
}
$txt .= "</span>";
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');