Viewing file: Admin.php (43.03 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Admin extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->load->model('admin_model');
$this->lang->load('admin');
$this->user = $this->admin_model->getUserByEmail($this->session->login);
if (!$this->session->userdata("login") || !isset($this->user["id"]) || $this->user["type"] != 1) {
redirect('/panel');
die();
}
}
public function index()
{
$data["currentVersion"] = 2;
$data["title"] = $this->lang->line("admin_panel") . " - " . $this->config->item("site_name");
$data["page"] = "admin";
$data["user"] = $this->user;
$data["active"] = $this->admin_model->db->order_by('last_active', 'desc')->get_where("users", "last_active > " . (time() - 300))->result_array();
$data["total_user_balance"] = number_format($this->admin_model->getTotalUserBalance(), 2);
$data["total_users_count"] = $this->admin_model->getTotalUsersCount();
$data["active_tickets_count"] = $this->admin_model->getActiveTicketsCount();
$data["transactions"] = $this->admin_model->getTransactions();
$data["categories"] = $this->admin_model->getCategories();
$data["api_balances"] = $this->admin_model->getApiBalance();
$update = [
"version" => 0,
"announcement" => "Duyuru sunucusuna bağlanılamadı!",
"announcement_date" => date("d/m/Y")
];
$data["update"] = $update;
if ($this->input->post("provider") != NULL) {
$rub = 0.1;
if (in_array($this->config->item("money_sign"), ['TL', 'TRY', '₺', 'tl'])) {
$json = file_get_contents('https://dovizkurlari-l6vtviaacq-uc.a.run.app/api/doviz/rub');
$obj = json_decode($json);
$rub = $obj->ForexSelling;
$rub = floatval($rub);
}
if ($this->input->post("provider") == "smsactivate") {
$services = $this->admin_model->db->get_where("services", "callback LIKE 'smsactivate%' AND category = " . intval($this->input->post("site_category")))->result_array();
$this->load->library("smsactivate_api");
$api_key = $this->config->item("smsactivate_api_key");
$countries = $this->smsactivate_api->get_countries();
$url = "https://sms-activate.ru/stubs/handler_api.php?api_key=$api_key&action=getPrices";
$c_data = json_decode(file_get_contents($url), 1);
foreach ($countries as $country) {
$category = $this->input->post("provider_category");
$lang = [
'tr' => $countries = array(
"0" => "Rusya",
"1" => "Ukrayna",
"2" => "Kazakistan",
"3" => "Çin",
"4" => "Filipinler",
"5" => "Myanmar",
"6" => "Endonezya",
"7" => "Malezya",
"8" => "Kenya",
"10" => "Vietnam",
"11" => "Kırgızistan",
"12" => "Amerika",
"13" => "İsrail",
"14" => "Hong Kong",
"15" => "Polonya",
"16" => "İngiltere",
"17" => "Madagaskar",
"18" => "Kongo",
"19" => "Nijerya",
"20" => "Makao",
"21" => "Mısır",
"22" => "Hindistan",
"23" => "İrlanda",
"24" => "Kamboçya",
"25" => "laos",
"26" => "Haiti",
"27" => "Fildişi",
"28" => "Gambiya",
"29" => "Sırbistan",
"30" => "Yemen",
"31" => "Güney Afrika",
"32" => "Romanya",
"33" => "Kolombiya",
"34" => "Estonya",
"35" => "Azerbaycan",
"36" => "Kanada",
"37" => "Fas",
"38" => "Gana",
"39" => "Arjantin",
"40" => "Özbekistan",
"41" => "Kamerun",
"42" => "Çad",
"43" => "Almanya",
"44" => "Litvanya",
"45" => "Hırvatistan",
"46" => "İsveç",
"47" => "Irak",
"48" => "Hollanda",
"49" => "Letonya",
"50" => "Avusturya",
"51" => "Belarus",
"52" => "Tayland",
"53" => "Suudi Arabistan",
"54" => "Meksika",
"55" => "Tayvan",
"56" => "ispanya",
"57" => "İran",
"58" => "Cezayir",
"59" => "Slovenya",
"60" => "Bangladeş",
"61" => "Senegal",
"62" => "Türkiye",
"63" => "Çek",
"64" => "Srilanka",
"65" => "Peru",
"66" => "Pakistan",
"67" => "Yeni Zelanda",
"68" => "Gine",
"69" => "Mali",
"70" => "Venezuela",
"71" => "Etiyopya",
"72" => "Moğolistan",
"73" => "Brezilya",
"74" => "Afganistan",
"75" => "Uganda",
"76" => "Angola",
"77" => "Kıbrıs",
"78" => "Fransa",
"79" => "Papua",
"80" => "Mozambik",
"81" => "Nepal",
"82" => "Belçika",
"83" => "Bulgaria",
"84" => "Macaristan",
"85" => "Moldavya",
"86" => "İtalya"
)
];
$country_name = $country['name'];
if (isset($lang[$this->config->item('language')]) && isset($lang[$this->config->item('language')][$country['id']])) {
$country_name = $lang[$this->config->item('language')][$country['id']];
}
$callback = 'smsactivate,' . $country['id'] . ',' . $category;
if (count(array_filter($services, function ($d) use ($callback) {
return $d['callback'] == $callback;
})) == 0) {
if (isset($c_data[$country['id']]) && isset($c_data[$country['id']][$category]['cost'])) {
$data = $c_data[$country['id']][$category];
$price = $data['cost'] * $rub;
$price += ($price / 100) * floatval($this->input->post("rate"));
$price = floatval(number_format($price, 2, '.', ''));
$this->admin_model->insertService($country_name, $this->input->post("site_category"), $price, $callback, 1, floatval($this->input->post("rate")));
}
}
}
header('Location: ' . base_url('admin?success=true'));
exit;
} elseif ($this->input->post('provider') == "5sim") {
$this->load->library("fivesim_api");
$countries = $this->fivesim_api->get_countries_new();
$prices = json_decode(file_get_contents("https://5sim.net/v1/guest/prices"), true);
$category = $this->input->post("provider_category");
$services = $this->admin_model->db->get_where("services", "callback LIKE 'fivesim%' AND category = " . intval($category))->result_array();
$arr = array();
foreach ($countries as $country) {
$callback = 'fivesim,' . $country['code'] . ',' . $category;
if (count(array_filter($services, function ($d) use ($callback) {
return $d['callback'] == $callback;
})) == 0) {
if (isset($category) && isset($prices[$country["code"]]) && isset($prices[$country["code"]][$category])) {
$pricesForCountry = array_filter($prices[$country["code"]][$category], function ($d) {
return ($d != 0);
});
usort($pricesForCountry, function ($first, $second) {
return $first["cost"] > $second["cost"];
});
$price = $pricesForCountry[0]["cost"] * $rub;
$price += ($price / 100) * floatval($this->input->post("rate"));
$price = floatval(number_format($price, 2, '.', ''));
array_push($arr, array(
"name" => $country["name"],
"price" => $price,
"category" => $category,
"callback" => $callback
));
$this->admin_model->insertService($country["name"], $this->input->post("site_category"), $price, $callback, 1, floatval($this->input->post("rate")));
}
}
}
header('Location: ' . base_url('admin?success=true'));
exit;
}
}
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/index', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
}
public function numbers($key = null)
{
if ($key == 'get') {
$this->load->model('Activation_model');
$data = $row = array();
$acs = $this->Activation_model->getRows($_POST);
$i = isset($_POST['start']) ? intval($_POST['start']) : 0;
foreach ($acs as $ac) {
$ac = (array)$ac;
$i++;
$status = '';
switch ($ac["status"]) {
case 0:
$status = $this->lang->line("activation_waiting");
break;
case 1:
$status = $this->lang->line("activation_ok");
break;
case -1:
$status = $this->lang->line("activation_canceled");
break;
}
$data[] = [
'id' => $ac['id'],
'user' => "<a href='/admin/user/" . $ac['user'] . "' target='_blank'>" . $ac['username'] . "</a>",
'number' => htmlspecialchars($ac['number']),
'service_id' => htmlspecialchars($ac['category_name'] . " (" . $ac['service_name'] . ")"),
'message' => htmlspecialchars($ac['message']),
'status' => $status,
'time' => date('d.m.Y H:i:s', $ac['time'])
];
}
$output = array(
"draw" => isset($_POST['draw']) ? $_POST['draw'] : 100,
"recordsTotal" => $this->Activation_model->countAll(),
"recordsFiltered" => $this->Activation_model->countFiltered($_POST),
"data" => $data,
);
die(json_encode($output));
}
$data["title"] = $this->lang->line("numbers") . " - " . $this->config->item("site_name");
$data["page"] = "numbers";
$data["user"] = $this->user;
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/numbers', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
}
public function users()
{
$data["title"] = $this->lang->line("users") . " - " . $this->config->item("site_name");
$data["page"] = "users";
$data["user"] = $this->user;
$data["users"] = $this->admin_model->getUsers();
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/users', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
}
public function user($id)
{
$data["title"] = $this->lang->line("user") . ": $id - " . $this->config->item("site_name");
$data["page"] = "users";
$data["user"] = $this->admin_model->getUser($id);
if (isset($data["user"]["id"])) {
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/user', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
} else {
header("Location: /admin/users");
}
}
public function update_user()
{
if ($this->input->post("name") && $this->input->post("email") && isset($_POST["balance"]) && isset($_POST["id"]) && isset($_POST["type"])) {
$user = $this->admin_model->getUser($this->input->post("id"));
if ($user["email"] != $this->input->post("email") && $this->admin_model->checkEmail($this->input->post("email"))) {
echo json_encode(array(
"success" => false,
"title" => $this->lang->line("email_already_exists"),
"message" => $this->lang->line("email_already_exists_message")
));
} else {
$this->admin_model->updateUser($this->input->post("name"), $this->input->post("email"), $this->input->post("city"), $this->input->post("address"), $this->input->post("balance"), $this->input->post("type"), $this->input->post("balance") - $user["balance"], $this->input->post("id"));
if ($this->input->post("password") && $this->input->post("password") != "") {
if (strlen($this->input->post("password")) > 5) {
$this->admin_model->updatePassword($this->input->post("password"), $this->input->post("id"));
echo json_encode(array(
"success" => true,
"title" => $this->lang->line("user_updated"),
"message" => $this->lang->line("user_updated_message")
));
} else {
echo json_encode(array(
"success" => false,
"title" => $this->lang->line("password_too_short"),
"message" => $this->lang->line("password_too_short_message")
));
}
} else {
echo json_encode(array(
"success" => true,
"title" => $this->lang->line("user_updated"),
"message" => $this->lang->line("user_updated_message")
));
}
}
}
}
public function tickets()
{
$data["title"] = $this->lang->line("tickets") . " - " . $this->config->item("site_name");
$data["page"] = "tickets";
$data["user"] = $this->user;
$data["tickets"] = $this->admin_model->getTickets();
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/tickets', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
}
public function ticket($ticket_id)
{
$data["title"] = $this->lang->line("support_ticket") . ": " . $ticket_id . " - " . $this->config->item("site_name");
$data["page"] = "tickets";
$data["user"] = $this->user;
$data["ticket"] = $this->admin_model->getTicket($ticket_id);
if (isset($data["ticket"]["id"])) {
$data["ticket_replies"] = $this->admin_model->getTicketReplies($ticket_id);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/ticket', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
} else {
header("Location: /admin/tickets");
}
}
public function services()
{
$data["title"] = $this->lang->line("services") . " - " . $this->config->item("site_name");
$data["page"] = "services";
$data["user"] = $this->user;
$data["services"] = $this->admin_model->getServices();
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/services', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
}
public function categories()
{
$data["title"] = $this->lang->line("categories") . " - " . $this->config->item("site_name");
$data["page"] = "categories";
$data["user"] = $this->user;
$data["categories"] = $this->admin_model->getCategoriesDesc();
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/categories', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
}
public function coupons()
{
$data["title"] = $this->lang->line("coupons") . " - " . $this->config->item("site_name");
$data["page"] = "coupons";
$data["user"] = $this->user;
$data["coupons"] = $this->admin_model->getCoupons();
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/coupons', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
}
public function add_service()
{
$data["title"] = $this->lang->line("add_service") . " - " . $this->config->item("site_name");
$data["page"] = "services";
$data["user"] = $this->user;
$data["categories"] = $this->admin_model->getCategories();
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/add_service', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
}
public function add_category()
{
$data["title"] = $this->lang->line("add_category") . " - " . $this->config->item("site_name");
$data["page"] = "categories";
$data["user"] = $this->user;
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/add_category', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
}
public function add_coupon()
{
$data["title"] = $this->lang->line("add_coupon") . " - " . $this->config->item("site_name");
$data["page"] = "coupons";
$data["user"] = $this->user;
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/add_coupon', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
}
public function service($id)
{
$data["title"] = $this->lang->line("service") . ": " . $id . " - " . $this->config->item("site_name");
$data["page"] = "services";
$data["user"] = $this->user;
$data["service"] = $this->admin_model->getService($id);
if (isset($data["service"]["id"])) {
$data["categories"] = $this->admin_model->getCategories();
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/service', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
} else {
header("Location: /admin/services");
}
}
public function category($id)
{
$data["page"] = "categories";
$data["user"] = $this->user;
$data["category"] = $this->admin_model->getCategory($id);
if (isset($data["category"]["id"])) {
$data["title"] = $this->lang->line("category") . ": " . $data["category"]["name"] . " - " . $this->config->item("site_name");
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/category', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
} else {
header("Location: /admin/categories");
}
}
public function coupon($id)
{
$data["page"] = "coupons";
$data["user"] = $this->user;
$data["coupon"] = $this->admin_model->getCoupon($id);
if (isset($data["coupon"]["id"])) {
$data["title"] = $this->lang->line("coupon") . ": " . $data["coupon"]["code"] . " - " . $this->config->item("site_name");
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/coupon', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
} else {
header("Location: /admin/services");
}
}
public function edit_page($page_id)
{
$data["page"] = "pages";
$data["user"] = $this->user;
$data["page"] = $this->admin_model->getPage($page_id);
if (isset($data["page"]["id"])) {
$data["title"] = $this->lang->line("edit_page") . ": " . $this->lang->line($data["page"]["name"]) . " - " . $this->config->item("site_name");
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/edit_page', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
} else {
header("Location: /admin/");
}
}
public function transactions($user_id)
{
$data["page"] = "transactions";
$data["user"] = $this->admin_model->getUser($user_id);
if (isset($data["user"]["id"])) {
$data["transactions"] = $this->admin_model->getUserTransactions($user_id);
$data["activations"] = $this->admin_model->getUserActivations($user_id);
$data["title"] = $this->lang->line("transaction_logs") . ": " . $user_id . " - " . $this->config->item("site_name");
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/transactions', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
} else {
redirect('/admin/users');
}
}
public function uploadPng($tmp_name, $path)
{
if (file_exists($path)) {
unlink($path);
}
$p = explode('.', $path);
$e = strtolower(end($p));
if ($e == 'gif') {
imagepng(imagecreatefromgif($tmp_name), $path);
} elseif ($e == 'jpeg' || $e == 'jpg') {
imagepng(imagecreatefromjpeg($tmp_name), $path);
} elseif ($e == 'png') {
move_uploaded_file($tmp_name, $path);
}
}
public function payments()
{
$data["user"] = $this->user;
if (isset($_GET['banks'])) {
if ($_GET['banks'] == "add") {
$data["title"] = $this->lang->line("add_bank") . " - " . $this->config->item("site_name");
$data["page"] = "add-bank";
if (isset($_POST['bank_name'])) {
$this->admin_model->db->insert('banks', array(
'bank_name' => $_POST['bank_name'],
'name' => $_POST['name'],
'number' => $_POST['number']
));
$id = $this->admin_model->db->insert_id();
$this->uploadPng($_FILES['logo']['tmp_name'], './assets/img/bank-' . $id . '.png');
header('Location: ' . base_url('admin/payments?banks'));
exit;
}
} elseif (is_numeric($_GET['banks'])) {
if (isset($_GET['delete'])) {
$this->admin_model->db->where('id', intval($_GET['banks']))->delete('banks');
header('Location: ' . base_url('admin/payments?banks'));
exit;
}
if (isset($_POST['name'])) {
$this->admin_model->db->set(array(
'bank_name' => $_POST['bank_name'],
'name' => $_POST['name'],
'number' => $_POST['number']
))->where('id', intval($_GET['banks']))->update('banks');
if (!empty($_FILES['logo']['tmp_name'])) {
$this->uploadPng($_FILES['logo']['tmp_name'], './assets/img/bank-' . intval($_GET['banks']) . '.png');
}
}
$data["title"] = $this->lang->line("edit_bank") . " - " . $this->config->item("site_name");
$data["page"] = "edit-bank";
$data["bank"] = $this->admin_model->db->order_by('id', 'desc')->get_where('banks', array('id' => intval($_GET['banks'])))->result_array();
if (count($data["bank"]) > 0) {
$data["bank"] = $data["bank"][0];
} else {
header('Location: ' . base_url('admin/payments?banks'));
exit;
}
} else {
$data["title"] = $this->lang->line("banks") . " - " . $this->config->item("site_name");
$data["page"] = "banks";
$data["banks"] = $this->admin_model->db->order_by('id', 'desc')->get_where('banks')->result_array();
}
} else {
if (isset($_GET['delete'])) {
$this->admin_model->db->where('id', intval($_GET['delete']))->delete('payments');
header('Location: ' . base_url('admin/payments'));
exit;
}
if (isset($_GET['approve'])) {
$user = $this->admin_model->getUser(intval($_GET['user']));
$this->admin_model->updateUser($user["name"], $user["email"], $user["city"], $user["address"], $user["balance"] + intval($_GET["amount"]), $user["type"], intval($_GET["amount"]), $user["id"]);
$this->admin_model->db->set('status', 1)->where('id', intval($_GET['approve']))->update('payments');
header('Location: ' . base_url('admin/payments'));
exit;
}
$data["title"] = $this->lang->line("payments") . " - " . $this->config->item("site_name");
$data["page"] = "payments";
$data["payments"] = $this->admin_model->db->order_by('id', 'desc')->get_where('payments', array('method' => 'bank'))->result_array();
}
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/payments', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
}
public function blog($key = null)
{
if ($key == 'add') {
$data["title"] = $this->lang->line("add_blog_post") . " - " . $this->config->item("site_name");
$data["page"] = "add_blog_post";
if (isset($_POST['title'])) {
$this->load->helper('text');
$slug = strtolower(url_title(convert_accented_characters($_POST['title']), 'dash', true));
$r_slug = $slug;
$i = 0;
while (count($this->admin_model->db->get_where('blog_posts', array('slug' => $slug))->result_array()) > 0) {
$slug = $r_slug . '-' . (++$i);
}
$fname = explode('.', $_FILES['image']['name']);
array_pop($fname);
$fname = strtolower(url_title(convert_accented_characters(join('.', $fname)), 'dash', true) . '-' . uniqid() . '.png');
$this->uploadPng($_FILES['image']['tmp_name'], './assets/img/blog/' . $fname);
$this->admin_model->db->insert('blog_posts', array(
'title' => $_POST['title'],
'description' => isset($_POST['description']) ? $_POST['description'] : '',
'keywords' => isset($_POST['keywords']) ? $_POST['keywords'] : '',
'content' => isset($_POST['content']) ? $_POST['content'] : '',
'image' => $fname,
'slug' => $slug,
'time' => time()
));
header('Location: ' . base_url('admin/blog'));
exit;
}
} elseif (intval($key) > 0) {
$data["title"] = $this->lang->line("edit_blog_post") . " - " . $this->config->item("site_name");
$data["blog_post"] = $this->admin_model->db->get_where('blog_posts', array('id' => intval($key)))->result_array();
if (count($data["blog_post"]) > 0) {
$data["blog_post"] = $data["blog_post"][0];
$data["page"] = "edit_blog_post";
$fname = $data["blog_post"]["image"];
if(isset($_POST['delete'])) {
if(file_exists('./assets/img/blog/' . $fname)) {
unlink('./assets/img/blog/' . $fname);
}
$this->admin_model->db->where('id', $data["blog_post"]["id"])->delete('blog_posts');
header('Location: ' . base_url('admin/blog/' . $data["blog_post"]["id"]));
exit;
}
if (isset($_POST['title'])) {
if (!empty($_FILES["image"]["name"])) {
$this->load->helper('text');
if(file_exists('./assets/img/blog/' . $fname)) {
unlink('./assets/img/blog/' . $fname);
}
$fname = explode('.', $_FILES['image']['name']);
array_pop($fname);
$fname = strtolower(url_title(convert_accented_characters(join('.', $fname)), 'dash', true) . '-' . uniqid() . '.png');
$this->uploadPng($_FILES['image']['tmp_name'], './assets/img/blog/' . $fname);
}
$this->admin_model->db->set(array(
'title' => $_POST['title'],
'description' => isset($_POST['description']) ? $_POST['description'] : '',
'keywords' => isset($_POST['keywords']) ? $_POST['keywords'] : '',
'content' => isset($_POST['content']) ? $_POST['content'] : '',
'image' => $fname
))->where('id', $data["blog_post"]["id"])->update("blog_posts");
header('Location: ' . base_url('admin/blog/' . $data["blog_post"]["id"]));
exit;
}
} else {
header('Location: ' . base_url('admin/blog'));
exit;
}
} else {
$data["title"] = $this->lang->line("blog_posts") . " - " . $this->config->item("site_name");
$data["page"] = "blog";
$data["blog_posts"] = $this->admin_model->db->order_by('id', 'desc')->get_where('blog_posts')->result_array();
}
$data["user"] = $this->user;
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/blog', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
}
public function settings()
{
$data["title"] = $this->lang->line("settings") . " - " . $this->config->item("site_name");
$data["page"] = "settings";
$data["user"] = $this->user;
$data["announcements"] = $this->admin_model->getAnnouncements();
$data["pages"] = $this->admin_model->getPages();
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/settings', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
}
public function reply_support_ticket()
{
if (isset($_POST['id']) && $this->input->post('message')) {
$message = strip_tags($this->input->post('message'));
$user = $this->user;
$this->admin_model->insertSupportTicketMessage($this->input->post('id'), strip_tags($this->input->post('message')), $user["id"]);
header("Location: " . $_SERVER["HTTP_REFERER"]);
} elseif (isset($_POST['id']) && isset($_POST['close'])) {
$this->admin_model->db->set('status', -1)->where('id', $this->input->post('id'))->update('tickets');
header("Location: " . $_SERVER["HTTP_REFERER"]);
} elseif (isset($_POST['id']) && isset($_POST['open'])) {
$this->admin_model->db->set('status', 0)->where('id', $this->input->post('id'))->update('tickets');
header("Location: " . $_SERVER["HTTP_REFERER"]);
}
}
public function get_countries_ajax($provider)
{
$this->load->library("provider_api");
echo json_encode($this->provider_api->get_countries($provider));
}
public function get_services_ajax($provider, $country)
{
$this->load->library("provider_api");
echo json_encode($this->provider_api->get_services_by_country($provider, $country));
}
public function get_service_price_ajax($provider, $country, $service)
{
$this->load->library("provider_api");
echo $this->provider_api->get_service_price($provider, $country, $service);
}
public function add_service_ajax()
{
if ($this->input->post("name") && isset($_POST["price"]) && isset($_POST["category"]) && isset($_POST["provider"]) && isset($_POST["country"]) && isset($_POST["service"])) {
$price = str_replace(",", ".", $this->input->post("price"));
$callback = $this->input->post("provider") . "," . $this->input->post("country") . "," . $this->input->post("service");
$this->admin_model->insertService($this->input->post("name"), $this->input->post("category"), $price, $callback, $this->input->post("auto_price"), floatval($this->input->post("rate")));
header("Location: /admin/services");
}
}
public function add_coupon_ajax()
{
if ($this->input->post("until") && isset($_POST["max"]) && isset($_POST["amount"])) {
$this->admin_model->insertCoupon(strtotime($this->input->post("until")), $this->input->post("max"), $this->input->post("amount"));
header("Location: /admin/coupons");
}
}
public function add_announcement_ajax()
{
if ($this->input->get("id") && $this->input->post("text")) {
$this->admin_model->db->set('time', strtotime($this->input->post("date")))->set('text', $this->input->post("text"))->where('id', intval($this->input->get("id")))->update('announcements');
}
if ($this->input->get("id")) {
$id = intval($this->input->get("id"));
$announcement = $this->admin_model->db->get_where('announcements', array('id' => $id))->row();
if (isset($announcement->id)) {
$data['title'] = $this->lang->line('edit_announcement');
$data['announcement'] = $announcement;
$data['page'] = 'announcement';
$this->load->view('theme-' . $this->config->item("theme") . '/admin/header', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/settings', $data);
$this->load->view('theme-' . $this->config->item("theme") . '/admin/footer');
} else {
header("Location: /admin/settings#announcements");
exit;
}
} else if ($this->input->post("text")) {
$this->admin_model->insertAnnouncement($this->input->post("text"));
header("Location: /admin/settings#announcements");
}
}
public function add_category_ajax()
{
if ($this->input->post("name") && $this->input->post("icon") && $this->input->post("color")) {
$this->admin_model->insertCategory($this->input->post("name"), $this->input->post("icon"), $this->input->post("color"));
header("Location: /admin/categories");
}
}
public function delete_service_ajax($id)
{
$this->admin_model->deleteService($id);
header("Location: /admin/services");
}
public function delete_category_ajax($id)
{
$this->admin_model->deleteCategory($id);
header("Location: /admin/categories");
}
public function delete_coupon_ajax($id)
{
$this->admin_model->deleteCoupon($id);
header("Location: /admin/coupons");
}
public function delete_announcement_ajax($id)
{
$this->admin_model->deleteAnnouncement($id);
header("Location: /admin/settings#announcements");
}
public function delete_user_ajax($id)
{
$this->admin_model->deleteUser($id);
header("Location: /admin/users");
}
public function update_settings_ajax()
{
foreach (array_keys($_POST) as $setting) {
if ($this->config->item($setting) != $_POST[$setting]) {
$this->admin_model->updateSetting($setting, $_POST[$setting]);
}
header("Location: /admin/settings");
}
}
public function update_service_ajax()
{
if (isset($_POST["id"]) && $this->input->post("name") && isset($_POST["price"]) && isset($_POST["category"]) && isset($_POST["provider"]) && isset($_POST["country"]) && isset($_POST["service"])) {
$price = str_replace(",", ".", $this->input->post("price"));
$callback = $this->input->post("provider") . "," . $this->input->post("country") . "," . $this->input->post("service");
$this->admin_model->updateService($this->input->post("name"), $this->input->post("category"), $price, $callback, $this->input->post("auto_price"), floatval($this->input->post("rate")), $this->input->post("id"));
header("Location: " . $_SERVER["HTTP_REFERER"]);
}
}
public function update_coupon_ajax()
{
if (isset($_POST["id"]) && $this->input->post("until") && isset($_POST["max"]) && isset($_POST["amount"])) {
$this->admin_model->updateCoupon(strtotime($this->input->post("until")), $this->input->post("max"), $this->input->post("amount"), $this->input->post("id"));
header("Location: " . $_SERVER["HTTP_REFERER"]);
}
}
public function update_category_ajax()
{
if (isset($_POST["id"]) && $this->input->post("name") && isset($_POST["icon"]) && isset($_POST["color"])) {
$this->admin_model->updateCategory($this->input->post("name"), $this->input->post("icon"), $this->input->post("color"), $this->input->post("id"));
header("Location: " . $_SERVER["HTTP_REFERER"]);
}
}
public function update_page_ajax($page_id)
{
if ($this->input->post("content")) {
$this->admin_model->updatePage($this->input->post("content"), $page_id);
header("Location: " . $_SERVER["HTTP_REFERER"]);
}
}
}
|