1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
| <?php
/*
Plugin Name: myplug
Plugin URI: http://www.myplug.com/
Description: myplug is a CRUD wordpress plugin.
Version: 1.0.0
Author: John DOE
Author URI: http://johndo.com/
*/
class myplug{
public $DB_VERSION = '1.0.0';
/**
* Constructor
*/
function __construct(){
}
/**
* Install the plugin
* @global wpdb $wpdb
*/
static function install(){
global $wpdb;
$myMessagesTableName = $wpdb->prefix.'myMessages';
if($wpdb->get_var("SHOW TABLES LIKE '$myMessagesTableName'") != $myMessagesTableName){
//création de la table
$sql = "CREATE TABLE `$myMessagesTableName` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR(50) NOT NULL
) ;";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
$option['myplug_version'] = $DB_VERSION;
}
add_option('myplug_version',$option);
}
/**
* Uninstall the plugin
* @global wpdb $wpdb
*/
static function uninstall(){
global $wpdb;
$myMessagesTableName = $wpdb->prefix.'myMessages';
if($wpdb->get_var("SHOW TABLES LIKE '$myMessagesTableName'") == $myMessagesTableName){
//création de la table
$sql = "DROP TABLE `$myMessagesTableName`";
$wpdb->query($sql);
}
delete_option('myplug_version');
/*delete_option($this->adminOptionsName);
delete_option($this->userOptionsName);*/
}
/**
* Return the content of the table
* @global wpdb $wpdb
* @return array $messages
*/
function getMessages(){
global $wpdb;
$myMessagesTableName = $wpdb->prefix.'myMessages';
$sql = $wpdb->prepare("SELECT * FROM $myMessagesTableName ");
$messages = $wpdb->get_results($sql);
return $messages;
}
}
register_activation_hook( __FILE__ ,array('myplug', 'install')) ;
register_deactivation_hook( __FILE__ ,array('myplug', 'uninstall')) ;
?> |