Plugin Directory

Changeset 1455328


Ignore:
Timestamp:
07/15/2016 01:29:09 PM (10 years ago)
Author:
aparg
Message:
  1. Multisite support
Location:
aparg-slider
Files:
102 added
3 edited

Legend:

Unmodified
Added
Removed
  • aparg-slider/trunk/aparg-slider.php

    r1454086 r1455328  
    44  Plugin Name: Aparg Slider
    55  Description: Aparg Slider is image and video slider with descriptions for each slide and smooth animations.
    6   Version:     2.4
     6  Version:     2.5
    77  Author:      Aparg
    88  Author URI:  http://aparg.com/
     
    7777}
    7878
    79 register_activation_hook(__FILE__, 'apsl_addmyplugin');
     79
     80register_activation_hook( __FILE__, 'apsl_activate' );
     81
     82function apsl_activate( $networkwide ) {
     83      global $wpdb;
     84      if (function_exists( 'is_multisite' ) && is_multisite() ) {
     85         //check if it is network activation if so run the activation function for each id
     86         if( $networkwide ) {
     87            $old_blog =  $wpdb->blogid;
     88            //Get all blog ids
     89            $blogids =  $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" );
     90            foreach ( $blogids as $blog_id ) {
     91               switch_to_blog($blog_id);
     92               //Create database table if not exists
     93               apsl_addmyplugin();
     94            }
     95            switch_to_blog( $old_blog );
     96            return;
     97         }
     98      }
     99      //Create database table if not exists
     100     apsl_addmyplugin();
     101}
     102
     103
     104add_action( 'wpmu_new_blog', 'apsl_create_subscribe_table_mu');
     105/**
     106 * Create subscribe table for new multisite created
     107 *
     108 */
     109function apsl_create_subscribe_table_mu( $blog_id ) {
     110    if ( is_plugin_active_for_network( 'aparg-slider/aparg-slider.php' ) ) {
     111        switch_to_blog( $blog_id );
     112        apsl_addmyplugin();
     113        restore_current_blog();
     114    }
     115}
     116
     117add_filter( 'wpmu_drop_tables', 'delete_subscribe_table_mu' );
     118/**
     119 * Delete subscribe table when multisite blog is deleted
     120*/
     121
     122  function delete_subscribe_table_mu($tables) {
     123     
     124      $apsl_all_table_name = array(
     125      "aparg_flexslider",
     126      "aparg_flexslider_options",
     127      "aparg_flexslider_sliders"
     128      );
     129     global $wpdb;
     130     foreach($apsl_all_table_name as $table_name){
     131     $tables[] = $wpdb->prefix . $table_name;
     132     }
     133     return $tables;
     134 }
    80135
    81136/*
  • aparg-slider/trunk/readme.txt

    r1454086 r1455328  
    33Requires at least: 3.5
    44Tested up to: 4.5.3
    5 Stable tag: 2.4
     5Stable tag: 2.5
    66License: GPLv2 or later
    77License URI: https://wordpress.org/about/gpl/
     
    5656== Changelog ==
    5757
     58= 2.5 =
     59* Multisite support
     60
    5861= 2.4 =
    5962* Minor bug fix
  • aparg-slider/trunk/uninstall.php

    r1452413 r1455328  
    11<?php
     2
     3defined('ABSPATH') or die('No script kiddies please!');
    24//if uninstall not called from WordPress exit
    3 if ( !defined( 'WP_UNINSTALL_PLUGIN' ) )
    4     exit();
     5if (!defined('WP_UNINSTALL_PLUGIN'))
     6    exit();
    57
    6     global $wpdb;
     8$apsl_all_tables = array(
     9    "aparg_flexslider",
     10    "aparg_flexslider_options",
     11    "aparg_flexslider_sliders"
     12);
     13$apsl_all_options = array(
     14    'youtubedb',
     15    'apsl_db_version'
     16);
    717
    8     $table_name = $wpdb->prefix . "aparg_flexslider";
    9     $options_table_name = $wpdb->prefix . "aparg_flexslider_options";
    10     $sliders_table_name = $wpdb->prefix . "aparg_flexslider_sliders";
    11    
    12     $sql_query = "DROP TABLE `".$table_name."`, ";
    13     $sql_query.= "`".$options_table_name."`, ";
    14     $sql_query.= "`".$sliders_table_name."`";
    15     $wpdb->query($sql_query);
    16         delete_option('youtubedb');
    17         delete_option('aparg_db_version');
    18        
     18function apsl_delete_table($apsl_my_table) {
     19    global $wpdb;
     20    $wpdb->query("DROP TABLE IF EXISTS {$wpdb->prefix}$apsl_my_table");
     21}
     22
     23//function apsl_delete_options($apsl_option_name){
     24//    delete_option($apsl_option_name);
     25//}
     26
     27
     28foreach ($apsl_all_options as $apsl_option) {
     29    delete_option($apsl_option);
     30}
     31
     32if (function_exists('is_multisite') && is_multisite()) {
     33    global $wpdb;
     34    $old_blog = $wpdb->blogid;
     35    //Get all blog ids
     36    $blogids = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs");
     37    foreach ($blogids as $blog_id) {
     38        switch_to_blog($blog_id);
     39        foreach ($apsl_all_tables as $apsl_table) {
     40            apsl_delete_table($apsl_table);
     41        }
     42    }
     43    foreach ($apsl_all_options as $apsl_option) {
     44        delete_option($apsl_option);
     45    }
     46
     47    switch_to_blog($old_blog);
     48} else {
     49    foreach ($apsl_all_tables as $apsl_table) {
     50        apsl_delete_table($apsl_table);
     51    }
     52    foreach ($apsl_all_options as $apsl_option) {
     53        delete_option($apsl_option);
     54    }
     55}
     56
     57
Note: See TracChangeset for help on using the changeset viewer.