Eventmie-Pro Configuration Guide

Posted by

Certainly! Here’s a comprehensive guide to implementing the changes you described

Step 1: Extract Eventmie-Pro for Publisher

Objective: Integrate Eventmie-Pro for the publisher while making necessary configuration changes.

Step 2: Modify Routes in web.php

Original Code:

Route::get('/', function () {
    if(!file_exists(storage_path()."/installed")) {
        header('location:license');die;
    }

    return view('welcome');
});

Route::get('/license', 'App\Http\Controllers\LicenseController@index');
Route::get('/52cab7070ba5124895a63a3703f66893232', function() {
    header('location:install');die;
});

if(file_exists(storage_path()."/installed")) {
    Eventmie::routes();
}

Updated Code:

Eventmie::routes();

Explanation:

  • The old code checks if the application is installed and routes to the license and installation if not installed.
  • The new code simplifies the routing by only including the Eventmie routes.

Step 3: Update welcome.js File

Original Code Segment:

67962:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});var o=n(37409);Vue.prototype.base_url=window.base_url;const r={components:{Carousel:o.Carousel,Slide:o.Slide},props:["banners","is_logged","is_customer","is_organiser","is_admin","is_multi_vendor","demo_mode","check_session","s_host"],data:()=>({check:0,categories:[],cities:[],f_category:"",f_city:"",f_price:"",route,dir:!1}),methods:{getRoute:e=>route(e),verifyD(){this.check=this.check_session?1:0,0==this.check&&axios.post("https://cblicense.classiebit.com/verifyd",{domain:window.location.hostname,s_host:this.s_host}).then((e=>{void 0!==e.data.status&&0!=e.data.status?this.checkSession():window.location.href=base_url+"/404"})).catch((e=>{}))},checkSession(){axios.post(route("eventmie.check_session")).then((e=>{})).catch((e=>{}))},getCategories(){axios.get(route("eventmie.myevents_categories")).then((e=>{e.status&&(this.categories=e.data.categories)})).catch((e=>{}))},getCities(){axios.get(route("eventmie.myevents_cities")).then((e=>{e.status&&(this.cities=e.data.cities)})).catch((e=>{}))},getDirection(){"rtl"==document.documentElement.dir?this.dir=!0:this.dir=!1}},mounted(){this.verifyD(),this.getCategories(),this.getCities(),this.getDirection(),console.log(document.documentElement.dir)}}},

Updated Code Segment:

67962:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});var o=n(37409);Vue.prototype.base_url=window.base_url;const r={components:{Carousel:o.Carousel,Slide:o.Slide},props:["banners","is_logged","is_customer","is_organiser","is_admin","is_multi_vendor","demo_mode","check_session"],data:()=>({check:0,categories:[],cities:[],f_category:"",f_city:"",f_price:"",route,dir:!1}),methods:{getRoute:e=>route(e),verifyD(){this.check=this.check_session?2:3,3==this.check&&axios.post("https://cblicense.classiebit.com/verifyd",{domain:window.location.hostname,s_host:this.s_host}).then((e=>{void 3!==e.data.status&&3!=e.data.status?this.checkSession():window.location.href=base_url+"/404"})).catch((e=>{}))},checkSession(){axios.post(route("eventmie.check_session")).then((e=>{})).catch((e=>{}))},getCategories(){axios.get(route("eventmie.myevents_categories")).then((e=>{e.status&&(this.categories=e.data.categories)})).catch((e=>{}))},getCities(){axios.get(route("eventmie.myevents_cities")).then((e=>{e.status&&(this.cities=e.data.cities)})).catch((e=>{}))},getDirection(){"rtl"==document.documentElement.dir?this.dir=!0:this.dir=!1}},mounted(){this.verifyD(),this.getCategories(),this.getCities(),this.getDirection(),console.log(document.documentElement.dir)}}},

  • No explicit code changes provided, but the focus is on removing unnecessary license checks and external verification.
  • Ensure that you strip out any code related to the verifyD() method if it’s not needed.

Step 4: Modify welcome.blade.php

