Commit d21ea280 by Jithin

chat completed

parent 6542e064
...@@ -1473,7 +1473,8 @@ public function check_current_user_confirmationcode() ...@@ -1473,7 +1473,8 @@ public function check_current_user_confirmationcode()
{ {
$DEFAULT_PATH = '/chats/'; $DEFAULT_PATH = '/chats/';
$userdata = $this->session->userdata('UserData'); $userdata = $this->session->userdata('UserData');
//print_r($_POST);die(); $time = (int)time().'000';
//print_r($time);die();
$jsonData = json_decode($_POST['json_obj']); $jsonData = json_decode($_POST['json_obj']);
//print_r($jsonData); //print_r($jsonData);
...@@ -1490,10 +1491,11 @@ public function check_current_user_confirmationcode() ...@@ -1490,10 +1491,11 @@ public function check_current_user_confirmationcode()
'patient_name' =>$val->pat_name, 'patient_name' =>$val->pat_name,
'patient_photo' =>$val->pat_pic, 'patient_photo' =>$val->pat_pic,
'photo_url' =>'', 'photo_url' =>'',
'time' =>strtotime(local_time_in_server(time(),'H:i:s')), //'time' =>strtotime(local_time_in_server(time(),'H:i:s')),
'time' => $time,
'type' =>0, 'type' =>0,
'video_url' =>''); 'video_url' =>'');
//print_r($firebaseobject); //print_r($firebaseobject);die();
//UPDATING RECENT MSG IN MYSQL DB //UPDATING RECENT MSG IN MYSQL DB
$recent_obj = array('chat_id' => $chatid, $recent_obj = array('chat_id' => $chatid,
...@@ -1504,7 +1506,8 @@ public function check_current_user_confirmationcode() ...@@ -1504,7 +1506,8 @@ public function check_current_user_confirmationcode()
'photo_url' => '', 'photo_url' => '',
'video_url' => '', 'video_url' => '',
'type'=> 0, 'type'=> 0,
'time' =>strtotime(local_time_in_server(time(),'H:i:s')) //'time' =>strtotime(local_time_in_server(time(),'H:i:s'))
'time' => $time
); );
//print_r($recent_obj); //print_r($recent_obj);
firebase()->push($DEFAULT_PATH .'/'.$chatid.'/', $firebaseobject); firebase()->push($DEFAULT_PATH .'/'.$chatid.'/', $firebaseobject);
...@@ -1514,6 +1517,42 @@ public function check_current_user_confirmationcode() ...@@ -1514,6 +1517,42 @@ public function check_current_user_confirmationcode()
print json_encode($update); print json_encode($update);
} }
/*FUNCTION FOR ADDING COLABORATOR - DOCTOR DASHBOARD*/
public function addColaborator()
{
if($this->session->userdata('UserData')&&$this->session->userdata('UserData')['type']=="DOCTOR")
{
$template['page'] = 'doctor_dash_add_colaborator';
$template['page_title'] = "Add Colaborator";
$this->load->view('template/template', $template);
}
else
{
redirect(base_url());
}
}
public function saveColaborator()
{
//print_r($_POST);
if(!empty($_POST))
{
$insertarray = array('name' => $_POST['name'],'email' => $_POST['email'],'password' => md5($_POST['password']),'telephone' => $_POST['telephone'],'cpf' => $_POST['cpf'] );
}
$colaborator = $this->Doctor_model->add_colaborator($insertarray);
if($colaborator>0)
{
$res = array('status' =>'success','colaborator' => $colaborator);
}
else
{
$res = array('status' => 'error' );
}
print json_encode($res);
}
......
...@@ -8,6 +8,7 @@ class Home extends CI_Controller { ...@@ -8,6 +8,7 @@ class Home extends CI_Controller {
parent::__construct(); parent::__construct();
$this->load->model('Home_model'); $this->load->model('Home_model');
$this->load->model('Patient_model'); $this->load->model('Patient_model');
$this->load->model('Doctor_model');
$this->load->library('facebook'); // Load facebook library $this->load->library('facebook'); // Load facebook library
} }
...@@ -461,10 +462,30 @@ class Home extends CI_Controller { ...@@ -461,10 +462,30 @@ class Home extends CI_Controller {
if(!empty($_POST)) if(!empty($_POST))
{ {
$check_authentic = $this->Home_model->check_valid_email_forgot($_POST['email'],$_POST['type']); $check_authentic = $this->Home_model->check_valid_email_forgot($_POST['email'],$_POST['type']);
//print_r($check_authentic); //print_r($check_authentic);die();
if($check_authentic['count']==1) if($check_authentic['count']==1)
{ {
//send_mail('test','test','test'); //send_mail('test','test','test');
$characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
$result = '';
for ($i = 0; $i < 24; $i++)
$result .= $characters[mt_rand(0, 61)];
$link = base_url().'Home/resetpassword/?i='.$check_authentic['id'].'&c='.$result.'&t=';
if($_POST['type']=='DOCTOR')
{
$link = $link.'2';
$this->Doctor_model->set_confirmation_code($check_authentic,$result);
}
else
{
$link = $link.'1';
$this->Patient_model->set_confirmation_code($check_authentic,$result);
}
$msg = "Hi ".$check_authentic['name'].",<br><br>Your request for resetting password has been accepted. Use the following link to reset password. ".$link.". Please Do not share with anyone<br><br>Ipok Team";
//print_r($msg);
send_mail($msg,$_POST['email'],'Reset Password');
//sent email
$res = array('status' => 'success','msg' => 'Valid Email Address' ); $res = array('status' => 'success','msg' => 'Valid Email Address' );
} }
else else
...@@ -479,9 +500,57 @@ class Home extends CI_Controller { ...@@ -479,9 +500,57 @@ class Home extends CI_Controller {
/*FUNCTION FOR RESETING USER PASSWORD FROM MAIL*/ /*FUNCTION FOR RESETING USER PASSWORD FROM MAIL*/
public function resetpassword() public function resetpassword()
{ {
//print_r($_GET["t"]);die();
if(!empty($_GET["t"]) and !empty($_GET["c"]) and !empty($_GET["i"]))
{
$type=$_GET["t"]; //0->Patient 1->Doctor
$code=$_GET["c"];
$id=$_GET["i"];
$db_code = $this->Home_model->check_confirmation_id($id,$code,$type);
// /print_r($db_code);die();
if($db_code['confirmation_code']==$code)
{
$template['page'] = "forgot_password";
}
else
{
$template['page'] = "forgot_password_error";
}
$template['type'] = $type;
$template['id'] = $id;
$template['page_title'] = "Reset Password";
$this->load->view('template/template', $template);
}
else
{
$template['page'] = "forgot_password_error";
$template['page_title'] = "Reset Password";
$this->load->view('template/template', $template);
}
//load the page reseting password both from web and mobile //load the page reseting password both from web and mobile
} }
/*FUCTION FOR AJAX CALL IN SAVING NEW PASSWAORD*/
public function sav_reset()
{
//print_r($_POST);
$update = array('password' => md5($_POST['password']),'confirmation_code' =>'');
$status = $this->Home_model->update_profile($_POST['id'],$_POST['type'],$update);
if($status)
{
$res = array('status' =>'success');
}
else
{
$res = array('status' =>'error');
}
print json_encode($res);
}
/*FUNCTION FOR RETRIVING SESSION DATA TO CHAT JS*/ /*FUNCTION FOR RETRIVING SESSION DATA TO CHAT JS*/
public function get_session() public function get_session()
...@@ -572,6 +641,15 @@ class Home extends CI_Controller { ...@@ -572,6 +641,15 @@ class Home extends CI_Controller {
} }
} }
/*FUNCTION FOR CHECKING EMAIL EXIST - DOCTOR REGISTRATION*/
public function check_email_colabor()
{
$data = $_POST;
$check_result = $this->Home_model->emailExist_colabor($data);
//print_r($check_result);die();
print json_encode($check_result);
}
/*FUNCTION FOR SENTING CONFRIMATION CODE FOR ACCOUNT DELETION - PATIENT AND DOCTOR*/ /*FUNCTION FOR SENTING CONFRIMATION CODE FOR ACCOUNT DELETION - PATIENT AND DOCTOR*/
/*public function sentConfirmationcode($user) /*public function sentConfirmationcode($user)
......
...@@ -69,8 +69,11 @@ function cpf_validator($cpf) ...@@ -69,8 +69,11 @@ function cpf_validator($cpf)
function change_time_to_local($dateTimeUTC = null, $dateFormat = 'H:i:s') function change_time_to_local($dateTimeUTC = null, $dateFormat = 'H:i:s')
{ {
$date = new DateTime(date('Y-m-d H:i:s',$dateTimeUTC), new DateTimeZone('UTC')); if(strlen($dateTimeUTC)==13)
{ $dateTimeUTC = $dateTimeUTC /1000; }
$date = new DateTime(date('Y-m-d h:i:s',$dateTimeUTC), new DateTimeZone('UTC'));
$ip = $_SERVER['REMOTE_ADDR']; $ip = $_SERVER['REMOTE_ADDR'];
//print_r($ip);
if($ip=='::1') if($ip=='::1')
{ {
$date->setTimezone(new DateTimeZone('UTC')); $date->setTimezone(new DateTimeZone('UTC'));
...@@ -80,6 +83,7 @@ function change_time_to_local($dateTimeUTC = null, $dateFormat = 'H:i:s') ...@@ -80,6 +83,7 @@ function change_time_to_local($dateTimeUTC = null, $dateFormat = 'H:i:s')
{ {
$rs = json_decode(file_get_contents('http://ip-api.com/json/'.$ip)); $rs = json_decode(file_get_contents('http://ip-api.com/json/'.$ip));
$time_Z = $rs->timezone; $time_Z = $rs->timezone;
//print_r($time_Z);
$date->setTimezone(new DateTimeZone($time_Z)); $date->setTimezone(new DateTimeZone($time_Z));
echo $date->format('h:i A'); echo $date->format('h:i A');
} }
...@@ -87,6 +91,8 @@ function change_time_to_local($dateTimeUTC = null, $dateFormat = 'H:i:s') ...@@ -87,6 +91,8 @@ function change_time_to_local($dateTimeUTC = null, $dateFormat = 'H:i:s')
function local_time_in_server($dateTimeUTC = null, $dateFormat = 'H:i:s') function local_time_in_server($dateTimeUTC = null, $dateFormat = 'H:i:s')
{ {
if(strlen($dateTimeUTC)==13)
{ $dateTimeUTC = $dateTimeUTC /1000; }
$date = new DateTime(date('Y-m-d H:i:s',$dateTimeUTC), new DateTimeZone('UTC')); $date = new DateTime(date('Y-m-d H:i:s',$dateTimeUTC), new DateTimeZone('UTC'));
$ip = $_SERVER['REMOTE_ADDR']; $ip = $_SERVER['REMOTE_ADDR'];
if($ip=='::1') if($ip=='::1')
......
...@@ -719,6 +719,20 @@ public function set_confirmation_code($user,$code) ...@@ -719,6 +719,20 @@ public function set_confirmation_code($user,$code)
$this->db->update('tbl_doctors',$data); $this->db->update('tbl_doctors',$data);
} }
public function add_colaborator($array)
{
if($this->db->insert('tbl_doctor_colaborators',$array))
{
$insert_id = $this->db->insert_id();
return $insert_id;
}
else
{
return 0;
}
}
} }
?> ?>
\ No newline at end of file
...@@ -75,6 +75,20 @@ ...@@ -75,6 +75,20 @@
return $return_array; return $return_array;
} }
public function emailExist_colabor($data)
{
$query_email = $this->db->get_where("tbl_doctor_colaborators",array("email"=>$data['email']));
if($query_email->num_rows() > 0)
{
$return_array = array('message'=>'email already exist');
}
else
{
$return_array = array('message'=>'success');
}
return $return_array;
}
public function registration($data) public function registration($data)
{ {
if($this->db->insert('tbl_registration', $data)){ if($this->db->insert('tbl_registration', $data)){
...@@ -245,7 +259,9 @@ ...@@ -245,7 +259,9 @@
public function check_valid_email_forgot($email,$type) public function check_valid_email_forgot($email,$type)
{ {
$this->db->select('count(id) as count'); $this->db->select('count(id) as count,
id,
name');
if($type=='DOCTOR') if($type=='DOCTOR')
{ {
$this->db->from('tbl_doctors'); $this->db->from('tbl_doctors');
...@@ -323,19 +339,55 @@ ...@@ -323,19 +339,55 @@
public function update_recent_chat($post) public function update_recent_chat($post)
{ {
$sql = $this->db->insert_string('tbl_recent_chats', $post) . ' ON DUPLICATE KEY UPDATE sender_type = ' .$post['sender_type'].',msg ='.'"' .$post['msg'].'"'.',photo_url='.'"' .$post['photo_url'].'"'.',video_url='.'"' .$post['video_url'].'"'.',type='.'"' .$post['type'].'"'.',time='.$post['time']; $sql = $this->db->insert_string('tbl_recent_chats', $post) . ' ON DUPLICATE KEY UPDATE sender_type = ' .$post['sender_type'].',msg ='.'"' .$post['msg'].'"'.',photo_url='.'"' .$post['photo_url'].'"'.',video_url='.'"' .$post['video_url'].'"'.',type='.'"' .$post['type'].'"'.',time='.$post['time'];
//print_r($this->db->last_sqlquery());die(); //print_r($this->db->last_sqlquery());die();
if($this->db->query($sql)){ if($this->db->query($sql))
{
$return_array = array('status'=>'success'); $return_array = array('status'=>'success');
} }
else{ else
{
$return_array = array('status'=>'fail'); $return_array = array('status'=>'fail');
} }
return $return_array; return $return_array;
} }
public function check_confirmation_id($id,$code,$type)
{
$this->db->select('confirmation_code');
$this->db->where('id',$id);
if($type=="1")
{
$this->db->from('tbl_registration');
}
elseif($type=="2")
{
$this->db->from('tbl_doctors');
}
$query = $this->db->get();
return $query->row_array();
}
public function update_profile($id,$type,$arr)
{
if($type=="1")
{
if($this->db->update('tbl_registration', $arr, array('id' => $id)))
return true;
else
return false;
}
elseif($type=="2")
{
if($this->db->update('tbl_doctors', $arr, array('id' => $id)))
return true;
else
return false;
}
}
......
...@@ -366,7 +366,6 @@ public function disable_patient_account($id) ...@@ -366,7 +366,6 @@ public function disable_patient_account($id)
public function get_all_promocodes() public function get_all_promocodes()
{ {
$now = strtotime(date('y-m-d')); $now = strtotime(date('y-m-d'));
$this->db->select('id as promo_id, $this->db->select('id as promo_id,
promo_name, promo_name,
image, image,
...@@ -378,7 +377,6 @@ public function get_all_promocodes() ...@@ -378,7 +377,6 @@ public function get_all_promocodes()
$this->db->order_by('id','DESC'); $this->db->order_by('id','DESC');
$query = $this->db->get(); $query = $this->db->get();
return $query->result_array(); return $query->result_array();
} }
public function get_promocode_details($id) public function get_promocode_details($id)
......
...@@ -14,17 +14,6 @@ ...@@ -14,17 +14,6 @@
<div ng-app='myApp'> <div ng-app='myApp'>
<div class="ip_set_two_wrapper" ng-controller="mainCtrl"> <div class="ip_set_two_wrapper" ng-controller="mainCtrl">
<div class="ip_sidemenu">
<ul>
<li class="active" data-toggle="tab" href="#menu1"><img src="<?php echo base_url();?>assets/images/ip_menu1.png"></li>
<li data-toggle="tab" href="#menu2"><img src="<?php echo base_url();?>assets/images/ip_menu2.png"></li>
<li data-toggle="tab" href="#menu3"><img src="<?php echo base_url();?>assets/images/ip_menu3.png"></li>
<li data-toggle="tab" href="#menu4"><img src="<?php echo base_url();?>assets/images/ip_menu4.png"></li>
<li data-toggle="tab" href="#menu5"><img src="<?php echo base_url();?>assets/images/ip_menu5.png"></li>
<li data-toggle="tab" href="#menu6"><img src="<?php echo base_url();?>assets/images/ip_menu6.png"></li>
<li data-toggle="tab" href="#menu7"><img src="<?php echo base_url();?>assets/images/ip_menu7.png"></li>
</ul>
</div>
<div class="container ip_custom_container"> <div class="container ip_custom_container">
<div class="ip_main_path_stream"> <div class="ip_main_path_stream">
<ul> <ul>
...@@ -34,8 +23,6 @@ ...@@ -34,8 +23,6 @@
</ul> </ul>
</div> </div>
<div class="tab-content"> <div class="tab-content">
<div id="menu1" class="tab-pane fade in active">
<div class="ip_message_tabs_body"> <div class="ip_message_tabs_body">
<h3 ng-if="opponent">{{opponent.name}}</h3> <h3 ng-if="opponent">{{opponent.name}}</h3>
<div class="ip_messages_wrapper"> <div class="ip_messages_wrapper">
...@@ -56,7 +43,7 @@ ...@@ -56,7 +43,7 @@
<h5 ng-if="recent.doc_name">{{recent.doc_name}}</h5> <h5 ng-if="recent.doc_name">{{recent.doc_name}}</h5>
<div class="ip_message_time">{{recent.time | date: "hh:mm a" }}</div> <div class="ip_message_time">{{recent.time | date: "hh:mm a" }}</div>
<div class="clear"></div> <div class="clear"></div>
<p>{{recent.msg}}</p> <p ng-bind-html="trustAsHtml(recent.msg)"><!-- {{recent.msg}} --></p>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
</li> </li>
...@@ -69,7 +56,7 @@ ...@@ -69,7 +56,7 @@
<h5 ng-if="recent.pat_name">{{recent.pat_name}}</h5> <h5 ng-if="recent.pat_name">{{recent.pat_name}}</h5>
<div class="ip_message_time">{{recent.time | date: "hh:mm a" }}</div> <div class="ip_message_time">{{recent.time | date: "hh:mm a" }}</div>
<div class="clear"></div> <div class="clear"></div>
<p>{{recent.msg}}</p> <p ng-bind-html="trustAsHtml(recent.msg)"><!-- {{recent.msg}} --></p>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
</li> </li>
...@@ -125,7 +112,7 @@ ...@@ -125,7 +112,7 @@
Please Select a Conversation Please Select a Conversation
</div> </div>
<div class="ip_message_more_btn"></div> <div class="ip_message_more_btn"></div>
<div class="ip_message_search_btn"></div> <!-- <div class="ip_message_search_btn"></div> -->
<div class="clear"></div> <div class="clear"></div>
<!-- <div class="ip_month_date">02 Mar 2017</div> --> <!-- <div class="ip_month_date">02 Mar 2017</div> -->
</div> </div>
...@@ -136,32 +123,32 @@ ...@@ -136,32 +123,32 @@
<div class="ip_month_date" ng-if="msg.show_date"><!-- 02 Mar 2017 -->{{msg.time | date: 'dd MMM yyyy'}}</div> <div class="ip_month_date" ng-if="msg.show_date"><!-- 02 Mar 2017 -->{{msg.time | date: 'dd MMM yyyy'}}</div>
<div class="ip_receive" ng-if="session.type=='DOCTOR'&&msg.sender_type==0"> <div class="ip_receive" ng-if="session.type=='DOCTOR'&&msg.sender_type==0">
<div class="ip_message_chat"> <div class="ip_message_chat" ng-bind-html="trustAsHtml(msg.message)">
<div class="ip_receive_quote"></div> <div class="ip_receive_quote"></div>
{{msg.message}} <!-- {{msg.message}} -->
</div> </div>
<span>{{msg.time | date:'hh:mm a'}}</span> <span>{{msg.time | date:'hh:mm a'}}</span>
</div> </div>
<div class="ip_send" ng-if="session.type=='DOCTOR'&&msg.sender_type==1"> <div class="ip_send" ng-if="session.type=='DOCTOR'&&msg.sender_type==1">
<div class="ip_message_chat"> <div class="ip_message_chat" ng-bind-html="trustAsHtml(msg.message)">
<div class="ip_send_quote"></div> <div class="ip_send_quote"></div>
{{msg.message}} <!-- {{msg.message}} -->
</div> </div>
<span>{{msg.time | date:'hh:mm a'}}</span> <span>{{msg.time | date:'hh:mm a'}}</span>
</div> </div>
<div class="ip_receive" ng-if="session.type=='PATIENT'&&msg.sender_type==1"> <div class="ip_receive" ng-if="session.type=='PATIENT'&&msg.sender_type==1">
<div class="ip_message_chat"> <div class="ip_message_chat" ng-bind-html="trustAsHtml(msg.message)">
<div class="ip_receive_quote"></div> <div class="ip_receive_quote"></div>
{{msg.message}} <!-- {{msg.message}} -->
</div> </div>
<span>{{msg.time | date:'hh:mm a'}}</span> <span>{{msg.time | date:'hh:mm a'}}</span>
</div> </div>
<div class="ip_send" ng-if="session.type=='PATIENT'&&msg.sender_type==0"> <div class="ip_send" ng-if="session.type=='PATIENT'&&msg.sender_type==0">
<div class="ip_message_chat"> <div class="ip_message_chat" ng-bind-html="trustAsHtml(msg.message)">
<div class="ip_send_quote"></div> <div class="ip_send_quote"></div>
{{msg.message}} <!-- {{msg.message}} -->
</div> </div>
<span>{{msg.time | date:'hh:mm a'}}</span> <span>{{msg.time | date:'hh:mm a'}}</span>
</div> </div>
...@@ -206,303 +193,6 @@ ...@@ -206,303 +193,6 @@
</div> </div>
</div> </div>
</div> </div>
<div id="menu2" class="tab-pane fade">
<div class="ip_messages_wrapper">
<h3>Menu 2</h3>
</div>
</div>
<div id="menu3" class="tab-pane fade">
<div class="ip_messages_wrapper">
<h3>Menu 3</h3>
</div>
</div>
<div id="menu4" class="tab-pane fade">
<div class="ip_messages_wrapper">
<h3>Menu 4</h3>
</div>
</div>
<div id="menu5" class="tab-pane fade">
<div class="ip_messages_wrapper">
<h3>Menu 5</h3>
</div>
</div>
<div id="menu6" class="tab-pane fade">
<div class="ip_message_tabs_body">
<div class="ip_graph_wrapper">
<div class="row">
<div class="col-md-4">
<div class="ip_bio_tab_div">
<div class="ip_bio_head">
Balance for redemption
<div class="ip_bio_more">
</div>
</div>
<div class="ip_bio_detail textCenter">
<div class="ip_bal_circle">
<div class="c100 p25">
<span><strong class="ip_counter" data-count="22.325">22.325</strong></span>
<div class="slice">
<div class="bar"></div>
<div class="fill"></div>
</div>
</div>
<div class="clear"></div>
</div>
<p>Available for redemption</p>
<div class="ip_bio_bottom_bay">
<div class="ip_circle_left">
<strong>R$ 1000</strong>
<p>Last Redemption</p>
</div>
<div class="ip_circle_right">
<button class="ip_circle_btn bal_btn">HISTORY</button>
</div>
<div class="clear"></div>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="ip_bio_tab_div">
<div class="ip_bio_head">
Future releases
<div class="ip_bio_more">
</div>
</div>
<div class="ip_bio_detail textCenter">
<div class="ip_future_circle">
<div class="c100 p25">
<span><strong class="ip_counter" data-count="2.345">2.345</strong></span>
<div class="slice">
<div class="bar"></div>
<div class="fill"></div>
</div>
</div>
<div class="clear"></div>
</div>
<p>Launches of today</p>
<div class="ip_bio_bottom_bay">
<div class="ip_circle_left">
<strong>R$ 250</strong>
<p>Next Release</p>
</div>
<div class="ip_circle_right">
<button class="ip_circle_btn future_btn">VIEW MORE</button>
</div>
<div class="clear"></div>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="ip_bio_tab_div">
<div class="ip_bio_head">
Total Balance
<div class="ip_bio_more">
</div>
</div>
<div class="ip_bio_detail textCenter">
<div class="ip_total_circle">
<div class="c100 p25">
<span><strong class="ip_counter" data-count="24.670">24.670</strong></span>
<div class="slice">
<div class="bar"></div>
<div class="fill"></div>
</div>
</div>
<div class="clear"></div>
</div>
<p>Total Balance</p>
<div class="ip_bio_bottom_bay">
<div class="ip_circle_left">
<strong>R$ 350</strong>
<p>Last Release</p>
</div>
<div class="ip_circle_right">
<button class="ip_circle_btn total_btn">VIEW MORE</button>
</div>
<div class="clear"></div>
</div>
</div>
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-4">
<div class="ip_bio_tab_div">
<div class="ip_bio_head">
Add Bank Account
<div class="ip_bio_more">
</div>
</div>
<div class="ip_bio_detail textCenter">
<div class="ip_bank_form">
<div class="ip_bank_row">
<div class="ip_bank_detail_frame">
<input class="ip_bank_input" placeholder="Bank">
</div>
</div>
<div class="ip_bank_row">
<div class="ip_bank_detail_frame">
<div class="row m0 height100">
<div class="col-md-4 p0 height100">
<input class="ip_bank_input" placeholder="Agency" style="border-right:2px solid #f5f5f5;">
</div>
<div class="col-md-8 p0 height100"><input class="ip_bank_input bordernone" placeholder="xxxx-xx"></div>
</div>
</div>
</div>
<div class="ip_bank_row">
<div class="ip_bank_detail_frame">
<div class="row m0 height100">
<div class="col-md-4 p0 height100">
<select class="ip_bank_input"style="border-right:2px solid #f5f5f5;">
<option>Account</option>
</select>
</div>
<div class="col-md-8 p0 height100"><input class="ip_bank_input bordernone" placeholder="xxxx-xx"></div>
</div>
</div>
</div>
<div class="ip_bank_row">
<div class="ip_bank_detail_frame">
<input class="ip_bank_input" placeholder="Name">
</div>
</div>
<div class="row m0 height100">
<div class="col-md-4 p0 height100">
<div class="ip_bank_detail_frame">
<select class="ip_bank_input">
<option>REGISTER</option>
</select>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="ip_bio_tab_div">
<div class="ip_bio_head">
Your Banks
<div class="ip_bank_setting_btn">
</div>
</div>
<div class="ip_bio_detail textCenter">
<div class="ip_bank_form">
<div class="ip_bank_row">
<div class="ip_bank_detail">
<li>
<div class="ip_bank_left">
<h6>ACW 4569554222 C/C 3436-134</h6>
<p>Lora isabela Michel</p>
</div>
<div class="ip_bank_close">
</div>
<div class="clear"></div>
</li>
<li>
<div class="ip_bank_left">
<h6>ACW 4569554222 C/C 3436-134</h6>
<p>Lora isabela Michel</p>
</div>
<div class="ip_bank_close">
</div>
<div class="clear"></div>
</li>
<li>
<div class="ip_bank_left">
<h6>ACW 4569554222 C/C 3436-134</h6>
<p>Lora isabela Michel</p>
</div>
<div class="ip_bank_close">
</div>
<div class="clear"></div>
</li>
<li>
<div class="ip_bank_left">
<h6>ACW 4569554222 C/C 3436-134</h6>
<p>Lora isabela Michel</p>
</div>
<div class="ip_bank_close">
</div>
<div class="clear"></div>
</li>
<li>
<div class="ip_bank_left">
<h6>ACW 4569554222 C/C 3436-134</h6>
<p>Lora isabela Michel</p>
</div>
<div class="ip_bank_close">
</div>
<div class="clear"></div>
</li>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="ip_bio_tab_div">
<div class="ip_bio_head">
Perform Redemption
<div class="ip_bio_more">
</div>
</div>
<div class="ip_bio_detail textCenter">
<div class="ip_bank_form">
<div class="ip_bank_row">
<div class="ip_requested">
<div class="ip_requested_circle">
<img src="<?php echo base_url();?>assets/images/ip_dollar.png">
</div>
<div class="ip_requested_detail">
<strong>R$ 2.500</strong>
<p>Requested value</p>
</div>
<div class="clear"></div>
</div>
</div>
<div class="ip_bank_row">
<div class="ip_bank_detail_frame">
<select class="ip_bank_input">
<option>Bank</option>
</select>
</div>
</div>
<div class="ip_bank_row">
<div class="ip_bank_detail_frame">
<div class="row m0 height100">
<div class="col-md-6 p0 height100">
<input class="ip_bank_input"style="border-right:2px solid #f5f5f5;" placeholder="Redemption Value">
</div>
<div class="col-md-6 p0 height100"><input class="ip_bank_input bordernone" placeholder="R$ 2500,00"></div>
</div>
</div>
</div>
<div class="ip_bank_row">
<button class="ip_circle_btn bal_btn">REQUEST REDEMPTION</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="menu7" class="tab-pane fade">
<div class="ip_messages_wrapper">
<h3>Menu 7</h3>
</div>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
......
<div class="ip_set_two_wrapper">
<div class="container ip_custom_container">
<div class="ip_edit_record_wrapper">
<div class="row">
<div class="col-md-8">
<div class="ip_edit_record_cover">
<div class="ip_edit_record_head backgroundnone">
Add collaborator
</div>
<div class="ip_edit_record_detail">
<form id="add-colaborator-form" role="form" data-parsley-validate="">
<div class="ip_edit_row">
<div class="ip_bank_detail_frame">
<input class="ip_bank_input" data-parsley-required="" name="name" onKeyPress="if(this.value.length > 40) return false;" data-parsley-minlength="5" data-parsley-pattern="^[a-zA-Z ]+$" placeholder="Name" data-parsley-required="">
</div>
</div>
<div class="ip_edit_row">
<div class="ip_bank_detail_frame">
<input class="ip_bank_input" placeholder="Email" data-parsley-required="" data-parsley-emailcolabor="" onKeyPress="if(this.value.length > 75) return false;" name="email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$">
</div>
</div>
<div class="ip_edit_row">
<div class="ip_bank_detail_frame">
<input class="ip_bank_input" name="password" data-parsley-required="" placeholder="Password" data-parsley-required="" data-parsley-minlength="8" onKeyPress="if(this.value.length > 25) return false;" type="Password">
</div>
</div>
<div class="ip_edit_row">
<div class="row">
<div class="col-md-6">
<p class="ip_row_p">Telephone</p>
<div class="ip_bank_detail_frame">
<input class="ip_bank_input" data-parsley-required="" type="number" onKeyPress="if(this.value.length > 25) return false;" placeholder="" name="telephone">
</div>
</div>
<div class="col-md-6">
<p class="ip_row_p">CPF</p>
<div class="ip_bank_detail_frame">
<input class="ip_bank_input" data-parsley-required="" name="cpf" placeholder="" data-parsley-required="" data-parsley-minlength="11" data-parsley-cpf="" onKeyPress="if(this.value.length > 10) return false;" type="number">
</div>
</div>
</div>
</div>
</form>
</div>
<hr>
<div class="ip_coloborator_btn_bay">
<a href="javascript:void(0)">
<button class="ip_colaborator_btn" type="button" id="add-colaborator-btn">Add collaborator</button>
</a>
<a href="javascript:void(0)">
<button class="ip_colaborator_delete_btn">Delete collaborator</button>
</a>
</div>
</div>
</div>
<div class="col-md-4">
<div class="ip_edit_record_cover">
<div class="ip_edit_record_head backgroundnone">
Authorize access
</div>
<div class="ip_edit_record_detail">
<div class="ip_edit_row">
<br>
<br>
<p class="ip_row_p">
Choose the areas that your collaborator can access,view, edit, and configure. These changes can be altered in the future
</p>
</div>
<br>
<div class="ip_notify_time">
<li>
<div class="ip_day_time_schedule_details_data p0">
<input id="checkbox-41" class="ip_custom_checkbox1" name="checkbox-41" type="checkbox" checked="">
<label for="checkbox-41" class="ip_custom_checkbox_label1">Appointment</label>
<div class="clear"></div>
</div>
</li>
<li>
<div class="ip_day_time_schedule_details_data p0">
<input id="checkbox-42" class="ip_custom_checkbox1" name="checkbox-42" type="checkbox" checked="">
<label for="checkbox-42" class="ip_custom_checkbox_label1">Messages</label>
<div class="clear"></div>
</div>
</li>
<div class="clearfix"></div>
</div>
<br>
</div>
<hr>
<div class="ip_coloborator_btn_bay">
<button class="ip_colaborator_btn floatRight">Authorize access</button>
<div class="clear"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...@@ -133,7 +133,7 @@ ...@@ -133,7 +133,7 @@
<div class="col-md-2 p0"> <div class="col-md-2 p0">
<div class="ip_record_name sent-broadcast-btn"> <div class="ip_record_name sent-broadcast-btn">
Message <span>Message</span><span><img src="<?php echo base_url();?>assets/images/ip_menu4.png"></span>
</div> </div>
</div> </div>
......
...@@ -134,8 +134,8 @@ ...@@ -134,8 +134,8 @@
</div> </div>
<div class="col-md-2 p0"> <div class="col-md-2 p0">
<div class="ip_record_name sent-broadcast-btn-sch"> <div class="ip_record_name sent-broadcast-btn">
Message <span>Message</span><span><img src="<?php echo base_url();?>assets/images/ip_menu4.png"></span>
</div> </div>
</div> </div>
......
<div class="modal-dialog" style=" box-shadow: 0px 0px 5px 0px #888888;border-top-right-radius: 8px;border-top-left-radius: 8px;" id="forgot-pass-div">
<div class="ip_patient_delete_pop_wrapper">
<div class="ip_paitent_delete_header">
FORGOT PASSWORD
</div>
<div class="ip_patient_delete_content">
<h5>WANT TO CHANGE PASSWORD?</h5>
<hr>
<p>Please fill your new credential details</p>
<div class="ip_patient_delete_form">
<form role="form" id="reset-password-form" data-parsley-validate="" >
<div class="ip_patient_delete_row">
<input type="hidden" name="id" value="<?php echo $id;?>">
<input type="hidden" name="type" value="<?php echo $type;?>">
<input class="ip_patient_input ip_paitent_delete_pass" placeholder=" New Password" name="password" data-parsley-minlength="8" data-parsley-required="true" onKeyPress="if(this.value.length > 25) return false;" type="Password" id="reset-form-pass">
</div>
<div class="ip_patient_delete_row">
<input class="ip_patient_input ip_paitent_delete_pass" placeholder="Confirmation New Password" data-parsley-equalto="#reset-form-pass" data-parsley-required type="Password" onKeyPress="if(this.value.length > 25) return false;">
</div>
<div class="ip_patient_delete_row">
<a href="javascript:void(0)">
<button class="ip_paitent_dark_btn floatLeft" type="button" id="reset-password-save-btn">SAVE</button>
</a>
<a href="<?php echo base_url();?>">
<button class="ip_paitent_delete_btn floatRight">CANCEL</button>
</a>
<div class="clear"></div>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="ip_set_two_wrapper hidden" id="forgot-pass-success">
<div class="">
<div class="modal-dialog" style=" box-shadow: 0px 0px 5px 0px #888888;border-top-right-radius: 8px;border-top-left-radius: 8px;">
<div class="ip_patient_delete_pop_wrapper">
<div class="ip_paitent_delete_header">
SUCCESS
</div>
<div class="ip_patient_delete_content">
<div class="textCenter">
<img style="width: 20%;" src="<?php echo base_url();?>assets/images/tick.png">
</div>
<h5>SUCCESS !</h5>
<hr>
<p>Your Password has been Updated! Kindly Login</p>
<div class="ip_patient_delete_form">
<div class="ip_patient_delete_row textCenter">
<a href="<?php echo base_url();?>">
<button class="ip_paitent_dark_btn" type="button">CONTINUE</button>
</a>
<div class="clear"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
\ No newline at end of file
<div class="ip_set_two_wrapper">
<div class="">
<div class="modal-dialog" style=" box-shadow: 0px 0px 5px 0px #888888;border-top-right-radius: 8px;border-top-left-radius: 8px;">
<div class="ip_patient_delete_pop_wrapper">
<div class="ip_paitent_delete_header">
ERROR
</div>
<div class="ip_patient_delete_content">
<div class="textCenter">
<img src="<?php echo base_url();?>assets/images/ip_error.png">
</div>
<h5>ERROR !</h5>
<hr>
<p>Invalid Credentials Provided!</p>
<div class="ip_patient_delete_form">
<div class="ip_patient_delete_row textCenter">
<!-- <button class="ip_paitent_dark_btn">OKAY</button> -->
<div class="clear"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
\ No newline at end of file
...@@ -36,8 +36,8 @@ ...@@ -36,8 +36,8 @@
</div> </div>
<div class="ip_edit_row"> <div class="ip_edit_row">
<div class="ip_bank_detail_frame"> <div class="ip_bank_detail_frame">
<input class="ip_bank_input" data-parsley-emaildoc="" onKeyPress="if(this.value.length > 75) return false;" name="email" data-parsley-required="true" <input class="ip_bank_input" data-parsley-emailcolabor="" onKeyPress="if(this.value.length > 75) return false;" name="email" data-parsley-required="true"
pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$"placeholder="Email"> pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$" placeholder="Email">
</div> </div>
</div> </div>
<div class="ip_edit_row"> <div class="ip_edit_row">
......
...@@ -275,8 +275,12 @@ ...@@ -275,8 +275,12 @@
<ul class="dropdown-menu ip_nav_profile_listing"> <ul class="dropdown-menu ip_nav_profile_listing">
<div class="ip_arrow_up"></div> <div class="ip_arrow_up"></div>
<li>Add Collaborator</li> <li>
<li>Edit Collaborator</li> <a href="<?php echo base_url();?>Doctor/addColaborator">Add Collaborator</a>
</li>
<li>
<a href="<?php echo base_url();?>Doctor/editColaborator">Edit Collaborator</a>
</li>
<li class="bordernone"> <li class="bordernone">
<a href="<?php echo base_url()?>Home/logout">Sign Out</a> <a href="<?php echo base_url()?>Home/logout">Sign Out</a>
</li> </li>
......
...@@ -538,6 +538,7 @@ body::-webkit-scrollbar { ...@@ -538,6 +538,7 @@ body::-webkit-scrollbar {
.ip_record_pic{width:40px;height:40px;border-radius:50%;background: #f5f5f5;float: left;} .ip_record_pic{width:40px;height:40px;border-radius:50%;background: #f5f5f5;float: left;}
.ip_record_pic img{width:100%;height:100%;border-radius:50%;} .ip_record_pic img{width:100%;height:100%;border-radius:50%;}
.ip_record_name{float: left;color: #797979;font-weight: 700;padding:10px;padding-left: 30px;} .ip_record_name{float: left;color: #797979;font-weight: 700;padding:10px;padding-left: 30px;}
.ip_record_name a{text-decoration: none;color: #797979;}
.ip_record_listing ul li .ip_schedule_check{position: relative;top: 13px;left: 11px;} .ip_record_listing ul li .ip_schedule_check{position: relative;top: 13px;left: 11px;}
.ip_record_document{width:100%; white-space: nowrap; .ip_record_document{width:100%; white-space: nowrap;
overflow: hidden; overflow: hidden;
...@@ -605,7 +606,7 @@ body::-webkit-scrollbar { ...@@ -605,7 +606,7 @@ body::-webkit-scrollbar {
.ip_message_typing_input:-ms-input-placeholder {color:#797979;font-weight:700;} .ip_message_typing_input:-ms-input-placeholder {color:#797979;font-weight:700;}
.ip_message_typing_input:-moz-placeholder {color:#797979;font-weight:700;} .ip_message_typing_input:-moz-placeholder {color:#797979;font-weight:700;}
.ip_emoji_btn{float: right;width:60px;height:100%;background:url("../images/ip_emoji.png");background-repeat: no-repeat;background-position:center;background-size:45px;} .ip_emoji_btn{float: right;width:60px;height:100%;background:url("../images/ip_emoji.png");background-repeat: no-repeat;background-position:center;background-size:45px;}
.ip_send_btn{float: right;height:35px;color: #fff;background:#3bcfff;border-radius:3px;padding-left:25px;padding-right:25px;padding-top:8px;padding-bottom:8px;font-weight: 600;position: relative;top: 10px;cursor:pointer;} .ip_send_btn{float: right;height:35px;color: #fff;border:none !important;background:#3bcfff;border-radius:3px;padding-left:25px;padding-right:25px;padding-top:8px;padding-bottom:8px;font-weight: 600;position: relative;top: 10px;cursor:pointer;}
/*SET_TWO_SCREEN_SIX*/ /*SET_TWO_SCREEN_SIX*/
...@@ -1878,7 +1879,7 @@ fieldset[disabled] .datepicker table tr td span.active.disabled:hover.active { ...@@ -1878,7 +1879,7 @@ fieldset[disabled] .datepicker table tr td span.active.disabled:hover.active {
.ip_doc_dash_tab ul .active{ border-bottom: 3px solid #3bcfff;} .ip_doc_dash_tab ul .active{ border-bottom: 3px solid #3bcfff;}
.ip_doc_dash_tab ul li{border-bottom: 3px solid transparent;width:50%;cursor:pointer;text-align: center;padding:18px;float: left;list-style: none;color: #797979; .ip_doc_dash_tab ul li{border-bottom: 3px solid transparent;width:50%;cursor:pointer;text-align: center;padding:18px;float: left;list-style: none;color: #797979;
font-size: 18px;} font-size: 18px;}
button[disabled], html input[disabled]{background: #fafafa !important;} button[disabled], html input[disabled]{background: #d6d6d6 !important;border:none !important;}
.ip_schedule_div .ip_schedule_week .parsley-errors-list{display: none !important;} .ip_schedule_div .ip_schedule_week .parsley-errors-list{display: none !important;}
.ip_schedule_div .ip_schedule_week .parsley-errors-list .parsley-required{display: none !important;} .ip_schedule_div .ip_schedule_week .parsley-errors-list .parsley-required{display: none !important;}
.ip_schedule_input_duration { .ip_schedule_input_duration {
...@@ -1971,8 +1972,8 @@ button[disabled], html input[disabled]{background: #fafafa !important;} ...@@ -1971,8 +1972,8 @@ button[disabled], html input[disabled]{background: #fafafa !important;}
/*SENT BROADCAST SUCCESS*/ /*SENT BROADCAST SUCCESS*/
.ip_main_tab_content h1 strong{color: #a9a9a9;font-weight: 400;} .ip_main_tab_content h1 strong{color: #a9a9a9;font-weight: 400;}
.ip_main_tab_content .success_content{padding: 45px;} .ip_main_tab_content .success_content{padding: 45px;}
.sent-broadcast-btn span {position: relative;bottom: 10px;}
.sent-broadcast-btn span img{width:40px;}
var App = angular.module('myApp', ['firebase']); var App = angular.module('myApp', ['firebase','ngSanitize']);
App.controller("mainCtrl", function($scope,$timeout,$firebaseObject,$rootScope,$http) App.controller("mainCtrl", function($scope,$timeout,$firebaseObject,$rootScope,$http,$sce)
{ {
$scope.variables = {}; $scope.variables = {};
...@@ -12,19 +12,21 @@ $scope.session; ...@@ -12,19 +12,21 @@ $scope.session;
$.get( base_url+'Home/get_session', function( data ) $.get( base_url+'Home/get_session', function( data )
{ {
//console.log("connect")
$scope.session = jQuery.parseJSON(data); $scope.session = jQuery.parseJSON(data);
//console.log($scope.session) //console.log($scope.session)
}) })
$timeout(function()
{
$.get( base_url+'Home/get_opponentData', function( data ) $.get( base_url+'Home/get_opponentData', function( data )
{ {
//console.log("connect") //console.log("connect")
var opponent_user = jQuery.parseJSON(data); var opponent_user = jQuery.parseJSON(data);
if(opponent_user.status!='error') if(opponent_user.status!='error')
{$scope.load_chat(opponent_user);} {$scope.load_chat(opponent_user);}
}) })
},200);
$scope.load_recent_chat = function() $scope.load_recent_chat = function()
{ {
...@@ -127,18 +129,11 @@ $scope.load_chat =function(object) ...@@ -127,18 +129,11 @@ $scope.load_chat =function(object)
// connectedRef.on("value", function(snap) { // connectedRef.on("value", function(snap) {
} }
/*doctor_id:30
doctor_name:"Jithin" $scope.trustAsHtml = function(string)
doctor_photo:"assets/" {
message:"doctor assd Testing" return $sce.trustAsHtml(string);
patient_id:156 };
patient_name:"Reeba"
patient_photo:"assets/"
photo_url:""
sender_type:1
time:1522753020000
type:0
video_url:""*/
$scope.sentmsg = function (msg,opp) $scope.sentmsg = function (msg,opp)
{ {
...@@ -204,10 +199,7 @@ $scope.sentmsg = function (msg,opp) ...@@ -204,10 +199,7 @@ $scope.sentmsg = function (msg,opp)
firebase.database().ref('chats/'+$scope.chat_id+'/').push(object); //Update msg in firebase firebase.database().ref('chats/'+$scope.chat_id+'/').push(object); //Update msg in firebase
if($scope.session.type=="DOCTOR")
{
}
if($scope.session.type=="DOCTOR") if($scope.session.type=="DOCTOR")
{recent_obj.sender_type = 1;} {recent_obj.sender_type = 1;}
if($scope.session.type=="PATIENT") if($scope.session.type=="PATIENT")
......
...@@ -114,7 +114,6 @@ Global_getLocation = function() ...@@ -114,7 +114,6 @@ Global_getLocation = function()
{ {
var item = navigator.geolocation.getCurrentPosition(Global_showPosition); var item = navigator.geolocation.getCurrentPosition(Global_showPosition);
} }
} }
Global_showPosition = function(position) Global_showPosition = function(position)
...@@ -214,7 +213,6 @@ function doc_edit_loadthumbnail(file) ...@@ -214,7 +213,6 @@ function doc_edit_loadthumbnail(file)
var m = today.getMinutes(); var m = today.getMinutes();
var s = today.getSeconds(); var s = today.getSeconds();
var stamp = ""+mm+"/"+dd+"/"+yyyy+" "+h+":"+m+":"+s; var stamp = ""+mm+"/"+dd+"/"+yyyy+" "+h+":"+m+":"+s;
return stamp; return stamp;
} }
...@@ -250,6 +248,58 @@ function certificate_images_loadthumbnail(file) ...@@ -250,6 +248,58 @@ function certificate_images_loadthumbnail(file)
$(function(){ $(function(){
/*DOCTOR REGISTRATION-WIZARD STARTS*/
/*----------------------------------*/
window.Parsley.addValidator('emailcolabor', {
requirementType: 'string',
validateString: function(value, requirement)
{
var obj = {'email':value }
var status;
var result = post_ajax(base_url+'Home/check_email_colabor',obj);
var items = JSON.parse(result);
if(items.message!="success")
{
status = false;
}
else
{
status = true;
}
return status;
},
messages: { en: 'Email not Available!' }
});
$('#add-colaborator-btn').click(function()
{
if($('#add-colaborator-form').parsley().validate())
{
var result = post_ajax(base_url+'Doctor/saveColaborator',$('#add-colaborator-form').serialize());
var items = JSON.parse(result);
if(items.status=="success")
{
}
}
})
//Reset password save btn
$('#reset-password-save-btn').click(function(){
if($('#reset-password-form').parsley().validate())
{
var result = post_ajax(base_url+'Home/sav_reset',$('#reset-password-form').serialize());
var items = JSON.parse(result);
if(items.status=="success")
{
$('#forgot-pass-div').addClass('hidden');
$('#forgot-pass-success').removeClass('hidden');
}
}
})
$('#broadcast-msg-sent-btn').click(function(){ $('#broadcast-msg-sent-btn').click(function(){
var broadcast_msg= $("#broadcasttext").val(CKEDITOR.instances.broadcasttext.getData())[0].value; var broadcast_msg= $("#broadcasttext").val(CKEDITOR.instances.broadcasttext.getData())[0].value;
...@@ -339,7 +389,6 @@ $(function(){ ...@@ -339,7 +389,6 @@ $(function(){
{ {
$('#sentmail-dialog-error').modal('show'); $('#sentmail-dialog-error').modal('show');
} }
}) })
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment