コード例 #1
0
ファイル: parseutils.php プロジェクト: horrabin/opendb
/**
	Will return an array of the following form:
		type=>function_name, args=>array(args)
*/
function prc_function_spec($function_spec, $require_legal_func_name = FALSE)
{
    $start = strpos($function_spec, '(');
    if ($start !== FALSE) {
        // Now we have something to parse.
        $type = trim(substr($function_spec, 0, $start));
        // Now ensure the function name is valid.
        if ($require_legal_func_name == FALSE || is_legal_function_name($type)) {
            $end = strrpos($function_spec, ')');
            if ($end > $start) {
                // Now we have the args, lets tokenise them.
                $args = trim(substr($function_spec, $start + 1, $end - ($start + 1)));
                $arr = prc_args($args);
            }
            return array(type => strtolower($type), args => $arr);
        } else {
            return NULL;
        }
    } else {
        if ($require_legal_func_name == FALSE) {
            // No (), so arg[0] is the whole thing.
            $type = trim($function_spec);
            // Empty argument list.
            return array(type => strtolower($type), args => array());
        } else {
            return NULL;
        }
    }
}
コード例 #2
0
ファイル: inputfields.php プロジェクト: horrabin/opendb
/**
	@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;
}