function get_widget_js_entry($name, $type, $definition) { global $argument_types; $description = $definition['description']; $spec = get_function_spec($name, $definition['args']); $args = array(); while (list(, $value) = each($definition['args'])) { if (substr($value, -3) === "[Y]") { $value = substr($value, 0, -3); } $arg = $value . " - "; if (is_array($argument_types[$value])) { $arg .= $argument_types[$value]['description']; } $args[] = $arg; } return "new WidgetToolTip('{$name}', '{$type}', '" . addslashes($description) . "', '" . addslashes($spec) . "', " . encode_javascript_array($args) . ");\n"; }
/** @param $item_r where provided will give the item_id / instance_no, where not provided is safe to assume that this is a new item insert field and this information is not relevant. */ function url($name, $item_r, $item_attribute_type_r, $prompt, $length, $maxlength, $content_groups, $value, $onchange_event, $disabled = FALSE, $multi_value = FALSE) { // Default size. $size = $length; if (!is_numeric($size) || $size <= 0) { $size = 50; } if (get_opendb_config_var('widgets', 'enable_javascript_validation') !== FALSE) { if (strlen(trim($content_groups)) > 0) { // might be an array of content groups $content_group_r = prc_args($content_groups); $extensions_r = fetch_file_type_extensions_r($content_group_r); if (is_not_empty_array($extensions_r)) { $extensions = implode(', ', $extensions_r); } else { // else just list of extensions otherwise $extensions = $content_groups; $extensions_r = $content_group_r; } $url_is_not_valid_message = addslashes(get_opendb_lang_var('url_is_not_valid', array('prompt' => $prompt, 'extensions' => $extensions))); $onchange = "onchange=\"if(!isValidExtension(this.value, " . encode_javascript_array($extensions_r) . ")){alert('" . $url_is_not_valid_message . "'); this.focus(); return false;} {$onchange_event} return true;\""; } } else { $onchange = "onchange=\"{$onchange_event}\""; } if ($item_attribute_type_r['file_attribute_ind'] == 'Y') { $field .= "\n<ul class=\"urlOptionsMenu\" id=\"{$name}-tab-menu\" class=\"file-upload-menu\">"; $field .= "<li id=\"menu-{$name}_saveurl\" class=\"activeTab\" onclick=\"return activateTab('{$name}_saveurl', '{$name}-tab-menu', '{$name}-tab-content', 'activeTab', 'fieldContent');\">URL</li>"; if (is_file_upload_enabled()) { $field .= "<li id=\"menu-{$name}_upload\" onclick=\"return activateTab('{$name}_upload', '{$name}-tab-menu', '{$name}-tab-content', 'activeTab', 'fieldContent');\">Upload File</li>"; } $field .= "</ul>"; $field .= "<div class=\"urlOptionsContainer\" id=\"{$name}-tab-content\">"; $field .= "\n<div class=\"fieldContent\" id=\"{$name}_saveurl\">"; $field .= "<input type=\"text\" class=\"text\" name=\"{$name}\" value=\"{$value}\" {$onchange} size=\"" . $length . "\" " . (is_numeric($maxlength) ? "maxlength=\"" . $maxlength . "\"" : "") . ">"; $field .= "<input type=\"button\" class=\"button\" onclick=\"if(this.form['{$name}'].value.length>0){popup(this.form['{$name}'].value,'400','300');}else{alert('" . get_opendb_lang_var('prompt_must_be_specified', 'prompt', $prompt) . "');}\" value=\"" . get_opendb_lang_var('view') . "\"" . ($disabled ? ' DISABLED' : '') . ">"; $field .= "</div>"; if (is_file_upload_enabled()) { $field .= "<div class=\"fieldContentHidden\" id=\"{$name}_upload\">"; $field .= "<input type=\"file\" class=\"file\" name=\"{$name}_upload\" {$onchange} size=\"" . $size . "\"" . ($disabled ? ' DISABLED' : '') . ">"; $field .= "</div>"; } $field .= '</div>'; } else { if ($multi_value) { return multivalue_text_field('text', $name, $size, $maxlength, $onchange, $value); } else { return singlevalue_text_field('text', $name, $size, $maxlength, $onchange, $value, $disabled); } } return $field; }