Example #1
0
function mf_shortcodes($atts)
{
    global $post, $FIELD_TYPES;
    extract(shortcode_atts(array('field' => 'no field defined or field name is wrong', 'eip' => FALSE, 'filtered' => FALSE, 'imgtag' => FALSE, 'label' => "", 'loop' => FALSE, 'loopseparator' => "|", 'checked' => "yes", 'groupindex' => 1, 'fieldindex' => 1), $atts));
    if ($loop && RCCWP_CustomField::GetFieldDuplicates($post->ID, $field, $groupindex) > 1) {
        $fieldduplicatedata = get_field_duplicate($field);
    } else {
        $fielddata = RCCWP_CustomField::GetDataField($field, $groupindex, $fieldindex, $post->ID);
    }
    $fieldType = $fielddata['type'];
    $fieldID = $fielddata['id'];
    $fieldObject = $fielddata['properties'];
    $fieldValues = (array) $fielddata['meta_value'];
    $fieldMetaID = $fielddata['meta_id'];
    $fieldresults = GetProcessedFieldValue($fieldValues, $fieldType, $fieldObject);
    $shortcode_data = $fieldresults;
    if ($fielddata['type'] == $FIELD_TYPES['multiline_textbox'] && $filtered) {
        $shortcode_data = apply_filters('the_content', $fieldresults);
    }
    if ($fielddata['type'] == $FIELD_TYPES['image']) {
        $imgresults = split('&', $fieldresults);
        if ($imgtag) {
            $shortcode_data = "<img src=\"{$imgresults['0']}\"/>";
        } else {
            $shortcode_data = $imgresults[0];
        }
    }
    if ($fielddata['type'] == $FIELD_TYPES['listbox']) {
        $shortcode_data = implode(",", $fieldresults);
    }
    if ($fielddata['type'] == $FIELD_TYPES['checkbox_list']) {
        $shortcode_data = implode(",", $fieldresults);
    }
    if ($fielddata['type'] == $FIELD_TYPES['checkbox']) {
        if ($fieldresults) {
            $shortcode_data = $checked;
        }
    }
    if ($shortcode_data || $fieldduplicatedata) {
        if ($label) {
            $shortcode_data = $label . $shortcode_data;
        } else {
            $shortcode_data = get_label($field) . " : " . $shortcode_data;
        }
        /////
        if ($field == "duplicate") {
            if ($loop) {
                return implode($loopseparator, $fieldduplicatedata);
            } else {
                return $shortcode_data;
            }
        } else {
            return $shortcode_data;
        }
        /////
    } else {
        return "no data found, please check the field name";
    }
}
Example #2
0
/**
 * Get the value of an input field.
 *
 * @param string $fieldName
 * @param integer $groupIndex
 * @param integer $fieldIndex
 * @param boolean $readyForEIP if true and the field type is textbox or
 * 				multiline textbox, the resulting value will be wrapped
 * 				in a div that is ready for EIP. The default value is true
 * @return a string or array based on field type
 */
