1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-06 14:46:56 +02:00

Issue #1483 - Extended User Fields table sync.

This commit is contained in:
Cameron
2016-04-02 08:51:59 -07:00
parent a7ec2f7b7d
commit e72e3d8ac6

View File

@@ -461,13 +461,58 @@ e107::js('footer-inline', js());
public function beforeCreate($new_data, $old_data)
{
$ue = e107::getUserExt();
$mes = e107::getMessage();
if($ue->user_extended_field_exist($new_data['user_extended_struct_name']))
{
$mes->addError("Field name already exists");
return false;
}
if($ue->user_extended_reserved($new_data['user_extended_struct_name']))
{
$mes->addError("Field name is reserved. Please try a different name.");
return false;
}
$new_data = $this->compileData($new_data);
$field_info = $ue->user_extended_type_text($new_data['user_extended_struct_type'], $new_data['user_extended_struct_default']);
// wrong type
if(false === $field_info)
{
e107::getMessage()->addDebug("\$field_info is false ".__METHOD__." ".__LINE__);
return false;
}
else
{
if(e107::getDb()->gen('ALTER TABLE #user_extended ADD user_'.e107::getParser()->toDB($new_data['user_extended_struct_name'], true).' '.$field_info)===false)
{
$mes->addError("Unable to alter table user_extended.");
}
}
if(empty($new_data['user_extended_struct_order']))
{
if($max = e107::getDb()->retrieve('user_extended_struct','MAX(user_extended_struct_order) as maxorder','1'))
{
if(is_numeric($max))
{
$new_data['user_extended_struct_order'] = ($max + 1);
}
}
}
return $new_data;
}
public function afterCreate($new_data, $old_data, $id)
{
// do something
@@ -478,13 +523,60 @@ e107::js('footer-inline', js());
// do something
}
public function beforeDelete($data,$id)
{
$mes = e107::getMessage();
if(!e107::getUserExt()->user_extended_remove($id, $data['user_extended_struct_name']))
{
$mes->addError("Unable to delete column from user_extended table.");
return false;
}
else
{
$mes->addDebug("User Extended Column deleted from table");
}
}
public function afterDelete($data,$id)
{
}
// ------- Customize Update --------
public function beforeUpdate($new_data, $old_data, $id)
{
$ue = e107::getUserExt();
$mes = e107::getMessage();
if ($ue->user_extended_field_exist($new_data['user_extended_struct_name']))
{
$field_info = $ue->user_extended_type_text($new_data['user_extended_struct_type'], $new_data['user_extended_struct_default']);
if(false === $field_info) // wrong type
{
return false;
}
else
{
if(e107::getDb()->gen("ALTER TABLE #user_extended MODIFY user_".e107::getParser()->toDB($new_data['user_extended_struct_name'], true)." ".$field_info)===false)
{
$mes->addError("Unable to alter table user_extended.");
}
}
}
$new_data = $this->compileData($new_data);
return $new_data;
}
@@ -717,12 +809,12 @@ e107::js('footer-inline', js());
case 'write': // Edit Page
return $this->select('user_required',$opts, varset($curVal,1),'size=xxlarge');
return $this->select('user_extended_struct_required',$opts, varset($curVal,1),'size=xxlarge');
break;
case 'filter':
case 'batch':
return array();
return $opts;
break;
}