function rcl_add_cart_button($content)
{
    global $post, $rmag_options;
    if ($post->post_type !== 'products') {
        return $content;
    }
    $metas = rcl_get_postmeta_array($post->ID);
    $price = $metas['price-products'];
    $outsale = $metas['outsale'];
    $button = '<div class="price-basket-product">';
    if (!$outsale) {
        if ($metas['availability_product'] == 'empty') {
            //если товар цифровой
            if ($price) {
                $button .= 'Цена: ' . rcl_get_price($post->ID) . ' <input type="text" size="2" name="number_product" id="number_product" value="1">';
            } else {
                $button .= 'Бесплатно ';
            }
            $button .= rcl_get_button('Добавить в корзину', '#', array('icon' => false, 'class' => 'add_basket', 'attr' => 'onclick="rcl_add_cart(this);return false;" data-product=' . $post->ID));
        } else {
            if ($rmag_options['products_warehouse_recall'] == 1) {
                $amount = get_post_meta($post->ID, 'amount_product', 1);
                if ($amount > 0 || $amount == false) {
                    $button .= 'Цена: ' . rcl_get_price($post->ID) . ' <input type="text" size="2" name="number_product" id="number_product" value="1">' . rcl_get_button('Добавить в корзину', '#', array('icon' => false, 'class' => 'add_basket', 'attr' => 'onclick="rcl_add_cart(this);return false;" data-product=' . $post->ID));
                }
            } else {
                $button .= 'Цена: ' . rcl_get_price($post->ID) . ' <input type="text" size="2" name="number_product" id="number_product" value="1">' . rcl_get_button('Добавить в корзину', '#', array('icon' => false, 'class' => 'add_basket', 'attr' => 'onclick="rcl_add_cart(this);return false;" data-product=' . $post->ID));
            }
        }
    }
    $button .= '</div>';
    $button = apply_filters('cart_button_product_page', $button);
    $content .= $button;
    return $content;
}
function rcl_get_cart_button($product_id)
{
    if (get_post_meta($product_id, 'outsale', 1)) {
        return false;
    }
    if (get_post_meta($product_id, 'availability_product', 1) == 'empty') {
        //если товар цифровой
        $button = '<div class="cart-button">' . rcl_get_button('В корзину', '#', array('icon' => false, 'class' => 'add_basket add_to_cart', 'attr' => 'onclick="rcl_add_cart(this);return false;" data-product=' . $product_id)) . '</div>';
    } else {
        if ($rmag_options['products_warehouse_recall'] == 1) {
            $amount = get_post_meta($product_id, 'amount_product', 1);
            if ($amount > 0 || $amount == false) {
                $button = '<div class="cart-button">' . rcl_get_button('В корзину', '#', array('icon' => false, 'class' => 'add_basket add_to_cart', 'attr' => 'onclick="rcl_add_cart(this);return false;" data-product=' . $product_id)) . '</div>';
            }
        } else {
            $button = '<div class="cart-button">' . rcl_get_button('В корзину', '#', array('icon' => false, 'class' => 'add_basket add_to_cart', 'attr' => 'onclick="rcl_add_cart(this);return false;" data-product=' . $product_id)) . '</div>';
        }
    }
    $button = apply_filters('rcl_cart_button', $button, $product_id);
    return $button;
}
Example #3
0
    function get_chat($online = 0)
    {
        rcl_resizable_scripts();
        global $user_ID, $rcl_options, $wpdb;
        $access = '';
        $access = apply_filters('access_chat_rcl', $access, $this->user_lk);
        if ($this->room) {
            $user_ID = $this->room;
            $user_lk = 0;
            $online = 1;
        } else {
            $user_lk = $this->user_lk;
        }
        if (!$this->room) {
            $where = $wpdb->prepare("WHERE author_mess = '%d' AND adressat_mess = '%d' OR author_mess = '%d' AND adressat_mess = '%d'", $user_ID, $this->user_lk, $this->user_lk, $user_ID);
        } else {
            $where = $wpdb->prepare("WHERE author_mess = '%d' OR adressat_mess = '%d'", $user_ID, $user_ID);
        }
        $private_messages = $wpdb->get_results("SELECT * FROM " . RCL_PREF . "private_message {$where} ORDER BY id DESC LIMIT 10");
        $num_mess = $wpdb->get_var("SELECT COUNT(ID) FROM " . RCL_PREF . "private_message {$where}");
        if (!$this->room) {
            $this->ava_user_lk = get_avatar($this->user_lk, 40);
        }
        $this->ava_user_ID = get_avatar($user_ID, 40);
        $max_private_mess = $rcl_options['max_private_message'];
        if (!$max_private_mess) {
            $max_private_mess = 100;
        }
        if ($num_mess > $max_private_mess && !$this->room) {
            $delete = $num_mess - $max_private_mess;
            $st = $user_ID + 100;
            $us = $this->user_lk + 100;
            $delete_num = $wpdb->query($wpdb->prepare("DELETE FROM " . RCL_PREF . "private_message WHERE author_mess = '%d' AND adressat_mess = '%d' AND status_mess NOT IN (7,%d,%d) OR author_mess = '%d' AND adressat_mess = '%d' AND status_mess NOT IN (7,%d,%d) ORDER BY id ASC LIMIT %s", $user_ID, $this->user_lk, $st, $us, $this->user_lk, $user_ID, $st, $us, $st, $us));
            $num_mess = $num_mess - $delete_num;
        }
        $num = 0;
        if (!$rcl_options['sort_mess']) {
            krsort($private_messages);
        }
        foreach ((array) $private_messages as $message) {
            $num++;
            $messlist = $this->get_private_message_block_rcl($messlist, $message);
            if ($num == 10) {
                break;
            }
        }
        if (!$access) {
            $textarea = '<div class="prmess">';
            if ($this->room) {
                $textarea .= '<span title="' . __('Interlocutor', 'wp-recall') . '" id="opponent"></span> ' . rcl_get_button(__('All contacts', 'wp-recall'), '#', array('icon' => 'fa-book', 'id' => 'get-all-contacts'));
            }
            if ($rcl_options['file_exchange'] == 1) {
                $textarea .= '<div id="upload-box-message" class="fa fa-paperclip recall-button rcl-upload-button">
											<span>Выбрать файл</span>
											<span class="progress-bar"></span>
											<input name="filedata" id="upload-private-message" type="file">
										</div>';
            }
            $textarea .= '<span class="fa fa-exclamation-triangle notice">' . __('<b>Enter</b> - line break, <b>Ctrl+Enter</b> - send', 'wp-recall') . '</span>';
            $textarea .= '<textarea name="content_mess" id="content_mess" rows="3"></textarea>';
            $textarea .= '
                    <input type="hidden" name="adressat_mess" id="adressat_mess" value="' . $user_lk . '">
                    <input type="hidden" name="online" id="online" value="' . $online . '">';
            $textarea .= rcl_get_smiles('content_mess');
            $words = isset($rcl_options['ms_limit_words']) && $rcl_options['ms_limit_words'] ? $rcl_options['ms_limit_words'] : 400;
            $textarea .= '<div class="fa fa-edit" id="count-word">' . $words . '</div>';
            $textarea .= '<div class="private-buttons">
                            ' . rcl_get_button(__('Send', 'wp-recall'), '#', array('icon' => 'fa-mail-forward', 'class' => 'addmess alignright', 'attr' => false, 'id' => false));
            if ($this->get_num_important() > 0) {
                $textarea .= rcl_get_button(__('Important messages', 'wp-recall'), '#', array('icon' => 'fa-star', 'class' => 'important alignleft', 'id' => 'get-important-rcl'));
            }
            $textarea .= '</div>' . '<div id="resize"></div>' . '</div>';
        } else {
            $textarea = '<div class="prmess">';
            $textarea .= '<div class="ban-notice">' . $access . '</div>';
            $textarea .= '<div id="resize"></div>' . '</div>';
        }
        if (!$private_messages) {
            $newblock = '<div class="new_mess" align="center">' . __('Here will display correspondence history', 'wp-recall') . '</div>';
        } else {
            $newblock = '<div class="new_mess"></div>';
        }
        if ($num_mess > 10) {
            $getold = '<div class="old_mess_block"><a href="#" class="old_message">' . __('Show older messages', 'wp-recall') . '</a></div>';
        }
        if (!$rcl_options['sort_mess']) {
            $messlist = $getold . $messlist;
            $messlist .= $newblock;
            $privat_block = '<div id="resize-content"><div id="message-list">' . $messlist . '</div></div>';
            $privat_block .= $textarea;
            $privat_block .= "<script>jQuery(document).ready(function() {\n\n                                var div = jQuery('#resize-content');\n                                div.scrollTop( div.get(0).scrollHeight );\n\n                                var chatHeight = 'chatHeight';\n                                var chatNow = jQuery.cookie(chatHeight);\n                                if(chatNow != null)\n                                    jQuery('#resize-content,#resize').css('height', chatNow + 'px');\n                                jQuery('#resize').resizable( {\n                                    alsoResize: '#resize-content',\n                                    stop: function(event, ui) {\n                                        chatNow = jQuery('#resize-content').height();\n                                        jQuery.cookie(chatHeight, chatNow);\n                                    }\n                                });\n                            });" . "</script>";
        } else {
            $privat_block = $textarea;
            $messlist = $newblock . $messlist;
            $messlist .= $getold;
            $privat_block .= '<div id="message-list">' . $messlist . '</div>';
        }
        $privat_block .= "<script type='text/javascript'>var old_num_mess = " . $num_mess . "; var block_mess = 1; var user_old_mess = " . $user_lk . ";</script>";
        if ($rcl_options['block_offrequest'] == 1 && $online == 0 || $access) {
            return $privat_block;
        }
        if (!$rcl_options['update_private_message']) {
            $rcl_options['update_private_message'] = 10;
        }
        $sec_update = 1000 * $rcl_options['update_private_message'];
        $privat_block .= "<script type='text/javascript'>\n\n\t\tvar update_mass_ID; var max_sec_update_rcl=0;\n\n\t\tfunction update_mass(){";
        if ($rcl_options['max_request_new_message'] > 0) {
            $privat_block .= "\n\t\t\tmax_sec_update_rcl++; if(max_sec_update_rcl>" . $rcl_options['max_request_new_message'] . ") return false;\n\t\t\t";
        }
        $privat_block .= "jQuery(function(){\n\t\t\t\t\tvar dataString_new_mess = 'action=update_message_history_recall&user='******'POST',\n\t\t\t\t\tdata: dataString_new_mess,\n\t\t\t\t\tdataType: 'json',\n\t\t\t\t\turl: wpurl+'wp-admin/admin-ajax.php',\n\t\t\t\t\tsuccess: function(data){\n\t\t\t\t\t\tif(data['recall']==100){\n\t\t\t\t\t\t\tjQuery('.new_mess').replaceWith(data['message_block']);";
        if (!$rcl_options['sort_mess']) {
            $privat_block .= "var div = jQuery('#resize-content');\n                                                                                        div.scrollTop( div.get(0).scrollHeight );";
        }
        $privat_block .= "jQuery.ionSound.play('water_droplet');\n\t\t\t\t\t\t\tmax_sec_update_rcl = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(data['read']==200){\n\t\t\t\t\t\t\tjQuery('.mess_status').remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t}\n\t\tsetInterval(function(){update_mass();}," . $sec_update . ");\n\t\twindow.onload=function(){update_mass();}\n\t\t</script>";
        return $privat_block;
    }
    function thumbnail_post()
    {
        echo '<div id="thumbblock-post">
			<div id="thumbnail_rcl" class="alignleft">';
        if ($this->thumb) {
            $thumb_url = wp_get_attachment_image_src($this->thumb, 'thumbnail');
            echo '<span class="delete"></span><img width="100" height="100" src="' . $thumb_url[0] . '"><input type="hidden" name="thumb" value="' . $this->thumb . '">';
        }
        echo '</div>
			<h3>' . __('Thumbnail', 'wp-recall') . '</h3>
			<div>' . rcl_get_button(__('To assign a thumbnail', 'wp-recall'), '#', array('id' => 'add_thumbnail_rcl')) . '</div>
		</div>';
    }
