feat: Add complete Docker deployment with web-based setup wizard
Major additions: - Web-based setup wizard (setup.php, setup_wizard.php, setup-wizard.js) - Production Docker configuration (docker-compose.prod.yml, .env.production) - Database initialization SQL files (deploy/init_settings.sql) - Template builder system with drag-and-drop UI - Advanced features (OAuth, CDN, enhanced analytics, monetization) - Comprehensive documentation (deployment guides, quick start, feature docs) - Design system with accessibility and responsive layout - Deployment automation scripts (deploy.ps1, generate-secrets.ps1) Setup wizard allows customization of: - Platform name and branding - Domain configuration - Membership tiers and pricing - Admin credentials - Feature toggles Database includes 270+ tables for complete video streaming platform with advanced features for analytics, moderation, template building, and monetization. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -18,13 +18,13 @@ defined('_ISVALID') or header('Location: /error');
|
||||
class VArraySection
|
||||
{
|
||||
/* remove from array based on key */
|
||||
public function arrayRemoveKey()
|
||||
public static function arrayRemoveKey()
|
||||
{
|
||||
$args = func_get_args();
|
||||
return array_diff_key($args[0], array_flip(array_slice($args, 1)));
|
||||
}
|
||||
/* multi array pop */
|
||||
public function array_mpop($array, $iterate)
|
||||
public static function array_mpop($array, $iterate)
|
||||
{
|
||||
if (!is_array($array) && is_int($iterate)) {
|
||||
return false;
|
||||
@@ -37,7 +37,7 @@ class VArraySection
|
||||
return $array;
|
||||
}
|
||||
/* more sanitized forms and fields */
|
||||
public function getArray($section)
|
||||
public static function getArray($section)
|
||||
{
|
||||
global $class_filter, $cfg;
|
||||
|
||||
@@ -603,7 +603,7 @@ class VArraySection
|
||||
$entryid = (int) $_POST['hc_id'];
|
||||
$account_new_pack = "account_new_pack_" . $entryid;
|
||||
$_array = array(
|
||||
"usr_user" => (($cfg['username_format'] == 'strict' and VUserinfo::isValidUsername($_POST['account_new_username'])) ? $class_filter->clr_str($_POST['account_new_username']) : ($cfg['username_format'] == 'loose' and VUserinfo::isValidUsername($_POST['account_new_username'])) ? VUserinfo::clearString($_POST['account_new_username']) : null),
|
||||
"usr_user" => (($cfg['username_format'] == 'strict' and VUserinfo::isValidUsername($_POST['account_new_username'])) ? $class_filter->clr_str($_POST['account_new_username']) : (($cfg['username_format'] == 'loose' and VUserinfo::isValidUsername($_POST['account_new_username'])) ? VUserinfo::clearString($_POST['account_new_username']) : null)),
|
||||
"usr_password" => $_POST['account_new_password'],
|
||||
"usr_password_conf" => $_POST['account_new_password_conf'],
|
||||
"usr_email" => $class_filter->clr_str($_POST['frontend_global_email']),
|
||||
|
||||
Reference in New Issue
Block a user