Пример #1
0
    function widget($args, $instance)
    {
        global $wpdb;
        extract($args, EXTR_SKIP);
        echo $before_widget;
        $title = empty($instance['title']) ? ' ' : apply_filters('widget_title', $instance['title']);
        if (!empty($title)) {
            echo $before_title . $title . $after_title;
            // switch if is logged or not
            $logged_user = pc_user_logged(array('username', 'name', 'surname'));
            if ($logged_user) {
                ?>
				<p><?php 
                _e('Welcome', 'pc_ml');
                ?>
 <?php 
                echo empty($logged_user['name']) && empty($logged_user['surname']) ? $logged_user['userame'] : ucfirst($logged_user['name']) . ' ' . ucfirst($logged_user['surname']);
                ?>
</p>
				
				<form class="pc_logout_widget PrivateContentLogin">
					<input type="button" name="pc_widget_logout" class="pc_logout_btn pc_trigger" value="<?php 
                _e('Logout', 'pc_ml');
                ?>
" />
					<span class="pc_loginform_loader"></span>
				</form>
			
			<?php 
            } else {
                echo pc_login_form();
            }
        }
        echo $after_widget;
    }
Пример #2
0
function pc_load_auth_form()
{
    if (isset($_POST['type']) && $_POST['type'] == 'pc_get_auth_form') {
        echo pc_login_form();
        die;
    }
}
Пример #3
0
function pc_pvt_content_shortcode($atts, $content = null)
{
    extract(shortcode_atts(array('allow' => 'all', 'block' => '', 'warning' => '1', 'message' => ''), $atts));
    $custom_message = $message;
    // if nothing is specified, return the content
    if (trim($allow) == '') {
        return do_shortcode($content);
    }
    include_once PC_DIR . '/functions.php';
    // MESSAGES
    // print something only if warning is active
    if ($warning == '1') {
        // switch for js login system
        $js_login = !get_option('pg_js_inline_login') ? '' : ' - <span class="pc_login_trig pc_trigger">' . __('login', 'pc_ml') . '</span>';
        // prepare the message if user is not logged
        $message = '<div class="pc_login_block"><p>' . pc_get_message('pc_default_nl_mex', $message) . $js_login . '</p></div>';
        // prepare message if user has not the right category
        $not_has_level_err = '<div class="pc_login_block"><p>' . pc_get_message('pc_default_uca_mex', $message) . '</p></div>';
    } else {
        $message = '';
        $not_has_level_err = '';
    }
    $response = pc_user_check($allow, $block, $wp_user_pass = true);
    if ($response === 1) {
        return do_shortcode($content);
    } elseif ($response === 2) {
        return $not_has_level_err;
    } else {
        // if has to be show to unlogged users return only custom message
        if ($allow == 'unlogged') {
            return !empty($custom_message) ? '<div class="pc_login_block"><p>' . $custom_message . '</p></div>' : '';
        }
        $login_form = isset($js_login) && $js_login ? '<div class="pc_inl_login_wrap" style="display: none;">' . pc_login_form() . '</div>' : '';
        return $message . $login_form;
    }
}
Пример #4
0
function pc_pvt_page_management($content)
{
    include_once PC_DIR . '/functions.php';
    global $wpdb, $post, $pc_users;
    $orig_content = $content;
    $target_page = (int) get_option('pg_target_page');
    $curr_page_id = (int) get_the_ID();
    // must be the chosen container page
    if (pc_wpml_translated_pag_id($target_page) != pc_wpml_translated_pag_id(get_the_ID())) {
        return $content;
    }
    // preview check
    if (is_user_logged_in() && isset($_REQUEST['pc_pvtpag']) && isset($_REQUEST['pc_utok'])) {
        if (!wp_verify_nonce($_REQUEST['pc_utok'], 'lcwp_nonce')) {
            return 'Cheating?';
        }
        $GLOBALS['pc_user_id'] = (int) $_REQUEST['pc_pvtpag'];
    }
    // check logged user
    $user_data = pc_user_logged(array('page_id', 'disable_pvt_page', 'wp_user_id'));
    if (!$user_data) {
        // return page content and eventually attach form
        $login_form = pc_login_form();
        $pvt_nl_content = get_option('pg_target_page_content');
        //only original contents
        if ($pvt_nl_content == 'original_content') {
            $content = $content;
        } elseif ($pvt_nl_content == 'original_plus_form') {
            $content = $content . $login_form;
        } elseif ($pvt_nl_content == 'form_plus_original') {
            $content = $login_form . $content;
        } else {
            $content = $login_form;
        }
        return $content;
    }
    // if not have a reserved area
    if (!empty($user_data['disable_pvt_page'])) {
        return '<p>' . pc_get_message('pc_default_nhpa_mex') . '</p>';
    }
    // flag for pvt page usage
    $GLOBALS['pc_pvt_page_is_displaying'] = true;
    // private page contents
    $page_data = get_post($user_data['page_id']);
    $content = $page_data->post_content;
    // if there's WP [embed] shortcode, execute it
    if (strpos($content, '[/embed]') !== -1) {
        global $wp_embed;
        $content = $wp_embed->run_shortcode($content);
    }
    // PC-FILTER - private page contents - useful to customize what is returned
    $content = apply_filters('pc_pvt_page_contents', $content);
    $content = do_shortcode(wpautop($content));
    // PC-ACTION - private page is being displayed - triggered in the_content hook
    do_action('pc_pvt_page_display');
    //// COMMENTS
    // disable comments if not synced
    if (!$pc_users->wp_user_sync || !get_option('pg_pvtpage_wps_comments') || !$user_data['wp_user_id'] || $page_data->comment_status != 'open') {
        add_filter('comments_template', 'pc_comments_template', 500);
    } else {
        // override query
        $GLOBALS['pc_custom_comments_template'] = 'original';
        $GLOBALS['pc_pvt_page_id'] = $user_data['page_id'];
        $GLOBALS['pc_pvt_page_obj'] = $page_data;
        $GLOBALS['pc_pvt_page_container_id'] = $curr_page_id;
        // override $post
        global $post;
        $post = get_post($user_data['page_id']);
        // PC-ACTION - give the opportunity to override comments template
        $custom_template = do_action('pc_pvt_page_comments_template');
        if (!empty($custom_template)) {
            $GLOBALS['pc_custom_comments_template'] = $custom_template;
        }
        add_filter('comments_template', 'pc_comments_template', 500);
    }
    return $content;
}
Пример #5
0
<?php

// empty page to override comments template - checks comments restriction parameter
if (isset($GLOBALS['pc_comment_restriction_warning']) && !empty($GLOBALS['pc_comment_restriction_warning'])) {
    $cr = $GLOBALS['pc_comment_restriction_warning'];
    $key = $cr['check_result'] === 2 ? 'pc_default_hcwp_mex' : 'pc_default_hc_mex';
    // switch for js login system
    $js_login = $cr['check_result'] === 2 || !get_option('pg_js_inline_login') ? '' : ' - <span class="pc_login_trig pc_trigger">' . __('login', 'pc_ml') . '</span>';
    $login_form = $js_login ? '<div class="pc_inl_login_wrap" style="display: none;">' . pc_login_form() . '</div>' : '';
    // prepare the message if user is not logged
    echo '<div class="pc_login_block pc_comment_hide"><p>' . pc_get_message($key) . $js_login . '</p></div>' . $login_form;
}
Пример #6
0
function pg_login_form($redirect = '')
{
    return pc_login_form($redirect);
}