);
// add shortcode metabox
- add_action('add_meta_boxes', array(
- $this,
- 'glmMembersShortcode'
- ) );
+// add_action('add_meta_boxes', array(
+// $this,
+// 'glmMembersShortcode'
+// ) );
// Add AJAX image upload action
add_action( 'wp_ajax_glm_members_admin_ajax',
}
}
- public function glmMembersShortcode(){
-
- add_meta_box("shortcode_builder",
- "Shortcode Builder",
- array($this,'shortcode_builder_markup'),
- "page", 'normal', 'high'
- );
-
- }
- function prettyPrint($array){
- echo '<pre>', print_r($array), '</pre>';
- }
-
+// public function glmMembersShortcode(){
+//
+// add_meta_box("shortcode_builder",
+// "Shortcode Builder",
+// array($this,'shortcode_builder_markup'),
+// "page", 'normal', 'high'
+// );
+//
+// }
// metabox content
- function shortcode_builder_markup(){
-
- require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataCategories.php');
-
- $listAttr = $this->config['addOns']['glm-member-db']['shortcodes']['glm-members-list']['attributes'];
- $detailAttr = $this->config['addOns']['glm-member-db']['shortcodes']['glm-member-detail']['attributes'];
- $packageListAttr = $this->config['addOns']['glm-member-db-packaging']['shortcodes']['glm-members-packaging-list']['attributes'];
-
- foreach($packageListAttr as $key=>$value){
- $packageListAttr[] = $key;
- }
-
- $glmcat = new GlmDataCategories($this->wpdb, $this->wpconfig);
- $list = $glmcat->getList();
-
- // get the each addOn slugs to pass to the config array later
- $addOns = $this->config['addOns'];
- foreach($addOns as $addOn){
- if(!is_array($addOn['slug'])){
- $addOnSlugs[] = $addOn['slug'];
- }
- }
-
- // use the addOn slugs to access each of the shortcodes
- foreach($addOnSlugs as $addOn){
- $shortCodeList[] = $this->config['addOns'][$addOn]['shortcodes'];
- }
- // loop through the shortcodes to pull out the shortcode names
- foreach($shortCodeList as $addonInfo) {
- foreach($addonInfo as $shortCode=>$value){
- if(!is_array($shortCode)){
- $shortCodes[] = $shortCode;
- }
- }
- }
-
- /*
- * HTML Markup for the shortodes
- */
-// if(file_exists(GLM_MEMBERS_EVENTS_PLUGIN_PATH . "/setup/shortcodeBuilder.php")){
-// include GLM_MEMBERS_EVENTS_PLUGIN_PATH . "/setup/shortcodeBuilder.php";
+// function shortcode_builder_markup(){
+//
+// require_once(GLM_MEMBERS_PLUGIN_CLASS_PATH.'/data/dataCategories.php');
+//
+// $listAttr = $this->config['addOns']['glm-member-db']['shortcodes']['glm-members-list']['attributes'];
+// $detailAttr = $this->config['addOns']['glm-member-db']['shortcodes']['glm-member-detail']['attributes'];
+// $packageListAttr = $this->config['addOns']['glm-member-db-packaging']['shortcodes']['glm-members-packaging-list']['attributes'];
+//
+// foreach($packageListAttr as $key=>$value){
+// $packageListAttr[] = $key;
// }
-
-
- //dropdown for shortcode names
- echo '<div id="shortcodeBuilder">';
- echo '<select id="shortcodeDropdown">
- <option disabled="disabled"> Select Shortcode </option>';
- foreach($shortCodes as $code){
- echo '<option value = "' . $code . '">' . $code . '</option>';
- }
- echo '</select>';
-
-
- /*
- * Member DB Shortcode Attributes
- */
-
- //dropdown for categories
- echo '<select id="category-scDropdown">';
- echo '<option disabled="disabled"> Select Category </option>';
- foreach($list as $key=>$value){
- echo '<option value='. $key . '>' . $value['name'] . '</option>';
- }
- echo '</select>';
-
- // dropdown for blank start
- echo '<select id="blank-start-scDropdown">';
- echo '<option disabled="disabled"> Blank Start </option>
- <option selected="selected" value="False"> False </option>
- <option value = "True"> True </option>';
- echo '</select>';
-
- // show list options 'scb' = shortcode builder acronym
- echo '<div id="showList" title="List Options">';
- echo '<label><input class="listBox" type="checkbox" name="list-scb" value="all">All</label>';
- echo '<label><input class="listBox" type="checkbox" name="list-scb" value="none">None</label>';
- foreach($listAttr as $key=>$value){
- if($value != ''){
- echo '<label><input class="showLists" type="checkbox" name="listBox" value='. $key . '>' . $key .'</label>';
- }
- }
- echo '</div>';
-
- // show detail options
- echo '<div id="showDetail" title="Detail Options">';
- echo '<label><input class="detailBox" type="checkbox" name="detailBox" value="all">All</label>';
- echo '<label><input class="detailBox" type="checkbox" name="detailBox" value="none">None</label>';
- foreach($detailAttr as $key=>$value){
- if($value != ''){
- echo '<label><input class="showDetails" type="checkbox" name="detailBox" value='. $key . '>' . $key .'</label>';
- }
- }
- echo '</div>';
-
- // packaging addOn mark up
- if(file_exists(GLM_MEMBERS_PACKAGING_PLUGIN_PATH . "/setup/shortcodeBuilder.php")){
- include GLM_MEMBERS_PACKAGING_PLUGIN_PATH . "/setup/shortcodeBuilder.php";
- }
-
-
- // list and detail buttons to open dialog for member db 'show' attr options
- echo '<button id="listBtn" class="glm-button" type="button"> Show List Options </button>';
- echo '<button id="detailBtn" class="glm-button" type="button"> Show Detail Options </button>';
-
- echo '<button id="generate" class="glm-button" type="button"> Insert Shortcode </button>';
-
- }
+//
+// $glmcat = new GlmDataCategories($this->wpdb, $this->wpconfig);
+// $list = $glmcat->getList();
+//
+// // get the each addOn slugs to pass to the config array later
+// $addOns = $this->config['addOns'];
+// foreach($addOns as $addOn){
+// if(!is_array($addOn['slug'])){
+// $addOnSlugs[] = $addOn['slug'];
+// }
+// }
+//
+// // use the addOn slugs to access each of the shortcodes
+// foreach($addOnSlugs as $addOn){
+// $shortCodeList[] = $this->config['addOns'][$addOn]['shortcodes'];
+// }
+// // loop through the shortcodes to pull out the shortcode names
+// foreach($shortCodeList as $addonInfo) {
+// foreach($addonInfo as $shortCode=>$value){
+// if(!is_array($shortCode)){
+// $shortCodes[] = $shortCode;
+// }
+// }
+// }
+//
+// /*
+// * HTML Markup for the shortodes
+// */
+//// if(file_exists(GLM_MEMBERS_EVENTS_PLUGIN_PATH . "/setup/shortcodeBuilder.php")){
+//// include GLM_MEMBERS_EVENTS_PLUGIN_PATH . "/setup/shortcodeBuilder.php";
+//// }
+//
+//
+// //dropdown for shortcode names
+// echo '<div id="shortcodeBuilder">';
+// echo '<select id="shortcodeDropdown">
+// <option disabled="disabled"> Select Shortcode </option>';
+// foreach($shortCodes as $code){
+// echo '<option value = "' . $code . '">' . $code . '</option>';
+// }
+// echo '</select>';
+//
+//
+// /*
+// * Member DB Shortcode Attributes
+// */
+//
+// //dropdown for categories
+// echo '<select id="category-scDropdown">';
+// echo '<option disabled="disabled"> Select Category </option>';
+// foreach($list as $key=>$value){
+// echo '<option value='. $key . '>' . $value['name'] . '</option>';
+// }
+// echo '</select>';
+//
+// // dropdown for blank start
+// echo '<select id="blank-start-scDropdown">';
+// echo '<option disabled="disabled"> Blank Start </option>
+// <option selected="selected" value="False"> False </option>
+// <option value = "True"> True </option>';
+// echo '</select>';
+//
+// // show list options 'scb' = shortcode builder acronym
+// echo '<div id="showList" title="List Options">';
+// echo '<label><input class="listBox" type="checkbox" name="list-scb" value="all">All</label>';
+// echo '<label><input class="listBox" type="checkbox" name="list-scb" value="none">None</label>';
+// foreach($listAttr as $key=>$value){
+// if($value != ''){
+// echo '<label><input class="showLists" type="checkbox" name="listBox" value='. $key . '>' . $key .'</label>';
+// }
+// }
+// echo '</div>';
+//
+// // show detail options
+// echo '<div id="showDetail" title="Detail Options">';
+// echo '<label><input class="detailBox" type="checkbox" name="detailBox" value="all">All</label>';
+// echo '<label><input class="detailBox" type="checkbox" name="detailBox" value="none">None</label>';
+// foreach($detailAttr as $key=>$value){
+// if($value != ''){
+// echo '<label><input class="showDetails" type="checkbox" name="detailBox" value='. $key . '>' . $key .'</label>';
+// }
+// }
+// echo '</div>';
+//
+// // packaging addOn mark up
+// if(file_exists(GLM_MEMBERS_PACKAGING_PLUGIN_PATH . "/setup/shortcodeBuilder.php")){
+// include GLM_MEMBERS_PACKAGING_PLUGIN_PATH . "/setup/shortcodeBuilder.php";
+// }
+//
+//
+// // list and detail buttons to open dialog for member db 'show' attr options
+// echo '<button id="listBtn" class="glm-button" type="button"> Show List Options </button>';
+// echo '<button id="detailBtn" class="glm-button" type="button"> Show Detail Options </button>';
+//
+// echo '<button id="generate" class="glm-button" type="button"> Insert Shortcode </button>';
+//
+// }
/**
* Admin controller
*/
jQuery(document).ready(function ($) {
- var shortcodeDropdown, shortcodeCategory, blankStart, listBox, detailBox, target, shortcodeString;
- var shortcodeValues = {};
- $("#showDetail").hide();
- $("#showList").hide();
- $("#listBtn").hide();
- $("#detailBtn").hide();
-// $("#category-scDropdown").hide();
-// $("#blank-start-scDropdown").hide();
-// $("#id-scDropdown").hide();
- $("[id$=-scDropdown]").hide();
-
- // fire core events when switching between shortcodes
- $("#shortcodeDropdown").on("change", function () {
- // reset the dropdowns and checkbox if when switching shortcodes
- document.getElementById('category-scDropdown').options[0].selected = 'selected';
- document.getElementById('blank-start-scDropdown').options[0].selected = 'selected';
- document.getElementById('id-scDropdown').options[0].selected = 'selected';
- UncheckAll();
-
- // delete the object properties to reset the object
- shortcodeString = "";
- for (var prop in shortcodeValues){
- delete shortcodeValues[prop];
- }
-
- // get the shortcode option name and hide / show necessary elements
- shortcodeDropdown = $("#shortcodeDropdown option:selected").text();
-
- if(shortcodeDropdown === "glm-members-list"){
- $("#listBtn").show();
- $("#detailBtn").hide();
- $("#category-scDropdown").show();
- $("#blank-start-scDropdown").show();
- $("#id-scDropdown").hide();
- }
-
- if(shortcodeDropdown === "glm-member-detail") {
- $("#detailBtn").show();
- $("#listBtn").hide();
- $("#blank-start-scDropdown").show();
- $("#category-scDropdown").hide();
- $("#id-scDropdown").hide();
- }
-
- if(shortcodeDropdown === "glm-members-packaging-list"){
- $("#blank-start-scDropdown").hide();
- $("#listBtn").hide();
- $("#category-scDropdown").hide();
- $("#detailBtn").hide();
- $("#id-scDropdown").hide();
- }
-
- if (shortcodeDropdown === "glm-members-packaging-detail"){
- $("#blank-start-scDropdown").hide();
- $("#listBtn").hide();
- $("#category-scDropdown").hide();
- $("#detailBtn").hide()
- $("#id-scDropdown").show();
- }
- });
-
-
- // shortcode attribute name from from dropdowns containing '-scDropdown' in their ID
- // Then append the values to the shortcode object
- $("[id$=-scDropdown]").on("change", function () {
- target = $(this).attr("id").slice(0, -11);
- var targetVal = $("#" + target + "-scDropdown option:selected").val();
- shortcodeValues[target] = targetVal;
- });
-
- // use jquery dialog to separate the checkbox lists
- $("#listBtn").on("click", function () {
- $("#showList").dialog();
- });
- $("#detailBtn").on("click", function () {
- $("#showDetail").dialog();
- });
-
- // generate the shortcode into a string and insert into the content upon clicking
- $("#generate").on("click", function () {
- // enforce the selection of a shortcode
- if(shortcodeDropdown){
- // set up properties for shortcode lists
- if(shortcodeDropdown === "glm-members-list"){
- var listValues = $('input[name="listBox"]:checkbox:checked').map(function() {
- target = $(this).attr("class").slice(0, -5);
- return this.value;
- }).get();
-
- var listString = "";
- listValues.forEach(function(value){
- listString += value + ",";
- });
- if(listValues != ""){
- listString = listString.replace(/,\s*$/, "");
- shortcodeValues[target] = listString;
- }
- // set up properties for detail shortcode
- } else if( shortcodeDropdown === "glm-member-detail"){
- var detailValues = $('input[name="detailBox"]:checkbox:checked').map(function() {
- target = $(this).attr("class").slice(0, -7);
- return this.value;
- }).get();
-
- var detailString = '';
- detailValues.forEach(function(value){
- detailString += value + ",";
- });
- if(detailValues != ""){
- detailString = detailString.replace(/,\s*$/, "");
- shortcodeValues[target] = detailString;
- }
- }
-
- // start the shortcode string that will be added to the tinymce editor
- shortcodeString = "[" + shortcodeDropdown;
-
- // populate the shortcode object
- for (var key in shortcodeValues) {
- if (shortcodeValues.hasOwnProperty(key)) {
- shortcodeString += " " + key + '="' + shortcodeValues[key] +'"';
- }
- }
- shortcodeString += ']';
-
- // insert shortcode at current cursor position
-// if($("#content").css("display") !== "none"){
-// var cursorPos = $('#content').prop('selectionStart');
-// var v = $('#content').val();
-// var textBefore = v.substring(0, cursorPos );
-// var textAfter = v.substring( cursorPos, v.length );
-// $('#content').val( textBefore + shortcodeString + textAfter );
-//
-// } else {
- function insert_tag(text){
- if(tinyMCE && tinyMCE.activeEditor)
- {
- tinyMCE.activeEditor.selection.setContent(text);
- }
- return false;
- }
- insert_tag(shortcodeString);
+// var shortcodeDropdown, shortcodeCategory, blankStart, listBox, detailBox, target, shortcodeString;
+// var shortcodeValues = {};
+// $("#showDetail").hide();
+// $("#showList").hide();
+// $("#listBtn").hide();
+// $("#detailBtn").hide();
+//// $("#category-scDropdown").hide();
+//// $("#blank-start-scDropdown").hide();
+//// $("#id-scDropdown").hide();
+// $("[id$=-scDropdown]").hide();
+//
+// // fire core events when switching between shortcodes
+// $("#shortcodeDropdown").on("change", function () {
+// // reset the dropdowns and checkbox if when switching shortcodes
+// document.getElementById('category-scDropdown').options[0].selected = 'selected';
+// document.getElementById('blank-start-scDropdown').options[0].selected = 'selected';
+// document.getElementById('id-scDropdown').options[0].selected = 'selected';
+// UncheckAll();
+//
+// // delete the object properties to reset the object
+// shortcodeString = "";
+// for (var prop in shortcodeValues){
+// delete shortcodeValues[prop];
+// }
+//
+// // get the shortcode option name and hide / show necessary elements
+// shortcodeDropdown = $("#shortcodeDropdown option:selected").text();
+//
+// if(shortcodeDropdown === "glm-members-list"){
+// $("#listBtn").show();
+// $("#detailBtn").hide();
+// $("#category-scDropdown").show();
+// $("#blank-start-scDropdown").show();
+// $("#id-scDropdown").hide();
+// }
+//
+// if(shortcodeDropdown === "glm-member-detail") {
+// $("#detailBtn").show();
+// $("#listBtn").hide();
+// $("#blank-start-scDropdown").show();
+// $("#category-scDropdown").hide();
+// $("#id-scDropdown").hide();
+// }
+//
+// if(shortcodeDropdown === "glm-members-packaging-list"){
+// $("#blank-start-scDropdown").hide();
+// $("#listBtn").hide();
+// $("#category-scDropdown").hide();
+// $("#detailBtn").hide();
+// $("#id-scDropdown").hide();
+// }
+//
+// if (shortcodeDropdown === "glm-members-packaging-detail"){
+// $("#blank-start-scDropdown").hide();
+// $("#listBtn").hide();
+// $("#category-scDropdown").hide();
+// $("#detailBtn").hide()
+// $("#id-scDropdown").show();
+// }
+// });
+//
+//
+// // shortcode attribute name from from dropdowns containing '-scDropdown' in their ID
+// // Then append the values to the shortcode object
+// $("[id$=-scDropdown]").on("change", function () {
+// target = $(this).attr("id").slice(0, -11);
+// var targetVal = $("#" + target + "-scDropdown option:selected").val();
+// shortcodeValues[target] = targetVal;
+// });
+//
+// // use jquery dialog to separate the checkbox lists
+// $("#listBtn").on("click", function () {
+// $("#showList").dialog();
+// });
+// $("#detailBtn").on("click", function () {
+// $("#showDetail").dialog();
+// });
+//
+// // generate the shortcode into a string and insert into the content upon clicking
+// $("#generate").on("click", function () {
+// // enforce the selection of a shortcode
+// if(shortcodeDropdown){
+// // set up properties for shortcode lists
+// if(shortcodeDropdown === "glm-members-list"){
+// var listValues = $('input[name="listBox"]:checkbox:checked').map(function() {
+// target = $(this).attr("class").slice(0, -5);
+// return this.value;
+// }).get();
+//
+// var listString = "";
+// listValues.forEach(function(value){
+// listString += value + ",";
+// });
+// if(listValues != ""){
+// listString = listString.replace(/,\s*$/, "");
+// shortcodeValues[target] = listString;
+// }
+// // set up properties for detail shortcode
+// } else if( shortcodeDropdown === "glm-member-detail"){
+// var detailValues = $('input[name="detailBox"]:checkbox:checked').map(function() {
+// target = $(this).attr("class").slice(0, -7);
+// return this.value;
+// }).get();
+//
+// var detailString = '';
+// detailValues.forEach(function(value){
+// detailString += value + ",";
+// });
+// if(detailValues != ""){
+// detailString = detailString.replace(/,\s*$/, "");
+// shortcodeValues[target] = detailString;
+// }
// }
-
- } else {
- alert("Please Select a Shortcode");
- }
- });
-
- // reset dropdowns and checkboxes to default values on page reload
- var scd = document.getElementById('shortcodeDropdown');
- var catscd = document.getElementById('category-scDropdown');
- var blank = document.getElementById('blank-start-scDropdown');
- var list = document.getElementById('type-scList');
-
- if(scd){
- window.onload = document.getElementById('shortcodeDropdown').options[0].selected = 'selected';
- }
- if(catscd){
- window.onload = document.getElementById('category-scDropdown').options[0].selected = 'selected';
- }
- if(blank){
- window.onload = document.getElementById('blank-start-scDropdown').options[0].selected = 'selected';
- }
- if(list){
- window.onload = document.getElementById('type-scList').options[0].selected = 'selected';
- }
- window.onload = UncheckAll();
-
- function UncheckAll(){
- var w = document.getElementsByTagName('input');
- for(var i = 0; i < w.length; i++){
- if(w[i].type=='checkbox'){
- w[i].checked = false;
- }
- }
- }
+//
+// // start the shortcode string that will be added to the tinymce editor
+// shortcodeString = "[" + shortcodeDropdown;
+//
+// // populate the shortcode object
+// for (var key in shortcodeValues) {
+// if (shortcodeValues.hasOwnProperty(key)) {
+// shortcodeString += " " + key + '="' + shortcodeValues[key] +'"';
+// }
+// }
+// shortcodeString += ']';
+//
+// // insert shortcode at current cursor position
+//// if($("#content").css("display") !== "none"){
+//// var cursorPos = $('#content').prop('selectionStart');
+//// var v = $('#content').val();
+//// var textBefore = v.substring(0, cursorPos );
+//// var textAfter = v.substring( cursorPos, v.length );
+//// $('#content').val( textBefore + shortcodeString + textAfter );
+////
+//// } else {
+// function insert_tag(text){
+// if(tinyMCE && tinyMCE.activeEditor)
+// {
+// tinyMCE.activeEditor.selection.setContent(text);
+// }
+// return false;
+// }
+// insert_tag(shortcodeString);
+//// }
+//
+// } else {
+// alert("Please Select a Shortcode");
+// }
+// });
+//
+// // reset dropdowns and checkboxes to default values on page reload
+// var scd = document.getElementById('shortcodeDropdown');
+// var catscd = document.getElementById('category-scDropdown');
+// var blank = document.getElementById('blank-start-scDropdown');
+// var list = document.getElementById('type-scList');
+//
+// if(scd){
+// window.onload = document.getElementById('shortcodeDropdown').options[0].selected = 'selected';
+// }
+// if(catscd){
+// window.onload = document.getElementById('category-scDropdown').options[0].selected = 'selected';
+// }
+// if(blank){
+// window.onload = document.getElementById('blank-start-scDropdown').options[0].selected = 'selected';
+// }
+// if(list){
+// window.onload = document.getElementById('type-scList').options[0].selected = 'selected';
+// }
+// window.onload = UncheckAll();
+//
+// function UncheckAll(){
+// var w = document.getElementsByTagName('input');
+// for(var i = 0; i < w.length; i++){
+// if(w[i].type=='checkbox'){
+// w[i].checked = false;
+// }
+// }
+// }
});
\ No newline at end of file