1
0
mirror of https://github.com/e107inc/e107.git synced 2025-06-05 02:15:13 +02:00

Admin-UI inline editing now works with type=boolean

This commit is contained in:
Cameron 2014-11-13 19:37:37 -08:00
parent 2d00fb190e
commit cf15229e7c
3 changed files with 54 additions and 6 deletions

View File

@ -2318,9 +2318,17 @@ TEMPLATE;
switch ($type)
{
case 'date':
case 'datetime':
$array = array(
'text' => "Text Box",
"hidden" => "Hidden"
);
break;
case 'int':
case 'tinyint':
case 'bigint':
case 'smallint':
$array = array(
"boolean" => "True/False",
@ -2399,10 +2407,14 @@ TEMPLATE;
{
$name = $tmp[2];
}
else // Link_description
elseif(count($tmp) == 2) // Link_description
{
$name = $tmp[1];
}
elseif(count($tmp) === 1)
{
$name = $data;
}
$ret['title'] = ucfirst($name);
$ret['width'] = 'auto';

View File

@ -3290,6 +3290,15 @@ class e_form
case 'bool':
case 'boolean':
$false = vartrue($parms['trueonly']) ? "" : ADMIN_FALSE_ICON;
if(!vartrue($attributes['noedit']) && vartrue($parms['editable']) && !vartrue($parms['link'])) // avoid bad markup, better solution coming up
{
$false = vartrue($parms['trueonly']) ? "-" : "False";
$wparms = (vartrue($parms['reverse'])) ? array(0=>'True', 1=>$false) : array(0=>$false, 1=>'True'); //TODO LAN
$dispValue = $wparms[$value];
return $this->renderInline($field, $id, $attributes['title'], $value, $dispValue, 'select', $wparms);
}
if(vartrue($parms['reverse']))
{
@ -3298,7 +3307,8 @@ class e_form
else
{
$value = $value ? ADMIN_TRUE_ICON : $false;
}
}
break;
case 'url':
@ -3377,8 +3387,24 @@ class e_form
case 'hidden':
return (vartrue($parms['show']) ? ($value ? $value : vartrue($parms['empty'])) : '');
break;
case 'language': // All Known Languages.
if(!empty($value))
{
if(strlen($value) === 2)
{
return e107::getLanguage()->convert($value);
}
else
{
return $value;
}
}
break;
case 'lanlist':
case 'lanlist': // installed languages.
$options = e107::getLanguage()->getLanSelectArray();
if($options) // FIXME - add support for multi-level arrays (option groups)
@ -3773,9 +3799,10 @@ class e_form
$ret = $ret.$this->hidden($key, $value);
break;
case 'lanlist':
case 'language':
$options = e107::getLanguage()->getLanSelectArray();
case 'lanlist': // installed languages
case 'language': // all languages
$options = ($attributes['type'] === 'language') ? e107::getLanguage()->getList() : e107::getLanguage()->getLanSelectArray();
$eloptions = vartrue($parms['__options'], array());
if(!is_array($eloptions)) parse_str($eloptions, $eloptions);

View File

@ -616,4 +616,13 @@ class language{
}
return $this->_select_array;
}
/**
* Return an array of all language types.
*/
public function getList()
{
return $this->list;
}
}