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 VRecovery
{
/* validate password recovery */
public function processForm($section)
public static function processForm($section)
{
global $language, $class_filter, $class_database;
@@ -35,7 +35,7 @@ class VRecovery
return $error_message;
}
/* reset password */
public function doPasswordReset($section)
public static function doPasswordReset($section)
{
global $db, $class_filter;
@@ -59,7 +59,7 @@ class VRecovery
}
/* validation of recovery link */
public function validCheck($section, $type = 'recovery')
public static function validCheck($section, $type = 'recovery')
{
global $cfg, $class_database, $language;
$get = $_GET['s'] != '' ? $_GET['s'] : ($_GET['sid'] != '' ? $_GET['sid'] : null);
@@ -78,7 +78,7 @@ class VRecovery
}
/* mark recovery as used */
public function updateRecoveryUsage($type = 'recovery')
public static function updateRecoveryUsage($type = 'recovery')
{
global $db, $class_filter;
@@ -86,27 +86,27 @@ class VRecovery
$db->execute(sprintf("UPDATE `db_usercodes` SET `code_used`=`code_used`+1, `%s`='%s' WHERE `type`='%s' AND `%s`='%s' LIMIT 1;", 'use_date', date("Y-m-d H:i:s"), $type, 'pwd_id', $class_filter->clr_str($get)));
}
/* recovery status */
public function getRecoveryStatus($reset_id)
public static function getRecoveryStatus($reset_id)
{
global $class_database, $class_filter;
return $class_database->singleFieldValue('db_usercodes', 'code_active', 'pwd_id', $class_filter->clr_str($reset_id));
}
/* recovery create date */
public function getRecoveryCDate()
public static function getRecoveryCDate()
{
global $class_database, $class_filter;
$get = $_GET['s'] != '' ? $_GET['s'] : ($_GET['sid'] != '' ? $_GET['sid'] : null);
return $class_database->singleFieldValue('db_usercodes', 'create_date', 'pwd_id', $class_filter->clr_str($get));
}
/* get user id of recovery */
public function getRecoveryID($reset_id, $type = 'recovery')
public static function getRecoveryID($reset_id, $type = 'recovery')
{
global $class_filter, $db;
$q = $db->execute(sprintf("SELECT `usr_id` FROM `db_usercodes` WHERE `pwd_id`='%s' AND `type`='%s' LIMIT 1;", $class_filter->clr_str($reset_id), $type));
return $q->fields['usr_id'];
}
/* log recovery usage */
public function addRecoveryEntry($user_id, $reset_id, $type = '', $addTo = '')
public static function addRecoveryEntry($user_id, $reset_id, $type = '', $addTo = '')
{
global $db, $class_database, $cfg, $class_filter;