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>&nbsp;</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>';
}
Exemplo n.º 2
0
 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;
}