mirror of
https://github.com/e107inc/e107.git
synced 2025-08-04 21:57:51 +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 .= "<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()\" >
|
$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";
|
<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'" : "";
|
$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";
|
$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 .= "<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()\" >
|
$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";
|
<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'" : "";
|
$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";
|
$text .= "<option value=\"".$fld."\" $selected>".$fld."</option>\n";
|
||||||
}
|
}
|
||||||
|
@@ -441,7 +441,12 @@ class e_array {
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(strpos($ArrayData,"0 => \'")!=false)
|
||||||
|
{
|
||||||
|
$ArrayData = stripslashes($ArrayData);
|
||||||
|
}
|
||||||
|
|
||||||
$data = "";
|
$data = "";
|
||||||
$ArrayData = '$data = '.$ArrayData.';';
|
$ArrayData = '$data = '.$ArrayData.';';
|
||||||
@eval($ArrayData);
|
@eval($ArrayData);
|
||||||
|
@@ -1505,6 +1505,7 @@ class e_form
|
|||||||
function checkboxes($name, $option_array, $checked, $options=array())
|
function checkboxes($name, $option_array, $checked, $options=array())
|
||||||
{
|
{
|
||||||
$name = (strpos($name, '[') === false) ? $name.'[]' : $name;
|
$name = (strpos($name, '[') === false) ? $name.'[]' : $name;
|
||||||
|
|
||||||
if(!is_array($checked)) $checked = explode(",",$checked);
|
if(!is_array($checked)) $checked = explode(",",$checked);
|
||||||
|
|
||||||
$text = "";
|
$text = "";
|
||||||
@@ -1518,6 +1519,11 @@ class e_form
|
|||||||
$key = $k;
|
$key = $k;
|
||||||
$c = in_array($k, $checked) ? true : false;
|
$c = in_array($k, $checked) ? true : false;
|
||||||
}
|
}
|
||||||
|
elseif(!empty($options['useLabelValues']))
|
||||||
|
{
|
||||||
|
$key = $label;
|
||||||
|
$c = in_array($label, $checked) ? true : false;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$key = 1;
|
$key = 1;
|
||||||
|
@@ -55,3 +55,17 @@ if (!function_exists('json_encode'))
|
|||||||
return $json->decode($json_obj);
|
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_DATE :
|
||||||
case EUF_LANGUAGE :
|
case EUF_LANGUAGE :
|
||||||
case EUF_PREDEFINED :
|
case EUF_PREDEFINED :
|
||||||
case EUF_CHECKBOX :
|
|
||||||
case EUF_RADIO :
|
case EUF_RADIO :
|
||||||
$target['_FIELD_TYPES'][$k] = 'todb';
|
$target['_FIELD_TYPES'][$k] = 'todb';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case EUF_CHECKBOX :
|
||||||
|
$target['_FIELD_TYPES'][$k] = 'array';
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
case EUF_INTEGER :
|
case EUF_INTEGER :
|
||||||
$target['_FIELD_TYPES'][$k] = 'int';
|
$target['_FIELD_TYPES'][$k] = 'int';
|
||||||
@@ -477,6 +482,7 @@ class e107_user_extended
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case EUF_TEXTAREA:
|
case EUF_TEXTAREA:
|
||||||
|
case EUF_CHECKBOX :
|
||||||
$db_type = 'TEXT';
|
$db_type = 'TEXT';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -486,7 +492,7 @@ class e107_user_extended
|
|||||||
case EUF_DB_FIELD :
|
case EUF_DB_FIELD :
|
||||||
case EUF_LANGUAGE :
|
case EUF_LANGUAGE :
|
||||||
case EUF_PREDEFINED :
|
case EUF_PREDEFINED :
|
||||||
case EUF_CHECKBOX :
|
|
||||||
$db_type = 'VARCHAR(255)';
|
$db_type = 'VARCHAR(255)';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -764,6 +770,13 @@ class e107_user_extended
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case EUF_CHECKBOX : //checkboxes
|
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)
|
foreach($choices as $choice)
|
||||||
{
|
{
|
||||||
$choice = trim($choice);
|
$choice = trim($choice);
|
||||||
@@ -785,7 +798,7 @@ class e107_user_extended
|
|||||||
|
|
||||||
if(deftrue('BOOTSTRAP'))
|
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
|
else
|
||||||
{
|
{
|
||||||
@@ -793,8 +806,13 @@ class e107_user_extended
|
|||||||
$ret .= "<input {$include} type='checkbox' name='{$fname}[]' value='{$val}' {$chk} /> {$label}<br />";
|
$ret .= "<input {$include} type='checkbox' name='{$fname}[]' value='{$val}' {$chk} /> {$label}<br />";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EUF_DROPDOWN : //dropdown
|
case EUF_DROPDOWN : //dropdown
|
||||||
|
Reference in New Issue
Block a user