/** * Generates markup for add/edit project form * * @since 0.1 * @param object|null $project */ function cpm_project_form($project = null) { $name = $details = ''; $users = array(); $submit = __('Add New Project', 'cpm'); $action = 'cpm_project_new'; $project_category = -1; if (!is_null($project)) { $name = $project->post_title; $details = $project->post_content; $users = empty($project->users) ? array() : $project->users; $action = 'cpm_project_update'; $submit = __('Update Project', 'cpm'); } ?> <form action="" method="post" class="cpm-project-form"> <?php wp_nonce_field('cpm_project'); ?> <div class="cpm-form-item project-name"> <input type="text" name="project_name" id="project_name" placeholder="<?php esc_attr_e('Name of the project', 'cpm'); ?> " value="<?php echo esc_attr($name); ?> " size="45" /> </div> <div class="cpm-form-item project-category"> <?php if ($project) { $terms = get_the_terms($project->ID, 'project_category'); if ($terms && !is_wp_error($terms)) { $project_category = $terms[0]->term_id; } } echo cpm_dropdown_category($project_category, false, false, 'chosen-select'); ?> </div> <div class="cpm-form-item project-detail"> <textarea name="project_description" class="cpm-project-description" id="" cols="50" rows="3" placeholder="<?php _e('Some details about the project (optional)', 'cpm'); ?> "><?php echo esc_textarea($details); ?> </textarea> </div> <div class="cpm-form-item cpm-project-role"> <table><?php echo CPM_Ajax::getInstance()->user_role_table_generator($project); ?> </table> </div> <div class="cpm-form-item project-users"> <input class="cpm-project-coworker" type="text" name="" placeholder="<?php esc_attr_e('Type 3 or more characters to search users...', 'cpm'); ?> " size="45"> </div> <div class="cpm-form-item project-notify"> <input type="hidden" name="project_notify" value="no" /> <label> <input type="checkbox" name="project_notify" id="project-notify" value="yes" /> <?php _e('Notify Co-workers', 'cpm'); ?> </label> </div> <?php do_action('cpm_project_form', $project); ?> <div class="submit"> <?php if ($project) { ?> <input type="hidden" name="project_id" value="<?php echo $project->ID; ?> "> <?php } ?> <input type="hidden" name="action" value="<?php echo $action; ?> "> <span class="cpm-pro-update-spinner"></span> <input type="submit" name="add_project" id="add_project" class="button-primary" value="<?php echo esc_attr($submit); ?> "> <a class="button project-cancel" href="#"><?php _e('Cancel', 'cpm'); ?> </a> </div> <div class="cpm-loading" style="display: none;"><?php _e('Saving...', 'cpm'); ?> </div> </form> <?php }
/** * Instantiate all the required classes * * @since 0.1 */ function instantiate() { $this->project = CPM_Project::getInstance(); $this->message = CPM_Message::getInstance(); $this->task = CPM_Task::getInstance(); $this->milestone = CPM_Milestone::getInstance(); $this->activity = CPM_Activity::getInstance(); $this->ajax = CPM_Ajax::getInstance(); $this->notification = CPM_Notification::getInstance(); if (function_exists('json_api_init')) { $this->api = CPM_API::instance(); } // instantiate admin settings only on admin page if (is_admin()) { $this->admin = new CPM_Admin(); $this->upgrade = new CPM_Upgrade(); } do_action('cpm_instantiate', $this); }