projects
/
platal.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixes nationalities deletion.
[platal.git]
/
modules
/
profile
/
page.inc.php
diff --git
a/modules/profile/page.inc.php
b/modules/profile/page.inc.php
index
67fcbe7
..
8d3fb84
100644
(file)
--- a/
modules/profile/page.inc.php
+++ b/
modules/profile/page.inc.php
@@
-1,6
+1,6
@@
<?php
/***************************************************************************
<?php
/***************************************************************************
- * Copyright (C) 2003-20
09
Polytechnique.org *
+ * Copyright (C) 2003-20
10
Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
@@
-43,7
+43,7
@@
abstract class ProfileNoSave implements ProfileSetting
public function save(ProfilePage &$page, $field, $new_value) { }
}
public function save(ProfilePage &$page, $field, $new_value) { }
}
-class ProfileWeb extends ProfileNoSave
+class Profile
Setting
Web extends ProfileNoSave
{
public function value(ProfilePage &$page, $field, $value, &$success)
{
{
public function value(ProfilePage &$page, $field, $value, &$success)
{
@@
-60,7
+60,7
@@
class ProfileWeb extends ProfileNoSave
}
}
}
}
-class ProfileEmail extends ProfileNoSave
+class Profile
Setting
Email extends ProfileNoSave
{
public function value(ProfilePage &$page, $field, $value, &$success)
{
{
public function value(ProfilePage &$page, $field, $value, &$success)
{
@@
-76,7
+76,7
@@
class ProfileEmail extends ProfileNoSave
}
}
}
}
-class ProfileNumber extends ProfileNoSave
+class Profile
Setting
Number extends ProfileNoSave
{
public function value(ProfilePage &$page, $field, $value, &$success)
{
{
public function value(ProfilePage &$page, $field, $value, &$success)
{
@@
-93,7
+93,7
@@
class ProfileNumber extends ProfileNoSave
}
}
-class ProfileTel extends ProfileNoSave
+class Profile
Setting
Tel extends ProfileNoSave
{
public function value(ProfilePage &$page, $field, $value, &$success)
{
{
public function value(ProfilePage &$page, $field, $value, &$success)
{
@@
-115,7
+115,7
@@
class ProfileTel extends ProfileNoSave
}
}
}
}
-class ProfilePhones implements ProfileSetting
+class Profile
Setting
Phones implements ProfileSetting
{
private $tel;
private $pub;
{
private $tel;
private $pub;
@@
-124,8
+124,8
@@
class ProfilePhones implements ProfileSetting
public function __construct($type, $link_id)
{
public function __construct($type, $link_id)
{
- $this->tel = new ProfileTel();
- $this->pub = new ProfilePub();
+ $this->tel = new Profile
Setting
Tel();
+ $this->pub = new Profile
Setting
Pub();
$this->link_type = $type;
$this->link_id = $link_id;
}
$this->link_type = $type;
$this->link_id = $link_id;
}
@@
-133,17
+133,28
@@
class ProfilePhones implements ProfileSetting
public function value(ProfilePage &$page, $field, $value, &$success)
{
$success = true;
public function value(ProfilePage &$page, $field, $value, &$success)
{
$success = true;
- if (is_null($value)
|| !is_array($value)
) {
+ if (is_null($value)) {
$value = array();
$value = array();
- $res = XDB::iterator(
"SELECT t.display_tel AS tel, t.tel_type AS type, t.pub, t.
comment
- FROM profile_phones
AS t
- WHERE
t.uid = {?} AND t.
link_type = {?}
- ORDER BY t
.tel_id"
,
+ $res = XDB::iterator(
'SELECT display_tel AS tel, tel_type AS type, pub,
comment
+ FROM profile_phones
+ WHERE
pid = {?} AND
link_type = {?}
+ ORDER BY t
el_id'
,
$page->pid(), $this->link_type);
$page->pid(), $this->link_type);
- $value = $res->fetchAllAssoc();
+ if ($res->numRows() > 0) {
+ $value = $res->fetchAllAssoc();
+ } else {
+ $value = array(
+ 0 => array(
+ 'type' => 'fixed',
+ 'tel' => '',
+ 'pub' => 'private',
+ 'comment' => '',
+ )
+ );
+ }
}
foreach ($value as $key=>&$phone) {
}
foreach ($value as $key=>&$phone) {
- if (
@
$phone['removed']) {
+ if (
isset($phone['removed']) &&
$phone['removed']) {
unset($value[$key]);
} else {
unset($phone['removed']);
unset($value[$key]);
} else {
unset($phone['removed']);
@@
-168,7
+179,7
@@
class ProfilePhones implements ProfileSetting
private function saveTel($pid, $telid, array &$phone)
{
if ($phone['tel'] != '') {
private function saveTel($pid, $telid, array &$phone)
{
if ($phone['tel'] != '') {
- XDB::execute("INSERT INTO profile_phones (
u
id, link_type, link_id, tel_id, tel_type,
+ XDB::execute("INSERT INTO profile_phones (
p
id, link_type, link_id, tel_id, tel_type,
search_tel, display_tel, pub, comment)
VALUES ({?}, {?}, {?}, {?}, {?},
{?}, {?}, {?}, {?})",
search_tel, display_tel, pub, comment)
VALUES ({?}, {?}, {?}, {?}, {?},
{?}, {?}, {?}, {?})",
@@
-180,7
+191,7
@@
class ProfilePhones implements ProfileSetting
public function save(ProfilePage &$page, $field, $value)
{
XDB::execute("DELETE FROM profile_phones
public function save(ProfilePage &$page, $field, $value)
{
XDB::execute("DELETE FROM profile_phones
- WHERE
u
id = {?} AND link_type = {?} AND link_id = {?}",
+ WHERE
p
id = {?} AND link_type = {?} AND link_id = {?}",
$page->pid(), $this->link_type, $this->link_id);
$this->saveTels($page->pid(), $field, $value);
}
$page->pid(), $this->link_type, $this->link_id);
$this->saveTels($page->pid(), $field, $value);
}
@@
-194,7
+205,7
@@
class ProfilePhones implements ProfileSetting
}
}
}
}
-class ProfilePub extends ProfileNoSave
+class Profile
Setting
Pub extends ProfileNoSave
{
public function value(ProfilePage &$page, $field, $value, &$success)
{
{
public function value(ProfilePage &$page, $field, $value, &$success)
{
@@
-211,7
+222,7
@@
class ProfilePub extends ProfileNoSave
}
}
}
}
-class ProfileBool extends ProfileNoSave
+class Profile
Setting
Bool extends ProfileNoSave
{
public function value(ProfilePage &$page, $field, $value, &$success)
{
{
public function value(ProfilePage &$page, $field, $value, &$success)
{
@@
-223,7
+234,7
@@
class ProfileBool extends ProfileNoSave
}
}
}
}
-class ProfileDate extends ProfileNoSave
+class Profile
Setting
Date extends ProfileNoSave
{
public function value(ProfilePage &$page, $field, $value, &$success)
{
{
public function value(ProfilePage &$page, $field, $value, &$success)
{
@@
-248,18
+259,21
@@
class ProfileDate extends ProfileNoSave
}
}
}
}
-abstract class ProfileGeocoding implements ProfileSetting
+abstract class Profile
Setting
Geocoding implements ProfileSetting
{
protected function geocodeAddress(array &$address, &$success)
{
require_once 'geocoding.inc.php';
$success = true;
{
protected function geocodeAddress(array &$address, &$success)
{
require_once 'geocoding.inc.php';
$success = true;
- if ($address['changed'] == 1) {
+ if (
isset($address['changed']) &&
$address['changed'] == 1) {
$gmapsGeocoder = new GMapsGeocoder();
$address = $gmapsGeocoder->getGeocodedAddress($address);
if (isset($address['geoloc'])) {
$success = false;
}
$gmapsGeocoder = new GMapsGeocoder();
$address = $gmapsGeocoder->getGeocodedAddress($address);
if (isset($address['geoloc'])) {
$success = false;
}
+ } elseif (@$address['changed'] && !@$address['text']) {
+ $address = empty_address();
+ $address['pub'] = 'private';
}
if (isset($address['geoloc_choice']) && ($address['geoloc_choice'] == 0)) {
$mailer = new PlMailer('geoloc/geoloc.mail.tpl');
}
if (isset($address['geoloc_choice']) && ($address['geoloc_choice'] == 0)) {
$mailer = new PlMailer('geoloc/geoloc.mail.tpl');
@@
-399,7
+413,7
@@
abstract class ProfilePage implements PlWizardPage
$page->assign('errors', $this->errors);
}
$page->assign('errors', $this->errors);
}
- public function process()
+ public function process(
&$global_success
)
{
$global_success = true;
$this->fetchData();
{
$global_success = true;
$this->fetchData();
@@
-422,9
+436,14
@@
abstract class ProfilePage implements PlWizardPage
return Post::has('next_page') ? PlWizard::NEXT_PAGE : PlWizard::CURRENT_PAGE;
}
Platal::page()->trigError("Certains champs n'ont pas pu être validés, merci de corriger les informations "
return Post::has('next_page') ? PlWizard::NEXT_PAGE : PlWizard::CURRENT_PAGE;
}
Platal::page()->trigError("Certains champs n'ont pas pu être validés, merci de corriger les informations "
- . "de ton profil et de revalider ta demande");
+ . "de ton profil et de revalider ta demande
.
");
return PlWizard::CURRENT_PAGE;
}
return PlWizard::CURRENT_PAGE;
}
+
+ public function success()
+ {
+ return 'Ton profil a bien été mis à jour.';
+ }
}
require_once dirname(__FILE__) . '/general.inc.php';
}
require_once dirname(__FILE__) . '/general.inc.php';