auth->isLoggedIn()) { $this->session->set_userdata('entry_url',current_url()); redirect('login'); } if(!$this->auth->isAllowed($this->session->userdata('userID'))) { show_error('Insufficient rights'); } $this->load->library('form_validation'); $this->load->library('pagination'); $this->userID = $this->session->userdata('userID'); //$this->output->enable_profiler(TRUE); } function index($page = 0) { $this->session->unset_userdata('project_id'); $this->session->unset_userdata('template_id'); $this->session->unset_userdata('search_string'); $config['first_link'] = lang('first'); $config['last_link'] = lang('last'); $config['uri_segment'] = 3; $config['num_links'] = 10; $config['base_url'] = $this->config->item('base_index')."/projects/index"; $config['total_rows'] = $this->project->getProjectAmountForUser($this->userID); $config['per_page'] = $this->config->item('itemsPerPage'); $this->pagination->initialize($config); $data['projects'] = $this->project->listProjectsForUser($this->userID,$config['per_page'],$page); $data['pageLinks'] = $this->pagination->create_links(); $this->core->updateRoute(0,lang('projects'),$this->uri->uri_string()); $this->load->view('projects/index.tpl',$data); } function search($page = 0) { $this->session->unset_userdata('project_id'); $this->session->unset_userdata('template_id'); if($this->input->post('search_string')) { $this->session->set_userdata('search_string',$this->input->xss_clean($this->input->post('search_string'))); } $searchString = $this->session->userdata('search_string'); if(!$searchString) { redirect('projects'); } $data['projects'] = $this->project->searchProjectsForUser($this->userID,$searchString); $config['first_link'] = lang('first'); $config['last_link'] = lang('last'); $config['uri_segment'] = 3; $config['num_links'] = 10; $config['base_url'] = $this->config->item('base_index')."/projects/search"; $config['total_rows'] = count($data['projects']); $config['per_page'] = $this->config->item('itemsPerPage'); $this->pagination->initialize($config); $data['projects'] = $this->project->searchProjectsForUser($this->userID,$searchString,$config['per_page'],$page); $data['pageLinks'] = $this->pagination->create_links(); $this->core->updateRoute(0,lang('projects'),$this->uri->uri_string()); $this->load->view('projects/index.tpl',$data); } function add() { $project_name = $this->input->xss_clean($this->input->POST("project_name")); $project_description = $this->input->xss_clean($this->input->POST("project_description")); $this->form_validation->set_rules('project_name', lang('name'), 'required'); if ($this->form_validation->run() != FALSE) { $project_id = $this->project->addProject($project_name,$project_description); redirect('projects/edit/'.$project_id); } else { $this->load->view('projects/add.tpl'); } } function edit($id,$page = 0) { $this->session->set_userdata('project_id',$id); if(!$this->project->hasPermissionForProject($id)) { show_error("No permission"); return false; } $data['project'] = $this->project->getProject($id); $data['templates'] = $this->project->listTemplatesForProject($id); $data['media'] = $this->project->listMediaForProject($id); $data['users'] = $this->project->listUsersForProject($id); foreach($data['users'] as $user) { $data['completed'][$user->user_id] = $this->project->hasCompletedProject($user->user_id,$id); $data['reminders'][$user->user_id] = $this->project->getReminderAmountForUserAndProject($user->user_id,$id); } $this->session->set_userdata('project',$id); $this->core->updateRoute(0,lang('projects'),"/projects"); $this->core->updateRoute(1,$data['project']->project_name,$this->uri->uri_string()); $this->load->view('projects/edit.tpl',$data); } function editInvitationMailText($id) { $this->session->set_userdata('project_id',$id); if(!$this->project->hasPermissionForProject($id)) { show_error("No permission"); return false; } $data['project'] = $this->project->getProject($id); if($this->input->xss_clean($this->input->post('loader')) == "ajax") { $data['ajax'] = true; } $this->session->set_userdata('project',$id); $this->core->updateRoute(0,lang('projects'),$this->config->item('index').'/projects'); $this->core->updateRoute(1,$data['project']->project_name,$this->config->item('index').'/projects/edit/'.$id); $this->core->updateRoute(2,lang('invitationMail'),$this->uri->uri_string()); $this->load->view('projects/editInvitationMailText.tpl',$data); } function editReminderMailText($id) { if(!$this->project->hasPermissionForProject($id)) { show_error("No permission"); return false; } $this->session->set_userdata('project_id',$id); $data['project'] = $this->project->getProject($id); if($this->input->xss_clean($this->input->post('loader')) == "ajax") { $data['ajax'] = true; } $this->session->set_userdata('project',$id); $this->core->updateRoute(0,lang('projects'),$this->config->item('index').'/projects'); $this->core->updateRoute(1,$data['project']->project_name,$this->config->item('index').'/projects/edit/'.$id); $this->core->updateRoute(2,lang('reminderMail'),$this->uri->uri_string()); $this->load->view('projects/editReminderMailText.tpl',$data); } function sendMail($id) { if(!$this->project->hasPermissionForProject($id)) { show_error("No permission"); return false; } if($this->input->xss_clean($this->input->post('loader')) == "ajax") { $data['ajax'] = true; } $this->load->library('form_validation'); $this->form_validation->set_rules('mail_subject',lang('subject'),'required'); $this->form_validation->set_rules('mail_body',lang('message'),'required'); if($this->form_validation->run() == false) { $data['project'] = $this->project->getProject($id); $this->core->updateRoute(2,lang('sendMail'),$this->uri->uri_string()); $this->load->view('projects/sendMail.tpl',$data); } else { $mail_id = $this->project->addMail($id,$this->input->xss_clean($this->input->post('mail_subject')),$this->input->xss_clean($this->input->post('mail_body')),$this->input->xss_clean($this->input->post('mail_recipients'))); $this->session->set_flashdata('alert',lang('messageSent')); $this->redirectFromPost('projects/edit/'.$id); } } function reports($id) { if(!$this->project->hasPermissionForProject($id)) { show_error("No permission"); return false; } $data['project'] = $this->project->getProject($id); $data['templates'] = $this->project->listTemplatesForProject($id); $data['users'] = $this->project->listUsersForProject($id); $data['hasUserUploads'] = false; foreach($data['users'] as $user) { foreach($data['templates'] as $template) { $data['sketch'][$template->project_template_id][$user->user_id] = $this->sketch->getLatestSketchForUserAndTemplate($user->user_id,$template->project_template_id); } $media = $this->medium->listPrivateMediaForUser($user->user_id); if(count($media)) { $data['hasUserUploads'] = true; } } $this->session->set_userdata('project',$id); $this->core->updateRoute(1,$data['project']->project_name,$this->config->item('index').'/projects/edit/'.$data['project']->project_id); $this->core->updateRoute(2,$data['project']->project_name." ".lang('reports'),$this->uri->uri_string()); $this->load->view('projects/reports.tpl',$data); } function downloadReports($id) { if(!$this->project->hasPermissionForProject($id)) { show_error("No permission"); return false; } $this->load->library('zip'); $this->load->helper('file'); $data['project'] = $this->project->getProject($id); $data['templates'] = $this->project->listTemplatesForProject($id); $data['users'] = $this->project->listUsersForProject($id); foreach($data['users'] as $user) { foreach($data['templates'] as $template) { $data['sketch'][$template->project_template_id][$user->user_id] = $this->sketch->getLatestSketchForUserAndTemplate($user->user_id,$template->project_template_id); if($data['sketch'][$template->project_template_id][$user->user_id]) { $fileName = substr($data['sketch'][$template->project_template_id][$user->user_id]->sketch_url,strlen($this->config->item('sketches_url'))+1); $path = $this->config->item('sketches_path').'/'.$fileName; $this->zip->read_file($path); } } } $this->zip->download($data['project']->project_name.".zip"); } function downloadUserUploads($id) { if(!$this->project->hasPermissionForProject($id)) { show_error("No permission"); return false; } $this->load->library('zip'); $this->load->helper('file'); $data['project'] = $this->project->getProject($id); $data['users'] = $this->project->listUsersForProject($id); foreach($data['users'] as $user) { $media = $this->medium->listPrivateMediaForUser($user->user_id); if(count($media)) { foreach($media as $medium) { $path = $this->config->item('server_path').'/'.$medium->medium_url; $this->zip->add_data($user->user_firstname." ".$user->user_lastname."/".$medium->medium_filename, read_file($path)); } } } $this->zip->download($data['project']->project_name." User Uploads.zip"); } // FUNCTIONS function addMedium($project_id,$medium_id) { if(!$this->project->hasPermissionForProject($project_id) || !$this->medium->hasPermissionForMedium($medium_id)) { show_error("No permission"); return false; } $this->project->addMediumToProject($medium_id,$project_id); $this->session->set_userdata('medium_link',false); $this->redirectFromPost('projects/edit/'.$project_id); } function addSeveralMedia($project_id) { if(!$this->project->hasPermissionForProject($project_id)) { show_error("No permission"); return false; } $media = $this->input->xss_clean($this->input->post('medium_id')); if($this->session->userdata('selected_media')) { foreach($this->session->userdata('selected_media') as $key=>$value) { if($value) { array_push($media,$key); } } $media = array_unique($media); } foreach($media as $medium_id) { if($this->medium->hasPermissionForMedium($medium_id)) { $this->project->addMediumToProject($medium_id,$project_id); } } $this->session->set_userdata('medium_link',false); $this->session->unset_userdata('selected_media'); $this->redirectFromPost('projects/edit/'.$project_id); } function addUser($project_id,$user_id) { if(!$this->project->hasPermissionForProject($project_id) || !$this->user->hasPermissionForUser($user_id)) { show_error("No permission"); return false; } $this->project->addUserToProject($user_id,$project_id); $this->session->set_userdata('user_link',false); $this->redirectFromPost('projects/edit/'.$project_id); } function addUsers($project_id) { $users = $this->input->xss_clean($this->input->post('users')); foreach($users as $user_id) { $this->project->addUserToProject($user_id,$project_id); } $this->redirectFromPost('projects/edit/'.$project_id); } function addTemplate($project_id,$template_id) { if(!$this->project->hasPermissionForProject($project_id) || !$this->template->hasPermissionForTemplate($template_id)) { show_error("No permission"); return false; } $this->project->addTemplateToProject($template_id,$project_id); $this->session->set_userdata('template_link',false); $this->redirectFromPost('projects/edit/'.$project_id); } function setProjectName($id) { if(!$this->project->hasPermissionForProject($id)) { show_error("No permission"); return false; } $this->form_validation->set_rules('project_name', lang('name'), 'required'); if($this->form_validation->run() != false) { $project_name = $this->input->xss_clean($this->input->POST("project_name")); $this->project->setProjectName($project_name,$id); $this->redirectFromPost(); } else { $this->edit($id); } } function setProjectDescription($id) { if(!$this->project->hasPermissionForProject($id)) { show_error("No permission"); return false; } $project_description = $this->input->xss_clean($this->input->POST("project_description")); $this->project->setProjectDescription($project_description,$id); $this->redirectFromPost(); } function setProjectTemplateDescription($id) { $project_template = $this->template->getTemplateByProjectTemplateId($id); if(!$this->project->hasPermissionForProject($project_template->project_id)) { show_error("No permission"); return false; } $project_template_description = $this->input->xss_clean($this->input->POST("project_template_description")); $this->template->setProjectTemplateDescription($id,$project_template_description); $this->redirectFromPost(); } function setProjectTemplateTitle($id) { $project_template = $this->template->getTemplateByProjectTemplateId($id); if(!$this->project->hasPermissionForProject($project_template->project_id)) { show_error("No permission"); return false; } $project_template_title = $this->input->xss_clean($this->input->POST("project_template_title")); $this->template->setProjectTemplateTitle($id,$project_template_title); $this->redirectFromPost(); } function setProjectInvitationMailText($id) { if(!$this->project->hasPermissionForProject($id)) { show_error("No permission"); return false; } $project_invitation_mail_text = $this->input->xss_clean($this->input->POST("project_invitation_mail_text")); $this->project->setProjectInvitationMailText($project_invitation_mail_text,$id); $this->redirectFromPost('projects/edit/'.$id); } function setProjectReminderMailText($id) { if(!$this->project->hasPermissionForProject($id)) { show_error("No permission"); return false; } $project_reminder_mail_text = $this->input->xss_clean($this->input->POST("project_reminder_mail_text")); $this->project->setProjectReminderMailText($project_reminder_mail_text,$id); $this->redirectFromPost('projects/edit/'.$id); } function setTemplatePosition($id) { $project_template = $this->template->getTemplateByProjectTemplateId($id); if(!$this->project->hasPermissionForProject($project_template->project_id)) { show_error("No permission"); return false; } $this->template->setTemplatePosition($id,$this->input->xss_clean($this->input->POST('project_template_position'))); $this->redirectFromPost(); } function removeUserFromProject($user_id,$project_id) { if(!$this->project->hasPermissionForProject($project_id)) { show_error("No permission"); return false; } $this->project->removeUserFromProject($user_id,$project_id); $this->sketch->deleteSketchesForUserAndProject($user_id,$project_id); $this->notification->removeNotificationsByTargetSubjectAndType($user_id,$project_id,"newProject"); $this->redirectFromPost(); } function removeMediumFromProject($medium_id,$project_id) { if(!$this->project->hasPermissionForProject($project_id)) { show_error("No permission"); return false; } $this->project->removeMediumFromProject($medium_id,$project_id); $this->redirectFromPost(); } function removeTemplateFromProject($id) { $project_template = $this->template->getTemplateByProjectTemplateId($id); if(!$this->project->hasPermissionForProject($project_template->project_id)) { show_error("No permission"); return false; } $this->template->removeTemplateFromProject($id); $this->redirectFromPost(); } function delete($id) { if(!$this->project->hasPermissionForProject($id)) { show_error("No permission"); return false; } $this->project->deleteProject(($id)); $this->redirectFromPost('projects/index'); } function sendInvitations($id) { if(!$this->project->hasPermissionForProject($id)) { show_error("No permission"); return false; } $this->project->sendInvitations($id); $this->project->setProjectStatus($id,1); $this->redirectFromPost(); } function sendReminders($id) { if(!$this->project->hasPermissionForProject($id)) { show_error("No permission"); return false; } $users = $this->project->listUsersForProject($id); $project = $this->project->getProject($id); foreach($users as $user) { if(!$this->project->hasCompletedProject($user->user_id,$id)) { $this->notification->notify($project->project_owner,$user->user_id,$project->project_id,'remindOfProject'); } } $this->redirectFromPost('projects/edit/'.$id); } function launchProject($id) { if(!$this->project->hasPermissionForProject($id)) { show_error("No permission"); return false; } $this->project->setProjectStatus($id,1); $this->redirectFromPost('projects'); } function endProject($id) { if(!$this->project->hasPermissionForProject($id)) { show_error("No permission"); return false; } $this->project->setProjectStatus($id,0); $this->redirectFromPost('projects'); } // REDIRECTIONS function redirectFromPost($to = NULL) { if(!$this->input->xss_clean($this->input->POST("loader"))=='ajax') { if($this->session->userdata('project_id') && $to==NULL) { redirect('projects/edit/'.$this->session->userdata('project_id')); } else { redirect($to); } } } } ?>

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/everydayheroes.nl/httpdocs/system/application/controllers/projects.php:462)

Filename: codeigniter/Common.php

Line Number: 360

404 Page Not Found

404 Page Not Found

The page you requested was not found.