Viewing file: Panel_model.php (4.39 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
class Panel_model extends CI_Model
{
public function insertTransaction($type,$user_id) {
return $this->db->insert('transactions', array(
"id" => null,
"type" => $type,
"user" => $user_id,
"time" => time()
));
}
public function getUserByEmail($email){
return $this->db->get_where('users', array('email' => $email))->result_array()[0];
}
public function getTicket($ticket_id, $user_id){
$d = $this->db->get_where('tickets', array('id' => $ticket_id, 'user' => $user_id))->result_array();
return count($d) == 1 ? $d[0] : array();
}
public function getCoupon($coupon_code){
$d = $this->db->get_where('coupons', array('code' => $coupon_code))->result_array();
return count($d) == 1 ? $d[0] : array();
}
public function checkUserUsedCoupon($coupon_code, $user_id){
$s = "use_coupon:$coupon_code";
$d = $this->db->select('id')->where('user', $user_id)->like('type', $s)->from('transactions')->get()->result_array();
return count($d) > 0;
}
public function getPageContent($page_name){
$d = $this->db->get_where('pages', array('name' => $page_name))->result_array();
return count($d) == 1 ? $d[0]["content"] : "";
}
public function getUserTickets($user_id){
return $this->db->order_by('id', 'DESC')->get_where('tickets', array('user' => $user_id))->result_array();
}
public function getTicketReplies($ticket_id){
return $this->db->order_by('id', 'DESC')->get_where('ticket_messages', array('ticket_id' => $ticket_id))->result_array();
}
public function getAnnouncements(){
return $this->db->order_by('id', 'DESC')->get('announcements')->result_array();
}
public function getCategories() {
return $this->db->order_by("id")->get('categories')->result_array();
}
public function usedNumberCount($user_id) {
return $this->db->get_where('activations', array('user' => $user_id, 'status' => '1'))->num_rows();
}
public function supportTicketCount($user_id) {
return $this->db->get_where('tickets', array('user' => $user_id))->num_rows();
}
public function getUserTransactions($user_id) {
return $this->db->order_by('id', 'DESC')->get_where('transactions', array('user' => $user_id))->result_array();
}
public function insertSupportTicket($title, $message, $user_id) {
return $this->db->insert('tickets', array(
"id" => null,
"name" => $title,
"user" => $user_id,
"status" => 0,
"time" => time()
)) && $this->db->insert('ticket_messages', array(
"id" => null,
"message" => $message,
"ticket_id" => $this->db->insert_id(),
"user" => $user_id,
"time" => time()
));
}
public function insertSupportTicketMessage($ticket_id, $message, $user_id) {
$ticket = $this->db->get_where('tickets', array('id' => $ticket_id, 'user' => $user_id))->result_array()[0];
return $this->db->insert('ticket_messages', array(
"id" => null,
"message" => $message,
"ticket_id" => $ticket["id"],
"user" => $user_id,
"time" => time()
)) && $this->db->set('status', 0)->where('id', $ticket_id)->update('tickets');
}
public function updateProfile($name, $city, $address, $user_id) {
$this->db->set('name', $name)->set('city', empty($city) ? "" : $city)->set('address', empty($address) ? "" : $address)->where('id', $user_id)->update('users');
}
public function updatePassword($password, $user_id) {
$this->db->set('password', md5($password))->where('id', $user_id)->update('users');
}
public function resetApiKey($user_id) {
$this->db->set('api_key', md5($user_id.(string)time()))->where('id', $user_id)->update('users');
}
public function useCoupon($coupon_code, $amount, $user_id) {
$this->db->query("UPDATE coupons SET used = used + 1 WHERE code = '$coupon_code'");
$this->db->query("UPDATE users SET balance = balance + $amount WHERE id = $user_id");
$this->insertTransaction("use_coupon:$coupon_code:$amount",$user_id);
}
}
?>
|