Viewing file: Admin.php (22.61 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Controllers;
use App\Libraries\Onaylasms; use App\Libraries\Provider;
class Admin extends BaseController { public function edit_blog_post($id){ $post = db('posts')->where('id', $id)->get()->getFirstRow(); if (!$post) { return redirect()->to('admin/blog'); } $imgURL = $post->img; if ($_FILES['image']['error'] == 0) { $img = $this->request->getFile('image'); if (!$img->hasMoved()) { $filepath = str_replace('writable/', '', WRITEPATH) . 'assets/img/'; $imgURL = $img->getRandomName(); $img->move($filepath, $imgURL); } } db('posts')->where('id', $id)->update([ 'title' => $this->request->getVar('title'), 'content' => $this->request->getVar('content'), 'slug' => $this->request->getVar('slug'), 'keywords' => $this->request->getVar('keywords'), 'description' => $this->request->getVar('description'), 'img' => $imgURL ]); $data['page'] = createMeta('Post Oluştur'); $data['post'] = db('posts')->where('id', $id)->get()->getFirstRow();
return view(currentTheme() . '/Admin/edit_post', $data); } public function blog_post($id){ $post = db('posts')->where('id', $id)->get()->getFirstRow(); if (!$post) { return redirect()->to('admin/blog'); } $data['page'] = createMeta('Post Oluştur'); $data['post'] = $post;
return view(currentTheme() . '/Admin/edit_post', $data); } public function create_post(){ if ($_FILES['image']['error'] == 0) { $img = $this->request->getFile('image'); if (!$img->hasMoved()) { $filepath = str_replace('writable/', '', WRITEPATH) . 'assets/img/'; $imgURL = $img->getRandomName(); $img->move($filepath, $imgURL); db('posts')->insert([ 'title' => $this->request->getVar('title'), 'content' => $this->request->getVar('content'), 'slug' => $this->request->getVar('slug'), 'keywords' => $this->request->getVar('keywords'), 'description' => $this->request->getVar('description'), 'img' => $imgURL, 'created_at' => date("Y-m-d H:i:s", time()) ]); } } return redirect()->to('admin/blog'); } public function delete_post($id){ db('posts')->where('id', $id)->delete(); return redirect()->to('admin/blog'); } public function create_post_view(){ $data['page'] = createMeta('Post Oluştur');
return view(currentTheme() . '/Admin/create_post', $data); } public function blog() { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); }
$data['page'] = createMeta('Blog Postları'); $data['posts'] = db('posts') ->get() ->getResult();
return view(currentTheme() . '/Admin/blog', $data); } // ---------------------------------------------------------------- public function tickets() { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); }
$data['page'] = createMeta('Destek Talepleri'); $data['tickets'] = db('tickets') ->get() ->getResultArray();
return view(currentTheme() . '/Admin/tickets', $data); } public function updateTicket($id) { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $ticket = db('tickets') ->where([ 'id' => $id ]) ->get() ->getResultArray(); if (!isset($ticket)) { return redirect()->to('/admin/tickets'); } $ticket = $ticket[0];
$newStatus = $ticket['status'] == '0' ? '1' : '0'; db('tickets')->where(['id' => $id])->update(['status' => $newStatus]); return redirect()->to('/admin/tickets/' . $id); } public function viewTicket($id) { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $data['ticket'] = db('tickets') ->where([ 'id' => $id ]) ->get() ->getResultArray();
if (!isset($data['ticket'][0])) { return redirect()->to('/admin/tickets'); } $data['ticket'] = $data['ticket'][0]; $data['page'] = createMeta('#' . $data['ticket']['id'] . ' Numaralı Destek Talebi'); $data['user'] = db('users')->where([ 'id' => $data['ticket']['user'] ]) ->get() ->getResultArray()[0]; $action = $this->request->getGet('action');
if (isset($action) && $action == 'new_message') { db('ticket_messages')->insert([ 'message' => trim(strip_tags($this->request->getGet('message'))), 'ticket' => $id, 'user' => user()['id'] ]); return redirect()->to('/admin/tickets/' . $id); }
$data['messages'] = db('ticket_messages') ->where([ 'ticket' => $id ]) ->get() ->getResultArray();
return view(currentTheme() . '/Admin/ticket', $data); }
// ---------------------------------------------------------------- public function listUsers() { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $data['page'] = createMeta('Kullanıcıları Görüntüle'); $data['users'] = model('User')->findAll(); return view(currentTheme() . '/Admin/users', $data); }
public function listNumbers() { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $data['page'] = createMeta('Numaraları Görüntüle'); $data['numbers'] = db('numbers') ->select('numbers.*, services.category, services.name as serviceName, categories.name as categoryName, categories.icon as categoryIcon') ->join('services', 'numbers.service = services.id') ->join('categories', 'services.category = categories.id') ->get() ->getResultArray(); return view(currentTheme() . '/Admin/numbers', $data); }
public function index() { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $data['page'] = createMeta('Genel Bakış'); $data['users'] = model('User')->findAll(); $data['totalBalance'] = model('User')->selectSum('balance')->first()['balance']; $data['providerBalances'] = [ 'Onaylasms' => (new Provider('onaylasms'))->getBalance() . '₺', '5sim' => (new Provider('fivesim'))->getBalance() . 'RUB', 'smsactivate' => (new Provider('smsactivate'))->getBalance() . 'RUB', ]; $data['categories'] = db('categories')->get()->getResultArray(); $data['providerCategories'] = getProviderCategories(); $data['isUpdated'] = $this->request->getGet('updated');
return view(currentTheme() . '/Admin/home', $data); } public function payment() { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $data['page'] = createMeta('Ödeme İşlemleri');
$data['banks'] = db('banks')->get()->getResultArray(); $data['payments'] = db('payments')->get()->getResultArray();
return view(currentTheme() . '/Admin/payment', $data); } public function approve_payment($paymentId) { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $payment = db('payments')->where('id', $paymentId)->get()->getResultArray()[0]; if ($payment && $payment['status'] == '0') { db('payments')->where('id', $paymentId)->update([ 'status' => '1', ]); $user = db('users')->where('id', $payment['user'])->get()->getResultArray()[0]; db('users')->where('id', $payment['user'])->update([ 'balance' => floatval($user['balance']) + floatval($payment['amount']) ]); } return redirect()->to('/admin/payment'); } public function reject_payment($paymentId) { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $payment = db('payments')->where('id', $paymentId)->get()->getResultArray()[0]; if ($payment && $payment['status'] == '0') { db('payments')->where('id', $paymentId)->update([ 'status' => '-1', ]); } return redirect()->to('/admin/payment'); } public function add_bank() { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $name = $this->request->getPost('bankName'); $number = $this->request->getPost('bankNumber');
if ($name == '' || $number == '') { $this->response->setJSON([ 'type' => 'error', 'message' => 'Tüm alanları doldurunuz.', 'redirect' => base_url('admin/payment') ]); } $img = $this->request->getFile('bankImage'); if (!$img->isValid() && $img->hasMoved()) { $this->response->setJSON([ 'type' => 'error', 'message' => 'Resimi yüklerken hata oluştu.', 'redirect' => base_url('admin/payment') ]); }
$newName = $img->getRandomName(); $img->move('assets/img', $newName);
db('banks')->insert([ 'name' => $name, 'number' => $number, 'image' => $newName ]); return redirect()->to('admin/payment'); }
public function delete_bank($bankId) { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $imageName = db('banks')->where('id', $bankId)->get()->getResultArray()[0]['image']; db('banks')->where('id', $bankId)->delete(); unlink('assets/img/' . $imageName); header('Location: ' . base_url('admin/payment')); }
public function users($id) { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $data['user'] = model('User')->find($id); $data['page'] = createMeta("#$id Kullanıcıyı Düzenle");
if (!$data['user']) { return redirect()->to('/admin'); } return view(currentTheme() . '/Admin/user', $data); } public function services() { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $data['page'] = createMeta('Servisler');
$data['services'] = db('services')->select('services.*, categories.name as categoryName, categories.icon, categories.id as categoryId')->join('categories', 'services.category = categories.id')->get()->getResultArray(); $data['categories'] = db('categories')->get()->getResultArray();
$data['providerCategories'] = getProviderCategories();
return view(currentTheme() . '/Admin/services', $data); } public function add_service() { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $serviceName = $this->request->getPost('serviceName'); $siteCategory = $this->request->getPost('siteCategory'); $providerService = $this->request->getPost('providerService'); $providerCategory = $this->request->getPost('providerCategory'); $provider = $this->request->getPost('provider'); $servicePrice = floatval($this->request->getPost('servicePrice')); if ($providerCategory == '' || $serviceName == '' || $siteCategory == '' || $providerService == '' || $servicePrice == '') { return $this->response->setJSON([ 'type' => 'error', 'message' => 'Tüm alanları doldurunuz.', 'redirect' => base_url('admin/services') ]); } if ($servicePrice < 0) { return $this->response->setJSON([ 'type' => 'error', 'message' => "Servis fiyatı 0'dan küçük olamaz.", 'redirect' => base_url('admin/services') ]); } db('services')->insert([ 'name' => $serviceName, 'category' => $siteCategory, 'service' => $providerService, 'price' => $servicePrice, 'providerCategory' => $providerCategory, 'provider' => $provider ]);
return $this->response->setJSON([ 'type' => 'success', 'message' => 'Servis eklendi!', 'redirect' => base_url('admin/services') ]); } public function delete_service($id) { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } db('services')->where('id', $id)->delete(); echo "<script>alert('Servis (#$id) başarıyla silindi.');window.close();</script>"; exit; } public function service($id) { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $data['page'] = createMeta("#$id Servisi Düzenle");
$data['service'] = db('services')->where('id', $id)->get()->getResultArray()[0]; if ($data['service']['provider'] == 'onaylasms') { $data['discountRate'] = (new Onaylasms())->getDiscountRate($data['service']['providerCategory'])['rate']; } $data['categories'] = db('categories')->get()->getResultArray(); $data['providerCategories'] = getProviderCategories();
return view(currentTheme() . '/Admin/service', $data); } public function edit_service($id) { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); }
$handler = db('services'); $category = $handler->where('id', $id)->get()->getResultArray()[0]; if (!$category) { $this->response->setJSON([ 'type' => 'error', 'message' => 'Servis yok!', 'redirect' => base_url('admin/services') ]); } $serviceName = $this->request->getPost('serviceName'); $siteCategory = $this->request->getPost('siteCategory'); $providerService = $this->request->getPost('providerService'); $providerCategory = $this->request->getPost('providerCategory'); $servicePrice = floatval($this->request->getPost('servicePrice')); if ($providerCategory == '' || $serviceName == '' || $siteCategory == '' || $providerService == '' || $servicePrice == '') { return $this->response->setJSON([ 'type' => 'error', 'message' => 'Tüm alanları doldurunuz.', 'redirect' => base_url('admin/services') ]); } if ($servicePrice < 0) { return $this->response->setJSON([ 'type' => 'error', 'message' => "Servis fiyatı 0'dan küçük olamaz.", 'redirect' => base_url('admin/services') ]); } $handler->where('id', $id)->update([ 'name' => $serviceName, 'category' => $siteCategory, 'service' => $providerService, 'price' => $servicePrice, 'providerCategory' => $providerCategory ]); return $this->response->setJSON([ 'type' => 'success', 'message' => 'Servis düzenlendi.', 'redirect' => base_url('admin/services') ]); } public function category($id) { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $data['page'] = createMeta("#$id Kategoriyi Düzenle");
$data['category'] = db('categories')->where('id', $id)->get()->getResultArray()[0]; return view(currentTheme() . '/Admin/category', $data); } public function edit_category($id) { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); }
$handler = db('categories'); $category = $handler->where('id', $id)->get()->getResultArray()[0]; if (!$category) { $this->response->setJSON([ 'type' => 'error', 'message' => 'Kategori yok!', 'redirect' => base_url('admin/categories') ]); } $name = $this->request->getPost('categoryName'); $icon = $this->request->getPost('categoryIcon'); $color = $this->request->getPost('categoryColor');
if ($name == '' || $icon == '' || $color == '') { $this->response->setJSON([ 'type' => 'error', 'message' => 'Tüm alanları doldurunuz.', 'redirect' => base_url('admin/category/' . $id) ]); } $handler->where('id', $id)->update([ 'name' => $name, 'icon' => $icon, 'color' => trim($color) ]); return $this->response->setJSON([ 'type' => 'success', 'message' => 'Kategori düzenlendi.', 'redirect' => base_url('admin/categories') ]); } public function categories() { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $data['page'] = createMeta('Kategoriler');
$data['categories'] = db('categories')->get()->getResultArray();
return view(currentTheme() . '/Admin/categories', $data); } public function add_category() { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $name = $this->request->getPost('categoryName'); $icon = $this->request->getPost('categoryIcon'); $color = $this->request->getPost('categoryColor'); if ($name == '' || $icon == '' || $color == '') { $this->response->setJSON([ 'type' => 'error', 'message' => 'Tüm alanları doldurunuz.', 'redirect' => base_url('admin/categories') ]); } db('categories')->insert([ 'name' => $name, 'icon' => $icon, 'color' => trim($color) ]); return $this->response->setJSON([ 'type' => 'success', 'message' => 'Kategori eklendi!', 'redirect' => base_url('admin/categories') ]); } public function delete_category($id) { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } db('categories')->where('id', $id)->delete(); echo "<script>alert('Kategori (#$id) başarıyla silindi.');window.close();</script>"; exit; } public function announcements() { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $data['page'] = createMeta('Duyurular');
return view(currentTheme() . '/Admin/announcements', $data); } public function add_announcement() { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $announcement = $this->request->getPost('announcement');
db('announcements')->insert([ 'message' => $announcement ]); return $this->response->setJSON([ 'type' => 'success', 'message' => 'Duyuru eklendi!', 'redirect' => base_url('admin/announcements') ]); } public function delete_announcement($id) { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } db('announcements')->where('id', $id)->delete(); echo "<script>alert('Duyuru (#$id) başarıyla silindi.');window.close();</script>"; exit; } public function settings() { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $data['page'] = createMeta('Site Ayarları');
$data['title'] = 'Site Ayarları'; return view(currentTheme() . '/Admin/settings', $data); } public function settings_post() { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $configs = $this->request->getPost();
foreach ($configs as $config_name => $config_value) { $c = settings($config_name); if ($config_value != null && $c != $config_value) { settings($config_name, $config_value); } } return $this->response->setJSON([ 'type' => 'success', 'message' => 'Ayarlar güncellendi.', 'redirect' => base_url('admin/settings') ]); } public function users_post($id) { if (!user() || user()['admin'] != '1') { return redirect()->to('/login'); } $data['user'] = model('User')->find($id); if (!$data['user']) { return redirect()->to('/admin'); } $name = $this->request->getPost('nameInput'); $email = $this->request->getPost('emailInput'); $password = $this->request->getPost('passwordInput'); $adminStatus = $this->request->getPost('adminInput'); $balance = $this->request->getPost('balanceInput');
if (!$name || !$email || !$adminStatus || $name == '' || $email == '') { return $this->response->setJSON([ 'type' => 'error', 'message' => 'Tüm alanlar doldurulmalıdır.' ]); } if ($password) { if (strlen($password) < 6) { return $this->response->setJSON([ 'type' => 'error', 'message' => 'Parola minimum 6 karakter olmalıdır.' ]); } $arr['password'] = $password; } $arr['name'] = $name; $arr['email'] = $email; $arr['admin'] = $adminStatus == 'yes'; $arr['balance'] = $balance; model('User')->update($id, $arr);
return $this->response->setJSON([ 'type' => 'success', 'message' => 'Güncelleme başarılı.', 'redirect' => base_url("admin/users/$id") ]); } }
|