├── assets
├── css
│ ├── dynamic.css
│ ├── beko_admin.css
│ ├── flaticon.css
│ ├── slick.css
│ ├── owl.carousel.min.css
│ └── magnific-popup.css
├── img
│ ├── logo.png
│ ├── banner.jpg
│ ├── body_bg.png
│ ├── favicon.png
│ ├── about_img.png
│ ├── banner_bg.png
│ ├── event_bg.png
│ ├── pricing_bg.png
│ ├── shape_text.png
│ ├── latest_war_img.jpg
│ ├── latest_war_img_1.jpg
│ └── live_stareams_bg.png
├── fonts
│ ├── Flaticon.eot
│ ├── Flaticon.ttf
│ ├── themify.eot
│ ├── themify.ttf
│ ├── themify.woff
│ ├── Flaticon.woff
│ ├── Flaticon.woff2
│ ├── FontAwesome.otf
│ ├── fontawesome-webfont.eot
│ ├── fontawesome-webfont.ttf
│ ├── fontawesome-webfont.woff
│ └── fontawesome-webfont.woff2
└── js
│ ├── jquery.counterup.min.js
│ ├── beko_admin.js
│ ├── post-likes.js
│ ├── jquery.instagramFeed.min.js
│ ├── jquery.nice-select.min.js
│ ├── custom.js
│ ├── jquery.ajaxchimp.min.js
│ └── waypoints.min.js
├── screenshot.png
├── inc
├── demo
│ ├── screen-image.jpg
│ ├── css
│ │ └── demo-import.css
│ ├── beko-widgets.wie
│ ├── beko-customizer.dat
│ └── demo-import.php
├── elementor-widgets
│ ├── assets
│ │ ├── css
│ │ │ ├── elementor-edit.css
│ │ │ └── owl.carousel.css
│ │ └── js
│ │ │ ├── beko-companion-main.js
│ │ │ ├── jquery.counterup.min.js
│ │ │ ├── map-custom.js
│ │ │ ├── jquery.ajaxchimp.min.js
│ │ │ └── waypoints.min.js
│ └── widgets
│ │ ├── partners.php
│ │ └── contact.php
├── class-epsilon-dashboard-autoloader.php
├── beko-metabox.php
├── widgets
│ ├── beko-widgets-reg.php
│ ├── beko-instagram.php
│ ├── beko-recent-post-thumb.php
│ ├── beko-newsletter-widget.php
│ ├── instagram-api.php
│ └── beko-social-links.php
├── libraries
│ └── class-epsilon-init-notify-system.php
├── customizer
│ ├── fields
│ │ └── sections.php
│ ├── customizer.php
│ └── js
│ │ └── customizer.js
├── wp_bootstrap_pagination.php
├── classes
│ └── Class-Enqueue.php
├── support-functions.php
├── class-epsilon-init-dashboard.php
└── beko-breadcrumbs.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
├── readme.txt
├── footer.php
├── single.php
└── functions.php
/assets/css/dynamic.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/screenshot.png
--------------------------------------------------------------------------------
/assets/img/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/img/logo.png
--------------------------------------------------------------------------------
/assets/img/banner.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/img/banner.jpg
--------------------------------------------------------------------------------
/assets/img/body_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/img/body_bg.png
--------------------------------------------------------------------------------
/assets/img/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/img/favicon.png
--------------------------------------------------------------------------------
/assets/fonts/Flaticon.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/fonts/Flaticon.eot
--------------------------------------------------------------------------------
/assets/fonts/Flaticon.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/fonts/Flaticon.ttf
--------------------------------------------------------------------------------
/assets/fonts/themify.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/fonts/themify.eot
--------------------------------------------------------------------------------
/assets/fonts/themify.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/fonts/themify.ttf
--------------------------------------------------------------------------------
/assets/fonts/themify.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/fonts/themify.woff
--------------------------------------------------------------------------------
/assets/img/about_img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/img/about_img.png
--------------------------------------------------------------------------------
/assets/img/banner_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/img/banner_bg.png
--------------------------------------------------------------------------------
/assets/img/event_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/img/event_bg.png
--------------------------------------------------------------------------------
/assets/img/pricing_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/img/pricing_bg.png
--------------------------------------------------------------------------------
/assets/img/shape_text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/img/shape_text.png
--------------------------------------------------------------------------------
/inc/demo/screen-image.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/inc/demo/screen-image.jpg
--------------------------------------------------------------------------------
/assets/fonts/Flaticon.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/fonts/Flaticon.woff
--------------------------------------------------------------------------------
/assets/fonts/Flaticon.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/fonts/Flaticon.woff2
--------------------------------------------------------------------------------
/assets/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/assets/img/latest_war_img.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/img/latest_war_img.jpg
--------------------------------------------------------------------------------
/assets/img/latest_war_img_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/img/latest_war_img_1.jpg
--------------------------------------------------------------------------------
/assets/img/live_stareams_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/img/live_stareams_bg.png
--------------------------------------------------------------------------------
/assets/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/assets/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/assets/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/assets/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/beko/master/assets/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/inc/elementor-widgets/assets/css/elementor-edit.css:
--------------------------------------------------------------------------------
1 | .elementor-choices-label i {
2 | font-size: 18px !important;
3 | padding: 5px 0;
4 | }
--------------------------------------------------------------------------------
/assets/css/beko_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/beko-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-theme-dashboard"]
2 | path = inc/libraries/epsilon-theme-dashboard
3 | url = https://github.com/MachoThemes/epsilon-theme-dashboard
4 | [submodule "inc/libraries/epsilon-framework"]
5 | path = inc/libraries/epsilon-framework
6 | url = https://github.com/MachoThemes/epsilon-framework
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 | Address : Your address goes\r\n here, your demo address.\r\n Bangladesh.<\/p>\r\n
Email : info@colorlib.com<\/p>","filter":true,"visual":true}},"footer-3":{"nav_menu-3":{"title":"Important Links","nav_menu":16}},"footer-4":{"beko_newsletter-3":{"title":"Newsletter","actionurl":"https:\/\/spondonit.us12.list-manage.com\/subscribe\/post?u=1462626880ade1ac87bd9c93a&id=92a4423d01","desc":"Heaven fruitful doesn't over lesser in days. Appear creeping seasons deve behold bearing days open"}}}
--------------------------------------------------------------------------------
/templates/404.php:
--------------------------------------------------------------------------------
1 |
16 |
17 |
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', 'beko' ),
8 | 'post_types'=> array( 'portfolio' ),
9 | 'context' => 'side',
10 | 'priority' => 'high',
11 | 'autosave' => 'false',
12 | 'fields' => array(
13 | array(
14 | 'id' => $beko_prefix . 'project_start_time',
15 | 'name' => esc_html__( 'Project Start Time', 'beko' ),
16 | 'type' => 'time',
17 | 'js_options' => array(
18 | 'stepMinute' => 10,
19 | 'controlType' => 'select'
20 | ),
21 | ),
22 | array(
23 | 'id' => $beko_prefix . 'project_start_date',
24 | 'type' => 'date',
25 | 'name' => esc_html__( 'Project Start Date', 'beko' ),
26 | 'js_options' => array(
27 | 'dateFormat' => 'DD, M dd, yy ',
28 | 'showButtonPanel' => false,
29 | ),
30 | ),
31 | array(
32 | 'id' => $beko_prefix . 'project_end_time',
33 | 'name' => esc_html__( 'Project End Time', 'beko' ),
34 | 'type' => 'time',
35 | 'js_options' => array(
36 | 'stepMinute' => 10,
37 | 'controlType' => 'select'
38 | ),
39 | ),
40 | array(
41 | 'id' => $beko_prefix . 'project_end_date',
42 | 'type' => 'date',
43 | 'name' => esc_html__( 'Project End Date', 'beko' ),
44 | 'js_options' => array(
45 | 'dateFormat' => 'DD, M dd, yy ',
46 | 'showButtonPanel' => false,
47 | ),
48 | ),
49 | array(
50 | 'id' => $beko_prefix . 'project_location',
51 | 'type' => 'text',
52 | 'name' => esc_html__( 'Project Location', 'beko' ),
53 | 'placeholder' => esc_html__( 'Project Location', 'beko' ),
54 | ),
55 | ),
56 | );
57 |
58 |
59 | return $meta_boxes;
60 | }
61 | add_filter( 'rwmb_meta_boxes', 'beko_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 | }
--------------------------------------------------------------------------------
/inc/widgets/beko-widgets-reg.php:
--------------------------------------------------------------------------------
1 | esc_html__('Sidebar widgets', 'beko'),
21 | 'description' => esc_html__('Place widgets in sidebar widgets area.', 'beko'),
22 | 'id' => 'sidebar_widgets',
23 | 'before_widget' => '',
25 | 'before_title' => '
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', 'beko' ), $plugin_name );
56 | // Translators: %s is the plugin name.
57 | $arr['description'] = sprintf( __( 'Please install %s in order to create the demo content.', 'beko' ), $plugin_name );
58 |
59 | if ( $arr['installed'] ) {
60 | // Translators: %s is the plugin name
61 | $arr['title'] = sprintf( __( 'Activate: %s', 'beko' ), $plugin_name );
62 | // Translators: %s is the plugin name
63 | $arr['description'] = sprintf( __( 'Please activate %s in order to create the demo content.', 'beko' ), $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/demo/demo-import.php:
--------------------------------------------------------------------------------
1 | ';
18 |
19 | return array(
20 | array(
21 | 'import_file_name' => 'Beko Demo',
22 | 'local_import_file' => BEKO_DIR_PATH_INC .'demo/beko-demo.xml',
23 | 'local_import_widget_file' => BEKO_DIR_PATH_INC .'demo/beko-widgets.wie',
24 | 'import_customizer_file_url' => BEKO_DIR_INC . 'demo/beko-customizer.dat',
25 | 'import_notice' => $demoImg,
26 | ),
27 | );
28 | }
29 | add_filter( 'pt-ocdi/import_files', 'beko_import_files' );
30 |
31 | // demo import setup
32 | function beko_after_import_setup() {
33 | // Assign menus to their locations.
34 | $main_menu = get_term_by( 'name', 'Main Menu', 'nav_menu' );
35 | $important_links = get_term_by( 'name', 'Important Links', 'nav_menu' );
36 |
37 | set_theme_mod( 'nav_menu_locations', array(
38 | 'primary-menu' => $main_menu->term_id,
39 | 'important-links' => $important_links->term_id
40 | )
41 | );
42 |
43 | // Assign front page and posts page (blog page).
44 | $front_page_id = get_page_by_title( 'Homepage' );
45 | $blog_page_id = get_page_by_title( 'Blog' );
46 |
47 | update_option( 'show_on_front', 'page' );
48 | update_option( 'page_on_front', $front_page_id->ID );
49 | update_option( 'page_for_posts', $blog_page_id->ID );
50 | update_option( 'beko_demodata_import', 'yes' );
51 |
52 | }
53 | add_action( 'pt-ocdi/after_import', 'beko_after_import_setup' );
54 |
55 | //disable the branding notice after successful demo import
56 | add_filter( 'pt-ocdi/disable_pt_branding', '__return_true' );
57 |
58 | //change the location, title and other parameters of the plugin page
59 | function beko_import_plugin_page_setup( $default_settings ) {
60 | $default_settings['parent_slug'] = 'themes.php';
61 | $default_settings['page_title'] = esc_html__( 'One Click Demo Import' , 'beko' );
62 | $default_settings['menu_title'] = esc_html__( 'Import Demo Data' , 'beko' );
63 | $default_settings['capability'] = 'import';
64 | $default_settings['menu_slug'] = 'beko-demo-import';
65 |
66 | return $default_settings;
67 | }
68 | add_filter( 'pt-ocdi/plugin_page_setup', 'beko_import_plugin_page_setup' );
69 |
70 | // Enqueue scripts
71 | function beko_demo_import_custom_scripts(){
72 |
73 |
74 | if( isset( $_GET['page'] ) && $_GET['page'] == 'beko-demo-import' ){
75 | // style
76 | wp_enqueue_style( 'beko-demo-import', BEKO_DIR_INC . 'demo/css/demo-import.css', array(), '1.0', false );
77 | }
78 |
79 |
80 | }
81 | add_action( 'admin_enqueue_scripts', 'beko_demo_import_custom_scripts' );
82 |
83 |
84 |
85 | ?>
--------------------------------------------------------------------------------
/inc/customizer/fields/sections.php:
--------------------------------------------------------------------------------
1 | 'beko_theme_options_panel',
22 | 'args' => array(
23 | 'priority' => 0,
24 | 'capability' => 'edit_theme_options',
25 | 'theme_supports' => '',
26 | 'title' => esc_html__( 'Theme Options', 'beko' ),
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' => 'beko_general_section',
44 | 'args' => array(
45 | 'title' => esc_html__( 'General', 'beko' ),
46 | 'panel' => 'beko_theme_options_panel',
47 | 'priority' => 1,
48 | ),
49 | ),
50 |
51 | /**
52 | * Header Section
53 | */
54 | array(
55 | 'id' => 'beko_header_section',
56 | 'args' => array(
57 | 'title' => esc_html__( 'Header', 'beko' ),
58 | 'panel' => 'beko_theme_options_panel',
59 | 'priority' => 2,
60 | ),
61 | ),
62 |
63 | /**
64 | * Blog Section
65 | */
66 | array(
67 | 'id' => 'beko_blog_section',
68 | 'args' => array(
69 | 'title' => esc_html__( 'Blog', 'beko' ),
70 | 'panel' => 'beko_theme_options_panel',
71 | 'priority' => 3,
72 | ),
73 | ),
74 |
75 |
76 |
77 | /**
78 | * 404 Page Section
79 | */
80 | array(
81 | 'id' => 'beko_fof_section',
82 | 'args' => array(
83 | 'title' => esc_html__( '404 Page', 'beko' ),
84 | 'panel' => 'beko_theme_options_panel',
85 | 'priority' => 6,
86 | ),
87 | ),
88 |
89 | /**
90 | * Footer Section
91 | */
92 | array(
93 | 'id' => 'beko_footer_section',
94 | 'args' => array(
95 | 'title' => esc_html__( 'Footer Page', 'beko' ),
96 | 'panel' => 'beko_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/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( 'beko_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', 'beko' ) . ' ';
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', 'beko') . ' ';
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%}
--------------------------------------------------------------------------------
/header.php:
--------------------------------------------------------------------------------
1 |
2 | >
3 |
4 |
5 |
6 |
7 |
12 |
13 | >
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
25 |
28 |
29 |
30 |
31 | 'primary-menu',
35 | 'theme_location' => 'primary-menu',
36 | 'menu_id' => 'menu-main-menu',
37 | 'container_class'=> 'collapse navbar-collapse main-menu-item',
38 | 'container_id' => 'navbarSupportedContent',
39 | 'menu_class' => 'navbar-nav',
40 | 'walker' => new beko_bootstrap_navwalker,
41 | 'depth' => 3
42 | ));
43 | }
44 |
45 | // Header Button
46 | if( beko_opt( 'beko_header_btn' ) == 1 ){
47 | $btn_lbl = !empty( beko_opt( 'header_btn_label' ) ) ? beko_opt( 'header_btn_label' ) : '';
48 | $btn_url = !empty( beko_opt( 'booking_btn_url' ) ) ? beko_opt( 'booking_btn_url' ) : '';
49 | ?>
50 |
51 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
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', 'beko').'
',
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/beko-instagram.php:
--------------------------------------------------------------------------------
1 | esc_html__('Beko Instagram Photo Widget','beko'),
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', 'beko' ), )
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', 'beko' ),
33 | 'priority' => 1,
34 | 'section' => 'beko_footer_section',
35 | 'settings' => 'footer_logo',
36 | ) )
37 | );
38 |
39 | // Include files
40 | include( BEKO_DIR_PATH_INC. 'customizer/fields/sections.php' );
41 | include( BEKO_DIR_PATH_INC. 'customizer/fields/fields.php' );
42 |
43 | // Change panel to theme option
44 | $wp_customize->get_section( 'title_tagline' )->panel = 'beko_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 beko_customizer_js(){
56 |
57 | wp_enqueue_script( 'beko-customizer', BEKO_DIR_URI.'inc/customizer/js/customizer.js', array('customize-controls'), '1.0', true );
58 |
59 |
60 | $about_page = self::beko_get_page_name( 'page-about.php' );
61 | $contact_page = self::beko_get_page_name( 'page-contact.php' );
62 |
63 | wp_localize_script( 'beko-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 beko_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 beko_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 | ?>
--------------------------------------------------------------------------------
/readme.txt:
--------------------------------------------------------------------------------
1 | === Colorlib ===
2 | Contributors: Colorlib
3 | Requires at least: WordPress 4.9
4 | Tested : WordPress 5.4.1
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: beko
10 |
11 | == Description ==
12 | Beko 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. Beko 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 beko 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 |
--------------------------------------------------------------------------------
/assets/js/custom.js:
--------------------------------------------------------------------------------
1 | (function ($) {
2 | "use strict";
3 |
4 | $(document).ready(function () {
5 | $('select').niceSelect();
6 | });
7 | // menu fixed js code
8 | $(window).scroll(function () {
9 | var window_top = $(window).scrollTop() + 1;
10 | if (window_top > 50) {
11 | $('.main_menu').addClass('menu_fixed animated fadeInDown');
12 | } else {
13 | $('.main_menu').removeClass('menu_fixed animated fadeInDown');
14 | }
15 | });
16 | $('.grid').masonry({
17 | itemSelector: '.grid-item',
18 | columnWidth: '.grid-sizer',
19 | percentPosition: true
20 | });
21 |
22 | var client_logo = $('.client_logo_slider')
23 | if (client_logo.length) {
24 | client_logo.owlCarousel({
25 | items: 6,
26 | loop: true,
27 | responsive: {
28 | 0: {
29 | items: 3,
30 | margin: 15,
31 | },
32 | 600: {
33 | items: 3,
34 | margin: 15,
35 | },
36 | 991: {
37 | items: 5,
38 | margin: 15,
39 | },
40 | 1200: {
41 | items: 6,
42 | margin: 15,
43 | }
44 | }
45 | });
46 | }
47 |
48 |
49 | $('.img-gal, .popup-youtube').magnificPopup({
50 | type: 'image',
51 | gallery: {
52 | enabled: true
53 | }
54 | });
55 | $('.popup-youtube').magnificPopup({
56 | type: 'iframe',
57 | });
58 |
59 | var client_logo = $('.client_logo_slider')
60 | if (client_logo.length) {
61 | client_logo.owlCarousel({
62 | items: 6,
63 | loop: true,
64 | responsive: {
65 | 0: {
66 | items: 3,
67 | margin: 15,
68 | },
69 | 600: {
70 | items: 3,
71 | margin: 15,
72 | },
73 | 991: {
74 | items: 5,
75 | margin: 15,
76 | },
77 | 1200: {
78 | items: 6,
79 | margin: 15,
80 | }
81 | }
82 | });
83 | }
84 |
85 | var review = $('.live_stareams_slide');
86 | if (review.length) {
87 | review.owlCarousel({
88 | items: 2,
89 | loop: true,
90 | dots: false,
91 | autoplay: true,
92 | autoplayHoverPause: true,
93 | autoplayTimeout: 5000,
94 | nav: true,
95 | navText: [
96 | '
',
97 | '
'
98 | ],
99 | margin: 15,
100 | responsive: {
101 | 0: {
102 | items: 1,
103 | margin: 15,
104 | },
105 | 600: {
106 | items: 1,
107 | margin: 15,
108 | },
109 | 991: {
110 | items: 1,
111 | margin: 15,
112 | },
113 | 1200: {
114 | items: 2,
115 | margin: 15,
116 | }
117 | }
118 | });
119 | }
120 |
121 | function makeTimer() {
122 | var warDate = $('.upcomming_war_counter').data('war-date');
123 | var endTime = new Date( warDate );
124 | endTime = (Date.parse(endTime) / 1000);
125 |
126 | var now = new Date();
127 | now = (Date.parse(now) / 1000);
128 |
129 | var timeLeft = endTime - now;
130 |
131 | var days = Math.floor(timeLeft / 86400);
132 | var hours = Math.floor((timeLeft - (days * 86400)) / 3600);
133 |
134 | if (hours < "10") {
135 | hours = "0" + hours;
136 | }
137 |
138 | $("#days").html(days + "
Days ");
139 | $("#hours").html(hours + "
Hours ");
140 |
141 | }
142 |
143 | setInterval(function () {
144 | makeTimer();
145 | }, 1000);
146 |
147 | //------- Mailchimp js --------//
148 | function mailChimp() {
149 | $('#mc_embed_signup').find('form').ajaxChimp();
150 | }
151 | mailChimp();
152 |
153 |
154 | /*-------------------------------------
155 | Instagram Photos
156 | -------------------------------------*/
157 | function cp_instagram_photos() {
158 | $('.cp-instagram-photos').each(function(){
159 | $.instagramFeed({
160 | 'username': $(this).data('username'),
161 | 'container': $(this),
162 | 'display_profile': false,
163 | 'display_biography': false,
164 | 'items': $(this).data('items'),
165 | 'margin': 0
166 | });
167 | console.log( $(this) );
168 | });
169 |
170 | }
171 | cp_instagram_photos();
172 |
173 |
174 |
175 | }(jQuery));
--------------------------------------------------------------------------------
/footer.php:
--------------------------------------------------------------------------------
1 | ', '', date( 'Y' ) );
14 | $copyRight = !empty( beko_opt( 'beko_footer_copyright_text' ) ) ? beko_opt( 'beko_footer_copyright_text' ) : $copyText;
15 | $footer_logo = get_theme_mod( 'footer_logo' );
16 | $footer_logo_src = wp_get_attachment_image_src( $footer_logo, 'beko_logo_145x32' );
17 | $footer_class = beko_opt( 'beko_footer_widget_toggle' ) == 1 ? ' footer-area' : ' no_widget';
18 | $black_class = !is_page( array( 'Homepage', 'Fighter', 'Team Matches' ) ) ? ' black' : '';
19 | ?>
20 |
21 |
22 |
23 |
62 |
63 |
91 |
92 |
93 |
94 |
95 |
96 |
--------------------------------------------------------------------------------
/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 beko_post_cats();
37 | echo '';
38 | }
39 |
40 | echo '';
41 | echo beko_posted_comments();
42 | echo ' ';
43 |
44 | ?>
45 |
46 | '
' . __( 'Pages:', 'beko' ),
57 | 'after' => '
',
58 | )
59 | );
60 | // Post visitor count
61 | beko_set_post_views( get_the_ID() );
62 | endwhile;
63 | endif;
64 | if( has_tag() ){
65 | echo '
'.esc_html__( 'Tags:', 'beko' ).' ';
66 | echo beko_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 | start_controls_section(
48 | 'partners_content',
49 | [
50 | 'label' => __( 'Our Partners', 'beko' ),
51 | ]
52 | );
53 |
54 | $this->add_control(
55 | 'partner_slider', [
56 | 'label' => __( 'Create New', 'beko' ),
57 | 'type' => Controls_Manager::REPEATER,
58 | 'title_field' => '{{{ client_name }}}',
59 | 'fields' => [
60 | [
61 | 'name' => 'client_logo',
62 | 'label' => __( 'Client Logo', 'beko' ),
63 | 'type' => Controls_Manager::MEDIA,
64 | ],
65 | [
66 | 'name' => 'client_name',
67 | 'label' => __( 'Client Name', 'beko' ),
68 | 'type' => Controls_Manager::TEXT,
69 | 'default' => __('Creative', 'beko')
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'], 'beko_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.', 'beko' ), )
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 | term_id ) ) ) . '">' .esc_html( $cat->name ) . '';
26 | }
27 |
28 | }
29 |
30 | return $categories;
31 |
32 | }
33 |
34 |
35 |
36 | // Post Tags
37 | function beko_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( 'beko_social' ) ) {
58 | function beko_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 = beko_opt('beko_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 beko_contact_form7_shortcode(){
115 |
116 | // contact form list
117 | $getforms['cs'] = __( 'Custom Shortcode', 'beko' );
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.', 'beko' );
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 ' , 'beko' ), '', ' ' );
144 | }
145 |
146 | $data = [ $getforms, $Instruction ];
147 |
148 | return $data;
149 |
150 | }
151 |
152 |
153 | // Popular post count
154 | function beko_get_post_views($postID){
155 | $count_key = 'beko_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 beko_set_post_views($postID) {
165 | $count_key = 'beko_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 beko_get_post_cat(){
181 | $cats = get_categories();
182 |
183 | $categories = array( 'na' => esc_html__( 'Select post category', 'beko' ) );
184 | foreach ( $cats as $value ) {
185 |
186 | $categories[$value->slug] = $value->name;
187 |
188 | }
189 |
190 | return $categories;
191 | }
192 | ?>
--------------------------------------------------------------------------------
/templates/home-header.php:
--------------------------------------------------------------------------------
1 |
15 |
16 |
--------------------------------------------------------------------------------
/inc/widgets/instagram-api.php:
--------------------------------------------------------------------------------
1 | access_token = beko_opt( 'beko_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 | ?>
--------------------------------------------------------------------------------
/inc/class-epsilon-init-dashboard.php:
--------------------------------------------------------------------------------
1 | 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 | * Beko instance
74 | *
75 | * @param array $theme
76 | *
77 | * @return Beko
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.', 'beko' ),
144 | array(
145 | 'Beko',
146 | '',
147 | ' ',
148 | )
149 | );
150 |
151 | $notifications = Epsilon_Notifications::get_instance();
152 | $notifications->add_notice(
153 | array(
154 | 'id' => 'beko_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( 'beko_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 |
--------------------------------------------------------------------------------
/inc/customizer/js/customizer.js:
--------------------------------------------------------------------------------
1 | (function( $ , api){
2 |
3 | // Customizer about page redirect
4 | api.section( 'beko_fof_section' , function( section ){
5 |
6 | section.expanded.bind( function( isExpanded ){
7 |
8 | if( isExpanded ){
9 | api.previewer.previewUrl.set( api.settings.url.home+'/maybe404page' );
10 | }else{
11 | api.previewer.previewUrl.set( api.settings.url.home );
12 | }
13 |
14 | } )
15 |
16 | } );
17 |
18 | // Customizer about page redirect
19 | api.section( 'beko_about_section' , function( section ){
20 |
21 | section.expanded.bind( function( isExpanded ){
22 |
23 | if( isExpanded ){
24 | api.previewer.previewUrl.set( api.settings.url.home+customizerdata.about_page );
25 | }else{
26 | api.previewer.previewUrl.set( api.settings.url.home );
27 | }
28 |
29 |
30 |
31 | } )
32 |
33 | } );
34 |
35 | // Customizer blog page redirect
36 | api.section( 'beko_blog_section' , function( section ){
37 |
38 | section.expanded.bind( function( isExpanded ){
39 |
40 | if( isExpanded ){
41 | api.previewer.previewUrl.set( customizerdata.blog_page );
42 | }else{
43 | api.previewer.previewUrl.set( api.settings.url.home );
44 | }
45 |
46 |
47 |
48 | } )
49 |
50 | } );
51 |
52 |
53 | // Customizer Portfolio page redirect
54 | api.section( 'beko_portfolio_section' , function( section ){
55 |
56 | section.expanded.bind( function( isExpanded ){
57 |
58 | if( isExpanded ){
59 | api.previewer.previewUrl.set( customizerdata.portfolio_page );
60 | }else{
61 | api.previewer.previewUrl.set( api.settings.url.home );
62 | }
63 |
64 |
65 |
66 | } )
67 |
68 | } );
69 |
70 | // Customizer contact page redirect
71 | api.section( 'beko_contact_section' , function( section ){
72 |
73 | section.expanded.bind( function( isExpanded ){
74 |
75 | // Customizer contact form seclector
76 | var customshortcodefield = $('#customize-control-beko_contact_custom_formshortcode'),
77 | selector = $('#_customize-input-beko_contact_formshortcode');
78 |
79 | if( selector.val() != 'cs' ){
80 | customshortcodefield.hide();
81 | }
82 |
83 |
84 | // redirect url
85 | if( isExpanded ){
86 |
87 | api.previewer.previewUrl.set( api.settings.url.home+customizerdata.contact_page );
88 | }else{
89 | api.previewer.previewUrl.set( api.settings.url.home );
90 | }
91 |
92 |
93 | // Contact form select change event
94 | selector.on( 'change', function(){
95 |
96 | if( $(this).val() !== 'cs' ){
97 |
98 | customshortcodefield.hide();
99 | }else{
100 | customshortcodefield.show();
101 |
102 | }
103 |
104 | } );
105 |
106 |
107 | } );
108 |
109 |
110 | } );
111 |
112 | // General section
113 | api.section( 'beko_general_section' , function( section ){
114 |
115 | section.expanded.bind( function( isExpanded ){
116 |
117 |
118 | // Preloader option show/hide
119 |
120 | var $preloader = $('#beko_preloader_toggle'),
121 | $preloaderbg = $( '#customize-control-beko_preloader_bg_color' ),
122 | $preloadercolor = $( '#customize-control-beko_preloader_color' );
123 |
124 |
125 | // Default
126 |
127 | if( $preloader.is( ':checked' ) ){
128 | $preloaderbg.show('slow');
129 | $preloadercolor.show('slow');
130 | }else{
131 | $preloaderbg.hide('slow');
132 | $preloadercolor.hide('slow');
133 | }
134 |
135 |
136 | // on click
137 | $preloader.on( 'click', function(){
138 |
139 | var $this = $( this );
140 |
141 | if( $this.is(':checked') ){
142 | $preloaderbg.show('slow');
143 | $preloadercolor.show('slow');
144 | }else{
145 | $preloaderbg.hide('slow');
146 | $preloadercolor.hide('slow');
147 | }
148 |
149 |
150 | } );
151 |
152 | // Back to top option show/hide
153 |
154 | var $backtotop = $( '#beko_backtotop_btn' ),
155 | $backtotopbg = $( '#customize-control-beko_backtotop_btn_bg_color' ),
156 | $backtotophoverbg = $( '#customize-control-beko_backtotop_btn_hover_bg_color' );
157 |
158 | // Default
159 | if( $backtotop.is(':checked') ){
160 | $backtotopbg.show('slow');
161 | $backtotophoverbg.show('slow');
162 | }else{
163 | $backtotopbg.hide('slow');
164 | $backtotophoverbg.hide('slow');
165 | }
166 | // On click event
167 | $backtotop.on( 'click', function(){
168 |
169 | var $this = $( this );
170 |
171 | if( $this.is(':checked') ){
172 | $backtotopbg.show('slow');
173 | $backtotophoverbg.show('slow');
174 | }else{
175 | $backtotopbg.hide('slow');
176 | $backtotophoverbg.hide('slow');
177 | }
178 |
179 |
180 | } );
181 |
182 |
183 |
184 | } );
185 |
186 |
187 | } );
188 |
189 | // Footer section
190 | api.section( 'beko_footer_section' , function( section ){
191 |
192 | section.expanded.bind( function( isExpanded ){
193 |
194 |
195 | // Preloader option show/hide
196 |
197 | var $widget_toggle = $('#beko_footer_widget_toggle');
198 |
199 |
200 | // Default
201 |
202 | if( $widget_toggle.is( ':checked' ) ){
203 | $widget_toggle.show('slow');
204 | }else{
205 | $widget_toggle.hide('slow');
206 | }
207 |
208 | // on click
209 | $widget_toggle.on( 'click', function(){
210 |
211 | var $this = $( this );
212 |
213 | if( $this.is(':checked') ){
214 | $widget_toggle.show('slow');
215 | }else{
216 | $widget_toggle.hide('slow');
217 | }
218 |
219 |
220 | } );
221 |
222 |
223 | } );
224 |
225 |
226 | } );
227 |
228 |
229 |
230 | })( jQuery, wp.customize );
--------------------------------------------------------------------------------
/inc/beko-breadcrumbs.php:
--------------------------------------------------------------------------------
1 | '',
26 | 'breadcrumbs_classes' => esc_html( 'breadcrumb' ),
27 | 'home_title' => esc_html__( 'Home', 'beko' )
28 | );
29 | $args = apply_filters( 'beko_breadcrumbs_args', wp_parse_args( $args, $defaults ) );
30 |
31 | $args_el = array();
32 |
33 | if( $args['breadcrumbs_id'] ){
34 |
35 | $args_el[] = 'id="'.esc_attr( $args['breadcrumbs_id'] ).'"';
36 | }
37 |
38 | if( $args['breadcrumbs_classes'] ){
39 |
40 | $args_el[] = 'class="'.esc_attr( $args['breadcrumbs_classes'] ).'"';
41 |
42 | }
43 |
44 | /*
45 | * Begin Markup
46 | */
47 |
48 | // Open the breadcrumbs
49 | $html = '';
50 | $html .= '';
51 | // Add Homepage link (always present)
52 | $html .= ''.esc_html__( 'Home', 'beko' ).' ';
53 | // Post
54 | if ( is_singular( 'post' ) ) {
55 | $category = get_the_category();
56 | $category_values = array_values( $category );
57 | $last_category = end( $category_values );
58 | $cat_parents = rtrim( get_category_parents( $last_category->term_id, true, '' ), ',' );
59 | $cat_parents = explode( ',', $cat_parents );
60 | foreach ( $cat_parents as $parent ) {
61 | $html .= wp_kses_post( ''.$parent.' ' );
62 | }
63 | $html .= '' . esc_html( get_the_title() ) . ' ';
64 | } elseif ( is_singular( 'page' ) ) {
65 | if ( $post->post_parent ) {
66 | $parents = get_post_ancestors( $post->ID );
67 | $parents = array_reverse( $parents );
68 | foreach ( $parents as $parent ) {
69 | $html .= '' . esc_html( get_the_title( $parent ) ) . ' ';
70 | }
71 | }
72 | $html .= ''.esc_html( get_the_title() ).' ';
73 | } elseif ( is_singular( 'attachment' ) ) {
74 | $parent_id = $post->post_parent;
75 | $parent_title = get_the_title( $parent_id );
76 | $parent_permalink = esc_url( get_permalink( $parent_id ) );
77 | $html .= ' ' . esc_attr( $parent_title ) . ' ';
78 | $html .= ' ' . esc_html( get_the_title() ) . ' ';
79 | } elseif ( is_singular() ) {
80 | $post_type = get_post_type();
81 | $post_type_object = get_post_type_object( $post_type );
82 | $post_type_archive = get_post_type_archive_link( $post_type );
83 | $html .= '' . esc_attr( $post_type_object->labels->name ) . ' / ';
84 | $html .= '' . $post->post_title . ' ';
85 |
86 | } elseif ( is_category() ) {
87 | $parent = get_queried_object()->category_parent;
88 | if ( $parent !== 0 ) {
89 | $parent_category = get_category( $parent );
90 | $category_link = get_category_link( $parent );
91 | $html .= '' . esc_attr( $parent_category->name ) . ' ';
92 | }
93 | $html .= '' . single_cat_title( '', false ) . ' ';
94 | } elseif ( is_tag() ) {
95 | $html .= '' . single_tag_title( '', false ) . ' ';
96 | } elseif ( is_author() ) {
97 | $html .= '' . get_queried_object()->display_name . ' ';
98 | } elseif ( is_day() ) {
99 | $html .= '' . get_the_date() . ' ';
100 | } elseif ( is_month() ) {
101 | $html .= '' . get_the_date( 'F Y' ) . ' ';
102 | } elseif ( is_year() ) {
103 | $html .= '' . get_the_date( 'Y' ) . ' ';
104 | } elseif ( is_archive() ) {
105 | $custom_tax_name = get_queried_object()->name;
106 | $html .= '' . esc_attr( $custom_tax_name ) . ' ';
107 | } elseif ( is_search() ) {
108 | $html .= ''.esc_html__('Search results for:','beko') . get_search_query() . ' ';
109 | } elseif ( is_404() ) {
110 | $html .= '' . esc_html__( 'Error 404', 'beko' ) . ' ';
111 | } elseif ( is_home() ) {
112 | $html .= '' . get_the_title( get_option( 'page_for_posts' ) ) . ' ';
113 | }
114 | $html .= ' ';
115 | $html .= ' ';
116 | $html = apply_filters( 'beko_breadcrumbs_filter', $html );
117 |
118 | echo wp_kses_post( $html );
119 |
120 |
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/inc/elementor-widgets/widgets/contact.php:
--------------------------------------------------------------------------------
1 | start_controls_section(
49 | 'contact_info',
50 | [
51 | 'label' => __( 'Contact Info', 'beko' ),
52 | ]
53 | );
54 |
55 | $this->add_control(
56 | 'info', [
57 | 'label' => __( 'Create Contact Info', 'beko' ),
58 | 'type' => Controls_Manager::REPEATER,
59 | 'title_field' => '{{{ label }}}',
60 | 'fields' => [
61 | [
62 | 'name' => 'label',
63 | 'label' => __( 'Contact Info', 'beko' ),
64 | 'label_block' => true,
65 | 'type' => Controls_Manager::TEXT,
66 | 'default' => esc_html__( 'Dhaka, Bangladesh', 'beko' )
67 | ],
68 | [
69 | 'name' => 'desc',
70 | 'label' => __( 'Contact Descriptions', 'beko' ),
71 | 'type' => Controls_Manager::TEXTAREA,
72 | 'default' => esc_html__( 'Write something...', 'beko' )
73 | ],
74 | [
75 | 'name' => 'icon',
76 | 'label' => __( 'Icon', 'beko' ),
77 | 'type' => Controls_Manager::ICON,
78 | 'options' => beko_themify_icon()
79 | ]
80 |
81 | ],
82 | ]
83 | );
84 |
85 | $this->end_controls_section(); // End Contact Info
86 |
87 | // ---------------------------------------- Contact Form ------------------------------
88 | $this->start_controls_section(
89 | 'contact_form',
90 | [
91 | 'label' => __( 'Contact Form', 'beko' ),
92 | ]
93 | );
94 | $this->add_control(
95 | 'contact_form_title',
96 | [
97 | 'label' => esc_html__( 'Contact Form Title', 'beko' ),
98 | 'type' => Controls_Manager::TEXT,
99 | 'label_block' => true,
100 | 'default' => esc_html__('Get in Touch', 'beko')
101 | ]
102 | );
103 | $this->add_control(
104 | 'contact_formshortcode',
105 | [
106 | 'label' => esc_html__( 'Form Shortcode', 'beko' ),
107 | 'type' => Controls_Manager::TEXT,
108 | 'label_block' => true
109 | ]
110 | );
111 | $this->end_controls_section(); // End Contact Form
112 |
113 |
114 | /**
115 | * Style Tab
116 | * ------------------------------ Style ------------------------------
117 | *
118 | */
119 | $this->start_controls_section(
120 | 'style_content_color', [
121 | 'label' => __( 'Style Content Color', 'beko' ),
122 | 'tab' => Controls_Manager::TAB_STYLE,
123 | ]
124 | );
125 |
126 | $this->add_control(
127 | 'color_title', [
128 | 'label' => __( 'Right Text Title Color', 'beko' ),
129 | 'type' => Controls_Manager::COLOR,
130 | 'selectors' => [
131 | '{{WRAPPER}} .contact-info .media-body h3' => 'color: {{VALUE}};',
132 | ],
133 | ]
134 | );
135 | $this->add_control(
136 | 'color_desc', [
137 | 'label' => __( 'Right Text Sub Title Color', 'beko' ),
138 | 'type' => Controls_Manager::COLOR,
139 | 'selectors' => [
140 | '{{WRAPPER}} .contact-info .media-body p' => 'color: {{VALUE}};',
141 | ],
142 | ]
143 | );
144 | $this->add_control(
145 | 'color_icon', [
146 | 'label' => __( 'Icon Color', 'beko' ),
147 | 'type' => Controls_Manager::COLOR,
148 | 'selectors' => [
149 | '{{WRAPPER}} .contact-info__icon i, .contact-info__icon span' => 'color: {{VALUE}};',
150 | ],
151 | ]
152 | );
153 |
154 | $this->end_controls_section();
155 |
156 |
157 | }
158 |
159 | protected function render() {
160 |
161 | $settings = $this->get_settings();
162 |
163 |
164 | ?>
165 |
204 |
205 | esc_html__( 'Add footer social links.', 'beko' ), )
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 | $desc = apply_filters( 'widget_text', $instance['desc'] );
37 | $facebook = apply_filters( 'widget_text', $instance['facebook'] );
38 | $twitter = apply_filters( 'widget_text', $instance['twitter'] );
39 | $linkedin = apply_filters( 'widget_text', $instance['linkedin'] );
40 | $behance = apply_filters( 'widget_text', $instance['behance'] );
41 | $dribbble = apply_filters( 'widget_text', $instance['dribbble'] );
42 |
43 | // mc validation
44 | wp_enqueue_script( 'mc-validate');
45 |
46 | // before and after widget arguments are defined by themes
47 | echo wp_kses_post( $args['before_widget'] );
48 | if ( ! empty( $title ) )
49 | echo wp_kses_post( $args['before_title'] . $title . $args['after_title'] );
50 |
51 |
52 | if( $desc ){
53 | echo '
'.esc_html( $desc ).'
';
54 | } ?>
55 |
56 |
57 |
';
60 | }
61 | if( $twitter ){
62 | echo '
';
63 | }
64 | if( $dribbble ){
65 | echo '
';
66 | }
67 | if( $linkedin ){
68 | echo '
';
69 | }
70 | if( $behance ){
71 | echo '
';
72 | }
73 | ?>
74 |
75 |
76 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 | =0;s={horizontal:{},vertical:{}};f=1;a={};u="waypoints-context-id";p="resize.waypoints";y="scroll.waypoints";v=1;w="waypoints-waypoint-ids";g="waypoint";m="waypoints";o=function(){function t(t){var e=this;this.$element=t;this.element=t[0];this.didResize=false;this.didScroll=false;this.id="context"+f++;this.oldScroll={x:t.scrollLeft(),y:t.scrollTop()};this.waypoints={horizontal:{},vertical:{}};t.data(u,this.id);a[this.id]=this;t.bind(y,function(){var t;if(!(e.didScroll||c)){e.didScroll=true;t=function(){e.doScroll();return e.didScroll=false};return r.setTimeout(t,n[m].settings.scrollThrottle)}});t.bind(p,function(){var t;if(!e.didResize){e.didResize=true;t=function(){n[m]("refresh");return e.didResize=false};return r.setTimeout(t,n[m].settings.resizeThrottle)}})}t.prototype.doScroll=function(){var t,e=this;t={horizontal:{newScroll:this.$element.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.$element.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};if(c&&(!t.vertical.oldScroll||!t.vertical.newScroll)){n[m]("refresh")}n.each(t,function(t,r){var i,o,l;l=[];o=r.newScroll>r.oldScroll;i=o?r.forward:r.backward;n.each(e.waypoints[t],function(t,e){var n,i;if(r.oldScroll<(n=e.offset)&&n<=r.newScroll){return l.push(e)}else if(r.newScroll<(i=e.offset)&&i<=r.oldScroll){return l.push(e)}});l.sort(function(t,e){return t.offset-e.offset});if(!o){l.reverse()}return n.each(l,function(t,e){if(e.options.continuous||t===l.length-1){return e.trigger([i])}})});return this.oldScroll={x:t.horizontal.newScroll,y:t.vertical.newScroll}};t.prototype.refresh=function(){var t,e,r,i=this;r=n.isWindow(this.element);e=this.$element.offset();this.doScroll();t={horizontal:{contextOffset:r?0:e.left,contextScroll:r?0:this.oldScroll.x,contextDimension:this.$element.width(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:r?0:e.top,contextScroll:r?0:this.oldScroll.y,contextDimension:r?n[m]("viewportHeight"):this.$element.height(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};return n.each(t,function(t,e){return n.each(i.waypoints[t],function(t,r){var i,o,l,s,f;i=r.options.offset;l=r.offset;o=n.isWindow(r.element)?0:r.$element.offset()[e.offsetProp];if(n.isFunction(i)){i=i.apply(r.element)}else if(typeof i==="string"){i=parseFloat(i);if(r.options.offset.indexOf("%")>-1){i=Math.ceil(e.contextDimension*i/100)}}r.offset=o-e.contextOffset+e.contextScroll-i;if(r.options.onlyOnScroll&&l!=null||!r.enabled){return}if(l!==null&&l<(s=e.oldScroll)&&s<=r.offset){return r.trigger([e.backward])}else if(l!==null&&l>(f=e.oldScroll)&&f>=r.offset){return r.trigger([e.forward])}else if(l===null&&e.oldScroll>=r.offset){return r.trigger([e.forward])}})})};t.prototype.checkEmpty=function(){if(n.isEmptyObject(this.waypoints.horizontal)&&n.isEmptyObject(this.waypoints.vertical)){this.$element.unbind([p,y].join(" "));return delete a[this.id]}};return t}();l=function(){function t(t,e,r){var i,o;r=n.extend({},n.fn[g].defaults,r);if(r.offset==="bottom-in-view"){r.offset=function(){var t;t=n[m]("viewportHeight");if(!n.isWindow(e.element)){t=e.$element.height()}return t-n(this).outerHeight()}}this.$element=t;this.element=t[0];this.axis=r.horizontal?"horizontal":"vertical";this.callback=r.handler;this.context=e;this.enabled=r.enabled;this.id="waypoints"+v++;this.offset=null;this.options=r;e.waypoints[this.axis][this.id]=this;s[this.axis][this.id]=this;i=(o=t.data(w))!=null?o:[];i.push(this.id);t.data(w,i)}t.prototype.trigger=function(t){if(!this.enabled){return}if(this.callback!=null){this.callback.apply(this.element,t)}if(this.options.triggerOnce){return this.destroy()}};t.prototype.disable=function(){return this.enabled=false};t.prototype.enable=function(){this.context.refresh();return this.enabled=true};t.prototype.destroy=function(){delete s[this.axis][this.id];delete this.context.waypoints[this.axis][this.id];return this.context.checkEmpty()};t.getWaypointsByElement=function(t){var e,r;r=n(t).data(w);if(!r){return[]}e=n.extend({},s.horizontal,s.vertical);return n.map(r,function(t){return e[t]})};return t}();d={init:function(t,e){var r;if(e==null){e={}}if((r=e.handler)==null){e.handler=t}this.each(function(){var t,r,i,s;t=n(this);i=(s=e.context)!=null?s:n.fn[g].defaults.context;if(!n.isWindow(i)){i=t.closest(i)}i=n(i);r=a[i.data(u)];if(!r){r=new o(i)}return new l(t,r,e)});n[m]("refresh");return this},disable:function(){return d._invoke(this,"disable")},enable:function(){return d._invoke(this,"enable")},destroy:function(){return d._invoke(this,"destroy")},prev:function(t,e){return d._traverse.call(this,t,e,function(t,e,n){if(e>0){return t.push(n[e-1])}})},next:function(t,e){return d._traverse.call(this,t,e,function(t,e,n){if(et.oldScroll.y})},left:function(t){if(t==null){t=r}return h._filter(t,"horizontal",function(t,e){return e.offset<=t.oldScroll.x})},right:function(t){if(t==null){t=r}return h._filter(t,"horizontal",function(t,e){return e.offset>t.oldScroll.x})},enable:function(){return h._invoke("enable")},disable:function(){return h._invoke("disable")},destroy:function(){return h._invoke("destroy")},extendFn:function(t,e){return d[t]=e},_invoke:function(t){var e;e=n.extend({},s.vertical,s.horizontal);return n.each(e,function(e,n){n[t]();return true})},_filter:function(t,e,r){var i,o;i=a[n(t).data(u)];if(!i){return[]}o=[];n.each(i.waypoints[e],function(t,e){if(r(i,e)){return o.push(e)}});o.sort(function(t,e){return t.offset-e.offset});return n.map(o,function(t){return t.element})}};n[m]=function(){var t,n;n=arguments[0],t=2<=arguments.length?e.call(arguments,1):[];if(h[n]){return h[n].apply(null,t)}else{return h.aggregate.call(null,n)}};n[m].settings={resizeThrottle:100,scrollThrottle:30};return i.load(function(){return n[m]("refresh")})})}).call(this);
--------------------------------------------------------------------------------
/inc/elementor-widgets/assets/js/waypoints.min.js:
--------------------------------------------------------------------------------
1 | // Generated by CoffeeScript 1.6.2
2 | /*
3 | jQuery Waypoints - v2.0.3
4 | Copyright (c) 2011-2013 Caleb Troughton
5 | Dual licensed under the MIT license and GPL license.
6 | https://github.com/imakewebthings/jquery-waypoints/blob/master/licenses.txt
7 | */
8 | (function(){var t=[].indexOf||function(t){for(var e=0,n=this.length;e=0;s={horizontal:{},vertical:{}};f=1;a={};u="waypoints-context-id";p="resize.waypoints";y="scroll.waypoints";v=1;w="waypoints-waypoint-ids";g="waypoint";m="waypoints";o=function(){function t(t){var e=this;this.$element=t;this.element=t[0];this.didResize=false;this.didScroll=false;this.id="context"+f++;this.oldScroll={x:t.scrollLeft(),y:t.scrollTop()};this.waypoints={horizontal:{},vertical:{}};t.data(u,this.id);a[this.id]=this;t.bind(y,function(){var t;if(!(e.didScroll||c)){e.didScroll=true;t=function(){e.doScroll();return e.didScroll=false};return r.setTimeout(t,n[m].settings.scrollThrottle)}});t.bind(p,function(){var t;if(!e.didResize){e.didResize=true;t=function(){n[m]("refresh");return e.didResize=false};return r.setTimeout(t,n[m].settings.resizeThrottle)}})}t.prototype.doScroll=function(){var t,e=this;t={horizontal:{newScroll:this.$element.scrollLeft(),oldScroll:this.oldScroll.x,forward:"right",backward:"left"},vertical:{newScroll:this.$element.scrollTop(),oldScroll:this.oldScroll.y,forward:"down",backward:"up"}};if(c&&(!t.vertical.oldScroll||!t.vertical.newScroll)){n[m]("refresh")}n.each(t,function(t,r){var i,o,l;l=[];o=r.newScroll>r.oldScroll;i=o?r.forward:r.backward;n.each(e.waypoints[t],function(t,e){var n,i;if(r.oldScroll<(n=e.offset)&&n<=r.newScroll){return l.push(e)}else if(r.newScroll<(i=e.offset)&&i<=r.oldScroll){return l.push(e)}});l.sort(function(t,e){return t.offset-e.offset});if(!o){l.reverse()}return n.each(l,function(t,e){if(e.options.continuous||t===l.length-1){return e.trigger([i])}})});return this.oldScroll={x:t.horizontal.newScroll,y:t.vertical.newScroll}};t.prototype.refresh=function(){var t,e,r,i=this;r=n.isWindow(this.element);e=this.$element.offset();this.doScroll();t={horizontal:{contextOffset:r?0:e.left,contextScroll:r?0:this.oldScroll.x,contextDimension:this.$element.width(),oldScroll:this.oldScroll.x,forward:"right",backward:"left",offsetProp:"left"},vertical:{contextOffset:r?0:e.top,contextScroll:r?0:this.oldScroll.y,contextDimension:r?n[m]("viewportHeight"):this.$element.height(),oldScroll:this.oldScroll.y,forward:"down",backward:"up",offsetProp:"top"}};return n.each(t,function(t,e){return n.each(i.waypoints[t],function(t,r){var i,o,l,s,f;i=r.options.offset;l=r.offset;o=n.isWindow(r.element)?0:r.$element.offset()[e.offsetProp];if(n.isFunction(i)){i=i.apply(r.element)}else if(typeof i==="string"){i=parseFloat(i);if(r.options.offset.indexOf("%")>-1){i=Math.ceil(e.contextDimension*i/100)}}r.offset=o-e.contextOffset+e.contextScroll-i;if(r.options.onlyOnScroll&&l!=null||!r.enabled){return}if(l!==null&&l<(s=e.oldScroll)&&s<=r.offset){return r.trigger([e.backward])}else if(l!==null&&l>(f=e.oldScroll)&&f>=r.offset){return r.trigger([e.forward])}else if(l===null&&e.oldScroll>=r.offset){return r.trigger([e.forward])}})})};t.prototype.checkEmpty=function(){if(n.isEmptyObject(this.waypoints.horizontal)&&n.isEmptyObject(this.waypoints.vertical)){this.$element.unbind([p,y].join(" "));return delete a[this.id]}};return t}();l=function(){function t(t,e,r){var i,o;r=n.extend({},n.fn[g].defaults,r);if(r.offset==="bottom-in-view"){r.offset=function(){var t;t=n[m]("viewportHeight");if(!n.isWindow(e.element)){t=e.$element.height()}return t-n(this).outerHeight()}}this.$element=t;this.element=t[0];this.axis=r.horizontal?"horizontal":"vertical";this.callback=r.handler;this.context=e;this.enabled=r.enabled;this.id="waypoints"+v++;this.offset=null;this.options=r;e.waypoints[this.axis][this.id]=this;s[this.axis][this.id]=this;i=(o=t.data(w))!=null?o:[];i.push(this.id);t.data(w,i)}t.prototype.trigger=function(t){if(!this.enabled){return}if(this.callback!=null){this.callback.apply(this.element,t)}if(this.options.triggerOnce){return this.destroy()}};t.prototype.disable=function(){return this.enabled=false};t.prototype.enable=function(){this.context.refresh();return this.enabled=true};t.prototype.destroy=function(){delete s[this.axis][this.id];delete this.context.waypoints[this.axis][this.id];return this.context.checkEmpty()};t.getWaypointsByElement=function(t){var e,r;r=n(t).data(w);if(!r){return[]}e=n.extend({},s.horizontal,s.vertical);return n.map(r,function(t){return e[t]})};return t}();d={init:function(t,e){var r;if(e==null){e={}}if((r=e.handler)==null){e.handler=t}this.each(function(){var t,r,i,s;t=n(this);i=(s=e.context)!=null?s:n.fn[g].defaults.context;if(!n.isWindow(i)){i=t.closest(i)}i=n(i);r=a[i.data(u)];if(!r){r=new o(i)}return new l(t,r,e)});n[m]("refresh");return this},disable:function(){return d._invoke(this,"disable")},enable:function(){return d._invoke(this,"enable")},destroy:function(){return d._invoke(this,"destroy")},prev:function(t,e){return d._traverse.call(this,t,e,function(t,e,n){if(e>0){return t.push(n[e-1])}})},next:function(t,e){return d._traverse.call(this,t,e,function(t,e,n){if(et.oldScroll.y})},left:function(t){if(t==null){t=r}return h._filter(t,"horizontal",function(t,e){return e.offset<=t.oldScroll.x})},right:function(t){if(t==null){t=r}return h._filter(t,"horizontal",function(t,e){return e.offset>t.oldScroll.x})},enable:function(){return h._invoke("enable")},disable:function(){return h._invoke("disable")},destroy:function(){return h._invoke("destroy")},extendFn:function(t,e){return d[t]=e},_invoke:function(t){var e;e=n.extend({},s.vertical,s.horizontal);return n.each(e,function(e,n){n[t]();return true})},_filter:function(t,e,r){var i,o;i=a[n(t).data(u)];if(!i){return[]}o=[];n.each(i.waypoints[e],function(t,e){if(r(i,e)){return o.push(e)}});o.sort(function(t,e){return t.offset-e.offset});return n.map(o,function(t){return t.element})}};n[m]=function(){var t,n;n=arguments[0],t=2<=arguments.length?e.call(arguments,1):[];if(h[n]){return h[n].apply(null,t)}else{return h.aggregate.call(null,n)}};n[m].settings={resizeThrottle:100,scrollThrottle:30};return i.load(function(){return n[m]("refresh")})})}).call(this);
--------------------------------------------------------------------------------