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:
SamiAhmed7777
2025-10-26 01:42:31 -07:00
parent 0b7e2d0a5b
commit d22b3e1c0d
90 changed files with 22329 additions and 268 deletions

View File

@@ -18,7 +18,7 @@ defined('_ISVALID') or header('Location: /error');
class VPayment extends VSignup
{
/* check for expired subscription */
public function checkSubscription($user_id)
public static function checkSubscription($user_id)
{
global $class_database, $class_redirect, $cfg;
@@ -34,7 +34,7 @@ class VPayment extends VSignup
}
}
/* get and assign membership types */
public function getPackTypes($paid = '0')
public static function getPackTypes($paid = '0')
{
global $db, $smarty;
switch ($paid) {
@@ -46,7 +46,7 @@ class VPayment extends VSignup
$smarty->assign('memberships', $q->getrows());
}
/* check if membership db entry is active */
public function checkActivePack($pack_id)
public static function checkActivePack($pack_id)
{
global $class_database;
$active = $class_database->singleFieldValue('db_packtypes', 'pk_active', 'pk_id', intval($pack_id));
@@ -58,14 +58,14 @@ class VPayment extends VSignup
}
/* get membership id */
public function getPackID($user_id)
public static function getPackID($user_id)
{
global $db;
$q = $db->execute(sprintf("SELECT `pk_id` FROM `db_packusers` WHERE `usr_id`='%s' LIMIT 1;", intval($user_id)));
return $q->fields['pk_id'];
}
/* get membership name */
public function getUserPack($user = '')
public static function getUserPack($user = '')
{
global $db, $smarty;
switch ($user) {
@@ -77,13 +77,13 @@ class VPayment extends VSignup
return $q->fields['pk_name'];
}
/* update free account usage */
public function updateFreeUsage($user_id)
public static function updateFreeUsage($user_id)
{
global $db;
$q = $db->execute(sprintf("UPDATE `db_accountuser` SET `usr_free_sub`='1', `usr_active`='1', `usr_status`='1' WHERE `usr_id`='%s' LIMIT 1;", intval($user_id)));
}
/* update free account membership after registration */
public function updateFreeAccount($pk_id, $expire_time, $user_id)
public static function updateFreeAccount($pk_id, $expire_time, $user_id)
{
global $db, $class_database;
@@ -99,7 +99,7 @@ class VPayment extends VSignup
}
}
/* updating free membership registration */
public function updateFreeEntry()
public static function updateFreeEntry()
{
global $db, $class_database, $language, $cfg;
$user_id = intval(base64_decode($_POST['usr_id']));
@@ -126,7 +126,7 @@ class VPayment extends VSignup
}
}
/* payment setup */
public function preparePayment()
public static function preparePayment()
{
global $db, $cfg, $class_smarty, $language, $smarty;
@@ -165,7 +165,7 @@ class VPayment extends VSignup
die;
}
/* confirm before submitting payment */
public function continuePayment()
public static function continuePayment()
{
global $db, $smarty, $language, $cfg;
$q = $db->execute(sprintf("SELECT * FROM `db_packtypes` WHERE `pk_id`='%s';", intval(base64_decode($_POST['pk_id']))));
@@ -194,7 +194,7 @@ class VPayment extends VSignup
$smarty->display('tpl_frontend/tpl_auth/tpl_payment_confirm.tpl');
}
/* process payment */
public function doPayment($action)
public static function doPayment($action)
{
global $db, $cfg, $language, $class_smarty, $smarty, $class_database;
@@ -362,7 +362,7 @@ class VPayment extends VSignup
}
}
/* check discount code */
public function discountCheck()
public static function discountCheck()
{
global $class_filter, $db;
@@ -378,7 +378,7 @@ class VPayment extends VSignup
}
}
/* text for membership durations */
public function packWords($pk_period)
public static function packWords($pk_period)
{
global $language, $smarty;
@@ -389,7 +389,7 @@ class VPayment extends VSignup
return $words_array[$words_key[0]];
}
/* membership select list options */
public function buildSelectOptions($pk_period)
public static function buildSelectOptions($pk_period)
{
global $cfg, $smarty, $language;