function rcl_get_feed_callback_link($user_id, $name, $callback)
{
    return '<div class="callback-link user-link-' . $user_id . '">' . rcl_get_button($name, '#', array('icon' => 'fa-rss', 'class' => 'feed-callback', 'attr' => 'data-feed=' . $user_id . ' data-callback="' . $callback . '" title="' . $name . '"')) . '</div>';
}
    function cart()
    {
        global $user_ID, $products;
        $products = $this->get_products();
        if (!$products) {
            return '<p>В вашей корзине пусто.</p>';
        }
        if (!$user_ID) {
            $basket .= '<h3 class="title-data">Корзина <span class="weight-normal">(цены указаны в рублях)</span></h3>';
        }
        $basket .= rcl_get_include_template('cart.php', __FILE__);
        $basket = apply_filters('cart_rcl', $basket);
        if ($this->cnt_products) {
            $basket .= '<div class="confirm">';
            $get_fields_order = get_option('custom_orders_field');
            if ($get_fields_order) {
                $order_field = $this->cart_fields($get_fields_order, 'order');
            }
            if ($user_ID) {
                if ($order_field) {
                    $basket .= '<h3 align="center">Для оформления заказа заполните форму ниже:</h3>
                                                <div id="regnewuser"  style="display:none;"></div>
                    <table class="form-table">' . $order_field . '</table>';
                }
                $basket .= rcl_get_button('Оформить заказ', '#', array('icon' => false, 'class' => 'confirm_order')) . '</div>';
                $basket .= "<script>\r\n                    jQuery(function(){\r\n                    jQuery('#rcl-cart').on('click','.confirm_order',function(){";
                $basket .= $this->script_request('order');
                $basket .= "var dataString_count = 'action=rcl_confirm_order'" . $this->request . ";\r\n                            jQuery.ajax({\r\n                            type: 'POST',\r\n                            data: dataString_count,\r\n                            dataType: 'json',\r\n                            url: wpurl+'wp-admin/admin-ajax.php',\r\n                            success: function(data){\r\n                                    if(data['otvet']==100){\r\n                                            jQuery('.redirectform').html(data['redirectform']);\r\n                                            jQuery('.confirm').remove();\r\n                                            jQuery('.add_remove').empty();\r\n                                    } else if(data['otvet']==10){\r\n                                       jQuery('.redirectform').html(data['amount']);\r\n                                    } else if(data['otvet']==5){\r\n                                            jQuery('#regnewuser').html(data['recall']);\r\n                                            jQuery('#regnewuser').slideDown(500).delay(5000).slideUp(500);\r\n                                    }else {\r\n                                       alert('Ошибка проверки данных.');\r\n                                    }\r\n                            }\r\n                            });\r\n                            return false;\r\n                    });\r\n                });\r\n                </script>";
            } else {
                $get_fields = get_option('custom_profile_field');
                if ($get_fields) {
                    $order_field .= $this->cart_fields($get_fields, 'profile');
                }
                $basket .= '<h3 align="center">Для оформления заказа заполните форму ниже:</h3>
						<div id="regnewuser"  style="display:none;"></div>
                        <table class="form-table">
                            <tr>
                                <td><label>Укажите ваш E-mail <span class="required">*</span>:</label></td>
                                <td><input required type="text" class="email_new_user" name="email_new_user" value=""></td>
                            </tr>
                             <tr>
                                <td><label>Ваше Имя</label></td>
                                <td><input type="text" class="fio_new_user" name="fio_new_user" value=""></td>
                            </tr>
                            ' . $order_field . '
                        </table>
                        <p align="right">' . rcl_get_button('Оформить заказ', '#', array('icon' => false, 'class' => 'rcl_register_user_order', 'id' => false)) . '</p>

                        </div>';
                $basket .= "<script>\r\n                        jQuery(function(){\r\n                                jQuery('#rcl-cart').on('click','.rcl_register_user_order',function(){";
                $basket .= $this->script_request('order');
                $basket .= $this->script_request('profile');
                $basket .= "\r\n                                    var fio = jQuery('.confirm .fio_new_user').attr('value');\r\n                                    var email = jQuery('.confirm .email_new_user').attr('value');\r\n                                    var dataString = 'action=rcl_confirm_order&action=rcl_register_user_order&fio_new_user='******'&email_new_user='******'POST',\r\n                                            data: dataString,\r\n                                            dataType: 'json',\r\n                                            url: wpurl+'wp-admin/admin-ajax.php',\r\n                                            success: function(data){\r\n                                                    if(data['int']==100){\r\n                                                            jQuery('#regnewuser').html(data['recall']);\r\n                                                            jQuery('#regnewuser').slideDown(500);\r\n                                                            if(data['redirect']!=0){\r\n                                                                    location.replace(data['redirect']);\r\n                                                            }else{\r\n                                                                    jQuery('.form-table').remove();\r\n                                                                    jQuery('.rcl_register_user_order').remove();\r\n                                                            }\r\n                                                    } else {\r\n                                                            jQuery('#regnewuser').html(data['recall']);\r\n                                                            jQuery('#regnewuser').slideDown(500).delay(5000).slideUp(500);\r\n                                                    }\r\n                                            }\r\n                                    });\r\n                                    return false;\r\n                            });\r\n                    });\r\n                    </script>";
            }
        }
        return '<form id="rcl-cart" method="post">' . $basket . '</form>' . '<div class="redirectform" style="text-align:center;"></div>';
    }
