Commit d6cfc0b9 authored by Vadim's avatar Vadim

Version 2.2.1

1. Опция Оценки пользователей 2. Readme
parent bd9c416c
......@@ -3,7 +3,7 @@
Plugin Name: Bg Az-Counter
Plugin URI: https://bogaiskov.ru
Description: Подсчет количества посещений страниц на базе stat.azbyka.ru
Version: 2.2
Version: 2.2.1
Author: VBog
Author URI: https://bogaiskov.ru
License: GPL2
......@@ -37,7 +37,7 @@
if ( !defined('ABSPATH') ) {
die( 'Sorry, you are not allowed to access this page directly.' );
}
define('BG_COUNTER_VERSION', '2.2');
define('BG_COUNTER_VERSION', '2.2.1');
define('BG_COUNTER_LOG', dirname(__FILE__ ).'/bg_counter.log');
define('BG_COUNTER_STAT_COUNTERS','https://stat.azbyka.ru/counters');
......
......@@ -143,8 +143,9 @@ function setAllCounts ($request) {
Отображает разметку текста для отображения кол-ва просмотров
и кол-ва читающих пост пользователей
******************************************************************************************/
function bg_az_counter_views ($type=null, $id=null, $now=null) {
function bg_az_counter_views ($type=null, $id=null, $now=null, $rate=null) {
global $project;
$option = get_option('bg_counter_options');
if (is_single() || is_page()) {
if (is_null($id)) {
......@@ -156,9 +157,11 @@ function bg_az_counter_views ($type=null, $id=null, $now=null) {
}
}
if (is_null($now)) {
$option = get_option('bg_counter_options');
$now = $option['now'];
}
if (is_null($rate)) {
$rate = $option['rate'];
}
$link = get_permalink($id);
// Получить имя проекта по ссылке
if (wp_parse_url( $link, PHP_URL_HOST ) == 'azbyka.ru') {
......@@ -178,7 +181,7 @@ function bg_az_counter_views ($type=null, $id=null, $now=null) {
$views = '<i title="Просмотры страницы" class="fa fa-eye"></i> <span class="bg-az-counter-views"></span>';
$users = ' <i title="Сейчас читают страницу" class="fa fa-user-o"></i> <span class="bg-az-counter-now"></span>';
$score = ' <i title="Оценка пользователей" class="fa fa-star-o"></i> <span class="bg-az-counter-score"></span>';
$quote = '<span class="bg-az-counter" data-type="'.$type.'" data-ID="'.$id.'">'.$views.($now?$users:'').$score.'</span>';
$quote = '<span class="bg-az-counter" data-type="'.$type.'" data-ID="'.$id.'">'.$views.($now?$users:'').($rate?$score:'').'</span>';
return $quote;
} else return "";
}
......@@ -199,9 +202,10 @@ function bg_counter_shortcode( $atts ) {
extract( shortcode_atts( array(
'type' => null,
'id' => null,
'now' => null
'now' => null,
'rate' => null
), $atts ) );
$quote = bg_az_counter_views ($type, $id, $now);
$quote = bg_az_counter_views ($type, $id, $now, $rate);
return "{$quote}";
}
......
......@@ -4,7 +4,7 @@
*******************************************************************************************/
// Начальные значения
add_option('bg_counter_options', array('period'=>DAY_IN_SECONDS, 'now'=>0, 'title'=>'', 'author'=>'', 'debug'=>0, 'archive'=>0, 'pvc'=>0, 'wppp'=>0, 'wppm'=>0, 'bgar'=>0));
add_option('bg_counter_options', array('period'=>DAY_IN_SECONDS, 'now'=>0, 'rate'=>1, 'title'=>'', 'author'=>'', 'debug'=>0, 'archive'=>0, 'pvc'=>0, 'wppp'=>0, 'wppm'=>0, 'bgar'=>0));
add_option('bg_pvc_loaded', '');
add_option('bg_wppp_loaded', '');
add_option('bg_wppm_loaded', '');
......@@ -17,6 +17,9 @@ if (!isset($val['period'])) {
if (!isset($val['now'])) {
$val['now'] = 0;
}
if (!isset($val['rate'])) {
$val['rate'] = 1;
}
if (!isset($val['title'])) {
$val['title'] = "";
}
......@@ -148,6 +151,21 @@ function bg_counter_options_page_output(){
?>
</form>
</div>
<script>
// Блокируем изменение всх опций, кроме этой
function blockInputs(el) {
if (jQuery(el).prop ('checked')) {
jQuery('select').prop ('disabled', true);
jQuery('input:text').prop ('disabled', true);
jQuery('input:checkbox').prop ('disabled', true);
} else {
jQuery('select').prop ('disabled', false);
jQuery('input:text').prop ('disabled', false);
jQuery('input:checkbox').prop ('disabled', false);
}
jQuery(el).prop ('disabled', false);
}
</script>
<?php
}
}
......@@ -168,6 +186,7 @@ function bg_counter_settings(){
// параметры: $id, $title, $callback, $page, $section, $args
add_settings_field('bg_counter_period', 'Периодичность обработки данных', 'fill_bg_counter_period', 'bg_counter_page', 'section_1' );
add_settings_field('bg_counter_now', 'Просматривают сейчас', 'fill_bg_counter_now', 'bg_counter_page', 'section_1' );
add_settings_field('bg_counter_rate', 'Оценка пользователями', 'fill_bg_counter_rate', 'bg_counter_page', 'section_1' );
add_settings_field('bg_counter_title', 'Общее название в сниппете по умолчанию', 'fill_bg_counter_title', 'bg_counter_page', 'section_1' );
add_settings_field('bg_counter_author', 'Общее имя автора в сниппете по умолчанию', 'fill_bg_counter_author', 'bg_counter_page', 'section_1' );
add_settings_field('bg_counter_debug', 'Включить отладку', 'fill_bg_counter_debug', 'bg_counter_page', 'section_1' );
......@@ -205,6 +224,15 @@ function fill_bg_counter_now(){
<?php
}
## Заполняем опцию 2a
function fill_bg_counter_rate(){
$val = get_option('bg_counter_options');
$val = $val ? $val['rate'] : null;
?>
<label><input type="checkbox" name="bg_counter_options[rate]" value="1" <?php checked(1, $val ); ?>/> (отображать оценку пользователями данной записи)</label>
<?php
}
## Заполняем опцию 3
function fill_bg_counter_title(){
$val = get_option('bg_counter_options');
......@@ -239,7 +267,7 @@ function fill_bg_counter_sendArchive(){
// Всегда предлагать сохранить не отмеченный
?>
<label><input type="checkbox" name="bg_counter_options[archive]" value="1" /> отметьте и нажмите кнопку «Сохранить изменения» </label>
<label><input type="checkbox" name="bg_counter_options[archive]" value="1" onchange='blockInputs(this);' /> отметьте и нажмите кнопку «Сохранить изменения» </label>
<?php
}
## Заполняем опцию 7
......@@ -257,7 +285,7 @@ function fill_bg_counter_pvc(){
} else {
// Всегда предлагать сохранить не отмеченный
?>
<label><input type="checkbox" name="bg_counter_options[pvc]" value="1" /> отметьте и нажмите кнопку «Сохранить изменения» </label>
<label><input type="checkbox" name="bg_counter_options[pvc]" value="1" onchange='blockInputs(this);' /> отметьте и нажмите кнопку «Сохранить изменения» </label>
<?php
}
}
......@@ -277,7 +305,7 @@ function fill_bg_counter_wppp(){
} else {
// Всегда предлагать сохранить не отмеченный
?>
<label><input type="checkbox" name="bg_counter_options[wppp]" value="1" /> отметьте и нажмите кнопку «Сохранить изменения» </label>
<label><input type="checkbox" name="bg_counter_options[wppp]" value="1" onchange='blockInputs(this);' /> отметьте и нажмите кнопку «Сохранить изменения» </label>
<?php
}
}
......@@ -292,7 +320,7 @@ function fill_bg_counter_wppm(){
} else {
// Всегда предлагать сохранить не отмеченный
?>
<label><input type="checkbox" name="bg_counter_options[wppm]" value="1" /> отметьте и нажмите кнопку «Сохранить изменения» </label>
<label><input type="checkbox" name="bg_counter_options[wppm]" value="1" onchange='blockInputs(this);' /> отметьте и нажмите кнопку «Сохранить изменения» </label>
<?php
}
}
......@@ -307,7 +335,7 @@ function fill_bg_counter_bgar(){
} else {
// Всегда предлагать сохранить не отмеченный
?>
<label><input type="checkbox" name="bg_counter_options[bgar]" value="1" /> отметьте и нажмите кнопку «Сохранить изменения» </label>
<label><input type="checkbox" name="bg_counter_options[bgar]" value="1" onchange='blockInputs(this);' /> отметьте и нажмите кнопку «Сохранить изменения» </label>
<?php
}
}
......@@ -316,34 +344,10 @@ function fill_bg_counter_bgar(){
function bg_counter_sanitize_callback( $options ){
// очищаем
foreach( $options as $name => &$val ){
if( $name == 'period' )
$val = intval( $val );
if( $name == 'now' )
$val = intval( $val );
if( $name == 'title' )
$val = strip_tags( $val );
if( $name == 'author' )
if( $name == 'title' || $name == 'author')
$val = strip_tags( $val );
if( $name == 'debug' )
$val = intval( $val );
if( $name == 'archive' )
$val = intval( $val );
if( $name == 'pvc' )
$val = intval( $val );
if( $name == 'wppp' )
$val = intval( $val );
if( $name == 'wppm' )
$val = intval( $val );
if( $name == 'bgar' )
else
$val = intval( $val );
}
return $options;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment