<?php  

Route::group(['prefix' => 'admincp/', 'middleware' => ['web', 'admincp-auth'], 'namespace' => 'App\Http\Controllers\Admincp'], function () {

    Route::get('', [
        'as' => 'admincp',
        'uses' => 'AdmincpController@dashboard',
    ]);

    Route::get('configurations/{type}', [
        'as' => 'admincp-configuration',
        'uses' => 'ConfigurationController@index',
    ])->where('type', '[a-zA-Z0-9\-\_]+');

    Route::post('save/configurations', [
        'as' => 'admincp-save-configuration',
        'uses' => 'ConfigurationController@save',
    ]);

    Route::post('update/configurations', [
        'as' => 'admincp-update-configuration',
        'uses' => 'ConfigurationController@update',
    ]);

    /***addons***/
    Route::get('addons', [
        'as' => 'admincp-addon',
        'uses' => 'AddonController@index',
    ]);

    Route::post('addons/disable/{slug}', [
        'as' => 'admincp-disable-addon',
        'uses' => 'AddonController@disable',
    ])->where('slug', '[a-zA-Z0-9]+');

    Route::post('addons/enable/{slug}', [
        'as' => 'admincp-enable-addon',
        'uses' => 'AddonController@enable',
    ])->where('slug', '[a-zA-Z0-9]+');

    Route::post('addons/update/{slug}', [
        'as' => 'admincp-update-addon',
        'uses' => 'AddonController@update',
    ])->where('slug', '[a-zA-Z0-9]+');

    Route::get('addons/{slug}/configurations', [
        'as' => 'admincp-configuration-addon',
        'uses' => 'AddonController@configurations',
    ])->where('slug', '[a-zA-Z0-9]+');

    /***Theme management**/
    Route::get('theme', [
        'as' => 'admincp-theme',
        'uses' => 'ThemeController@index',
    ]);

    Route::post('theme/activate', [
        'as' => 'admincp-theme-activate',
        'uses' => 'ThemeController@setActive',
    ]);

    Route::get('theme/configurations', [
        'as' => 'admincp-theme-configurations',
        'uses' => 'ThemeController@configurations',
    ]);

    /**
     * Languages
     */
    Route::get('languages', [
        'as' => 'admincp-languages',
        'uses' => 'LanguageController@index',
    ]);

    Route::get('languages/add', [
        'as' => 'admincp-languages-add',
        'uses' => 'LanguageController@add',
    ]);
	
	Route::post('languages/add', [
        'as' => 'admincp-languages-add-post',
        'uses' => 'LanguageController@add',
    ]);

    Route::get('languages/add/progress/{job}', [
        'as' => 'admincp-languages-add-progress',
        'uses' => 'LanguageController@translationProgress',
    ])->where('job', '[a-zA-Z0-9\-\_]+' );

    Route::get('languages/activate/{var}', [
        'as' => 'admincp-languages-activate',
        'uses' => 'LanguageController@activate',
    ])->where('var', '[a-zA-Z\_\-]+');

    Route::get('languages/delete/{var}', [
        'as' => 'admincp-languages-delete',
        'uses' => 'LanguageController@delete',
    ])->where('var', '[a-zA-Z0-9\_\-]+');

    Route::get('languages/deactivate/{var}', [
        'as' => 'admincp-languages-deactivate',
        'uses' => 'LanguageController@deactivate',
    ])->where('var', '[a-zA-Z\_\-]+');

    Route::get('languages/showphrase/{var}', [
        'as' => 'admincp-languages-showpharse',
        'uses' => 'LanguageController@showPhrase',
    ])->where('var', '[a-zA-Z\_\-]+');

    Route::post('languages/editphrase/', [
        'as' => 'admincp-languages-editpharse',
        'uses' => 'LanguageController@editPhrase',
    ]);

    Route::get('languages/loadphrase', [
        'as' => 'admincp-languages-loadphrase',
        'uses' => 'LanguageController@loadPhrase',
    ]);

    Route::get('languages/transpg/{id}', [
        'as' => 'admincp-language-transpg',
        'uses' => 'AdditionalPageController@transPg',
    ]);

    Route::post('languages/translatepage', [
        'as' => 'admincp-language-translatepg',
        'uses' => 'AdditionalPageController@translatePage',
    ]);

    Route::post('languages/editpagephrase/{pageid}/{id}', [
        'as' => 'admincp-language-editpagephrase',
        'uses' => 'AdditionalPageController@editPagePhrase',
    ]);

    /***Database ***/
    Route::post('database/update', [
        'as' => 'admincp-database-update',
        'uses' => 'DatabaseController@update',
    ]);

    /**communities routes**/
    Route::get('communities', [
        'as' => 'admincp-communities',
        'uses' => 'CommunityController@index',
    ]);
	
	 Route::get('community/edit/{id}', [
        'as' => 'admincp-community-edit-get',
        'uses' => 'CommunityController@edit',
    ])->where('id', '[0-9]+');

    Route::post('community/edit/{id}', [
        'as' => 'admincp-community-edit',
        'uses' => 'CommunityController@edit',
    ])->where('id', '[0-9]+');
	
	Route::get('community/menusettings/{id}', [
        'as' => 'admincp-community-menu-settings-get',
        'uses' => 'CommunityController@menuSettings',
    ])->where('id', '[0-9]+');

    Route::post('community/menusettings/{id}', [
        'as' => 'admincp-community-menu-settings',
        'uses' => 'CommunityController@menuSettings',
    ])->where('id', '[0-9]+');

    Route::post('community/sendcardalert', [
        'as' => 'admincp-community-send-card-alert',
        'uses' => 'CommunityController@sendCardAlert',
    ]);

    Route::post('community/cardalertemail', [
        'as' => 'admincp-community-card-alert-email',
        'uses' => 'CommunityController@cardAlertEmail',
    ]);

    Route::post('community/sendcardcustomemail', [
        'as' => 'admincp-community-card-custom-email',
        'uses' => 'CommunityController@cardCustomAlertEmail',
    ]);

    Route::post('community/sendcardalertglobal', [
        'as' => 'admincp-community-send-card-alert-global',
        'uses' => 'CommunityController@sendCardAlertGlobal',
    ]);

    Route::post('community/setplanaccess', [
        'as' => 'admincp-community-setplanaccess',
        'uses' => 'CommunityController@setPlanAccess',
    ]);

    /**External communities routes**/
    Route::get('external-communities', [
        'as' => 'admincp-external-communities',
        'uses' => 'CommunityController@externalCommunities',
    ]);
	
	Route::get('storage-clean', [
        'as' => 'admincp-storage-clean',
        'uses' => 'ConfigurationController@storageClean',
    ]);

    Route::post('storage-clean', [
        'as' => 'admincp-do-storage-clean',
        'uses' => 'ConfigurationController@storageClean',
    ]);

    Route::get('communities-payments-dashboard', [
        'as' => 'admincp-communities-payments-dashboard',
        'uses' => 'CommunityController@communityPaymentsDashboard',
    ]);

    Route::get('admincp-plans', [
        'as' => 'admincp-plans',
        'uses' => 'CommunityController@plans',
    ]);
	
	Route::get('ai-chatbot-setting', [
        'as' => 'admincp-ai-chatbot-get',
        'uses' => 'CommunityController@aiChatbotSetting',
    ]);

    Route::post('ai-chatbot-setting', [
        'as' => 'admincp-ai-chatbot',
        'uses' => 'CommunityController@aiChatbotSetting',
    ]);

    Route::get('ai-chatbot-tracking', [
        'as' => 'admincp-ai-chatbot-tracking',
        'uses' => 'CommunityController@aiChatbotTracking',
    ]);

    Route::get('ai-tracking-details/{id}', [
        'as' => 'admincp-ai-tracking-details',
        'uses' => 'CommunityController@aiChatbotTrackingDetails',
    ])->where('id', '[0-9]+');

    Route::get('aidefaultquestions', [
        'as' => 'admincp-ai-default-questions',
        'uses' => 'CommunityController@aiDefaultQuestions',
    ]);

    Route::post('aieditfile', [
        'as' => 'admincp-ai-edit-file',
        'uses' => 'CommunityController@aiEditFile',
    ]);

    Route::get('aisubquestions/{id}', [
        'as' => 'admincp-ai-sub-questions',
        'uses' => 'CommunityController@aiSubQuestions',
    ]);
	
	Route::get('aiaddquestion', [
        'as' => 'admincp-ai-add-question-get',
        'uses' => 'CommunityController@aiAddQuestion',
    ]);

    Route::post('aiaddquestion', [
        'as' => 'admincp-ai-add-question',
        'uses' => 'CommunityController@aiAddQuestion',
    ]);
	
	Route::get('aiquestion/edit/{id}', [
        'as' => 'admincp-ai-question-edit-get',
        'uses' => 'CommunityController@aiEditQuestion',
    ])->where('id', '[0-9]+');

    Route::post('aiquestion/edit/{id}', [
        'as' => 'admincp-ai-question-edit',
        'uses' => 'CommunityController@aiEditQuestion',
    ])->where('id', '[0-9]+');

    Route::post('aiquestion/add/{id}', [
        'as' => 'admincp-ai-sub-question-add',
        'uses' => 'CommunityController@aiAddSubQuestion',
    ])->where('id', '[0-9]+');

    Route::post('aiquestion/delete/{id}', [
        'as' => 'admincp-ai-question-delete',
        'uses' => 'CommunityController@aiDeleteQuestion',
    ])->where('id', '[0-9]+');

    Route::post('aiquestion/deactivate/{id}', [
        'as' => 'admincp-ai-question-deactivate',
        'uses' => 'CommunityController@aiDeactivateQuestion',
    ])->where('id', '[0-9]+');

    Route::post('aiquestion/activate/{id}', [
        'as' => 'admincp-ai-question-activate',
        'uses' => 'CommunityController@aiActivateQuestion',
    ])->where('id', '[0-9]+');

    Route::get('visitors/statistics', [
        'as' => 'admincp-statistics',
        'uses' => 'CommunityController@statistics',
    ]);

    Route::get('domains/created', [
        'as' => 'admincp-domains-created',
        'uses' => 'CommunityController@domainsCreated',
    ]);

    Route::post('domains/changestatus', [
        'as' => 'admincp-domain-changestatus',
        'uses' => 'CommunityController@domainsChangeStatus',
    ]);

    Route::post('domains/sendalert', [
        'as' => 'admincp-domain-sendalert',
        'uses' => 'CommunityController@domainsSendAlert',
    ]);

    Route::get('rss/categories', [
        'as' => 'admincp-rss-categories',
        'uses' => 'RssController@listCategories',
    ]);

    Route::get('experience/categories', [
        'as' => 'admincp-exp-categories',
        'uses' => 'CommunityController@listExpCategories',
    ]);
	
	Route::get('experience/addcategory', [
        'as' => 'admincp-experience-add-category-get',
        'uses' => 'CommunityController@categoryExpAdd',
    ]);

    Route::post('experience/addcategory', [
        'as' => 'admincp-experience-add-category',
        'uses' => 'CommunityController@categoryExpAdd',
    ]);
	
	Route::get('experience/editcategory/{id}', [
        'as' => 'admincp-experience-category-edit-get',
        'uses' => 'CommunityController@categoryExpEdit',
    ])->where('id', '[0-9]+');

    Route::post('experience/editcategory/{id}', [
        'as' => 'admincp-experience-category-edit',
        'uses' => 'CommunityController@categoryExpEdit',
    ])->where('id', '[0-9]+');

    Route::post('experience/deletecategory/{id}', [
        'as' => 'admincp-experience-category-delete',
        'uses' => 'CommunityController@categoryExpDelete',
    ])->where('id', '[0-9]+');
	
	Route::get('rss/addcategory', [
        'as' => 'admincp-rss-add-category-get',
        'uses' => 'RssController@categoryAdd',
    ]);

    Route::post('rss/addcategory', [
        'as' => 'admincp-rss-add-category',
        'uses' => 'RssController@categoryAdd',
    ]);

    Route::post('rss/addfeeds', [
        'as' => 'admincp-rss-add-feeds',
        'uses' => 'RssController@feedsAdd',
    ]);
	
	Route::get('rss/editcategory/{id}', [
        'as' => 'admincp-rss-category-edit-get',
        'uses' => 'RssController@categoryEdit',
    ])->where('id', '[0-9]+');

    Route::post('rss/editcategory/{id}', [
        'as' => 'admincp-rss-category-edit',
        'uses' => 'RssController@categoryEdit',
    ])->where('id', '[0-9]+');

	Route::get('rss/editfeed/{id}', [
        'as' => 'admincp-rss-feed-edit-get',
        'uses' => 'RssController@feedEdit',
    ])->where('id', '[0-9]+');

    Route::post('rss/editfeed/{id}', [
        'as' => 'admincp-rss-feed-edit',
        'uses' => 'RssController@feedEdit',
    ])->where('id', '[0-9]+');

    Route::get('rss/viewfeed/{id}', [
        'as' => 'admincp-rss-feed-view',
        'uses' => 'RssController@feedView',
    ])->where('id', '[0-9]+');

    Route::get('rss/categoryfeeds/{id}', [
        'as' => 'admincp-rss-category-feeds',
        'uses' => 'RssController@categoryFeeds',
    ])->where('id', '[0-9]+');

    Route::get('rss/allfeeds', [
        'as' => 'admincp-rss-all-feeds',
        'uses' => 'RssController@allFeeds',
    ]);

    Route::post('rss/deletecategory/{id}', [
        'as' => 'admincp-rss-category-delete',
        'uses' => 'RssController@categoryDelete',
    ])->where('id', '[0-9]+');

    Route::post('rss/deletefeed/{id}', [
        'as' => 'admincp-rss-feed-delete',
        'uses' => 'RssController@feedDelete',
    ])->where('id', '[0-9]+');

    Route::get('visitors/geographic', [
        'as' => 'admincp-statistics-visitorsgeographic',
        'uses' => 'CommunityController@visitorsGeographic',
    ]);

    Route::get('visitors/geographiccities', [
        'as' => 'admincp-statistics-visitorsgeographiccities',
        'uses' => 'CommunityController@visitorsGeographicCities',
    ]);

    Route::get('visitors/pages', [
        'as' => 'admincp-statistics-visitorspages',
        'uses' => 'CommunityController@visitorsPages',
    ]);

    Route::get('visitors/ippages/{ip}', [
        'as' => 'admincp-statistics-ip-pages',
        'uses' => 'CommunityController@ipPages',
    ]);

    Route::match(['get', 'post'], 'visitors/pagesloaded', [
        'as' => 'admincp-statistics-visitorspagesloaded',
        'uses' => 'CommunityController@visitorsPagesLoaded',
    ]);

    Route::get('visitors/iplisted', [
        'as' => 'admincp-statistics-iplisted',
        'uses' => 'CommunityController@ipListed',
    ]);

    Route::get('visitors/visitorsusers', [
        'as' => 'admincp-statistics-visitorsusers',
        'uses' => 'CommunityController@visitorsUsers',
    ]);

    Route::get('visitors/visitorsengagement', [
        'uses' => 'CommunityController@visitorsEngagement',
        'as' => 'admincp-statistics-visitorsengagement',
    ]);

    Route::get('visitors/visitorsystem', [
        'uses' => 'CommunityController@visitorSystem',
        'as' => 'admincp-statistics-visitorsystem',
    ]);

    Route::get('coupons/list', [
        'as' => 'admincp-coupons-list',
        'uses' => 'CouponsController@couponsList',
    ]);
	
	Route::get('coupons/add', [
        'as' => 'admincp-coupons-add-get',
        'uses' => 'CouponsController@couponsAdd',
    ]);

    Route::post('coupons/add', [
        'as' => 'admincp-coupons-add',
        'uses' => 'CouponsController@couponsAdd',
    ]);
	
	Route::get('coupons/edit/{id}', [
        'as' => 'admincp-coupons-edit-get',
        'uses' => 'CouponsController@couponsEdit',
    ])->where('id', '[0-9]+');

    Route::post('coupons/edit/{id}', [
        'as' => 'admincp-coupons-edit',
        'uses' => 'CouponsController@couponsEdit',
    ])->where('id', '[0-9]+');

    Route::post('coupons/delete/{id}', [
        'as' => 'admincp-coupons-delete',
        'uses' => 'CouponsController@couponsDelete',
    ])->where('id', '[0-9]+');

    Route::get('plan/features/{id}', [
        'as' => 'admincp-plan-features',
        'uses' => 'CommunityController@planFeatures',
    ])->where('id', '[0-9]+');

    Route::post('saveplanfeature', [
        'as' => 'admincp-saveplanfeature',
        'uses' => 'CommunityController@savePlanFeature',
    ]);

    Route::post('overrideplanfeature', [
        'as' => 'admincp-overrideplanfeature',
        'uses' => 'CommunityController@overridePlanFeature',
    ]);

    Route::get('plan/features/list', [
        'as' => 'admincp-plan-features-list',
        'uses' => 'CommunityController@featuresList',
    ]);
	
	Route::get('plan/edit/{id}', [
        'as' => 'admincp-plan-edit-get',
        'uses' => 'CommunityController@editPlan',
    ]);

    Route::get('plan/add', [
        'as' => 'admincp-plan-add-get',
        'uses' => 'CommunityController@addPlan',
    ]);
	
	Route::get('plan/setfeature/{id}', [
        'as' => 'admincp-plan-set-features',
        'uses' => 'CommunityController@setPlanFeature',
    ]);

	Route::post('plan/setfeature/{id}', [
        'as' => 'admincp-plan-set-features-save',
        'uses' => 'CommunityController@saveSelectedPlanFeatures',
    ]);

    Route::post('plan/edit/{id}', [
        'as' => 'admincp-plan-edit',
        'uses' => 'CommunityController@editPlan',
    ]);

    Route::post('plan/add', [
        'as' => 'admincp-plan-add',
        'uses' => 'CommunityController@addPlan',
    ]);

    Route::get('plan/features-master', [
        'as' => 'admincp-pricing-plans-features-list',
        'uses' => 'CommunityController@pricingPlansFeaturesList',
    ]);

    Route::get('plan/feature-master/edit/{id}', [
        'as' => 'admincp-pricing-plans-feature-edit-get',
        'uses' => 'CommunityController@pricingPlansFeatureEdit',
    ])->where('id', '[0-9]+');

    Route::post('plan/feature-master/edit/{id}', [
        'as' => 'admincp-pricing-plans-feature-edit',
        'uses' => 'CommunityController@pricingPlansFeatureEdit',
    ])->where('id', '[0-9]+');

    Route::post('communityAction', [
        'as' => 'communityAction',
        'uses' => 'CommunityController@communityAction',
    ]);

    Route::post('communitySignonAction', [
        'as' => 'communitySignonAction',
        'uses' => 'CommunityController@communitySignonAction',
    ]);

    Route::post('communityBusinessAction', [
        'as' => 'communityBusinessAction',
        'uses' => 'CommunityController@communityBusinessAction',
    ]);

    Route::post('communityLocalAction', [
        'as' => 'communityLocalAction',
        'uses' => 'CommunityController@communityLocalAction',
    ]);

    Route::post('communityAllowBusiness', [
        'as' => 'communityAllowBusiness',
        'uses' => 'CommunityController@communityAllowBusiness',
    ]);

    Route::get('showcrowdfunding', [
        'as' => 'communityshowcrowdfunding',
        'uses' => 'CommunityController@showCrowdfunding',
    ]);

    Route::post('saveCommunityDomain', [
        'as' => 'communitysaveCommunityDomain',
        'uses' => 'CommunityController@saveCommunityDomain',
    ]);

    Route::post('surveynominationaction', [
        'as' => 'communitysurveynominationaction',
        'uses' => 'CommunityController@surveyNominationAction',
    ]);

    Route::post('activatecampaign', [
        'as' => 'communityactivatecampaign',
        'uses' => 'CommunityController@activateCampaign',
    ]);

    Route::post('activateevent', [
        'as' => 'communityactivateevent',
        'uses' => 'CommunityController@activateEvent',
    ]);

    Route::post('activatedonation', [
        'as' => 'communityactivatedonation',
        'uses' => 'CommunityController@activateDonation',
    ]);

    Route::post('activatezoom', [
        'as' => 'communityactivatezoom',
        'uses' => 'CommunityController@activateZoom',
    ]);

    /***User routes***/
    Route::get('user/list', [
        'as' => 'admincp-user-list',
        'uses' => 'UserController@lists',
    ]);

    Route::match(['get', 'post'], 'user/ban', [
        'as' => 'admincp-user-ban',
        'uses' => 'UserController@ban',
    ]);

    Route::post('user/resetTvLogin', [
        'as' => 'resetTvLogin',
        'uses' => 'UserController@resetTvLogin',
    ]);

    Route::get('user/banned', [
        'as' => 'admincp-ban-users',
        'uses' => 'UserController@banUsers',
    ]);

    Route::get('user/unvalidated', [
        'as' => 'admincp-user-unvalidated-list',
        'uses' => 'UserController@unvalidated',
    ]);

    Route::get('user/deactivated', [
        'as' => 'admincp-user-deactivated-list',
        'uses' => 'UserController@deactivated',
    ]);

    Route::get('user/unverified', [
        'as' => 'admincp-user-unverified-list',
        'uses' => 'UserController@unverified',
    ]);

    Route::get('user/incompletelist', [
        'as' => 'admincp-incomplete-registration-list',
        'uses' => 'UserController@incompleteList',
    ]);

    Route::post('user/acticate', [
        'as' => 'admincp-user-activate',
        'uses' => 'UserController@activateUser',
    ]);

    Route::post('user/sendverificationemail', [
        'as' => 'admincp-user-verification-send',
        'uses' => 'UserController@sendVerificationEmail',
    ]);

    Route::get('user/mediacontributor', [
        'as' => 'admincp-user-mediacontributor-list',
        'uses' => 'UserController@mediaContributor',
    ]);

    Route::post('user/deleteallusers', [
        'as' => 'admincp-user-all-delete',
        'uses' => 'UserController@deletAllUsers',
    ]);
	
	Route::get('user/edit/{id}', [
        'as' => 'admincp-user-edit-get',
        'uses' => 'UserController@edit',
    ])->where('id', '[0-9]+');

    Route::post('user/edit/{id}', [
        'as' => 'admincp-user-edit',
        'uses' => 'UserController@edit',
    ])->where('id', '[0-9]+');

    Route::get('user/login/{id}', [
        'as' => 'admincp-user-login',
        'uses' => 'UserController@loginUsingId',
    ])->where('id', '[0-9]+');

    Route::get('user/custom-field', [
        'as' => 'admincp-user-custom-field',
        'uses' => 'UserController@customFields',
    ]);

    Route::match(['get', 'post'], 'user/custom-field/add', [
        'as' => 'admincp-user-custom-field-add',
        'uses' => 'UserController@addCustomFields',
    ]);

    Route::post('user/custom-field/edit/{id}', [
        'as' => 'admincp-user-custom-field-edit',
        'uses' => 'UserController@editCustomFields',
    ])->where('id', '[0-9]+');

    Route::post('user/custom-field/delete/{id}', [
        'as' => 'admincp-user-custom-field-delete',
        'uses' => 'UserController@deleteCustomFields',
    ])->where('id', '[0-9]+');

    Route::get('user/online/list', [
        'as' => 'admincp-user-onlinelist',
        'uses' => 'UserController@OnlineUserlists',
    ]);

    Route::post('user/setuuid', [
        'as' => 'admincp-user-setuuid',
        'uses' => 'UserController@setUuid',
    ]);

    Route::get('user/idmeets-subscriptions', [
        'as' => 'admincp-idmeets-subscriptions',
        'uses' => 'UserController@idmeetsSubscriptions',
    ]);
	
	Route::get('features-list', [
        'as' => 'admincp-features-list',
        'uses' => 'FeaturesController@featuresList',
    ]);
	
	Route::get('add-feature', [
        'as' => 'admincp-add-feature-get',
        'uses' => 'FeaturesController@addFeature',
    ]);
	
	Route::post('add-feature', [
        'as' => 'admincp-add-feature',
        'uses' => 'FeaturesController@addFeature',
    ]);
	
	Route::get('feature/edit/{id}', [
        'as' => 'admincp-feature-edit-get',
        'uses' => 'FeaturesController@editFeature',
    ])->where('id', '[0-9]+');
	
	Route::post('feature/edit/{id}', [
        'as' => 'admincp-feature-edit',
        'uses' => 'FeaturesController@editFeature',
    ])->where('id', '[0-9]+');

    Route::post('user/sendidmeetsupdate', [
        'as' => 'admincp-sendidmeetsupdate',
        'uses' => 'UserController@sendIdmeetsUpdate',
    ]);

    /**Reports***/
    Route::get('reports', [
        'as' => 'admincp-reports',
        'uses' => 'ReportController@lists',
    ]);

    Route::post('reports/delete/{id}', [
        'as' => 'delete-report',
        'uses' => 'ReportController@delete',
    ])->where('id', '[0-9]+');

    Route::get('website-page', [
        'as' => 'admincp-website-page',
        'uses' => 'AdditionalPageController@websitePage',
    ]);

    Route::post('website-page-save', [
        'as' => 'admincp-website-page-save',
        'uses' => 'AdditionalPageController@websitePageSave',
    ]);

    // additional pages
    Route::match(['get', 'post'], 'additional-page', [
        'as' => 'admincp-additional-page',
        'uses' => 'AdditionalPageController@edit',
    ]);

    Route::get('additionalpages', [
        'as' => 'admincp-additionalpages',
        'uses' => 'AdditionalPageController@additionalPages',
    ]);

    Route::match(['get', 'post'], 'additionalpage-add', [
        'as' => 'admincp-additionalpage-add',
        'uses' => 'AdditionalPageController@additionalPageAdd',
    ]);

    Route::post('additionalpage-save', [
        'as' => 'admincp-additionalpage-save',
        'uses' => 'AdditionalPageController@savePage',
    ]);
	
	Route::get('additionalpage-edit/{id}', [
        'as' => 'admincp-additionalpage-edit-get',
        'uses' => 'AdditionalPageController@editPage',
    ]);

    Route::post('additionalpage-edit/{id}', [
        'as' => 'admincp-additionalpage-edit',
        'uses' => 'AdditionalPageController@editPage',
    ]);
	
	Route::get('additionalpage-edit-footer/{id}', [
        'as' => 'admincp-additionalpage-edit-footer-get',
        'uses' => 'AdditionalPageController@editPageFooter',
    ]);

    Route::post('additionalpage-edit-footer/{id}', [
        'as' => 'admincp-additionalpage-edit-footer',
        'uses' => 'AdditionalPageController@editPageFooter',
    ]);

    Route::match(['get', 'post'], 'additionalpage-delete/{id}', [
        'as' => 'admincp-additionalpage-delete',
        'uses' => 'AdditionalPageController@deletePage',
    ]);

    Route::get('additionalpage-preview/{id}', [
        'as' => 'admincp-additionalpage-preview',
        'uses' => 'AdditionalPageController@previewPage',
    ]);

    Route::post('additionalPageAction', [
        'as' => 'additionalPageAction',
        'uses' => 'AdditionalPageController@additionalPageAction',
    ]);

    // Help System
    Route::get('helps/list', [
        'as' => 'admincp-helps',
        'uses' => 'HelpController@index',
    ]);

    Route::post('helps/add', [
        'as' => 'admincp-helps-add',
        'uses' => 'HelpController@add',
    ]);

    Route::post('helps/edit/{id}', [
        'as' => 'admincp-helps-edit',
        'uses' => 'HelpController@edit',
    ])->where('id', '[0-9]+');

    Route::post('helps/delete/{id}', [
        'as' => 'admincp-helps-delete',
        'uses' => 'HelpController@delete',
    ])->where('id', '[0-9]+');

    // page system
    Route::get('pages', [
        'as' => 'admincp-pages',
        'uses' => 'PageController@index',
    ]);
	
	Route::get('pages/edit/{id}', [
        'as' => 'admincp-pages-edit-get',
        'uses' => 'PageController@editPage',
    ])->where('id', '[0-9]+');

    Route::post('pages/edit/{id}', [
        'as' => 'admincp-pages-edit',
        'uses' => 'PageController@editPage',
    ])->where('id', '[0-9]+');

    Route::get('pages/categories', [
        'as' => 'admincp-pages-categories',
        'uses' => 'PageController@categories',
    ]);
	
	Route::get('pages/kyc-details', [
        'as' => 'admincp-pages-kyc-details',
        'uses' => 'PageController@kycDetails',
    ]);
	
	Route::post('pages/kyc-details/update', [
		'as' => 'admincp-pages-kyc-details-update',
		'uses' => 'PageController@updateKycCompleted',
	]);
	
	Route::get('pages/create/category', [
        'as' => 'admincp-pages-create-category-get',
        'uses' => 'PageController@createCategory',
    ]);

    Route::post('pages/create/category', [
        'as' => 'admincp-pages-create-category',
        'uses' => 'PageController@createCategory',
    ]);

    Route::match(['get', 'post'], 'pages/category/edit/{id}', [
        'as' => 'admincp-pages-edit-category',
        'uses' => 'PageController@editCategory',
    ])->where('id', '[0-9]+');

    Route::match(['get', 'post'], 'pages/category/delete/{id}', [
        'as' => 'admincp-pages-delete-category',
        'uses' => 'PageController@deleteCategory',
    ])->where('id', '[0-9]+');

    Route::get('pages/subcategory', [
        'as' => 'admincp-pages-subcategory',
        'uses' => 'PageController@subcategories',
    ]);

    Route::post('pages/create/subcategory', [
        'as' => 'admincp-pages-create-subcategory',
        'uses' => 'PageController@createSubCategory',
    ]);

    Route::post('pages/subcategory/delete/{id}', [
        'as' => 'admincp-pages-delete-subcategory',
        'uses' => 'PageController@deleteSubCategory',
    ])->where('id', '[0-9]+');

    // GAMES ROUTE
    Route::get('games', [
        'as' => 'admincp-games',
        'uses' => 'GameController@index',
    ]);
	
	Route::get('games/add', [
        'as' => 'admincp-games-add-get',
        'uses' => 'GameController@add',
    ]);

    Route::post('games/add', [
        'as' => 'admincp-games-add',
        'uses' => 'GameController@add',
    ]);
	
	Route::get('games/edit/{id}', [
        'as' => 'admincp-games-edit-get',
        'uses' => 'GameController@editGame',
    ])->where('id', '[0-9]+');

    Route::post('games/edit/{id}', [
        'as' => 'admincp-games-edit',
        'uses' => 'GameController@editGame',
    ])->where('id', '[0-9]+');

    Route::post('games/approve/{id}', [
        'as' => 'admincp-games-approve',
        'uses' => 'GameController@approveGame',
    ])->where('id', '[0-9]+');

    Route::get('games/categories', [
        'as' => 'admincp-games-categories',
        'uses' => 'GameController@categories',
    ]);
	
	Route::get('games/create/category', [
        'as' => 'admincp-games-create-category-get',
        'uses' => 'GameController@createCategory',
    ]);

    Route::post('games/create/category', [
        'as' => 'admincp-games-create-category',
        'uses' => 'GameController@createCategory',
    ]);

    Route::post('games/category/edit/{id}', [
        'as' => 'admincp-games-edit-category',
        'uses' => 'GameController@editCategory',
    ])->where('id', '[0-9]+');

    Route::post('games/category/delete/{id}', [
        'as' => 'admincp-games-delete-category',
        'uses' => 'GameController@deleteCategory',
    ])->where('id', '[0-9]+');

    // newsletter
    Route::get('newsletter', [
        'as' => 'admincp-newsletter',
        'uses' => 'NewsletterController@index',
    ]);

    Route::match(['get', 'post'], 'newsletter/add', [
        'as' => 'admincp-newsletter-add',
        'uses' => 'NewsletterController@add',
    ]);

    Route::post('newsletter/resent/{id}', [
        'as' => 'admincp-newsletter-resend',
        'uses' => 'NewsletterController@resend',
    ])->where('id', '[0-9]+');

    Route::match(['get', 'post'], 'newsletter/delete/{id}', [
        'as' => 'admincp-newsletter-delete',
        'uses' => 'NewsletterController@delete',
    ])->where('id', '[0-9]+');

    Route::get('newsletter/contestantList', [
        'as' => 'admincp-newsletter-contestantList',
        'uses' => 'NewsletterController@contestantList',
    ]);

    Route::get('newsletter/contestantSemifinal', [
        'as' => 'admincp-newsletter-contestantSemifinal',
        'uses' => 'NewsletterController@contestantSemifinal',
    ]);

    // ads
    Route::get('ads', [
        'as' => 'admincp-ads',
        'uses' => 'AdsController@index',
    ]);

    Route::get('surveys', [
        'as' => 'admincp-surveys',
        'uses' => 'SurveyPostController@index',
    ]);

    Route::get('surveys/getResult', [
        'uses' => 'SurveyPostController@getResult',
    ]);

    Route::get('advertisement', [
        'as' => 'admincp-advertisement',
        'uses' => 'AdvertisementController@index',
    ]);
	
	Route::get('advertisement/add', [
        'as' => 'admincp-add-advertisement-get',
        'uses' => 'AdvertisementController@add',
    ]);

    Route::post('advertisement/add', [
        'as' => 'admincp-add-advertisement',
        'uses' => 'AdvertisementController@add',
    ]);

    Route::post('advertisement/changeAction', [
        'uses' => 'AdvertisementController@changeAction',
    ]);
	
	Route::get('advertisement/edit', [
        'as' => 'admincp-edit-advertisement-get',
        'uses' => 'AdvertisementController@edit',
    ]);

    Route::post('advertisement/edit', [
        'as' => 'admincp-edit-advertisement',
        'uses' => 'AdvertisementController@edit',
    ]);

    Route::post('advertisement/delete', [
        'as' => 'admincp-delete-advertisement',
        'uses' => 'AdvertisementController@delete',
    ]);

    Route::get('contest', [
        'as' => 'admincp-contest',
        'uses' => 'ContestController@index',
    ]);
    Route::get('contest/checkLink', [
        'as' => 'admincp-contest-checkLink',
        'uses' => 'ContestController@checkLink',
    ]);
	
	Route::get('contest/add', [
        'as' => 'admincp-add-contest-get',
        'uses' => 'ContestController@add',
    ]);

    Route::post('contest/add', [
        'as' => 'admincp-add-contest',
        'uses' => 'ContestController@add',
    ]);
	
    Route::get('contest/edit/{id}', [
        'as' => 'admincp-edit-contest-get',
        'uses' => 'ContestController@edit',
    ])->where('id', '[0-9]+');
	
	 Route::post('contest/edit/{id}', [
        'as' => 'admincp-edit-contest',
        'uses' => 'ContestController@edit',
    ])->where('id', '[0-9]+');

    Route::post('contest/delete/{id}', [
        'as' => 'admincp-delete-contest',
        'uses' => 'ContestController@deleteContest',
    ])->where('id', '[0-9]+');

    Route::get('contest/members/{id}', [
        'as' => 'admincp-contest-members',
        'uses' => 'ContestController@contestantEntry',
    ])->where('id', '[0-9]+');

    Route::post('contest/approve/{id}/', [
        'as' => 'admincp-contest-approve',
        'uses' => 'ContestController@approveContestant',
    ])->where('id', '[0-9]+');

    Route::post('contest/deapprove/{id}/', [
        'as' => 'admincp-contest-deapprove',
        'uses' => 'ContestController@deapproveContestant',
    ])->where('id', '[0-9]+');

    Route::post('contest/deleteEntry/{id}/', [
        'as' => 'admincp-contest-deleteEntry',
        'uses' => 'ContestController@deleteEntryPhoto',
    ])->where('id', '[0-9]+');

    Route::post('contest/result/{id}/', [
        'as' => 'admincp-contest-result',
        'uses' => 'ContestController@resultRemark',
    ])->where('id', '[0-9]+');

    Route::post('contest/showresult/{id}/', [
        'as' => 'admincp-contest-showresult',
        'uses' => 'ContestController@showResult',
    ])->where('id', '[0-9]+');

    Route::post('contest/dontshowresult/{id}/', [
        'as' => 'admincp-contest-dontshowresult',
        'uses' => 'ContestController@dontShowResult',
    ])->where('id', '[0-9]+');

    Route::post('contest/addRemark', [
        'as' => 'admin-owner-contest-addRemark',
        'uses' => 'ContestController@addRemark',
    ]);
    Route::post('contest/editRemark', [
        'as' => 'admin-owner-contest-editRemark',
        'uses' => 'ContestController@editRemark',
    ]);
	
	Route::get('contest/addRemark', [
        'as' => 'admin-owner-contest-addRemark-get',
        'uses' => 'ContestController@addRemark',
    ]);
    Route::get('contest/editRemark', [
        'as' => 'admin-owner-contest-editRemark-edit',
        'uses' => 'ContestController@editRemark',
    ]);
	
    Route::post('contest/deleteRemark/{id}', [
        'as' => 'owner-contest-deleteRemark',
        'uses' => 'ContestController@deleteRemark',
    ])->where('id', '[0-9]+');
    Route::get('contest/judgesvote/{id}', [
        'as' => 'admincp-contest-judgesvoteList',
        'uses' => 'ContestController@judgesVoteList',
    ])->where('id', '[0-9]+');
    Route::post('contest/resetVotes/{id}', [
        'as' => 'owner-contest-resetVotes',
        'uses' => 'ContestController@resetVotes',
    ])->where('id', '[0-9]+');

    /* Statistics Start */
    Route::get('statistics/list', [
        'as' => 'admincp-list-statistic',
        'uses' => 'StatisticsController@index',
    ]);

    Route::get('statistics/view', [
        'as' => 'admincp-view-statistic',
        'uses' => 'StatisticsController@view',
    ]);
	
	Route::get('statistics/add', [
        'as' => 'admincp-add-statistics-get',
        'uses' => 'StatisticsController@add',
    ]);

    Route::post('statistics/add', [
        'as' => 'admincp-add-statistics',
        'uses' => 'StatisticsController@add',
    ]);

    Route::post('statistics/delete', [
        'as' => 'admincp-delete-statistics',
        'uses' => 'StatisticsController@delete',
    ])->where('id', '[0-9]+');
	
	 Route::get('statistics/edit', [
        'as' => 'admincp-edit-statistics-get',
        'uses' => 'StatisticsController@edit',
    ])->where('id', '[0-9]+');

    Route::post('statistics/edit', [
        'as' => 'admincp-edit-statistics',
        'uses' => 'StatisticsController@edit',
    ])->where('id', '[0-9]+');

    Route::get('user/communitylist', [
        'as' => 'admincp-community-list',
        'uses' => 'CommunityModeratorController@communityList',
    ]);

    Route::get('user/usersbycommunity', [
        'as' => 'admincp-users-by-community',
        'uses' => 'CommunityModeratorController@usersByCommunity',
    ])->where('name', '[a-zA-Z0-9]+');

    Route::get('user/reportedpostlist', [
        'as' => 'admincp-reported-post-list',
        'uses' => 'CommunityModeratorController@reportedPostList',
    ]);

    Route::get('user/identityapplication', [
        'as' => 'admincp-identity-applications',
        'uses' => 'UserController@identityApplication',
    ]);

    Route::post('user/identificationstatus', [
        'as' => 'admincp-identity-identificationstatus',
        'uses' => 'UserController@identityApplicationAdminStatus',
    ]);

    Route::get('user/activeUsersbycommunity', [
        'as' => 'admincp-active-users-by-community',
        'uses' => 'CommunityModeratorController@activeUsersbycommunity',
    ])->where('name', '[a-zA-Z0-9]+');

    Route::get('user/searchCommunityUsers', [
        'as' => 'admincp-search-community-users',
        'uses' => 'CommunityModeratorController@searchCommunityUsers',
    ]);

    Route::post('user/makeCommunityModerator', [
        'as' => 'admincp-makeCommunityModerator',
        'uses' => 'CommunityModeratorController@makeCommunityModerator',
    ]);

    Route::get('user/moderatorsbycommunity', [
        'as' => 'admincp-moderators-by-community',
        'uses' => 'CommunityModeratorController@moderatorsbycommunity',
    ])->where('name', '[a-zA-Z0-9]+');

    Route::get('zoomcallback', [
        'as' => 'admincp-zoomcallback',
        'uses' => 'UserController@zoomcallback',
    ]);

    Route::post('activatevideocall', [
        'as' => 'admincp-activatevideocall',
        'uses' => 'CommunityController@activateVideoCall',
    ]);

    Route::post('activateactivationcode', [
        'as' => 'admincp-activateactivationcode',
        'uses' => 'CommunityController@activateActivationCode',
    ]);

    Route::post('activatesocialprofile', [
        'as' => 'admincp-activatesocialprofile',
        'uses' => 'CommunityController@activateSocialProfile',
    ]);

    /* Statistics end */

    Route::post('resetprofileimage', [
        'as' => 'admincp-resetprofileimage',
        'uses' => 'UserController@resetProfileImages',
    ]);

    Route::post('activatefitness', [
        'as' => 'admincp-activatefitness',
        'uses' => 'CommunityController@activateFitness',
    ]);

    Route::post('activatebusinessapplication', [
        'as' => 'admincp-activatebusinessapplication',
        'uses' => 'CommunityController@activateBusinessApplication',
    ]);

    Route::post('activatecrmapplication', [
        'as' => 'admincp-activatecrmapplication',
        'uses' => 'CommunityController@activateCrmApplication',
    ]);

    Route::post('activatewebsitebookmark', [
        'as' => 'admincp-activatewebsitebookmark',
        'uses' => 'CommunityController@activateWebsiteBookmark',
    ]);

    Route::post('communitysetlanguage', [
        'as' => 'admincp-communitysetlanguage',
        'uses' => 'CommunityController@communitySetLanguage',
    ]);

    Route::post('activateidhubsapplication', [
        'as' => 'admincp-activateidhubsapplication',
        'uses' => 'CommunityController@activateIdhubsApplication',
    ]);

    Route::post('activateidmartapplication', [
        'as' => 'admincp-activateidmartapplication',
        'uses' => 'CommunityController@activateIdmartApplication',
    ]);

    Route::post('activateaichat', [
        'as' => 'admincp-activateaichat',
        'uses' => 'CommunityController@activateAIchat',
    ]);

    Route::get('crmpayments', [
        'as' => 'admincp-crm-payments',
        'uses' => 'CommunityController@crmPayments',
    ]);

    Route::get('crmdashboard', [
        'as' => 'admincp-crmdashboard',
        'uses' => 'CommunityController@crmDashboard',
    ]);

    Route::post('add-cashout', [
        'as' => 'admincp-add-cashout',
        'uses' => 'CommunityController@addCashout',
    ]);

    Route::get('viewcashout/{id}', [
        'as' => 'admincp-viewcashout',
        'uses' => 'CommunityController@viewCashout',
    ]);

    Route::get('getcashout', [
        'as' => 'admincp-getcashout',
        'uses' => 'CommunityController@getCashout',
    ]);

    Route::post('crmuserregister', [
        'as' => 'admincp-crmuserregister',
        'uses' => 'CommunityController@crmUserRegister',
    ]);

    Route::post('allowglobalaccess', [
        'as' => 'admincp-allowglobalaccess',
        'uses' => 'CommunityController@allowGlobalAccess',
    ]);

    /* Community payment dashboard start */

    Route::get('community-gift-payments', [
        'as' => 'admincp-community-gift-payments',
        'uses' => 'CommunityController@communityGiftPayments',
    ]);

    Route::post('community-gift-payment-send/{id}', [
        'as' => 'admincp-community-gift-payment-send',
        'uses' => 'CommunityController@communityGiftPaymentSend',
    ]);

    Route::get('community-gift-payment-details/{id}', [
        'as' => 'admincp-community-gift-payment-details',
        'uses' => 'CommunityController@communityGiftPaymentDetails',
    ]);
    /* Community payment dashboard end */
	
	Route::get('media-list', [
        'as' => 'admincp-media-list',
        'uses' => 'MediaController@getList',
    ]);
	
	Route::get('media-upload', [
        'as' => 'admincp-media-upload',
        'uses' => 'MediaController@uploadThemeMedia',
    ]);
	
	Route::post('media-uploading', [
        'as' => 'admincp-media-uploading',
        'uses' => 'MediaController@uploadingThemeMedia',
    ]);
	
	Route::post('media-delete', [
        'as' => 'admincp-media-delete',
        'uses' => 'MediaController@themeMediaDelete',
    ]);
	
	Route::get('media-folder-files', [
        'as' => 'admincp-media-folder-files',
        'uses' => 'MediaController@themeMediaFolderFiles',
    ]);
	
	Route::post('media-folder-file-upload', [
        'as' => 'admincp-media-folder-file-upload',
        'uses' => 'MediaController@themeMediaFolderFileUpload',
    ]);
});

/**
 * Admincp Login
 */
Route::get('admincp/login', [
    'as' => 'admincp-login',
    'uses' => 'App\Http\Controllers\Admincp\LoginController@index',
]);

Route::post('admincp/login', [
    'as' => 'admincp-login-act',
    'uses' => 'App\Http\Controllers\Admincp\LoginController@index',
]);

/**
 * Change of language
 */
Route::get('change/language/{var}', [
    'as' => 'change-language',
    'uses' => 'App\Http\Controllers\Admincp\LanguageController@change',
])->where('var', '[a-zA-Z\-\_]+');
