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:
@@ -213,7 +213,7 @@ class VSignup
|
||||
}
|
||||
|
||||
/* signup form */
|
||||
public function processForm($allowedFields, $requiredFields)
|
||||
public static function processForm($allowedFields, $requiredFields)
|
||||
{
|
||||
global $cfg, $language, $class_filter;
|
||||
|
||||
@@ -256,7 +256,7 @@ class VSignup
|
||||
return $error_message;
|
||||
}
|
||||
/* define user folders */
|
||||
public function getUserFolders($usr_key)
|
||||
public static function getUserFolders($usr_key)
|
||||
{
|
||||
global $cfg;
|
||||
|
||||
@@ -302,7 +302,7 @@ class VSignup
|
||||
return array($dir[0], $dir[1]);
|
||||
}
|
||||
/* create user folders */
|
||||
public function createUserFolders($usr_key)
|
||||
public static function createUserFolders($usr_key)
|
||||
{
|
||||
global $cfg;
|
||||
|
||||
@@ -334,7 +334,7 @@ class VSignup
|
||||
copy($cfg['profile_images_dir'] . '/default.jpg', $cfg['profile_images_dir'] . '/' . $usr_key . '/' . $usr_key . '.jpg');
|
||||
}
|
||||
/* validating registration account */
|
||||
public function processAccount($fields = false)
|
||||
public static function processAccount($fields = false)
|
||||
{
|
||||
global $db, $cfg, $class_filter, $class_login, $class_redirect, $class_database;
|
||||
|
||||
@@ -473,6 +473,82 @@ class VSignup
|
||||
"ch_cfg" => $ch_cfg,
|
||||
"ch_pfields" => $ch_pfields,
|
||||
"ch_rownum" => $ch_rownum,
|
||||
"live_key" => '',
|
||||
"old_usr_key" => 0,
|
||||
"old_key" => '',
|
||||
"oauth_provider" => '',
|
||||
"oauth_uid" => '',
|
||||
"oauth_password" => 0,
|
||||
"usr_live" => 0,
|
||||
"usr_b_count" => 0,
|
||||
"usr_featured" => 0,
|
||||
"usr_promoted" => 0,
|
||||
"usr_partner" => 0,
|
||||
"usr_affiliate" => 0,
|
||||
"affiliate_pay_custom" => 0,
|
||||
"usr_sub_share" => 0,
|
||||
"usr_sub_perc" => 50,
|
||||
"usr_sub_currency" => 'USD',
|
||||
"usr_free_sub" => 0,
|
||||
"usr_weekupdates" => 0,
|
||||
"usr_deleted" => 0,
|
||||
"usr_followcount" => 0,
|
||||
"usr_subcount" => 0,
|
||||
"usr_tokencount" => 0,
|
||||
"usr_profileinc" => 0,
|
||||
"usr_mail_filecomment" => 1,
|
||||
"usr_mail_chancomment" => 1,
|
||||
"usr_mail_privmessage" => 1,
|
||||
"usr_mail_friendinv" => 1,
|
||||
"usr_mail_chansub" => 1,
|
||||
"usr_mail_chanfollow" => 1,
|
||||
"partner_date" => '0000-00-00 00:00:00',
|
||||
"affiliate_date" => '0000-00-00 00:00:00',
|
||||
"affiliate_custom" => '',
|
||||
"affiliate_email" => '',
|
||||
"affiliate_badge" => '',
|
||||
"affiliate_maps_key" => '',
|
||||
"usr_sub_email" => '',
|
||||
"usr_role" => '',
|
||||
"usr_logins" => 0,
|
||||
"usr_lastlogin" => '0000-00-00 00:00:00',
|
||||
"usr_menuaccess" => '',
|
||||
"usr_description" => '',
|
||||
"usr_website" => '',
|
||||
"usr_phone" => '',
|
||||
"usr_fax" => '',
|
||||
"usr_town" => '',
|
||||
"usr_city" => '',
|
||||
"usr_zip" => '',
|
||||
"usr_relation" => '',
|
||||
"usr_showage" => 0,
|
||||
"usr_occupations" => '',
|
||||
"usr_companies" => '',
|
||||
"usr_schools" => '',
|
||||
"usr_interests" => '',
|
||||
"usr_movies" => '',
|
||||
"usr_music" => '',
|
||||
"usr_books" => '',
|
||||
"usr_del_reason" => '',
|
||||
"fb_id" => 0,
|
||||
"ch_title" => '',
|
||||
"ch_descr" => '',
|
||||
"ch_tags" => '',
|
||||
"ch_influences" => '',
|
||||
"ch_style" => '',
|
||||
"ch_type" => 1,
|
||||
"ch_views" => 0,
|
||||
"home_cfg" => '',
|
||||
"ch_lastview" => date("Y-m-d"),
|
||||
"ch_photos" => '',
|
||||
"ch_photos_nr" => 0,
|
||||
"usr_fname" => '',
|
||||
"usr_lname" => '',
|
||||
"ch_links" => '',
|
||||
"ch_custom_fields" => '',
|
||||
"ch_positions" => '',
|
||||
"ch_channels" => '',
|
||||
"chat_temp" => '',
|
||||
);
|
||||
if ($fields) {
|
||||
$ins_array1['oauth_provider'] = $fields['oauth_provider'];
|
||||
@@ -552,7 +628,7 @@ class VSignup
|
||||
|
||||
}
|
||||
/* set account verified */
|
||||
public function verifyAccount()
|
||||
public static function verifyAccount()
|
||||
{
|
||||
global $db;
|
||||
|
||||
@@ -566,11 +642,11 @@ class VSignup
|
||||
|
||||
}
|
||||
/* signup form sessions start */
|
||||
public function formSessionInit()
|
||||
public static function formSessionInit()
|
||||
{
|
||||
global $cfg, $class_filter, $language;
|
||||
|
||||
$signup_username = ($cfg['username_format'] == 'strict' and VUserinfo::isValidUsername($_POST['frontend_signin_username'])) ? $class_filter->clr_str($_POST['frontend_signin_username']) : ($cfg['username_format'] == 'loose' and VUserinfo::isValidUsername($_POST['frontend_signin_username'])) ? VUserinfo::clearString($_POST['frontend_signin_username']) : null;
|
||||
$signup_username = (($cfg['username_format'] == 'strict' and VUserinfo::isValidUsername($_POST['frontend_signin_username'])) ? $class_filter->clr_str($_POST['frontend_signin_username']) : (($cfg['username_format'] == 'loose' and VUserinfo::isValidUsername($_POST['frontend_signin_username'])) ? VUserinfo::clearString($_POST['frontend_signin_username']) : null));
|
||||
$signup_pack = $cfg['paid_memberships'] == 1 ? $class_filter->clr_str($_POST['frontend_membership_type_sel']) : null;
|
||||
|
||||
$_SESSION['signup_username'] = $signup_username;
|
||||
@@ -578,7 +654,7 @@ class VSignup
|
||||
return true;
|
||||
}
|
||||
/* signup form sessions reset */
|
||||
public function formSessionReset()
|
||||
public static function formSessionReset()
|
||||
{
|
||||
$_SESSION['signup_username'] = null;
|
||||
$_SESSION['signup_pack'] = null;
|
||||
|
||||
Reference in New Issue
Block a user