From: Stéphane Jacob Date: Tue, 18 Oct 2011 08:18:40 +0000 (+0200) Subject: Prevents various errors and warnings on profile edition's general page. X-Git-Tag: xorg/1.1.4~92 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=e0d6b3af1435db9f8ddd72f7c6a9e536654dd4f1;p=platal.git Prevents various errors and warnings on profile edition's general page. Signed-off-by: Stéphane Jacob --- diff --git a/modules/profile/general.inc.php b/modules/profile/general.inc.php index 8ba8f9a..2ca66c6 100644 --- a/modules/profile/general.inc.php +++ b/modules/profile/general.inc.php @@ -96,10 +96,12 @@ class ProfileSettingSearchNames implements ProfileSetting foreach ($value['public_names'] as $key => $name) { $value['public_names'][$key] = trim($name); } - foreach ($value['private_names'] as $key => $name) { - $value['private_names'][$key]['name'] = trim($name['name']); - if ($value['private_names'][$key]['name'] == '') { - unset($value['private_names'][$key]); + if (isset($value['private_names'])) { + foreach ($value['private_names'] as $key => $name) { + $value['private_names'][$key]['name'] = trim($name['name']); + if ($value['private_names'][$key]['name'] == '') { + unset($value['private_names'][$key]); + } } } @@ -110,8 +112,13 @@ class ProfileSettingSearchNames implements ProfileSetting require_once 'name.func.inc.php'; $public_name = build_first_name($value['public_names']) . ' ' . build_full_last_name($value['public_names'], $page->profile->isFemale()); - $private_name_end = build_private_name($value['private_names']); - $private_name = $public_name . $private_name_end; + if (isset($value['private_names'])) { + $private_name_end = build_private_name($value['private_names']); + $private_name = $public_name . $private_name_end; + } else { + $value['private_names'] = array(); + $private_name = $public_name; + } Platal::page()->assign('public_name', $public_name); Platal::page()->assign('private_name', $private_name); @@ -142,8 +149,10 @@ class ProfileSettingSearchNames implements ProfileSetting $page->pid()); $values = array(); $nickname = $lastname = $firstname = 0; - foreach ($value['private_names'] as $name) { - $values[] = XDB::format('({?}, {?}, {?}, {?})', $page->pid(), $name['type'], $$name['type']++, $name['name']); + if (isset($value['private_names'])) { + foreach ($value['private_names'] as $name) { + $values[] = XDB::format('({?}, {?}, {?}, {?})', $page->pid(), $name['type'], $$name['type']++, $name['name']); + } } if (count($values)) { XDB::rawExecute('INSERT INTO profile_private_names (pid, type, id, name) @@ -153,7 +162,8 @@ class ProfileSettingSearchNames implements ProfileSetting if ($has_diff) { update_display_names($page->profile, $old, $value['private_names']); } else { - update_display_names($page->profile, $value['public_names'], $value['private_names']); + update_display_names($page->profile, + $value['public_names'], (isset($value['private_names']) ? $value['private_names'] : null)); } } @@ -165,7 +175,7 @@ class ProfileSettingSearchNames implements ProfileSetting } } - if (count($value['private_names'])) { + if (isset($value['private_names']) && count($value['private_names'])) { $private_names = array(); foreach ($value['private_names'] as $name) { $private_names[] = $name['name']; diff --git a/templates/profile/general.tpl b/templates/profile/general.tpl index 22fb653..117e8be 100644 --- a/templates/profile/general.tpl +++ b/templates/profile/general.tpl @@ -209,7 +209,7 @@ Promotion : - {$main_edu.promo_year} + {if t($main_edu.promo_year)}{$main_edu.promo_year}{/if} Domaine de formation :