home/autoph/public_html/projects/golf/routes/user.php000064400000006070150302626660017077 0ustar00 \App\Middlewares\Auth::class], function () { Router::group(['prefix' => '/users'], function () { Router::group(['middleware' => \App\Middlewares\Token::class], function () { Router::get('/', 'UserController@usersIndex')->setName('users'); // Router::group(['prefix' => '/import'], function () { Router::get('/import', 'UserController@usersImportIndex')->setName('users.import'); // }); }); Router::group(['middleware' => \App\Middlewares\TokenVerifier::class], function () { Router::match(['get', 'post'], '/sendInvitation', 'UserController@sendInvitation')->setName('users.sms.invitation'); Router::get('/list', 'UserController@list')->setName('users.list'); Router::get('/event/list', 'UserController@eventsData')->setName('users.event.list'); Router::get('/adminList', 'UserController@adminList')->setName('users.admin.list'); Router::post('/status', 'UserController@updateStatus')->setName('users.status'); Router::post('/event/status', 'UserController@updateEventStatus')->setName('users.event.status'); Router::post('/reward', 'UserController@createReward')->setName('users.create.reward'); Router::post('/reward/count', 'UserController@rewardClaimCount')->setName('users.reward.count'); Router::post('/mulligan/count', 'UserController@mulliganCount')->setName('users.mulligan.count'); Router::post('/mulligan/update', 'UserController@updateMulligan')->setName('users.update.mulligan'); Router::post('/team/status', 'UserController@removeFromTeam')->setName('users.team.status'); Router::post('/store', 'UserController@store')->setName('users.store'); Router::post('/fetch', 'UserController@getUser')->setName('users.fetch'); Router::post('/player/fetch', 'UserController@getPlayer')->setName('users.player.fetch'); Router::post('/team/store', 'UserController@storeTeam')->setName('users.team.store'); Router::post('/event/store', 'UserController@storePlayer')->setName('users.event.store'); Router::get('/options', 'UserController@options')->setName('users.options'); Router::get('/mate/options', 'UserController@mateOption')->setName('users.mate.options'); Router::get('/event/team/options', 'UserController@userEventTeamOptions')->setName('users.event.team.options'); Router::get('/team/options', 'UserController@teamOptions')->setName('users.team.options'); Router::get('/team/filter/options', 'UserController@teamFilterOptions')->setName('users.team.filter.options'); Router::post('/event/attendance', 'UserController@setAttendance')->setName('users.event.attendance'); Router::post('/import', 'UserController@usersImport')->setName('users.import.store'); //modify Router::post('/event/bootClaim', 'UserController@bootClaim')->setName('users.event.bootClaim'); }); }); }); home/autoph/public_html/connectv1/lms/app/controllers/user.php000064400000032774150312063460020623 0ustar00sql_query_num_rows("SELECT id FROM lms2_users WHERE id_number = '$id_no' AND status = 1"); } function read_email_count($email,$utility_class,$db){ return $db->sql_query_num_rows("SELECT lu.id FROM lms2_user_contacts luc INNER JOIN lms2_users lu ON luc.user_id = lu.id WHERE luc.email = '$email' AND lu.status = 1"); } function read_mobile_count($mobile,$utility_class,$db){ return $db->sql_query_num_rows("SELECT lu.id FROM lms2_user_contacts luc INNER JOIN lms2_users lu ON luc.user_id = lu.id WHERE luc.mobile = '$mobile' AND lu.status = 1"); } function insert_user_details($array_data,$utility_class,$db){ $query = "INSERT INTO `lms2_users`( `id_number`,`default_position_id`, `default_dealer_id`, `firstname`, `lastname`, `date_added`, `status`) VALUES ('".$array_data['id_no']."','".$array_data['position']."','".$array_data['dealer']."','".$array_data['firstname']."','".$array_data['lastname']."',NOW(),'1')"; $inserted_user_id = $db->sql_query_id($query); $query_contact = "INSERT INTO `lms2_user_contacts`(`user_id`, `mobile`, `email`) VALUES ('$inserted_user_id','".$array_data['mobile']."','".$array_data['email']."')"; $inserted_user_contact_count = $db->sql_query_affected_rows($query_contact); $hash_password = password_hash(md5($array_data['password']), PASSWORD_DEFAULT); $query_account = "INSERT INTO `lms2_user_accounts`( `user_id`, `username`, `password`, `is_active_account`) VALUES ('$inserted_user_id','".$array_data['id_no']."','$hash_password','0')"; $inserted_user_account_count = $db->sql_query_affected_rows($query_account); return intval($inserted_user_contact_count + $inserted_user_account_count); } function read_user_status($array_data,$utility_class,$db){ } function read_user_account_status($array_data,$utility_class,$db){ } function insert_temporary_role($array_data,$user_id,$utility_class,$db){ $query_insert_role = "INSERT INTO `lms2_roles`( `status`) VALUES (0)"; $role_id = $db->sql_query_id($query_insert_role); $query_insert_role_access = "INSERT INTO `lms2_role_access`( `role_id`, `json_dealers`, `json_menus`) VALUES ($role_id,'[]','[]')"; $db->sql_query($query_insert_role_access); return $role_id; } function delete_temporary_role($array_data,$user_id,$utility_class,$db){ $query_remove_role_access = "DELETE FROM `lms2_role_access` WHERE role_id = ".$array_data['id'].""; $db->sql_query($query_remove_role_access); $query_remove_role = "DELETE FROM `lms2_roles` WHERE id = ".$array_data['id'].""; return $db->sql_query_affected_rows($query_remove_role); } function update_role($role_id,$array_data,$user_id,$utility_class,$db){ $query_update_role = "UPDATE `lms2_roles` SET `name`=NULLIF('".$array_data['txt_role_name']."',''),`added_by`=NULLIF('$user_id',''),date_added = NOW() ,`status`=1 WHERE id = $role_id"; $db->sql_query_affected_rows($query_update_role); } function read_role_dealers($role_id ,$utility_class,$db){ $query = "SELECT `json_dealers` FROM `lms2_role_access` WHERE `role_id` = $role_id LIMIT 1"; return $db->select($query); } function update_role_dealers($role_id,$role_dealers,$utility_class,$db){ $query = "UPDATE `lms2_role_access` SET `json_dealers`= '$role_dealers' WHERE `role_id` = $role_id"; return $db->sql_query_affected_rows($query); } function update_role_menus($role_id,$role_menus,$utility_class,$db){ $query = "UPDATE `lms2_role_access` SET `json_menus`= '$role_menus' WHERE `role_id` = $role_id"; return $db->sql_query_affected_rows($query); } function role_dealer_list($array_data,$utility_class,$db){ // $offset_limit = "LIMIT ".$array_data['offset'].",".$array_data['limit']." "; $offset_limit = ""; $field = " c.id as c_id, c.code as c_code, c.name as c_name, d.id as d_id, d.code as d_code, d.name as d_name "; $field_count = " COUNT(1) "; $query = "SELECT %s FROM `lms2_companies` c INNER JOIN lms2_dealers d ON c.id = d.company_id WHERE 1 AND (CONCAT(c.code,' ',c.name) LIKE '%%%s%%' OR CONCAT(d.code,' ',d.name) LIKE '%%%s%%') AND c.status = 1 AND d.status = 1 ORDER BY d.name ASC %s "; $query_formatted = sprintf( $query, $field, $array_data['search'], $array_data['search'], $offset_limit ); $query_formatted_count = sprintf( $query, $field_count, $array_data['search'], $array_data['search'], '' ); // echo $query_formatted;exit; return array(intval($db->select($query_formatted_count)),$db->sql_query($query_formatted)); } function get_user_notification_info($user_id,$utility_class,$db){ $query = " SELECT nt.id,COUNT(nt.id) as total,nt.name , MAX(nl.date_added) ago_time FROM `lms2_notification_type` nt INNER JOIN lms2_notification_list nl ON nt.id = nl.notification_type_id WHERE 1 AND nt.status = 1 AND nl.status = 1 AND nl.is_read = 0 AND nl.to_user = $user_id GROUP BY nt.id ORDER BY nl.date_added DESC"; return $db->sql_query($query); } function get_user_notification_list($user_id,$type_id,$offset,$limit,$utility_class,$db){ $notif_type = ""; if(intval($type_id)){ $notif_type = " AND nl.`notification_type_id` = $type_id "; } $query = "SELECT u1.firstname,u1.lastname,nl.`id` as notif_id, nl.`notification_type_id`, nl.`description`, nl.`date_added`, nl.`is_read`, nl.target_id, DATE_FORMAT(nl.date_added,'%%M %%d, %%Y %%h:%%i %%p') as date_addedf FROM `lms2_notification_list` nl INNER JOIN lms2_users u1 ON nl.`from_user` = u1.id WHERE 1 AND nl.status = 1 AND nl.`to_user` = %s %s /*type_id*/ ORDER BY nl.`date_added` DESC LIMIT %s,%s"; $query_final = sprintf($query,$user_id,$notif_type,$offset,$limit); // echo $query; return $db->sql_query($query_final); } function mark_as_read_notification($user_id,$type_id,$utility_class,$db){ $notif_type = ""; if(intval($type_id)){ $notif_type = " AND `notification_type_id` = $type_id "; } $query = "UPDATE `lms2_notification_list` SET `is_read`=1 WHERE 1 AND `to_user` = %s %s"; $query_final = sprintf($query,$user_id,$notif_type); // echo $query_final; return $db->sql_query($query_final); } function role_list($array_data,$utility_class,$db){ // $offset_limit = "LIMIT ".$array_data['offset'].",".$array_data['limit']." "; $offset_limit = ""; $field = " r.`id`, r.`name`, (SELECT COUNT(1) FROM lms2_users su INNER JOIN lms2_user_accounts sus ON su.id = sus.user_id WHERE sus.role_id = r.id AND su.status = 1 AND sus.is_active_account = 1) as user_count,ra.json_menus "; $field_count = " COUNT(1) "; $query = "SELECT %s FROM `lms2_roles` r LEFT OUTER JOIN lms2_role_access ra ON r.id = ra.role_id WHERE 1 AND r.name LIKE '%%%s%%' AND r.status = 1 ORDER BY r.name ASC %s "; $query_formatted = sprintf( $query, $field, $array_data['search'], $offset_limit ); $query_formatted_count = sprintf( $query, $field_count, $array_data['search'], '' ); // echo $query_formatted_count;exit; return array(intval($db->select($query_formatted_count)),$db->sql_query($query_formatted)); } function remove_role($id,$utility_class,$db){ $query = "UPDATE `lms2_roles` SET `status`=0 WHERE id = $id"; $affected_rows = $db->sql_query_affected_rows($query); return intval($affected_rows); } function system_user_security($where_statement,$array_data,$source,$utility_class,$db){ //check user status $query = "SELECT u.`id`, u.`default_dealer_id`, d.id AS department_id ,u.`default_position_id`, u.`gender_id`, u.`id_number`, CONCAT(u.`firstname`, ' ', u.`lastname`) as fullname ,u.`firstname`, u.`middlename`, u.`lastname`, u.`birthday`, u.`avatar`, u.`date_added`, u.`status`, uc.`mobile`, uc.`email`, uc.`address`, uc.`city_id`, uc.`facebook`, uc.`instagram`, uc.`whatsapp`, uc.`viber`, uc.`linkedin`, ua.`role_id`, ua.`username`, ua.`password`, ua.`is_active_account`, ra.json_dealers, ra.json_menus FROM lms2_users u INNER JOIN lms2_user_contacts uc ON u.id = uc.user_id INNER JOIN lms2_user_accounts ua ON u.id = ua.user_id LEFT OUTER JOIN lms2_roles r ON ua.role_id = r.id LEFT OUTER JOIN lms2_role_access ra ON r.id = ra.role_id LEFT OUTER JOIN lms2_positions p ON u.`default_position_id` = p.id LEFT OUTER JOIN lms2_departments d ON p.`department_id` = d.id WHERE 1 %s "; $user_information_obj = $db->sql_query(sprintf($query,$where_statement)); $user_information = array(); foreach($user_information_obj as $row){ // print_r($row);exit; $user_information = $row; } if(count($user_information) > 0){ //check password if($source == 'login'){ $md5_password = md5($array_data['password']); if (!password_verify($md5_password, $user_information['password'])) { $return_arr['message'] = "Invalid password."; $return_arr['status'] = 0; return $return_arr; // echo json_encode($return_arr); // exit; } } if (intval($user_information['status']) !== 1) { $return_arr['message'] = "Your account is deactivated."; $return_arr['status'] = 0; return $return_arr; // echo json_encode($return_arr); // exit; } if (intval($user_information['is_active_account']) !== 1) { $return_arr['message'] = "Your account is not yet approved."; $return_arr['status'] = 0; return $return_arr; // echo json_encode($return_arr); // exit; } $json_dealers = array(); //merge dealers if($utility_class->isJson($user_information['json_dealers'])){ $json_dealers = json_decode($user_information['json_dealers']); } if($utility_class -> isNotEmpty($user_information['default_dealer_id'])){ $json_dealers = array_merge($json_dealers,array($user_information['default_dealer_id'])); } $json_dealers = $utility_class -> toArrayInt($json_dealers); $json_menus = array(); if($utility_class->isJson($user_information['json_menus'])){ $json_menus = json_decode($user_information['json_menus']); } $json_menus = $utility_class -> toArrayInt($json_menus); //merge dealers to session $user_information = array_merge($user_information,array('dealer_access'=>$json_dealers),array('menu_access'=>$json_menus)); // print_r($user_information);exit; $_SESSION['crm_user'] = $user_information; // if($source == 'login'){ $return_arr['message'] = "Welcome ".ucfirst(strtolower($user_information['firstname']))."."; // $return_arr['data'] = $user_information; $return_arr['status'] = 1; return $return_arr; // echo json_encode($return_arr); // exit; // } }else{ $return_arr['message'] = "No account associated with this credentials."; $return_arr['status'] = 0; // echo json_encode($return_arr); // exit; } } } ?>home/autoph/public_html/connectv1/lms/app/models/user.php000064400000032544150313104470017531 0ustar00escape($_REQUEST['model']); // call_user_func_array($function_name, array($db,$user_class,$utility_class,$server_method,$_REQUEST)); $parameters = array( 'db'=>$db, 'user_class'=>$user_class, 'lead_class'=>$lead_class, 'utility_class'=>$utility_class, 'server_method'=>$server_method, 'user_id'=>$session_user_id, 'user_dealer_id'=>$session_user_dealer_id, 'user'=>$session_user, 'request'=>$_REQUEST, ); call_user_func($function_name,$parameters); }else{ echo "Invalid request."; exit; } function signup($param){ if($param['server_method'] !== 'POST'){ echo "Invalid request."; exit; } $request = $param['request']; $db = $param['db']; $array_data = json_decode($request['json_data'],true); foreach ($array_data as $key => $value){ if($key != 'password'){ $array_data[$key] = trim(mb_strtoupper($array_data[$key])); $array_data[$key] = $param['db']->escape($array_data[$key]); } } //check dup id no. $id_no_count = $param['user_class']->read_id_number_count($array_data['id_no'],$param['utility_class'],$db); if(intval($id_no_count) > 0){ $return_arr['message'] = "ID number already exist."; $return_arr['status'] = 0; echo json_encode($return_arr); exit; } $email_count = $param['user_class']->read_email_count($array_data['email'],$param['utility_class'],$db); if(intval($email_count) > 0){ $return_arr['message'] = "Email address already exist."; $return_arr['status'] = 0; echo json_encode($return_arr); exit; } $mobile_count = $param['user_class']->read_mobile_count($array_data['mobile'],$param['utility_class'],$db); if(intval($mobile_count) > 0){ $return_arr['message'] = "Mobile number already exist."; $return_arr['status'] = 0; echo json_encode($return_arr); exit; } if($param['user_class']->insert_user_details($array_data,$param['utility_class'],$db) === 2){ $return_arr['message'] = "Account successfully created."; $return_arr['status'] = 1; echo json_encode($return_arr); exit; }else{ $return_arr['message'] = "Account not created. Try again."; $return_arr['status'] = 0; echo json_encode($return_arr); exit; } } function signin($param){ if($param['server_method'] !== 'POST'){ echo "Invalid request."; exit; } $db = $param['db']; $utility_class = $param['utility_class']; $array_data = json_decode($param['request']['json_data'],true); $where_statement = " AND (uc.email = '".$array_data['username']."' OR ua.username = '".$array_data['username']."') "; $result_arr = $param['user_class'] -> system_user_security($where_statement,$array_data,'login',$utility_class,$db); echo json_encode($result_arr); } function signout($param){ if($param['server_method'] !== 'POST'){ echo "Invalid request."; exit; } if(isset($_SESSION['crm_user'])){ session_destroy(); }else{ echo "No Session Found."; } } function user_login_info($param){ if($param['server_method'] !== 'POST'){ echo "Invalid request."; exit; } // print_r($_SESSION['crm_user']); echo json_encode($_SESSION['crm_user']); } function user_notification_info($param){ if($param['server_method'] !== 'POST'){ echo "Invalid request."; exit; } $db = $param['db']; $user_class = $param['user_class']; $utility_class = $param['utility_class']; $user_id = $param['user_id']; $notification_obj = $user_class->get_user_notification_info($user_id,$utility_class,$db); $notification_arr['data'] = array(); $total_count = 0; foreach($notification_obj as $row){ $total_count += intval($row['total']); $notification_arr['data'] = array_merge( $notification_arr['data'], array(array( 'id'=>$row['id'], 'count'=>$row['total'], 'type'=>$row['name'], 'ago'=>$utility_class->time_elapsed_string($row['ago_time']), ))); } $notification_arr['total'] = $total_count; // print_r($notification_arr); echo json_encode($notification_arr); } function user_notification($param){ if($param['server_method'] !== 'POST'){ echo "Invalid request."; exit; } $db = $param['db']; $user_class = $param['user_class']; $utility_class = $param['utility_class']; $lead_class = $param['lead_class']; $request = $param['request']; $user_id = $param['user_id']; $type_id = $request['type_id']; $offset = $request['offset']; $limit = $request['limit']; $notification_obj = $user_class->get_user_notification_list($user_id,$type_id,$offset,$limit,$utility_class,$db); $notification_arr['data'] = array(); foreach($notification_obj as $row){ //get target name $target_info = ''; $ntype_id = intval($row['notification_type_id']); if($ntype_id === 1 || $ntype_id === 2){ $target_info = $lead_class->read_name_by_id($row['target_id'],$db); } $replace_parameter_content = array( '[from]'=>ucfirst(strtolower($row['firstname'])).' '.strtoupper(substr($row['lastname'],0,1)), '[target]'=>ucwords(strtolower($target_info)),// ucfirst(strtolower($row['firstname'])).' '.strtoupper(substr($row['lastname'],0,1)), ); $notification_arr['data'] = array_merge($notification_arr['data'], array(array( 'id'=>$row['notif_id'], 'type_id'=>$ntype_id, 'description'=>$row['description'], 'description'=> strtr($row['description'],$replace_parameter_content), 'date_added'=>$row['date_addedf'], 'is_read'=>$row['is_read'], ))); } // print_r($notification_arr); echo json_encode($notification_arr); } function mark_as_read_notification($param){ if($param['server_method'] !== 'POST'){ echo "Invalid request."; exit; } $db = $param['db']; $user_class = $param['user_class']; $utility_class = $param['utility_class']; $request = $param['request']; $user_id = $param['user_id']; $type_id = $request['type_id']; $user_class->mark_as_read_notification($user_id,$type_id,$utility_class,$db); $return_arr['message'] = "Updated."; $return_arr['status'] = 1; echo json_encode($return_arr); } function add_temporary_role($param){ if($param['server_method'] !== 'POST'){ echo "Invalid request."; exit; } $user_id = $param['user_id']; $user_class = $param['user_class']; $utility_class = $param['utility_class']; $request = $param['request']; $return_arr['id'] = $user_class->insert_temporary_role($request,$user_id,$param['utility_class'],$param['db']); echo json_encode($return_arr); exit; } function remove_temporary_role($param){ if($param['server_method'] !== 'POST'){ echo "Invalid request."; exit; } $user_id = $param['user_id']; $user_class = $param['user_class']; $utility_class = $param['utility_class']; $request = $param['request']; $return_arr['remove'] = $user_class->delete_temporary_role($request,$user_id,$param['utility_class'],$param['db']); echo json_encode($return_arr); exit; } function update_role($param){ if($param['server_method'] !== 'POST'){ echo "Invalid request."; exit; } $user_id = $param['user_id']; $user_class = $param['user_class']; $utility_class = $param['utility_class']; $request = $param['request']; $array_data = json_decode($param['request']['json_data'],true); $role_menus_array = array(); foreach ($array_data as $key => $value){ $array_data[$key] = trim(mb_strtoupper($array_data[$key])); $array_data[$key] = $param['db']->escape($array_data[$key]); if(substr( $key, 0, 3 ) === "ra_" && intval($value) === 1){ $role_menus_array[] = intval(substr( $key, 3, 4 )); } } $affected_rows = $user_class->update_role( $request['id'],$array_data,$user_id,$param['utility_class'],$param['db']); $user_class -> update_role_menus($request['id'],json_encode($role_menus_array),$param['utility_class'],$param['db']); $return_arr['message'] = "Role has been added."; $return_arr['status'] = 1; echo json_encode($return_arr); exit; } function role_dealer_list($param){ $db = $param['db']; $user_class = $param['user_class']; $utility_class = $param['utility_class']; $request = $param['request']; $dealer_list_array = $param['user_class']->role_dealer_list($request,$param['utility_class'],$param['db']); $json_arr['total'] = $dealer_list_array[0]; $dealer_list_obj = $dealer_list_array[1]; $json_arr['rows'] = array(); foreach($dealer_list_obj as $row){ $role_dealers = $user_class -> read_role_dealers($request['role_id'],$param['utility_class'],$param['db']); $role_dealers_array = json_decode($role_dealers,true); $dealer_id = $row['d_id']; if(in_array($dealer_id, $role_dealers_array)){ $status = 1; }else{ $status = 0; } $json_arr['rows'] = array_merge($json_arr['rows'], array(array( 'c_id'=>$row['c_id'], 'c_code'=>$row['c_code'], 'c_name'=>$row['c_name'], 'd_id'=>$row['d_id'], 'd_code'=>$row['d_code'], 'd_name'=>$row['d_name'], 'dealer'=>$row['d_name'].' ('.$row['d_code'].')', 'status'=>$status, )) ); } echo json_encode($json_arr); } function role_change_status($param){ if($param['server_method'] !== 'POST'){ echo "Invalid request."; exit; } $user_class = $param['user_class']; $utility_class = $param['utility_class']; $request = $param['request']; $role_dealers = $user_class -> read_role_dealers($request['role_id'],$param['utility_class'],$param['db']); $role_dealers_array = json_decode($role_dealers,true); $dealer_id = $request['dealer_id']; if(in_array($dealer_id, $role_dealers_array)){ //remove dealer if (($key = array_search($dealer_id, $role_dealers_array)) !== false) { unset($role_dealers_array[$key]); $role_dealers_array = array_values($role_dealers_array); } }else{ //add dealer $role_dealers_array[] = intval($dealer_id); } $affcted_rows = $user_class -> update_role_dealers($request['role_id'],json_encode($role_dealers_array),$param['utility_class'],$param['db']); if(intval($affcted_rows) > 0){ $return_arr['message'] = "Role has been updated."; $return_arr['status'] = 1; echo json_encode($return_arr); exit; }else{ $return_arr['message'] = "Role not updated."; $return_arr['status'] = 0; echo json_encode($return_arr); exit; } } function role_list($param){ $db = $param['db']; $user_class = $param['user_class']; $utility_class = $param['utility_class']; $request = $param['request']; $role_list_array = $param['user_class']->role_list($request,$param['utility_class'],$param['db']); $json_arr['total'] = $role_list_array[0]; $role_list_obj = $role_list_array[1]; $json_arr['rows'] = array(); foreach($role_list_obj as $row){ $json_arr['rows'] = array_merge($json_arr['rows'], array(array( 'id'=>$row['id'], 'name'=>$row['name'], 'user_count'=>intval($row['user_count']), 'menu_access'=>$row['json_menus'], )) ); } echo json_encode($json_arr); } function remove_role($param){ $user_class = $param['user_class']; if($user_class->remove_role($param['request']['id'],$param['utility_class'],$param['db']) === 1){ $return_arr['message'] = "Successfully removed."; $return_arr['status'] = 1; echo json_encode($return_arr); exit; }else{ $return_arr['message'] = "Not removed. Try again."; $return_arr['status'] = 0; echo json_encode($return_arr); exit; } } function get_user_dealers($param){ $db = $param['db']; $user_class = $param['user_class']; $utility_class = $param['utility_class']; $request = $param['request']; $user = $param['user']; $user_dealers = $user['dealer_access']; echo json_encode($user_dealers); } ?>