Example #7
0
function rcl_add_group_access_button()
{
    global $rcl_user;
    echo '<div class="group-request" data-user="******">';
    echo rcl_get_button(__('Approve request', 'wp-recall'), '#', array('icon' => 'fa-thumbs-up', 'class' => 'apply-request', 'attr' => 'data-request=1'));
    echo rcl_get_button(__('Reject request', 'wp-recall'), '#', array('icon' => 'fa-thumbs-down', 'class' => 'apply-request', 'attr' => 'data-request=0'));
    echo '</div>';
}
function rcl_get_button_tab($args, $button = false)
{
    global $rcl_options, $user_LK;
    $link = rcl_format_url(get_author_posts_url($user_LK), $args['id_tab']);
    /*if(!$button) $status = 'active';
      else $status = '';*/
    //var_dump($button);
    $html_button = rcl_get_button($args['name'], $link, array('class' => rcl_get_class_button_tab($button, $args['id_tab']), 'icon' => $args['class']));
    $button .= apply_filters('rcl_get_button_tab', $html_button, $args);
    return $button;
}
Example #9
0
function rcl_rating_navi($args)
{
    global $rcl_rating_types, $rcl_options;
    $navi = false;
    $rcl_rating_types['edit-admin'] = array('rating_type' => 'edit-admin', 'icon' => 'fa-cogs', 'type_name' => __('Correction', 'wp-recall'));
    foreach ($rcl_rating_types as $type) {
        if (!isset($rcl_options['rating_user_' . $type['rating_type']]) || !$rcl_options['rating_user_' . $type['rating_type']]) {
            continue;
        }
        $args['rating_type'] = $type['rating_type'];
        $active = !$navi ? 'active' : '';
        $icon = isset($type['icon']) ? $type['icon'] : 'fa-list-ul';
        $navi .= rcl_get_button($type['type_name'], '#', array('icon' => 'fa ' . $icon, 'class' => 'get-list-votes ' . $active, 'attr' => 'onclick="rcl_get_list_votes(this);return false;" data-rating="' . rcl_encode_data_rating('user', $args) . '"')) . ' ';
    }
    return $navi;
}
function rcl_get_authorize_form($type = false, $form = false)
{
    global $user_ID, $rcl_user_URL, $rcl_options, $typeform;
    $typeform = $form;
    ob_start();
    echo '<div class="panel_lk_recall ' . $type . '">';
    if ($type == 'floatform') {
        echo '<a href="#" class="close-popup"><i class="fa fa-times-circle"></i></a>';
    }
    if ($user_ID) {
        echo '<div class="username"><b>' . __('Hi', 'wp-recall') . ', ' . get_the_author_meta('display_name', $user_ID) . '!</b></div>
                    <div class="author-avatar">';
        echo '<a href="' . $rcl_user_URL . '" title="' . __('In personal account', 'wp-recall') . '">' . get_avatar($user_ID, 60) . '</a>';
        if (function_exists('rcl_rating_block')) {
            echo rcl_rating_block(array('ID' => $user_ID, 'type' => 'user'));
        }
        echo '</div>';
        echo '<div class="buttons">';
        $buttons = '<p>' . rcl_get_button(__('In personal account', 'wp-recall'), $rcl_user_URL, array('icon' => 'fa-home')) . '</p>
                            <p>' . rcl_get_button(__('Exit', 'wp-recall'), wp_logout_url(home_url()), array('icon' => 'fa-external-link')) . '</p>';
        echo apply_filters('buttons_widget_rcl', $buttons);
        echo '</div>';
    } else {
        $login_form = isset($rcl_options['login_form_recall']) ? $rcl_options['login_form_recall'] : 0;
        if ($login_form == 1 && $type != 'pageform') {
            $redirect_url = rcl_format_url(get_permalink($rcl_options['page_login_form_recall']));
            echo '<div class="buttons">';
            $buttons = '<p>' . rcl_get_button(__('Entry', 'wp-recall'), $redirect_url . 'action-rcl=login', array('icon' => 'fa-sign-in')) . '</p>
                            <p>' . rcl_get_button(__('Registration', 'wp-recall'), $redirect_url . 'action-rcl=register', array('icon' => 'fa-book')) . '</p>';
            echo apply_filters('buttons_widget_rcl', $buttons);
            echo '</div>';
        } else {
            if ($login_form == 2) {
                echo '<div class="buttons">';
                $buttons = '<p>' . rcl_get_button(__('Entry', 'wp-recall'), esc_url(wp_login_url('/')), array('icon' => 'fa-sign-in')) . '</p>
                            <p>' . rcl_get_button(__('Registration', 'wp-recall'), esc_url(wp_registration_url()), array('icon' => 'fa-book')) . '</p>';
                echo apply_filters('buttons_widget_rcl', $buttons);
                echo '</div>';
            } else {
                if ($login_form == 3 || $type) {
                    if ($typeform != 'register') {
                        rcl_include_template('form-sign.php');
                    }
                    if ($typeform != 'sign') {
                        rcl_include_template('form-register.php');
                    }
                    if (!$typeform || $typeform == 'sign') {
                        rcl_include_template('form-remember.php');
                    }
                } else {
                    if (!$login_form) {
                        echo '<div class="buttons">';
                        $buttons = '<p>' . rcl_get_button(__('Entry', 'wp-recall'), '#', array('icon' => 'fa-sign-in', 'class' => 'rcl-login')) . '</p>
                                <p>' . rcl_get_button(__('Registration', 'wp-recall'), '#', array('icon' => 'fa-book', 'class' => 'rcl-register')) . '</p>';
                        echo apply_filters('buttons_widget_rcl', $buttons);
                        echo '</div>';
                    }
                }
            }
        }
    }
    echo '</div>';
    $html = ob_get_contents();
    ob_end_clean();
    return $html;
}
Example #11
0
function rcl_wp_editor($args = false, $content = false)
{
    global $rcl_options, $editpost, $formData, $user_ID;
    $media = isset($args['media']) ? $args['media'] : true;
    $wp_editor = isset($args['wp_editor']) ? $args['wp_editor'] : $formData->wp_editor;
    $tinymce = $wp_editor == 1 || $wp_editor == 3 ? $tinymce = 1 : 0;
    $quicktags = $wp_editor == 2 || $wp_editor == 3 ? $quicktags = 1 : 0;
    $data = array('wpautop' => 1, 'media_buttons' => 0, 'textarea_name' => 'post_content', 'textarea_rows' => 10, 'tabindex' => null, 'editor_css' => '', 'editor_class' => 'autosave', 'teeny' => 0, 'dfw' => 0, 'tinymce' => $tinymce, 'quicktags' => $quicktags);
    if ($media) {
        if ($user_ID) {
            echo rcl_get_button(__('To add a media file', 'wp-recall'), '#', array('icon' => 'fa-folder-open', 'id' => 'get-media-rcl'));
        }
    }
    if (!$content) {
        $content = isset($editpost->post_content) ? $editpost->post_content : '';
    }
    wp_editor($content, 'contentarea', $data);
}