function get($fieldName, $groupIndex = 1, $fieldIndex = 1, $readyForEIP = true)
{
    require_once "RCCWP_CustomField.php";
    global $wpdb, $post, $FIELD_TYPES;
    $fieldID = RCCWP_CustomField::GetIDByName($fieldName);
    $fieldObject = GetFieldInfo($fieldID);
    $fieldType = $wpdb->get_var("SELECT type FROM " . RC_CWP_TABLE_GROUP_FIELDS . " WHERE id='" . $fieldID . "'");
    $single = true;
    switch ($fieldType) {
        case $FIELD_TYPES["checkbox_list"]:
        case $FIELD_TYPES["listbox"]:
            $single = false;
            break;
    }
    $fieldValues = (array) RCCWP_CustomField::GetCustomFieldValues($single, $post->ID, $fieldName, $groupIndex, $fieldIndex);
    $fieldMetaID = RCCWP_CustomField::GetMetaID($post->ID, $fieldName, $groupIndex, $fieldIndex);
    $results = GetProcessedFieldValue($fieldValues, $fieldType, $fieldObject->properties);
    //filter for multine line
    if ($fieldType == $FIELD_TYPES['multiline_textbox']) {
        $results = apply_filters('the_content', $results);
    }
    if ($fieldType == $FIELD_TYPES['image']) {
        $results = split('&', $results);
        $results = $results[0];
    }
    // Prepare fields for EIP
    include_once 'RCCWP_Options.php';
    $enableEditnplace = RCCWP_Options::Get('enable-editnplace');
    if ($readyForEIP && $enableEditnplace == 1 && current_user_can('edit_posts', $post->ID)) {
        switch ($fieldType) {
            case $FIELD_TYPES["textbox"]:
                if (!$results) {
                    $results = "&nbsp";
                }
                $results = "<div class='" . EIP_textbox($fieldMetaID) . "' >" . $results . "</div>";
                break;
            case $FIELD_TYPES["multiline_textbox"]:
                if (!$results) {
                    $results = "&nbsp";
                }
                $results = "<div class='" . EIP_mulittextbox($fieldMetaID) . "' >" . $results . "</div>";
                break;
        }
    }
    return $results;
}
Example #3
0
function mf_shortcodes($atts)
{
    global $post, $FIELD_TYPES;
    extract(shortcode_atts(array('field' => 'no field defined or field name is wrong', 'eip' => FALSE, 'filtered' => FALSE, 'imgtag' => FALSE, 'label' => "", 'loop' => FALSE, 'loopseparator' => "|", 'checked' => "yes", 'groupindex' => 1, 'fieldindex' => 1), $atts));
    if ($loop && RCCWP_CustomField::GetFieldDuplicates($post->ID, $field, $groupindex) > 1) {
        $fieldduplicatedata = get_field_duplicate($field);
    } else {
        $fielddata = RCCWP_CustomField::GetDataField($field, $groupindex, $fieldindex, $post->ID);
    }
    $fieldType = $fielddata['type'];
    $fieldID = $fielddata['id'];
    $fieldObject = $fielddata['properties'];
    $fieldValues = (array) $fielddata['meta_value'];
    $fieldMetaID = $fielddata['meta_id'];
    $fieldresults = GetProcessedFieldValue($fieldValues, $fieldType, $fieldObject);
    $shortcode_data = $fieldresults;
    if ($fielddata['type'] == $FIELD_TYPES['multiline_textbox'] && $filtered) {
        $shortcode_data = apply_filters('the_content', $fieldresults);
    }
    if ($fielddata['type'] == $FIELD_TYPES['image']) {
        $imgresults = split('&', $fieldresults);
        if ($imgtag) {
            $shortcode_data = "<img src=\"{$imgresults['0']}\"/>";
        } else {
            $shortcode_data = $imgresults[0];
        }
    }
    if ($fielddata['type'] == $FIELD_TYPES['listbox']) {
        $shortcode_data = implode(",", $fieldresults);
    }
    if ($fielddata['type'] == $FIELD_TYPES['checkbox_list']) {
        $shortcode_data = implode(",", $fieldresults);
    }
    if ($fielddata['type'] == $FIELD_TYPES['checkbox']) {
        if ($fieldresults) {
            $shortcode_data = $checked;
        }
    }
    // Prepare fields for EIP
    $enableEditnplace = RCCWP_Options::Get('enable-editnplace');
    if ($eip && $enableEditnplace == 1 && current_user_can('edit_posts', $post->ID)) {
        switch ($fielddata['type']) {
            case $FIELD_TYPES["textbox"]:
                if (!$results) {
                    $results = "&nbsp";
                }
                $shortcode_data = "<div class='" . EIP_textbox($fieldMetaID) . "' >" . $fieldresults . "</div>";
                break;
            case $FIELD_TYPES["multiline_textbox"]:
                if (!$results) {
                    $results = "&nbsp";
                }
                $shortcode_data = "<div class='" . EIP_mulittextbox($fieldMetaID) . "' >" . $shortcode_data . "</div>";
                break;
        }
    }
    if ($shortcode_data || $fieldduplicatedata) {
        if ($label) {
            $shortcode_data = $label . $shortcode_data;
        } else {
            $shortcode_data = get_label($field) . " : " . $shortcode_data;
        }
        /////
        if ($field == "duplicate") {
            if ($loop) {
                return implode($loopseparator, $fieldduplicatedata);
            } else {
                return $shortcode_data;
            }
        } else {
            return $shortcode_data;
        }
        /////
    } else {
        return "no data found, please check the field name";
    }
}
function get_field_duplicate($fieldName, $groupIndex = 1, $post_id = NULL)
{
    global $wpdb, $post, $FIELD_TYPES;
    if (!$post_id) {
        $post_id = $post->ID;
    }
    $sql = "SELECT \t\tpm.field_name, cf.type, pm_wp.meta_value, pm.order_id, pm.field_count, cf.id, fp.properties \n\t\t\tFROM \t\t" . MF_TABLE_POST_META . " pm, " . MF_TABLE_PANEL_GROUPS . " g, {$wpdb->postmeta} pm_wp,\n\t\t\t\t\t\t" . MF_TABLE_GROUP_FIELDS . " cf \n\t\t\tLEFT JOIN " . MF_TABLE_CUSTOM_FIELD_PROPERTIES . " fp ON fp.custom_field_id = cf.id\n\t\t\tWHERE \t\tpm_wp.post_id = {$post_id} AND cf.name = pm.field_name AND cf.group_id=g.id AND\n\t\t\t\t\t\tpm_wp.meta_id=pm.id AND pm.field_name='{$fieldName}' AND pm.group_count = {$groupIndex}\n\t\t\t\t\t\tAND pm_wp.meta_value <> '' \n\t\t\tORDER BY \tpm.order_id, cf.display_order, pm.field_count";
    $data_fields = $wpdb->get_results($sql);
    $info = null;
    foreach ($data_fields as $data) {
        switch ($data->type) {
            case $FIELD_TYPES["textbox"]:
            case $FIELD_TYPES["radiobutton_list"]:
            case $FIELD_TYPES["dropdown_list"]:
            case $FIELD_TYPES["color_picker"]:
            case $FIELD_TYPES["slider"]:
                $info[$data->field_count] = $data->meta_value;
                break;
            case $FIELD_TYPES['multiline_textbox']:
                $info[$data->field_count] = apply_filters('the_content', $data->meta_value);
                break;
            case $FIELD_TYPES["checkbox"]:
                if ($data->meta_value == 'true') {
                    $fieldValue = 1;
                } else {
                    $fieldValue = 0;
                }
                $info[$data->field_count] = $fieldValue;
                break;
            case $FIELD_TYPES["checkbox_list"]:
            case $FIELD_TYPES["listbox"]:
                $info[$data->field_count] = unserialize($data->meta_value);
                break;
            case $FIELD_TYPES["audio"]:
            case $FIELD_TYPES["file"]:
                if ($data->meta_value != "") {
                    $fieldValue = MF_FILES_URI . $data->meta_value;
                } else {
                    $fieldValue = null;
                }
                $info[$data->field_count] = $fieldValue;
                break;
            case $FIELD_TYPES['image']:
                if ($data->meta_value != "") {
                    $format = unserialize($data->properties);
                    if ($format) {
                        $info[$data->field_count]['t'] = aux_image($data->meta_value, $format['params']);
                    }
                    $info[$data->field_count]['o'] = MF_FILES_URI . $data->meta_value;
                }
                break;
            case $FIELD_TYPES['date']:
                $format = unserialize($data->properties);
                $fieldValue = GetProcessedFieldValue($data->meta_value, $data->type, $format);
                $info[$data->field_count] = $fieldValue;
                break;
        }
    }
    return $info;
}
Example #5
0
function get_clean_field_duplicate($fieldName, $groupIndex = 1, $post_id = NULL)
{
    global $wpdb, $post, $FIELD_TYPES;
    if (!$post_id) {
        $post_id = $post->ID;
    }
    $cache_name = $post_id . '/_fduplicates-' . $fieldName . '--' . $groupIndex . '.txt';
    $data_fields = unserialize(MF_get_cached_data($cache_name, FALSE));
    // When field is set, but it's empty, it gets a NULL value, but still this value is cached
    // therefore: if !is_null condition
    if (!$data_fields && !is_null($data_fields)) {
        $sql = $wpdb->prepare("SELECT pm.field_name, cf.type, pm_wp.meta_value, pm.order_id, pm.field_count, cf.id, fp.properties \n\t\t\t\tFROM \t\t" . MF_TABLE_POST_META . " pm, " . MF_TABLE_PANEL_GROUPS . " g, {$wpdb->postmeta} pm_wp,\n\t\t\t\t\t\t\t" . MF_TABLE_GROUP_FIELDS . " cf \n\t\t\t\tLEFT JOIN " . MF_TABLE_CUSTOM_FIELD_PROPERTIES . " fp ON fp.custom_field_id = cf.id\n\t\t\t\tWHERE \t\tpm_wp.post_id = %d AND cf.name = pm.field_name AND cf.group_id = g.id AND\n\t\t\t\t\t\t\tpm_wp.meta_id = pm.id AND pm.field_name = %s AND pm.group_count = %d\n\t\t\t\t\t\t\tAND pm_wp.meta_value <> '' \n\t\t\t\tORDER BY \tpm.order_id, cf.display_order, pm.field_count", array($post_id, $fieldName, $groupIndex));
        $data_fields = $wpdb->get_results($sql);
        MF_put_cached_data($cache_name, serialize($data_fields));
    }
    $info = null;
    foreach ($data_fields as $data) {
        switch ($data->type) {
            case $FIELD_TYPES["textbox"]:
            case $FIELD_TYPES["radiobutton_list"]:
            case $FIELD_TYPES["dropdown_list"]:
            case $FIELD_TYPES["color_picker"]:
            case $FIELD_TYPES["slider"]:
            case $FIELD_TYPES["related_type"]:
            case $FIELD_TYPES['markdown_textbox']:
                $info[$data->field_count] = $data->meta_value;
                break;
            case $FIELD_TYPES['multiline_textbox']:
                $info[$data->field_count] = $data->meta_value;
                break;
            case $FIELD_TYPES["checkbox"]:
                if ($data->meta_value == 'true') {
                    $fieldValue = 1;
                } else {
                    $fieldValue = 0;
                }
                $info[$data->field_count] = $fieldValue;
                break;
            case $FIELD_TYPES["checkbox_list"]:
            case $FIELD_TYPES["listbox"]:
                $info[$data->field_count] = unserialize($data->meta_value);
                break;
            case $FIELD_TYPES["audio"]:
            case $FIELD_TYPES["file"]:
                if ($data->meta_value != "") {
                    $fieldValue = MF_FILES_URI . $data->meta_value;
                } else {
                    $fieldValue = null;
                }
                $info[$data->field_count] = $fieldValue;
                break;
            case $FIELD_TYPES['image']:
                if ($data->meta_value != "") {
                    $format = unserialize($data->properties);
                    if ($format) {
                        $info[$data->field_count]['t'] = aux_image($data->meta_value, $format['params']);
                    }
                    $info[$data->field_count]['o'] = MF_FILES_URI . $data->meta_value;
                }
                break;
            case $FIELD_TYPES['date']:
                $format = unserialize($data->properties);
                $fieldValue = GetProcessedFieldValue($data->meta_value, $data->type, $format);
                $info[$data->field_count] = $fieldValue;
                break;
            case $FIELD_TYPES['Image (Upload Media)']:
                if ($data->meta_value != "") {
                    $format = unserialize($data->properties);
                    $image = wp_get_attachment_image_src($data->meta_value, 'original');
                    if ($format) {
                        $info[$data->order_id][$data->field_name][$data->field_count]['t'] = aux_image($image[0], $format['params'], $data->type);
                    }
                    $info[$data->order_id][$data->field_name][$data->field_count]['o'] = $image[0];
                }
                break;
        }
    }
    return $info;
}
Example #6
0
 /**
  * Processes the variables values to be suitable for direct use,
  * e.g. adding full URL to uploaded files.
  *
  * @return array of variables where the key of each item is the variable name
  */
 function GetProcessedVariables()
 {
     global $FIELD_TYPES;
     $vars = array();
     foreach ($this->variables as $varKey => $variable) {
         $variable->properties['format'] = "m.d.y";
         $vars[$variable->variable_name] = GetProcessedFieldValue($variable->value, $FIELD_TYPES[$variable->type], $variable->properties);
     }
     return $vars;
 }