lass Project extends Controller { var $left_menu = array(); var $top_menu = array(); var $extra_info = array(); function Project() { parent::Controller(); if (!$this->session->userdata('loggedin')) redirect('user/login'); $this->top_menu = array('create' => 'Create New Project', 'index' => 'Search For A Project'); $this->load->model('projectmodel', '', TRUE); $this->load->model('clientmodel', '', TRUE); $this->load->model('usermodel', '', TRUE); $this->load->model('project_typemodel', '', TRUE); $this->load->model('operation_typemodel', '', TRUE); $this->load->model('ticketmodel', '', TRUE); $this->extra_info = array(($this->session->userdata('loggedin')) ? "You are logged in as " . $this->session->userdata('first_name') . " " . $this->session->userdata('last_name') : ""); } function index() { $data = array( "view" => "project/index", "render_header" => true, "render_footer" => true, "header" => "header", "project_types" => $this->project_typemodel->get_type_list(), "left_menu" => $this->left_menu, "top_menu" => $this->top_menu, "extra_info" => $this->extra_info, "title" => "IM Project Management" ); $this->load->view('layout', $data); } function create() { $this->load->library("forge"); $conf["action"] = "project/create"; $conf["form_name"] = "Create New Project"; $this->forge->initialize($conf); $default = array("rules" => "trim|required[4,24]"); $this->forge->add("name", "text", $default); $this->forge->add("client", "dropdown", array('options' => $this->clientmodel->get_client_list())); $this->forge->add("project_manager", "dropdown", array('options' => $this->usermodel->get_user_list())); $this->forge->add("type", "dropdown", array('options' =>$this->project_typemodel->get_type_list())); $this->forge->add("create", "submit", array('value' => 'Create Project')); if ($post = $this->forge->post_data()) { if ($id = $this->projectmodel->create_project($post)) redirect('project/view/' . $id); else die('an error occured'); } else { $data = array( "view" => "project/create", "render_header" => true, "render_footer" => true, "header" => "header", "left_menu" => $this->left_menu, "top_menu" => $this->top_menu, "extra_info" => $this->extra_info, "title" => "IM Project Management :: Create New Project" ); $this->load->view('layout', $data); } } function view() { $id = $this->uri->segment(3); if ($project = $this->projectmodel->get_project($id)) { $project_types = $this->project_typemodel->get_abbreviation_list(); $this->extra_info[] = " | Viewing " . $project_types[$project->type] . $project->project_number . ' - ' . $project->name . ""; $this->top_menu['create_ticket/' . $project->id] = 'Create Ticket'; $this->top_menu['view_active_tickets/' . $project->id] = 'View Active Tickets'; $this->top_menu['view_closed_tickets/' . $project->id] = 'View Closed Tickets'; $data = array( "view" => "project/view", "render_header" => true, "render_footer" => true, "header" => "header", "project" => $project, "clients" => $this->clientmodel->get_client_list(), "users" => $this->usermodel->get_user_list(), "left_menu" => $this->left_menu, "top_menu" => $this->top_menu, "extra_info" => $this->extra_info, "title" => "IM Project Management :: View Project :: " . $project->name ); $this->load->view('layout', $data); } else show_404(); }