Changeset 2821105
- Timestamp:
- 11/20/2022 10:02:24 AM (3 years ago)
- Location:
- mi13-like/trunk
- Files:
-
- 3 edited
-
js/mi13_like.js (modified) (2 diffs)
-
mi13-like.php (modified) (8 diffs)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
mi13-like/trunk/js/mi13_like.js
r1996520 r2821105 1 1 /* 2 mi13_like script 0.12 mi13_like script ver 0.2 3 3 */ 4 4 5 5 jQuery(function ($) { 6 6 var mi13_like = function() { 7 id = $(this).attr('id');data = $(this).attr('data');like = $(this).attr('like');dislike = $(this).attr('dislike');7 id = $(this).attr('id');data = $(this).attr('data');flag = $(this).attr('flag'); 8 8 if (navigator.cookieEnabled == true) { 9 $(this).parent().load(mi13_like_ajax.url+'?action=mi13_like&id='+id+'&data='+data+'& like='+like+'&dislike='+dislike+'&nonce='+mi13_like_ajax.nonce);9 $(this).parent().load(mi13_like_ajax.url+'?action=mi13_like&id='+id+'&data='+data+'&flag='+flag+'&nonce='+mi13_like_ajax.nonce); 10 10 } else { 11 11 $(this).siblings('.mi13_like_note').html(mi13_like_ajax.message); … … 15 15 $('#mi13_like_down').one('click', mi13_like); 16 16 }); 17 18 -
mi13-like/trunk/mi13-like.php
r2597834 r2821105 4 4 Plugin URI: https://wordpress.org/plugins/mi13-like/ 5 5 Description: The plugin likes for your posts. 6 Version: 0.1 16 Version: 0.12 7 7 Author: mi13 8 8 9 Copyright 2018 Mihail Nebov (email: mihail_teo@mail.ru)9 Copyright 2018 - 2021 Mihail Nebov (email: mihail_teo@mail.ru) 10 10 11 11 This program is free software; you can redistribute it and/or modify … … 40 40 'priority' => 11, 41 41 'style' => 'margin-top:8px;background:#fff;color:#ccc;', 42 'style_for_your_vote' =>'color:#828282;', 42 43 'like_class' => 'icon-thumb-up', 43 'dislike_class' => 'icon-thumb-down'); 44 'dislike_class' => 'icon-thumb-down' 45 ); 44 46 add_option('mi13_like', $default_settings); 45 47 } … … 57 59 wp_enqueue_style('mi13-like-icomoon', plugins_url('/css/icomoon/style.css',__FILE__), false,'0.1','all'); 58 60 wp_enqueue_script('jquery'); 59 wp_enqueue_script('mi13_like', plugins_url('/js/mi13_like.js',__FILE__), array('jquery'),'0. 1',true);61 wp_enqueue_script('mi13_like', plugins_url('/js/mi13_like.js',__FILE__), array('jquery'),'0.2',true); 60 62 wp_localize_script( 'mi13_like', 'mi13_like_ajax', 61 63 array( … … 73 75 } 74 76 function mi13_like_menu() { 75 $page = add_options_page('mi13 like', 'mi13-like', 'manage_options', 'mi13_like', 'mi13_like_page'); 77 $page = add_options_page( 78 'mi13 like', 'mi13-like', 79 'manage_options', 80 'mi13_like', 81 'mi13_like_page' 82 ); 76 83 add_action( 'admin_print_scripts-' . $page, 'mi13_like_admin_scripts' ); 77 84 } … … 85 92 $settings['priority'] = (isset($settings['priority']) && !empty($settings['priority'])) ? $settings['priority'] : 11; 86 93 $settings['style'] = strip_tags($settings['style']); 94 $settings['style_for_your_vote'] = isset($settings['style_for_your_vote']) ? strip_tags($settings['style_for_your_vote']) : 'color:#828282;'; 87 95 $settings['like_class'] = strip_tags($settings['like_class']); 88 96 $settings['dislike_class'] = strip_tags($settings['dislike_class']); … … 239 247 </tr> 240 248 <tr> 249 <th scope="row">vote style:</th> 250 <td><input type="text" name="mi13_like[style_for_your_vote]" value="<?php echo get_option('mi13_like')['style_for_your_vote']; ?>" size="50"></td> 251 </tr> 252 <tr> 241 253 <th scope="row">like class:</th> 242 254 <td><input type="text" name="mi13_like[like_class]" value="<?php echo get_option('mi13_like')['like_class']; ?>" size="50"></td> … … 277 289 $dislike_class = $settings['dislike_class']; 278 290 $div_style = $settings['style']; 291 $style_like = ''; 292 $style_dislike = ''; 293 $flag='x'; 279 294 $div_open = $div.' style="'.$div_style.'"'; 280 295 if ( (isset($_COOKIE["mi13_like_$id"])) || ($nonce==$nonce_old) ) { // Накрутка (удалены куки) 281 296 if (isset($_COOKIE["mi13_like_$id"])) { 282 if($_COOKIE["mi13_like_$id"]=='mi13_like_up') $note.=$settings['like_note']; 283 elseif($_COOKIE["mi13_like_$id"]=='mi13_like_down') $note.=$settings['dislike_note']; 297 if($_COOKIE["mi13_like_$id"]=='mi13_like_up') { 298 $note.=$settings['like_note']; 299 $style_like .= $settings['style_for_your_vote']; 300 $flag = 'like'; 301 } 302 elseif($_COOKIE["mi13_like_$id"]=='mi13_like_down') { 303 $note.=$settings['dislike_note']; 304 $style_dislike .= $settings['style_for_your_vote']; 305 $flag = 'dislike'; 306 } 307 elseif($nonce==$nonce_old) { 308 $flag = 'repeat'; 309 } 284 310 } 285 311 $button_like = '<i class="'.$like_class.'" style="'.$style.'"></i>'; 286 312 $button_dislike = '<i class="'.$dislike_class.'" style="'.$style.'"></i>'; 287 } else {288 $button_like = '<i id="mi13_like_up" class="'.$like_class.'" role="button" data="'.$id.'" like="'.$like.'" dislike="'.$dislike.'" title="'.__('I liked it','mi13-like').'" style="'.$style.'"></i>';289 $button_dislike = '<i id="mi13_like_down" class="'.$dislike_class.'" role="button" data="'.$id.'" like="'.$like.'" dislike="'.$dislike.'" title="'.__('I disliked it','mi13-like').'" style="'.$style.'"></i>';290 313 } 314 $button_like = '<i id="mi13_like_up" class="'.$like_class.'" role="button" data="'.$id.'" flag="'.$flag.'" title="'.__('I liked it','mi13-like').'" style="'.$style.$style_like.'" aria-label="like"></i>'; 315 $button_dislike = '<i id="mi13_like_down" class="'.$dislike_class.'" role="button" data="'.$id.'" flag="'.$flag.'" title="'.__('I disliked it','mi13-like').'" style="'.$style.$style_dislike.'" aria-label="dislike"></i>'; 291 316 return '<'.$div_open.' class="mi13_like" aria-hidden="true">'.$button_like.'<span class="mi13_like_like">'.$like.'</span>'.$button_dislike.'<span class="mi13_like_dislike">'.$dislike.'</span><span class="mi13_like_note">'.$note.'</span></'.$div.'>'; 292 317 } … … 308 333 function mi13_like_ajax() { 309 334 check_ajax_referer( 'mi13_like', 'nonce' ); // Проверка nonce 310 $nonce = $_GET['nonce'];311 $ id = $_GET['id'];312 $data = $_GET['data'];313 $ like = intval($_GET['like']);314 $ dislike = intval($_GET['dislike']);315 if ($ data>0) {316 $post = get_post($data);317 if (!$post) wp_die('request failed - 2'); // Нет поста с таким id318 } else wp_die('request failed - 1'); // нет id поста335 $nonce = isset($_GET['nonce']) ? $_GET['nonce'] : ''; 336 $vote = isset($_GET['id']) ? $_GET['id'] : ''; 337 if (($vote!='mi13_like_down') && ($vote!='mi13_like_up')) wp_die('request failed - 1'); // Не понятно за или против 338 $data = isset($_GET['data']) ? intval($_GET['data']) : -1; 339 $flag = isset($_GET['flag']) ? $_GET['flag'] : ''; 340 if ($flag=='repeat') wp_die('request failed - 2'); // Накрутка 341 if( empty($nonce) || $data<=0 || empty($flag) ) wp_die('request failed - 3'); 342 $post = get_post($data); 343 if (!$post) wp_die('request failed - 3'); // Нет поста с таким id 319 344 update_post_meta ("$data",'mi13_like_nonce',$nonce); 320 if(isset($_COOKIE["mi13_like_$data"])) wp_die('request failed - 3'); // Прямой запрос 321 $like_old = intval(get_post_meta ("$data",'mi13_like_up',true)); 322 $dislike_old = intval(get_post_meta ("$data",'mi13_like_down',true)); 323 if (($dislike!=$dislike_old) && ($like!=$like_old)) wp_die('request failed - 4'); // Накрутка 324 if (($id!='mi13_like_down') && ($id!='mi13_like_up')) wp_die('request failed - 5'); // Не понятно за или против 325 elseif ($id=='mi13_like_down') { 326 $dislike += 1; 327 update_post_meta ("$data",'mi13_like_down',$dislike); 345 $like = intval(get_post_meta ("$data",'mi13_like_up',true)); 346 $dislike = intval(get_post_meta ("$data",'mi13_like_down',true)); 347 $style_like = ''; 348 $style_dislike = ''; 349 $settings = get_option('mi13_like'); 350 if($vote=='mi13_like_down') { 351 if($flag=='dislike' && $dislike>0) { 352 $dislike -= 1; 353 update_post_meta ("$data",'mi13_like_down',$dislike); 354 $vote = ''; 355 } 356 elseif($flag=='like' && $like>0) { 357 $like -= 1; 358 $dislike += 1; 359 update_post_meta ("$data",'mi13_like_up',$like); 360 update_post_meta ("$data",'mi13_like_down',$dislike); 361 $style_dislike .= $settings['style_for_your_vote']; 362 } 363 else { 364 $dislike += 1; 365 update_post_meta ("$data",'mi13_like_down',$dislike); 366 $style_dislike .= $settings['style_for_your_vote']; 367 } 328 368 } else { 329 $like += 1; 330 update_post_meta ("$data",'mi13_like_up',$like); 369 if($flag=='like' && $like>0) { 370 $like -= 1; 371 update_post_meta ("$data",'mi13_like_up',$like); 372 $vote = ''; 373 } 374 elseif($flag=='dislike' && $dislike>0) { 375 $like += 1; 376 $dislike -= 1; 377 update_post_meta ("$data",'mi13_like_up',$like); 378 update_post_meta ("$data",'mi13_like_down',$dislike); 379 $style_like .= $settings['style_for_your_vote']; 380 } 381 else { 382 $like += 1; 383 update_post_meta ("$data",'mi13_like_up',$like); 384 $style_like .= $settings['style_for_your_vote']; 385 } 331 386 }; 332 setcookie("mi13_like_$data", $ id, time() + 30000000, COOKIEPATH, COOKIE_DOMAIN );387 setcookie("mi13_like_$data", $vote, time() + 30000000, COOKIEPATH, COOKIE_DOMAIN ); 333 388 $style = 'font-family: \'icomoon\' !important;'; 334 echo '<i class="icon-thumb-up" style="'.$style.'"></i><span class="mi13_like_like">'.$like.'</span><i class="icon-thumb-down" style="'.$style.'"></i><span class="mi13_like_dislike">'.$dislike.'</span><span class="mi13_like_note">'.get_option('mi13_like')['thank_you_note'].'</span>'; 389 $note = get_option('mi13_like')['thank_you_note']; 390 $like_class = $settings['like_class']; 391 $dislike_class = $settings['dislike_class']; 392 $button_like = '<i class="'.$like_class.'" style="'.$style.$style_like.'" aria-label="like"></i>'; 393 $button_dislike = '<i class="'.$dislike_class.'" style="'.$style.$style_dislike.'" aria-label="dislike"></i>'; 394 echo $button_like.'<span class="mi13_like_like">'.$like.'</span>'.$button_dislike.'<span class="mi13_like_dislike">'.$dislike.'</span><span class="mi13_like_note">'.$note.'</span>'; 335 395 wp_die(); 336 396 } -
mi13-like/trunk/readme.txt
r2597834 r2821105 4 4 Donate link: https://money.yandex.ru/to/41001276246895 5 5 Requires at least: 4.7 6 Tested up to: 5.8.17 Stable tag: 0.1 16 Tested up to: 6.1.1 7 Stable tag: 0.12 8 8 9 9 Плагин лайков для ваших постов. … … 50 50 = 0.11 = 51 51 * Добавлен виджет популярных постов на основе лайков, доработан код. 52 = 0.12 = 53 * Добавлена возможность менять голос и поле для стиля активного голоса в настройках.
Note: See TracChangeset
for help on using the changeset viewer.