File manager - Edit - /home/infoilmg/appsdow.com/update.php
Back
<?php // App Portal Update Tool (v2.0/2.0.1 to v2.1.0) set_time_limit(0); ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); $index_file = file_get_contents('index.php'); preg_match('/\$lapp_folder = \'(.*)\';/iUs', $index_file, $autoload); $lapp_folder = $autoload[1]; $lapp_folder[0] == "/" ? $lapp_folder = substr($lapp_folder, 1) : ''; define('LARAVEL_START', microtime(true)); require "$lapp_folder/vendor/autoload.php"; $app = require_once "$lapp_folder/bootstrap/app.php"; $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); $response = $kernel->handle( $request = Illuminate\Http\Request::capture() ); use Illuminate\Support\Facades\DB; $method = $_SERVER['REQUEST_METHOD']; ?> <!doctype html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Bootstrap CSS --> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"> <title>App Portal Update Tool (v2.0/2.0.1 to v2.1.0)</title> </head> <body> <div class="container py-5"> <h1>App Portal Update Tool (v2.0/2.0.1 to v2.1.0)</h1> <?php if ($method == 'GET') {?> <form action="update.php" method="POST"> <div class="mb-3"> <ul> <li><b>My server supports PHP 8.0 or 8.1.</b></li> <li>Customizations I make in system files and theme files can be overwritten.</li> <li>I backed up the files and database.</li> <li>I will delete this file after successfully completing the update.</li> </ul> <p>I approve of all this, and I want to continue.</p> <button type="submit" class="btn btn-success">Update</button> </form> <?php }?> <?php if ($method == 'POST') { if (env('APP_VERSION') == '2.1.0') { echo '<div class="alert alert-warning mt-3" role="alert"> The update has already been done. </div>'; exit; } $site_settings = DB::table('settings')->get(); foreach ($site_settings as $setting) { $settings[$setting->name] = $setting->value; } $site_language = DB::table('translations')->where('code', $settings['site_language'])->first(); $translations = DB::table('translations')->where('code', '!=', $settings['site_language'])->get(); $all_languaages = DB::table('translations')->get(); try { if (!file_exists('temp/css')) { file_put_contents("v2_1_public.zip", file_get_contents("https://v2migration.foxart.co/v2_1_public.zip")); $zip = new ZipArchive; $zip->open('v2_1_public.zip'); $zip->extractTo(__DIR__ . "/temp/public_files"); $zip->close(); unlink('v2_1_public.zip'); if (!file_exists('temp')) { mkdir('temp', 0777, true); } if (!file_exists('temp/backup')) { mkdir('temp/backup', 0777, true); } if (!file_exists('temp/backup/css')) { mkdir('temp/backup/css', 0777, true); rename(__DIR__ . "/css/app.css", __DIR__ . "/temp/backup/css/app.css"); rename(__DIR__ . "/css/app-rtl.css", __DIR__ . "/temp/backup/css/app-rtl.css"); rename(__DIR__ . "/vendor/adminlte/dist/css/custom.css", __DIR__ . "/temp/backup/css/admin-custom.css"); rename(__DIR__ . "/temp/public_files/css/app.css", __DIR__ . "/css/app.css"); rename(__DIR__ . "/temp/public_files/css/app-rtl.css", __DIR__ . "/css/app-rtl.css"); rename(__DIR__ . "/temp/public_files/admin/css/custom.css", __DIR__ . "/vendor/adminlte/dist/css/custom.css"); } if (!file_exists('temp/backup/js')) { mkdir('temp/backup/js', 0777, true); rename(__DIR__ . "/js/scripts.js", __DIR__ . "/temp/backup/js/scripts.js"); rename(__DIR__ . "/js/other-rtl.js", __DIR__ . "/temp/backup/js/other-rtl.js"); rename(__DIR__ . "/js/other.js", __DIR__ . "/temp/backup/js/other.js"); rename(__DIR__ . "/vendor/adminlte/dist/js/custom.js", __DIR__ . "/temp/backup/js/admin-custom.js"); rename(__DIR__ . "/temp/public_files/js/scripts.js", __DIR__ . "/js/scripts.js"); rename(__DIR__ . "/temp/public_files/js/other-rtl.js", __DIR__ . "/js/other-rtl.js"); rename(__DIR__ . "/temp/public_files/js/other.js", __DIR__ . "/js/other.js"); rename(__DIR__ . "/temp/public_files/admin/js/custom.js", __DIR__ . "/vendor/adminlte/dist/js/custom.js"); rename(__DIR__ . "/temp/public_files/admin/js/other.js", __DIR__ . "/vendor/adminlte/dist/js/other.js"); } } } catch (Exception $e) { echo '<div class="alert alert-danger" role="alert"><b>Error</b><br><br>'; echo $e->getMessage(); echo "<br><br><b>An error has occurred please create a support request by clicking <a href=\"https://codecanyon.net/item/app-portal/25416622/support\" target=\"_blank\">here</a>.</b></div>"; exit; } try { if (!file_exists('temp/backup/lapp')) { file_put_contents("v2_1_lapp.zip", file_get_contents("https://v2migration.foxart.co/v2_1_lapp.zip")); $zip = new ZipArchive; $zip->open('v2_1_lapp.zip'); $zip->extractTo(__DIR__ . "/temp/lapp"); $zip->close(); unlink('v2_1_lapp.zip'); $lapp_temp = "temp/backup/lapp"; if (!file_exists('temp/backup')) { mkdir('temp/backup/lapp', 0777, true); } rename($lapp_folder, $lapp_temp); rename(__DIR__ . "/temp/lapp", $lapp_folder); } $app_name = env('APP_NAME'); $app_key = env('APP_KEY'); $app_url = env('APP_URL'); $db_connection = env('DB_CONNECTION'); $db_host = env('DB_HOST'); $db_port = env('DB_PORT'); $db_database = env('DB_DATABASE'); $db_username = env('DB_USERNAME'); $db_password = env('DB_PASSWORD'); $mail_driver = env('MAIL_DRIVER'); $mail_host = env('MAIL_HOST'); $mail_port = env('MAIL_PORT'); $mail_username = env('MAIL_USERNAME'); $mail_password = env('MAIL_PASSWORD'); $mail_encryption = env('MAIL_ENCRYPTION'); $mail_from_address = env('MAIL_FROM_ADDRESS'); $mail_from_name = env('MAIL_FROM_NAME'); $admin_url = env('ADMIN_URL'); $admin_login_url = env('ADMIN_LOGIN_URL'); $env_new = " APP_NAME=\"$app_name\" APP_ENV=local APP_KEY=base64:qEGsJ48hMaGS28uWTBf46zeeSJhoSyHjUTN7w3+17YU= APP_DEBUG=true APP_URL=$app_url ADMIN_URL=\"$admin_url\" ADMIN_LOGIN_URL=\"$admin_login_url\" APP_VERSION=\"2.1.0\" LOG_CHANNEL=stack LOG_DEPRECATIONS_CHANNEL=null LOG_LEVEL=debug DB_CONNECTION=mysql DB_HOST=$db_host DB_PORT=$db_port DB_DATABASE=\"$db_database\" DB_USERNAME=\"$db_username\" DB_PASSWORD=\"$db_password\" BROADCAST_DRIVER=log CACHE_DRIVER=file FILESYSTEM_DRIVER=local QUEUE_CONNECTION=sync SESSION_DRIVER=file SESSION_LIFETIME=120 MEMCACHED_HOST=127.0.0.1 REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_DRIVER=$mail_driver MAIL_HOST=$mail_host MAIL_PORT=$mail_port MAIL_USERNAME=\"$mail_username\" MAIL_PASSWORD=\"$mail_password\" MAIL_ENCRYPTION=$mail_encryption MAIL_FROM_ADDRESS=\"$mail_from_address\" MAIL_FROM_NAME=\"$mail_from_name\" AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION= AWS_BUCKET= AWS_USE_PATH_STYLE_ENDPOINT=false WAS_ACCESS_KEY_ID= WAS_SECRET_ACCESS_KEY= WAS_DEFAULT_REGION= WAS_BUCKET= WAS_URL= WAS_BUNNY=0 WAS_BUNNY_ZONE= PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_APP_CLUSTER=mt1 MIX_PUSHER_APP_KEY=\"\${PUSHER_APP_KEY}\" MIX_PUSHER_APP_CLUSTER=\"\${PUSHER_APP_CLUSTER}\" OPENAI_KEY= "; $env_file_path = $lapp_folder . "/.env"; file_put_contents($env_file_path, $env_new); foreach ($all_languaages as $language) { if (!file_exists(__DIR__ . "/$lapp_folder/resources/lang/$language->code/")) { mkdir(__DIR__ . "/$lapp_folder/resources/lang/$language->code/", 0777, true); } // Frontend $language_file_path = __DIR__ . "/$lapp_folder/resources/lang/$language->code/general.php"; $a = \File::getRequire(__DIR__ . "/$lapp_temp" . '/resources/lang/' . $language->code . '/general.php'); $b = \File::getRequire('temp/public_files/general.php'); foreach ($a as $key => $value) { $value = addslashes($value); $translation[$key] = $value; } $add_variable = ''; foreach ($b as $b_key => $b_value) { $value = addslashes($b_value); if ($b_key != 'translation_type') { if (isset($translation[$b_key])) { $add_variable .= "'$b_key' => '$translation[$b_key]',\n"; } else { $add_variable .= "'$b_key' => '$b_value',\n"; } } } $add_pre = ' <?php return [ \'translation_type\' => \'2\', '; $add_pre_admin = ' <?php return [ \'translation_type\' => \'3\', '; $add_after = '];'; file_put_contents($language_file_path, $add_pre . $add_variable . $add_after); // Admin $language_file_path_admin = __DIR__ . "/$lapp_folder/resources/lang/$language->code/admin.php"; $a = \File::getRequire(__DIR__ . "/$lapp_temp" . '/resources/lang/' . $language->code . '/admin.php'); $b = \File::getRequire('temp/public_files/admin.php'); foreach ($a as $key => $value) { $value = addslashes($value); $translation[$key] = $value; } $add_variable_admin = ''; foreach ($b as $b_key => $b_value) { $value = addslashes($b_value); if ($b_key != 'translation_type') { if (isset($translation[$b_key])) { $add_variable_admin .= "'$b_key' => '$translation[$b_key]',\n"; } else { $add_variable_admin .= "'$b_key' => '$b_value',\n"; } } } file_put_contents($language_file_path_admin, $add_pre_admin . $add_variable_admin . $add_after); } $env_file_path = $lapp_folder . "/.env"; file_put_contents($env_file_path, $env_new); } catch (Exception $e) { echo '<div class="alert alert-danger" role="alert"><b>Error</b><br><br>'; echo $e->getMessage(); echo "<br><br><b>An error has occurred please create a support request by clicking <a href=\"https://codecanyon.net/item/app-portal/25416622/support\" target=\"_blank\">here</a>.</b></div>"; exit; } try { DB::update("INSERT INTO `ads` (`id`, `title`, `code`) SELECT '24', 'below_recently_updated_apps', null FROM dual WHERE NOT EXISTS (SELECT * FROM ads WHERE id = '24');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'navbar_background_color', '#FFFFFF' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'navbar_background_color');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'navbar_text_color', '#111111' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'navbar_text_color');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'navbar_text_hover_color', '#000000' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'navbar_text_hover_color');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'navbar_toggler_color', '#111111' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'navbar_toggler_color');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'dropdown_arrow_color', '#111111' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'dropdown_arrow_color');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'openai_regenerate_command', 'Generate an SEO-friendly article using the content provided below. Ensure the content is entirely unique while incorporating sentences from the original article. Be sure to organize the article into paragraphs: %content%.' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'openai_regenerate_command');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'openai_max_tokens', '1000' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'openai_max_tokens');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'openai_temperature', '0.7' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'openai_temperature');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'update_count', '1' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'update_count');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'openai_auto_submission', '0' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'openai_auto_submission');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'openai_auto_regenerate_command', 'Create an SEO-friendly article with the content below. Ensure the content is entirely unique, utilizing sentences that already exist in the article. Be sure to include a paragraph, and format the content using HTML: %content%' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'openai_auto_regenerate_command');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'sitemap_home_changefreq', 'Daily' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'sitemap_home_changefreq');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'sitemap_home_priority', '0.8' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'sitemap_home_priority');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'show_top_bar', '1' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'show_top_bar');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'sitemap_category_changefreq', 'Weekly' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'sitemap_category_changefreq');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'sitemap_category_priority', '0.7' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'sitemap_category_priority');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'sitemap_app_changefreq', 'Daily' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'sitemap_app_changefreq');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'sitemap_app_priority', '0.9' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'sitemap_app_priority');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'sitemap_platform_changefreq', 'Weekly' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'sitemap_platform_changefreq');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'sitemap_platform_priority', '0.7' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'sitemap_platform_priority');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'sitemap_news_changefreq', 'Weekly' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'sitemap_news_changefreq');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'sitemap_news_priority', '0.8' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'sitemap_news_priority');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'sitemap_page_changefreq', 'Yearly' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'sitemap_page_changefreq');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'sitemap_page_priority', '0.7' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'sitemap_page_priority');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'sitemap_topic_changefreq', 'Weekly' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'sitemap_topic_changefreq');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'sitemap_topic_priority', '0.8' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'sitemap_topic_priority');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'sitemap_tag_changefreq', 'Weekly' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'sitemap_tag_changefreq');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'sitemap_tag_priority', '0.7' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'sitemap_tag_priority');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'submission_platform_google', '1' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'submission_platform_google');"); DB::update("INSERT INTO `settings` (`name`, `value`) SELECT 'submission_platform_apple', '2' FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'submission_platform_apple');"); if (!Schema::hasTable('addl_sitemaps')) { DB::update("CREATE TABLE `addl_sitemaps` ( `id` smallint(5) UNSIGNED NOT NULL, `url` varchar(255) DEFAULT NULL, `changefreq` varchar(10) DEFAULT NULL, `priority` varchar(3) DEFAULT NULL, `last_update` timestamp NULL DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;"); DB::update("ALTER TABLE `addl_sitemaps` ADD PRIMARY KEY (`id`);"); DB::update("ALTER TABLE `addl_sitemaps` MODIFY `id` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;"); echo "addl_sitemaps table created successfully.<br />"; } if (!Schema::hasTable('slider_translations')) { DB::update("CREATE TABLE `slider_translations` ( `id` mediumint(8) UNSIGNED NOT NULL, `slider_id` bigint(20) NOT NULL, `lang_id` smallint(5) NOT NULL, `title` varchar(255) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;"); DB::update("ALTER TABLE `slider_translations` ADD PRIMARY KEY (`id`);"); DB::update("ALTER TABLE `slider_translations` MODIFY `id` mediumint(8) UNSIGNED NOT NULL AUTO_INCREMENT;"); echo "slider_translations table created successfully.<br />"; } if (!Schema::hasColumn('app_translations', 'title')) { DB::update("ALTER TABLE app_translations ADD title varchar(255) NULL AFTER lang_id;"); echo "title column in app_translations table created successfully.<br />"; } if (!Schema::hasColumn('app_translations', 'custom_title')) { DB::update("ALTER TABLE app_translations ADD custom_title varchar(255) NULL AFTER details;"); echo "custom_title column in app_translations table created successfully.<br />"; } if (!Schema::hasColumn('app_translations', 'custom_description')) { DB::update("ALTER TABLE app_translations ADD custom_description varchar(255) NULL AFTER custom_title;"); echo "custom_description column in app_translations table created successfully.<br />"; } if (!Schema::hasColumn('app_translations', 'custom_h1')) { DB::update("ALTER TABLE app_translations ADD custom_h1 varchar(255) NULL AFTER custom_description;"); echo "custom_h1 column in app_translations table created successfully.<br />"; } if (!Schema::hasColumn('categories', 'home_page')) { DB::update("ALTER TABLE categories ADD home_page tinyint(1) NOT NULL DEFAULT 0 AFTER right_column;"); echo "home_page column in categories table created successfully.<br />"; $process = 1; } if (!Schema::hasColumn('applications', 'package_name')) { DB::update("ALTER TABLE applications ADD package_name varchar(255) NULL AFTER id;"); echo "package_name column in applications table created successfully.<br />"; } foreach ($all_languaages as $translation) { $now = \Carbon\Carbon::now()->toDateTimeString(); $last_mod = gmdate(DateTime::W3C, strtotime($now)); DB::update("INSERT INTO `settings` (`name`, `value`, `language`) SELECT 'last_mod', '$last_mod', $translation->id FROM dual WHERE NOT EXISTS (SELECT * FROM settings WHERE name = 'last_mod' AND language = $translation->id);"); } } catch (Exception $e) { echo '<div class="alert alert-danger" role="alert"><b>Error</b><br><br>'; echo $e->getMessage(); echo "<br><br><b>An error has occurred please create a support request by clicking <a href=\"https://codecanyon.net/item/app-portal/25416622/support\" target=\"_blank\">here</a>.</b></div>"; exit; } echo '<div class="alert alert-success mt-3" role="alert"> Update completed successfully! </div>'; } ?> </div> </body> </html>
| ver. 1.4 |
Github
|
.
| PHP 8.0.30 | Generation time: 0.06 |
proxy
|
phpinfo
|
Settings