* Whatever happen, this function must always returns the function to
* show on the page to the user.
*/
- public function value(ProfilePage &$page, $field, $value, &$success);
+ public function value(ProfilePage $page, $field, $value, &$success);
/** Save the new value for the given field.
*/
- public function save(ProfilePage &$page, $field, $new_value);
+ public function save(ProfilePage $page, $field, $new_value);
/** Get text from the value.
*/
abstract class ProfileNoSave implements ProfileSetting
{
- public function save(ProfilePage &$page, $field, $new_value) { }
+ public function save(ProfilePage $page, $field, $new_value) { }
public function getText($value) {
return $value;
class ProfileSettingWeb extends ProfileNoSave
{
- public function value(ProfilePage &$page, $field, $value, &$success)
+ public function value(ProfilePage $page, $field, $value, &$success)
{
if (is_null($value)) {
return isset($page->values[$field]) ? $page->values[$field] : S::v($field);
class ProfileSettingEmail extends ProfileNoSave
{
- public function value(ProfilePage &$page, $field, $value, &$success)
+ public function value(ProfilePage $page, $field, $value, &$success)
{
if (is_null($value)) {
return isset($page->values[$field]) ? $page->values[$field] : S::v($field);
class ProfileSettingNumber extends ProfileNoSave
{
- public function value(ProfilePage &$page, $field, $value, &$success)
+ public function value(ProfilePage $page, $field, $value, &$success)
{
if (is_null($value)) {
return isset($page->values[$field]) ? $page->values[$field] : S::v($field);
class ProfileSettingPhones implements ProfileSetting
{
- public function value(ProfilePage &$page, $field, $value, &$success)
+ public function value(ProfilePage $page, $field, $value, &$success)
{
$success = true;
$phones = array();
if (is_null($value)) {
- $it = Phone::iterate(array($page->pid()), array(Phone::LINK_PROFILE), array(0));
+ $it = Phone::iterate(array($page->pid()), array(Phone::LINK_PROFILE), array(0), Visibility::defaultForEdit());
while ($phone = $it->next()) {
$success = ($phone->format() && $success);
$phones[] = $phone->toFormArray();
}
}
- public function save(ProfilePage &$page, $field, $value)
+ public function save(ProfilePage $page, $field, $value)
{
Phone::deletePhones($page->pid(), Phone::LINK_PROFILE, null, S::user()->isMe($page->owner) || S::admin());
Phone::savePhones($value, $page->pid(), Phone::LINK_PROFILE);
class ProfileSettingPub extends ProfileNoSave
{
- public function value(ProfilePage &$page, $field, $value, &$success)
+ public function value(ProfilePage $page, $field, $value, &$success)
{
$success = true;
if (is_null($value)) {
class ProfileSettingBool extends ProfileNoSave
{
- public function value(ProfilePage &$page, $field, $value, &$success)
+ public function value(ProfilePage $page, $field, $value, &$success)
{
$success = true;
if (is_null($value)) {
$this->allowEmpty = $allowEmpty;
}
- public function value(ProfilePage &$page, $field, $value, &$success)
+ public function value(ProfilePage $page, $field, $value, &$success)
{
$success = true;
if (is_null($value)) {
public $profile = null;
public $owner = null;
- public function __construct(PlWizard &$wiz)
+ public function __construct(PlWizard $wiz)
{
$this->wizard =& $wiz;
$this->profile = $this->wizard->getUserData('profile');
$user = S::user();
if ($owner->isActive()) {
foreach ($changedFields as $field => $values) {
- XDB::execute('INSERT INTO profile_modifications (pid, uid, field, oldText, newText, type, timestamp)
- VALUES ({?}, {?}, {?}, {?}, {?}, {?}, NOW())
- ON DUPLICATE KEY UPDATE uid = VALUES(uid), oldText = IF(VALUES(type) != type, VALUES(oldText), oldText),
- newText = VALUES(newText), type = VALUES(type), timestamp = NOW()',
- $this->pid(), $user->id(), Profile::$descriptions[$field], $values[0], $values[1],
- ($owner->id() == $user->id()) ? 'self' : 'third_party');
+ if (in_array($field, Profile::$descriptions)) {
+ XDB::execute('INSERT INTO profile_modifications (pid, uid, field, oldText, newText, type, timestamp)
+ VALUES ({?}, {?}, {?}, {?}, {?}, {?}, NOW())
+ ON DUPLICATE KEY UPDATE uid = VALUES(uid), oldText = IF(VALUES(type) != type, VALUES(oldText), oldText),
+ newText = VALUES(newText), type = VALUES(type), timestamp = NOW()',
+ $this->pid(), $user->id(), Profile::$descriptions[$field], $values[0], $values[1],
+ ($owner->id() == $user->id()) ? 'self' : 'third_party');
+ }
}
}
return true;
return $this->profile->hrpid();
}
- protected function _prepare(PlPage &$page, $id)
+ protected function _prepare(PlPage $page, $id)
{
}
- public function prepare(PlPage &$page, $id)
+ public function prepare(PlPage $page, $id)
{
if (count($this->values) == 0) {
$this->fetchData();
require_once dirname(__FILE__) . '/groups.inc.php';
require_once dirname(__FILE__) . '/decos.inc.php';
require_once dirname(__FILE__) . '/jobs.inc.php';
-require_once dirname(__FILE__) . '/skills.inc.php';
require_once dirname(__FILE__) . '/mentor.inc.php';
+require_once dirname(__FILE__) . '/deltaten.inc.php';
// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
?>