mirror of
https://github.com/e107inc/e107.git
synced 2025-07-30 19:30:25 +02:00
PHP7 User-Extended Fix. Checkboxes now working correctly and saving as an array. Some BC fixes may be needed.
This commit is contained in:
@@ -358,13 +358,14 @@ if(E107_DEBUG_LEVEL > 0)
|
||||
$text .= "<table style='width:70%;margin-left:0px'><tr><td>";
|
||||
$text .= EXTLAN_62."</td><td style='70%'><select style='width:99%' class='tbox e-select' name='table_db' onchange=\"this.form.submit()\" >
|
||||
<option value='' class='caption'>".EXTLAN_61."</option>\n";
|
||||
$result = mysql_list_tables($mySQLdefaultdb);
|
||||
|
||||
while ($row2 = mysql_fetch_row($result))
|
||||
$result = e107::getDb()->tables();
|
||||
|
||||
foreach($result as $row2)
|
||||
{
|
||||
$fld = str_replace(MPREFIX,"",$row2[0]);
|
||||
$fld = $row2;
|
||||
$selected = (varset($_POST['table_db'],'') == $fld || $curVals[0] == $fld) ? " selected='selected'" : "";
|
||||
if (MPREFIX!='' && strpos($row2[0], MPREFIX)!==FALSE)
|
||||
// if (MPREFIX!='' && strpos($row2[0], MPREFIX)!==FALSE)
|
||||
{
|
||||
$text .= "<option value=\"".$fld."\" $selected>".$fld."</option>\n";
|
||||
}
|
||||
@@ -1082,12 +1083,15 @@ class users_ext
|
||||
$text .= "<table style='width:70%;margin-left:0px'><tr><td>";
|
||||
$text .= EXTLAN_62."</td><td style='70%'><select style='width:99%' class='tbox e-select' name='table_db' onchange=\"this.form.submit()\" >
|
||||
<option value='' class='caption'>".EXTLAN_61."</option>\n";
|
||||
$result = mysql_list_tables($mySQLdefaultdb);
|
||||
while ($row2 = mysql_fetch_row($result))
|
||||
|
||||
|
||||
$result = e107::getDb()->tables();
|
||||
foreach ($result as $row2)
|
||||
{
|
||||
$fld = str_replace(MPREFIX,"",$row2[0]);
|
||||
// $fld = str_replace(MPREFIX,"",$row2[0]);
|
||||
$fld = $row2;
|
||||
$selected = (varset($_POST['table_db'],'') == $fld || $curVals[0] == $fld) ? " selected='selected'" : "";
|
||||
if (MPREFIX!='' && strpos($row2[0], MPREFIX)!==FALSE)
|
||||
// if (MPREFIX!='' && strpos($row2[0], MPREFIX)!==FALSE)
|
||||
{
|
||||
$text .= "<option value=\"".$fld."\" $selected>".$fld."</option>\n";
|
||||
}
|
||||
|
@@ -441,7 +441,12 @@ class e_array {
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(strpos($ArrayData,"0 => \'")!=false)
|
||||
{
|
||||
$ArrayData = stripslashes($ArrayData);
|
||||
}
|
||||
|
||||
$data = "";
|
||||
$ArrayData = '$data = '.$ArrayData.';';
|
||||
@eval($ArrayData);
|
||||
|
@@ -1505,6 +1505,7 @@ class e_form
|
||||
function checkboxes($name, $option_array, $checked, $options=array())
|
||||
{
|
||||
$name = (strpos($name, '[') === false) ? $name.'[]' : $name;
|
||||
|
||||
if(!is_array($checked)) $checked = explode(",",$checked);
|
||||
|
||||
$text = "";
|
||||
@@ -1518,6 +1519,11 @@ class e_form
|
||||
$key = $k;
|
||||
$c = in_array($k, $checked) ? true : false;
|
||||
}
|
||||
elseif(!empty($options['useLabelValues']))
|
||||
{
|
||||
$key = $label;
|
||||
$c = in_array($label, $checked) ? true : false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$key = 1;
|
||||
|
@@ -55,3 +55,17 @@ if (!function_exists('json_encode'))
|
||||
return $json->decode($json_obj);
|
||||
}
|
||||
}
|
||||
|
||||
// Fix for exim missing.
|
||||
if(!function_exists('exif_imagetype'))
|
||||
{
|
||||
function exif_imagetype($filename)
|
||||
{
|
||||
if((list($width, $height, $type, $attr) = getimagesize( $filename ) ) !== false)
|
||||
{
|
||||
return $type;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@@ -173,10 +173,15 @@ class e107_user_extended
|
||||
case EUF_DATE :
|
||||
case EUF_LANGUAGE :
|
||||
case EUF_PREDEFINED :
|
||||
case EUF_CHECKBOX :
|
||||
|
||||
case EUF_RADIO :
|
||||
$target['_FIELD_TYPES'][$k] = 'todb';
|
||||
break;
|
||||
|
||||
case EUF_CHECKBOX :
|
||||
$target['_FIELD_TYPES'][$k] = 'array';
|
||||
break;
|
||||
|
||||
|
||||
case EUF_INTEGER :
|
||||
$target['_FIELD_TYPES'][$k] = 'int';
|
||||
@@ -477,6 +482,7 @@ class e107_user_extended
|
||||
break;
|
||||
|
||||
case EUF_TEXTAREA:
|
||||
case EUF_CHECKBOX :
|
||||
$db_type = 'TEXT';
|
||||
break;
|
||||
|
||||
@@ -486,7 +492,7 @@ class e107_user_extended
|
||||
case EUF_DB_FIELD :
|
||||
case EUF_LANGUAGE :
|
||||
case EUF_PREDEFINED :
|
||||
case EUF_CHECKBOX :
|
||||
|
||||
$db_type = 'VARCHAR(255)';
|
||||
break;
|
||||
|
||||
@@ -764,6 +770,13 @@ class e107_user_extended
|
||||
break;
|
||||
|
||||
case EUF_CHECKBOX : //checkboxes
|
||||
|
||||
// print_a($choices);
|
||||
$curval = e107::unserialize($curval);
|
||||
|
||||
return e107::getForm()->checkboxes($fname.'[]',$choices, $curval, array('useLabelValues'=>1));
|
||||
/*
|
||||
|
||||
foreach($choices as $choice)
|
||||
{
|
||||
$choice = trim($choice);
|
||||
@@ -785,7 +798,7 @@ class e107_user_extended
|
||||
|
||||
if(deftrue('BOOTSTRAP'))
|
||||
{
|
||||
$ret .= $frm->checkbox($fname,$val,($curval == $val),array('label'=>$label, 'required'=> $struct['user_extended_struct_required']));
|
||||
$ret .= $frm->checkbox($fname.'[]',$val,($curval == $val), array('label'=>$label));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -793,8 +806,13 @@ class e107_user_extended
|
||||
$ret .= "<input {$include} type='checkbox' name='{$fname}[]' value='{$val}' {$chk} /> {$label}<br />";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
return $ret;
|
||||
|
||||
*/
|
||||
|
||||
break;
|
||||
|
||||
case EUF_DROPDOWN : //dropdown
|
||||
|
Reference in New Issue
Block a user