Untitled
unknown
plain_text
5 months ago
32 kB
1
Indexable
<?php class _plugin_stripe extends controller implements pluginInterface{ private $pluginaizer; private $vars = []; /** * * Plugin constructor * Initialize plugin class * */ public function __construct(){ //initialize parent constructor parent::__construct(); //initialize pluginaizer $this->pluginaizer = $this->load_class('plugin'); //set plugin class name $this->pluginaizer->set_plugin_class(substr(get_class($this), 8)); } /** * * Main module body * All main things related to user side * * * Return mixed */ public function index(){ if($this->pluginaizer->data()->value('installed') == false){ throw new Exception('Plugin has not yet been installed.'); } else{ if($this->pluginaizer->data()->value('installed') == 1){ if($this->pluginaizer->data()->value('is_public') == 0){ $this->user_module(); } else{ $this->public_module(); } } else{ throw new Exception('Plugin has been disabled.'); } } } /** * * Load user module data * * return mixed * */ private function user_module(){ //check if visitor has user privilleges if($this->pluginaizer->session->is_user()){ //load website helper $this->load->helper('website'); //load plugin config $this->vars['plugin_config'] = $this->pluginaizer->plugin_config(); if($this->vars['plugin_config'] != false && !empty($this->vars['plugin_config'])){ if($this->pluginaizer->data()->value('is_multi_server') == 1){ if(array_key_exists($this->pluginaizer->session->userdata(['user' => 'server']), $this->vars['plugin_config'])){ $this->vars['plugin_config'] = $this->vars['plugin_config'][$this->pluginaizer->session->userdata(['user' => 'server'])]; $this->vars['about'] = $this->pluginaizer->get_about(); $this->vars['about']['user_description'] = $this->pluginaizer->data()->value('description'); } else{ $this->vars['config_not_found'] = __('Plugin configuration not found.'); } } if($this->vars['plugin_config']['active'] == 0){ $this->vars['module_disabled'] = __('This module has been disabled.'); } else{ $this->load->model('application/plugins/'.$this->pluginaizer->get_plugin_class().'/models/'.$this->pluginaizer->get_plugin_class()); $this->vars['packages_stripe'] = $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->load_packages(true); } } else{ $this->vars['config_not_found'] = __('Plugin configuration not found.'); } //set js $this->vars['js'] = $this->config->base_url . 'assets/plugins/js/stripe.js'; //load template $this->load->view('plugins' . DS . $this->pluginaizer->get_plugin_class() . DS . 'views' . DS . $this->config->config_entry('main|template') . DS . 'view.stripe', $this->vars); } else{ $this->pluginaizer->redirect($this->config->base_url . 'account-panel/login?return=' . str_replace('_', '-', $this->pluginaizer->get_plugin_class())); } } /** * * Generate checkout data and checkout * * return mixed * */ public function checkout($id = ''){ //check if visitor has user privilleges if($this->pluginaizer->session->is_user()){ //load website helper $this->load->helper('website'); //load plugin config $this->vars['plugin_config'] = $this->pluginaizer->plugin_config(); if($this->vars['plugin_config'] != false && !empty($this->vars['plugin_config'])){ if($this->pluginaizer->data()->value('is_multi_server') == 1){ if(array_key_exists($this->pluginaizer->session->userdata(['user' => 'server']), $this->vars['plugin_config'])){ $this->vars['plugin_config'] = $this->vars['plugin_config'][$this->pluginaizer->session->userdata(['user' => 'server'])]; $this->vars['about'] = $this->pluginaizer->get_about(); $this->vars['about']['user_description'] = $this->pluginaizer->data()->value('description'); } else{ $this->vars['error'] = __('Plugin configuration not found.'); } } if($this->vars['plugin_config']['active'] == 0){ $this->vars['error'] = __('This module has been disabled.'); } else{ $this->load->model('application/plugins/'.$this->pluginaizer->get_plugin_class().'/models/'.$this->pluginaizer->get_plugin_class()); if($id == '') $this->vars['error'] = __('Invalid Stripe package.'); else{ if($this->vars['package'] = $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->check_package($id)){ \Stripe\Stripe::setApiVersion( '2020-08-27'); \Stripe\Stripe::setApiKey($this->vars['plugin_config']['secret_key']); $order_id = md5($this->pluginaizer->session->userdata(['user' => 'username']) . $this->vars['package']['price'] . $this->vars['package']['currency'] . uniqid(microtime(), 1)); $this->vars['session'] = \Stripe\Checkout\Session::create([ 'customer_email' => $this->pluginaizer->session->userdata(['user' => 'email']), 'payment_method_types' => ['card'], 'client_reference_id' => $order_id, 'line_items' => [[ 'name' => $this->vars['package']['reward'].' Coins', 'description' => 'Buy Coins', 'amount' => number_format($this->vars['package']['price'], 2, '', ''), 'currency' => strtolower($this->vars['package']['currency']), 'quantity' => 1, ]], "metadata" => ["server" => $this->pluginaizer->session->userdata(['user' => 'server'])], 'success_url' => $this->config->base_url.'stripe', 'cancel_url' => $this->config->base_url.'stripe', ]); if($this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->insert_order( $this->vars['package']['price'], $this->vars['package']['currency'], $this->vars['package']['reward'], $order_id, $this->pluginaizer->session->userdata(['user' => 'username']), $this->pluginaizer->session->userdata(['user' => 'server']) )){ $this->load->view('plugins' . DS . $this->pluginaizer->get_plugin_class() . DS . 'views' . DS . $this->config->config_entry('main|template') . DS . 'view.stripeCheckout', $this->vars); } else{ $this->vars['error'] = __('Unable to checkout please try again.'); } } else{ $this->vars['error'] = 'Invalid package'; } } } } else{ $this->vars['error'] = __('Plugin configuration not found.'); } } else{ $this->vars['error'] = __('Please login into website.'); } if(isset($this->vars['error'])){ $this->load->view('plugins' . DS . $this->pluginaizer->get_plugin_class() . DS . 'views' . DS . $this->config->config_entry('main|template') . DS . 'view.stripeStatus', $this->vars); } } /** * * Proccess stripe payment * * * return mixed * */ public function payment(){ //load website helper $this->load->helper('website'); //load plugin config $this->vars['plugin_config'] = $this->pluginaizer->plugin_config(); $payload = @file_get_contents('php://input'); $json = json_decode($payload, true); if(isset($json['data']['object']['metadata']['server'])){ $default = $json['data']['object']['metadata']['server']; } else{ $servers = $this->pluginaizer->website->server_list(); $default = array_keys($servers)[0]; } if($this->vars['plugin_config'] != false && !empty($this->vars['plugin_config'])){ if($this->pluginaizer->data()->value('is_multi_server') == 1){ if(array_key_exists($default, $this->vars['plugin_config'])){ $this->vars['plugin_config'] = $this->vars['plugin_config'][$default]; } else{ $this->writelog('Plugin configuration not found.', 'Stripe'); http_response_code(400); exit(); } } \Stripe\Stripe::setApiVersion( '2020-08-27'); \Stripe\Stripe::setApiKey($this->vars['plugin_config']['secret_key']); $endpoint_secret = $this->vars['plugin_config']['webhooks_key']; $sig_header = isset($_SERVER['HTTP_STRIPE_SIGNATURE']) ? $_SERVER['HTTP_STRIPE_SIGNATURE'] : ''; $event = null; try{ $event = \Stripe\Webhook::constructEvent( $payload, $sig_header, $endpoint_secret ); } catch(\UnexpectedValueException $e){ $this->writelog($e->getMessage(), 'Stripe'); http_response_code(400); exit(); } catch(\Stripe\Exception\SignatureVerificationException $e){ $this->writelog($e->getMessage(), 'Stripe'); http_response_code(400); exit(); } if($event->type == 'checkout.session.completed') { $session = $event->data->object; $this->load->model('account'); $this->load->model('application/plugins/'.$this->pluginaizer->get_plugin_class().'/models/'.$this->pluginaizer->get_plugin_class()); if (!$this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->check_order_number($session['client_reference_id'])) { $this->writelog('Order not found: '. $session['client_reference_id'], 'Stripe'); return false; } else{ if($this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->check_completed_transaction($session['client_reference_id'])) { $this->writelog('Order already processed: '. $session['client_reference_id'], 'Stripe'); return false; } else{ $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->insert_transaction_status($session['client_reference_id'], $session['client_reference_id']); $this->pluginaizer->Maccount->add_account_log( 'Reward ' . $this->pluginaizer->website->translate_credits($this->vars['plugin_config']['reward_type'], $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['server']) . ' Stripe', $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['credits'], $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['account'], $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['server'] ); $this->pluginaizer->website->add_credits( $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['account'], $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['server'], $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['credits'], $this->vars['plugin_config']['reward_type'], false, $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->get_guid($this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['account'], $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['server']) ); $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->add_total_recharge($this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['account'], $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['server'], $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['credits']); if($this->config->values('referral_config', 'reward_on_donation') > 0){ $ref = $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->findReferral($this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['account']); if($ref != false){ $ref_reward = floor(($this->config->values('referral_config', 'reward_on_donation') / 100) * $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['credits']); $this->pluginaizer->website->add_credits($ref, $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['server'], $ref_reward, $this->vars['plugin_config']['reward_type'], false, $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->get_guid($this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['account'], $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['server'])); $this->pluginaizer->Maccount->add_account_log('Friend donation bonus ' . $this->pluginaizer->website->translate_credits($this->vars['plugin_config']['reward_type'], $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['server']) . '', $ref_reward, $ref, $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->order_details['server']); } } } } } } else{ $this->writelog('Plugin configuration not found.', 'Stripe'); } } /** * * Write payment log * * @param string $logentry * @param string $logname * * */ private function writelog($logentry, $logname){ $log = '[' . $this->pluginaizer->website->ip() . '] ' . $logentry; $logfile = @fopen(APP_PATH . DS . 'logs' . DS . $logname . '_' . date("m-d-y") . '.txt', "a+"); if ($logfile){ fwrite($logfile, "[" . date("h:iA") . "] $log\r\n"); fclose($logfile); } } /** * * Load public module data * * return mixed * */ private function public_module(){ // public module not used in this plugin } /** * * Main admin module body * All main things related to admincp * * * Return mixed */ public function admin(){ //check if visitor has administrator privilleges if($this->pluginaizer->session->is_admin()){ //load website helper $this->load->helper('website'); $this->load->model('application/plugins/'.$this->pluginaizer->get_plugin_class().'/models/'.$this->pluginaizer->get_plugin_class()); $this->vars['is_multi_server'] = $this->pluginaizer->data()->value('is_multi_server'); $this->vars['plugin_config'] = $this->pluginaizer->plugin_config(); $this->vars['packages_stripe'] = $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->load_packages(); //load any js, css files if required $this->vars['js'] = $this->config->base_url . 'assets/plugins/js/stripe.js'; //load template $this->load->view('plugins' . DS . $this->pluginaizer->get_plugin_class() . DS . 'views' . DS . 'admin' . DS . 'view.index', $this->vars); } else{ $this->pluginaizer->redirect($this->config->base_url . 'admincp/login?return=' . str_replace('_', '-', $this->pluginaizer->get_plugin_class()) . '/admin'); } } /** * * Add stripe package * * * Return mixed */ public function add_package(){ //check if visitor has administrator privilleges if($this->pluginaizer->session->is_admin()){ //load website helper $this->load->helper('website'); $this->load->model('application/plugins/'.$this->pluginaizer->get_plugin_class().'/models/'.$this->pluginaizer->get_plugin_class()); $title = !empty($_POST['title']) ? htmlspecialchars($_POST['title']) : ''; $price = (isset($_POST['price']) && is_numeric($_POST['price'])) ? $_POST['price'] : ''; $currency = !empty($_POST['currency']) ? htmlspecialchars($_POST['currency']) : ''; $reward = (isset($_POST['reward']) && preg_match('/^\d*$/', $_POST['reward'])) ? $_POST['reward'] : ''; $server = !empty($_POST['server']) ? htmlspecialchars($_POST['server']) : ''; if($title == '') echo $this->pluginaizer->jsone(['error' => 'Invalid package title']); else{ if($price == '') echo $this->pluginaizer->jsone(['error' => 'Invalid package price']); else{ if($currency == '') echo $this->pluginaizer->jsone(['error' => 'Invalid package currency']); else{ if($server == '') echo $this->pluginaizer->jsone(['error' => 'Invalid server selected']); else{ if($reward == '') echo $this->pluginaizer->jsone(['error' => 'Invalid package reward']); else{ if($id = $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->add_package($title, $price, $currency, $reward, $server)) { echo $this->pluginaizer->jsone(['success' => 'Package successfully added', 'id' => $id, 'server' => $server, 'servers' => $this->pluginaizer->website->server_list()]); } else{ echo $this->pluginaizer->jsone(['error' => 'Unable to add new package']); } } } } } } } else{ $this->pluginaizer->jsone(['error' => 'Please login first!']); } } /** * * Edit stripe package * * * Return mixed */ public function edit_package(){ //check if visitor has administrator privilleges if($this->pluginaizer->session->is_admin()){ //load website helper $this->load->helper('website'); $this->load->model('application/plugins/'.$this->pluginaizer->get_plugin_class().'/models/'.$this->pluginaizer->get_plugin_class()); $id = (isset($_POST['id']) && preg_match('/^\d*$/', $_POST['id'])) ? $_POST['id'] : ''; $title = !empty($_POST['title']) ? htmlspecialchars($_POST['title']) : ''; $price = (isset($_POST['price']) && is_numeric($_POST['price'])) ? $_POST['price'] : ''; $currency = !empty($_POST['currency']) ? htmlspecialchars($_POST['currency']) : ''; $reward = (isset($_POST['reward']) && preg_match('/^\d*$/', $_POST['reward'])) ? $_POST['reward'] : ''; $server = !empty($_POST['server']) ? htmlspecialchars($_POST['server']) : ''; if($id == '') echo $this->pluginaizer->jsone(['error' => 'Invalid package id']); else{ if($title == '') echo $this->pluginaizer->jsone(['error' => 'Invalid package title']); else{ if($price == '') echo $this->pluginaizer->jsone(['error' => 'Invalid package price']); else{ if($currency == '') echo $this->pluginaizer->jsone(['error' => 'Invalid package currency']); else{ if($server == '') echo $this->pluginaizer->jsone(['error' => 'Invalid server selected']); else{ if($reward == '') echo $this->pluginaizer->jsone(['error' => 'Invalid package reward']); else{ if($this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->check_package($id)) { $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->edit_package($id, $title, $price, $currency, $reward, $server); echo $this->pluginaizer->jsone(['success' => 'Package successfully edited']); } else{ echo $this->pluginaizer->jsone(['error' => 'Invalid package']); } } } } } } } } else{ echo $this->pluginaizer->jsone(['error' => 'Please login first!']); } } /** * * Delete stripe package * * * Return mixed */ public function delete_package(){ //check if visitor has administrator privilleges if($this->pluginaizer->session->is_admin()){ //load website helper $this->load->helper('website'); $this->load->model('application/plugins/'.$this->pluginaizer->get_plugin_class().'/models/'.$this->pluginaizer->get_plugin_class()); $id = (isset($_POST['id']) && preg_match('/^\d*$/', $_POST['id'])) ? $_POST['id'] : ''; if($id == '') echo $this->pluginaizer->jsone(['error' => 'Invalid package id']); else{ if($this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->check_package($id)) { $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->delete_package($id); echo $this->pluginaizer->jsone(['success' => 'Package successfully removed']); } else{ echo $this->pluginaizer->jsone(['error' => 'Invalid package']); } } } else{ echo $this->pluginaizer->jsone(['error' => 'Please login first!']); } } /** * * Enable / Disable stripe package * * * Return mixed */ public function change_status(){ //check if visitor has administrator privilleges if($this->pluginaizer->session->is_admin()){ //load website helper $this->load->helper('website'); $this->load->model('application/plugins/'.$this->pluginaizer->get_plugin_class().'/models/'.$this->pluginaizer->get_plugin_class()); $id = (isset($_POST['id']) && preg_match('/^\d*$/', $_POST['id'])) ? $_POST['id'] : ''; $status = (isset($_POST['status']) && preg_match('/^\d*$/', $_POST['status'])) ? $_POST['status'] : ''; if($id == '') echo $this->pluginaizer->jsone(['error' => 'Invalid package id']); else{ if($status == '') echo $this->pluginaizer->jsone(['error' => 'Invalid package status']); else{ if($this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->check_package($id)) { $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->change_status($id, $status); echo $this->pluginaizer->jsone(['success' => 'Package status changed']); } else{ echo $this->pluginaizer->jsone(['error' => 'Invalid package']); } } } } else{ echo $this->pluginaizer->jsone(['error' => 'Please login first!']); } } /** * * Save stripe package order * * * Return mixed */ public function save_order(){ //check if visitor has administrator privilleges if($this->pluginaizer->session->is_admin()){ //load website helper $this->load->helper('website'); $this->load->model('application/plugins/'.$this->pluginaizer->get_plugin_class().'/models/'.$this->pluginaizer->get_plugin_class()); $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->save_order($_POST['order']); } else{ echo $this->pluginaizer->jsone(['error' => 'Please login first!']); } } /** * * Generate stripe logs * * @param int $page * @param string $acc * @param string $server * * Return mixed */ public function logs($page = 1, $acc = '-', $server = 'All'){ //check if visitor has administrator privilleges if($this->pluginaizer->session->is_admin()){ //load website helper $this->load->helper('website'); //load paginator $this->load->lib('pagination'); $this->load->model('application/plugins/'.$this->pluginaizer->get_plugin_class().'/models/'.$this->pluginaizer->get_plugin_class()); if(isset($_POST['search_stripe_transactions'])){ $server = (isset($_POST['server']) && $_POST['server'] != 'All') ? $_POST['server'] : 'All'; $acc = isset($_POST['account']) ? $_POST['account'] : ''; if($acc == '') { $this->vars['error'] = 'Invalid account'; } else{ $this->vars['logs'] = $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->load_transactions(1, 25, $acc, $server); $this->pluginaizer->pagination->initialize(1, 25, $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->count_total_transactions($acc, $server), $this->config->base_url . 'stripe/logs/%s/' . $acc . '/' . $server . ''); $this->vars['pagination'] = $this->pluginaizer->pagination->create_links(); } } else{ $this->vars['logs'] = $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->load_transactions($page, 25, $acc, $server); $lk = ''; if($acc != '') $lk .= '/' . $acc; $lk .= '/' . $server; $this->pluginaizer->pagination->initialize($page, 25, $this->pluginaizer->{'M'.$this->pluginaizer->get_plugin_class()}->count_total_transactions($acc, $server), $this->config->base_url . 'stripe/logs/%s' . $lk); $this->vars['pagination'] = $this->pluginaizer->pagination->create_links(); } $this->load->view('plugins' . DS . $this->pluginaizer->get_plugin_class() . DS . 'views' . DS . 'admin' . DS . 'view.logs', $this->vars); } else{ $this->pluginaizer->redirect($this->config->base_url . 'admincp/login?return=' . str_replace('_', '-', $this->pluginaizer->get_plugin_class()) . '/logs'); } } /** * * Save plugin settings * * * Return mixed */ public function save_settings(){ //check if visitor has administrator privilleges if($this->pluginaizer->session->is_admin()){ $this->vars['plugin_config'] = $this->pluginaizer->plugin_config(); if(isset($_POST['server']) && $_POST['server'] != 'all'){ foreach($_POST AS $key => $val){ if($key != 'server'){ $this->vars['plugin_config'][$_POST['server']][$key] = $val; } } } else{ foreach($_POST AS $key => $val){ if($key != 'server'){ $this->vars['plugin_config'][$key] = $val; } } } if($this->pluginaizer->save_config($this->vars['plugin_config'])){ echo $this->pluginaizer->jsone(['success' => 'Plugin configuration successfully saved']); } else{ echo $this->pluginaizer->jsone(['error' => $this->pluginaizer->error]); } } } /** * * Plugin installer * Admin module for plugin installation * Set plugin data, create plugin config template, create sql schemes * */ public function install(){ //check if visitor has administrator privilleges if($this->pluginaizer->session->is_admin()){ //create plugin info $this->pluginaizer->set_about()->add_plugin([ 'installed' => 1, 'module_url' => str_replace('_', '-', $this->pluginaizer->get_plugin_class()), //link to module 'admin_module_url' => str_replace('_', '-', $this->pluginaizer->get_plugin_class()) . '/admin', //link to admincp module 'is_public' => 0, //if is public module or requires to login 'is_multi_server' => 1, //will this plugin have different config for each server, multi server is supported only by not user modules 'main_menu_item' => 0, //add link to module in main website menu, 'sidebar_user_item' => 0, //add link to module in user sidebar 'sidebar_public_item' => 0, //add link to module in public sidebar menu, if template supports 'account_panel_item' => 0, //add link in user account panel 'donation_panel_item' => 1, //add link in donation page 'description' => 'Donate with Stripe' //description which will see user ]); //create plugin config template $this->pluginaizer->create_config([ 'active' => 0, 'api_key' => '', 'secret_key' => '', 'webhooks_key' => '', 'reward_type' => 0 ]); //add sql scheme if there is any into website database //all schemes should be located in plugin_folder/sql_schemes $this->pluginaizer->add_sql_scheme('stripe_packages'); $this->pluginaizer->add_sql_scheme('stripe_orders'); $this->pluginaizer->add_sql_scheme('stripe_transactions'); //check for errors if(count($this->pluginaizer->error) > 0){ $data['error'] = $this->pluginaizer->error; } $data['success'] = 'Plugin installed successfully'; echo $this->pluginaizer->jsone($data); } else{ echo $this->pluginaizer->jsone(['error' => 'Please login first!']); } } /** * * Plugin uninstaller * Admin module for plugin uninstall * Remove plugin data, delete plugin config, delete sql schemes * */ public function uninstall(){ //check if visitor has administrator privilleges if($this->pluginaizer->session->is_admin()){ //delete plugin config and remove plugin data $this->pluginaizer->delete_config() ->remove_sql_scheme('stripe_one_packages') ->remove_sql_scheme('stripe_one_orders') ->remove_sql_scheme('stripe_one_transactions') ->remove_plugin(); //check for errors if(count($this->pluginaizer->error) > 0){ echo $this->pluginaizer->jsone(['error' => $this->pluginaizer->error]); } echo $this->pluginaizer->jsone(['success' => 'Plugin uninstalled successfully']); } else{ echo $this->pluginaizer->jsone(['error' => 'Please login first!']); } } public function enable(){ //check if visitor has administrator privilleges if($this->pluginaizer->session->is_admin()){ //enable plugin $this->pluginaizer->enable_plugin(); //check for errors if(count($this->pluginaizer->error) > 0){ echo $this->pluginaizer->jsone(['error' => $this->pluginaizer->error]); } else{ echo $this->pluginaizer->jsone(['success' => 'Plugin successfully enabled.']); } } else{ echo $this->pluginaizer->jsone(['error' => 'Please login first!']); } } public function disable(){ //check if visitor has administrator privilleges if($this->pluginaizer->session->is_admin()){ //disable plugin $this->pluginaizer->disable_plugin(); //check for errors if(count($this->pluginaizer->error) > 0){ echo $this->pluginaizer->jsone(['error' => $this->pluginaizer->error]); } else{ echo $this->pluginaizer->jsone(['success' => 'Plugin successfully disabled.']); } } else{ echo $this->pluginaizer->jsone(['error' => 'Please login first!']); } } public function about(){ //check if visitor has administrator privilleges if($this->pluginaizer->session->is_admin()){ //create plugin info $about = $this->pluginaizer->get_about(); if($about != false){ $description = '<div class="box-content"> <dl> <dt>Plugin Name</dt> <dd>'.$about['name'].'</dd> <dt>Version</dt> <dd>'.$about['version'].'</dd> <dt>Description</dt> <dd>'.$about['description'].'</dd> <dt>Developed By</dt> <dd>'.$about['developed_by'].' <a href="'.$about['website'].'" target="_blank">'.$about['website'].'</a></dd> </dl> </div>'; } else{ $description = '<div class="alert alert-info">Unable to find plugin description.</div>'; } echo $this->pluginaizer->jsone(['about' => $description]); } else{ echo $this->pluginaizer->jsone(['error' => 'Please login first!']); } } }
Editor is loading...
Leave a Comment