mirror of
https://github.com/e107inc/e107.git
synced 2025-08-08 07:36:32 +02:00
Admin > Users would only allow viewing of one user extended-field in list mode under some circumstances. Checkbox field-type corrected.
This commit is contained in:
@@ -350,22 +350,23 @@ 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_type > 0 AND user_extended_struct_text != '_system_' ORDER BY user_extended_struct_parent ASC"))
|
if($rows = $sql->retrieve('user_extended_struct', '*', "user_extended_struct_type > 0 AND user_extended_struct_text != '_system_' ORDER BY user_extended_struct_parent ASC",true))
|
||||||
{
|
{
|
||||||
// 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
|
||||||
e107::coreLan('user_extended');
|
e107::coreLan('user_extended');
|
||||||
while ($row = $sql->fetch())
|
foreach ($rows as $row)
|
||||||
{
|
{
|
||||||
$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', 'type'=>'method', 'method'=>'user_extended', 'data'=>false, 'tab'=>1, 'noedit'=>false);
|
$this->fields[$field] = array('title' => $label,'width' => 'auto', 'type'=>'method', 'readParms'=>array('ueType'=>$row['user_extended_struct_type']), 'method'=>'user_extended', 'data'=>false, 'tab'=>1, 'noedit'=>false);
|
||||||
|
|
||||||
$this->extended[] = $field;
|
$this->extended[] = $field;
|
||||||
$this->extendedData[$field] = $row;
|
$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");
|
||||||
|
|
||||||
$this->fields['user_signature'] = array('title' => LAN_USER_09, 'type' => 'textarea', 'data'=>'str', 'width' => 'auto');
|
$this->fields['user_signature'] = array('title' => LAN_USER_09, 'type' => 'textarea', 'data'=>'str', 'width' => 'auto');
|
||||||
@@ -2315,6 +2316,13 @@ class users_admin_form_ui extends e_admin_form_ui
|
|||||||
{
|
{
|
||||||
$field = $att['field'];
|
$field = $att['field'];
|
||||||
$data = $this->getController()->getListModel()->get($field); // ($att['field']);
|
$data = $this->getController()->getListModel()->get($field); // ($att['field']);
|
||||||
|
|
||||||
|
|
||||||
|
return e107::getUserExt()->renderValue($data, $att['ueType']);
|
||||||
|
|
||||||
|
return print_a($att,true);
|
||||||
|
|
||||||
|
|
||||||
return $data;
|
return $data;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -570,6 +570,12 @@ if (isset($_POST['add_field']))
|
|||||||
{
|
{
|
||||||
$_POST['user_values'] = array($_POST['table_db'],$_POST['field_id'],$_POST['field_value'],$_POST['field_order']);
|
$_POST['user_values'] = array($_POST['table_db'],$_POST['field_id'],$_POST['field_value'],$_POST['field_order']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!empty($_POST['sort_user_values']))
|
||||||
|
{
|
||||||
|
sort($_POST['user_values']);
|
||||||
|
}
|
||||||
|
|
||||||
$new_values = $user->make_delimited($_POST['user_values']);
|
$new_values = $user->make_delimited($_POST['user_values']);
|
||||||
$new_parms = $tp->toDB($_POST['user_include']."^,^".$_POST['user_regex']."^,^".$_POST['user_regexfail']."^,^".$_POST['user_hide']);
|
$new_parms = $tp->toDB($_POST['user_include']."^,^".$_POST['user_regex']."^,^".$_POST['user_regexfail']."^,^".$_POST['user_hide']);
|
||||||
|
|
||||||
@@ -611,6 +617,12 @@ if (isset($_POST['update_field']))
|
|||||||
{
|
{
|
||||||
$_POST['user_values'] = array($_POST['table_db'],$_POST['field_id'],$_POST['field_value'],$_POST['field_order']);
|
$_POST['user_values'] = array($_POST['table_db'],$_POST['field_id'],$_POST['field_value'],$_POST['field_order']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!empty($_POST['sort_user_values']))
|
||||||
|
{
|
||||||
|
sort($_POST['user_values']);
|
||||||
|
}
|
||||||
|
|
||||||
$upd_values = $user->make_delimited($_POST['user_values']);
|
$upd_values = $user->make_delimited($_POST['user_values']);
|
||||||
$upd_parms = $tp->toDB($_POST['user_include']."^,^".$_POST['user_regex']."^,^".$_POST['user_regexfail']."^,^".$_POST['user_hide']);
|
$upd_parms = $tp->toDB($_POST['user_include']."^,^".$_POST['user_regex']."^,^".$_POST['user_regexfail']."^,^".$_POST['user_hide']);
|
||||||
$result = $mes->addAuto($ue->user_extended_modify($sub_action, $tp->toDB($_POST['user_field']), $tp->toDB($_POST['user_text']), intval($_POST['user_type']), $upd_parms, $upd_values, $tp->toDB($_POST['user_default']), intval($_POST['user_required']), intval($_POST['user_read']), intval($_POST['user_write']), intval($_POST['user_applicable']), intval($_POST['user_parent'])), 'update', EXTLAN_29, false, false);
|
$result = $mes->addAuto($ue->user_extended_modify($sub_action, $tp->toDB($_POST['user_field']), $tp->toDB($_POST['user_text']), intval($_POST['user_type']), $upd_parms, $upd_values, $tp->toDB($_POST['user_default']), intval($_POST['user_required']), intval($_POST['user_read']), intval($_POST['user_write']), intval($_POST['user_applicable']), intval($_POST['user_parent'])), 'update', EXTLAN_29, false, false);
|
||||||
@@ -1071,7 +1083,12 @@ class users_ext
|
|||||||
$text .= "
|
$text .= "
|
||||||
</div>
|
</div>
|
||||||
<input type='button' class='btn btn-primary' value='".EXTLAN_48."' onclick=\"duplicateHTML('value_line','value_container');\" />
|
<input type='button' class='btn btn-primary' value='".EXTLAN_48."' onclick=\"duplicateHTML('value_line','value_container');\" />
|
||||||
<br /><span class='field-help'>".EXTLAN_17."</span></div>";
|
<br /><span class='field-help'>".EXTLAN_17."</span>
|
||||||
|
|
||||||
|
|
||||||
|
<div style='margin-top:10px'>".$frm->checkbox('sort_user_values',1, false, "Sort values")."</div>
|
||||||
|
|
||||||
|
</div>";
|
||||||
// End of Values. --------------------------------------
|
// End of Values. --------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
@@ -144,6 +144,29 @@
|
|||||||
$uVal = str_replace(chr(1), '', $udata['user_'.$parms[0]]);
|
$uVal = str_replace(chr(1), '', $udata['user_'.$parms[0]]);
|
||||||
switch ($ueStruct["user_".$parms[0]]['user_extended_struct_type'])
|
switch ($ueStruct["user_".$parms[0]]['user_extended_struct_type'])
|
||||||
{
|
{
|
||||||
|
|
||||||
|
case EUF_CHECKBOX:
|
||||||
|
|
||||||
|
$uVal = e107::unserialize($uVal);
|
||||||
|
|
||||||
|
if(!empty($uVal))
|
||||||
|
{
|
||||||
|
return implode(', ',$uVal);
|
||||||
|
|
||||||
|
/*
|
||||||
|
$text = '<ul>';
|
||||||
|
foreach($uVal as $v)
|
||||||
|
{
|
||||||
|
$text .= "<li>".$v."</li>";
|
||||||
|
|
||||||
|
}
|
||||||
|
$text .= "</ul>";
|
||||||
|
$ret_data = $text;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
case EUF_DB_FIELD : // check for db_lookup type
|
case EUF_DB_FIELD : // check for db_lookup type
|
||||||
$tmp = explode(',',$ueStruct['user_'.$parms[0]]['user_extended_struct_values']);
|
$tmp = explode(',',$ueStruct['user_'.$parms[0]]['user_extended_struct_values']);
|
||||||
$sql_ue = new db; // Use our own DB object to avoid conflicts
|
$sql_ue = new db; // Use our own DB object to avoid conflicts
|
||||||
|
@@ -772,7 +772,10 @@ class e107_user_extended
|
|||||||
case EUF_CHECKBOX : //checkboxes
|
case EUF_CHECKBOX : //checkboxes
|
||||||
|
|
||||||
// print_a($choices);
|
// print_a($choices);
|
||||||
|
if(!is_array($curval))
|
||||||
|
{
|
||||||
$curval = e107::unserialize($curval);
|
$curval = e107::unserialize($curval);
|
||||||
|
}
|
||||||
|
|
||||||
return e107::getForm()->checkboxes($fname.'[]',$choices, $curval, array('useLabelValues'=>1));
|
return e107::getForm()->checkboxes($fname.'[]',$choices, $curval, array('useLabelValues'=>1));
|
||||||
/*
|
/*
|
||||||
@@ -1108,5 +1111,54 @@ class e107_user_extended
|
|||||||
return $temp->getValue($value);
|
return $temp->getValue($value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Render Extended User Field Data in a read-only fashion.
|
||||||
|
* @param $value
|
||||||
|
* @param $type
|
||||||
|
* @return array|string
|
||||||
|
*/
|
||||||
|
function renderValue($value, $type)
|
||||||
|
{
|
||||||
|
|
||||||
|
//TODO FIXME Add more types.
|
||||||
|
|
||||||
|
switch($type)
|
||||||
|
{
|
||||||
|
case EUF_CHECKBOX:
|
||||||
|
$value = e107::unserialize($value);
|
||||||
|
|
||||||
|
if(!empty($value))
|
||||||
|
{
|
||||||
|
|
||||||
|
sort($value);
|
||||||
|
return implode('<br />',$value);
|
||||||
|
|
||||||
|
/*
|
||||||
|
$text = '<ul>';
|
||||||
|
foreach($uVal as $v)
|
||||||
|
{
|
||||||
|
$text .= "<li>".$v."</li>";
|
||||||
|
|
||||||
|
}
|
||||||
|
$text .= "</ul>";
|
||||||
|
$ret_data = $text;*/
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case EUF_DATE : //check for 0000-00-00 in date field
|
||||||
|
if($value == '0000-00-00') { $value = ''; }
|
||||||
|
return $value;
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
default:
|
||||||
|
return $value;
|
||||||
|
// code to be executed if n is different from all labels;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
@@ -130,6 +130,22 @@ img.featurebox { border-radius: 5px }
|
|||||||
#login-template .logo { padding-top:50px; margin-left:auto; margin-right: auto }
|
#login-template .logo { padding-top:50px; margin-left:auto; margin-right: auto }
|
||||||
|
|
||||||
.modal-lg { width: 70% }
|
.modal-lg { width: 70% }
|
||||||
|
|
||||||
|
|
||||||
|
table label.checkbox {
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* CUSTOM Responsive Styles */
|
/* CUSTOM Responsive Styles */
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user