mirror of
https://github.com/e107inc/e107.git
synced 2025-08-04 13:47:31 +02:00
Fixes #974 - user extended fields were not using correct form element in admin area.
This commit is contained in:
@@ -258,7 +258,15 @@ class users_admin_ui extends e_admin_ui
|
|||||||
'user_new_period' => array('title' => USRLAN_190, 'type' => 'number', 'writeParms' => array('maxlength' => 3, 'post' => LANDT_04s), 'help' => USRLAN_191, 'data' => 'int',),
|
'user_new_period' => array('title' => USRLAN_190, 'type' => 'number', 'writeParms' => array('maxlength' => 3, 'post' => LANDT_04s), 'help' => USRLAN_191, 'data' => 'int',),
|
||||||
);
|
);
|
||||||
|
|
||||||
protected $extended = array();
|
public $extended = array();
|
||||||
|
public $extendedData = array();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function getExtended()
|
||||||
|
{
|
||||||
|
return $this->extendedData;
|
||||||
|
}
|
||||||
|
|
||||||
function init()
|
function init()
|
||||||
{
|
{
|
||||||
@@ -278,7 +286,7 @@ class users_admin_ui extends e_admin_ui
|
|||||||
|
|
||||||
// Extended fields - FIXME - better field types
|
// Extended fields - FIXME - better field types
|
||||||
|
|
||||||
if($sql->select('user_extended_struct', 'user_extended_struct_name,user_extended_struct_text', "user_extended_struct_type > 0 AND user_extended_struct_text != '_system_' ORDER BY user_extended_struct_parent ASC"))
|
if($sql->select('user_extended_struct', '*', "user_extended_struct_type > 0 AND user_extended_struct_text != '_system_' ORDER BY user_extended_struct_parent ASC"))
|
||||||
{
|
{
|
||||||
// TODO FIXME use the handler to build fields and field attributes
|
// TODO FIXME use the handler to build fields and field attributes
|
||||||
// FIXME a way to load 3rd party language files for extended user fields
|
// FIXME a way to load 3rd party language files for extended user fields
|
||||||
@@ -286,11 +294,12 @@ class users_admin_ui extends e_admin_ui
|
|||||||
while ($row = $sql->fetch())
|
while ($row = $sql->fetch())
|
||||||
{
|
{
|
||||||
$field = "user_".$row['user_extended_struct_name'];
|
$field = "user_".$row['user_extended_struct_name'];
|
||||||
$title = ucfirst(str_replace("user_","",$field));
|
// $title = ucfirst(str_replace("user_","",$field));
|
||||||
$label = $tp->toHtml($row['user_extended_struct_text'],false,'defs');
|
$label = $tp->toHtml($row['user_extended_struct_text'],false,'defs');
|
||||||
$this->fields[$field] = array('title' => $label,'width' => 'auto', 'data'=>false,'type'=>'text', 'tab'=>1, 'noedit'=>false);
|
$this->fields[$field] = array('title' => $label,'width' => 'auto', 'type'=>'method', 'method'=>'user_extended', 'data'=>false, 'tab'=>1, 'noedit'=>false);
|
||||||
|
|
||||||
$this->extended[] = $field;
|
$this->extended[] = $field;
|
||||||
|
$this->extendedData[$field] = $row;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->fields['user_signature']['writeParms']['data'] = e107::getUserClass()->uc_required_class_list("classes");
|
$this->fields['user_signature']['writeParms']['data'] = e107::getUserClass()->uc_required_class_list("classes");
|
||||||
@@ -340,6 +349,8 @@ class users_admin_ui extends e_admin_ui
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
protected function getAvatarList()
|
protected function getAvatarList()
|
||||||
{
|
{
|
||||||
$avs = array(''=>LAN_NONE);
|
$avs = array(''=>LAN_NONE);
|
||||||
@@ -384,11 +395,22 @@ class users_admin_ui extends e_admin_ui
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Handle the Extended Fields.
|
// Handle the Extended Fields.
|
||||||
|
$this->saveExtended($new_data);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return $new_data;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function saveExtended($new_data)
|
||||||
|
{
|
||||||
$update = array();
|
$update = array();
|
||||||
foreach($this->extended as $key) // Grab Extended field data.
|
foreach($this->extended as $key) // Grab Extended field data.
|
||||||
{
|
{
|
||||||
$update[$key] = vartrue($new_data[$key],'_NULL_');
|
$update[$key] = vartrue($new_data['ue'][$key],'_NULL_');
|
||||||
}
|
}
|
||||||
|
|
||||||
e107::getMessage()->addDebug(print_a($update,true));
|
e107::getMessage()->addDebug(print_a($update,true));
|
||||||
@@ -433,12 +455,9 @@ class users_admin_ui extends e_admin_ui
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return $new_data;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unban user trigger
|
* Unban user trigger
|
||||||
* @param int $userid
|
* @param int $userid
|
||||||
@@ -456,8 +475,10 @@ class users_admin_ui extends e_admin_ui
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql->db_Update("user", "user_ban='0' WHERE user_id='".$userid."' ");
|
$row = e107::user($userid);
|
||||||
$sql->db_Delete("banlist"," banlist_ip='{$row['user_ip']}' ");
|
|
||||||
|
$sql->update("user", "user_ban='0' WHERE user_id='".$userid."' ");
|
||||||
|
$sql->delete("banlist"," banlist_ip='{$row['user_ip']}' ");
|
||||||
|
|
||||||
e107::getAdminLog()->log_event('USET_06', str_replace(array('--UID--', '--NAME--', '--EMAIL--'), array($sysuser->getId(), $sysuser->getName(), $sysuser->getValue('email')), USRLAN_162), E_LOG_INFORMATIVE);
|
e107::getAdminLog()->log_event('USET_06', str_replace(array('--UID--', '--NAME--', '--EMAIL--'), array($sysuser->getId(), $sysuser->getName(), $sysuser->getValue('email')), USRLAN_162), E_LOG_INFORMATIVE);
|
||||||
e107::getMessage()->addSuccess("(".$sysuser->getId().".".$sysuser->getName()." - ".$sysuser->getValue('email').") ".USRLAN_9);
|
e107::getMessage()->addSuccess("(".$sysuser->getId().".".$sysuser->getName()." - ".$sysuser->getValue('email').") ".USRLAN_9);
|
||||||
@@ -2042,6 +2063,36 @@ class users_admin_ui extends e_admin_ui
|
|||||||
class users_admin_form_ui extends e_admin_form_ui
|
class users_admin_form_ui extends e_admin_form_ui
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
function user_extended($curval,$mode, $att)
|
||||||
|
{
|
||||||
|
if($mode == 'read')
|
||||||
|
{
|
||||||
|
$field = $att['field'];
|
||||||
|
$data = $this->getController()->getListModel()->get($field); // ($att['field']);
|
||||||
|
return $data;
|
||||||
|
|
||||||
|
}
|
||||||
|
if($mode == 'write')
|
||||||
|
{
|
||||||
|
// e107::getUserExt()->user_extended_edit
|
||||||
|
// return 'hello';
|
||||||
|
$field = $att['field'];
|
||||||
|
$extData = $this->getController()->getExtended();
|
||||||
|
$extData[$field]['user_extended_struct_required'] = 0;
|
||||||
|
|
||||||
|
return e107::getUserExt()->user_extended_edit($extData[$field],$curval);
|
||||||
|
|
||||||
|
// return print_a($att,true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function user_perms($curval,$mode)
|
function user_perms($curval,$mode)
|
||||||
{
|
{
|
||||||
if($mode == 'read')
|
if($mode == 'read')
|
||||||
|
@@ -3493,10 +3493,12 @@ class e_form
|
|||||||
$value = e107::unserialize($value); // (saved as array, return it as an array)
|
$value = e107::unserialize($value); // (saved as array, return it as an array)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$meth = (!empty($attributes['method'])) ? $attributes['method'] : $method;
|
||||||
|
|
||||||
if(method_exists($this,$method))
|
if(method_exists($this,$meth))
|
||||||
{
|
{
|
||||||
$value = call_user_func_array(array($this, $method), array($value, 'read', $parms));
|
$parms['field'] = $field;
|
||||||
|
$value = call_user_func_array(array($this, $meth), array($value, 'read', $parms));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -3634,6 +3636,7 @@ class e_form
|
|||||||
{
|
{
|
||||||
// return print_a($value,true);
|
// return print_a($value,true);
|
||||||
$parms = vartrue($attributes['writeParms'], array());
|
$parms = vartrue($attributes['writeParms'], array());
|
||||||
|
|
||||||
$tp = e107::getParser();
|
$tp = e107::getParser();
|
||||||
|
|
||||||
if(is_string($parms)) parse_str($parms, $parms);
|
if(is_string($parms)) parse_str($parms, $parms);
|
||||||
@@ -3749,6 +3752,7 @@ class e_form
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'tags':
|
case 'tags':
|
||||||
|
$maxlength = vartrue($parms['maxlength'], 255);
|
||||||
$ret = vartrue($parms['pre']).$this->tags($key, $value, $maxlength, $parms).vartrue($parms['post']); // vartrue($parms['__options']) is limited. See 'required'=>true
|
$ret = vartrue($parms['pre']).$this->tags($key, $value, $maxlength, $parms).vartrue($parms['post']); // vartrue($parms['__options']) is limited. See 'required'=>true
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -4011,7 +4015,10 @@ class e_form
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'method': // Custom Function
|
case 'method': // Custom Function
|
||||||
$ret = call_user_func_array(array($this, $key), array($value, 'write', $parms));
|
$meth = (!empty($attributes['method'])) ? $attributes['method'] : $key;
|
||||||
|
$parms['field'] = $key;
|
||||||
|
|
||||||
|
$ret = call_user_func_array(array($this, $meth), array($value, 'write', $parms));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'upload': //TODO - from method
|
case 'upload': //TODO - from method
|
||||||
|
Reference in New Issue
Block a user