| 1 |
<?php |
| 2 |
|
| 3 |
// Exit if accessed directly |
| 4 |
if ( ! defined( 'ABSPATH' ) ) exit; |
| 5 |
|
| 6 |
/******************************************************* |
| 7 |
Widget |
| 8 |
*******************************************************/ |
| 9 |
include( plugin_dir_path(__FILE__) . 'classes/class-widget.php'); |
| 10 |
|
| 11 |
/** |
| 12 |
* Register WP ULike Widgets |
| 13 |
* |
| 14 |
* @author Alimir |
| 15 |
* @since 1.2 |
| 16 |
* @updated 2.0 |
| 17 |
* @return Void |
| 18 |
*/ |
| 19 |
function wp_ulike_load_widget() { |
| 20 |
register_widget( 'wp_ulike_widget' ); |
| 21 |
} |
| 22 |
add_action( 'widgets_init', 'wp_ulike_load_widget' ); |
| 23 |
|
| 24 |
/******************************************************* |
| 25 |
WP ULike CopyRight |
| 26 |
*******************************************************/ |
| 27 |
//check for wp ulike page |
| 28 |
if(isset($_GET["page"]) && stripos($_GET["page"], "wp-ulike") !== false) |
| 29 |
add_filter( 'admin_footer_text', 'wp_ulike_copyright'); |
| 30 |
/** |
| 31 |
* Add WP ULike CopyRight in footer |
| 32 |
* |
| 33 |
* @author Alimir |
| 34 |
* @param String $content |
| 35 |
* @since 2.0 |
| 36 |
* @return String |
| 37 |
*/ |
| 38 |
function wp_ulike_copyright( $text ) { |
| 39 |
return sprintf( __( ' Thank you for choosing <a href="%s" title="Wordpress ULike" target="_blank">WP ULike</a>. Created by <a href="%s" title="Wordpress ULike" target="_blank">Ali Mirzaei</a>' ), 'http://wordpress.org/plugins/wp-ulike/', 'http://about.alimir.ir' ); |
| 40 |
} |
| 41 |
|
| 42 |
/******************************************************* |
| 43 |
Plugin Dashboard Menu Settings |
| 44 |
*******************************************************/ |
| 45 |
|
| 46 |
//include about menu functions |
| 47 |
include( plugin_dir_path(__FILE__) . 'about.php'); |
| 48 |
|
| 49 |
//include logs menu functions |
| 50 |
include( plugin_dir_path(__FILE__) . 'logs.php'); |
| 51 |
|
| 52 |
//include statistics menu functions |
| 53 |
include( plugin_dir_path(__FILE__) . 'stats.php'); |
| 54 |
|
| 55 |
/** |
| 56 |
* Start Setting Class Options |
| 57 |
* |
| 58 |
* @author Alimir |
| 59 |
* @since 1.7 |
| 60 |
* @updated 2.0 |
| 61 |
* @return String |
| 62 |
*/ |
| 63 |
|
| 64 |
//include setting class |
| 65 |
include( plugin_dir_path(__FILE__) . 'classes/class-settings.php' ); |
| 66 |
//include setting templates |
| 67 |
include( plugin_dir_path(__FILE__) . 'classes/tmp/settings.php' ); |
| 68 |
|
| 69 |
//activate general setting panel |
| 70 |
$wp_ulike_setting = wp_ulike_create_settings_page( |
| 71 |
'wp-ulike-settings', |
| 72 |
__( 'WP ULike Settings', 'alimir' ), |
| 73 |
array( |
| 74 |
'parent' => false, |
| 75 |
'title' => __( 'WP ULike', 'alimir' ), |
| 76 |
'icon_url' => 'dashicons-smiley' |
| 77 |
), |
| 78 |
array( |
| 79 |
'wp_ulike_general' => $wp_ulike_general |
| 80 |
), |
| 81 |
array( |
| 82 |
'tabs' => true, |
| 83 |
'updated' => __('Settings saved.','alimir') |
| 84 |
) |
| 85 |
); |
| 86 |
|
| 87 |
//activate other settings panels |
| 88 |
$wp_ulike_setting->apply_settings( array( |
| 89 |
'wp_ulike_posts' => $wp_ulike_posts, |
| 90 |
'wp_ulike_comments' => $wp_ulike_comments, |
| 91 |
'wp_ulike_buddypress' => $wp_ulike_buddypress, |
| 92 |
'wp_ulike_bbpress' => $wp_ulike_bbpress, |
| 93 |
'wp_ulike_customize' => $wp_ulike_customize |
| 94 |
) ); |
| 95 |
|
| 96 |
|
| 97 |
function wp_ulike_delete_all_logs() { |
| 98 |
global $wpdb; |
| 99 |
$get_action = $_POST['action']; |
| 100 |
//$wpdb->hide_errors(); |
| 101 |
|
| 102 |
if($get_action == 'wp_ulike_posts_delete_logs'){ |
| 103 |
$logs_table = $wpdb->prefix."ulike"; |
| 104 |
} else if($get_action == 'wp_ulike_comments_delete_logs'){ |
| 105 |
$logs_table = $wpdb->prefix."ulike_comments"; |
| 106 |
} else if($get_action == 'wp_ulike_buddypress_delete_logs'){ |
| 107 |
$logs_table = $wpdb->prefix."ulike_activities"; |
| 108 |
} else if($get_action == 'wp_ulike_bbpress_delete_logs'){ |
| 109 |
$logs_table = $wpdb->prefix."ulike_forums"; |
| 110 |
} |
| 111 |
|
| 112 |
if ($wpdb->query("TRUNCATE TABLE $logs_table") === FALSE) { |
| 113 |
wp_send_json_error( __( 'Failed! An Error Has Occurred While Deleting All ULike Logs/Data', 'alimir' ) ); |
| 114 |
} else { |
| 115 |
wp_send_json_success( __( 'Success! All ULike Logs/Data Have Been Deleted', 'alimir' ) ); |
| 116 |
} |
| 117 |
} |
| 118 |
|
| 119 |
function wp_ulike_delete_all_data() { |
| 120 |
global $wpdb; |
| 121 |
$get_action = $_POST['action']; |
| 122 |
//$wpdb->hide_errors(); |
| 123 |
|
| 124 |
if($get_action == 'wp_ulike_posts_delete_data'){ |
| 125 |
$meta_table = $wpdb->prefix."postmeta"; |
| 126 |
$meta_key = '_liked'; |
| 127 |
} else if($get_action == 'wp_ulike_comments_delete_data'){ |
| 128 |
$meta_table = $wpdb->prefix."commentmeta"; |
| 129 |
$meta_key = '_commentliked'; |
| 130 |
} else if($get_action == 'wp_ulike_buddypress_delete_data'){ |
| 131 |
$meta_table = $wpdb->prefix."bp_activity_meta"; |
| 132 |
$meta_key = '_activityliked'; |
| 133 |
} else if($get_action == 'wp_ulike_bbpress_delete_data'){ |
| 134 |
$meta_table = $wpdb->prefix."postmeta"; |
| 135 |
$meta_key = '_topicliked'; |
| 136 |
} |
| 137 |
|
| 138 |
$do_action = $wpdb->delete($meta_table, array( 'meta_key' => $meta_key )); |
| 139 |
|
| 140 |
if ($do_action === FALSE) { |
| 141 |
wp_send_json_error( __( 'Failed! An Error Has Occurred While Deleting All ULike Logs/Data', 'alimir' )); |
| 142 |
} else { |
| 143 |
wp_send_json_success( __( 'Success! All ULike Logs/Data Have Been Deleted', 'alimir' ) ); |
| 144 |
} |
| 145 |
} |
| 146 |
|
| 147 |
/** |
| 148 |
* Add menu to admin |
| 149 |
* |
| 150 |
* @author Alimir |
| 151 |
* @since 1.0 |
| 152 |
* @updated 2.2 |
| 153 |
* @return String |
| 154 |
*/ |
| 155 |
add_action('admin_menu', 'wp_ulike_admin_menu'); |
| 156 |
function wp_ulike_admin_menu() { |
| 157 |
|
| 158 |
//Post Like Logs Menu |
| 159 |
$posts_screen = add_submenu_page(null, __( 'Post Likes Logs', 'alimir' ), __( 'Post Likes Logs', 'alimir' ), 'manage_options', 'wp-ulike-post-logs', 'wp_ulike_post_likes_logs'); |
| 160 |
add_action("load-$posts_screen",'wp_ulike_logs_per_page'); |
| 161 |
|
| 162 |
//Comment Like Logs Menu |
| 163 |
$comments_screen = add_submenu_page(null, __( 'Comment Likes Logs', 'alimir' ), __( 'Comment Likes Logs', 'alimir' ), 'manage_options','wp-ulike-comment-logs', 'wp_ulike_comment_likes_logs'); |
| 164 |
add_action("load-$comments_screen",'wp_ulike_logs_per_page'); |
| 165 |
|
| 166 |
//Activity Like Logs Menu |
| 167 |
$activities_screen = add_submenu_page(null, __( 'Activity Likes Logs', 'alimir' ), __( 'Activity Likes Logs', 'alimir' ), 'manage_options', 'wp-ulike-bp-logs', 'wp_ulike_buddypress_likes_logs'); |
| 168 |
add_action("load-$activities_screen",'wp_ulike_logs_per_page'); |
| 169 |
|
| 170 |
//Activity Like Logs Menu |
| 171 |
$topics_screen = add_submenu_page(null, __( 'Topics Likes Logs', 'alimir' ), __( 'Topics Likes Logs', 'alimir' ), 'manage_options', 'wp-ulike-bbpress-logs', 'wp_ulike_bbpress_likes_logs'); |
| 172 |
add_action("load-$topics_screen",'wp_ulike_logs_per_page'); |
| 173 |
|
| 174 |
//Statistics Menu |
| 175 |
$statistics_screen = add_submenu_page('wp-ulike-settings', __( 'WP ULike Statistics', 'alimir' ), __( 'WP ULike Statistics', 'alimir' ), 'manage_options', 'wp-ulike-statistics', 'wp_ulike_statistics'); |
| 176 |
add_action("load-$statistics_screen",'wp_ulike_statistics_register_option'); |
| 177 |
|
| 178 |
//WP ULike About Menu |
| 179 |
add_submenu_page('wp-ulike-settings', __( 'About WP ULike', 'alimir' ), __( 'About WP ULike', 'alimir' ), 'manage_options', 'wp-ulike-about', 'wp_ulike_about_page'); |
| 180 |
} |