PluginProbe ʕ •ᴥ•ʔ
WP Popular Posts / 4.1.1
WP Popular Posts v4.1.1
4.0.8 4.0.9 4.1.0 4.1.1 4.1.2 4.2.0 4.2.1 4.2.2 5.0.0 5.0.1 5.0.2 5.1.0 5.2.0 5.2.1 5.2.2 5.2.3 5.2.4 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 6.0.0 6.0.1 6.0.2 6.0.3 6.0.4 6.0.5 6.1.0 6.1.1 6.1.2 6.1.3 6.1.4 6.2.0 6.2.1 6.3.0 6.3.1 6.3.2 6.3.3 6.3.4 6.4.0 6.4.1 6.4.2 7.0.0 7.0.1 7.1.0 7.2.0 7.3.0 7.3.1 7.3.2 7.3.3 7.3.4 7.3.5 7.3.6 7.3.7 7.3.8 7.4.0 trunk 2.3.7 3.0.0 3.0.1 3.0.2 3.0.3 3.1.0 3.1.1 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 4.0.0 4.0.1 4.0.10 4.0.11 4.0.12 4.0.13 4.0.2 4.0.3 4.0.5 4.0.6
wordpress-popular-posts / includes / class-wordpress-popular-posts-activator.php
wordpress-popular-posts / includes Last commit date
class-wordpress-popular-posts-activator.php 8 years ago class-wordpress-popular-posts-deactivator.php 8 years ago class-wordpress-popular-posts-helper.php 8 years ago class-wordpress-popular-posts-i18n.php 8 years ago class-wordpress-popular-posts-image.php 8 years ago class-wordpress-popular-posts-loader.php 8 years ago class-wordpress-popular-posts-output.php 8 years ago class-wordpress-popular-posts-query.php 8 years ago class-wordpress-popular-posts-rest-controller.php 8 years ago class-wordpress-popular-posts-settings.php 8 years ago class-wordpress-popular-posts-template.php 8 years ago class-wordpress-popular-posts-translate.php 8 years ago class-wordpress-popular-posts-widget.php 8 years ago class-wordpress-popular-posts.php 8 years ago widget-form.php 8 years ago
class-wordpress-popular-posts-activator.php
137 lines
1 <?php
2
3 /**
4 * Fired during plugin activation
5 *
6 * @link http://cabrerahector.com
7 * @since 4.0.0
8 *
9 * @package WordPressPopularPosts
10 * @subpackage WordPressPopularPosts/includes
11 */
12
13 /**
14 * Fired during plugin activation.
15 *
16 * This class defines all code necessary to run during the plugin's activation.
17 *
18 * @since 4.0.0
19 * @package WordPressPopularPosts
20 * @subpackage WordPressPopularPosts/includes
21 * @author Hector Cabrera <me@cabrerahector.com>
22 */
23 class WPP_Activator {
24
25 /**
26 * Fired when the plugin is activated.
27 *
28 * @since 1.0.0
29 * @param bool $network_wide True if WPMU superadmin uses "Network Activate" action, false if WPMU is disabled or plugin is activated on an individual blog.
30 */
31 public static function activate( $network_wide ) {
32
33 global $wpdb;
34
35 if ( function_exists( 'is_multisite' ) && is_multisite() ) {
36
37 // run activation for each blog in the network
38 if ( $network_wide ) {
39
40 $original_blog_id = get_current_blog_id();
41 $blogs_ids = $wpdb->get_col( "SELECT blog_id FROM {$wpdb->blogs}" );
42
43 foreach( $blogs_ids as $blog_id ) {
44 switch_to_blog( $blog_id );
45 self::plugin_activate();
46 }
47
48 // switch back to current blog
49 switch_to_blog( $original_blog_id );
50
51 return;
52
53 }
54
55 }
56
57 self::plugin_activate();
58
59 } // end activate
60
61 /**
62 * When a new MU site is added, generate its WPP DB tables.
63 *
64 * @since 4.0.0
65 */
66 public static function track_new_site() {
67 self::plugin_activate();
68 } // end track_new_site
69
70 /**
71 * On plugin activation, checks that the WPP database tables are present.
72 *
73 * @since 2.4.0
74 * @global object wpdb
75 */
76 private static function plugin_activate() {
77
78 // Get WPP version
79 $wpp_ver = get_option( 'wpp_ver' );
80
81 if (
82 !$wpp_ver
83 || version_compare( $wpp_ver, WPP_VER, '<' )
84 ) {
85 global $wpdb;
86
87 $prefix = $wpdb->prefix . "popularposts";
88 self::do_db_tables( $prefix );
89 }
90
91 } // end plugin_activate
92
93 /**
94 * Creates/updates the WPP database tables.
95 *
96 * @since 2.4.0
97 * @global object wpdb
98 */
99 private static function do_db_tables( $prefix ) {
100
101 global $wpdb;
102
103 $charset_collate = "";
104
105 if ( !empty( $wpdb->charset ) )
106 $charset_collate = "DEFAULT CHARACTER SET {$wpdb->charset} ";
107
108 if ( !empty( $wpdb->collate ) )
109 $charset_collate .= "COLLATE {$wpdb->collate}";
110
111 $sql = "
112 CREATE TABLE {$prefix}data (
113 postid bigint(20) NOT NULL,
114 day datetime NOT NULL,
115 last_viewed datetime NOT NULL,
116 pageviews bigint(20) DEFAULT 1,
117 PRIMARY KEY (postid)
118 ) {$charset_collate} ENGINE=InnoDB;
119 CREATE TABLE {$prefix}summary (
120 ID bigint(20) NOT NULL AUTO_INCREMENT,
121 postid bigint(20) NOT NULL,
122 pageviews bigint(20) NOT NULL DEFAULT 1,
123 view_date date NOT NULL,
124 view_datetime datetime NOT NULL,
125 PRIMARY KEY (ID),
126 KEY postid (postid),
127 KEY view_date (view_date),
128 KEY view_datetime (view_datetime)
129 ) {$charset_collate} ENGINE=InnoDB;";
130
131 require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
132 dbDelta( $sql );
133
134 } // end do_db_tables
135
136 } // end WPP_Activator class
137