File "task.php"
Full Path: /home/ichhrkpd/public_html/idcm_old/application/libraries/task.php
File size: 96.98 KB
MIME-type: text/x-php
Charset: utf-8
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Task extends GSController {
public function index() {
$this->load->model("database/Madmin");
if($this->CheckSession()) {
redirect("task/dashboard");die;
}
$message="";
if(IsPostBack){
$email = trim($_POST['email']);
$password = trim($_POST['password']);
if ($this->Madmin->authenticate($email, $password)) {
$uType = $this->session->GetCurrentUserType();
if($uType == "AD"){
redirect("task/dashboard");
} else {
redirect("task/vprofile");
}
} else {
$message = "User ID/password combination incorrect.";
}
}
$this->load->model("database/Madmin");
$rData=array();
$rData['loginObj']=$this->Madmin;
$rData['title'] = "VT Corporate Cup PM Application";
$rData['field'] = "User ID";
$rData['msg'] = $message;
$this->GetDefaultConfiguration($rData);
$this->LoginPanel($rData);
//redirect("task/dashboard");
}
public function forgot_password() {
$this->load->model("database/Madmin");
$ad = new Madmin();
if($this->CheckSession()) {
//redirect("task/dashboard");die;
}
$message="";
if(IsPostBack){
$email = $this->input->post("email", true);
$this->load->library("reCaptcha",array('config' => array()));
$recap = new reCaptcha('6LdWrxsTAAAAALPx21yYxCHR4xbvUxm4HqQFz-YV');
if($recap->CheckHumanFromPost()){
$ad->email($email);
if($ad->Select()){
$this->SendForgotPasswordLink($email, $ad->admin_pid);
$this->AddInfo("A reset link has been emailed successfully");
$isEmailSent=true;
}else{
$this->AddError("Invalid Email ID");
}
}else {
if($recap->IsErrorByErrorCode(reCaptcha::INVALID_INPUT_SECRET)){
$this->AddError("You are a robot.");
}elseif($recap->IsErrorByErrorCode(reCaptcha::INVALID_INPUT_RESPONSE)){
$this->AddError("The secret parameter is invalid or malformed. .");
}elseif($recap->IsErrorByErrorCode(reCaptcha::MISSING_INPUT_RESPONSE)){
$this->AddError("Robot validation failed");
}elseif($recap->IsErrorByErrorCode(reCaptcha::MISSING_INPUT_SECRET)){
$this->AddError("The secret parameter is missing.");
}else{
$this->AddError("Robot validation failed.");
}
}
}
$rData=array();
$rData['loginObj']=$this->Madmin;
$rData['title'] = "VT Corporate Cup PM Application";
$rData['field'] = "User ID";
$rData['msg'] = $message;
$this->GetDefaultConfiguration($rData);
$this->load->view("forgot_password",$rData);
//$this->LoginPanel($rData);
//redirect("task/dashboard");
}
public function confirmation(){
$this->load->library("GSEncryption");
$message = "";
$pdata = array();
$isExpired = false;
$this->load->model("database/Madmin");
$ad = new Madmin();
//http://localhost/gt/main/confirmation?u=aca7d7bdf6b883e3f62231c1af481445f8176247d18ff45ef8cf22c1a8868526e7e76c0fdd98cdbd53a7da89f863ba06a721ad13e0f1acadfed0152230f9c4f8
$uriData = $this->GetUriArray();
$param = GSEncryption::GSGlobalDecrypt($uriData['u']);
$param = json_decode($param);
if(IsPostBack){
$np = $this->input->post("password", true);
$cp = $this->input->post("cp", true);
if(!empty($np) && !empty($cp)){
if($np == $cp){
$ad->admin_pid($param->user_id);
$ad->password($np);
if($ad->Update()){
//GPrint("Password reset successfull!!");
$this->AddInfo("Password reset successfull!",true);
redirect();
}
}else{
$this->AddError("The password and its confirm are not the same");
}
}else {
$this->AddError("New password and confirm password are required.");
}
}
if(!empty($param->time) && $param->time > time()){
$isExpired = false;
} else {
$isExpired = true;
}
$pdata['isExpired'] = $isExpired;
$pdata['msg'] = $message;
$pdata['title'] = "VT Corporate Cup PM Application";
$pdata['LoadViews'] = "confirmation";
$this->GetDefaultConfiguration($pdata);
$this->load->view("confirmation",$pdata);
}
function SendForgotPasswordLink($email, $user_id){
$this->load->library("GSEncryption");
$this->load->model("gsystem/GSEmail");
if(!empty($email)){
//send email
ob_start();
$obj=new stdClass();
$obj->time=strtotime("+15 MINUTES");
$obj->email_id=$email;
$obj->user_id = $user_id;
$str=json_encode($obj);
$linkparam = GSEncryption::GSGlobalEncrypt($str);
?>
<h1>Your password reset request has been received.</h1>
<p>To confirm your request ,please click the link bellow:<br/>
<a href="<?php echo base_url("task/confirmation/u/".$linkparam);?>"><?php echo base_url("task/confirmation/u/".$linkparam);?></a>
</p>
<?php
$emailtext = ob_get_clean();
//GPrint($emailtext);die;
$config['protocol'] = 'sendmail';
$config['charset'] = 'utf-8';
$config['wordwrap'] = TRUE;
$config['mailtype'] = 'html';
$this->email->initialize($config);
$this->email->from('noreply@vcccsar.org', 'Corporate Cup');
$this->email->to($email);
$this->email->subject('VT Corporate Cup PM App');
$this->email->message($emailtext);
$mailStatus = $this->email->send();
if ($mailStatus) {
return true;
} else {
return false;
}
}
}
function __construct() {
parent::__construct ();
//$this->CheckSession(true);
}
public function admin() {
redirect("");
$this->load->model("database/Madmin");
if($this->CheckSession()) {
redirect("task/dashboard");die;
}
$message="";
if(IsPostBack){
$email = trim($_POST['email']);
$password = trim($_POST['password']);
if ($this->Madmin->authenticate($email, $password)) {
//$message = "SUCCESS";
redirect("task/dashboard");
} else {
$message = "User ID/password combination incorrect.";
}
}
$this->load->model("database/Madmin");
$rData=array();
$rData['loginObj']=$this->Madmin;
$rData['title'] = "Admin Login";
$rData['field'] = "User ID";
$rData['msg'] = $message;
$this->GetDefaultConfiguration($rData);
$this->LoginPanel($rData);
}
public function vlogin() {
redirect("");
$this->load->model("database/Mvolunteer");
if($this->CheckSession()) {
redirect("task/vprofile");die;
}
//GPrint("Volunteer Successfully Login.");
//GPrint($this->session->GetVtrData());
//GPrint("User Type:".$this->session->GetCurrentUserType());
$message="";
if(IsPostBack){
$email = trim($_POST['email']);
$password = trim($_POST['password']);
if ($this->Mvolunteer->authenticate($email, $password)) {
//$message = "SUCCESS";
redirect("task/vprofile");
} else {
$message = "User ID/password combination incorrect.";
}
}
$this->load->model("database/Mvolunteer");
$rData=array();
$rData['loginObj']=$this->Mvolunteer;
$rData['title'] = "Volunteer Login";
$rData['field'] = "User ID";
$rData['msg'] = $message;
$this->GetDefaultConfiguration($rData);
$this->LoginPanel($rData);
}
public function vprofile() {
//$vtr_data = $this->session->GetVtrData();GPrint($vtr_data);
$this->CheckSession(true);
$uriData = $this->GetUriArray();
if(!empty($uriData)){
$act = $uriData['act'];
}else{
$act = 'A';
}
if($this->session->GetCurrentUserType()=="AD") die;
$pdata = array();
$userData = $this->session->GetVtrData();
$this->load->model("database/Madmin");
$this->Madmin->admin_pid($userData->admin_pid);
if($this->Madmin->Select()){
$pdata['vtrObj'] = $this->Madmin;
}
$pdata['title'] = "Corporate Cup | Profile";
$pdata['sub_title'] = "User Profile";
$pdata['act'] = $act;
$pdata['LoadViews'] = "vprofile";
$this->GetDefaultConfiguration($pdata);
$this->LoadView($pdata);
}
public function aprofile() {
$this->CheckSession(true);
//$cc = $this->session->GetAdminData ()->email;
$uriData = $this->GetUriArray();
if(!empty($uriData)){
$act = $uriData['act'];
}else{
$act = 'A';
}
if($this->session->GetCurrentUserType()=="VT") die;
$pdata = array();
$userData = $this->session->GetAdminData();
$this->load->model("database/Madmin");
$this->Madmin->admin_pid($userData->admin_pid);
if($this->Madmin->Select()){
$pdata['adObj'] = $this->Madmin;
}
$pdata['title'] = "Corporate Cup | Profile";
$pdata['sub_title'] = "User Profile";
$pdata['act'] = $act;
$pdata['LoadViews'] = "aprofile";
$this->GetDefaultConfiguration($pdata);
$this->LoadView($pdata);
}
public function CheckSession($autoRedirect=false){
$utype = $this->session->GetCurrentUserType();
if($utype=="AD"){
return true;
} elseif($utype=="VT") {
return true;
}
else {
if($autoRedirect) {
redirect("task/admin");
}
}
}
public function LoginPanel($rData) {
$this->load->view("login",$rData);
}
public function test(){
$a = -3.5;
$b = 2;
$c = $a + $b;
echo $c;
}
public function logout() {
$utype = $this->session->GetCurrentUserType();
$this->session->UnsetAllUserData();
if($utype == 'AD'){
redirect("");
}
if($utype == 'VT'){
redirect("");
}
}
public function dashboard(){
/*GPrint($this->session->GetAdminData ());die;
(
[admin_pid] => 1
[email] => test@gmail.com
[fname] => Thahir
[lname] => Basha
[title] => Engg
[role] => A
[LoggedIn] => 1*/
//$userData = $this->session->GetAdminData();GPrint($userData);
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$pdata = array();
$sub_status = array();
$this->load->model("database/Madmin");
$this->Madmin->status('A');
$this->Madmin->role('A');
$activeAdmins = $this->Madmin->CountAll();
$this->Madmin = new Madmin();
$this->Madmin->status('A');
$this->Madmin->role('S');
$activeSu = $this->Madmin->CountAll();
$pdata['activeAdmins'] = $activeAdmins + $activeSu;
$this->Madmin = new Madmin();
$this->Madmin->status('A');
$this->Madmin->role('V');
$activeVtr = $this->Madmin->CountAll();
$pdata['activeVtr'] = $activeVtr;
$query1 = "SELECT COUNT(subtask_id) AS num_sub, status FROM subtask GROUP BY `status`";
$records1 = $this->db->query($query1);
$sub_status = $records1->result();
$sub_Arr = "";
foreach ($sub_status as $sub){
$sub_Arr[$sub->status] = $sub->num_sub;
}
$pdata['sub_Arr'] = $sub_Arr;
$this->load->model("database/Mtask");
$this->Mtask->status('P');
$pending_tasks = $this->Mtask->CountAll();
$pdata['pending_tasks'] = $pending_tasks;
//$this->load->model("database/Msubtask");
//$subtask_data = $this->Msubtask->SelectJoinLimit();
//$pdata['subtask_data'] = $subtask_data;
$this->load->model("database/Mtask");
$this->Mtask = new Mtask();
$this->Mtask->status('status != "L" AND task.status != "H"',false);
$task_data = $this->Mtask->SelectJoin2("","task_id","desc",10);
$pdata['task_data'] = $task_data;
$pdata['title'] = "Corporate Cup | Dashboard";
$pdata['sub_title'] = "Dashboard";
$pdata['LoadViews'] = "dashboard";
$this->LoadView($pdata);
}
public function taskList(){
$pdata = array();
$pdata['title'] = "User Tasks";
$pdata['sub_title'] = "";
$pdata['LoadViews'] = "task";
$this->LoadView($pdata);
}
public function admin_users(){
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$uriData = $this->GetUriArray();
$admin_id = $this->session->GetAdminData ()->admin_pid;
$role = $this->input->post("role", true);
$pdata = array();
$pdata['role'] = "";
$pdata['title'] = "Corporate Cup | Users";
$pdata['sub_title'] = "Users";
$this->load->model("database/Madmin");
if(!IsPostBack && empty($uriData['role'])) {
$this->Madmin->role('A');
}
if(!IsPostBack && !empty($uriData['role'])) {
$pdata['role'] = $uriData['role'];
$this->Madmin->role($uriData['role']);
}
if(IsPostBack){
$pdata['role'] = $role;
$this->Madmin->role($role);
}
$admin_data = $this->Madmin->SelectAll();
$pdata['delete_url'] = site_url("main/delete_batch");
$pdata['admin_data'] = $admin_data;
$pdata['LoadViews'] = "admin_list";
$this->GetDefaultConfiguration($pdata);
$this->LoadView($pdata);
//$sql = "SELECT * FROM (`admin`) WHERE admin_pid != $admin_id AND role != 'S'";
//$records = $this->db->query($sql);
//$pdata['admin_data'] = $records->result();
//GPrint($this->session->GetAdminData ()->admin_pid);
//GPrint($this->session->GetAdminData ()->role);
}
public function add_admin() {
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$this->load->model("database/Madmin");
if(IsPostBack){
$email = $this->input->post("email", true);
$fname = $this->input->post("fname", true);
$lname = $this->input->post("lname", true);
$role = $this->input->post("role", true);
$pass = $this->input->post("password", true);
if($this->session->GetAdminData ()->role == 'A' && $role != 'V') die;
$this->Madmin->email($email);
if(!$this->Madmin->Select() && filter_var($email, FILTER_VALIDATE_EMAIL)){
$isSuccess = $this->sendMailForUserCreation($email,$fname,$lname,$pass);
if($this->Madmin->GetFromPostData()){
if($this->Madmin->Save()){
$this->AddInfo("Successfully Added",true);
if($_FILES['file_upload']['error']==0){
$id=$this->Madmin->GetUpdateDB()->insert_id();
//$dpath=BASEPATH."../img/instructor/".$id.substr($_FILES['file_upload']['name'], -4);
//Whatever the image type (jpeg, jpg, gif, png), it always save as table pk id.jpg
$dpath=BASEPATH."../img/admin/".$id.'.jpg';
if(file_exists($dpath)){
unlink($dpath);
}
if(copy($_FILES['file_upload']['tmp_name'], $dpath)){
$this->AddInfo("Image Successfully Uploaded",true);
redirect("task/admin_users/role/$role");
}
}
redirect("task/admin_users/role/$role");
}
}
} else {
$this->AddError("Invalid or duplicate entry of email address !!",true);
}
}
$rData=array();
$rData['title'] = "Corporate Cup | Add User";
$rData['sub_title'] = "Add User";
$rData['adminObj']=$this->Madmin;
$this->GetDefaultConfiguration($rData);
$rData['multipath']=true; //This field is needed for photo upload and it sets enctype="multipart/form-data" on form action
$rData['LoadViews']="admin_form";
$rData['AutoMsgShow']=false;
$this->LoadPanel($rData);
}
public function admin_details() {
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$this->load->model("database/Madmin");
$uriData = $this->GetUriArray();
$pdata = array();
$pdata['sub_title'] = "";
$pdata['title'] = "";
if(!empty($uriData['id'])){
$this->Madmin->admin_pid($uriData['id']);
$this->Madmin->Select();
$pdata['title'] = "Corporate Cup";
$pdata['sub_title'] = $this->Madmin->fname . " " . $this->Madmin->lname;
$pdata['adminObj'] = $this->Madmin;
$this->GetDefaultConfiguration($pdata);
$pdata['LoadViews']="admin_details";
$this->LoadPanel($pdata);
}
}
public function edit_admin(){
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
//if($this->session->GetAdminData ()->role != 'S') die;
$role = $this->session->GetAdminData ()->role;
$this->load->model("database/Madmin");
$pdata = array();
$pdata['title'] = "User Edit";
$pdata['sub_title'] = "";
$pdata['isEdit']=false;
$uriData = $this->GetUriArray();
$admin_id = $uriData['id'];
if($this->session->GetAdminData ()->admin_pid == $admin_id) die;
if(!empty($uriData['id'])){
$pdata['isEdit']=true;
$this->Madmin=new Madmin();
$this->Madmin->admin_pid($uriData['id']);
if($this->Madmin->Select()){
$pdata['adminObj'] = $this->Madmin;
if($role == 'A' && $this->Madmin->role != 'V') die;
if($role == 'S' && $this->Madmin->role == 'S') die;
}else{
$pdata['isEdit']=false;
$this->AddError("Invalid ID !!",true);
redirect("task/admin_users");
}
}
if(IsPostBack){
$email = $this->input->post("email", true);
$sql = "SELECT * FROM (`admin`) WHERE `email` = '$email' AND admin_pid != $admin_id";
$records = $this->db->query($sql);
if (!$records->num_rows >0 && filter_var($email, FILTER_VALIDATE_EMAIL)){
$this->Madmin=new Madmin();
if($this->Madmin->GetFromPostData()){
$this->Madmin->admin_pid($uriData['id']);
$this->Madmin->fname($this->Madmin->fname);
$this->Madmin->lname($this->Madmin->lname);
$this->Madmin->email($this->Madmin->email);
$this->Madmin->title($this->Madmin->title);
$this->Madmin->time_zone($this->Madmin->time_zone);
$this->Madmin->short_bio($this->Madmin->short_bio);
if($this->Madmin->Update()){
$this->AddInfo("Successfully Updated",true);
//redirect("main/view_inst");
}
if($_FILES['file_upload']['error']==0){
//$id=$this->Minstructor->GetUpdateDB()->insert_id();
$dpath=BASEPATH."../img/admin/" . $uriData['id'] . '.jpg';
if(file_exists($dpath)){
unlink($dpath);
}
if(copy($_FILES['file_upload']['tmp_name'], $dpath)){
$this->AddInfo("Image Successfully Uploaded",true);
redirect("task/admin_details/id/".$uriData['id']);
}
redirect("task/admin_details/id/".$uriData['id']);
}
redirect("task/admin_details/id/".$uriData['id']);
}
} else {
$this->AddError("Invalid or duplicate entry of email address !!",true);
}
}
$this->GetDefaultConfiguration($pdata);
$pdata['multipath']=true;
$pdata['LoadViews']="admin_form";
$pdata['AutoMsgShow']=false;
$this->LoadPanel($pdata);
}
public function reset_admin_pass() {
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$role = $this->session->GetAdminData ()->role;
$pdata = array();
$pdata['title'] = "Reset Password";
$pdata['sub_title'] = "";
$pdata['isEdit']=false;
$this->load->model("database/Madmin");
$uriData = $this->GetUriArray();
$admin_id = $uriData['id'];
if($this->session->GetAdminData ()->admin_pid == $admin_id) die;
$pdata['admin_id'] = $admin_id;
$this->Madmin->admin_pid($admin_id);
if($this->Madmin->Select()){
if($role == 'A' && $this->Madmin->role != 'V') die;
if($role == 'S' && $this->Madmin->role == 'S') die;
$fname = $this->Madmin->fname;
$lname = $this->Madmin->lname;
$pdata['sub_title'] = "Reset Password for ". $fname. " " . $lname;
} else {
$this->AddError("Invalid information !!",true);
redirect("task/admin_users");
}
if(IsPostBack){
$new_pass = $this->input->post("new_password", true);
$r_pass = $this->input->post("retype_password", true);
if(!empty($new_pass) && !empty($r_pass)){
$this->Madmin->admin_pid($admin_id);
if($this->Madmin->Select() && $new_pass == $r_pass){
$this->Madmin=new Madmin();
$this->Madmin->admin_pid($admin_id);
$this->Madmin->password($new_pass);
if($this->Madmin->Update()){
$this->AddInfo("Password Successfully Updated",true);
redirect("task/admin_details/id/$admin_id");
}
} else {
$this->AddError("Password reset failed!");
}
}else{
$this->AddError("Password fields are empty!");
}
}
$pdata['isEdit']=true;
$this->GetDefaultConfiguration($pdata);
$pdata['LoadViews']="reset_password_form_AD";
$pdata['AutoMsgShow']=false;
$this->LoadPanel($pdata);
}
public function add_volunteer() {
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$this->load->model("database/Mvolunteer");
if(IsPostBack){
$email = $this->input->post("email", true);
$this->Mvolunteer->email($email);
if(!$this->Mvolunteer->Select() && filter_var($email, FILTER_VALIDATE_EMAIL)){
if($this->Mvolunteer->GetFromPostData()){
if($this->Mvolunteer->Save()){
$this->AddInfo("Successfully Added",true);
if($_FILES['file_upload']['error']==0){
$id=$this->Mvolunteer->GetUpdateDB()->insert_id();
$dpath=BASEPATH."../img/volunteer/".$id.'.jpg';
if(file_exists($dpath)){
unlink($dpath);
}
if(copy($_FILES['file_upload']['tmp_name'], $dpath)){
$this->AddInfo("Image Successfully Uploaded",true);
redirect("task/volunteer_list");
}
}
redirect("task/volunteer_list");
}
}
} else {
$this->AddError("Invalid or duplicate entry of email address !!",true);
}
}
$rData=array();
$rData['title'] = "Corporate Cup | Add Volunteer";
$rData['sub_title'] = "Add Volunteer";
$rData['vtrObj']=$this->Mvolunteer;
$this->GetDefaultConfiguration($rData);
$rData['multipath']=true;
$rData['LoadViews']="vtr_form";
$rData['AutoMsgShow']=false;
$this->LoadPanel($rData);
}
public function volunteer_list(){
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$pdata = array();
$pdata['title'] = "Corporate Cup | Volunteers";
$pdata['sub_title'] = "Volunteers";
$this->load->model("database/Mvolunteer");
$vtr_data = $this->Mvolunteer->SelectAll();
$pdata['delete_url'] = site_url("main/delete_batch");
$pdata['vtr_data'] = $vtr_data;
$pdata['LoadViews'] = "volunteer_list";
$this->GetDefaultConfiguration($pdata);
$this->LoadPanel($pdata);
}
public function volunteer_details() {
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$this->load->model("database/Mvolunteer");
$uriData = $this->GetUriArray();
$pdata = array();
$pdata['sub_title'] = "";
if(!empty($uriData['id'])){
$this->Mvolunteer->v_pid($uriData['id']);
$this->Mvolunteer->Select();
$pdata['title'] = "Corporate Cup";
$pdata['sub_title'] = $this->Mvolunteer->fname . " " . $this->Mvolunteer->lname;
$pdata['vtrObj'] = $this->Mvolunteer;
$this->GetDefaultConfiguration($pdata);
$pdata['LoadViews']="vtr_details";
$this->LoadPanel($pdata);
}
}
public function edit_volunteer(){
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$this->load->model("database/Mvolunteer");
$pdata = array();
$pdata['title'] = "Volunteer Edit";
$pdata['sub_title'] = "";
$pdata['isEdit']=false;
$uriData = $this->GetUriArray();
$vtr_id = $uriData['id'];
if(IsPostBack){
$email = $this->input->post("email", true);
$sql = "SELECT * FROM (`volunteer`) WHERE `email` = '$email' AND v_pid != $vtr_id";
$records = $this->db->query($sql);
if (!$records->num_rows >0 && filter_var($email, FILTER_VALIDATE_EMAIL)){
$this->Mvolunteer=new Mvolunteer();
if($this->Mvolunteer->GetFromPostData()){
$this->Mvolunteer->v_pid($uriData['id']);
$this->Mvolunteer->fname($this->Mvolunteer->fname);
$this->Mvolunteer->lname($this->Mvolunteer->lname);
$this->Mvolunteer->email($this->Mvolunteer->email);
$this->Mvolunteer->title($this->Mvolunteer->title);
$this->Mvolunteer->time_zone($this->Mvolunteer->time_zone);
$this->Mvolunteer->short_bio($this->Mvolunteer->short_bio);
if($this->Mvolunteer->Update()){
$this->AddInfo("Successfully Updated",true);
}
if($_FILES['file_upload']['error']==0){
$dpath=BASEPATH."../img/volunteer/" . $uriData['id'] . '.jpg';
if(file_exists($dpath)){
unlink($dpath);
}
if(copy($_FILES['file_upload']['tmp_name'], $dpath)){
$this->AddInfo("Image Successfully Uploaded",true);
redirect("task/volunteer_details/id/".$uriData['id']);
}
redirect("task/volunteer_details/id/".$uriData['id']);
}
redirect("task/volunteer_details/id/".$uriData['id']);
}
} else {
$this->AddError("Invalid or duplicate entry of email address !!",true);
}
}
if(!empty($uriData['id'])){
$pdata['isEdit']=true;
$this->Mvolunteer=new Mvolunteer();
$this->Mvolunteer->v_pid($uriData['id']);
if($this->Mvolunteer->Select()){
$pdata['vtrObj'] = $this->Mvolunteer;
}else{
$pdata['isEdit']=false;
}
}
$this->GetDefaultConfiguration($pdata);
$pdata['multipath']=true;
$pdata['LoadViews']="vtr_form";
$pdata['AutoMsgShow']=false;
$this->LoadPanel($pdata);
}
public function edit_vprofile(){
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="AD") die;
$vtr_data = $this->session->GetVtrData();
$vtr_id = $vtr_data->admin_pid;
$email = $this->input->post("email", true);
$short_bio = $this->input->post("short_bio", true);
$this->load->model("database/Madmin");
$isEmail = filter_var($email, FILTER_VALIDATE_EMAIL);
if(!$isEmail){
redirect("task/vprofile/act/E");die;
}
$sql = "SELECT * FROM (`admin`) WHERE `email` = '$email' AND admin_pid != $vtr_id";
$records = $this->db->query($sql);
if(!$records->num_rows >0){
$this->Madmin=new Madmin();
$this->Madmin->admin_pid($vtr_id);
$this->Madmin->email($email);
$this->Madmin->short_bio($short_bio);
if($this->Madmin->Update()){
$this->AddInfo("Successfully Updated",true);
} else {
$this->AddInfo("No change has found to update !!",true);
}
if($_FILES['file_upload']['error']==0){
$dpath=BASEPATH."../img/admin/" . $vtr_id . '.jpg';
if(file_exists($dpath)){
unlink($dpath);
}
if(copy($_FILES['file_upload']['tmp_name'], $dpath)){
$this->AddInfo("Image Successfully Uploaded",true);
}
}
redirect("task/vprofile/act/E");
} else {
$this->AddError("Duplicate entry of email address !!",true);
redirect("task/vprofile/act/E");
}
}
public function edit_aprofile(){
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$ad_data = $this->session->GetAdminData();
$ad_id = $ad_data->admin_pid;
$email = $this->input->post("email", true);
$short_bio = $this->input->post("short_bio", true);
$this->load->model("database/Madmin");
$isEmail = filter_var($email, FILTER_VALIDATE_EMAIL);
if(!$isEmail){
$this->AddError("Invalid email address !!",true);
redirect("task/aprofile/act/E");die;
}
$sql = "SELECT * FROM (`admin`) WHERE `email` = '$email' AND admin_pid != $ad_id";
$records = $this->db->query($sql);
if(!$records->num_rows >0){
$this->Madmin=new Madmin();
$this->Madmin->admin_pid($ad_id);
$this->Madmin->email($email);
$this->Madmin->short_bio($short_bio);
if($this->Madmin->Update()){
$this->AddInfo("Successfully Updated",true);
} else {
$this->AddInfo("No change has found to update !!",true);
}
if($_FILES['file_upload']['error']==0){
$dpath=BASEPATH."../img/admin/" . $ad_id . '.jpg';
if(file_exists($dpath)){
unlink($dpath);
}
if(copy($_FILES['file_upload']['tmp_name'], $dpath)){
$this->AddInfo("Image Successfully Uploaded",true);
}
}
redirect("task/aprofile/act/E");
} else {
$this->AddError("Duplicate entry of email address !!",true);
redirect("task/aprofile/act/E");
}
}
public function vtask() {
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="AD") die;
$vtr_data = $this->session->GetVtrData();
$vtr_id = $vtr_data->admin_pid;
$uriData = $this->GetUriArray();
$pdata = array();
$pdata['title'] = "Task List";
$pdata['sub_title'] = "Task List";
$this->load->model("database/Msubtask");
$this->Msubtask->done_vtr($vtr_id);
$subtask_data2 = $this->Msubtask->SelectJoinForVtr();
$pdata['subtask_data2'] = $subtask_data2;
if(!IsPostBack && empty($uriData['id'])) {
}
if(!IsPostBack && !empty($uriData['id'])) {
$pdata['search_value'] = $uriData['id'];
$this->Msubtask->task_id($uriData['id']);
}
if(IsPostBack){
$searchByTask = trim($_POST['task_id']);
$pdata['search_value'] = $searchByTask;
if($searchByTask !== 'all'){
$this->Msubtask->task_id($searchByTask);
}
}
$subtask_data = $this->Msubtask->SelectJoinForVtr();
$pdata['delete_url'] = site_url("main/delete_batch");
$pdata['subtask_data'] = $subtask_data;
$pdata['LoadViews'] = "vtask_list";
$this->GetDefaultConfiguration($pdata);
$this->LoadView($pdata);
}
public function change_password_VT() {
if($this->session->GetCurrentUserType()!=="VT") die;
$this->CheckSession(true);
$this->load->model("database/Madmin");
$vtr_data = $this->session->GetVtrData();
$vtr_id = $vtr_data->admin_pid;
$old_pass = $this->input->post("old_password", true);
$new_pass = $this->input->post("new_password", true);
$r_pass = $this->input->post("retype_password", true);
if(!empty($old_pass)&&!empty($new_pass)&&!empty($r_pass)){
$this->Madmin->admin_pid($vtr_id);
$this->Madmin->password(md5($old_pass));
if($this->Madmin->Select()){
if($new_pass == $r_pass){
$this->Madmin=new Madmin();
$this->Madmin->admin_pid($vtr_id);
$this->Madmin->password($new_pass);
if($this->Madmin->Update()){
$this->AddInfo("Password Successfully Updated",true);
redirect("task/vprofile");
}
} else {
$this->AddError("New password and retype password not match",true);
redirect("task/vprofile/act/C");
}
}else {
$this->AddError("Old Password not match",true);
redirect("task/vprofile/act/C");
}
} else {
$this->AddError("Password should not be empty.",true);
redirect("task/vprofile/act/C");
}
}
public function change_password_AD() {
if($this->session->GetCurrentUserType() == "VT") die;
$this->CheckSession(true);
$this->load->model("database/Madmin");
$ad_data = $this->session->GetAdminData();
$ad_id = $ad_data->admin_pid;
$old_pass = $this->input->post("old_password", true);
$new_pass = $this->input->post("new_password", true);
$r_pass = $this->input->post("retype_password", true);
$this->Madmin->admin_pid($ad_id);
$this->Madmin->password(md5($old_pass));
if(!empty($old_pass)&&!empty($new_pass)&&!empty($r_pass)){
if($this->Madmin->Select()){
if($new_pass == $r_pass){
$this->Madmin=new Madmin();
$this->Madmin->admin_pid($ad_id);
$this->Madmin->password($new_pass);
if($this->Madmin->Update()){
$this->AddInfo("Password Successfully Updated",true);
redirect("task/aprofile");
}
} else {
$this->AddError("New password and retype password not match",true);
redirect("task/aprofile/act/C");
}
}else {
$this->AddError("Old password not match",true);
redirect("task/aprofile/act/C");
}
}else {
$this->AddError("Password should not be empty.",true);
redirect("task/aprofile/act/C");
}
}
public function tasks(){
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$pdata = array();
$tot_arr = array();
$done_arr = array();
$pdata['title'] = "Task List";
$pdata['sub_title'] = "Task List";
$this->load->model("database/Mtask");
$this->Mtask->status('P');
$task_data = $this->Mtask->SelectJoin();
$this->load->model("database/Msubtask");
$query1 = "SELECT COUNT(subtask_id) as tot_sub, task_id FROM subtask GROUP BY task_id";
$query2 = "SELECT COUNT(subtask_id) as done_sub, task_id FROM subtask WHERE `status`='D' GROUP BY task_id";
$records1 = $this->db->query($query1);
$total_sub = $records1->result();
$records2 = $this->db->query($query2);
$done_sub = $records2->result();
foreach ($done_sub as $done){
$done_arr[$done->task_id] = $done->done_sub;
}
foreach ($total_sub as $total){
$obj = new stdClass();
$obj->total = $total->tot_sub;
$obj->done = array_key_exists($total->task_id, $done_arr)?$done_arr[$total->task_id]:0;
$tot_arr[$total->task_id] = $obj;
}
//$pdata['delete_url'] = site_url("main/delete_batch");
$pdata['action_url'] = site_url("task/archiveData");
$pdata['task_data'] = $task_data;
$pdata['status_data'] = $tot_arr;
$pdata['LoadViews'] = "task_list";
$this->GetDefaultConfiguration($pdata);
$this->LoadPanel($pdata);
}
public function todos() {
$this->CheckSession(true);
//mysql_connect('localhost', 'vcccsar_taskmgr', 'taskmgr');
$con = mysqli_connect("localhost","root","","vcccsar_taskmgr");
$pdata = array();
$uriData = $this->GetUriArray();
$propertyOption = array('priority','assigned','creator','creation_date','due_date','tasktitle','progress');
$priority_search_option = array('L','M','H','N');
$property = '';
$search = '';
$pdata['search'] = $search;
$pdata['search2'] = "";
$search2 = '';
$redirect_url = "";
$this->load->model("database/Madmin");
$this->Madmin->role('role != "V"',false);
$admin_data = $this->Madmin->SelectAll('admin_pid,fname,lname');
$this->Madmin = new Madmin();
$this->Madmin->role('V');
$vtr_data = $this->Madmin->SelectAll('admin_pid,fname,lname');
$orderBy = 'task_id';
$order = 'desc';
$this->load->model("database/Mtask");
$uType = $this->session->GetCurrentUserType();
$this->Mtask->status('status != "L" AND task.status != "H"',false);
//$this->Mtask->title('title LIKE "%this%"',false);
if(!IsPostBack && !empty($uriData)) {
foreach ($uriData as $key=>$value){
$property = $key;
$search = $value;
break;
}
//GPrint($search);
$pdata['search'] = $search;
$pdata['search2'] = urldecode($search);
if($property == 'tasktitle'){
$search = urldecode($search);
//$search = mysql_real_escape_string($search);
$search = mysqli_real_escape_string($con, $search);
}
if(!empty($property) && !empty($search)){
if(in_array($property, $propertyOption)){
if($property == 'priority'){
if(in_array($search, $priority_search_option)){
$this->Mtask->priority($search);
$redirect_data = array('task','todos', $property, $search);
$redirect_url = site_url($redirect_data);
} else {
redirect('task/todos');
}
}elseif($property == 'assigned'){
$this->Mtask->vtr_id($search);
$redirect_data = array('task','todos', $property, $search);
$redirect_url = site_url($redirect_data);
}elseif($property == 'creator'){
$this->Mtask->admin_id($search);
$redirect_data = array('task','todos', $property, $search);
$redirect_url = site_url($redirect_data);
}elseif($property == 'tasktitle'){
$this->Mtask->title("title LIKE '%$search%'",false);
$search = urlencode($search);
$redirect_data = array('task','todos', $property, $search);
$redirect_url = site_url($redirect_data);
}elseif($property == 'creation_date'){
$orderBy = 'creation_date';
$search == 'D'?$order = 'desc':$order = 'asc';
$redirect_data = array('task','todos', $property, $search);
$redirect_url = site_url($redirect_data);
}elseif($property == 'due_date'){
$orderBy = 'due_date';
$search == 'D'?$order = 'desc':$order = 'asc';
$redirect_data = array('task','todos', $property, $search);
$redirect_url = site_url($redirect_data);
}elseif($property == 'progress'){
//Not required any WHERE condition. It is done in view page with foreach continue statement
}
}else{
redirect('task/todos');
}
}else{
redirect('task/todos');
}
}
//die;
if(IsPostBack){
$property = $this->input->post("property", true);
$search = $this->input->post("search", true);
if($property == 'tasktitle'){
$pdata['search2'] = $search;
$pdata['search'] = urlencode($search);
} else {
$pdata['search'] = $search;
}
if($property == 'tasktitle'){
//$search = mysql_real_escape_string($search);
$search = mysqli_real_escape_string($con, $search);
}
if(!empty($property) && !empty($search)){
$redirect_data = array('task','todos', $property, $search);
$redirect_url = site_url($redirect_data);
if($property == 'priority'){
$this->Mtask->priority($search);
}elseif($property == 'assigned'){
$this->Mtask->vtr_id($search);
}elseif($property == 'creator'){
$this->Mtask->admin_id($search);
}elseif($property == 'creation_date'){
$orderBy = 'creation_date';
$search == 'D'?$order = 'desc':$order = 'asc';
}elseif($property == 'due_date'){
$orderBy = 'due_date';
$search == 'D'?$order = 'desc':$order = 'asc';
}elseif($property == 'tasktitle'){
$this->Mtask->title("title LIKE '%$search%'",false);
}elseif($property == 'progress'){
////Not required any WHERE condition. It is done in view page with foreach continue statement
}
}
}
//SelectJoin2($QueryString = "", $orderBy = 'task_id', $order = 'desc', $limit = 0, $limitStart = 0)
$task_data = $this->Mtask->SelectJoin2("", $orderBy, $order);
$this->load->model("database/Msubtask");
$this->Msubtask->status('status != "L" AND subtask.status != "H"',false);
if($uType == 'VT'){
$user_id = $this->session->GetVtrData()->admin_pid;
if(!empty($user_id)){
$this->Msubtask->done_vtr($user_id);
}else{
redirect("task/vprofile");
}
}
$subtask_data = $this->Msubtask->SelectJoin2();
//GPrint($task_data);
$tot_arr = array();
$done_arr = array();
$subtaskArr = array();
$attArr = array();
$comArr = array();
$query1 = "SELECT COUNT(subtask_id) as tot_sub, task_id FROM subtask GROUP BY task_id";
$query2 = "SELECT COUNT(subtask_id) as done_sub, task_id FROM subtask WHERE `status`='D' GROUP BY task_id";
$query3 = "SELECT COUNT(id) as tot_att, task_id FROM attachment WHERE `status`='A' GROUP BY task_id";
$query4 = "SELECT COUNT(c_id) as tot_com, task_id FROM task_comments WHERE `status`='A' GROUP BY task_id";
$records1 = $this->db->query($query1);
$total_sub = $records1->result();
$records2 = $this->db->query($query2);
$done_sub = $records2->result();
$records3 = $this->db->query($query3);
$att_count = $records3->result();
$records4 = $this->db->query($query4);
$com_count = $records4->result();
foreach ($done_sub as $done){
$done_arr[$done->task_id] = $done->done_sub;
}
foreach ($total_sub as $total){
$obj = new stdClass();
$obj->total = $total->tot_sub;
$obj->done = array_key_exists($total->task_id, $done_arr)?$done_arr[$total->task_id]:0;
$tot_arr[$total->task_id] = $obj;
}
foreach ($att_count as $att){
$attArr[$att->task_id] = $att->tot_att;
}
foreach ($com_count as $com){
$comArr[$com->task_id] = $com->tot_com;
}
foreach ($subtask_data as $subObj){
$obj2 = new stdClass();
$obj2->subtask_id = $subObj->subtask_id;
$obj2->task_id = $subObj->task_id;
$obj2->subtitle = $subObj->subtitle;
$obj2->done_vtr = $subObj->done_vtr;
$obj2->status = $subObj->status;
$obj2->completion_date = $subObj->completion_date;
$obj2->vtr_fname = $subObj->vtr_fname;
$obj2->vtr_lname = $subObj->vtr_lname;
if(isset($subtaskArr[$subObj->task_id][$subObj->subtask_id])) {
$subtaskArr[$subObj->task_id][$subObj->subtask_id] += $obj2;
} else {
$subtaskArr[$subObj->task_id][$subObj->subtask_id] = $obj2;
}
}
$pdata['redirect_url'] = $redirect_url;
$pdata['property'] = $property;
$pdata['admin_data'] = $admin_data;
$pdata['vtr_data'] = $vtr_data;
$pdata['task_data'] = $task_data;
$pdata['status_data'] = $tot_arr;
$pdata['subtask_data'] = $subtaskArr;
$pdata['attArr'] = $attArr;
$pdata['comArr'] = $comArr;
$pdata['title'] = "Task List";
$backLink = base_url()."task/todos";
$pdata['sub_title'] = "<a href='$backLink'><i class='fa fa-refresh text-info'></i> </a> Task List";
$pdata['action_url'] = site_url("main/add_todos");
$pdata['LoadViews'] = "todos";
$this->Mtask = new Mtask();
$pdata['taskObj']=$this->Mtask;
//$this->Msubtask = new Msubtask();
$pdata['subObj']=$this->Msubtask;
$this->GetDefaultConfiguration($pdata);
$this->LoadView($pdata);
}
public function calendar(){
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$uriData = $this->GetUriArray();
$this->load->model("database/Mtask");
//$currentDate = date("Y-m-d");
if(empty($uriData['date'])){
$currentDate = date("Y-m-d");
}else{
$currentDate = $uriData['date'];
}
$pdata = array();
$pdata['title'] = "Calender";
$pdata['action_url'] = site_url("task/calendar");
$pdata['sub_title'] = "";
$pdata['currentDate'] = $currentDate;
$pdata['taskObj']=$this->Mtask;
$pdata['LoadViews'] = "calendar";
$this->LoadView($pdata);
}
public function calendar_vtr(){
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="AD") die;
$uriData = $this->GetUriArray();
$this->load->model("database/Mtask");
//$currentDate = date("Y-m-d");
if(empty($uriData['date'])){
$currentDate = date("Y-m-d");
}else{
$currentDate = $uriData['date'];
}
$pdata = array();
$pdata['title'] = "Calender";
$pdata['action_url'] = site_url("task/calendar");
$pdata['sub_title'] = "";
$pdata['currentDate'] = $currentDate;
$pdata['taskObj']=$this->Mtask;
$pdata['LoadViews'] = "calendar_vtr";
$this->LoadView($pdata);
}
public function todos_vtr() {
//for testing purpose
$this->CheckSession(true);
$this->load->model("database/Mtask");
$uType = $this->session->GetCurrentUserType();
$this->Mtask->status('status != "L"',false);
$task_data = $this->Mtask->SelectJoin2();
$this->load->model("database/Msubtask");
if($uType == 'VT'){
$user_id = $this->session->GetVtrData()->admin_pid;
if(!empty($user_id)){
$this->Msubtask->done_vtr($user_id);
}else{
redirect("task/vprofile");
}
}
$this->Msubtask->status('status != "L"',false);
$subtask_data = $this->Msubtask->SelectJoin2();
//GPrint($task_data);
$pdata = array();
$tot_arr = array();
$done_arr = array();
$subtaskArr = array();
$attArr = array();
$comArr = array();
$query1 = "SELECT COUNT(subtask_id) as tot_sub, task_id FROM subtask GROUP BY task_id";
$query2 = "SELECT COUNT(subtask_id) as done_sub, task_id FROM subtask WHERE `status`='D' GROUP BY task_id";
$query3 = "SELECT COUNT(id) as tot_att, task_id FROM attachment WHERE `status`='A' GROUP BY task_id";
$query4 = "SELECT COUNT(c_id) as tot_com, task_id FROM task_comments WHERE `status`='A' GROUP BY task_id";
$records1 = $this->db->query($query1);
$total_sub = $records1->result();
$records2 = $this->db->query($query2);
$done_sub = $records2->result();
$records3 = $this->db->query($query3);
$att_count = $records3->result();
$records4 = $this->db->query($query4);
$com_count = $records4->result();
foreach ($done_sub as $done){
$done_arr[$done->task_id] = $done->done_sub;
}
foreach ($total_sub as $total){
$obj = new stdClass();
$obj->total = $total->tot_sub;
$obj->done = array_key_exists($total->task_id, $done_arr)?$done_arr[$total->task_id]:0;
$tot_arr[$total->task_id] = $obj;
}
foreach ($att_count as $att){
$attArr[$att->task_id] = $att->tot_att;
}
foreach ($com_count as $com){
$comArr[$com->task_id] = $com->tot_com;
}
/*
[subtask_id] => 8
[task_id] => 1
[subtitle] => efredgt
[done_vtr] => 6
[status] => P
[completion_date] => 2016-01-22 00:00:00
[vtr_fname] => Sanju
[vtr_lname] => Alam*/
foreach ($subtask_data as $subObj){
$obj2 = new stdClass();
$obj2->subtask_id = $subObj->subtask_id;
$obj2->task_id = $subObj->task_id;
$obj2->subtitle = $subObj->subtitle;
$obj2->done_vtr = $subObj->done_vtr;
$obj2->status = $subObj->status;
$obj2->completion_date = $subObj->completion_date;
$obj2->vtr_fname = $subObj->vtr_fname;
$obj2->vtr_lname = $subObj->vtr_lname;
if(isset($subtaskArr[$subObj->task_id][$subObj->subtask_id])) {
$subtaskArr[$subObj->task_id][$subObj->subtask_id] += $obj2;
} else {
$subtaskArr[$subObj->task_id][$subObj->subtask_id] = $obj2;
}
}
/*[task_id] => 6
[title] => excel
[description] =>
[due_date] => 2016-01-18
[completion_date] =>
[admin_id] => 1
[vtr_id] => 3
[creation_date] => 2016-01-28 02:11:36
[priority] => M
[status] => P
[ad_fname] => Milon
[ad_lname] => Islam
[vtr_fname] => Arifin2
[vtr_lname] => Jubaed*/
$pdata['task_data'] = $task_data;
$pdata['status_data'] = $tot_arr;
$pdata['subtask_data'] = $subtaskArr;
$pdata['attArr'] = $attArr;
$pdata['comArr'] = $comArr;
$pdata['task_data'] = $task_data;
$pdata['title'] = "Task List";
$pdata['sub_title'] = "Task List";
$pdata['action_url'] = site_url("main/add_todos");
$pdata['LoadViews'] = "todos";
$pdata['taskObj']=$this->Mtask;
//$this->Msubtask = new Msubtask();
$pdata['subObj']=$this->Msubtask;
$this->GetDefaultConfiguration($pdata);
$this->LoadView($pdata);
}
public function todos_details(){
$this->CheckSession(true);
$uType = $this->session->GetCurrentUserType();
$pdata = array();
$task_data = array();
$subtask_data = array();
$comments_data = array();
$attachment_data = array();
$direct = false;
$uriData = $this->GetUriArray();
$task_id = $uriData['id'];
$this->load->model("database/Mtask");
$this->load->model("database/Msubtask");
$this->load->model("database/Mtask_comments");
$this->load->model("database/Mattachment");
if (isset($task_id) && !empty($task_id)) {
$this->Mtask->task_id($task_id);
$task_data = $this->Mtask->SelectJoin2();
$this->Msubtask->task_id($task_id);
if($uType == 'VT'){
$user_id = $this->session->GetVtrData()->admin_pid;
if(!empty($user_id)){
$this->Msubtask->done_vtr($user_id);
}else{
//redirect("task/vprofile");
}
if($task_data[0]->vtr_id != $user_id){
$direct = true;
}
}
$subtask_data = $this->Msubtask->SelectJoin2();
if($uType == 'VT'){
if(count($subtask_data)<1 && $direct){
redirect("task/vprofile");
}
}
$this->Mtask_comments->task_id($task_id);
$comments_data = $this->Mtask_comments->SelectJoin();
$this->Mattachment->task_id($task_id);
$attachment_data = $this->Mattachment->SelectAll();
}
$backLink = base_url()."task/todos";
$pdata['task_data'] = $task_data;
$pdata['subtask_data'] = $subtask_data;
$pdata['comments_data'] = $comments_data;
$pdata['attachment_data'] = $attachment_data;
$pdata['title'] = "Task Details";
$pdata['sub_title'] = "<a href='$backLink'><i class='fa fa-arrow-circle-left'></i> </a> Task Details";
$pdata['LoadViews'] = "todos_details";
$this->GetDefaultConfiguration($pdata);
$this->LoadView($pdata);
}
public function todos_details_archive(){
$this->CheckSession(true);
$uType = $this->session->GetCurrentUserType();
$pdata = array();
$task_data = array();
$subtask_data = array();
$comments_data = array();
$attachment_data = array();
$direct = false;
$uriData = $this->GetUriArray();
$task_id = $uriData['id'];
$this->load->model("database/Mtask");
$this->load->model("database/Msubtask");
$this->load->model("database/Mtask_comments");
$this->load->model("database/Mattachment");
if (isset($task_id) && !empty($task_id)) {
$this->Mtask->task_id($task_id);
$task_data = $this->Mtask->SelectJoin2();
$this->Msubtask->task_id($task_id);
if($uType == 'VT'){
$user_id = $this->session->GetVtrData()->admin_pid;
if(!empty($user_id)){
$this->Msubtask->done_vtr($user_id);
}else{
//redirect("task/vprofile");
}
if($task_data[0]->vtr_id != $user_id){
$direct = true;
}
}
$subtask_data = $this->Msubtask->SelectJoin2();
if($uType == 'VT'){
if(count($subtask_data)<1 && $direct){
redirect("task/vprofile");
}
}
$this->Mtask_comments->task_id($task_id);
$comments_data = $this->Mtask_comments->SelectJoin();
$this->Mattachment->task_id($task_id);
$attachment_data = $this->Mattachment->SelectAll();
}
$backLink = base_url()."task/archive_subtasks";
$pdata['task_data'] = $task_data;
$pdata['subtask_data'] = $subtask_data;
$pdata['comments_data'] = $comments_data;
$pdata['attachment_data'] = $attachment_data;
$pdata['title'] = "Task Details";
$pdata['sub_title'] = "<a href='$backLink'><i class='fa fa-arrow-circle-left'></i> </a> Task Details";
$pdata['LoadViews'] = "todos_details_archive";
$this->GetDefaultConfiguration($pdata);
$this->LoadView($pdata);
}
public function add_comments(){
$this->CheckSession(true);
$this->load->model("database/Mtask_comments");
$uType = $this->session->GetCurrentUserType();
$user_id = "";
$task_id = $this->input->post("task_id", true);
$description = $this->input->post("description", true);
if(empty($description)){
redirect("task/todos_details/id/$task_id");
}
if($uType == 'AD'){
$user_id = $this->session->GetAdminData()->admin_pid;
}
if($uType == 'VT'){
$user_id = $this->session->GetVtrData()->admin_pid;
}
if(IsPostBack && !empty($user_id) && !empty($task_id)){
if($this->Mtask_comments->GetFromPostData()){
$this->Mtask_comments->user_id($user_id);
if($this->Mtask_comments->Save()){
//$this->AddInfo("Successfully Added",true);
redirect("task/todos_details/id/$task_id");
}
}
} else {
redirect("task/todos");
}
}
public function changeTaskStatus(){
if($this->session->GetCurrentUserType()=="VT") die;
$uriData = $this->GetUriArray();
$property = "";
$search = "";
foreach ($uriData as $key=>$value){
$property = $key;
$search = $value;
}
$currentDateTime = date("Y-m-d H:i:s");
$task_id = $uriData['id'];
$this->load->model("database/Mtask");
if (isset($task_id) && !empty($task_id)) {
$this->Mtask->task_id($task_id);
if($this->Mtask->Select()){
$status = $this->Mtask->status;
if($status == 'L'){
redirect("task/todos/$property/$search");
} else {
$status = $status=='P'?'D':'P';
$this->Mtask=new Mtask();
$this->Mtask->task_id($task_id);
$this->Mtask->status($status);
$this->Mtask->completion_date($currentDateTime);
if($this->Mtask->Update()){
if($status == 'D'){
$query = "UPDATE subtask SET status = 'D', completion_date = now()
WHERE task_id = $task_id AND status = 'P'";
$result = $this->db->query($query);
}
redirect("task/todos/$property/$search");
}
redirect("task/todos/$property/$search");
}
} else {
redirect("task/todos/$property/$search");
}
}else{
redirect("task/todos/$property/$search");
}
}
public function changeSubtaskStatus(){
//if($this->session->GetCurrentUserType()=="VT") die;
$uriData = $this->GetUriArray();
$property = "";
$search = "";
foreach ($uriData as $key=>$value){
$property = $key;
$search = $value;
}
$subtask_id = $uriData['subid'];
$task_id = $uriData['taskid'];
$currentDateTime = date("Y-m-d H:i:s");
$this->load->model("database/Msubtask");
if (isset($subtask_id) && !empty($subtask_id) && isset($task_id) && !empty($task_id)) {
$this->Msubtask->subtask_id($subtask_id);
if($this->Msubtask->Select()){
$status = $this->Msubtask->status;
$selected_task_id = $this->Msubtask->task_id;
if($task_id != $selected_task_id){
redirect("task/todos/$property/$search");die;
}
if($status == 'L'){
redirect("task/todos/$property/$search");die;
} else {
$status = $status=='P'?'D':'P';
$this->Msubtask=new Msubtask();
$this->Msubtask->subtask_id($subtask_id);
$this->Msubtask->status($status);
$this->Msubtask->completion_date($currentDateTime);
if($this->Msubtask->Update()){
if($status == 'P'){
$query = "UPDATE task SET status = 'P'
WHERE task_id = $task_id LIMIT 1";
$result = $this->db->query($query);
}
redirect("task/todos/$property/$search");
}
redirect("task/todos/$property/$search");
}
} else {
redirect("task/todos/$property/$search");
}
}else{
redirect("task/todos/$property/$search");
}
}
public function download(){
$this->CheckSession(true);
$uriData = $this->GetUriArray();
$id = $uriData['id'];
$this->load->model("database/Mattachment");
if(!empty($id)){
$this->Mattachment->id($id);
if($this->Mattachment->Select()){
$original_name = $this->Mattachment->original_file_name;
$file_name = $this->Mattachment->file_name;
$headers = get_headers(base_url()."attachment/".$file_name);
$response_code = substr($headers[0], 9, 3);
if( $response_code == "200"){
$this->load->helper('download');
$data = file_get_contents("./attachment/".$file_name);
force_download($original_name, $data);
}
}
}
}
public function archiveData() {
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$pdata = array();
$pdata['errType'] = "";
$pdata['errMsg'] = "";
$pdata['title'] = "Pending Requests";
$pdata['sub_title'] = "";
$uriData = $this->GetUriArray();
if (isset($uriData['table_pk']) && !empty($uriData['table_pk'])) {
$task_pid = $uriData['table_pk'];
$query = "UPDATE task SET status = 'D'
WHERE task_id = $task_pid AND status = 'P' LIMIT 1";
$result = $this->db->query($query);
if($this->db->affected_rows() > 0) {
$pdata['errType'] = "success";
$pdata['errMsg'] = "Task has been successfuly archived.";
} else {
$pdata['errType'] = "error";
$pdata['errMsg'] = "Failed to archive!!";
}
} else {
$pdata['errType'] = "error";
$pdata['errMsg'] = "Invalid Id!";
}
$pdata['redirectUrl'] = site_url("task/archive_tasks");
$pdata['LoadViews'] = "only_message";
$this->GetDefaultConfiguration($pdata);
$this->LoadPanel($pdata);
}
public function add_todos(){
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$cc = $this->session->GetAdminData ()->email;
$this->load->model("database/Mtask");
$serverLimit = true;
$task_id = $this->input->post("table_pk", true);
$isEdit = $this->input->post("isEdit", true);
$title = $this->input->post("title", true);
$vtr_id = $this->input->post("vtr_id", true);
$property = $this->input->post("property", true);
$search = $this->input->post("search", true);
//Add task
if($task_id == 'N' && $isEdit == 'N'){
if(IsPostBack && !empty($title)){
if(!empty($vtr_id)){
$this->load->model("database/Madmin");
$this->Madmin->admin_pid($vtr_id);
if($this->Madmin->Select()){
$vemail = $this->Madmin->email;
$vtr_name = $this->Madmin->lname;
$isSuccess = $this->sendMailForTask($vemail,$title,$vtr_name,$cc);
if($isSuccess){
$this->AddInfo("Email successfully sent.",true);
} else {
//$this->AddError("Failed to send email!!",true);
}
} else {
//$this->AddError("Failed to send email!!",true);
}
}
if($this->Mtask->GetFromPostData()){
if($this->Mtask->Save()){
$task_id=$this->Mtask->GetUpdateDB()->insert_id();
$this->AddInfo("Task Successfully Added",true);
//redirect("task/todos");
}
}
$serverLimit = false;
}
$count = isset($_FILES['upload']) ? count($_FILES['upload']['name']) : 0;
if($count > 0){
$all_files = array();
$file = array();
for($i=0; $i<$count; $i++){
foreach($_FILES['upload'] as $key => $ary) {
$file[$key] = $ary[$i];
}
$all_files[$i] = $file;
}
$pdata['all_files'] = $all_files;
$extArray = array("jpg","jpeg","png","gif","txt","pdf","doc","docx","csv","xlsx","xls");
$size = 0;
foreach ($all_files as $fileObject){
$size = $size + $fileObject['size'];
}
if(isset($task_id) && $size < 8388500){//8388608
foreach ($all_files as $fileObject){
$original_file_name = $fileObject["name"];
$ext = pathinfo($original_file_name, PATHINFO_EXTENSION);
$lowerExtn = strtolower($ext);
if(in_array( $lowerExtn, $extArray)) {
$sqlForMax = "SELECT id FROM attachment ORDER BY id DESC LIMIT 1";
$records = $this->db->query($sqlForMax);
$maxId = $records->result();
if(empty($maxId)){
$maxId = 1;
} else {
$maxId = $maxId[0]->id +1;
}
$file_name = $maxId.".$ext";
$sql = "INSERT INTO attachment (task_id,file_name,original_file_name) VALUES('$task_id', '$file_name','$original_file_name')";
$records2 = $this->db->query($sql);
$isInsert = $this->db->affected_rows();
$newMax = $this->db->insert_id();
$file_name = $newMax.".$ext";
$sql2 = "UPDATE attachment SET file_name = '$file_name' WHERE id =$newMax";
$records3 = $this->db->query($sql2);
$dpath=BASEPATH."../attachment/".$file_name;
if($isInsert > 0){
if(copy($fileObject["tmp_name"], $dpath)){
$this->AddInfo("Successfully Uploaded [$original_file_name]",true);
} else {
$this->AddError("Error in uploading file [$original_file_name]",true);
}
}
}else{
$this->AddError("File type not supported [$original_file_name]",true);
}
}//end foreach
} else {
$this->AddError("File size exceeds limit 8MB",true);
}
}
if ($serverLimit){
//$this->AddError("File size exceeds server limit",true);
}
} else {
//**************************EDIT TASK*****************
if(IsPostBack && !empty($title)){
$this->Mtask=new Mtask();
$this->Mtask->task_id($task_id);
if($this->Mtask->Select()){
$preVtr = $this->Mtask->vtr_id;
}else{
$preVtr = "";
}
if($preVtr != $vtr_id){
if(!empty($vtr_id)){
$this->load->model("database/Madmin");
$this->Madmin->admin_pid($vtr_id);
if($this->Madmin->Select()){
$vemail = $this->Madmin->email;
$vtr_name = $this->Madmin->lname;
$isSuccess = $this->sendMailForTask($vemail,$title,$vtr_name,$cc);
if($isSuccess){
$this->AddInfo("Email successfully sent.",true);
} else {
//$this->AddError("Failed to send email!!",true);
}
} else {
//$this->AddError("Failed to send email!!",true);
}
}
}
$this->Mtask=new Mtask();
if($this->Mtask->GetFromPostData()){
$this->Mtask->task_id($task_id);
$this->Mtask->title($this->Mtask->title);
$this->Mtask->description($this->Mtask->description);
$this->Mtask->due_date($this->Mtask->due_date);
$this->Mtask->vtr_id($this->Mtask->vtr_id);
if($this->Mtask->Update()){
$this->AddInfo("Successfully Updated",true);
//redirect("task/todos");
}
}
$serverLimit = false;
}
$count = isset($_FILES['upload']) ? count($_FILES['upload']['name']) : 0;
if($count > 0){
$all_files = array();
$file = array();
for($i=0; $i<$count; $i++){
foreach($_FILES['upload'] as $key => $ary) {
$file[$key] = $ary[$i];
}
$all_files[$i] = $file;
}
$pdata['all_files'] = $all_files;
$extArray = array("jpg","jpeg","png","gif","txt","pdf","doc","docx","csv","xlsx","xls");
$size = 0;
foreach ($all_files as $fileObject){
$size = $size + $fileObject['size'];
}
if(isset($task_id) && $size < 8388500){//8388608
foreach ($all_files as $fileObject){
$original_file_name = $fileObject["name"];
$ext = pathinfo($original_file_name, PATHINFO_EXTENSION);
$lowerExtn = strtolower($ext);
if(in_array( $lowerExtn, $extArray)) {
$sqlForMax = "SELECT id FROM attachment ORDER BY id DESC LIMIT 1";
$records = $this->db->query($sqlForMax);
$maxId = $records->result();
if(empty($maxId)){
$maxId = 1;
} else {
$maxId = $maxId[0]->id +1;
}
$file_name = $maxId.".$ext";
$sql = "INSERT INTO attachment (task_id,file_name,original_file_name) VALUES('$task_id', '$file_name','$original_file_name')";
$records2 = $this->db->query($sql);
$isInsert = $this->db->affected_rows();
$newMax = $this->db->insert_id();
$file_name = $newMax.".$ext";
$sql2 = "UPDATE attachment SET file_name = '$file_name' WHERE id =$newMax";
$records3 = $this->db->query($sql2);
$dpath=BASEPATH."../attachment/".$file_name;
if($isInsert > 0){
if(copy($fileObject["tmp_name"], $dpath)){
$this->AddInfo("Successfully Uploaded [$original_file_name]",true);
} else {
$this->AddError("Error in uploading file [$original_file_name]",true);
}
}
}else{
$this->AddError("File type not supported [$original_file_name]",true);
}
}//end foreach
} else {
$this->AddError("File size exceeds limit 8MB",true);
}
}
if ($serverLimit){
//$this->AddError("File size exceeds server limit",true);
}
}
if($task_id == 'N' && $isEdit == 'N'){
redirect("task/todos");
}else{
redirect("task/todos/$property/$search");
}
}
public function add_todos_from_calendar(){
$this->CheckSession(true);
$cc = $this->session->GetAdminData ()->email;
if($this->session->GetCurrentUserType()=="VT") die;
$this->load->model("database/Mtask");
$serverLimit = true;
$title = $this->input->post("title", true);
$vtr_id = $this->input->post("vtr_id", true);
$due_date = $this->input->post("due_date", true);
if(IsPostBack && !empty($title)){
if(!empty($vtr_id)){
$this->load->model("database/Madmin");
$this->Madmin->admin_pid($vtr_id);
if($this->Madmin->Select()){
$vemail = $this->Madmin->email;
$vtr_name = $this->Madmin->lname;
$isSuccess = $this->sendMailForTask($vemail,$title,$vtr_name,$cc);
if($isSuccess){
//$this->AddInfo("Email successfully sent.",true);
} else {
//$this->AddError("Failed to send email!!",true);
}
} else {
//$this->AddError("Failed to send email!!",true);
}
}
if($this->Mtask->GetFromPostData()){
if($this->Mtask->Save()){
$task_id=$this->Mtask->GetUpdateDB()->insert_id();
//$this->AddInfo("Task Successfully Added",true);
//redirect("task/todos");
}
}
$serverLimit = false;
}
$count = isset($_FILES['upload']) ? count($_FILES['upload']['name']) : 0;
if($count > 0){
$all_files = array();
$file = array();
for($i=0; $i<$count; $i++){
foreach($_FILES['upload'] as $key => $ary) {
$file[$key] = $ary[$i];
}
$all_files[$i] = $file;
}
$pdata['all_files'] = $all_files;
$extArray = array("jpg","jpeg","png","gif","txt","pdf","doc","docx","csv","xlsx","xls");
$size = 0;
foreach ($all_files as $fileObject){
$size = $size + $fileObject['size'];
}
if(isset($task_id) && $size < 8388500){//8388608
foreach ($all_files as $fileObject){
$original_file_name = $fileObject["name"];
$ext = pathinfo($original_file_name, PATHINFO_EXTENSION);
$lowerExtn = strtolower($ext);
if(in_array( $lowerExtn, $extArray)) {
$sqlForMax = "SELECT id FROM attachment ORDER BY id DESC LIMIT 1";
$records = $this->db->query($sqlForMax);
$maxId = $records->result();
if(empty($maxId)){
$maxId = 1;
} else {
$maxId = $maxId[0]->id +1;
}
$file_name = $maxId.".$ext";
$sql = "INSERT INTO attachment (task_id,file_name,original_file_name) VALUES('$task_id', '$file_name','$original_file_name')";
$records2 = $this->db->query($sql);
$isInsert = $this->db->affected_rows();
$newMax = $this->db->insert_id();
$file_name = $newMax.".$ext";
$sql2 = "UPDATE attachment SET file_name = '$file_name' WHERE id =$newMax";
$records3 = $this->db->query($sql2);
$dpath=BASEPATH."../attachment/".$file_name;
if($isInsert > 0){
if(copy($fileObject["tmp_name"], $dpath)){
//$this->AddInfo("Successfully Uploaded [$original_file_name]",true);
} else {
//$this->AddError("Error in uploading file [$original_file_name]",true);
}
}
}else{
//$this->AddError("File type not supported [$original_file_name]",true);
}
}//end foreach
} else {
//$this->AddError("File size exceeds limit 8MB",true);
}
}
if ($serverLimit){
//$this->AddError("File size exceeds server limit",true);
}
redirect("task/calendar/date/$due_date");
}
public function getTaskData() {
$this->CheckSession(true);
$tid = $_REQUEST["tid"];
$query = "SELECT * FROM task WHERE task_id = $tid";
$records = $this->db->query($query);
echo json_encode($records->result());
}
public function getTaskDataForCalendar() {
$this->CheckSession(true);
$tid = $_REQUEST["tid"];
$this->load->model("database/Mtask");
$this->Mtask->task_id($tid);
$task_data = $this->Mtask->SelectJoin2();
echo json_encode($task_data);
}
/*
[{"title":"All Day Event","start":"2016-01-01"},{"title":"Long Event","start":"2016-01-07","end":"2016-01-10"
},{"id":"999","title":"Repeating Event","start":"2016-01-09T16:00:00-05:00"},{"id":"999","title":"Repeating
Event","start":"2016-01-16T16:00:00-05:00"},{"title":"Conference","start":"2016-01-11","end":"2016-01-13"
},{"title":"Meeting","start":"2016-01-12T10:30:00-05:00","end":"2016-01-12T12:30:00-05:00"},{"title"
:"Lunch","start":"2016-01-12T12:00:00-05:00"},{"title":"Meeting","start":"2016-01-12T14:30:00-05:00"
},{"title":"Happy Hour","start":"2016-01-12T17:30:00-05:00"},{"title":"Dinner","start":"2016-01-12T20
:00:00+00:00"},{"title":"Birthday Party","start":"2016-01-13T07:00:00-05:00"},{"url":"http:\/\/google
.com\/","title":"Click for Google","start":"2016-01-28"}]
*/
public function getCalendarEvents() {
//[{"title":"All Day Event","start":"2016-01-01"},]
//[start] => 2016-01-31
//[end] => 2016-03-13
$start = $_REQUEST["start"];
$end = $_REQUEST["end"];
$uType = $this->session->GetCurrentUserType();
if($uType == 'VT'){
$loggedVtr = $this->session->GetVtrData()->admin_pid;
$query = "SELECT task_id as id, title, due_date as start FROM task WHERE (due_date BETWEEN '$start' AND '$end') AND vtr_id = $loggedVtr AND status != 'L' AND status != 'H'";
}else{
$query = "SELECT task_id as id, title, due_date as start FROM task WHERE (due_date BETWEEN '$start' AND '$end') AND status != 'L' AND status != 'H'";
}
$records = $this->db->query($query);
echo json_encode($records->result());
}
public function update_due_date(){
//[tid] => 9
//[due] => 2016-02-09
$this->CheckSession(true);
$tid = $_REQUEST["tid"];
$due = $_REQUEST["due"];
$query = "UPDATE task set due_date = '$due' WHERE task_id = $tid LIMIT 1";
$records = $this->db->query($query);
//echo json_encode($records->result());
}
public function archive_task_data() {
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$tid = $_REQUEST["tid"];
if(!empty($tid)){
$query1 = "UPDATE subtask SET status = 'L' WHERE task_id = $tid AND status = 'D'";
$query2 = "UPDATE task_comments SET status = 'L' WHERE task_id = $tid AND status = 'A'";
$query3 = "UPDATE attachment SET status = 'L' WHERE task_id = $tid AND status = 'A'";
$query4 = "UPDATE task SET status = 'L' WHERE task_id = $tid LIMIT 1";
$records1 = $this->db->query($query1);
$records2 = $this->db->query($query2);
$records3 = $this->db->query($query3);
$records4 = $this->db->query($query4);
echo json_encode("s");
}
}
public function delete_subtask_data() {
$this->CheckSession(true);
$uType = $this->session->GetCurrentUserType();
$sid = $_REQUEST["sid"];
if(!empty($sid)){
if($uType == 'VT'){
$loggedVtr = $this->session->GetVtrData()->admin_pid;
$this->load->model("database/Msubtask");
$this->Msubtask->subtask_id($sid);
if($this->Msubtask->Select()){
$subVtr = $this->Msubtask->done_vtr;
}else{
$subVtr = "";
}
if($loggedVtr == $subVtr){
$query1 = "DELETE FROM subtask WHERE subtask_id = $sid LIMIT 1";
$records1 = $this->db->query($query1);
}
}
if($uType == 'AD'){
$query1 = "DELETE FROM subtask WHERE subtask_id = $sid LIMIT 1";
$records1 = $this->db->query($query1);
}
echo json_encode("s");
}
}
public function unlock_task() {
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$selectedRows = $this->input->post("selected", true);
$Unarchive = $this->input->post("Unarchive", true);
$Delete = $this->input->post("Delete", true);
//$uriData = $this->GetUriArray();
//$tid = $uriData['tid'];
if(!empty($selectedRows) && !empty($Unarchive)){
foreach ($selectedRows as $key=>$tid){
$query1 = "UPDATE subtask SET status = 'D' WHERE task_id = $tid AND status = 'L'";
$query2 = "UPDATE task_comments SET status = 'A' WHERE task_id = $tid AND status = 'L'";
$query3 = "UPDATE attachment SET status = 'A' WHERE task_id = $tid AND status = 'L'";
$query4 = "UPDATE task SET status = 'P' WHERE task_id = $tid LIMIT 1";
$records1 = $this->db->query($query1);
$records2 = $this->db->query($query2);
$records3 = $this->db->query($query3);
$records4 = $this->db->query($query4);
}
}
if(!empty($selectedRows) && !empty($Delete)){
foreach ($selectedRows as $key=>$tid){
$query1 = "UPDATE subtask SET status = 'H' WHERE task_id = $tid";
$query2 = "UPDATE task_comments SET status = 'H' WHERE task_id = $tid AND status = 'L'";
$query3 = "UPDATE attachment SET status = 'H' WHERE task_id = $tid AND status = 'L'";
$query4 = "UPDATE task SET status = 'H' WHERE task_id = $tid LIMIT 1";
$records1 = $this->db->query($query1);
$records2 = $this->db->query($query2);
$records3 = $this->db->query($query3);
$records4 = $this->db->query($query4);
}
}
if(false && !empty($selectedRows) && !empty($Delete)){
foreach ($selectedRows as $key=>$tid){
$query1 = "DELETE FROM subtask WHERE task_id = $tid";
$query2 = "DELETE FROM task_comments WHERE task_id = $tid AND status = 'L'";
$query5 = "SELECT file_name FROM attachment WHERE task_id=$tid";
$records5 = $this->db->query($query5);
$files = $records5->result();
$query3 = "DELETE FROM attachment WHERE task_id = $tid AND status = 'L'";
$query4 = "DELETE FROM task WHERE task_id = $tid LIMIT 1";
$records1 = $this->db->query($query1);
$records2 = $this->db->query($query2);
$records3 = $this->db->query($query3);
$isAttDel = $this->db->affected_rows();
$records4 = $this->db->query($query4);
if($isAttDel){
if(!empty($files)){
foreach ($files as $file){
$dpath=BASEPATH."../attachment/".$file->file_name;
//H:/web_application/htdocs/PMapp/system/../attachment/40.xlsx
if(file_exists($dpath)){
if(unlink($dpath)){
//GPrint("File Delete success.");
}else{
//GPrint("Unsuccess");
}
}else{
//GPrint("File not exists");
}
}
}else{
//GPrint("Query not found");
}
}else{
//GPrint("Attachment not deleted from table.");
}
}
}
redirect("task/archive_subtasks");
}
public function delete_file() {
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$uriData = $this->GetUriArray();
$id = $uriData['table_pk'];
$this->load->model("database/Mattachment");
if(!empty($id)){
$this->Mattachment->id($id);
if($this->Mattachment->Select()){
$original_name = $this->Mattachment->original_file_name;
$file_name = $this->Mattachment->file_name;
$task_id = $this->Mattachment->task_id;
if($this->Mattachment->Delete()){
$dpath=BASEPATH."../attachment/".$file_name;
if(file_exists($dpath)){
unlink($dpath);
}
}
}
}
redirect("task/todos_details/id/$task_id");
}
public function getSubtaskData() {
$this->CheckSession(true);
$subtask_id = $_REQUEST["subtask_id"];
$query = "SELECT * FROM subtask WHERE subtask_id = $subtask_id";
$records = $this->db->query($query);
echo json_encode($records->result());
}
public function archive_tasks(){
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$pdata = array();
$tot_arr = array();
$done_arr = array();
$pdata['title'] = "Task List";
$pdata['sub_title'] = "Task List";
$this->load->model("database/Mtask");
$this->Mtask->status('D');
$task_data = $this->Mtask->SelectJoin();
$this->load->model("database/Msubtask");
$query1 = "SELECT COUNT(subtask_id) as tot_sub, task_id FROM subtask GROUP BY task_id";
$query2 = "SELECT COUNT(subtask_id) as done_sub, task_id FROM subtask WHERE `status`='D' GROUP BY task_id";
$records1 = $this->db->query($query1);
$total_sub = $records1->result();
$records2 = $this->db->query($query2);
$done_sub = $records2->result();
foreach ($done_sub as $done){
$done_arr[$done->task_id] = $done->done_sub;
}
foreach ($total_sub as $total){
$obj = new stdClass();
$obj->total = $total->tot_sub;
$obj->done = array_key_exists($total->task_id, $done_arr)?$done_arr[$total->task_id]:0;
$tot_arr[$total->task_id] = $obj;
}
//$pdata['delete_url'] = site_url("main/delete_batch");
$pdata['action_url'] = site_url("task/archiveData");
$pdata['task_data'] = $task_data;
$pdata['status_data'] = $tot_arr;
$pdata['LoadViews'] = "task_list_archive";
$this->GetDefaultConfiguration($pdata);
$this->LoadPanel($pdata);
}
public function add_task() {
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$this->load->model("database/Mtask");
if(IsPostBack){
if($this->Mtask->GetFromPostData()){
if($this->Mtask->Save()){
$this->AddInfo("Successfully Added",true);
redirect("task/tasks");
}
}
}
$rData=array();
$rData['title'] = "Corporate Cup | Add Task";
$rData['sub_title'] = "Add Task";
$rData['taskObj']=$this->Mtask;
$this->GetDefaultConfiguration($rData);
$rData['LoadViews']="task_form";
$rData['AutoMsgShow']=false;
$this->LoadPanel($rData);
}
public function edit_task() {
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$this->load->model("database/Mtask");
$pdata = array();
$pdata['title'] = "Corporate Cup | Edit Task";
$pdata['sub_title'] = "Edit Task";
$pdata['isEdit']=false;
$uriData = $this->GetUriArray();
$this->Mtask->task_id($uriData['id']);
$this->Mtask->Select();
$status = $this->Mtask->status;
if($status == 'D'){
$this->AddError("Permission denied!!",true);
redirect("task/tasks");
}
if(IsPostBack){
$this->Mtask=new Mtask();
if($this->Mtask->GetFromPostData()){
$this->Mtask->task_id($uriData['id']);
$this->Mtask->title($this->Mtask->title);
$this->Mtask->due_date($this->Mtask->due_date);
$this->Mtask->vtr_id($this->Mtask->vtr_id);
if($this->Mtask->Update()){
$this->AddInfo("Successfully Updated",true);
redirect("task/tasks");
}
}
}
if(!empty($uriData['id'])){
$pdata['isEdit']=true;
$this->Mtask=new Mtask();
$this->Mtask->task_id($uriData['id']);
if($this->Mtask->Select()){
$pdata['taskObj'] = $this->Mtask;
}else{
$pdata['isEdit']=false;
$this->AddError("Invalid Task ID !!",true);
redirect("task/tasks");
}
}
$this->GetDefaultConfiguration($pdata);
$pdata['LoadViews']="task_form";
$pdata['AutoMsgShow']=false;
$this->LoadPanel($pdata);
}
public function subtasks() {
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$uriData = $this->GetUriArray();
$pdata = array();
$pdata['title'] = "Subtask List";
$pdata['sub_title'] = "Subtask List";
$this->load->model("database/Msubtask");
$this->load->model("database/Mtask");//for dropdown menu
$this->Mtask->status('status != "D"',false);
$task_data = $this->Mtask->SelectAll('task_id,title','task_id','desc');
$pdata['task_data'] = $task_data;
if(!IsPostBack && empty($uriData['id'])) {
$pdata['search_value'] = $task_data[0]->task_id;
$this->Msubtask->task_id($task_data[0]->task_id);
//$isAddSubtask = $task_data[0]->status;
}
if(!IsPostBack && !empty($uriData['id'])) {
$pdata['search_value'] = $uriData['id'];
$this->Msubtask->task_id($uriData['id']);
}
if(IsPostBack){
$searchByTask = trim($_POST['task_id']);
$pdata['search_value'] = $searchByTask;
$this->Msubtask->task_id($searchByTask);
}
$subtask_data = $this->Msubtask->SelectJoin();
$pdata['delete_url'] = site_url("main/delete_batch");
$pdata['subtask_data'] = $subtask_data;
$pdata['LoadViews'] = "subtask_list";
$this->GetDefaultConfiguration($pdata);
$this->LoadView($pdata);
}
public function archive_subtasks() {
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$uriData = $this->GetUriArray();
$pdata = array();
$pdata['title'] = "Archive Task List";
$pdata['sub_title'] = "Archive Task List";
$this->load->model("database/Msubtask");
$this->load->model("database/Mtask");//for dropdown menu
$this->Mtask->status('L');
//$task_data = $this->Mtask->SelectAll('task_id,title','task_id','desc');
$task_data = $this->Mtask->SelectJoin2("","task_id","desc");
$pdata['task_data'] = $task_data;
if(count($task_data)>0){
if(!IsPostBack && empty($uriData['id'])) {
$pdata['search_value'] = $task_data[0]->task_id;
$this->Msubtask->task_id($task_data[0]->task_id);
//$isAddSubtask = $task_data[0]->status;
}
if(!IsPostBack && !empty($uriData['id'])) {
$pdata['search_value'] = $uriData['id'];
$this->Msubtask->task_id($uriData['id']);
}
if(IsPostBack){
$searchByTask = trim($_POST['task_id']);
$pdata['search_value'] = $searchByTask;
$this->Msubtask->task_id($searchByTask);
}
$subtask_data = $this->Msubtask->SelectJoin();
$pdata['subtask_data'] = $subtask_data;
}
$pdata['delete_url'] = site_url("main/delete_batch");
$pdata['LoadViews'] = "archive_subtask_list";
$this->GetDefaultConfiguration($pdata);
$this->LoadView($pdata);
}
public function pending_request() {
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$uriData = $this->GetUriArray();
$pdata = array();
$pdata['title'] = "Pending Request";
$pdata['sub_title'] = "Pending Request";
$this->load->model("database/Msubtask");
$this->Msubtask->status('R');
$subtask_data = $this->Msubtask->SelectJoin();
if(count($subtask_data) < 1){
$this->AddError("No records are found to display!!",false);
}
$pdata['delete_url'] = site_url("main/delete_batch");
$pdata['subtask_data'] = $subtask_data;
$pdata['action_url'] = site_url("task/approveBy"); //Approve by Admin and Account
$pdata['cancel_url'] = site_url("task/cancelBy"); //Cancel by Admin and Account
$pdata['LoadViews'] = "pending_request";
$this->GetDefaultConfiguration($pdata);
$this->LoadView($pdata);
}
public function approveBy() {
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$pdata = array();
$pdata['errType'] = "";
$pdata['errMsg'] = "";
$pdata['title'] = "Pending Requests";
$pdata['sub_title'] = "";
$uriData = $this->GetUriArray();
if (isset($uriData['table_pk']) && !empty($uriData['table_pk'])) {
$subtask_pid = $uriData['table_pk'];
$query = "UPDATE subtask SET status = 'D'
WHERE subtask_id = $subtask_pid AND status = 'R' LIMIT 1";
$result = $this->db->query($query);
if($this->db->affected_rows() > 0) {
$pdata['errType'] = "success";
$pdata['errMsg'] = "Request has been approved";
} else {
$pdata['errType'] = "error";
$pdata['errMsg'] = "Approval Failed!!";
}
} else {
$pdata['errType'] = "error";
$pdata['errMsg'] = "Invalid Id!";
}
$pdata['redirectUrl'] = site_url("task/pending_request");
$pdata['LoadViews'] = "only_message";
$this->GetDefaultConfiguration($pdata);
$this->LoadPanel($pdata);
}
public function cancelBy() {
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$pdata = array();
$pdata['errType'] = "";
$pdata['errMsg'] = "";
$pdata['title'] = "Pending Requests";
$pdata['sub_title'] = "";
$uriData = $this->GetUriArray();
if (isset($uriData['table_pk']) && !empty($uriData['table_pk'])) {
$subtask_pid = $uriData['table_pk'];
$query = "UPDATE subtask SET status = 'P'
WHERE subtask_id = $subtask_pid AND status = 'R' LIMIT 1";
$result = $this->db->query($query);
if($this->db->affected_rows() > 0) {
$pdata['errType'] = "success";
$pdata['errMsg'] = "Request has been Canceled";
} else {
$pdata['errType'] = "error";
$pdata['errMsg'] = "Cancelation Failed";
}
} else {
$pdata['errType'] = "error";
$pdata['errMsg'] = "Invalid Id!";
}
$pdata['redirectUrl'] = site_url("task/pending_request");
$pdata['LoadViews'] = "only_message";
$this->GetDefaultConfiguration($pdata);
$this->LoadPanel($pdata);
}
public function add_subtask(){
$this->CheckSession(true);
if($this->session->GetCurrentUserType()=="VT") die;
$task_id = $this->input->post("task_id", true);
$subtitle = $this->input->post("subtitle", true);
$this->load->model("database/Mtask");
$this->Mtask->task_id($task_id);
if($this->Mtask->Select() && $this->Mtask->status != 'D'){
$vtr_id = $this->Mtask->vtr_id;
if(empty($vtr_id)){
$this->AddInfo("Please assign volunteer for this subtasks.",true);
}else{
$this->load->model("database/Mvolunteer");
$this->Mvolunteer->v_pid($vtr_id);
if($this->Mvolunteer->Select()){
$vemail = $this->Mvolunteer->email;
$vtr_name = $this->Mvolunteer->lname;
if(!empty($subtitle)){
$isSuccess = $this->sendMail($vemail,$subtitle,$vtr_name);
if($isSuccess){
$this->AddInfo("Email successfully sent.",true);
} else {
$this->AddError("Failed to send email!!",true);
}
}
} else {
$this->AddError("Failed to send email!!",true);
}
}
if(!empty($subtitle)){
$sql = "INSERT INTO subtask (task_id,subtitle,done_vtr) VALUES('$task_id', '$subtitle','$vtr_id')";
$records = $this->db->query($sql);
$this->AddInfo("Successfully Saved",true);
redirect("task/subtasks/id/$task_id");
} else {
$this->AddError("Empty subtitle field",true);
redirect("task/subtasks/id/$task_id");
}
} else {
$this->AddError("Invalid Task item has selected",true);
redirect("task/subtasks");
}
}
public function add_subtask2(){
$this->CheckSession(true);
$uType = $this->session->GetCurrentUserType();
$subtitle = $this->input->post("subtitle", true);
$vtr_id = $this->input->post("done_vtr", true);
if($uType == 'VT'){
$vtr_id = $this->session->GetVtrData()->admin_pid;
}
if($uType == 'AD'){
$cc = $this->session->GetAdminData ()->email;
}else {
$cc = "";
}
$isEdit = $this->input->post("isEdit", true);
$sub_id = $this->input->post("sub_id", true);
$task_id = $this->input->post("task_id", true);
$property = $this->input->post("property", true);
$search = $this->input->post("search", true);
$this->load->model("database/Mtask");
if($isEdit == 'N' && $sub_id == 'N'){
$this->Mtask->task_id($task_id);
if($this->Mtask->Select() && $this->Mtask->status != 'L'){
//$vtr_id = $this->Mtask->vtr_id;
if(empty($vtr_id)){
//$this->AddInfo("Please assign volunteer for this subtasks.",true);
}else{
$this->load->model("database/Madmin");
$this->Madmin->admin_pid($vtr_id);
if($this->Madmin->Select()){
$vemail = $this->Madmin->email;
$vtr_name = $this->Madmin->lname;
if(!empty($subtitle) && $uType == 'AD'){
$isSuccess = $this->sendMail($vemail,$subtitle,$vtr_name,$cc);
if($isSuccess){
$this->AddInfo("Email successfully sent.",true);
} else {
//$this->AddError("Failed to send email!!",true);
}
}
} else {
//$this->AddError("Failed to send email!!",true);
}
}
if(!empty($subtitle)){
$this->load->model("database/Msubtask");
$this->Msubtask->task_id($task_id);
$this->Msubtask->subtitle($subtitle);
$this->Msubtask->done_vtr($vtr_id);
if($this->Msubtask->Save()){
$query = "UPDATE task SET status = 'P'
WHERE task_id = $task_id LIMIT 1";
$result = $this->db->query($query);
//$this->AddInfo("Successfully Saved",true);
redirect("task/todos/$property/$search");
} else {
//$this->AddError("Ubable to save data",true);
redirect("task/todos/$property/$search");
}
//$sql = "INSERT INTO subtask (task_id,subtitle,done_vtr) VALUES('$task_id', '$subtitle','$vtr_id')";
//$records = $this->db->query($sql);
} else {
//$this->AddError("Empty subtitle field",true);
redirect("task/todos/$property/$search");
}
} else {
//$this->AddError("Invalid Task item has selected",true);
redirect("task/todos/$property/$search");
}//end add subtask
} else {
//Edit Task
$this->load->model("database/Msubtask");
$this->Mtask->task_id($task_id);
if($this->Mtask->Select() && $this->Mtask->status != 'L'){
//$vtr_id = $this->Mtask->vtr_id;
if(empty($vtr_id)){
//$this->AddInfo("Please assign volunteer for this subtasks.",true);
}else{
$this->Msubtask->subtask_id($sub_id);
$this->Msubtask->task_id($task_id);
if($this->Msubtask->Select()){
$preVtr = $this->Msubtask->done_vtr;
}else{
$preVtr = "";
}
if($vtr_id != $preVtr){
$this->load->model("database/Madmin");
$this->Madmin->admin_pid($vtr_id);
if($this->Madmin->Select()){
$vemail = $this->Madmin->email;
$vtr_name = $this->Madmin->lname;
if(!empty($subtitle) && $uType == 'AD'){
$isSuccess = $this->sendMail($vemail,$subtitle,$vtr_name,$cc);
if($isSuccess){
$this->AddInfo("Email successfully sent.",true);
} else {
//$this->AddError("Failed to send email!!",true);
}
}
} else {
//$this->AddError("Failed to send email!!",true);
}
}
}
if(!empty($subtitle)){
//$this->Msubtask->task_id($task_id);//Subtask task_id always fixed after adding
$this->Msubtask = new Msubtask();
$this->Msubtask->subtask_id($sub_id);
$this->Msubtask->subtitle($subtitle);
if($uType == 'AD'){
$this->Msubtask->done_vtr($vtr_id);
}
if($this->Msubtask->Update()){
redirect("task/todos/$property/$search");
} else {
//$this->AddError("Ubable to save data",true);
redirect("task/todos/$property/$search");
}
} else {
//$this->AddError("Empty subtitle field",true);
redirect("task/todos/$property/$search");
}
} else {
//$this->AddError("Invalid Task item has selected",true);
redirect("task/todos/$property/$search");
}
}
}
public function sendMail($to='',$subtask_title='',$vtr_name='', $cc='') {
$this->load->library('email');
$config['protocol'] = 'sendmail';
$config['charset'] = 'utf-8';
$config['wordwrap'] = TRUE;
$config['mailtype'] = 'html';
$this->email->initialize($config);
$this->email->from('corporate_cup@vcccsar.org', 'Corporate Cup');
//$this->email->from('noreply@appsynapsis.com', 'Appsynapsis');
$this->email->to($to);
$this->email->cc($cc);
$this->email->subject('A new task');
$this->email->message("
<p>Dear Mr./Ms $vtr_name</p>
<div>
A new sub-task is assigned to you.<br>
<b>Sutask Title: </b>$subtask_title<br>
</div>
");
$mailStatus = $this->email->send();
if ($mailStatus) {
return true;
} else {
return false;
}
}
public function sendMailForTask($to='',$subtask_title='',$vtr_name='', $cc='') {
$this->load->library('email');
$config['protocol'] = 'sendmail';
$config['charset'] = 'utf-8';
$config['wordwrap'] = TRUE;
$config['mailtype'] = 'html';
$this->email->initialize($config);
$this->email->from('noreply@vcccsar.org', 'Corporate Cup');
//$this->email->from('noreply@appsynapsis.com', 'Appsynapsis');
$this->email->to($to);
$this->email->cc($cc);
$this->email->subject('A new task');
$this->email->message("
<p>Dear Mr./Ms $vtr_name</p>
<div>
A new task is assigned to you.<br>
<b>Task Title: </b>$subtask_title<br>
</div>
");
$mailStatus = $this->email->send();
if ($mailStatus) {
return true;
} else {
return false;
}
}
public function sendMailForUserCreation($to='', $fname='', $lname='', $pass='') {
$this->load->library('email');
$config['protocol'] = 'sendmail';
$config['charset'] = 'utf-8';
$config['wordwrap'] = TRUE;
$config['mailtype'] = 'html';
$this->email->initialize($config);
$fullName = $fname. " " .$lname;
$this->email->from('noreply@vcccsar.org', 'Corporate Cup');
//$this->email->from('noreply@appsynapsis.com', 'Appsynapsis');
$this->email->to($to);
$this->email->subject('VT Corporate Cup PM App User Created');
$this->email->message("
<p>Dear Mr./Ms $fullName</p>
<div>
An account has been created for you to use. Please click the following link to update your password and log in to the application.<br>
<br>
http://vcccsar.org/PMapp/
<br>
<p>Password: $pass</p>
<br><br>
Thank you,<br>
Corporate Cup Staff
</div>
");
$mailStatus = $this->email->send();
if ($mailStatus) {
return true;
} else {
return false;
}
}
public function email2(){
$this->load->library('email');
$config = array();
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'vps7836.inmotionhosting.com';
$config['smtp_user'] = 'corporate_cup@vcccsar.org';
$config['smtp_pass'] = 'corporate_cup123!!';
$config['smtp_port'] = 465;
$config['charset'] = 'utf-8';
$config['wordwrap'] = TRUE;
$config['mailtype'] = 'html';
$this->email->initialize($config);
$this->email->set_newline("\r\n");
$this->email->from('corporate_cup@vcccsar.org', 'Corporate Cup');
$this->email->to('walid.islam77@gmail.com');
$this->email->subject('Dashboard updated');
$this->email->message('<h1>Your task has been done. Please check the dashboard.</h1>');
$MailStatus = $this->email->send();
echo "status:".$MailStatus;
}
public function sendMail22() {
$this->load->library('email');
$this->email->from('corporate_cup@vcccsar.org', 'PMApp');
$this->email->to('walid.islam77@gmail.com');
//$this->email->cc('name@gmail.com');
//$this->email->bcc('them@their-example.com');
$this->email->subject('Final result');
$this->email->message('A Task has been assigned to you. Please login into admin panel.');
$this->email->send();
echo "Email WWW SS gggsdfkgjfdgkl has been sent";
}
public function sendMail2() {
$this->load->library('email');
$config['protocol'] = 'sendmail';
$config['charset'] = 'utf-8';
$config['wordwrap'] = TRUE;
$config['mailtype'] = 'html';
$this->email->initialize($config);
$this->email->from('walid_tee@yahoo.com', 'Walid');
$this->email->to('walid.islam77@gmail.com');
$this->email->subject('Regarding tasks');
$this->email->message('Please forgive me');
$KsbMailStatus = $this->email->send();
GPrint($KsbMailStatus);
GPrint("email sent from sendMail2");
}
public function sendMail3() {
$to = "walid.islam77@gmail.com";
$subject = "Regading admin panel" ;
$body = "<div> hi hi hello .. </div>";
$headers = 'From: PMAPP corporate_cup@vcccsar.org' . "\r\n" ;
$headers .='Reply-To: '. $to . "\r\n" ;
$headers .='X-Mailer: PHP/' . phpversion();
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
if(mail($to, $subject, $body,$headers)) {
echo('<br>'."Email Sent ;D ".'</br>');
}
else
{
echo("<p>Email Message delivery failed...</p>");
}
}
public function sendMail4() {
$this->load->library('email');
$config = array(
'mailtype' => 'html',
'protocol' => 'smtp',
'smtp_user' => 'corporate_cup@vcccsar.org',
'smtp_pass' => 'corporate_cup123!!',
'smtp_port' => '465',
'smtp_host' => 'vps7836.inmotionhosting.com',
'mail_path' => 'ssl://smtp.gmail.com'
);
$this->email->initialize($config);
$this->email->set_newline("\r\n");
$this->email->from("corporate_cup@vcccsar.org","Corporate");
$message = "Dear Admin,<br /><br />";
$this->email->subject('Notification');
$this->email->message($message);
$this->email->send();
}
public function edit_subtask() {
//Admin and Volunteer both can update
$this->CheckSession(true);
$this->load->model("database/Msubtask");
$pdata = array();
$pdata['title'] = "Corporate Cup | Edit Subtask";
$pdata['sub_title'] = "Edit Subtask";
$pdata['isEdit']=false;
$update = false;
$uriData = $this->GetUriArray();
$task_id = $uriData['task_id'];
$uType = $this->session->GetCurrentUserType();
$this->Msubtask->subtask_id($uriData['id']);
$this->Msubtask->Select();
$status = $this->Msubtask->status;
$vtr_id = $this->Msubtask->done_vtr;
if($status == 'R' || $status == 'D'){
$this->AddError("Permission denied!!",true);
if($uType == 'AD'){
redirect("task/subtasks/id/$task_id");
}
if($uType == 'VT'){
redirect("task/vtask/id/$task_id");
}
}
if($uType == 'VT'){
$loggedVtr = $this->session->GetVtrData()->admin_pid;
if($vtr_id != $loggedVtr){
$this->AddError("Permission denied!!",true);
redirect("task/vtask/id/$task_id");
}
}
if(IsPostBack){
if($uType == 'AD'){
$newVtr = $this->input->post("done_vtr", true);
$subtitle = $this->input->post("subtitle", true);
if($vtr_id != $newVtr){
$this->load->model("database/Mvolunteer");
$this->Mvolunteer->v_pid($newVtr);
if($this->Mvolunteer->Select() && !empty($subtitle)){
$vemail = $this->Mvolunteer->email;
$vtr_name = $this->Mvolunteer->lname;
if(!empty($vemail)){
$isSuccess = $this->sendMail($vemail,$subtitle,$vtr_name);
if($isSuccess){
$this->AddInfo("Email successfully sent.",true);
} else {
$this->AddError("Failed to send email!!",true);
}
}
}else{
//statement: if subtitle is empty and not found particular volunteer
}
} else {
//statement: update only subtask title but not change volunteer
}
}
$this->Msubtask=new Msubtask();
if($this->Msubtask->GetFromPostData()){
$this->Msubtask->subtask_id($uriData['id']);
$this->Msubtask->subtitle($this->Msubtask->subtitle);
$this->Msubtask->done_vtr($this->Msubtask->done_vtr);
$this->Msubtask->status($this->Msubtask->status);
if($this->Msubtask->Update()){
$this->AddInfo("Successfully Updated",true);
if($uType == 'AD'){
redirect("task/subtasks/id/$task_id");
}
if($uType == 'VT'){
redirect("task/vtask/id/$task_id");
}
}
}
}
if(!empty($uriData['id'])){
$pdata['isEdit']=true;
$this->Msubtask=new Msubtask();
$this->Msubtask->subtask_id($uriData['id']);
if($this->Msubtask->Select()){
$pdata['subtaskObj'] = $this->Msubtask;
}else{
$pdata['isEdit']=false;
}
}
$this->GetDefaultConfiguration($pdata);
$pdata['LoadViews']="subtask_form";
$pdata['AutoMsgShow']=false;
$this->LoadPanel($pdata);
}
private function LoadView($rData) {
$this->load->view("common_view",$rData);
}
private function LoadPanel($rData){
$this->load->view("userBody",$rData);
}
}
?>