id == 1){EnvEditor::addKey('ADMIN_EMAIL', App\Models\User::find(1)->email);} else{EnvEditor::addKey('ADMIN_EMAIL', '');}} if(env('APP_NAME') == 'LittleLink Custom' or env('APP_NAME') == 'LittleLink') { EnvEditor::editKey('APP_NAME', 'LinkStack'); } if (EnvEditor::keyExists('ALLOW_REGISTRATION')) { /* Do nothing if key already exists */ } else { $pagedb = DB::table('pages')->select('register')->first(); if ($pagedb->register) { EnvEditor::addKey('ALLOW_REGISTRATION', 'true'); } else { EnvEditor::addKey('ALLOW_REGISTRATION', 'false'); } try { DB::table('pages')->update(['register' => null]); } catch (Exception $e) {} } try { $file = base_path('storage/RSTAC'); if (file_exists($file)) { copy(base_path('storage/templates/advanced-config.php'), base_path('config/advanced-config.php')); unlink($file); } } catch (Exception $e) {} try { $vendorLangPath = resource_path('lang/vendor'); if (File::exists($vendorLangPath)) { File::deleteDirectory($vendorLangPath); } } catch (Exception $e) {} // Footer page customization if(EnvEditor::keyExists('DISPLAY_FOOTER_HOME')){} else {EnvEditor::addKey('DISPLAY_FOOTER_HOME', 'true');} if(EnvEditor::keyExists('DISPLAY_FOOTER_TERMS')){} else {EnvEditor::addKey('DISPLAY_FOOTER_TERMS', 'true');} if(EnvEditor::keyExists('DISPLAY_FOOTER_PRIVACY')){} else {EnvEditor::addKey('DISPLAY_FOOTER_PRIVACY', 'true');} if(EnvEditor::keyExists('DISPLAY_FOOTER_CONTACT')){} else {EnvEditor::addKey('DISPLAY_FOOTER_CONTACT', 'true');} if(EnvEditor::keyExists('TITLE_FOOTER_HOME')){} else {EnvEditor::addKey('TITLE_FOOTER_HOME', 'Home');} if(EnvEditor::keyExists('TITLE_FOOTER_TERMS')){} else {EnvEditor::addKey('TITLE_FOOTER_TERMS', 'Terms');} if(EnvEditor::keyExists('TITLE_FOOTER_PRIVACY')){} else {EnvEditor::addKey('TITLE_FOOTER_PRIVACY', 'Privacy');} if(EnvEditor::keyExists('TITLE_FOOTER_CONTACT')){} else {EnvEditor::addKey('TITLE_FOOTER_CONTACT', 'Contact');} if(EnvEditor::keyExists('HOME_FOOTER_LINK')){} else {EnvEditor::addKey('HOME_FOOTER_LINK', '');} if(EnvEditor::keyExists('FORCE_HTTPS')){ /* Do nothing if key already exists */ } else {EnvEditor::addKey('FORCE_HTTPS', 'false');} $data['page'] = Page::select('contact')->first(); if (strpos($data['page']->contact, 'info@littlelink-custom.com') !== false or strpos($data['page']->contact, 'LittleLink Custom') !== false) { $contact = '

LinkStack is a free, open source link sharing platform. We depend on community feedback to steadily improve this project.

Feel free to send us your feedback!

If you're having any trouble or encountered a bug, feel free to open an issue on GitHub.

 

'; Page::first()->update(['contact' => $contact]); } $data['page'] = Page::select('home_message')->first(); if (strpos($data['page']->home_message, 'LittleLink Custom') !== false) { $home_message = '

Take control of your online presence with LinkStack the privacy-focused, open-source link management platform. Create a customizable profile page to manage all your important links in one convenient location and give your audience a seamless browsing experience.

