├── assets
├── css
│ ├── dynamic.css
│ ├── ecobit_admin.css
│ ├── flaticon.css
│ ├── slick.css
│ ├── owl.carousel.min.css
│ └── magnific-popup.css
├── img
│ ├── logo.png
│ ├── banner_bg.png
│ ├── favicon.png
│ ├── footer_bg.png
│ ├── banner_img.png
│ ├── footer_logo.png
│ ├── icon
│ │ ├── Icon_1.png
│ │ ├── Icon_2.png
│ │ ├── feature_icon_1.png
│ │ ├── feature_icon_2.png
│ │ ├── feature_icon_3.png
│ │ ├── pricing_icon_1.png
│ │ ├── pricing_icon_2.png
│ │ ├── pricing_icon_3.png
│ │ ├── pricing_icon_4.png
│ │ ├── color_star.svg
│ │ ├── feature_icon_3.svg
│ │ ├── feature_icon_2.svg
│ │ ├── feature_icon_1.svg
│ │ ├── Icon-2.svg
│ │ └── Icon.svg
│ └── animate_icon
│ │ ├── ellipse_1.png
│ │ ├── ellipse_2.png
│ │ ├── ellipse_3.png
│ │ ├── ellipse_4.png
│ │ ├── ellipse_5.png
│ │ ├── ellipse_6.png
│ │ ├── ellipse_7.png
│ │ ├── ellipse_8.png
│ │ ├── ellipse_9.png
│ │ ├── Vector Smart Object.png
│ │ └── Vector Smart Object copy.png
├── fonts
│ ├── themify.eot
│ ├── themify.ttf
│ ├── Flaticon.eot
│ ├── Flaticon.ttf
│ ├── Flaticon.woff
│ ├── themify.woff
│ ├── Flaticon.woff2
│ ├── FontAwesome.otf
│ ├── fontawesome-webfont.eot
│ ├── fontawesome-webfont.ttf
│ ├── fontawesome-webfont.woff
│ └── fontawesome-webfont.woff2
└── js
│ ├── jquery.counterup.min.js
│ ├── ecobit_admin.js
│ ├── post-likes.js
│ ├── jquery.instagramFeed.min.js
│ ├── jquery.nice-select.min.js
│ ├── custom.js
│ └── jquery.ajaxchimp.min.js
├── screenshot.png
├── inc
├── demo
│ ├── screen-image.jpg
│ ├── css
│ │ └── demo-import.css
│ ├── ecobit-widgets.wie
│ ├── ecobit-customizer.dat
│ └── demo-import.php
├── elementor-widgets
│ ├── assets
│ │ ├── css
│ │ │ ├── elementor-edit.css
│ │ │ └── owl.carousel.css
│ │ └── js
│ │ │ ├── ecobit-companion-main.js
│ │ │ └── map-custom.js
│ └── widgets
│ │ ├── partners.php
│ │ ├── features.php
│ │ └── subscription.php
├── class-epsilon-dashboard-autoloader.php
├── ecobit-metabox.php
├── libraries
│ └── class-epsilon-init-notify-system.php
├── widgets
│ ├── ecobit-widgets-reg.php
│ ├── ecobit-instagram.php
│ ├── ecobit-recent-post-thumb.php
│ ├── ecobit-newsletter-widget.php
│ └── instagram-api.php
├── customizer
│ ├── fields
│ │ └── sections.php
│ └── customizer.php
├── wp_bootstrap_pagination.php
├── classes
│ └── Class-Enqueue.php
├── support-functions.php
└── class-epsilon-init-dashboard.php
├── .gitmodules
├── template-builder.php
├── sidebar.php
├── templates
├── content-page.php
├── biography.php
├── page-header.php
├── pagination.php
├── footer-widgets.php
├── footer-bottom.php
├── footer-top-widgets.php
├── 404.php
├── content-none.php
├── content-single.php
├── content-audio.php
├── content-video.php
├── content.php
├── menu-bar.php
└── home-header.php
├── searchform.php
├── page.php
├── archive.php
├── search.php
├── style.css
├── README.md
├── index.php
├── 404.php
├── header.php
├── comments.php
├── footer.php
├── readme.txt
├── single.php
└── functions.php
/assets/css/dynamic.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/screenshot.png
--------------------------------------------------------------------------------
/assets/img/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/logo.png
--------------------------------------------------------------------------------
/assets/fonts/themify.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/fonts/themify.eot
--------------------------------------------------------------------------------
/assets/fonts/themify.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/fonts/themify.ttf
--------------------------------------------------------------------------------
/assets/img/banner_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/banner_bg.png
--------------------------------------------------------------------------------
/assets/img/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/favicon.png
--------------------------------------------------------------------------------
/assets/img/footer_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/footer_bg.png
--------------------------------------------------------------------------------
/assets/fonts/Flaticon.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/fonts/Flaticon.eot
--------------------------------------------------------------------------------
/assets/fonts/Flaticon.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/fonts/Flaticon.ttf
--------------------------------------------------------------------------------
/assets/fonts/Flaticon.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/fonts/Flaticon.woff
--------------------------------------------------------------------------------
/assets/fonts/themify.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/fonts/themify.woff
--------------------------------------------------------------------------------
/assets/img/banner_img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/banner_img.png
--------------------------------------------------------------------------------
/assets/img/footer_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/footer_logo.png
--------------------------------------------------------------------------------
/assets/img/icon/Icon_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/icon/Icon_1.png
--------------------------------------------------------------------------------
/assets/img/icon/Icon_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/icon/Icon_2.png
--------------------------------------------------------------------------------
/inc/demo/screen-image.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/inc/demo/screen-image.jpg
--------------------------------------------------------------------------------
/assets/fonts/Flaticon.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/fonts/Flaticon.woff2
--------------------------------------------------------------------------------
/assets/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/assets/img/icon/feature_icon_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/icon/feature_icon_1.png
--------------------------------------------------------------------------------
/assets/img/icon/feature_icon_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/icon/feature_icon_2.png
--------------------------------------------------------------------------------
/assets/img/icon/feature_icon_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/icon/feature_icon_3.png
--------------------------------------------------------------------------------
/assets/img/icon/pricing_icon_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/icon/pricing_icon_1.png
--------------------------------------------------------------------------------
/assets/img/icon/pricing_icon_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/icon/pricing_icon_2.png
--------------------------------------------------------------------------------
/assets/img/icon/pricing_icon_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/icon/pricing_icon_3.png
--------------------------------------------------------------------------------
/assets/img/icon/pricing_icon_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/icon/pricing_icon_4.png
--------------------------------------------------------------------------------
/assets/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/assets/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/assets/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/assets/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/assets/img/animate_icon/ellipse_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/animate_icon/ellipse_1.png
--------------------------------------------------------------------------------
/assets/img/animate_icon/ellipse_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/animate_icon/ellipse_2.png
--------------------------------------------------------------------------------
/assets/img/animate_icon/ellipse_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/animate_icon/ellipse_3.png
--------------------------------------------------------------------------------
/assets/img/animate_icon/ellipse_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/animate_icon/ellipse_4.png
--------------------------------------------------------------------------------
/assets/img/animate_icon/ellipse_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/animate_icon/ellipse_5.png
--------------------------------------------------------------------------------
/assets/img/animate_icon/ellipse_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/animate_icon/ellipse_6.png
--------------------------------------------------------------------------------
/assets/img/animate_icon/ellipse_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/animate_icon/ellipse_7.png
--------------------------------------------------------------------------------
/assets/img/animate_icon/ellipse_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/animate_icon/ellipse_8.png
--------------------------------------------------------------------------------
/assets/img/animate_icon/ellipse_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/animate_icon/ellipse_9.png
--------------------------------------------------------------------------------
/inc/elementor-widgets/assets/css/elementor-edit.css:
--------------------------------------------------------------------------------
1 | .elementor-choices-label i {
2 | font-size: 18px !important;
3 | padding: 5px 0;
4 | }
--------------------------------------------------------------------------------
/assets/img/animate_icon/Vector Smart Object.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/animate_icon/Vector Smart Object.png
--------------------------------------------------------------------------------
/assets/img/animate_icon/Vector Smart Object copy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/ecobit/master/assets/img/animate_icon/Vector Smart Object copy.png
--------------------------------------------------------------------------------
/assets/css/ecobit_admin.css:
--------------------------------------------------------------------------------
1 | .customize-control-epsilon-text-editor .customize-control-title, .repeater-field-epsilon-text-editor .customize-control-title{
2 | float: none !important;
3 | }
--------------------------------------------------------------------------------
/inc/elementor-widgets/assets/js/ecobit-companion-main.js:
--------------------------------------------------------------------------------
1 | (function ($) {
2 | 'use strict';
3 |
4 | // Mailchimp ajax
5 | $('#mc_embed_signup').find('form').ajaxChimp();
6 |
7 |
8 | })(jQuery);
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "inc/libraries/epsilon-framework"]
2 | path = inc/libraries/epsilon-framework
3 | url = https://github.com/MachoThemes/epsilon-framework
4 | [submodule "inc/libraries/epsilon-theme-dashboard"]
5 | path = inc/libraries/epsilon-theme-dashboard
6 | url = https://github.com/MachoThemes/epsilon-theme-dashboard
7 |
--------------------------------------------------------------------------------
/inc/demo/css/demo-import.css:
--------------------------------------------------------------------------------
1 | .ocdi__demo-import-notice:not(:empty) {
2 | background-color: transparent !important;
3 | border-left: 0px !important;
4 | box-shadow: none !important;
5 | padding: 0px !important;
6 | }
7 | .ocdi__demo-import-notice img {
8 | border: 4px solid #dbe3ea;
9 | }
10 |
11 | .about-wrap .ocdi__demo-import-notice img {
12 | width: auto;
13 | }
14 | .about-wrap img {
15 | width: auto;
16 | }
--------------------------------------------------------------------------------
/template-builder.php:
--------------------------------------------------------------------------------
1 |
';
20 | }
21 |
22 |
23 | ?>
--------------------------------------------------------------------------------
/templates/content-page.php:
--------------------------------------------------------------------------------
1 |
17 |
18 | >
19 |
33 |
34 |
--------------------------------------------------------------------------------
/assets/img/icon/color_star.svg:
--------------------------------------------------------------------------------
1 |
5 |
7 |
--------------------------------------------------------------------------------
/searchform.php:
--------------------------------------------------------------------------------
1 |
15 |
16 |
27 |
--------------------------------------------------------------------------------
/templates/biography.php:
--------------------------------------------------------------------------------
1 |
15 |
16 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/page.php:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 |
21 | '
' . __( 'Pages:', 'ecobit' ),
30 | 'after' => '
',
31 | )
32 | );
33 | }
34 | } ?>
35 |
36 |
37 |
38 |
39 |
2 |
27 |
--------------------------------------------------------------------------------
/inc/demo/ecobit-widgets.wie:
--------------------------------------------------------------------------------
1 | {"sidebar_widgets":{"search-2":{"title":""},"categories-3":{"title":"Category","count":1,"hierarchical":0,"dropdown":0},"ecobit_recent_widget-1":{"title":"Recent Post","post_number":"4"},"tag_cloud-1":{"title":"Tag Clouds","count":0,"taxonomy":"post_tag"},"ecobit_instagram_photo-1":{"title":"Instagram Feeds","insta_user":"hasanfardousrubel","insta_items":"6"},"ecobit_newsletter-1":{"title":"Newsletter","actionurl":"https:\/\/spondonit.us12.list-manage.com\/subscribe\/post?u=1462626880ade1ac87bd9c93a&id=92a4423d01","desc":""}},"footer-1":{"text-1":{"title":"","text":"Gathered. Under is whose you'll to make years is mat lights thing together fish made forth thirds cattle behold won't. Fourth creeping first female.<\/p>","filter":true,"visual":true}},"footer-2":{"nav_menu-1":{"title":"About Us","nav_menu":29}},"footer-3":{"nav_menu-2":{"title":"Quick Links","nav_menu":32}},"footer-4":{"nav_menu-3":{"title":"My Account","nav_menu":31}},"footer-5":{"nav_menu-4":{"title":"Resources","nav_menu":33}}}
--------------------------------------------------------------------------------
/archive.php:
--------------------------------------------------------------------------------
1 |
17 |
18 |
42 |
43 |
17 |
18 |
42 |
43 |
--------------------------------------------------------------------------------
/assets/css/flaticon.css:
--------------------------------------------------------------------------------
1 | /*
2 | Flaticon icon font: Flaticon
3 | Creation date: 13/06/2019 05:10
4 | */
5 |
6 | @font-face {
7 | font-family: "Flaticon";
8 | src: url("../fonts/Flaticon.eot");
9 | src: url("../fonts/Flaticon.eot?#iefix") format("embedded-opentype"),
10 | url("../fonts/Flaticon.woff2") format("woff2"),
11 | url("../fonts/Flaticon.woff") format("woff"),
12 | url("../fonts/Flaticon.ttf") format("truetype"),
13 | url("../fonts/Flaticon.svg#Flaticon") format("svg");
14 | font-weight: normal;
15 | font-style: normal;
16 | }
17 |
18 | @media screen and (-webkit-min-device-pixel-ratio:0) {
19 | @font-face {
20 | font-family: "Flaticon";
21 | src: url("./Flaticon.svg#Flaticon") format("svg");
22 | }
23 | }
24 |
25 | [class^="flaticon-"]:before, [class*=" flaticon-"]:before,
26 | [class^="flaticon-"]:after, [class*=" flaticon-"]:after {
27 | font-family: Flaticon;
28 | font-size: 20px;
29 | font-style: normal;
30 | }
31 |
32 | .flaticon-right-arrow:before { content: "\f100"; }
--------------------------------------------------------------------------------
/assets/js/jquery.counterup.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * jquery.counterup.min.js 1.0
3 | *
4 | * Copyright 2013, Benjamin Intal http://gambit.ph @bfintal
5 | * Released under the GPL v2 License
6 | *
7 | * Date: Nov 26, 2013
8 | */(function(e){"use strict";e.fn.counterUp=function(t){var n=e.extend({time:400,delay:10},t);return this.each(function(){var t=e(this),r=n,i=function(){var e=[],n=r.time/r.delay,i=t.text(),s=/[0-9]+,[0-9]+/.test(i);i=i.replace(/,/g,"");var o=/^[0-9]+$/.test(i),u=/^[0-9]+\.[0-9]+$/.test(i),a=u?(i.split(".")[1]||[]).length:0;for(var f=n;f>=1;f--){var l=parseInt(i/n*f);u&&(l=parseFloat(i/n*f).toFixed(a));if(s)while(/(\d+)(\d{3})/.test(l.toString()))l=l.toString().replace(/(\d+)(\d{3})/,"$1,$2");e.unshift(l)}t.data("counterup-nums",e);t.text("0");var c=function(){t.text(t.data("counterup-nums").shift());if(t.data("counterup-nums").length)setTimeout(t.data("counterup-func"),r.delay);else{delete t.data("counterup-nums");t.data("counterup-nums",null);t.data("counterup-func",null)}};t.data("counterup-func",c);setTimeout(t.data("counterup-func"),r.delay)};t.waypoint(i,{offset:"100%",triggerOnce:!0})})}})(jQuery);
--------------------------------------------------------------------------------
/assets/js/ecobit_admin.js:
--------------------------------------------------------------------------------
1 | (function ($) {
2 | /*=========================================
3 | Epsilon Framework Sidebar Responsive Tools
4 | =============================================*/
5 | $( document ).ready(function() {
6 | var desktop = $( '.preview-desktop' ),
7 | tablet = $( '.preview-tablet' ),
8 | mobile = $( '.preview-mobile' );
9 |
10 | desktop.on( 'click', function(){
11 | desktop.addClass('active');
12 | tablet.removeClass('active');
13 | mobile.removeClass('active');
14 | } );
15 |
16 | tablet.on( 'click', function(){
17 | desktop.removeClass('active');
18 | tablet.addClass('active');
19 | mobile.removeClass('active');
20 | } );
21 |
22 | mobile.on( 'click', function(){
23 | desktop.removeClass('active');
24 | tablet.removeClass('active');
25 | mobile.addClass('active');
26 | } );
27 |
28 | });
29 |
30 |
31 | })(jQuery);
--------------------------------------------------------------------------------
/style.css:
--------------------------------------------------------------------------------
1 | /**
2 | Theme Name: Ecobit
3 | Theme URI: https://colorlib.com/wp/themes/ecobit/
4 | Author: Colorlib
5 | Author URI: http://colorlib.com/
6 | Description: Ecobit is a modern masonry blog WordPress Theme. Its stylish design and beautiful typography makes it an ideal template for your blog site. It features styles for the following post formats: standard, video, audio, and gallery. It is fully responsive and retina ready so It will always look great and crisp on any devices and screen sizes. It\'s built with clean and organized code which makes it very easy to customize.
7 | Version: 1.0
8 | License: GNU General Public License v2 or later
9 | License URI: http://www.gnu.org/licenses/gpl-2.0.html
10 | Tags: two-columns, left-sidebar, right-sidebar, flexible-header, custom-background, custom-colors, custom-header, custom-menu, theme-options, editor-style, featured-images, post-formats, sticky-post, threaded-comments, translation-ready
11 | Text Domain: ecobit
12 |
13 | This theme, like WordPress, is licensed under the GPL.
14 | Use it to make something cool, have fun, and share what you've learned with others.
15 | */
16 |
--------------------------------------------------------------------------------
/templates/pagination.php:
--------------------------------------------------------------------------------
1 | '.esc_html__( 'Newer Post', 'ecobit' );
20 | $older = esc_html__( 'Older Post', 'ecobit' ).' ';
21 |
22 | echo '
';
40 | }
41 |
42 | ?>
--------------------------------------------------------------------------------
/templates/footer-widgets.php:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 | ';
22 | dynamic_sidebar( 'footer-4' );
23 | echo '
';
24 | }
25 |
26 | // Footer widget 5
27 | if( is_active_sidebar( 'footer-5' ) ){
28 | echo '
';
29 | dynamic_sidebar( 'footer-5' );
30 | echo '
';
31 | }
32 |
33 | // Footer widget 6
34 | if( is_active_sidebar( 'footer-6' ) ){
35 | echo '
';
36 | dynamic_sidebar( 'footer-6' );
37 | echo '
';
38 | }
39 |
40 | // Footer widget 7
41 | if( is_active_sidebar( 'footer-7' ) ){
42 | echo '
';
43 | dynamic_sidebar( 'footer-7' );
44 | echo '
';
45 | }
46 | ?>
47 |
48 |
49 |
--------------------------------------------------------------------------------
/templates/footer-bottom.php:
--------------------------------------------------------------------------------
1 |
2 |
31 |
--------------------------------------------------------------------------------
/templates/footer-top-widgets.php:
--------------------------------------------------------------------------------
1 |
23 |
24 |
25 |
26 | ';
35 | dynamic_sidebar( 'footer-2' );
36 | echo '
';
37 | }
38 |
39 | // Footer Widget 3
40 | if ( is_active_sidebar( 'footer-3' ) ) {
41 | dynamic_sidebar( 'footer-3' );
42 | }
43 | ?>
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://travis-ci.org/Automattic/_s)
2 |
3 |
4 | # Repository clone/download :fire: :fire: :fire:
5 |
6 | This repository contains a git sub-module and as such, can not be completely downloaded using the web-interface of GitHub. This is a known limitation of GitHub's own tools. However, cloning this repository via CLI works absolutely fine and will pull all sub-modules as long as you use the proper commands.
7 |
8 | Here's a short tutorial on how to achieve this as well as a better explanation of what Git sub-modules are and how they're useful: https://gist.github.com/gitaarik/8735255
9 |
10 | Easiest way to go about cloning a repository recursively is to use (Windows only) TortoiseGIT: https://tortoisegit.org/.
11 |
12 |
13 | # About Theme
14 |
15 | * Theme Name: Ecobit
16 | * Theme URI: http://colorlib.com/wp/ecobit/
17 | * Version: 1.0
18 | * Tested up to: WP 5.4
19 |
20 | ```
21 | * Author: Colorlib
22 | * Author URI: http://colorlib.com/
23 | * License: GNU General Public License v3.0
24 | * License URI: http://www.gnu.org/licenses/gpl.html
25 | * Ecobit theme, Copyright 2017 colorlib.com
26 | * Ecobit WordPress theme is distributed under the terms of the GNU GPL
27 | * Ecobit is based on Underscores http://underscores.me/, (C) 2012-2017 Automattic, Inc.
28 | ```
29 |
30 |
--------------------------------------------------------------------------------
/index.php:
--------------------------------------------------------------------------------
1 |
19 |
44 |
45 |
46 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | '.esc_html( $errorText ).'';
29 |
30 |
31 | // Wrong text block
32 |
33 | $wrongText = wp_kses_post( __( 'Either something went wrong or the page dosen’t exist anymore.', 'ecobit' ) );
34 |
35 | if( ecobit_opt('ecobit_fof_titletwo') ){
36 | $wrongText = ecobit_opt('ecobit_fof_titletwo');
37 | }
38 |
39 | $anchor = ecobit_anchor_tag(
40 | array(
41 | 'url' => esc_url( site_url( '/' ) ),
42 | 'text' => esc_html__( 'Go To Home page', 'ecobit' ),
43 | 'class' => 'button button-contactForm'
44 | )
45 | );
46 |
47 | echo ecobit_paragraph_tag(
48 | array(
49 | 'text' => esc_html( $wrongText ).' '.wp_kses_post( $anchor ),
50 | )
51 | );
52 | ?>
53 |
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/templates/content-none.php:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
Get started here.', 'ecobit' ), esc_url( admin_url( 'post-new.php' ) ) ); ?>
21 |
22 |
23 |
24 |
25 |
26 |
27 | esc_url( site_url( '/' ) ),
31 | 'class' => 'button button-contactForm btn_3',
32 | 'text' => esc_html__( 'Back to home page', 'ecobit' ),
33 | )
34 | );
35 | echo wp_kses_post( $anchor );
36 | ?>
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/templates/content-single.php:
--------------------------------------------------------------------------------
1 |
15 |
16 | >
17 |
56 |
57 | ';
63 | }
64 | ?>
--------------------------------------------------------------------------------
/templates/content-audio.php:
--------------------------------------------------------------------------------
1 |
16 |
17 | data-aos="fade-up">
18 | ';
31 | echo '';
53 |
54 | /**
55 | * Blog Excerpt With read more button
56 | * @Hook ecobit_blog_posts_excerpt
57 | *
58 | * @Hooked ecobit_blog_posts_excerpt_cb
59 | *
60 | *
61 | */
62 | do_action( 'ecobit_blog_posts_excerpt' );
63 |
64 | echo ''; // Content wrapper end
65 |
66 | ?>
67 |
--------------------------------------------------------------------------------
/templates/content-video.php:
--------------------------------------------------------------------------------
1 |
16 |
17 | data-aos="fade-up">
18 | ';
31 | echo '';
53 |
54 | /**
55 | * Blog Excerpt With read more button
56 | * @Hook ecobit_blog_posts_excerpt
57 | *
58 | * @Hooked ecobit_blog_posts_excerpt_cb
59 | *
60 | *
61 | */
62 | do_action( 'ecobit_blog_posts_excerpt' );
63 |
64 | echo ''; // Content wrapper end
65 |
66 | ?>
67 |
--------------------------------------------------------------------------------
/404.php:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 |
21 |
22 |
23 | '.esc_html( $errorText ).'';
30 |
31 |
32 | // Wrong text block
33 |
34 | $wrongText = wp_kses_post( __( 'Either something went wrong or the page dosen’t exist anymore.', 'ecobit' ) );
35 |
36 | if( ecobit_opt('ecobit_fof_titletwo') ){
37 | $wrongText = ecobit_opt('ecobit_fof_titletwo');
38 | }
39 |
40 | $anchor = ecobit_anchor_tag(
41 | array(
42 | 'url' => esc_url( site_url( '/' ) ),
43 | 'text' => esc_html__( 'Go To Home page', 'ecobit' ),
44 | 'class' => 'button button-contactForm btn_3'
45 | )
46 | );
47 |
48 | echo ecobit_paragraph_tag(
49 | array(
50 | 'text' => esc_html( $wrongText )
51 | )
52 | );
53 |
54 | echo wp_kses_post( $anchor );
55 | ?>
56 |
57 |
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/templates/content.php:
--------------------------------------------------------------------------------
1 |
11 |
12 | >
13 | '. esc_html__( 'Sticky', 'ecobit' ) .'';
16 | }
17 | if( has_post_thumbnail() ){ ?>
18 |
19 | 'card-img rounded-0' ) );
21 |
22 | echo '
'. get_the_time( 'd' ) .' '. get_the_time('M') .'
';
23 |
24 | ?>
25 |
26 |
29 |
30 |
31 |
32 |
33 |
34 |
40 |
44 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/assets/js/post-likes.js:
--------------------------------------------------------------------------------
1 | (function( $ ) {
2 | 'use strict';
3 | $(document).on('click', '.sl-button', function() {
4 | var button = $(this);
5 | var post_id = button.attr('data-post-id');
6 | var ecobit = button.attr('data-nonce');
7 | var iscomment = button.attr('data-iscomment');
8 | var allbuttons;
9 | if ( iscomment === '1' ) { /* Comments can have same id */
10 | allbuttons = $('.sl-comment-button-'+post_id);
11 | } else {
12 | allbuttons = $('.sl-button-'+post_id);
13 | }
14 | var loader = allbuttons.next('#sl-loader');
15 | if (post_id !== '') {
16 | $.ajax({
17 | type: 'POST',
18 | url: simpleLikes.ajaxurl,
19 | data : {
20 | action : 'ecobit_process_simple_like',
21 | post_id : post_id,
22 | nonce : ecobit,
23 | is_comment : iscomment,
24 | },
25 | beforeSend:function(){
26 | loader.html(' Loading...
');
27 | },
28 | success: function(response){
29 | var icon = response.icon;
30 | var customIcon = button.prev();
31 | var count = response.count;
32 | allbuttons.html(count);
33 | if(response.status === 'unliked') {
34 | var like_text = simpleLikes.like;
35 | allbuttons.prop('title', like_text);
36 | allbuttons.removeClass('liked');
37 | if( customIcon.hasClass( 'fa-heart' )){
38 | customIcon.removeClass('fa-heart');
39 | }
40 | customIcon.addClass('fa-heart-o');
41 | } else {
42 | var unlike_text = simpleLikes.unlike;
43 | allbuttons.prop('title', unlike_text);
44 | allbuttons.addClass('liked');
45 | if( customIcon.hasClass( 'fa-heart-o' )){
46 | customIcon.removeClass('fa-heart-o');
47 | }
48 | customIcon.addClass('fa-heart');
49 | }
50 | loader.empty();
51 | }
52 | });
53 |
54 | }
55 | return false;
56 | });
57 | })( jQuery );
58 |
--------------------------------------------------------------------------------
/inc/class-epsilon-dashboard-autoloader.php:
--------------------------------------------------------------------------------
1 | 'portfolio_single_metaboxs',
7 | 'title' => esc_html__( 'Portfolio Single Metabox', 'ecobit' ),
8 | 'post_types'=> array( 'portfolio' ),
9 | 'context' => 'side',
10 | 'priority' => 'high',
11 | 'autosave' => 'false',
12 | 'fields' => array(
13 | array(
14 | 'id' => $ecobit_prefix . 'project_start_time',
15 | 'name' => esc_html__( 'Project Start Time', 'ecobit' ),
16 | 'type' => 'time',
17 | 'js_options' => array(
18 | 'stepMinute' => 10,
19 | 'controlType' => 'select'
20 | ),
21 | ),
22 | array(
23 | 'id' => $ecobit_prefix . 'project_start_date',
24 | 'type' => 'date',
25 | 'name' => esc_html__( 'Project Start Date', 'ecobit' ),
26 | 'js_options' => array(
27 | 'dateFormat' => 'DD, M dd, yy ',
28 | 'showButtonPanel' => false,
29 | ),
30 | ),
31 | array(
32 | 'id' => $ecobit_prefix . 'project_end_time',
33 | 'name' => esc_html__( 'Project End Time', 'ecobit' ),
34 | 'type' => 'time',
35 | 'js_options' => array(
36 | 'stepMinute' => 10,
37 | 'controlType' => 'select'
38 | ),
39 | ),
40 | array(
41 | 'id' => $ecobit_prefix . 'project_end_date',
42 | 'type' => 'date',
43 | 'name' => esc_html__( 'Project End Date', 'ecobit' ),
44 | 'js_options' => array(
45 | 'dateFormat' => 'DD, M dd, yy ',
46 | 'showButtonPanel' => false,
47 | ),
48 | ),
49 | array(
50 | 'id' => $ecobit_prefix . 'project_location',
51 | 'type' => 'text',
52 | 'name' => esc_html__( 'Project Location', 'ecobit' ),
53 | 'placeholder' => esc_html__( 'Project Location', 'ecobit' ),
54 | ),
55 | ),
56 | );
57 |
58 |
59 | return $meta_boxes;
60 | }
61 | add_filter( 'rwmb_meta_boxes', 'ecobit_portfolio_metabox' );
--------------------------------------------------------------------------------
/assets/css/slick.css:
--------------------------------------------------------------------------------
1 | /* Slider */
2 | .slick-slider
3 | {
4 | position: relative;
5 |
6 | display: block;
7 |
8 | -moz-box-sizing: border-box;
9 | box-sizing: border-box;
10 |
11 | -webkit-user-select: none;
12 | -moz-user-select: none;
13 | -ms-user-select: none;
14 | user-select: none;
15 |
16 | -webkit-touch-callout: none;
17 | -khtml-user-select: none;
18 | -ms-touch-action: pan-y;
19 | touch-action: pan-y;
20 | -webkit-tap-highlight-color: transparent;
21 | }
22 |
23 | .slick-list
24 | {
25 | position: relative;
26 |
27 | display: block;
28 | overflow: hidden;
29 |
30 | margin: 0;
31 | padding: 0;
32 | }
33 | .slick-list:focus
34 | {
35 | outline: none;
36 | }
37 | .slick-list.dragging
38 | {
39 | cursor: pointer;
40 | cursor: hand;
41 | }
42 |
43 | .slick-slider .slick-track,
44 | .slick-slider .slick-list
45 | {
46 | -webkit-transform: translate3d(0, 0, 0);
47 | -moz-transform: translate3d(0, 0, 0);
48 | -ms-transform: translate3d(0, 0, 0);
49 | -o-transform: translate3d(0, 0, 0);
50 | transform: translate3d(0, 0, 0);
51 | }
52 |
53 | .slick-track
54 | {
55 | position: relative;
56 | top: 0;
57 | left: 0;
58 |
59 | display: block;
60 | }
61 | .slick-track:before,
62 | .slick-track:after
63 | {
64 | display: table;
65 |
66 | content: '';
67 | }
68 | .slick-track:after
69 | {
70 | clear: both;
71 | }
72 | .slick-loading .slick-track
73 | {
74 | visibility: hidden;
75 | }
76 |
77 | .slick-slide
78 | {
79 | display: none;
80 | float: left;
81 |
82 | height: 100%;
83 | min-height: 1px;
84 | }
85 | [dir='rtl'] .slick-slide
86 | {
87 | float: right;
88 | }
89 | .slick-slide img
90 | {
91 | display: block;
92 | }
93 | .slick-slide.slick-loading img
94 | {
95 | display: none;
96 | }
97 | .slick-slide.dragging img
98 | {
99 | pointer-events: none;
100 | }
101 | .slick-initialized .slick-slide
102 | {
103 | display: block;
104 | }
105 | .slick-loading .slick-slide
106 | {
107 | visibility: hidden;
108 | }
109 | .slick-vertical .slick-slide
110 | {
111 | display: block;
112 |
113 | height: auto;
114 |
115 | border: 1px solid transparent;
116 | }
--------------------------------------------------------------------------------
/assets/js/jquery.instagramFeed.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * jquery.instagramFeed
3 | *
4 | * @version 1.0
5 | *
6 | * @author Javier Sanahuja Liebana
7 | *
8 | * https://github.com/BanNsS1/jquery.instagramFeed
9 | *
10 | */
11 | (function(e){var l={username:"",container:"",display_profile:!0,display_biography:!0,display_gallery:!0,get_raw_json:!1,callback:null,styling:!0,items:8,items_per_row:4,margin:.5};e.instagramFeed=function(b){b=e.fn.extend({},l,b);""==b.username&&""==b.tag?console.log("Instagram Feed: Error, no username or tag found."):b.get_raw_json||""!=b.container?b.get_raw_json&&null==b.callback?console.log("Instagram Feed: Error, no callback defined to get the raw json"):e.get("https://www.instagram.com/"+b.username,
12 | function(a){a=a.split("window._sharedData = ");a=a[1].split("\x3c/script>");a=a[0];a=a.substr(0,a.length-1);a=JSON.parse(a);a=a.entry_data.ProfilePage[0].graphql.user;if(b.get_raw_json)b.callback(JSON.stringify({id:a.id,username:a.username,full_name:a.full_name,is_private:a.is_private,is_verified:a.is_verified,biography:a.biography,followed_by:a.edge_followed_by.count,following:a.edge_follow.count,images:a.edge_owner_to_timeline_media.edges}));else{var d="",f="",g="",h="",k="";b.styling&&(d=" style='text-align:center;'",
13 | f=" style='border-radius:10em;width:15%;max-width:125px;min-width:50px;'",g=" style='font-size:1.2em;'",h=" style='font-size:1em;'",k=" style='margin:"+b.margin+"% "+b.margin+"%;width:"+(100-2*b.margin*b.items_per_row)/b.items_per_row+"%;float:left;'");var c="";b.display_profile&&(c=c+("")+("\t
"),c+="\t
@"+a.full_name+" (@"+b.username+" )
");b.display_biography&&(c+="\t
"+a.biography+"
");b.display_profile&&(c+="
");if(b.display_gallery)if(a.is_private)c+="This profile is private
";else{a=a.edge_owner_to_timeline_media.edges;max=a.length>b.items?b.items:a.length;c+="";for(d=0;d
",c+="\t ",c+="";c+=" "}e(b.container).html(c)}}):console.log("Instagram Feed: Error, no container found.")}})(jQuery);
--------------------------------------------------------------------------------
/inc/libraries/class-epsilon-init-notify-system.php:
--------------------------------------------------------------------------------
1 | Epsilon_Notify_System::check_plugin_is_installed( $slug ),
44 | 'active' => Epsilon_Notify_System::check_plugin_is_active( $slug ),
45 | );
46 |
47 | if ( empty( $get ) ) {
48 | $arr = array_filter( $arr );
49 |
50 | return 2 === count( $arr );
51 | }
52 | }
53 |
54 | // Translators: %s is the plugin name.
55 | $arr['title'] = sprintf( __( 'Install: %s', 'ecobit' ), $plugin_name );
56 | // Translators: %s is the plugin name.
57 | $arr['description'] = sprintf( __( 'Please install %s in order to create the demo content.', 'ecobit' ), $plugin_name );
58 |
59 | if ( $arr['installed'] ) {
60 | // Translators: %s is the plugin name
61 | $arr['title'] = sprintf( __( 'Activate: %s', 'ecobit' ), $plugin_name );
62 | // Translators: %s is the plugin name
63 | $arr['description'] = sprintf( __( 'Please activate %s in order to create the demo content.', 'ecobit' ), $plugin_name );
64 | }
65 |
66 | return $arr[ $get ];
67 | }
68 |
69 | /**
70 | * @return array
71 | */
72 | public static function verify_cf7() {
73 | $arr = array(
74 | 'installed' => false,
75 | 'active' => false,
76 | );
77 |
78 | if ( file_exists( ABSPATH . 'wp-content/plugins/contact-form-7' ) ) {
79 | $arr['installed'] = true;
80 | $arr['active'] = defined( 'WPCF7_VERSION' );
81 | }
82 |
83 | return $arr;
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/assets/js/jquery.nice-select.min.js:
--------------------------------------------------------------------------------
1 | /* jQuery Nice Select - v1.0
2 | https://github.com/hernansartorio/jquery-nice-select
3 | Made by Hernán Sartorio */
4 | !function(e){e.fn.niceSelect=function(t){function s(t){t.after(e("
").addClass("nice-select").addClass(t.attr("class")||"").addClass(t.attr("disabled")?"disabled":"").attr("tabindex",t.attr("disabled")?null:"0").html(' '));var s=t.next(),n=t.find("option"),i=t.find("option:selected");s.find(".current").html(i.data("display")||i.text()),n.each(function(t){var n=e(this),i=n.data("display");s.find("ul").append(e(" ").attr("data-value",n.val()).attr("data-display",i||null).addClass("option"+(n.is(":selected")?" selected":"")+(n.is(":disabled")?" disabled":"")).html(n.text()))})}if("string"==typeof t)return"update"==t?this.each(function(){var t=e(this),n=e(this).next(".nice-select"),i=n.hasClass("open");n.length&&(n.remove(),s(t),i&&t.next().trigger("click"))}):"destroy"==t?(this.each(function(){var t=e(this),s=e(this).next(".nice-select");s.length&&(s.remove(),t.css("display",""))}),0==e(".nice-select").length&&e(document).off(".nice_select")):console.log('Method "'+t+'" does not exist.'),this;this.hide(),this.each(function(){var t=e(this);t.next().hasClass("nice-select")||s(t)}),e(document).off(".nice_select"),e(document).on("click.nice_select",".nice-select",function(t){var s=e(this);e(".nice-select").not(s).removeClass("open"),s.toggleClass("open"),s.hasClass("open")?(s.find(".option"),s.find(".focus").removeClass("focus"),s.find(".selected").addClass("focus")):s.focus()}),e(document).on("click.nice_select",function(t){0===e(t.target).closest(".nice-select").length&&e(".nice-select").removeClass("open").find(".option")}),e(document).on("click.nice_select",".nice-select .option:not(.disabled)",function(t){var s=e(this),n=s.closest(".nice-select");n.find(".selected").removeClass("selected"),s.addClass("selected");var i=s.data("display")||s.text();n.find(".current").text(i),n.prev("select").val(s.data("value")).trigger("change")}),e(document).on("keydown.nice_select",".nice-select",function(t){var s=e(this),n=e(s.find(".focus")||s.find(".list .option.selected"));if(32==t.keyCode||13==t.keyCode)return s.hasClass("open")?n.trigger("click"):s.trigger("click"),!1;if(40==t.keyCode){if(s.hasClass("open")){var i=n.nextAll(".option:not(.disabled)").first();i.length>0&&(s.find(".focus").removeClass("focus"),i.addClass("focus"))}else s.trigger("click");return!1}if(38==t.keyCode){if(s.hasClass("open")){var l=n.prevAll(".option:not(.disabled)").first();l.length>0&&(s.find(".focus").removeClass("focus"),l.addClass("focus"))}else s.trigger("click");return!1}if(27==t.keyCode)s.hasClass("open")&&s.trigger("click");else if(9==t.keyCode&&s.hasClass("open"))return!1});var n=document.createElement("a").style;return n.cssText="pointer-events:auto","auto"!==n.pointerEvents&&e("html").addClass("no-csspointerevents"),this}}(jQuery);
--------------------------------------------------------------------------------
/inc/widgets/ecobit-widgets-reg.php:
--------------------------------------------------------------------------------
1 | esc_html__('Sidebar widgets', 'ecobit'),
21 | 'description' => esc_html__('Place widgets in sidebar widgets area.', 'ecobit'),
22 | 'id' => 'sidebar_widgets',
23 | 'before_widget' => '',
25 | 'before_title' => ''
27 | ));
28 |
29 | // footer widgets register
30 | register_sidebar(
31 | array(
32 | 'name' => esc_html__( 'Footer One', 'ecobit' ),
33 | 'id' => 'footer-1',
34 | 'before_widget' => '',
36 | 'before_title' => '',
37 | 'after_title' => ' ',
38 | )
39 | );
40 | register_sidebar(
41 | array(
42 | 'name' => esc_html__( 'Footer Two', 'ecobit' ),
43 | 'id' => 'footer-2',
44 | 'before_widget' => '
',
46 | 'before_title' => '',
47 | 'after_title' => ' ',
48 | )
49 | );
50 | register_sidebar(
51 | array(
52 | 'name' => esc_html__( 'Footer Three', 'ecobit' ),
53 | 'id' => 'footer-3',
54 | 'before_widget' => '
',
56 | 'before_title' => '',
57 | 'after_title' => ' ',
58 | )
59 | );
60 | register_sidebar(
61 | array(
62 | 'name' => esc_html__( 'Footer Four', 'ecobit' ),
63 | 'id' => 'footer-4',
64 | 'before_widget' => '
',
66 | 'before_title' => '',
67 | 'after_title' => ' ',
68 | )
69 | );
70 | register_sidebar(
71 | array(
72 | 'name' => esc_html__( 'Footer Five', 'ecobit' ),
73 | 'id' => 'footer-5',
74 | 'before_widget' => '
',
76 | 'before_title' => '',
77 | 'after_title' => ' ',
78 | )
79 | );
80 |
81 |
82 | }
83 | add_action( 'widgets_init', 'ecobit_widgets_init' );
84 |
--------------------------------------------------------------------------------
/inc/customizer/fields/sections.php:
--------------------------------------------------------------------------------
1 | 'ecobit_theme_options_panel',
22 | 'args' => array(
23 | 'priority' => 0,
24 | 'capability' => 'edit_theme_options',
25 | 'theme_supports' => '',
26 | 'title' => esc_html__( 'Theme Options', 'ecobit' ),
27 | ),
28 | )
29 | );
30 |
31 |
32 | /***********************************
33 | * Register customizer sections
34 | ***********************************/
35 |
36 |
37 | $sections = array(
38 |
39 | /**
40 | * General Section
41 | */
42 | array(
43 | 'id' => 'ecobit_general_section',
44 | 'args' => array(
45 | 'title' => esc_html__( 'General', 'ecobit' ),
46 | 'panel' => 'ecobit_theme_options_panel',
47 | 'priority' => 1,
48 | ),
49 | ),
50 |
51 | /**
52 | * Header Section
53 | */
54 | array(
55 | 'id' => 'ecobit_header_section',
56 | 'args' => array(
57 | 'title' => esc_html__( 'Header', 'ecobit' ),
58 | 'panel' => 'ecobit_theme_options_panel',
59 | 'priority' => 2,
60 | ),
61 | ),
62 |
63 | /**
64 | * Blog Section
65 | */
66 | array(
67 | 'id' => 'ecobit_blog_section',
68 | 'args' => array(
69 | 'title' => esc_html__( 'Blog', 'ecobit' ),
70 | 'panel' => 'ecobit_theme_options_panel',
71 | 'priority' => 3,
72 | ),
73 | ),
74 |
75 |
76 |
77 | /**
78 | * 404 Page Section
79 | */
80 | array(
81 | 'id' => 'ecobit_fof_section',
82 | 'args' => array(
83 | 'title' => esc_html__( '404 Page', 'ecobit' ),
84 | 'panel' => 'ecobit_theme_options_panel',
85 | 'priority' => 6,
86 | ),
87 | ),
88 |
89 | /**
90 | * Footer Section
91 | */
92 | array(
93 | 'id' => 'ecobit_footer_section',
94 | 'args' => array(
95 | 'title' => esc_html__( 'Footer Page', 'ecobit' ),
96 | 'panel' => 'ecobit_theme_options_panel',
97 | 'priority' => 7,
98 | ),
99 | ),
100 |
101 |
102 |
103 | );
104 |
105 |
106 | /***********************************
107 | * Add customizer elements
108 | ***********************************/
109 | $collection = array(
110 | 'panel' => $panels,
111 | 'section' => $sections,
112 | );
113 |
114 | Epsilon_Customizer::add_multiple( $collection );
115 |
116 | ?>
--------------------------------------------------------------------------------
/inc/demo/ecobit-customizer.dat:
--------------------------------------------------------------------------------
1 | a:4:{s:8:"template";s:6:"ecobit";s:4:"mods";a:26:{i:0;b:0;s:18:"nav_menu_locations";a:5:{s:12:"primary-menu";i:30;s:8:"about-us";i:29;s:11:"quick-links";i:32;s:10:"my-account";i:31;s:9:"resources";i:33;}s:18:"custom_css_post_id";i:-1;s:11:"custom_logo";i:641;s:27:"ecobit_footer_widget_toggle";b:1;s:11:"footer_logo";i:640;s:20:"ecobit_header_social";a:4:{i:0;a:4:{s:17:"social_link_title";s:8:"Facebook";s:10:"social_url";s:1:"#";s:11:"social_icon";s:14:"fa fa-facebook";s:5:"index";i:0;}i:1;a:4:{s:17:"social_link_title";s:7:"Twitter";s:10:"social_url";s:1:"#";s:11:"social_icon";s:13:"fa fa-twitter";s:5:"index";i:1;}i:2;a:4:{s:17:"social_link_title";s:9:"Instagram";s:10:"social_url";s:1:"#";s:11:"social_icon";s:15:"fa fa-instagram";s:5:"index";i:2;}i:3;a:4:{s:17:"social_link_title";s:7:"Behance";s:10:"social_url";s:1:"#";s:11:"social_icon";s:13:"fa fa-behance";s:5:"index";i:3;}}s:28:"ecobit_social_profile_toggle";b:1;s:17:"ecobit_header_btn";b:1;s:16:"header_btn_label";s:7:"sign up";s:15:"booking_btn_url";s:1:"#";s:12:"header_image";s:13:"remove-header";s:16:"ecobit_blog_meta";b:1;s:15:"ecobit_like_btn";b:1;s:17:"ecobit_blog_share";b:1;s:27:"ecobit_booking_btn_bg_color";s:7:"#ff4800";s:22:"ecobit_header_bg_color";s:7:"#562fc7";s:24:"ecobit_header_menu_color";s:7:"#ffffff";s:30:"ecobit_header_menu_hover_color";s:7:"#ff4800";s:29:"ecobit_header_drop_menu_color";s:7:"#ffffff";s:35:"ecobit_header_drop_menu_hover_color";s:7:"#ffffff";s:31:"ecobit_footer_widget_text_color";s:7:"#888888";s:32:"ecobit_footer_widget_title_color";s:7:"#182028";s:33:"ecobit_footer_widget_anchor_color";s:7:"#888888";s:39:"ecobit_footer_widget_anchor_hover_color";s:7:"#ff4800";s:18:"ecobit_theme_color";s:7:"#ff4800";}s:7:"options";a:22:{s:22:"woocommerce_demo_store";s:2:"no";s:29:"woocommerce_demo_store_notice";s:79:"This is a demo store for testing purposes — no orders shall be fulfilled.";s:29:"woocommerce_shop_page_display";s:0:"";s:36:"woocommerce_category_archive_display";s:0:"";s:35:"woocommerce_default_catalog_orderby";s:10:"menu_order";s:27:"woocommerce_catalog_columns";i:4;s:24:"woocommerce_catalog_rows";i:4;s:30:"woocommerce_single_image_width";s:3:"600";s:33:"woocommerce_thumbnail_image_width";s:3:"300";s:30:"woocommerce_thumbnail_cropping";s:3:"1:1";s:43:"woocommerce_thumbnail_cropping_custom_width";s:1:"4";s:44:"woocommerce_thumbnail_cropping_custom_height";s:1:"3";s:34:"woocommerce_checkout_company_field";s:8:"optional";s:36:"woocommerce_checkout_address_2_field";s:8:"optional";s:32:"woocommerce_checkout_phone_field";s:8:"required";s:46:"woocommerce_checkout_highlight_required_fields";s:3:"yes";s:55:"woocommerce_checkout_terms_and_conditions_checkbox_text";s:44:"I have read and agree to the website [terms]";s:40:"woocommerce_checkout_privacy_policy_text";s:161:"Your personal data will be used to process your order, support your experience throughout this website, and for other purposes described in our [privacy_policy].";s:26:"wp_page_for_privacy_policy";s:1:"0";s:25:"woocommerce_terms_page_id";s:0:"";s:9:"site_icon";s:3:"638";s:23:"nav_menus_created_posts";a:0:{}}s:6:"wp_css";s:0:"";}
--------------------------------------------------------------------------------
/assets/js/custom.js:
--------------------------------------------------------------------------------
1 | (function ($) {
2 | "use strict";
3 |
4 |
5 | // var client_logo = client_logo_slider
6 |
7 | var client_logo = $('.client_logo_slider')
8 | if(client_logo.length){
9 | client_logo.owlCarousel({
10 | items: 6,
11 | loop: true,
12 | responsive: {
13 | 0: {
14 | items: 3,
15 | margin: 15,
16 | },
17 | 600: {
18 | items: 3,
19 | margin: 15,
20 | },
21 | 991: {
22 | items: 5,
23 | margin: 15,
24 | },
25 | 1200: {
26 | items: 6,
27 | margin: 15,
28 | }
29 | }
30 | });
31 | }
32 |
33 |
34 |
35 | var review = $('.review_slider');
36 | if (review.length) {
37 | review.owlCarousel({
38 | items: 1,
39 | loop: true,
40 | dots: true,
41 | autoplay: false,
42 | autoplayHoverPause: true,
43 | autoplayTimeout: 5000,
44 | nav: false,
45 | });
46 | }
47 |
48 | $(document).ready(function() {
49 | $('select').niceSelect();
50 | });
51 | // menu fixed js code
52 | $(window).scroll(function () {
53 | var window_top = $(window).scrollTop() + 1;
54 | if (window_top > 50) {
55 | $('.main_menu').addClass('menu_fixed animated fadeInDown');
56 | } else {
57 | $('.main_menu').removeClass('menu_fixed animated fadeInDown');
58 | }
59 | });
60 |
61 | $('.gallery_img').magnificPopup({
62 | type: 'image',
63 | gallery:{
64 | enabled:true
65 | }
66 | });
67 |
68 | // Search Toggle
69 | $("#search_input_box").hide();
70 | $("#search_1").on("click", function () {
71 | $("#search_input_box").slideToggle();
72 | $("#search_input").focus();
73 | });
74 | $("#close_search").on("click", function () {
75 | $('#search_input_box').slideUp(500);
76 | });
77 |
78 | //------- Mailchimp js --------//
79 | function mailChimp() {
80 | $('#mc_embed_signup').find('form').ajaxChimp();
81 | }
82 | mailChimp();
83 |
84 | var acc = document.getElementsByClassName("accordion");
85 | var i;
86 |
87 | for (i = 0; i < acc.length; i++) {
88 | acc[i].addEventListener("click", function() {
89 | this.classList.toggle("active");
90 | var panel = this.nextElementSibling;
91 | if (panel.style.maxHeight){
92 | panel.style.maxHeight = null;
93 | } else {
94 | panel.style.maxHeight = panel.scrollHeight + "px";
95 | }
96 | });
97 | }
98 |
99 | /*-------------------------------------
100 | Instagram Photos
101 | -------------------------------------*/
102 | function cp_instagram_photos() {
103 | $('.cp-instagram-photos').each(function(){
104 | $.instagramFeed({
105 | 'username': $(this).data('username'),
106 | 'container': $(this),
107 | 'display_profile': false,
108 | 'display_biography': false,
109 | 'items': $(this).data('items'),
110 | 'margin': 0
111 | });
112 | console.log( $(this) );
113 | });
114 |
115 | }
116 | cp_instagram_photos();
117 |
118 |
119 | }(jQuery));
--------------------------------------------------------------------------------
/inc/wp_bootstrap_pagination.php:
--------------------------------------------------------------------------------
1 | 4,
20 | 'custom_query' => FALSE,
21 | 'before_output' => '',
22 | 'after_output' => ' '
23 | );
24 |
25 | $args = wp_parse_args(
26 | $args,
27 | apply_filters( 'ecobit_pagination_defaults', $defaults )
28 | );
29 |
30 | $args['range'] = (int) $args['range'] - 1;
31 | if ( !$args['custom_query'] )
32 | $args['custom_query'] = isset( $GLOBALS['wp_query'] ) ? $GLOBALS['wp_query'] : '';
33 | $count = (int) $args['custom_query']->max_num_pages;
34 | $page = intval( get_query_var( 'paged' ) );
35 | $ceil = ceil( $args['range'] / 2 );
36 |
37 | if ( $count <= 1 )
38 | return FALSE;
39 |
40 | if ( !$page )
41 | $page = 1;
42 |
43 | if ( $count > $args['range'] ) {
44 | if ( $page <= $args['range'] ) {
45 | $min = 1;
46 | $max = $args['range'] + 1;
47 | } elseif ( $page >= ($count - $ceil) ) {
48 | $min = $count - $args['range'];
49 | $max = $count;
50 | } elseif ( $page >= $args['range'] && $page < ($count - $ceil) ) {
51 | $min = $page - $ceil;
52 | $max = $page + $ceil;
53 | }
54 | } else {
55 | $min = 1;
56 | $max = $count;
57 | }
58 |
59 | $echo = '';
60 |
61 |
62 | $previous = intval($page) - 1;
63 | $previous = esc_attr( get_pagenum_link($previous) );
64 |
65 | if ( $previous && (1 != $page) )
66 | $echo .= '' . esc_html__( 'Previous', 'ecobit' ) . ' ';
67 |
68 | if ( !empty($min) && !empty($max) ) {
69 | for( $i = $min; $i <= $max; $i++ ) {
70 | if ( $page == $i ) {
71 | $echo .= '' . str_pad( (int)$i, 2, '0', STR_PAD_LEFT ) . ' ';
72 | } else {
73 | $echo .= sprintf( '%002d ', esc_attr( get_pagenum_link($i) ), $i );
74 | }
75 | }
76 | }
77 |
78 | $next = intval($page) + 1;
79 | $next = esc_attr( get_pagenum_link($next) );
80 | if ($next && ($count != $page) )
81 | $echo .= '' . esc_html__( 'Next', 'ecobit') . ' ';
82 |
83 |
84 |
85 | if ( isset($echo) )
86 | echo wp_kses_post( $args['before_output'] . $echo . $args['after_output'] );
87 |
88 | }
89 |
--------------------------------------------------------------------------------
/templates/menu-bar.php:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/assets/css/owl.carousel.min.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Owl Carousel v2.3.4
3 | * Copyright 2013-2018 David Deutsch
4 | * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
5 | */
6 | .owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}
--------------------------------------------------------------------------------
/inc/demo/demo-import.php:
--------------------------------------------------------------------------------
1 | ';
18 |
19 | return array(
20 | array(
21 | 'import_file_name' => 'Ecobit Demo',
22 | 'local_import_file' => ECOBIT_DIR_PATH_INC .'demo/ecobit-demo.xml',
23 | 'local_import_widget_file' => ECOBIT_DIR_PATH_INC .'demo/ecobit-widgets.wie',
24 | 'import_customizer_file_url' => ECOBIT_DIR_INC . 'demo/ecobit-customizer.dat',
25 | 'import_notice' => $demoImg,
26 | ),
27 | );
28 | }
29 | add_filter( 'pt-ocdi/import_files', 'ecobit_import_files' );
30 |
31 | // demo import setup
32 | function ecobit_after_import_setup() {
33 | // Assign menus to their locations.
34 | $main_menu = get_term_by( 'name', 'Main Menu', 'nav_menu' );
35 | $about_us = get_term_by( 'name', 'About Us', 'nav_menu' );
36 | $quick_links = get_term_by( 'name', 'Quick Links', 'nav_menu' );
37 | $my_account = get_term_by( 'name', 'My Account', 'nav_menu' );
38 | $resources = get_term_by( 'name', 'Resources', 'nav_menu' );
39 |
40 | set_theme_mod( 'nav_menu_locations', array(
41 | 'primary-menu' => $main_menu->term_id,
42 | 'about-us' => $about_us->term_id,
43 | 'quick-links' => $quick_links->term_id,
44 | 'my-account' => $my_account->term_id,
45 | 'resources' => $resources->term_id,
46 | )
47 | );
48 |
49 | // Assign front page and posts page (blog page).
50 | $front_page_id = get_page_by_title( 'Homepage' );
51 | $blog_page_id = get_page_by_title( 'Blog' );
52 |
53 | update_option( 'show_on_front', 'page' );
54 | update_option( 'page_on_front', $front_page_id->ID );
55 | update_option( 'page_for_posts', $blog_page_id->ID );
56 | update_option( 'ecobit_demodata_import', 'yes' );
57 |
58 | }
59 | add_action( 'pt-ocdi/after_import', 'ecobit_after_import_setup' );
60 |
61 | //disable the branding notice after successful demo import
62 | add_filter( 'pt-ocdi/disable_pt_branding', '__return_true' );
63 |
64 | //change the location, title and other parameters of the plugin page
65 | function ecobit_import_plugin_page_setup( $default_settings ) {
66 | $default_settings['parent_slug'] = 'themes.php';
67 | $default_settings['page_title'] = esc_html__( 'One Click Demo Import' , 'ecobit' );
68 | $default_settings['menu_title'] = esc_html__( 'Import Demo Data' , 'ecobit' );
69 | $default_settings['capability'] = 'import';
70 | $default_settings['menu_slug'] = 'ecobit-demo-import';
71 |
72 | return $default_settings;
73 | }
74 | add_filter( 'pt-ocdi/plugin_page_setup', 'ecobit_import_plugin_page_setup' );
75 |
76 | // Enqueue scripts
77 | function ecobit_demo_import_custom_scripts(){
78 |
79 |
80 | if( isset( $_GET['page'] ) && $_GET['page'] == 'ecobit-demo-import' ){
81 | // style
82 | wp_enqueue_style( 'ecobit-demo-import', ECOBIT_DIR_INC . 'demo/css/demo-import.css', array(), '1.0', false );
83 | }
84 |
85 |
86 | }
87 | add_action( 'admin_enqueue_scripts', 'ecobit_demo_import_custom_scripts' );
88 |
89 |
90 |
91 | ?>
--------------------------------------------------------------------------------
/header.php:
--------------------------------------------------------------------------------
1 |
2 | >
3 |
4 |
5 |
6 |
7 |
18 |
19 | >
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
30 |
33 |
34 |
35 |
36 | 'primary-menu',
40 | 'theme_location' => 'primary-menu',
41 | 'menu_id' => 'menu-main-menu',
42 | 'container_class'=> 'collapse navbar-collapse main-menu-item',
43 | 'container_id' => 'navbarSupportedContent',
44 | 'menu_class' => 'navbar-nav',
45 | 'walker' => new ecobit_bootstrap_navwalker,
46 | 'depth' => 3
47 | ));
48 | }
49 |
50 | if( ecobit_opt( 'ecobit_header_btn' ) == 1 ){
51 | $btn_lbl = !empty( ecobit_opt( 'header_btn_label' ) ) ? ecobit_opt( 'header_btn_label' ) : '';
52 | $btn_url = !empty( ecobit_opt( 'booking_btn_url' ) ) ? ecobit_opt( 'booking_btn_url' ) : '';
53 | ?>
54 |
55 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
34 | var mapElement = document.getElementById('map');
35 |
36 | // Create the Google Map using our element and options defined above
37 | var map = new google.maps.Map(mapElement, mapOptions);
38 |
39 | // Let's also add a marker while we're at it
40 | var marker = new google.maps.Marker({
41 | position: new google.maps.LatLng( $getData.lat, $getData.lng ),
42 | map: map,
43 | title: $getData.address
44 | });
45 | }
46 | }
47 |
48 | })(jQuery);
--------------------------------------------------------------------------------
/comments.php:
--------------------------------------------------------------------------------
1 |
23 |
24 |
25 |
39 |
40 |
41 |
42 |
44 |
45 |
48 |
49 | '.esc_html__('Post Comment', 'ecobit').'
',
68 | 'id_submit' => 'submit-btn',
69 | 'title_reply' => '',
70 | 'comment_notes_before' => '',
71 | 'comment_field' => '',
72 | 'comment_notes_after' => '',
73 | );
74 | comment_form($comments_args);
75 | ?>
76 |
--------------------------------------------------------------------------------
/inc/classes/Class-Enqueue.php:
--------------------------------------------------------------------------------
1 | scripts;
27 |
28 | // variable type check
29 | if( is_array( $scripts ) && count( $scripts ) > 0 ){
30 |
31 | // Style Enqueue
32 | if( is_array( $scripts['style'] ) && count( $scripts['style'] ) > 0 ){
33 |
34 | foreach( $scripts['style'] as $style ){
35 |
36 | // Check handler
37 | $handler = '';
38 | if( !empty( $style['handler'] ) ){
39 | $handler = $style['handler'];
40 | }
41 |
42 | // Check file
43 | $file = '';
44 | if( !empty( $style['file'] ) ){
45 | $file = $style['file'];
46 | }
47 | // Check dependency
48 | $dependency = '';
49 | if( !empty( $style['dependency'] ) ){
50 | $dependency = $style['dependency'];
51 | }
52 | // Check version
53 | $version = '';
54 | if( !empty( $style['version'] ) ){
55 | $version = $style['version'];
56 | }
57 |
58 | // wp_enqueue_style
59 | wp_enqueue_style( esc_html( $handler ), esc_url( $file ), $dependency, esc_html( $version ) );
60 |
61 | }
62 |
63 | } // End Style Enqueue
64 |
65 | // Scripts Enqueue
66 | if( is_array( $scripts['scripts'] ) && count( $scripts['scripts'] ) > 0 ){
67 |
68 | foreach( $scripts['scripts'] as $script ){
69 |
70 | // Check handler
71 | $handler = '';
72 | if( !empty( $script['handler'] ) ){
73 | $handler = $script['handler'];
74 | }
75 |
76 | // Check file
77 | $file = '';
78 | if( !empty( $script['file'] ) ){
79 | $file = $script['file'];
80 | }
81 | // Check dependency
82 | $dependency = array('jquery');
83 | if( !empty( $script['dependency'] ) ){
84 | $dependency = $script['dependency'];
85 | }
86 | // Check version
87 | $version = '';
88 | if( !empty( $script['version'] ) ){
89 | $version = $script['version'];
90 | }
91 | // Check in_footer
92 | $in_footer = '';
93 | if( !empty( $script['in_footer'] ) ){
94 | $in_footer = $script['in_footer'];
95 | }
96 |
97 | // wp enqueue script
98 | if( !empty( $script['register'] ) ){
99 | wp_register_script( esc_html( $handler ), esc_url( $file ), $dependency, esc_html( $version ), esc_html( $in_footer ) );
100 | }else{
101 | wp_enqueue_script( esc_html( $handler ), esc_url( $file ), $dependency, esc_html( $version ), esc_html( $in_footer ) );
102 | }
103 |
104 | // Condational Script
105 | if( !empty( $script['condation'] ) ){
106 | wp_script_add_data( esc_html( $handler ), 'conditional', esc_html( $script['condation'] ) );
107 | }
108 |
109 | }
110 |
111 | // Comment replay
112 | if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
113 | wp_enqueue_script( 'comment-reply' );
114 | }
115 |
116 | } // End Scripts Enqueue
117 |
118 |
119 | } // End variable type check
120 |
121 | }
122 |
123 | }
124 |
125 |
126 |
127 |
128 | ?>
--------------------------------------------------------------------------------
/inc/widgets/ecobit-instagram.php:
--------------------------------------------------------------------------------
1 | esc_html__('Ecobit Instagram Photo Widget','ecobit'),
10 | ));
11 | }
12 |
13 | // Output======================
14 | public function widget($args, $instance){
15 |
16 | $title = apply_filters( 'widget_title', $instance['title'] );
17 | $insta_user = apply_filters( 'widget_insta_user', $instance['insta_user'] );
18 | $insta_items = apply_filters( 'widget_insta_items', $instance['insta_items'] );
19 |
20 |
21 | echo wp_kses_post( $args['before_widget'] );
22 | if ( ! empty( $title ) )
23 | echo wp_kses_post( $args['before_title'] . $title . $args['after_title'] ); ?>
24 |
25 |
29 |
30 |
31 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 | esc_html__( 'Add recent post with thumbnail', 'ecobit' ), )
28 | );
29 |
30 | }
31 |
32 | // This is where the action happens
33 | public function widget( $args, $instance ) {
34 | $title = apply_filters( 'widget_title', $instance['title'] );
35 | $post_number = apply_filters( 'widget_post_number', $instance['post_number'] );
36 |
37 | // before and after widget arguments are defined by themes
38 | echo $args['before_widget'];
39 | if ( ! empty( $title ) )
40 | echo $args['before_title'] . $title . $args['after_title'];
41 |
42 | //
43 | $arrya = array(
44 | 'post_type' => 'post',
45 | 'posts_per_page' => esc_html( $post_number ),
46 | );
47 |
48 | $loop = new WP_Query( $arrya );
49 |
50 | if( $loop->have_posts() ){
51 |
52 |
53 | while( $loop->have_posts() ){
54 | $loop->the_post();
55 |
56 | if( has_post_thumbnail() ):
57 | ?>
58 |
59 | 'img-fluid' ) ); ?>
61 |
67 |
68 |
69 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 | add_setting( 'footer_logo',
23 | array(
24 | 'type' => 'theme_mod',
25 | 'capability' => 'edit_theme_options',
26 | 'sanitize_callback' => 'absint'
27 | )
28 | ); // Add setting for image uploader
29 |
30 | // Add control for image uploader (actual uploader)
31 | $wp_customize->add_control( new WP_Customize_Media_Control( $wp_customize, 'WP_Customize_Cropped_Image_Control', array(
32 | 'label' => __( 'Footer Logo', 'ecobit' ),
33 | 'priority' => 1,
34 | 'section' => 'ecobit_footer_section',
35 | 'settings' => 'footer_logo',
36 | ) )
37 | );
38 |
39 | // Include files
40 | include( ECOBIT_DIR_PATH_INC. 'customizer/fields/sections.php' );
41 | include( ECOBIT_DIR_PATH_INC. 'customizer/fields/fields.php' );
42 |
43 | // Change panel to theme option
44 | $wp_customize->get_section( 'title_tagline' )->panel = 'ecobit_theme_options_panel';
45 | // change priorities
46 | $wp_customize->get_section( 'title_tagline' )->priority = 0;
47 | $wp_customize->remove_section( 'colors' );
48 |
49 |
50 | }
51 |
52 |
53 | // Customizer js enqueue
54 |
55 | public function ecobit_customizer_js(){
56 |
57 | wp_enqueue_script( 'ecobit-customizer', ECOBIT_DIR_URI.'inc/customizer/js/customizer.js', array('customize-controls'), '1.0', true );
58 |
59 |
60 | $about_page = self::ecobit_get_page_name( 'page-about.php' );
61 | $contact_page = self::ecobit_get_page_name( 'page-contact.php' );
62 |
63 | wp_localize_script( 'ecobit-customizer', 'customizerdata', array(
64 |
65 | 'site_url' => site_url('/'),
66 | 'blog_page' => get_post_type_archive_link( 'post' ),
67 | 'about_page' => esc_html( !empty( $about_page[0]->post_name ) ? $about_page[0]->post_name : '' ),
68 | 'contact_page' => esc_html( !empty( $contact_page[0]->post_name ) ? $contact_page[0]->post_name : '' ),
69 |
70 | ) );
71 |
72 | }
73 |
74 | // Get page name by page template
75 | public static function ecobit_get_page_name( $template ){
76 |
77 | $pages = get_pages(array(
78 | 'meta_key' => '_wp_page_template',
79 | 'meta_value' => esc_html( $template )
80 | ));
81 |
82 | return $pages;
83 | }
84 |
85 | // Image sanitization callback.
86 |
87 | public static function ecobit_sanitize_image( $image, $setting ) {
88 |
89 | /*
90 | * Array of valid image file types.
91 | *
92 | * The array includes image mime types that are included in wp_get_mime_types()
93 | */
94 | $mimes = array(
95 | 'jpg|jpeg|jpe' => 'image/jpeg',
96 | 'gif' => 'image/gif',
97 | 'png' => 'image/png',
98 | 'bmp' => 'image/bmp',
99 | 'tif|tiff' => 'image/tiff',
100 | 'ico' => 'image/x-icon'
101 | );
102 |
103 | // Return an array with file extension and mime_type.
104 | $file = wp_check_filetype( $image, $mimes );
105 |
106 | // If $image has a valid mime_type, return it; otherwise, return the default.
107 | return ( $file['ext'] ? $image : $setting->default );
108 | }
109 |
110 | }
111 | ?>
--------------------------------------------------------------------------------
/footer.php:
--------------------------------------------------------------------------------
1 | ', '', date( 'Y' ) );
14 | $copyRight = !empty( ecobit_opt( 'ecobit_footer_copyright_text' ) ) ? ecobit_opt( 'ecobit_footer_copyright_text' ) : $copyText;
15 | $footer_logo = get_theme_mod( 'footer_logo' );
16 | $footer_logo_src = wp_get_attachment_image_src( $footer_logo, 'ecobit_logo_145x32' );
17 | $footer_class = ecobit_opt( 'ecobit_footer_widget_toggle' ) == 1 ? 'footer-area' : 'no_widget';
18 | ?>
19 |
20 |
21 |
22 |
90 |
91 |
92 |
93 |
--------------------------------------------------------------------------------
/readme.txt:
--------------------------------------------------------------------------------
1 | === Colorlib ===
2 | Contributors: Colorlib
3 | Requires at least: WordPress 4.9
4 | Tested : WordPress 5.4
5 | Version: 1.0
6 | License: GPLv2 or later
7 | License URI: http://www.gnu.org/licenses/gpl-2.0.html
8 | Tags: two-columns, left-sidebar, right-sidebar, flexible-header, custom-colors
9 | Text Domain: ecobit
10 |
11 | == Description ==
12 | Ecobit is a clean, simple, responsive and customizable WordPress theme that looks awesome on any device. For a quick launch of a page to showcases your works, your talents and your services, apredefined theme is a wise decision to make. Ecobit has it all in store for you to easily and effortlessly engineer an appealing page to attract new clients and seal new business deals.
13 |
14 | * Mobile-first, Responsive Layout
15 | * Custom Colors
16 | * Custom Header
17 | * Social Links
18 | * Menu Description
19 | * Post Formats
20 | * The GPL v2.0 or later license. :) Use it to make something cool.
21 |
22 | == Installation ==
23 |
24 | 1. In your admin panel, go to Appearance -> Themes and click the 'Add New' button.
25 | 2. Type in ecobit in the search form and press the 'Enter' key on your keyboard.
26 | 3. Click on the 'Activate' button to use your new theme right away.
27 | 5. Navigate to Appearance > Customize in your admin panel and customize to taste.
28 |
29 |
30 | Unless otherwise specified, all the theme files, scripts and images are licensed under GNU General Public License.
31 | The exceptions to this license are as follows:
32 |
33 |
34 | #### Vendors
35 |
36 |
37 |
38 | FitVids 1.1
39 |
40 | -- Copyright 2013, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com
41 | -- Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/
42 | -- Released under the WTFPL license - http://sam.zoy.org/wtfpl/
43 |
44 |
45 | HTML5 Placeholder jQuery Plugin - v2.1.2
46 | -- Copyright (c)2015 Mathias Bynens 2015-06-09
47 |
48 |
49 | Masonry PACKAGED v4.2.1
50 | -- Copyright Masonry PACKAGED by David DeSandro https://masonry.desandro.com
51 | -- MIT License
52 |
53 |
54 | ImagesLoaded PACKAGED v4.1.4
55 | -- Copyright ImagesLoaded https://imagesloaded.desandro.com/
56 | -- imagesLoaded is released under the MIT License ( https://desandro.mit-license.org/ )
57 |
58 | slick
59 | -- Copyright (c) 2017 Ken Wheeler https://github.com/kenwheeler/slick
60 | -- Licensed under the MIT license.
61 |
62 |
63 | AOS js
64 | -- Copyright (c) 2015 Michał Sajnóg https://michalsnik.github.io/aos/
65 | -- Under The MIT License (MIT)
66 |
67 | Lity - v1.6.6 - 2016-04-22
68 | -- http://sorgalla.com/lity/
69 | -- Copyright (c) 2016 Jan Sorgalla; Licensed MIT
70 |
71 |
72 | MediaElement js
73 | -- http://www.mediaelementjs.com/
74 | -- Copyright 2010-2017, John Dyer (http://j.hn/)
75 | -- License: MIT
76 |
77 | Pace js
78 | -- https://github.hubspot.com/pace/docs/welcome/
79 | -- Copyright (c) 2013 HubSpot, Inc.
80 | -- License: MIT ( https://github.com/HubSpot/pace/blob/master/LICENSE )
81 |
82 | Modernizr 3.3.1 (Custom Build)
83 | -- License MIT
84 |
85 | lity css
86 | -- Copyright (c) 2016 by Jan Sorgalla http://sorgalla.com/lity/
87 | -- Licensed MIT
88 |
89 |
90 | Font Awesome Code
91 |
92 | -- Copyright Font Awesome by Dave Gandy - http://fontawesome.io
93 | -- License: MIT License ( http://opensource.org/licenses/mit-license.html )
94 |
95 | Epsilon
96 |
97 | -- Macho Themes https://www.machothemes.com/
98 | -- available for use under the MIT License
99 |
100 | SuperFish
101 |
102 | -- Copyright (c) 2013 Joel Birch.
103 | -- available for use under the MIT License http://users.tpg.com.au/j_birch/plugins/superfish/
104 | Hover Intent
105 |
106 | -- Copyright (c) 2007 - 2014 Brian Cherne.
107 | -- available for use under the MIT License http://cherne.net/brian/resources/jquery.hoverIntent.html
108 |
109 | #### Fonts
110 |
111 | Google Fonts
112 |
113 | -- License: SIL OFL 1.1
114 | -- URL: http://scripts.sil.org/OFL
115 |
116 | #### Images
117 |
118 |
119 | License: All unsplash.com images are licensed under the terms of the Creative Commons Zero, http://creativecommons.org/publicdomain/zero/1.0/
120 |
121 | Source: https://download.unsplash.com/uploads/14120938606568dde6e2b/c9e42240
122 |
123 |
124 |
125 |
--------------------------------------------------------------------------------
/single.php:
--------------------------------------------------------------------------------
1 |
15 |
16 | >
17 |
18 |
19 |
20 |
21 |
23 |
24 | 'card-img rounded-0' ) ); ?>
25 |
26 |
28 |
29 |
30 |
33 |
34 | ';
36 | echo ecobit_post_cats();
37 | echo '';
38 | }
39 |
40 | echo '';
41 | echo ecobit_posted_comments();
42 | echo ' ';
43 |
44 | ?>
45 |
46 | '
' . __( 'Pages:', 'ecobit' ),
57 | 'after' => '
',
58 | )
59 | );
60 | // Post visitor count
61 | ecobit_set_post_views( get_the_ID() );
62 | endwhile;
63 | endif;
64 | if( has_tag() ){
65 | echo '
'.esc_html__( 'Tags:', 'ecobit' ).' ';
66 | echo ecobit_post_tags();
67 | echo '
';
68 | }
69 |
70 | ?>
71 |
72 |
73 |
74 |
77 |
78 |
87 |
88 |
89 |
94 |
95 |
96 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/inc/elementor-widgets/assets/css/owl.carousel.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Owl Carousel v2.2.0
3 | * Copyright 2013-2016 David Deutsch
4 | * Licensed under MIT (https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE)
5 | */
6 | /*
7 | * Owl Carousel - Core
8 | */
9 | .owl-carousel {
10 | display: none;
11 | width: 100%;
12 | -webkit-tap-highlight-color: transparent;
13 | /* position relative and z-index fix webkit rendering fonts issue */
14 | position: relative;
15 | z-index: 1; }
16 | .owl-carousel .owl-stage {
17 | position: relative;
18 | -ms-touch-action: pan-Y; }
19 | .owl-carousel .owl-stage:after {
20 | content: ".";
21 | display: block;
22 | clear: both;
23 | visibility: hidden;
24 | line-height: 0;
25 | height: 0; }
26 | .owl-carousel .owl-stage-outer {
27 | position: relative;
28 | overflow: hidden;
29 | /* fix for flashing background */
30 | -webkit-transform: translate3d(0px, 0px, 0px); }
31 | .owl-carousel .owl-item {
32 | position: relative;
33 | min-height: 1px;
34 | float: left;
35 | -webkit-backface-visibility: hidden;
36 | -webkit-tap-highlight-color: transparent;
37 | -webkit-touch-callout: none; }
38 | .owl-carousel .owl-item img {
39 | display: block;
40 | width: 100%;
41 | -webkit-transform-style: preserve-3d; }
42 | .owl-carousel .owl-nav.disabled,
43 | .owl-carousel .owl-dots.disabled {
44 | display: none; }
45 | .owl-carousel .owl-nav .owl-prev,
46 | .owl-carousel .owl-nav .owl-next,
47 | .owl-carousel .owl-dot {
48 | cursor: pointer;
49 | cursor: hand;
50 | -webkit-user-select: none;
51 | -khtml-user-select: none;
52 | -moz-user-select: none;
53 | -ms-user-select: none;
54 | user-select: none; }
55 | .owl-carousel.owl-loaded {
56 | display: block; }
57 | .owl-carousel.owl-loading {
58 | opacity: 0;
59 | display: block; }
60 | .owl-carousel.owl-hidden {
61 | opacity: 0; }
62 | .owl-carousel.owl-refresh .owl-item {
63 | visibility: hidden; }
64 | .owl-carousel.owl-drag .owl-item {
65 | -webkit-user-select: none;
66 | -moz-user-select: none;
67 | -ms-user-select: none;
68 | user-select: none; }
69 | .owl-carousel.owl-grab {
70 | cursor: move;
71 | cursor: grab; }
72 | .owl-carousel.owl-rtl {
73 | direction: rtl; }
74 | .owl-carousel.owl-rtl .owl-item {
75 | float: right; }
76 |
77 | /* No Js */
78 | .no-js .owl-carousel {
79 | display: block; }
80 |
81 | /*
82 | * Owl Carousel - Animate Plugin
83 | */
84 | .owl-carousel .animated {
85 | -webkit-animation-duration: 1000ms;
86 | animation-duration: 1000ms;
87 | -webkit-animation-fill-mode: both;
88 | animation-fill-mode: both; }
89 |
90 | .owl-carousel .owl-animated-in {
91 | z-index: 0; }
92 |
93 | .owl-carousel .owl-animated-out {
94 | z-index: 1; }
95 |
96 | .owl-carousel .fadeOut {
97 | -webkit-animation-name: fadeOut;
98 | animation-name: fadeOut; }
99 |
100 | @-webkit-keyframes fadeOut {
101 | 0% {
102 | opacity: 1; }
103 | 100% {
104 | opacity: 0; } }
105 |
106 | @keyframes fadeOut {
107 | 0% {
108 | opacity: 1; }
109 | 100% {
110 | opacity: 0; } }
111 |
112 | /*
113 | * Owl Carousel - Auto Height Plugin
114 | */
115 | .owl-height {
116 | transition: height 500ms ease-in-out; }
117 |
118 | /*
119 | * Owl Carousel - Lazy Load Plugin
120 | */
121 | .owl-carousel .owl-item .owl-lazy {
122 | opacity: 0;
123 | transition: opacity 400ms ease; }
124 |
125 | .owl-carousel .owl-item img.owl-lazy {
126 | -webkit-transform-style: preserve-3d;
127 | transform-style: preserve-3d; }
128 |
129 | /*
130 | * Owl Carousel - Video Plugin
131 | */
132 | .owl-carousel .owl-video-wrapper {
133 | position: relative;
134 | height: 100%;
135 | background: #000; }
136 |
137 | .owl-carousel .owl-video-play-icon {
138 | position: absolute;
139 | height: 80px;
140 | width: 80px;
141 | left: 50%;
142 | top: 50%;
143 | margin-left: -40px;
144 | margin-top: -40px;
145 | background: url("owl.video.play.png") no-repeat;
146 | cursor: pointer;
147 | z-index: 1;
148 | -webkit-backface-visibility: hidden;
149 | transition: -webkit-transform 100ms ease;
150 | transition: transform 100ms ease; }
151 |
152 | .owl-carousel .owl-video-play-icon:hover {
153 | -webkit-transform: scale(1.3, 1.3);
154 | -ms-transform: scale(1.3, 1.3);
155 | transform: scale(1.3, 1.3); }
156 |
157 | .owl-carousel .owl-video-playing .owl-video-tn,
158 | .owl-carousel .owl-video-playing .owl-video-play-icon {
159 | display: none; }
160 |
161 | .owl-carousel .owl-video-tn {
162 | opacity: 0;
163 | height: 100%;
164 | background-position: center center;
165 | background-repeat: no-repeat;
166 | background-size: contain;
167 | transition: opacity 400ms ease; }
168 |
169 | .owl-carousel .owl-video-frame {
170 | position: relative;
171 | z-index: 1;
172 | height: 100%;
173 | width: 100%; }
174 |
--------------------------------------------------------------------------------
/assets/css/magnific-popup.css:
--------------------------------------------------------------------------------
1 | .mfp-bg{top:0;left:0;width:100%;height:100%;z-index:1042;overflow:hidden;position:fixed;background:#0b0b0b;opacity:.8}.mfp-wrap{top:0;left:0;width:100%;height:100%;z-index:1043;position:fixed;outline:none !important;-webkit-backface-visibility:hidden}.mfp-container{text-align:center;position:absolute;width:100%;height:100%;left:0;top:0;padding:0 8px;box-sizing:border-box}.mfp-container:before{content:'';display:inline-block;height:100%;vertical-align:middle}.mfp-align-top .mfp-container:before{display:none}.mfp-content{position:relative;display:inline-block;vertical-align:middle;margin:0 auto;text-align:left;z-index:1045}.mfp-inline-holder .mfp-content,.mfp-ajax-holder .mfp-content{width:100%;cursor:auto}.mfp-ajax-cur{cursor:progress}.mfp-zoom-out-cur,.mfp-zoom-out-cur .mfp-image-holder .mfp-close{cursor:-moz-zoom-out;cursor:-webkit-zoom-out;cursor:zoom-out}.mfp-zoom{cursor:pointer;cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.mfp-auto-cursor .mfp-content{cursor:auto}.mfp-close,.mfp-arrow,.mfp-preloader,.mfp-counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}.mfp-loading.mfp-figure{display:none}.mfp-hide{display:none !important}.mfp-preloader{color:#CCC;position:absolute;top:50%;width:auto;text-align:center;margin-top:-0.8em;left:8px;right:8px;z-index:1044}.mfp-preloader a{color:#CCC}.mfp-preloader a:hover{color:#FFF}.mfp-s-ready .mfp-preloader{display:none}.mfp-s-error .mfp-content{display:none}button.mfp-close,button.mfp-arrow{overflow:visible;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;display:block;outline:0;padding:0;z-index:1046;box-shadow:none;touch-action:manipulation}button::-moz-focus-inner{padding:0;border:0}.mfp-close{width:44px;height:44px;line-height:44px;position:absolute;right:0;top:0;text-decoration:none;text-align:center;opacity:.65;padding:0 0 18px 10px;color:#FFF;font-style:normal;font-size:28px;font-family:Arial,Baskerville,monospace}.mfp-close:hover,.mfp-close:focus{opacity:1}.mfp-close:active{top:1px}.mfp-close-btn-in .mfp-close{color:#333}.mfp-image-holder .mfp-close,.mfp-iframe-holder .mfp-close{color:#FFF;right:-6px;text-align:right;padding-right:6px;width:100%}.mfp-counter{position:absolute;top:0;right:0;color:#CCC;font-size:12px;line-height:18px;white-space:nowrap}.mfp-arrow{position:absolute;opacity:.65;margin:0;top:50%;margin-top:-55px;padding:0;width:90px;height:110px;-webkit-tap-highlight-color:transparent}.mfp-arrow:active{margin-top:-54px}.mfp-arrow:hover,.mfp-arrow:focus{opacity:1}.mfp-arrow:before,.mfp-arrow:after{content:'';display:block;width:0;height:0;position:absolute;left:0;top:0;margin-top:35px;margin-left:35px;border:medium inset transparent}.mfp-arrow:after{border-top-width:13px;border-bottom-width:13px;top:8px}.mfp-arrow:before{border-top-width:21px;border-bottom-width:21px;opacity:.7}.mfp-arrow-left{left:0}.mfp-arrow-left:after{border-right:17px solid #FFF;margin-left:31px}.mfp-arrow-left:before{margin-left:25px;border-right:27px solid #3f3f3f}.mfp-arrow-right{right:0}.mfp-arrow-right:after{border-left:17px solid #FFF;margin-left:39px}.mfp-arrow-right:before{border-left:27px solid #3f3f3f}.mfp-iframe-holder{padding-top:40px;padding-bottom:40px}.mfp-iframe-holder .mfp-content{line-height:0;width:100%;max-width:900px}.mfp-iframe-holder .mfp-close{top:-40px}.mfp-iframe-scaler{width:100%;height:0;overflow:hidden;padding-top:56.25%}.mfp-iframe-scaler iframe{position:absolute;display:block;top:0;left:0;width:100%;height:100%;box-shadow:0 0 8px rgba(0,0,0,0.6);background:#000}img.mfp-img{width:auto;max-width:100%;height:auto;display:block;line-height:0;box-sizing:border-box;padding:40px 0 40px;margin:0 auto}.mfp-figure{line-height:0}.mfp-figure:after{content:'';position:absolute;left:0;top:40px;bottom:40px;display:block;right:0;width:auto;height:auto;z-index:-1;box-shadow:0 0 8px rgba(0,0,0,0.6);background:#444}.mfp-figure small{color:#bdbdbd;display:block;font-size:12px;line-height:14px}.mfp-figure figure{margin:0}.mfp-bottom-bar{margin-top:-36px;position:absolute;top:100%;left:0;width:100%;cursor:auto}.mfp-title{text-align:left;line-height:18px;color:#f3f3f3;word-wrap:break-word;padding-right:36px}.mfp-image-holder .mfp-content{max-width:100%}.mfp-gallery .mfp-image-holder .mfp-figure{cursor:pointer}@media screen and (max-width:800px) and (orientation:landscape),screen and (max-height:300px){.mfp-img-mobile .mfp-image-holder{padding-left:0;padding-right:0}.mfp-img-mobile img.mfp-img{padding:0}.mfp-img-mobile .mfp-figure:after{top:0;bottom:0}.mfp-img-mobile .mfp-figure small{display:inline;margin-left:5px}.mfp-img-mobile .mfp-bottom-bar{background:rgba(0,0,0,0.6);bottom:0;margin:0;top:auto;padding:3px 5px;position:fixed;box-sizing:border-box}.mfp-img-mobile .mfp-bottom-bar:empty{padding:0}.mfp-img-mobile .mfp-counter{right:5px;top:3px}.mfp-img-mobile .mfp-close{top:0;right:0;width:35px;height:35px;line-height:35px;background:rgba(0,0,0,0.6);position:fixed;text-align:center;padding:0}}@media all and (max-width:900px){.mfp-arrow{-webkit-transform:scale(0.75);transform:scale(0.75)}.mfp-arrow-left{-webkit-transform-origin:0 0;transform-origin:0 0}.mfp-arrow-right{-webkit-transform-origin:100%;transform-origin:100%}.mfp-container{padding-left:6px;padding-right:6px}}
--------------------------------------------------------------------------------
/assets/img/icon/feature_icon_2.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/assets/js/jquery.ajaxchimp.min.js:
--------------------------------------------------------------------------------
1 | (function ($) {
2 | 'use strict';
3 |
4 | $.ajaxChimp = {
5 | responses: {
6 | 'We have sent you a confirmation email' : 0,
7 | 'Please enter a valid email' : 1,
8 | 'An email address must contain a single @' : 2,
9 | 'The domain portion of the email address is invalid (the portion after the @: )' : 3,
10 | 'The username portion of the email address is invalid (the portion before the @: )' : 4,
11 | 'This email address looks fake or invalid. Please enter a real email address' : 5
12 | },
13 | translations: {
14 | 'en': null
15 | },
16 | init: function (selector, options) {
17 | $(selector).ajaxChimp(options);
18 | }
19 | };
20 |
21 | $.fn.ajaxChimp = function (options) {
22 | $(this).each(function(i, elem) {
23 | var form = $(elem);
24 | var email = form.find('input[type=email]');
25 | var label = form.find('.info');
26 |
27 | var settings = $.extend({
28 | 'url': form.attr('action'),
29 | 'language': 'en'
30 | }, options);
31 |
32 | var url = settings.url.replace('/post?', '/post-json?').concat('&c=?');
33 |
34 | form.attr('novalidate', 'true');
35 | email.attr('name', 'EMAIL');
36 |
37 | form.submit(function () {
38 | var msg;
39 | function successCallback(resp) {
40 | if (resp.result === 'success') {
41 | msg = 'We have sent you a confirmation email';
42 | label.removeClass('error').addClass('valid');
43 | email.removeClass('error').addClass('valid');
44 | } else {
45 | email.removeClass('valid').addClass('error');
46 | label.removeClass('valid').addClass('error');
47 | var index = -1;
48 | try {
49 | var parts = resp.msg.split(' - ', 2);
50 | if (parts[1] === undefined) {
51 | msg = resp.msg;
52 | } else {
53 | var i = parseInt(parts[0], 10);
54 | if (i.toString() === parts[0]) {
55 | index = parts[0];
56 | msg = parts[1];
57 | } else {
58 | index = -1;
59 | msg = resp.msg;
60 | }
61 | }
62 | }
63 | catch (e) {
64 | index = -1;
65 | msg = resp.msg;
66 | }
67 | }
68 |
69 | // Translate and display message
70 | if (
71 | settings.language !== 'en'
72 | && $.ajaxChimp.responses[msg] !== undefined
73 | && $.ajaxChimp.translations
74 | && $.ajaxChimp.translations[settings.language]
75 | && $.ajaxChimp.translations[settings.language][$.ajaxChimp.responses[msg]]
76 | ) {
77 | msg = $.ajaxChimp.translations[settings.language][$.ajaxChimp.responses[msg]];
78 | }
79 | label.html(msg);
80 |
81 | label.show(2000);
82 | if (settings.callback) {
83 | settings.callback(resp);
84 | }
85 | }
86 |
87 | var data = {};
88 | var dataArray = form.serializeArray();
89 | $.each(dataArray, function (index, item) {
90 | data[item.name] = item.value;
91 | });
92 |
93 | $.ajax({
94 | url: url,
95 | data: data,
96 | success: successCallback,
97 | dataType: 'jsonp',
98 | error: function (resp, text) {
99 | console.log('mailchimp ajax submit error: ' + text);
100 | }
101 | });
102 |
103 | // Translate and display submit message
104 | var submitMsg = 'Submitting...';
105 | if(
106 | settings.language !== 'en'
107 | && $.ajaxChimp.translations
108 | && $.ajaxChimp.translations[settings.language]
109 | && $.ajaxChimp.translations[settings.language]['submit']
110 | ) {
111 | submitMsg = $.ajaxChimp.translations[settings.language]['submit'];
112 | }
113 | label.html(submitMsg).show(2000);
114 |
115 | return false;
116 | });
117 | });
118 | return this;
119 | };
120 | })(jQuery);
--------------------------------------------------------------------------------
/inc/elementor-widgets/widgets/partners.php:
--------------------------------------------------------------------------------
1 | start_controls_section(
48 | 'partners_content',
49 | [
50 | 'label' => __( 'Our Partners', 'ecobit' ),
51 | ]
52 | );
53 |
54 | $this->add_control(
55 | 'partner_slider', [
56 | 'label' => __( 'Create New', 'ecobit' ),
57 | 'type' => Controls_Manager::REPEATER,
58 | 'title_field' => '{{{ client_name }}}',
59 | 'fields' => [
60 | [
61 | 'name' => 'client_logo',
62 | 'label' => __( 'Client Logo', 'ecobit' ),
63 | 'type' => Controls_Manager::MEDIA,
64 | ],
65 | [
66 | 'name' => 'client_name',
67 | 'label' => __( 'Client Name', 'ecobit' ),
68 | 'type' => Controls_Manager::TEXT,
69 | 'default' => __('Creative', 'ecobit')
70 | ],
71 | ],
72 | ]
73 | );
74 |
75 | $this->end_controls_section(); // End exibition content
76 |
77 | }
78 |
79 | protected function render() {
80 |
81 | $settings = $this->get_settings();
82 |
83 | // call load widget script
84 | $this->load_widget_script();
85 | $partners = !empty( $settings['partner_slider'] ) ? $settings['partner_slider'] : '';
86 | ?>
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 | 0 ){
96 | foreach ($partners as $partner ) {
97 | $image = !empty( $partner['client_logo']['id'] ) ? wp_get_attachment_image( $partner['client_logo']['id'], 'ecobit_client_img_150x77', '', array('alt' => $partner['client_name'] ) ) : '';
98 | ?>
99 |
100 |
105 |
106 |
110 |
111 |
112 |
113 |
114 |
115 |
116 | editor->is_edit_mode() === true ) {
122 | ?>
123 |
154 | esc_html__( 'Add footer newsletter signup form.', 'ecobit' ), )
28 | );
29 |
30 | }
31 |
32 | // This is where the action happens
33 | public function widget( $args, $instance ) {
34 |
35 | $title = apply_filters( 'widget_title', $instance['title'] );
36 | $actionurl = apply_filters( 'widget_actionurl', $instance['actionurl'] );
37 | $desc = apply_filters( 'widget_desc', $instance['desc'] );
38 |
39 | // mc validation
40 | wp_enqueue_script( 'mc-validate');
41 |
42 | // before and after widget arguments are defined by themes
43 | echo wp_kses_post( $args['before_widget'] );
44 | if ( ! empty( $title ) )
45 | echo wp_kses_post( $args['before_title'] . $title . $args['after_title'] );
46 |
47 |
48 | if( $desc ){
49 | echo ''.esc_html( $desc ).'
';
50 | } ?>
51 |
72 |
73 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
15 |
16 |
--------------------------------------------------------------------------------
/inc/support-functions.php:
--------------------------------------------------------------------------------
1 | term_id ) ) ) . '">' .esc_html( $cat->name ) . '';
26 | }
27 |
28 | }
29 |
30 | return $categories;
31 |
32 | }
33 |
34 |
35 |
36 | // Post Tags
37 | function ecobit_post_tags(){
38 |
39 | $tags = get_the_tags();
40 |
41 | $getTags = '';
42 |
43 | if( $tags ){
44 |
45 | foreach( $tags as $tag ){
46 | $getTags .= ''.esc_html( $tag->name ).' ';
47 | }
48 |
49 | }
50 |
51 | return $getTags;
52 |
53 | }
54 |
55 |
56 | // social media
57 | if ( ! function_exists( 'ecobit_social' ) ) {
58 | function ecobit_social( $args = array() ){
59 |
60 | $default = array(
61 | 'wrapper_start' => '',
62 | 'wrapper_end' => '',
63 | 'class' => 'topbar-social',
64 | );
65 |
66 | $args = wp_parse_args( $args, $default );
67 |
68 |
69 | $url = ecobit_opt('ecobit_social_url');
70 | if( is_array( $url ) && count( $url ) > 0 ):
71 |
72 | echo wp_kses_post( $args['wrapper_start'] );
73 |
74 | echo '';
75 |
76 | // Facebook
77 | if( !empty( $url['facebook_url'] ) ){
78 | echo '
';
79 | }
80 | // Twitter
81 | if( !empty( $url['twitter_url'] ) ){
82 | echo '';
83 | }
84 | // Google
85 | if( !empty( $url['google_url'] ) ){
86 | echo '
';
87 | }
88 | // Instagram
89 | if( !empty( $url['instagram_url'] ) ){
90 | echo '
';
91 | }
92 | // Pinterest
93 | if( !empty( $url['pinterest_url'] ) ){
94 | echo '
';
95 | }
96 | // Snapchat
97 | if( !empty( $url['snapchat_url'] ) ){
98 | echo '
';
99 | }
100 | // Youtube
101 | if( !empty( $url['youtube_url'] ) ){
102 | echo '
';
103 | }
104 |
105 |
106 | echo '
';
107 | echo wp_kses_post( $args['wrapper_end'] );
108 |
109 | endif;
110 | }
111 | }
112 |
113 | // contact form 7 Shortcode list
114 | function ecobit_contact_form7_shortcode(){
115 |
116 | // contact form list
117 | $getforms['cs'] = __( 'Custom Shortcode', 'ecobit' );
118 | // Instruction
119 | $Instruction = '';
120 |
121 | if( defined('WPCF7_VERSION') ){
122 | $args = array(
123 | 'post_type' => 'wpcf7_contact_form',
124 | 'post_per_pages' => '-1'
125 | );
126 |
127 | $loop = new WP_Query( $args );
128 |
129 | if( $loop->have_posts() ){
130 | while( $loop->have_posts() ){
131 | $loop->the_post();
132 |
133 | $getforms[ get_the_ID() ] = get_the_title();
134 |
135 | }
136 |
137 | }else{
138 | $Instruction = __( 'Contact form not found.', 'ecobit' );
139 | }
140 | }else{
141 | $url = admin_url( 'plugins.php' );
142 |
143 | $Instruction = sprintf( __( 'If you want to use contact form 7, Please install and active contact form 7 plugin. %s Click here to install %s ' , 'ecobit' ), '', ' ' );
144 | }
145 |
146 | $data = [ $getforms, $Instruction ];
147 |
148 | return $data;
149 |
150 | }
151 |
152 |
153 | // Popular post count
154 | function ecobit_get_post_views($postID){
155 | $count_key = 'ecobit_post_views_count';
156 | $count = get_post_meta($postID, $count_key, true);
157 | if($count==''){
158 | delete_post_meta($postID, $count_key);
159 | add_post_meta($postID, $count_key, '0');
160 | return "0 View";
161 | }
162 | return $count.' Views';
163 | }
164 | function ecobit_set_post_views($postID) {
165 | $count_key = 'ecobit_post_views_count';
166 | $count = get_post_meta($postID, $count_key, true);
167 | if($count==''){
168 | $count = 0;
169 | delete_post_meta($postID, $count_key);
170 | add_post_meta($postID, $count_key, '0');
171 | }else{
172 | $count++;
173 | update_post_meta($postID, $count_key, $count);
174 | }
175 | }
176 | //To keep the count accurate, lets get rid of prefetching
177 | remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
178 |
179 | // blog post categoty
180 | function ecobit_get_post_cat(){
181 | $cats = get_categories();
182 |
183 | $categories = array( 'na' => esc_html__( 'Select post category', 'ecobit' ) );
184 | foreach ( $cats as $value ) {
185 |
186 | $categories[$value->slug] = $value->name;
187 |
188 | }
189 |
190 | return $categories;
191 | }
192 | ?>
--------------------------------------------------------------------------------
/inc/widgets/instagram-api.php:
--------------------------------------------------------------------------------
1 | access_token = ecobit_opt( 'ecobit_igaccess_token' );
42 | }
43 |
44 | /**
45 | * @param $screen_name string Instagram username
46 | * @param $image_limit int Number of images to retrieve
47 | * @param $image_width int Desired image width to retrieve
48 | *
49 | * @return array|bool Array of tweets or false if method fails
50 | */
51 | public function get_items( $image_limit, $image_width ) {
52 |
53 | $transient = 'zoom_instagram_is_configured';
54 |
55 | $response = wp_remote_get( sprintf( 'https://api.instagram.com/v1/users/self/media/recent/?access_token=%s&count=%s', $this->access_token, $image_limit ) );
56 |
57 |
58 | if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) {
59 | set_transient( $transient, false, MINUTE_IN_SECONDS );
60 |
61 | return false;
62 | }
63 |
64 |
65 |
66 | $data = json_decode( wp_remote_retrieve_body( $response ) );
67 |
68 | $result = array();
69 | $username = '';
70 |
71 | foreach ( $data->data as $item ) {
72 |
73 | if(empty($username)){
74 | $username = $item->user->username;
75 | }
76 |
77 | $result[] = array(
78 | 'link' => $item->link,
79 | 'image-url' => $item->images->{ $this->get_best_size( $image_width ) }->url,
80 | 'likes' => $item->likes->count,
81 | 'comments' => $item->comments->count,
82 | 'location' => !empty( $item->location->name ) ? $item->location->name : ''
83 | );
84 | }
85 |
86 | $result = array('items' => $result, 'username'=> $username );
87 | set_transient( $transient, $result, 30 * MINUTE_IN_SECONDS );
88 |
89 | return $result;
90 | }
91 |
92 | /**
93 | * @param $screen_name string Instagram username
94 | *
95 | * @return bool|int Instagram user id or false on error
96 | */
97 | protected function get_user_id( $screen_name ) {
98 | $user_id_option = 'zoom_instagram_uid_' . $screen_name;
99 |
100 | if ( false !== ( $user_id = get_option( $user_id_option ) ) ) {
101 | return $user_id;
102 | }
103 |
104 | $response = wp_remote_get( sprintf( 'https://api.instagram.com/v1/users/search?q=%s&access_token=%s', $screen_name, $this->access_token ) );
105 |
106 | if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) {
107 | return false;
108 | }
109 |
110 | $result = json_decode( wp_remote_retrieve_body( $response ) );
111 |
112 | if ( ! isset( $result->data ) ) {
113 | return false;
114 | }
115 |
116 | $user_id = false;
117 |
118 | foreach ( $result->data as $user ) {
119 | if ( $user->username === $screen_name ) {
120 | $user_id = $user->id;
121 |
122 | break;
123 | }
124 | }
125 |
126 | update_option( $user_id_option, $user_id );
127 |
128 | return $user_id;
129 | }
130 |
131 | /**
132 | * @param $desired_width int Desired image width in pixels
133 | *
134 | * @return string Image size for Instagram API
135 | */
136 | protected function get_best_size( $desired_width ) {
137 | $size = 'thumbnail';
138 | $sizes = array(
139 | 'thumbnail' => 137,
140 | 'low_resolution' => 150,
141 | 'standard_resolution' => 640
142 | );
143 |
144 | $diff = PHP_INT_MAX;
145 |
146 | foreach ( $sizes as $key => $value ) {
147 | if ( abs( $desired_width - $value ) < $diff ) {
148 | $size = $key;
149 | $diff = abs( $desired_width - $value );
150 | }
151 | }
152 |
153 | return $size;
154 | }
155 |
156 | /**
157 | * Check if given access token is valid for Instagram Api.
158 | */
159 | public static function is_access_token_valid( $access_token ) {
160 | $response = wp_remote_get( sprintf( 'https://api.instagram.com/v1/users/self/?access_token=%s', $access_token ) );
161 |
162 | if ( is_wp_error( $response ) ) {
163 | return $response;
164 | }
165 |
166 | if ( 200 != wp_remote_retrieve_response_code( $response ) ) {
167 | return false;
168 | }
169 |
170 | return true;
171 | }
172 |
173 | public function is_configured() {
174 | $transient = 'zoom_instagram_is_configured';
175 |
176 | if ( false !== ( $result = get_transient( $transient ) ) ) {
177 | if ( 'yes' === $result ) {
178 | return true;
179 | }
180 |
181 | if ( 'no' === $result ) {
182 | return false;
183 | }
184 | }
185 |
186 | $condition = $this->is_access_token_valid( $this->access_token );
187 |
188 | if ( true === $condition ) {
189 | set_transient( $transient, 'yes', DAY_IN_SECONDS );
190 |
191 | return true;
192 | }
193 |
194 | set_transient( $transient, 'no', DAY_IN_SECONDS );
195 |
196 | return false;
197 | }
198 |
199 | public static function reset_cache() {
200 | delete_transient( 'zoom_instagram_is_configured' );
201 | }
202 |
203 | public function get_access_token() {
204 | return $this->access_token;
205 | }
206 |
207 | public function set_access_token( $access_token ) {
208 | $this->access_token = $access_token;
209 | }
210 | }
211 | ?>
--------------------------------------------------------------------------------
/assets/img/icon/feature_icon_1.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/inc/elementor-widgets/widgets/features.php:
--------------------------------------------------------------------------------
1 | start_controls_section(
49 | 'features_section',
50 | [
51 | 'label' => __( 'Feature Contents', 'ecobit' ),
52 | ]
53 | );
54 | $this->add_control(
55 | 'feature_contents', [
56 | 'label' => __( 'Create New', 'ecobit' ),
57 | 'type' => Controls_Manager::REPEATER,
58 | 'title_field' => '{{{ title }}}',
59 | 'fields' => [
60 | [
61 | 'name' => 'feature_img',
62 | 'label' => __( 'Feature Image', 'ecobit' ),
63 | 'type' => Controls_Manager::MEDIA,
64 | ],
65 | [
66 | 'name' => 'title',
67 | 'label' => __( 'Title', 'ecobit' ),
68 | 'type' => Controls_Manager::TEXT,
69 | 'label_block' => true,
70 | 'default' => __( 'Fully Secured', 'ecobit' )
71 | ],
72 | [
73 | 'name' => 'text',
74 | 'label' => __( 'Text', 'ecobit' ),
75 | 'type' => Controls_Manager::TEXTAREA,
76 | 'label_block' => true,
77 | 'default' => __( 'Made great fish shall beast, fourth land also Doesn tree without lesser likeness he fruit of called gathering day whose called were have', 'ecobit' )
78 | ],
79 | ],
80 | ]
81 | );
82 |
83 | $this->end_controls_section(); // End section top content
84 |
85 |
86 | /**
87 | * Style Tab
88 | * ------------------------------ Style Tab Content ------------------------------
89 | *
90 | */
91 |
92 | // Feature Items Style ==============================
93 | $this->start_controls_section(
94 | 'color_sect', [
95 | 'label' => __( 'Style Feature Items', 'ecobit' ),
96 | 'tab' => Controls_Manager::TAB_STYLE,
97 | ]
98 | );
99 | $this->add_control(
100 | 'color_sec_ttitle', [
101 | 'label' => __( 'Title Color', 'ecobit' ),
102 | 'type' => Controls_Manager::COLOR,
103 | 'selectors' => [
104 | '{{WRAPPER}} .use_sasu .single_feature_part h4' => 'color: {{VALUE}};',
105 | ],
106 | ]
107 | );
108 |
109 | $this->add_control(
110 | 'color_sub_ttitle', [
111 | 'label' => __( 'Text Color', 'ecobit' ),
112 | 'type' => Controls_Manager::COLOR,
113 | 'selectors' => [
114 | '{{WRAPPER}} .use_sasu .single_feature_part p' => 'color: {{VALUE}};',
115 | ],
116 | ]
117 | );
118 |
119 | $this->end_controls_section();
120 |
121 | }
122 |
123 | protected function render() {
124 |
125 | $settings = $this->get_settings();
126 | $features = !empty( $settings['feature_contents'] ) ? $settings['feature_contents'] : '';
127 | $ellipse_1 = ECOBIT_DIR_ANIMATE_ICON_IMG_URI . 'ellipse_1.png';
128 |
129 | function single_fet_item( $title, $text, $feature_img ){ ?>
130 |
131 |
132 |
133 | ' .esc_html( $title ) . '';
139 | echo '
' .esc_html( $text ) . '
';
140 | ?>
141 |
142 |
143 |
144 |
147 |
148 |
149 |
150 |
151 |
152 | 0 ){
154 | foreach ( $features as $feature ) {
155 | $feature_img = !empty( $feature['feature_img']['id'] ) ? wp_get_attachment_image($feature['feature_img']['id'], 'ecobit_feature_img_icon_97x83', false, ['alt' => 'feature icon']) : '';
156 | $title = !empty( $feature['title'] ) ? $feature['title'] : '';
157 | $text = !empty( $feature['text'] ) ? $feature['text'] : '';
158 |
159 | single_fet_item( $title, $text, $feature_img );
160 | }
161 | }
162 | ?>
163 |
164 |
165 |
166 |
167 |
168 |
169 | start_controls_section(
46 | 'subscription_section',
47 | [
48 | 'label' => __( 'Subscription Section Content', 'ecobit' ),
49 | ]
50 | );
51 | $this->add_control(
52 | 'sub_head',
53 | [
54 | 'label' => __( 'Subscription Heading', 'ecobit' ),
55 | 'type' => Controls_Manager::WYSIWYG,
56 | 'default' => __( 'Experience the most simple way to manage business ', 'ecobit' )
57 | ]
58 | );
59 |
60 | $this->add_control(
61 | 'sub_form',
62 | [
63 | 'label' => __( 'Subscription Form Shortcode', 'ecobit' ),
64 | 'type' => Controls_Manager::TEXTAREA,
65 | 'label_block' => true,
66 | 'placeholder' => '[contact-form-7 id="670" title="Subscription Form"]'
67 | ]
68 | );
69 |
70 | $this->end_controls_section(); // End content
71 |
72 |
73 | /**
74 | * Style Tab
75 | * ------------------------------ Background Style ------------------------------
76 | *
77 | */
78 |
79 | // Heading Style ==============================
80 | $this->start_controls_section(
81 | 'color_sect', [
82 | 'label' => __( 'Subscription Style', 'ecobit' ),
83 | 'tab' => Controls_Manager::TAB_STYLE,
84 | ]
85 | );
86 | $this->add_control(
87 | 'color_secttitle', [
88 | 'label' => __( 'Title Color', 'ecobit' ),
89 | 'type' => Controls_Manager::COLOR,
90 | 'selectors' => [
91 | '{{WRAPPER}} .subscribe_part h2' => 'color: {{VALUE}};',
92 | ],
93 | ]
94 | );
95 |
96 | $this->add_control(
97 | 'form_styles_separator',
98 | [
99 | 'label' => __( 'Form Styles', 'ecobit' ),
100 | 'type' => Controls_Manager::HEADING,
101 | 'separator' => 'after',
102 | ]
103 | );
104 | $this->add_control(
105 | 'input_color', [
106 | 'label' => __( 'Input Field Color', 'ecobit' ),
107 | 'type' => Controls_Manager::COLOR,
108 | 'selectors' => [
109 | '{{WRAPPER}} .subscribe_part .form-control' => 'color: {{VALUE}}; border-color: {{VALUE}};',
110 | ],
111 | ]
112 | );
113 | $this->add_control(
114 | 'btn_color', [
115 | 'label' => __( 'Button Color', 'ecobit' ),
116 | 'type' => Controls_Manager::COLOR,
117 | 'selectors' => [
118 | '{{WRAPPER}} .subscribe_part .btn_2' => 'background-color: {{VALUE}}; border-color: {{VALUE}};',
119 | ],
120 | ]
121 | );
122 | $this->add_control(
123 | 'btn_hvr_color', [
124 | 'label' => __( 'Button Hover Color', 'ecobit' ),
125 | 'type' => Controls_Manager::COLOR,
126 | 'selectors' => [
127 | '{{WRAPPER}} .subscribe_part .btn_2:hover' => 'background-color: transparent; color: {{VALUE}}!important; border-color: {{VALUE}};',
128 | ],
129 | ]
130 | );
131 |
132 | $this->end_controls_section();
133 |
134 | }
135 |
136 | protected function render() {
137 | $settings = $this->get_settings();
138 | $sub_head = !empty( $settings['sub_head'] ) ? $settings['sub_head'] : '';
139 | $form_shortcode = !empty( $settings['sub_form'] ) ? $settings['sub_form'] : '';
140 | $dynamic_class = is_front_page() ? 'subscribe_part padding_bottom' : 'subscribe_part section_padding';
141 |
142 | $ellipse_5 = ECOBIT_DIR_ANIMATE_ICON_IMG_URI . 'ellipse_5.png';
143 | ?>
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
157 |
158 |
164 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 | theme = $theme;
33 |
34 | $theme = wp_get_theme();
35 | $arr = array(
36 | 'theme-name' => $theme->get( 'Name' ),
37 | 'theme-slug' => $theme->get( 'TextDomain' ),
38 | 'theme-version' => $theme->get( 'Version' ),
39 | );
40 |
41 | $this->theme = wp_parse_args( $this->theme, $arr );
42 | /**
43 | * If PHP Version is older than 5.3, we switch back to default theme
44 | */
45 | add_action( 'admin_init', array( $this, 'php_version_check' ) );
46 |
47 | /**
48 | * Add a notice for the MachoThemes feedback
49 | */
50 | add_action( 'admin_init', array( $this, 'add_feedback_notice' ) );
51 |
52 | /**
53 | * Init epsilon dashboard
54 | */
55 | add_filter( 'epsilon-dashboard-setup', array( $this, 'epsilon_dashboard' ) );
56 |
57 | add_filter( 'epsilon-onboarding-setup', array( $this, 'epsilon_onboarding' ) );
58 |
59 | /**
60 | * Grab all class methods and initiate automatically
61 | */
62 | $methods = get_class_methods( 'Epsilon_init_Dashboard' );
63 | foreach ( $methods as $method ) {
64 |
65 |
66 | if ( false !== strpos( $method, 'init_' ) ) {
67 | $this->$method();
68 | }
69 | }
70 | }
71 |
72 | /**
73 | * Ecobit instance
74 | *
75 | * @param array $theme
76 | *
77 | * @return Ecobit
78 | */
79 | public static function get_instance( $theme = array() ) {
80 | static $inst;
81 | if ( ! $inst ) {
82 | $inst = new Epsilon_init_Dashboard( $theme );
83 | }
84 |
85 | return $inst;
86 | }
87 |
88 | /**
89 | * Check PHP Version and switch theme
90 | */
91 | public function php_version_check() {
92 | if ( version_compare( PHP_VERSION, '5.3.0' ) >= 0 ) {
93 | return true;
94 | }
95 |
96 | switch_theme( WP_DEFAULT_THEME );
97 |
98 | return false;
99 | }
100 |
101 | /**
102 | * Adds a feedback notice if conditions are met
103 | */
104 | public function add_feedback_notice() {
105 | if ( get_user_meta( get_current_user_id(), 'notification_feedback', true ) ) {
106 | return;
107 | }
108 |
109 | $page_on_front = 'page' == get_option( 'show_on_front' ) ? true : false;
110 | $id = absint( get_option( 'page_on_front', 0 ) );
111 |
112 | if ( $page_on_front && 0 !== $id ) {
113 | $revisions = wp_get_post_revisions( $id );
114 |
115 | if ( count( $revisions ) > 3 ) {
116 | /**
117 | * Revision keys are ID's, and it's not incremental
118 | */
119 | $first = end( $revisions );
120 |
121 | $revision_time = new DateTime( $first->post_modified );
122 | $today = new DateTime( 'today' );
123 | $interval = $today->diff( $revision_time )->format( '%d' );
124 |
125 | if ( 2 <= absint( $interval ) ) {
126 | $this->_notify_feedback();
127 | }
128 | }
129 | }
130 | }
131 |
132 | /**
133 | * Notify of feedback
134 | */
135 | private function _notify_feedback() {
136 | if ( ! class_exists( 'Epsilon_Notifications' ) ) {
137 | return;
138 | }
139 | $html = '';
140 | $html .=
141 | vsprintf(
142 | // Translators: 1 is Theme Name, 2 is opening Anchor, 3 is closing.
143 | __( 'We\'ve been working hard on making %1$s the best one out there. We\'re interested in hearing your thoughts about %1$s and what we could do to make it even better. %2$sSend your feedback our way%3$s.', 'ecobit' ),
144 | array(
145 | 'Ecobit',
146 | '',
147 | ' ',
148 | )
149 | );
150 |
151 | $notifications = Epsilon_Notifications::get_instance();
152 | $notifications->add_notice(
153 | array(
154 | 'id' => 'ecobit_notification_feedback',
155 | 'type' => 'notice epsilon-big',
156 | 'message' => $html,
157 | )
158 | );
159 | }
160 |
161 | /**
162 | * Initiate the epsilon framework
163 | */
164 | public function init_epsilon() {
165 | //new Epsilon_Framework();
166 | }
167 |
168 | /**
169 | *
170 | */
171 | public function init_nav_menus() {
172 | new Epsilon_Section_Navigation_Menu( 'ecobit_frontpage_sections_' );
173 | }
174 |
175 | /**
176 | * Initiate the welcome screen
177 | */
178 | public function init_dashboard() {
179 | Epsilon_Dashboard::get_instance(
180 | array(
181 | 'theme' => array(
182 | 'download-id' => '212499'
183 | ),
184 | 'tracking' => $this->theme['theme-slug'] . '_tracking_enable',
185 | )
186 | );
187 |
188 | $dashboard = Epsilon_Dashboard_Setup::get_instance();
189 | $dashboard->add_admin_notice();
190 |
191 | $upsells = get_option( $this->theme['theme-slug'] . '_theme_upsells', false );
192 | if ( $upsells ) {
193 | add_filter( 'epsilon_upsell_control_display', '__return_false' );
194 | }
195 | }
196 |
197 | /**
198 | * Separate setup from init
199 | *
200 | * @param array $setup
201 | *
202 | * @return array
203 | */
204 | public function epsilon_dashboard( $setup = array() ) {
205 | $dashboard = new Epsilon_Dashboard_Setup();
206 |
207 | $setup['actions'] = $dashboard->get_actions();
208 | $setup['tabs'] = $dashboard->get_tabs( $setup );
209 | $setup['plugins'] = $dashboard->get_plugins();
210 | $setup['privacy'] = $dashboard->get_privacy_options();
211 |
212 | $setup['edd'] = $dashboard->get_edd( $setup );
213 |
214 | $tab = get_user_meta( get_current_user_id(), 'epsilon_active_tab', true );
215 |
216 | $setup['activeTab'] = ! empty( $tab ) ? absint( $tab ) : 0;
217 |
218 | return $setup;
219 | }
220 |
221 | /**
222 | * Add steps to onboarding
223 | *
224 | * @param array $setup
225 | *
226 | * @return array
227 | */
228 | public function epsilon_onboarding( $setup = array() ) {
229 | $dashboard = new Epsilon_Dashboard_Setup();
230 |
231 | $setup['steps'] = $dashboard->get_steps();
232 | $setup['plugins'] = $dashboard->get_plugins( true );
233 | $setup['privacy'] = $dashboard->get_privacy_options();
234 |
235 | return $setup;
236 | }
237 |
238 |
239 | }
240 |
--------------------------------------------------------------------------------
/assets/img/icon/Icon-2.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/assets/img/icon/Icon.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------