File: /home/internet/public_html/webbtools.com/app/controllers/TeamCreate.php
<?php
/*
* @copyright Copyright (c) 2021 AltumCode (https://altumcode.com/)
*
* This software is exclusively sold through https://altumcode.com/ by the AltumCode author.
* Downloading this product from any other sources and running it without a proper license is illegal,
* except the official ones linked from https://altumcode.com/.
*/
namespace Altum\Controllers;
use Altum\Alerts;
use Altum\Database\Database;
use Altum\Middlewares\Authentication;
use Altum\Middlewares\Csrf;
class TeamCreate extends Controller {
public function index() {
Authentication::guard();
if(!\Altum\Plugin::is_active('teams')) {
redirect('dashboard');
}
/* Check for the plan limit */
$total_rows = database()->query("SELECT COUNT(*) AS `total` FROM `teams` WHERE `user_id` = {$this->user->user_id}")->fetch_object()->total ?? 0;
if($this->user->plan_settings->teams_limit != -1 && $total_rows >= $this->user->plan_settings->teams_limit) {
Alerts::add_info(l('global.info_message.plan_feature_limit'));
redirect('teams');
}
if(!empty($_POST)) {
$_POST['name'] = trim(filter_var($_POST['name'], FILTER_SANITIZE_STRING));
//ALTUMCODE:DEMO if(DEMO) if($this->user->user_id == 1) Alerts::add_error('Please create an account on the demo to test out this function.');
/* Check for any errors */
$required_fields = ['name'];
foreach($required_fields as $field) {
if(!isset($_POST[$field]) || (isset($_POST[$field]) && empty($_POST[$field]) && $_POST[$field] != '0')) {
Alerts::add_field_error($field, l('global.error_message.empty_field'));
}
}
if(!Csrf::check()) {
Alerts::add_error(l('global.error_message.invalid_csrf_token'));
}
if(!Alerts::has_field_errors() && !Alerts::has_errors()) {
/* Prepare the statement and execute query */
$team_id = db()->insert('teams', [
'user_id' => $this->user->user_id,
'name' => $_POST['name'],
'datetime' => \Altum\Date::$date,
]);
/* Set a nice success message */
Alerts::add_success(sprintf(l('global.success_message.create1'), '<strong>' . filter_var($_POST['name'], FILTER_SANITIZE_STRING) . '</strong>'));
redirect('team/' . $team_id);
}
}
/* Set default values */
$values = [
'name' => $_POST['name'] ?? '',
];
/* Prepare the View */
$data = [
'values' => $values
];
$view = new \Altum\Views\View('team-create/index', (array) $this);
$this->add_view_content('content', $view->run($data));
}
}