369 lines
11 KiB
PHP
Executable File
369 lines
11 KiB
PHP
Executable File
<?php
|
|
/*
|
|
* Plugin Name: d12 Message Blocks
|
|
* Plugin URI: http://kjodle.net/wordpress/d12-message-blocks/
|
|
* Description: Adds shortcodes for message blocks.
|
|
* Version: 2.4
|
|
* Author: Kenneth John Odle
|
|
* Author URI: http://kjodle.net/
|
|
* Text Domain: d12-message-blocks
|
|
* Domain Path: /lang
|
|
* License: GPL3
|
|
*/
|
|
|
|
/*
|
|
Icons courtesy of Fat Cow
|
|
http://www.fatcow.com/free-icons
|
|
*/
|
|
|
|
defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
|
|
|
|
// Load our translations
|
|
load_plugin_textdomain( 'lang');
|
|
function d12mb_tinymce_plugin_add_locale($locales) {
|
|
$locales ['My-Custom-Tinymce-Plugin'] = plugin_dir_path ( __FILE__ ) . 'd12mb-tinymce-plugin-langs.php';
|
|
return $locales;
|
|
}
|
|
add_filter('mce_external_languages', 'd12mb_tinymce_plugin_add_locale');
|
|
|
|
|
|
// Initialize our array if it's not set
|
|
|
|
|
|
// Retrieve Message Block options from database, register appropriate stylesheet, and enqueue
|
|
function d12bs_retrieve() {
|
|
$mbbsoptions = get_option('d12mb_options');
|
|
switch($mbbsoptions['bs']) {
|
|
case "1" :
|
|
wp_enqueue_style( 'd12mb', plugins_url('css/bs-round-single-thin.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "2" :
|
|
wp_enqueue_style( 'd12mb', plugins_url('css/bs-round-single-thick.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "3" :
|
|
wp_enqueue_style( 'd12mb', plugins_url('css/bs-round-double.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "4" :
|
|
wp_enqueue_style( 'd12mb', plugins_url('css/bs-square-single-thin.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "5" :
|
|
wp_enqueue_style( 'd12mb', plugins_url('css/bs-square-single-thick.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "6" :
|
|
wp_enqueue_style( 'd12mb', plugins_url('css/bs-square-double.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "7" :
|
|
wp_enqueue_style( 'd12mb', plugins_url('css/bs-mw-thick-thin.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "8" :
|
|
wp_enqueue_style( 'd12mb', plugins_url('css/bs-mw-thick-thick.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "9" :
|
|
wp_enqueue_style( 'd12mb', plugins_url('css/bs-mw-thin-thick.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "10" :
|
|
wp_enqueue_style( 'd12mb', plugins_url('css/bs-mw-thin-thin.css', __FILE__), false, '2.3' );
|
|
break;
|
|
default:
|
|
wp_enqueue_style( 'd12mb', plugins_url('css/bs-round-single-thick.css', __FILE__), false, '2.3' );
|
|
return;
|
|
}
|
|
}
|
|
add_action( 'wp_enqueue_scripts', 'd12bs_retrieve' );
|
|
|
|
|
|
// Retrieve Message Block options from database, register appropriate stylesheet, and enqueue
|
|
function d12cs_retrieve() {
|
|
$mbcsoptions = get_option('d12mb_options');
|
|
switch($mbcsoptions['cs']) {
|
|
case "1" :
|
|
wp_enqueue_style( 'd12cs', plugins_url('css/cs-default.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "2" :
|
|
wp_enqueue_style( 'd12cs', plugins_url('css/cs-business.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "3" :
|
|
wp_enqueue_style( 'd12cs', plugins_url('css/cs-beach.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "4" :
|
|
wp_enqueue_style( 'd12cs', plugins_url('css/cs-sol.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "5" :
|
|
wp_enqueue_style( 'd12cs', plugins_url('css/cs-aqua.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "6" :
|
|
wp_enqueue_style( 'd12cs', plugins_url('css/cs-forest.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "7" :
|
|
wp_enqueue_style( 'd12cs', plugins_url('css/cs-winter.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "8" :
|
|
wp_enqueue_style( 'd12cs', plugins_url('css/cs-magique.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "9" :
|
|
wp_enqueue_style( 'd12cs', plugins_url('css/cs-solstice.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "10" :
|
|
wp_enqueue_style( 'd12cs', plugins_url('css/cs-bark.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "11" :
|
|
wp_enqueue_style( 'd12cs', plugins_url('css/cs-leaves.css', __FILE__), false, '2.3' );
|
|
break;
|
|
case "12" :
|
|
wp_enqueue_style( 'd12cs', plugins_url('css/cs-bw.css', __FILE__), false, '2.3' );
|
|
break;
|
|
default:
|
|
wp_enqueue_style( 'd12cs', plugins_url('css/cs-default.css', __FILE__), false, '2.3' );
|
|
return;
|
|
}
|
|
}
|
|
add_action( 'wp_enqueue_scripts', 'd12cs_retrieve' );
|
|
|
|
|
|
/* Enqueue a mobile style sheet if necessary */
|
|
function d12_shortcodes_mobile_style() {
|
|
wp_enqueue_style( 'd12mb-mobilestyle', plugins_url( '/css/d12mb-mobile.css', __FILE__), array(), '2.3', 'screen and (max-width: 640px)' );
|
|
}
|
|
add_action( 'wp_enqueue_scripts', 'd12_shortcodes_mobile_style' );
|
|
|
|
|
|
/* Enqueue our back end style sheet */
|
|
function d12_shortcodes_admin_styles() {
|
|
wp_enqueue_style( 'd12mb-screenstyle', plugins_url( '/css/d12mb-admin.css', __FILE__) , array(), '2.3', 'screen' );
|
|
}
|
|
add_action( 'admin_enqueue_scripts', 'd12_shortcodes_admin_styles' );
|
|
|
|
|
|
/*
|
|
* Functions for our shortcodes *
|
|
*/
|
|
|
|
/* Nutshell */
|
|
function d12_nutshell( $atts, $content= NULL) {
|
|
$filestring = '<div class="d12-block d12-nutshell"><div class="d12-sc-text"><p><strong>' .
|
|
__( 'This article in a nutshell:', 'd12-message-blocks' )
|
|
. '</strong></p>' . $content . '</div></div>';
|
|
return $filestring;
|
|
}
|
|
add_shortcode( 'd12-nutshell' , 'd12_nutshell' );
|
|
|
|
/* Update */
|
|
function d12_update( $atts, $content= NULL) {
|
|
$filestring = '<div class="d12-block d12-update"><div class="d12-sc-text"><p><strong>' .
|
|
__( 'Update Information:', 'd12-message-blocks' )
|
|
. '</strong></p>' . $content . '</div></div>';
|
|
return $filestring;
|
|
}
|
|
add_shortcode( 'd12-update' , 'd12_update' );
|
|
|
|
/* Attach */
|
|
function d12_attach( $atts, $content= NULL) {
|
|
$filestring = '<div class="d12-block d12-attach"><div class="d12-sc-text"><p><strong>' .
|
|
__( 'Downloads:', 'd12-message-blocks' )
|
|
. '</strong></p>' . $content . '</div></div>';
|
|
return $filestring;
|
|
}
|
|
add_shortcode( 'd12-attach' , 'd12_attach' );
|
|
|
|
/* Delete */
|
|
function d12_delete( $atts, $content= NULL) {
|
|
$filestring = '<div class="d12-block d12-delete"><div class="d12-sc-text"><p><strong>' .
|
|
__( 'This page has been marked for deletion.', 'd12-message-blocks' )
|
|
. '</strong></p>' . $content . '</div></div>';
|
|
return $filestring;
|
|
}
|
|
add_shortcode( 'd12-delete' , 'd12_delete' );
|
|
|
|
/* Part of a Series */
|
|
function d12_part( $atts, $content= NULL) {
|
|
extract( shortcode_atts(
|
|
array(
|
|
'series' => '',
|
|
), $atts )
|
|
);
|
|
echo '<div class="d12-block d12-part"><div class="d12-sc-text"><p><strong>';
|
|
printf(__( 'This page is part of a series on %s', 'd12-message-blocks' ), $series );
|
|
echo '.</strong></p>' . $content . '</div></div> ';
|
|
}
|
|
add_shortcode( 'd12-part' , 'd12_part' );
|
|
|
|
/* Mentions */
|
|
function d12_mentions( $atts, $content= NULL) {
|
|
$filestring = '<div class="d12-block d12-mention"><div class="d12-sc-text"><p><strong>' .
|
|
__( 'This page has been mentioned here:', 'd12-message-blocks' )
|
|
. '</strong></p>' . $content . '</div></div>';
|
|
return $filestring;
|
|
}
|
|
add_shortcode( 'd12-mentions' , 'd12_mentions' );
|
|
|
|
/* Warning */
|
|
function d12_warning( $atts, $content= NULL) {
|
|
$filestring = '<div class="d12-block d12-warning"><div class="d12-sc-text"><p><strong>' .
|
|
__ ( 'Warning!', 'd12-message-blocks' )
|
|
. '</strong></p>' . $content . '</div></div>';
|
|
return $filestring;
|
|
}
|
|
add_shortcode( 'd12-warning' , 'd12_warning' );
|
|
|
|
/* Important */
|
|
function d12_important( $atts, $content= NULL) {
|
|
$filestring = '<div class="d12-block d12-important"><div class="d12-sc-text"><p><strong>' .
|
|
__ ( 'Important!', 'd12-message-blocks' )
|
|
. '</strong></p>' . $content . '</div></div>';
|
|
return $filestring;
|
|
}
|
|
add_shortcode( 'd12-important' , 'd12_important' );
|
|
|
|
/* Notice */
|
|
function d12_notice( $atts, $content= NULL) {
|
|
$filestring = '<div class="d12-block d12-notice"><div class="d12-sc-text"><p><strong>' .
|
|
__( 'Notice!', 'd12-message-blocks' )
|
|
. '</strong></p>' . $content . '</div></div>';
|
|
return $filestring;
|
|
}
|
|
add_shortcode( 'd12-notice' , 'd12_notice' );
|
|
|
|
/* Error */
|
|
function d12_error( $atts, $content= NULL) {
|
|
$filestring = '<div class="d12-block d12-error"><div class="d12-sc-text"><p><strong>' .
|
|
__( 'Error!', 'd12-message-blocks' )
|
|
. '</strong></p>' . $content . '</div></div>';
|
|
return $filestring;
|
|
}
|
|
add_shortcode( 'd12-error' , 'd12_error' );
|
|
|
|
/* Caution */
|
|
function d12_caution( $atts, $content= NULL) {
|
|
$filestring = '<div class="d12-block d12-caution"><div class="d12-sc-text"><p><strong>' .
|
|
__( 'Caution!', 'd12-message-blocks' )
|
|
. '</strong></p>' . $content . '</div></div>';
|
|
return $filestring;
|
|
}
|
|
add_shortcode( 'd12-caution' , 'd12_caution' );
|
|
|
|
/* Archive */
|
|
function d12_archive( $atts, $content= NULL) {
|
|
$filestring = '<div class="d12-block d12-archive"><div class="d12-sc-text"><p><strong>' .
|
|
__( 'This page has been archived.', 'd12-message-blocks' )
|
|
. '</strong></p>' . $content . '</div></div>';
|
|
return $filestring;
|
|
}
|
|
add_shortcode( 'd12-archive' , 'd12_archive' );
|
|
|
|
/* Support */
|
|
function d12_support( $atts, $content= NULL) {
|
|
extract( shortcode_atts(
|
|
array(
|
|
'title' => '',
|
|
), $atts )
|
|
);
|
|
return '<div class="d12-block d12-support">
|
|
<div class="d12-sc-text"><p><strong>' . $title . '</strong></p>' . $content . '</div>
|
|
</div>
|
|
';
|
|
}
|
|
add_shortcode( 'd12-support' , 'd12_support' );
|
|
|
|
/* Contact */
|
|
function d12_contact( $atts, $content= NULL) {
|
|
extract( shortcode_atts(
|
|
array(
|
|
'title' => '',
|
|
), $atts )
|
|
);
|
|
return '<div class="d12-block d12-contact">
|
|
<div class="d12-sc-text"><p><strong>' . $title . '</strong></p>' . $content . '</div>
|
|
</div>
|
|
';
|
|
}
|
|
add_shortcode( 'd12-contact' , 'd12_contact' );
|
|
|
|
/* Global */
|
|
function d12_global( $atts, $content= NULL) {
|
|
extract( shortcode_atts(
|
|
array(
|
|
'title' => '',
|
|
), $atts )
|
|
);
|
|
return '<div class="d12-block d12-global">
|
|
<div class="d12-sc-text"><p><strong>' . $title . '</strong></p>' . $content . '</div>
|
|
</div>
|
|
';
|
|
}
|
|
add_shortcode( 'd12-global' , 'd12_global' );
|
|
|
|
/* Green */
|
|
function d12_green( $atts, $content= NULL) {
|
|
extract( shortcode_atts(
|
|
array(
|
|
'title' => '',
|
|
), $atts )
|
|
);
|
|
return '<div class="d12-block d12-green">
|
|
<div class="d12-sc-text"><p><strong>' . $title . '</strong></p>' . $content . '</div>
|
|
</div>
|
|
';
|
|
}
|
|
add_shortcode( 'd12-green' , 'd12_green' );
|
|
|
|
/* Accept */
|
|
function d12_accept( $atts, $content= NULL) {
|
|
extract( shortcode_atts(
|
|
array(
|
|
'title' => '',
|
|
), $atts )
|
|
);
|
|
return '<div class="d12-block d12-accept">
|
|
<div class="d12-sc-text"><p><strong>' . $title . '</strong></p>' . $content . '</div>
|
|
</div>
|
|
';
|
|
}
|
|
add_shortcode( 'd12-accept' , 'd12_accept' );
|
|
|
|
/* Stats */
|
|
function d12_stats( $atts, $content= NULL) {
|
|
extract( shortcode_atts(
|
|
array(
|
|
'title' => '',
|
|
), $atts )
|
|
);
|
|
return '<div class="d12-block d12-stats">
|
|
<div class="d12-sc-text"><p><strong>' . $title . '</strong></p>' . $content . '</div>
|
|
</div>
|
|
';
|
|
}
|
|
add_shortcode( 'd12-stats' , 'd12_stats' );
|
|
|
|
|
|
/*
|
|
* Register a function with TinyMCE
|
|
*/
|
|
add_action( 'init', 'd12mb_buttons' );
|
|
function d12mb_buttons() {
|
|
if ( current_user_can('edit_posts') && current_user_can('edit_pages') )
|
|
{
|
|
add_filter( "mce_external_plugins", "d12mb_add_buttons" );
|
|
add_filter( 'mce_buttons_2', 'd12mb_register_buttons' );
|
|
}
|
|
}
|
|
function d12mb_add_buttons( $plugin_array ) {
|
|
$plugin_array['d12mb'] = plugins_url( 'js/d12mb.js', __FILE__ );
|
|
return $plugin_array;
|
|
}
|
|
function d12mb_register_buttons( $buttons ) {
|
|
array_push( $buttons, 'd12-mb-button', 'd12-mb-button-2' );
|
|
return $buttons;
|
|
}
|
|
|
|
// Experiment to add shortcode to excerpts
|
|
// wordpress.org/support/topic/how-to-enable-shortcodes-in-excerpts?replies=8#post-1843419
|
|
|
|
|
|
|
|
/**
|
|
* Add an options page
|
|
*
|
|
* @since d12 Message Blocks 1.1
|
|
*/
|
|
require plugin_basename( 'plugin-options.php' );
|