Import legacy nurinda.co.id website
This commit is contained in:
1 parent
3f59bb9038
commit
6e21646ac4
13389 files changed
+3246690
No files matched your search
@@ -0,0 +1,331 @@
|
||||
<?php
|
||||
if(!defined("WOOCOMPOSER_VERSION")){
|
||||
define("WOOCOMPOSER_VERSION",'1.0');
|
||||
}
|
||||
if(!class_exists("WooComposer")){
|
||||
class WooComposer{
|
||||
var $module_dir;
|
||||
function __construct()
|
||||
{
|
||||
$this->module_dir = plugin_dir_path( __FILE__ ).'modules/';
|
||||
add_action('admin_enqueue_scripts',array($this,'admin_scripts'));
|
||||
add_action('wp_enqueue_scripts',array($this,'front_scripts'),1);
|
||||
add_action('admin_init',array($this,'generate_shortcode_params'));
|
||||
} /* end constructor */
|
||||
function generate_shortcode_params(){
|
||||
/* Generate param type "woocomposer" */
|
||||
if(defined('WPB_VC_VERSION') && version_compare(WPB_VC_VERSION, 4.8) >= 0) {
|
||||
if(function_exists('vc_add_shortcode_param'))
|
||||
{
|
||||
vc_add_shortcode_param('woocomposer', array($this,'woo_query_builder'), plugins_url("admin/js/mapping.js",__FILE__));
|
||||
vc_add_shortcode_param('product_search', array($this,'woo_product_search'));
|
||||
vc_add_shortcode_param('product_categories', array($this,'woo_product_categories'));
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(function_exists('add_shortcode_param')) {
|
||||
add_shortcode_param('woocomposer', array($this,'woo_query_builder'), plugins_url("admin/js/mapping.js",__FILE__));
|
||||
add_shortcode_param('product_search', array($this,'woo_product_search'));
|
||||
add_shortcode_param('product_categories', array($this,'woo_product_categories'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function woo_query_builder($settings, $value)
|
||||
{
|
||||
$output = $asc = $desc = $post_count = $shortcode_str = $cat_id = '';
|
||||
$labels = isset($settings['labels']) ? $settings['labels'] : '';
|
||||
$pattern = get_shortcode_regex();
|
||||
if($value !== ""){
|
||||
$shortcode = rawurldecode( base64_decode( strip_tags( $value ) ) );
|
||||
preg_match_all("/".$pattern."/",$shortcode,$matches);
|
||||
$shortcode_str = str_replace('"','',str_replace(" ","&",trim($matches[3][0])));
|
||||
}
|
||||
parse_str($shortcode_str, $short_atts);//explode("&",$shortcode_str);
|
||||
if(isset($matches[2][0])): $display_type = $matches[2][0]; else: $display_type = ''; endif;
|
||||
if(!isset($columns)): $columns = '4'; endif;
|
||||
if(!isset($per_page)): $post_count = '12'; else: $post_count = $per_page; endif;
|
||||
if(!isset($number)): $per_page = '12'; else: $post_count = $number; endif;
|
||||
if(!isset($order)): $order = 'asc'; endif;
|
||||
if(!isset($orderby)): $orderby = 'date'; endif;
|
||||
if(!isset($category)): $category = ''; endif;
|
||||
$catObj = get_term_by('name',$category,'product_cat');
|
||||
if(is_object($catObj)){
|
||||
$cat_id = $catObj->term_id;
|
||||
}
|
||||
$param_name = isset($settings['param_name']) ? $settings['param_name'] : '';
|
||||
$type = isset($settings['type']) ? $settings['type'] : '';
|
||||
$class = isset($settings['class']) ? $settings['class'] : '';
|
||||
$module = isset($settings['module']) ? $settings['module'] : '';
|
||||
$displays = array(
|
||||
__("Recent products","ultimate_vc") => "recent_products",
|
||||
__("Featured Products","ultimate_vc") => "featured_products",
|
||||
__("Top Rated Products","ultimate_vc") => "top_rated_products",
|
||||
__("Product Category","ultimate_vc") => "product_category",
|
||||
__("Product Categories","ultimate_vc") => "product_categories",
|
||||
__("Products on Sale","ultimate_vc") => "sale_products",
|
||||
__("Best Selling Products","ultimate_vc") => "best_selling_products",
|
||||
);
|
||||
$orderby_arr = array(
|
||||
__("Date","ultimate_vc") => "date",
|
||||
__("Title","ultimate_vc") => "title",
|
||||
__("Product ID","ultimate_vc") => "ID",
|
||||
__("Name","ultimate_vc") => "name",
|
||||
__("Price","ultimate_vc") => "price",
|
||||
__("Sales","ultimate_vc") => "sales",
|
||||
__("Random","ultimate_vc") => "rand",
|
||||
);
|
||||
$output .= '<div class="display_type"><label for="display_type"><strong>'.__($labels['products_from'],'ultimate_vc').'</strong></label>';
|
||||
$output .='<select id="display_type">';
|
||||
foreach($displays as $title => $display){
|
||||
if($display == $display_type)
|
||||
$output .= '<option value="'.$display.'" selected="selected">'.__($title,'ultimate_vc').'</option>';
|
||||
else
|
||||
$output .= '<option value="'.$display.'">'.__($title,'ultimate_vc').'</option>';
|
||||
}
|
||||
$output .= '</select></div>';
|
||||
$output .= '<div class="per_page"><label for="per_page"><strong>'.__($labels['per_page'],'ultimate_vc').'</strong></label>';
|
||||
$output .= '<input type="number" min="2" max="1000" id="per_page" value="'.$post_count.'"></div>';
|
||||
if($module == "grid"){
|
||||
$output .= '<div class="columns"><label for="columns"><strong>'.__($labels['columns'],'ultimate_vc').'</strong></label>';
|
||||
$output .= '<input type="number" min="2" max="4" id="columns" value="'.$columns.'"></div>';
|
||||
}
|
||||
$output .= '<div class="orderby"><label for="orderby"><strong>'.__($labels['order_by'],'ultimate_vc').'</strong></label>';
|
||||
$output .= '<select id="orderby">';
|
||||
foreach($orderby_arr as $key => $val){
|
||||
if($orderby == $val)
|
||||
$output .= '<option value="'.$val.'" selected="selected">'.__($key,'ultimate_vc').'</option>';
|
||||
else
|
||||
$output .= '<option value="'.$val.'">'.__($key,'ultimate_vc').'</option>';
|
||||
}
|
||||
$output .= '</select></div>';
|
||||
$output .= '<div class="order"><label for="order"><strong>'.__($labels['order'],'ultimate_vc').'</strong></label>';
|
||||
$output .= '<select id="order">';
|
||||
if($order == "asc")
|
||||
$asc = 'selected="selected"';
|
||||
else
|
||||
$desc = 'selected="selected"';
|
||||
$output .= '<option value="asc" '.$asc.'>'.__('Ascending','ultimate_vc').'</option>';
|
||||
$output .= '<option value="desc" '.$desc.'>'.__('Descending','ultimate_vc').'</option>';
|
||||
$output .= '</select></div>';
|
||||
$output .= '<div class="cat"><label for="cat"><strong>'.__($labels['category'],'ultimate_vc').'</strong></label>';
|
||||
$output .= wp_dropdown_categories( array('taxonomy'=>'product_cat','selected'=>$cat_id,'echo' => false,)).'</div>';
|
||||
$output .= '<!-- '.$value.' -->';
|
||||
$output .= "<input type='hidden' name='".$param_name."' value='".$value."' class='wpb_vc_param_value ".$param_name." ".$type." ".$class."' id='shortcode'>";
|
||||
return $output;
|
||||
} /* end woo_query_builder */
|
||||
function woo_product_search($settings, $value){
|
||||
$param_name = isset($settings['param_name']) ? $settings['param_name'] : '';
|
||||
$type = isset($settings['type']) ? $settings['type'] : '';
|
||||
$class = isset($settings['class']) ? $settings['class'] : '';
|
||||
|
||||
$products_array = new WP_Query(array(
|
||||
'post_type' => 'product',
|
||||
'posts_per_page' => -1,
|
||||
'post_status' => 'publish'
|
||||
));
|
||||
$output = '';
|
||||
$output .= '<select id="products" name="'.$param_name.'" class="wpb_vc_param_value '.$param_name.' '.$type.' '.$class.'">';
|
||||
while ($products_array->have_posts()) : $products_array->the_post();
|
||||
if($value == get_the_ID()){
|
||||
$selected = "selected='selected'";
|
||||
} else {
|
||||
$selected = '';
|
||||
}
|
||||
$output .= '<option '.$selected.' value="'.get_the_ID().'">'.__(get_the_title(),'ultimate_vc').'</option>';
|
||||
endwhile;
|
||||
$output .= '</select>';
|
||||
|
||||
// Disable WooComposer select2 js to break incompatibility with WooCommerce 3.0.0 +
|
||||
// $output .= '<script type="text/javascript">
|
||||
// jQuery(document).ready(function(){
|
||||
// if ( jQuery(".wpb_el_type_product_search #products").data("select2") ) {
|
||||
// jQuery(".wpb_el_type_product_search #products").select2("destroy");
|
||||
// }
|
||||
|
||||
// // WooComposer is depracated.
|
||||
// // jQuery(".wpb_el_type_product_search #products").select2({
|
||||
// // placeholder: "Select a Product",
|
||||
// // allowClear: true
|
||||
// // });
|
||||
// });
|
||||
// </script>';
|
||||
return $output;
|
||||
} /* end woo_product_search */
|
||||
function woo_product_categories($settings, $value){
|
||||
$param_name = isset($settings['param_name']) ? $settings['param_name'] : '';
|
||||
$type = isset($settings['type']) ? $settings['type'] : '';
|
||||
$class = isset($settings['class']) ? $settings['class'] : '';
|
||||
$product_categories = get_terms( 'product_cat', '' );
|
||||
$output = $selected = $ids = '';
|
||||
if ( $value !== '' ) {
|
||||
$ids = explode( ',', $value );
|
||||
$ids = array_map( 'trim', $ids );
|
||||
} else {
|
||||
$ids = array();
|
||||
}
|
||||
$output .= '<select id="sel2_cat" multiple="multiple" style="min-width:200px;">';
|
||||
foreach($product_categories as $cat){
|
||||
if(in_array($cat->term_id, $ids)){
|
||||
$selected = 'selected="selected"';
|
||||
} else {
|
||||
$selected = '';
|
||||
}
|
||||
$output .= '<option '.$selected.' value="'.$cat->term_id.'">'. __($cat->name,'ultimate_vc') .'</option>';
|
||||
}
|
||||
$output .= '</select>';
|
||||
|
||||
$output .= "<input type='hidden' name='".$param_name."' value='".$value."' class='wpb_vc_param_value ".$param_name." ".$type." ".$class."' id='sel_cat'>";
|
||||
|
||||
// Disable WooComposer select2 js to break incompatibility with WooCommerce 3.0.0 +
|
||||
// $output .= '<script type="text/javascript">
|
||||
// jQuery("#sel2_cat").select2({
|
||||
// placeholder: "Select Categories",
|
||||
// allowClear: true
|
||||
// });
|
||||
// jQuery("#sel2_cat").on("change",function(){
|
||||
// jQuery("#sel_cat").val(jQuery(this).val());
|
||||
// });
|
||||
// </script>';
|
||||
return $output;
|
||||
|
||||
} /* end woo_product_categories*/
|
||||
function admin_scripts($hook)
|
||||
{
|
||||
if($hook == "post.php" || $hook == "post-new.php"){
|
||||
if(defined('WOOCOMMERCE_VERSION') && version_compare( '2.1.0', WOOCOMMERCE_VERSION, '<' )) {
|
||||
$bsf_dev_mode = bsf_get_option('dev_mode');
|
||||
if($bsf_dev_mode === 'enable') {
|
||||
wp_register_style("woocomposer-admin",plugins_url("admin/css/admin.css",__FILE__));
|
||||
wp_register_style("woocomposer-select2-bootstrap",plugins_url("admin/css/select2-bootstrap.css",__FILE__));
|
||||
wp_register_style("woocomposer-select2",plugins_url("admin/css/select2.css",__FILE__));
|
||||
wp_enqueue_style("woocomposer-admin");
|
||||
|
||||
// Disable WooComposer select2 js to break incompatibility with WooCommerce 3.0.0 +
|
||||
// wp_enqueue_style("woocomposer-select2-bootstrap");
|
||||
// wp_enqueue_style("woocomposer-select2");
|
||||
// wp_register_script("woocomposer-select2-js",plugins_url("admin/js/select2.js",__FILE__),array('jquery'),'',true);
|
||||
// wp_enqueue_script("woocomposer-select2-js");
|
||||
}
|
||||
else {
|
||||
|
||||
// Disable WooComposer select2 js to break incompatibility with WooCommerce 3.0.0 +
|
||||
// wp_register_style("woocomposer-admin-style",plugins_url("admin/css/ultimate-woocomposer-backend.min.css",__FILE__));
|
||||
// wp_enqueue_style("woocomposer-admin-style");
|
||||
|
||||
// wp_enqueue_script("woocomposer-admin-script",plugins_url("admin/js/ultimate-woocomposer-backend.min.js",__FILE__),array('jquery'),'',true);
|
||||
// wp_enqueue_style("woocomposer-admin-script");
|
||||
}
|
||||
}
|
||||
}
|
||||
} /* end admin scripts */
|
||||
function front_scripts($post)
|
||||
{
|
||||
if(!is_404() && !is_search() && !is_archive()){
|
||||
global $post;
|
||||
$count = 0;
|
||||
if ( NULL !== $post ) {
|
||||
$content = $post->post_content;
|
||||
$shortcodes = array('woocomposer_product','woocomposer_list','woocomposer_grid','woocomposer_grid_cat','woocomposer_carousel_cat','woocomposer_carousel');
|
||||
foreach($shortcodes as $shortcode){
|
||||
if(has_shortcode($content, $shortcode)) {
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
|
||||
wp_register_script('woocomposer-unveil',plugins_url('assets/js/unveil.js',__FILE__),array('jquery'),WOOCOMPOSER_VERSION,true);
|
||||
wp_register_script('woocomposer-slick',plugins_url('assets/js/slick.js',__FILE__),array('jquery'),WOOCOMPOSER_VERSION,true);
|
||||
wp_register_script('woocomposer-js',plugins_url('assets/js/custom.js',__FILE__),array('jquery','woocomposer-slick'),WOOCOMPOSER_VERSION,true);
|
||||
|
||||
wp_register_style('woocomposer-front',plugins_url('assets/css/style.css',__FILE__),array(),WOOCOMPOSER_VERSION);
|
||||
wp_register_style('woocomposer-front-wooicon',plugins_url('assets/css/wooicon.css',__FILE__),array(),WOOCOMPOSER_VERSION);
|
||||
wp_register_style('woocomposer-front-slick',plugins_url('assets/css/slick.css',__FILE__),array(),WOOCOMPOSER_VERSION);
|
||||
wp_register_style('woocomposer-animate',plugins_url('assets/css/animate.min.css',__FILE__),array(),WOOCOMPOSER_VERSION);
|
||||
|
||||
wp_register_script('woocomposer-script',plugins_url('assets/js/woocomposer.min.js',__FILE__),array('jquery'),WOOCOMPOSER_VERSION,true);
|
||||
wp_register_style('woocomposer-style',plugins_url('assets/css/woocomposer.min.css',__FILE__),array(),WOOCOMPOSER_VERSION);
|
||||
|
||||
if(defined('WOOCOMMERCE_VERSION') && version_compare( '2.1.0', WOOCOMMERCE_VERSION, '<' ) && $count !== 0) {
|
||||
$ultimate_css = get_option('ultimate_css');
|
||||
$bsf_dev_mode = bsf_get_option('dev_mode');
|
||||
if($ultimate_css == "enable" && $bsf_dev_mode !== 'enable'){
|
||||
wp_enqueue_style("woocomposer-style");
|
||||
}
|
||||
else {
|
||||
wp_enqueue_style("woocomposer-front");
|
||||
wp_enqueue_style("woocomposer-front-wooicon");
|
||||
wp_enqueue_style("woocomposer-front-slick");
|
||||
wp_enqueue_style("woocomposer-animate");
|
||||
}
|
||||
|
||||
$ultimate_js = get_option('ultimate_js');
|
||||
wp_enqueue_script('jquery');
|
||||
if($ultimate_js == 'enable') {
|
||||
wp_enqueue_script("woocomposer-script");
|
||||
}
|
||||
else {
|
||||
wp_enqueue_script("woocomposer-unveil");
|
||||
wp_enqueue_script("woocomposer-slick");
|
||||
wp_enqueue_script("woocomposer-js");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}/* end front_scripts */
|
||||
}
|
||||
new WooComposer;
|
||||
add_action('admin_init','init_woocomposer');
|
||||
function init_woocomposer()
|
||||
{
|
||||
$required_vc = '3.7.2';
|
||||
if(defined('WPB_VC_VERSION')){
|
||||
if( version_compare( $required_vc, WPB_VC_VERSION, '>' )){
|
||||
add_action( 'admin_notices', 'woocomposer_admin_notice_for_version');
|
||||
add_action( 'network_admin_notices', 'woocomposer_admin_notice_for_version');
|
||||
}
|
||||
} else {
|
||||
add_action( 'admin_notices', 'woocomposer_admin_notice_for_vc_activation');
|
||||
add_action( 'network_admin_notices', 'woocomposer_admin_notice_for_vc_activation');
|
||||
}
|
||||
|
||||
}/* end init_addons */
|
||||
function woocomposer_admin_notice_for_version()
|
||||
{
|
||||
$is_multisite = is_multisite();
|
||||
$is_network_admin = is_network_admin();
|
||||
if(($is_multisite && $is_network_admin) || !$is_multisite)
|
||||
echo '<div class="updated"><p>'.__('The','ultimate_vc').' <strong>WooComposer</strong> '.__('plugin requires','ultimate_vc').' <strong>WPBakery Page Builder</strong> '.__('version 3.7.2 or greater.','ultimate_vc').'</p></div>';
|
||||
}
|
||||
function woocomposer_admin_notice_for_vc_activation()
|
||||
{
|
||||
$is_multisite = is_multisite();
|
||||
$is_network_admin = is_network_admin();
|
||||
if(($is_multisite && $is_network_admin) || !$is_multisite)
|
||||
echo '<div class="updated"><p>'.__('The','ultimate_vc').' <strong>WooComposer</strong> '.__('plugin requires','ultimate_vc').' <strong>WPBakery Page Builder</strong> '.__('Plugin installed and activated.').'</p></div>';
|
||||
}
|
||||
}
|
||||
|
||||
// check the current post for the existence of a short code
|
||||
if(!function_exists("has_shortcode")){
|
||||
function has_shortcode($shortcode = '') {
|
||||
|
||||
$post_to_check = get_post(get_the_ID());
|
||||
|
||||
// false because we have to search through the post content first
|
||||
$found = false;
|
||||
|
||||
// if no short code was provided, return false
|
||||
if (!$shortcode) {
|
||||
return $found;
|
||||
}
|
||||
// check the post content for the short code
|
||||
if ( stripos($post_to_check->post_content, '[' . $shortcode) !== false ) {
|
||||
// we have found the short code
|
||||
$found = true;
|
||||
}
|
||||
|
||||
// return our final results
|
||||
return $found;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user