function add_project_parent_box($post) { require 'languages/text_variables.php'; // Getting the parent if any for auto selection $parent_id = get_post_meta($post->ID, 'ign_project_parent', true); // Getting the list of ID projects $projects = ID_Project::get_project_posts(); // If the screen is edit post, then don't show the current post id in dropdown if (isset($_GET['action']) && $_GET['action'] == 'edit') { $screen = 'edit'; } else { $screen = 'add'; } // Making the markup echo '<input type="hidden" name="add_project_parent_box" value="' . wp_create_nonce('add_project_parent_box') . '" />'; echo '<table width="100%" border="0"> <tr> <td> </td> <td></td> </tr> <tr> <td>Parent Project</td> <td> <select name="ign_option_project_parent" id="ign_option_project_parent"> <option value="">' . __('No Parent', 'ignitiondeck') . '</option>'; if (!empty($projects)) { foreach ($projects as $project) { if ($screen == "add" || $screen == 'edit' && $post->ID != $project->ID) { echo ' <option value="' . $project->ID . '" ' . ($parent_id == $project->ID ? 'selected="selected"' : '') . '>' . $project->post_title . '</option>'; } } } echo ' </select> </td> </tr> <tr> <td> </td> </tr> </table>'; }
function form($instance) { //reasons to fail if (empty($this->widget['fields'])) { return false; } $defaults = array('id' => '', 'name' => '', 'desc' => '', 'type' => '', 'options' => '', 'std' => ''); foreach ($this->widget['fields'] as $field) { //making sure we don't throw strict errors $field = wp_parse_args($field, $defaults); $meta = false; if (isset($field['id']) && array_key_exists($field['id'], $instance)) { @($meta = attribute_escape($instance[$field['id']])); } if ($field['type'] != 'custom' && $field['type'] != 'metabox') { echo '<p><label for="', $this->get_field_id($field['id']), '">'; } if (isset($field['name']) && $field['name']) { echo $field['name'], ':<br />'; } switch ($field['type']) { case 'text': echo '<input type="text" name="', $this->get_field_name($field['id']), '" id="', $this->get_field_id($field['id']), '" value="', isset($instance[$field['id']]) ? $instance[$field['id']] : '', '" class="vibe_text" />', '<br/><span class="description">', @$field['desc'], '</span>'; break; case 'textarea': echo '<textarea class="vibe_textarea" name="', $this->get_field_name($field['id']), '" id="', $this->get_field_id($field['id']), '" cols="60" rows="4" style="width:97%">', $meta ? $meta : @$field['std'], '</textarea>', '<br/><span class="description">', @$field['desc'], '</span>'; break; case 'select': echo '<select class="vibe_select" name="', $this->get_field_name($field['id']), '" id="', $this->get_field_id($field['id']), '">'; global $wpdb; //$allproducts = ID_Project::get_all_projects(); $allproducts = ID_Project::get_project_posts(); foreach ($allproducts as $prod) { $project_id = get_post_meta($prod->ID, 'ign_project_id', true); //$project = new ID_Project($prod->id); //$post_id = $project->get_project_postid(); $selected_option = isset($value) ? $value : get_the_title($prod->ID); //echo "selected_option: ".$selected_option."<br />"; //echo "meta: ".$meta."<br />"; echo '<option', isset($project_id) ? ' value="' . $project_id . '"' : '', $meta == $project_id ? ' selected="selected"' : '', '>', get_the_title($prod->ID), '</option>'; } echo '</select>', '<br/><span class="description">', @$field['desc'], '</span>'; break; case 'radio': foreach ($field['options'] as $option) { echo '<input class="vibe_radio" type="radio" name="', $this->get_field_name($field['id']), '" value="', $option['value'], '"', $meta == $option['value'] ? ' checked="checked"' : '', ' />', $option['name'] . '<br />'; } echo '<br/><span class="description">', @$field['desc'], '</span>'; break; case 'checkbox': echo '<input type="hidden" name="', $this->get_field_name($field['id']), '" id="', $this->get_field_id($field['id']), '" /> ', '<input class="vibe_checkbox" type="checkbox" name="', $this->get_field_name($field['id']), '" id="', $this->get_field_id($field['id']), '"', $meta ? ' checked="checked"' : '', ' /> ', '<br/><span class="description">', @$field['desc'], '</span>'; break; case 'custom': echo $field['std']; break; } if ($field['type'] != 'custom' && $field['type'] != 'metabox') { echo '</label></p>'; } } return true; }
function project_posts_list_ajax() { $projects = ID_Project::get_project_posts(); print_r(json_encode($projects)); exit; }