_build_param($name, $var, $required)Helper for creating param form item.
string $name
array $var
sites/all/modules/mediamosa_development/mediamosa_development.admin.inc, line 557
<?php
function _build_param($name, $var, $required) {
$item = array();
// For now skip internal vars.
if (isset($var[mediamosa_rest_call::VAR_IS_INTERNAL_ONLY]) && $var[mediamosa_rest_call::VAR_IS_INTERNAL_ONLY] == mediamosa_rest_call::VAR_IS_INTERNAL_ONLY_YES) {
return '';
}
$type = mediamosa_type::typeAlias2Type($var[mediamosa_rest_call::VAR_TYPE]);
$is_array = isset($var[mediamosa_rest_call::VAR_IS_ARRAY]) && $var[mediamosa_rest_call::VAR_IS_ARRAY] == mediamosa_rest_call::VAR_IS_ARRAY_YES;
// Title.
$title = $name . ($is_array ? '[]' : '');
$options = array();
if (isset($var[mediamosa_rest_call::VAR_ALLOWED_VALUES]) && !empty($var[mediamosa_rest_call::VAR_ALLOWED_VALUES])) {
if (!$required) {
$options[''] = t('Make selection');
$var[mediamosa_rest_call::VAR_DEFAULT_VALUE] = t('Make selection');
}
foreach ($var[mediamosa_rest_call::VAR_ALLOWED_VALUES] as $value) {
$options[$value] = $value;
}
// Go pass the type.
$type = 'hack_selection';
}
// Description.
$description = $var[mediamosa_rest_call::VAR_DESCRIPTION];
switch ($type) {
case 'hack_selection':
$item = array(
'#weight' => 10,
'#type' => 'select',
'#title' => $title,
'#description' => $description,
'#options' => $options,
);
break;
case mediamosa_type::TYPE_BOOL:
$item = array(
'#weight' => 10,
'#type' => 'select',
'#title' => $title,
'#description' => $description,
'#options' => array('' => '', 'false' => t('false'), 'true' => t('true')),
);
if (isset($var[mediamosa_rest_call::VAR_DEFAULT_VALUE])) {
$var[mediamosa_rest_call::VAR_DEFAULT_VALUE] = drupal_strtolower($var[mediamosa_rest_call::VAR_DEFAULT_VALUE]);
}
break;
case mediamosa_type::TYPE_LANGUAGE_CODE:
$options = explode(',', 'aa,ab,ae,af,ak,am,an,ar,as,av,ay,az,ba,be,bg,bh,bi,bm,bn,bo,br,bs,ca,ce,ch,co,cr,cs,cu,cv,cy,da,de,dv,dz,ee,el,en,eo,es,et,eu,fa,ff,fi,fj,fo,fr,fy,ga,gd,gl,gn,gu,gv,ha,he,hi,ho,hr,ht,hu,hy,hz,ia,id,ie,ig,ii,ik,io,is,it,iu,ja,jv,ka,kg,ki,kj,kk,kl,km,kn,ko,kr,ks,ku,kv,kw,ky,la,lb,lg,li,ln,lo,lt,lu,lv,mg,mh,mi,mk,ml,mn,mo,mr,ms,mt,my,na,nb,nd,ne,ng,nl,nn,no,nr,nv,ny,oc,oj,om,or,os,pa,pi,pl,ps,pt,qu,rm,rn,ro,ru,rw,ry,sa,sc,sd,se,sg,sh,si,sk,sl,sm,sn,so,sq,sr,ss,st,su,sv,sw,ta,te,tg,th,ti,tk,tl,tn,to,tr,ts,tt,tw,ty,ug,uk,ur,uz,ve,vi,vo,wa,wo,xh,yi,yo,za,zh,zu');
$item = array(
'#type' => 'select',
'#title' => $title,
'#description' => $description,
'#options' => $options,
);
break;
case mediamosa_type::TYPE_APP_ID:
case mediamosa_type::TYPE_INT:
case mediamosa_type::TYPE_UINT:
case mediamosa_type::TYPE_AUT_GROUP_TYPE:
case mediamosa_type::TYPE_TICKET_ID:
case mediamosa_type::TYPE_URI:
case mediamosa_type::TYPE_FILENAME:
case mediamosa_type::TYPE_STRING:
case mediamosa_type::TYPE_ALPHA:
case mediamosa_type::TYPE_ALPHA_NUM:
case mediamosa_type::TYPE_ALPHA_NUM_UNDERSCORE:
case mediamosa_type::TYPE_ALPHA_NUM_UNDERSCORE_TAG:
case mediamosa_type::TYPE_DATETIME:
case mediamosa_type::TYPE_SERIAL:
case mediamosa_type::TYPE_URL:
case mediamosa_type::TYPE_JOB:
case mediamosa_type::TYPE_COMMAND:
$item = array(
'#weight' => '10',
'#type' => 'textfield',
'#title' => $title,
'#description' => $description,
);
break;
default:
drupal_set_message(t('No form creation found for @name with type @type.', array('@name' => $name, '@type' => $type)), 'error');
break;
}
if (!empty($item)) {
if (!empty($var[mediamosa_rest_call::VAR_DEFAULT_VALUE])) {
$item['#default_value'] = $var[mediamosa_rest_call::VAR_DEFAULT_VALUE];
}
}
return $item;
}
?>