Viewing file: Admin_model.php (9.73 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
class Admin_model extends CI_Model
{
public function getFivesim(){
$q =$this->db->like("callback", "fivesim","both");
return $this->db->get("services")->result_array();
}
public function getApiBalance(){
$this->load->library("fivesim_api");
$this->load->library("smsactivate_api");
return array(
"5sim.net" => $this->fivesim_api->get_balance(),
"sms-activate.ru" => $this->smsactivate_api->get_balance(),
);
}
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 getTotalUsersCount(){
return $this->db->get('users')->num_rows();
}
public function getActiveTicketsCount(){
return $this->db->get_where('tickets', array('status' => 0))->num_rows();
}
public function getUsers(){
return $this->db->order_by('id', 'DESC')->get('users')->result_array();
}
public function getUser($id){
$res = $this->db->get_where('users', array('id' => $id))->result_array();
return count($res) > 0 ? $res[0] : null;
}
public function getTotalUserBalance() {
return $this->db->select_sum('balance')->from('users')->get()->result_array()[0]["balance"];
}
public function getTransactions() {
return $this->db->select('transactions.*, users.name')->from('transactions')->order_by('id', 'DESC')->join('users', 'users.id=transactions.user')->limit(5000)->get()->result_array();
}
public function getTickets() {
return $this->db->select('tickets.*, users.email AS user_email')->from('tickets')->order_by('id', 'DESC')->join('users', 'users.id=tickets.user')->get()->result_array();
}
public function getServices() {
return $this->db->select('services.*, categories.name AS category')->from('services')->order_by('id', 'DESC')->join('categories', 'categories.id=services.category')->get()->result_array();
}
public function getCategories() {
return $this->db->order_by("name")->get("categories")->result_array();
}
public function getCategoriesDesc() {
return $this->db->order_by("id", "DESC")->get("categories")->result_array();
}
public function getCoupons() {
return $this->db->order_by("id", "DESC")->get("coupons")->result_array();
}
public function updateUser($name, $email, $city, $address, $balance, $type, $balance_diff, $user_id) {
$this->db->set('name', $name)->set('city', empty($city) ? "" : $city)->set('address', empty($address) ? "" : $address)->set('email', $email)->set('balance', $balance)->set('type', $type)->where('id', $user_id)->update('users');
if($balance_diff != 0) {
$this->insertTransaction('update_balance:'.(string)$balance_diff, $user_id);
}
}
public function checkEmail($email) {
return $this->db->get_where('users', array('email' => $email))->num_rows() == 1;
}
public function updatePassword($password, $user_id) {
$this->db->set('password', md5($password))->where('id', $user_id)->update('users');
}
public function getTicket($ticket_id){
$d = $this->db->select('tickets.*, users.email AS user_email')->from('tickets')->where('tickets.id',$ticket_id)->order_by('id', 'DESC')->join('users', 'users.id=tickets.user')->get()->result_array();
return count($d) == 1 ? $d[0] : array();
}
public function getService($service_id){
$d = $this->db->get_where("services", array("id" => $service_id))->result_array();
return count($d) == 1 ? $d[0] : array();
}
public function getCoupon($id){
$d = $this->db->get_where("coupons", array("id" => $id))->result_array();
return count($d) == 1 ? $d[0] : array();
}
public function getCategory($id){
$d = $this->db->get_where("categories", array("id" => $id))->result_array();
return count($d) == 1 ? $d[0] : 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 getPages(){
return $this->db->order_by('name')->get('pages')->result_array();
}
public function getAnnouncements(){
return $this->db->order_by('id', 'DESC')->get('announcements')->result_array();
}
public function getUserTransactions($user_id){
return $this->db->order_by('id', 'DESC')->get_where('transactions',array('user' => $user_id))->result_array();
}
public function getUserActivations($user_id){
return $this->db->select('activations.*, categories.icon')->from('activations')->join('services', 'services.id=activations.service_id')->join('categories', 'categories.id=services.category')->where(array('activations.user' => $user_id))->get()->result_array();
}
public function getPage($id){
$d = $this->db->get_where('pages', array('id' => $id))->result_array();
return count($d) == 1 ? $d[0] : array();
}
public function insertSupportTicketMessage($ticket_id, $message, $user_id) {
$ticket = $this->db->get_where('tickets', array('id' => $ticket_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', 1)->where('id', $ticket_id)->update('tickets');
}
public function insertService($name, $category, $price, $callback, $auto_price, $rate) {
return $this->db->insert('services', array(
"id" => null,
"name" => $name,
"category" => $category,
"price" => $price,
"callback" => $callback,
"auto_price" => $auto_price == 1 ? 1 : 0,
"rate" => $rate
));
}
public function insertAnnouncement($text) {
return $this->db->insert('announcements', array(
"id" => null,
"text" => $text,
"time" => time(),
));
}
public function insertCoupon($until, $max, $amount) {
return $this->db->insert('coupons', array(
"id" => null,
"code" => strtoupper(uniqid()),
"used" => 0,
"max_use" => $max,
"valid_until" => $until,
"amount" => $amount,
));
}
public function insertCategory($name, $icon, $color) {
return $this->db->insert('categories', array(
"id" => null,
"name" => $name,
"icon" => $icon,
"color" => $color
));
}
public function updateService($name, $category, $price, $callback, $auto_price, $rate, $service_id) {
return $this->db->set("name", $name)->set("category", $category)->set("price", $price)->set("auto_price", $auto_price == 1 ? 1 : 0)->set("rate", $rate)->set("callback", $callback)->where("id", $service_id)->update("services");
}
public function updateCoupon($until, $max, $amount, $coupon_id) {
return $this->db->set("valid_until", $until)->set("max_use", $max)->set("amount", $amount)->where("id", $coupon_id)->update("coupons");
}
public function updateCategory($name, $icon, $color, $id) {
return $this->db->set("name", $name)->set("icon", $icon)->set("color", $color)->where("id", $id)->update("categories");
}
public function updateSetting($name, $value) {
return $this->db->set("value", $value)->where("name", $name)->update("configs");
}
public function updatePage($content, $id) {
return $this->db->set("content", $content)->where("id", $id)->update("pages");
}
public function deleteService($service_id) {
return $this->db->where("id", $service_id)->delete("services");
}
public function deleteCategory($id) {
return $this->db->where("id", $id)->delete("categories") && $this->db->where("category", $id)->delete("services");
}
public function deleteAnnouncement($id) {
return $this->db->where("id", $id)->delete("announcements");
}
public function deleteCoupon($coupon_id) {
return $this->db->where("id", $coupon_id)->delete("coupons");
}
public function deleteUser($user_id) {
return $this->db->where("id", $user_id)->delete("users");
}
}
?>
|