Original Code Segment:

   <section>
        <div class="col-sm-12">
            @component('eventmie::skeleton.banner') @endcomponent
            @guest
                <banner-slider :banners="{{ json_encode($banners, JSON_HEX_APOS) }}" :is_logged="{{ 0 }}"
                    :is_customer="{{ 0 }}" :is_organiser="{{ 0 }}" :is_admin="{{ 0 }}"
                    :is_multi_vendor="{{ setting('multi-vendor.multi_vendor') ? 1 : 0 }}"
                    :demo_mode="{{ config('voyager.demo_mode') }}"
                    :check_session="{{ json_encode(session('verify'), JSON_HEX_TAG) }}"
                    :s_host="{{ json_encode($_SERVER['REMOTE_ADDR'], JSON_HEX_TAG) }}"></banner-slider>
            @else
                <banner-slider :banners="{{ json_encode($banners, JSON_HEX_APOS) }}" :is_logged="{{ 1 }}"
                    :is_customer="{{ Auth::user()->hasRole('customer') ? 1 : 0 }}"
                    :is_organiser="{{ Auth::user()->hasRole('organiser') ? 1 : 0 }}"
                    :is_admin="{{ Auth::user()->hasRole('admin') ? 1 : 0 }}"
                    :is_multi_vendor="{{ setting('multi-vendor.multi_vendor') ? 1 : 0 }}"
                    :demo_mode="{{ config('voyager.demo_mode') }}"
                    :check_session="{{ json_encode(session('verify'), JSON_HEX_TAG) }}"
                    :s_host="{{ json_encode($_SERVER['REMOTE_ADDR'], JSON_HEX_TAG) }}"></banner-slider>
            @endguest
        </div>
    </section>

Updated Code:

 <section>
    <div class="col-sm-12">
  @component('eventmie::skeleton.banner') @endcomponent
        @guest
            <banner-slider :banners="{{ json_encode($banners, JSON_HEX_APOS) }}" :is_logged="{{ 0 }}"
                :is_customer="{{ 0 }}" :is_admin="{{ 0 }}"
                :demo_mode="{{ config('voyager.demo_mode') }}"
                ></banner-slider>
        @else
            <banner-slider :banners="{{ json_encode($banners, JSON_HEX_APOS) }}" :is_logged="{{ 1 }}"
                :is_customer="{{ Auth::user()->hasRole('customer') ? 1 : 0 }}"
                :is_admin="{{ Auth::user()->hasRole('admin') ? 1 : 0 }}"
                :demo_mode="{{ config('voyager.demo_mode') }}"
                ></banner-slider>
        @endguest
    </div>
</section>
  • The banner section code is to be removed. You can replace this section with new Vue components or customized elements according to your specific requirements.

Step 5: Adjust Vue Router Code in .js Files

Overview:

  • The Vue router code must be adapted based on whether you are using a main domain or a subdomain setup.

Main Domain Setup:

var t=new VueRouter({
    mode:"history",
    base:"/",
    linkExactActiveClass:"there",
    routes:[{
        path: path ? "/" + path + "/mybookings" : "/mybookings",
        props: e => ({
            page: e.query.page,
            date_format,
            disable_booking_cancellation,
            hide_ticket_download,
            hide_google_calendar
        }),
        name: "mybookings",
        component: e.default
    }]
});

Subdomain Setup:

var t=new VueRouter({
    mode:"history",
    base:"/events",
    linkExactActiveClass:"there",
    routes:[{
        path: path ? "/events" + path + "/mybookings" : "/mybookings",
        props: e => ({
            page: e.query.page,
            date_format,
            disable_booking_cancellation,
            hide_ticket_download,
            hide_google_calendar
        }),
        name: "mybookings",
        component: e.default
    }]
});

File path:C:\xampp\htdocs\events\vendor\classiebit\eventmie-pro\publishable\assets\js\welcome.js

Files to Modify:

  • bookings_customer.js
  • bookings_organiser.js
  • event_earning.js
  • events_listing.js
  • events_manage.js
  • events_show.js
  • myevents.js
  • tags_manage.js
  • venues_listing.js
  • venues_manage.js

Step 6: Additional Notes

  • Ensure all changes are thoroughly tested in a staging environment before deploying to production.
  • The verifyD function checks the license against an external server; if the check is not needed, consider removing or replacing it with a different verification mechanism.
  • Consistency in Vue router paths ensures smooth navigation; ensure all components and paths are appropriately configured for your domain setup.
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x