<?php
/***************************************************************************
- * Copyright (C) 2003-2010 Polytechnique.org *
+ * Copyright (C) 2003-2011 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
return name_to_basename($value);
}
- private function prepare(ProfilePage &$page, $field, $value, $init, &$success)
+ private function prepare(ProfilePage $page, $field, $value, $init, &$success)
{
$success = true;
$ini = $this->prepareField($init);
return $value;
}
- public function value(ProfilePage &$page, $field, $value, &$success)
+ public function value(ProfilePage $page, $field, $value, &$success)
{
$success = true;
$success_tmp = true;
$this->search_names = array();
foreach ($value as &$sn) {
$sn['name'] = trim($sn['name']);
- if (S::user()->isMe($this->owner) && ($sn['type'] == 'firstname' || $sn['type'] == 'lastname')) {
+ if (S::user()->isMe($page->owner) && ($sn['type'] == 'firstname' || $sn['type'] == 'lastname')) {
$sn['name'] = $this->prepare($page, $sn['type'], $sn['name'],
$initial[$sn['type']], $success_tmp);
$success = $success && $success_tmp;
return $value;
}
- public function save(ProfilePage &$page, $field, $value)
+ public function save(ProfilePage $page, $field, $value)
{
require_once 'name.func.inc.php';
INNER JOIN profile_name_enum AS e ON (s.typeid = e.id)
WHERE s.pid = {?} AND NOT FIND_IN_SET('not_displayed', e.flags)",
$page->pid());
- $has_new = set_alias_names($this->search_names, $sn_old, $page->pid(), $page->owner->id());
+ $has_new = set_alias_names($this->search_names, $sn_old, $page->pid(), $page->owner);
// Only requires validation if modification in public names
if ($has_new) {
return ($a < $b) ? -1 : 1;
}
- public function value(ProfilePage &$page, $field, $value, &$success)
+ public function value(ProfilePage $page, $field, $value, &$success)
{
$success = true;
if (is_null($value)) {
return $value;
}
- public function save(ProfilePage &$page, $field, $value)
+ public function save(ProfilePage $page, $field, $value)
{
XDB::execute("DELETE FROM profile_education
WHERE pid = {?} AND !FIND_IN_SET('primary', flags)",
class ProfileSettingEmailDirectory implements ProfileSetting
{
public function __construct(){}
- public function save(ProfilePage &$page, $field, $value){}
+ public function save(ProfilePage $page, $field, $value){}
- public function value(ProfilePage &$page, $field, $value, &$success)
+ public function value(ProfilePage $page, $field, $value, &$success)
{
$p = Platal::page();
$this->number = new ProfileSettingNumber();
}
- public function value(ProfilePage &$page, $field, $value, &$success)
+ public function value(ProfilePage $page, $field, $value, &$success)
{
if (is_null($value)) {
$value = XDB::fetchAllAssoc("SELECT n.address, n.pub, n.nwid AS type
return $value;
}
- public function save(ProfilePage &$page, $field, $value)
+ public function save(ProfilePage $page, $field, $value)
{
XDB::execute("DELETE FROM profile_networking
WHERE pid = {?}",
{
public function __construct(){}
- public function save(ProfilePage &$page, $field, $value)
+ public function save(ProfilePage $page, $field, $value)
{
$gradYearNew = $value;
if ($page->profile->mainEducation() == 'X') {
}
}
- public function value(ProfilePage &$page, $field, $value, &$success)
+ public function value(ProfilePage $page, $field, $value, &$success)
{
$entryYear = $page->profile->entry_year;
$gradYear = $page->profile->grad_year;
- $yearpromo = $page->profile->grad_year;
- if ($page->profile->mainEducation() == 'X') {
- $yearpromo -= $page->profile->mainEducationDuration();
- }
+ $yearpromo = $page->profile->yearpromo();
$success = true;
if (is_null($value) || $value == $yearpromo) {
if ($gradYear != $entryYear + $page->profile->mainEducationDuration()) {
{
protected $pg_template = 'profile/general.tpl';
- public function __construct(PlWizard &$wiz)
+ public function __construct(PlWizard $wiz)
{
parent::__construct($wiz);
$this->settings['search_names']
}
if ($this->changed['promo_display']) {
if ($this->values['promo_display']{0} == $this->profile->mainEducation()) {
- if (($this->profile->mainEducation() == 'X'
- && intval(substr($this->values['promo_display'], 1, 4)) >= $this->profile->entry_year)
+ $yearpromo = intval(substr($this->values['promo_display'], 1, 4));
+ if (($this->profile->mainEducation() == 'X' && $yearpromo >= $this->profile->entry_year)
|| ($this->profile->mainEducation() != 'X'
- && intval(substr($this->values['promo_display'], 1, 4)) >= $this->profile->entry_year + $this->profile->mainEducationDuration())) {
+ && $yearpromo >= $this->profile->entry_year + $this->profile->mainEducationDuration())) {
XDB::execute('UPDATE profile_display
SET promo = {?}
WHERE pid = {?}',
$this->values['promo_display'], $this->pid());
+ XDB::execute('UPDATE profile_education
+ SET promo_year = {?}
+ WHERE pid = {?} AND FIND_IN_SET(\'primary\', flags)',
+ $yearpromo, $this->pid());
}
}
}
}
}
- public function _prepare(PlPage &$page, $id)
+ public function _prepare(PlPage $page, $id)
{
require_once "education.func.inc.php";
$page->assign('edu_fields', $res->fetchAllAssoc());
require_once "emails.combobox.inc.php";
- fill_email_combobox($page, $this->owner);
+ fill_email_combobox($page, array('source', 'redirect', 'job', 'directory'), $this->owner);
$res = XDB::query("SELECT nw.nwid AS type, nw.name
FROM profile_networking_enum AS nw