'; Page::first()->update(['home_message' => $home_message]); } $migrationFiles = glob(database_path('migrations/*.php')); $fileNames = array_map(function ($file) { return basename($file, '.php'); }, $migrationFiles); foreach ($fileNames as $fileName) { if (!DB::table('migrations')->where('migration', $fileName)->exists()) { DB::table('migrations')->insert(['migration' => $fileName, 'batch' => 1]); } } /* Updates button database entries */ Schema::disableForeignKeyConstraints(); $existingMigration = '2021_03_17_044922_create_buttons_table'; try { if (DB::table('migrations')->where('migration', $existingMigration)->exists()) { DB::table('migrations')->where('migration', $existingMigration)->delete(); } Schema::dropIfExists('buttons'); $migrator = app('migrator'); $migrator->run(database_path('migrations')); $seeder = new ButtonSeeder(); $seeder->run(); } catch (exception $e) {} Schema::enableForeignKeyConstraints(); if (!Schema::hasColumn('users', 'auth_as')) { Schema::table('users', function (Blueprint $table) { $table->unsignedInteger('auth_as')->nullable(); }); } try { DB::table('link_types')->updateOrInsert([ 'typename' => 'text', 'title' => 'Text', 'icon' => 'bi bi-fonts', 'description' => 'Add static text to your page that is not clickable.', 'params' => '[{ "tag": "textarea", "id": "static-text", "for": "static_text", "label": "Text", "name": "static_text", "class": "form-control" } ]' ]); DB::table('link_types')->updateOrInsert([ 'typename' => 'email', 'title' => 'E-Mail address', 'icon' => 'bi bi-envelope-fill', 'description' => 'Add an email that opens a system dialog to compose a new email.' ]); DB::table('link_types')->updateOrInsert([ 'typename' => 'telephone', 'title' => 'Telephone number', 'icon' => 'bi bi-telephone-fill', 'description' => 'Add a telephone number that opens a system dialog to initiate a phone call.' ]); DB::table('link_types')->updateOrInsert([ 'typename' => 'vcard', 'title' => 'Vcard', 'icon' => 'bi bi-person-square', 'description' => 'Create or upload an electronic business card.' ]); } catch (exception $e) {} // Moves all previous images to the new path try{if (is_dir(base_path('assets/img'))) { $files = File::files(base_path('img')); foreach ($files as $file) { $filename = $file->getFilename(); $destination = base_path('assets/img/' . $filename); if (!File::exists($destination)) { if (!$file->isDir()) { File::move($file, $destination);}}}} }catch(exception $e) {} try{if (is_dir(base_path('assets/img/background-img'))) { $files = File::files(base_path('img/background-img')); foreach ($files as $file) { $filename = $file->getFilename(); $destination = base_path('assets/img/background-img/' . $filename); if (!File::exists($destination)) { if (!$file->isDir()) { File::move($file, $destination);}}}} }catch(exception $e) {} try{if (is_dir(base_path('littlelink/images'))) { $files = File::files(base_path('littlelink/images')); foreach ($files as $file) { $filename = $file->getFilename(); $destination = base_path('assets/linkstack/images/' . $filename); if (!File::exists($destination)) { if (!$file->isDir()) { File::move($file, $destination);}}}} }catch(exception $e) {} try{if (is_dir(base_path('littlelink/images'))) { $files = File::files(base_path('littlelink/images')); foreach ($files as $file) { $filename = $file->getFilename(); $destination = base_path('assets/linkstack/images/' . $filename); if (!File::exists($destination)) { if (!$file->isDir()) { File::move($file, $destination);}}}} }catch(exception $e) {} try{if (is_dir(base_path('studio/favicon/icons'))) { $files = File::files(base_path('studio/favicon/icons')); foreach ($files as $file) { $filename = $file->getFilename(); $destination = base_path('assets/favicon/icons/' . $filename); if (!File::exists($destination)) { if (!$file->isDir()) { File::move($file, $destination);}}}} }catch(exception $e) {} // Changes saved profile images from littlelink_name to IDs. // This runs every time the updater runs. // Not sure if this will cause any issues. // If it works, I won't touch it. try { $users = DB::table('users')->get(); foreach ($users as $user) { $oldName = $user->littlelink_name . '.png'; $newName = $user->id . '.png'; $oldPath = base_path('assets/img/' . $oldName); $newPath = base_path('assets/img/' . $newName); if (File::exists($oldPath)) { File::move($oldPath, $newPath); }}} catch (exception $e) {} ?>