From: Anthony Talarico Date: Tue, 17 May 2016 18:17:37 +0000 (-0400) Subject: reverting changes X-Git-Tag: v2.0.0^2~12^2 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=d80ef809b7bb70421e3ef9e319e9c823ae46da42;p=WP-Plugins%2Fglm-member-db.git reverting changes --- diff --git a/classes/glmPluginSupport.php b/classes/glmPluginSupport.php index 2d510f4f..634816ac 100644 --- a/classes/glmPluginSupport.php +++ b/classes/glmPluginSupport.php @@ -612,141 +612,141 @@ class GlmPluginSupport * */ -// public function glmMembersShortcode(){ -// -// // load shortcodeBuilder.js when the shortcode function has been fired if it hasn't been enqueued yet -// if( ! wp_script_is( 'jquery-ui-dialog', 'enqueued' ) ){ -// wp_enqueue_script('jquery-ui-dialog', false, array('jquery'), false, true); -// wp_enqueue_style('jquery-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css'); -// } -// -// function custom_js_css() { -// -// wp_enqueue_script('your-meta-box', GLM_MEMBERS_PLUGIN_URL. '/js/shortcodeBuilder.js', array('jquery'), null, true); -// } -// add_action('admin_print_styles-post.php', 'custom_js_css'); -// add_action('admin_print_styles-post-new.php', 'custom_js_css'); -// reset($this->config['addOns']); -// foreach ($this->config['addOns'] as $a) { -// $cssFile = GLM_MEMBERS_WORDPRESS_PLUGIN_PATH.$a['slug'].'/css/admin.css'; -// if (is_file($cssFile)) { -// $cssName = $a['slug'].'-admin-css'; -// wp_register_style( -// $cssName, -// GLM_MEMBERS_WORDPRESS_PLUGIN_URL.'/'.$a['slug'].'/css/admin.css', -// false, -// GLM_MEMBERS_PLUGIN_VERSION -// ); -// wp_enqueue_style($cssName); -// } -// } -// -// add_meta_box("shortcode_builder", -// "Shortcode Builder", -// array($this,'shortcode_builder_markup'), -// "page", 'normal', 'high' -// ); -// -// } + public function glmMembersShortcode(){ + + // load shortcodeBuilder.js when the shortcode function has been fired if it hasn't been enqueued yet + if( ! wp_script_is( 'jquery-ui-dialog', 'enqueued' ) ){ + wp_enqueue_script('jquery-ui-dialog', false, array('jquery'), false, true); + wp_enqueue_style('jquery-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css'); + } + + function custom_js_css() { + + wp_enqueue_script('your-meta-box', GLM_MEMBERS_PLUGIN_URL. '/js/shortcodeBuilder.js', array('jquery'), null, true); + } + add_action('admin_print_styles-post.php', 'custom_js_css'); + add_action('admin_print_styles-post-new.php', 'custom_js_css'); + reset($this->config['addOns']); + foreach ($this->config['addOns'] as $a) { + $cssFile = GLM_MEMBERS_WORDPRESS_PLUGIN_PATH.$a['slug'].'/css/admin.css'; + if (is_file($cssFile)) { + $cssName = $a['slug'].'-admin-css'; + wp_register_style( + $cssName, + GLM_MEMBERS_WORDPRESS_PLUGIN_URL.'/'.$a['slug'].'/css/admin.css', + false, + GLM_MEMBERS_PLUGIN_VERSION + ); + wp_enqueue_style($cssName); + } + } + + add_meta_box("shortcode_builder", + "Shortcode Builder", + array($this,'shortcode_builder_markup'), + "page", 'normal', 'high' + ); + + } // metabox content -// public 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']; -// -// $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; -// } -// } -// } -// -// //dropdown for shortcode names -// echo '
'; -// echo ''; -// -// /* -// * Member DB Shortcode Attributes -// */ -// -// //dropdown for categories -// echo ''; -// -// // dropdown for blank start -// echo ''; -// -// // dropdown for views -// echo ''; -// -// // show list options 'scb' = shortcode builder acronym -// echo '
'; -// echo ''; -// echo ''; -// foreach($listAttr as $key=>$value){ -// if($value != ''){ -// echo ''; -// } -// } -// echo '
'; -// -// // show detail options -// echo '
'; -// echo ''; -// echo ''; -// foreach($detailAttr as $key=>$value){ -// if($value != ''){ -// echo ''; -// } -// } -// echo '
'; -// -// // 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 ''; -// echo ''; -// -// echo ''; -// -// } + public 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']; + + $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; + } + } + } + + //dropdown for shortcode names + echo '
'; + echo ''; + + /* + * Member DB Shortcode Attributes + */ + + //dropdown for categories + echo ''; + + // dropdown for blank start + echo ''; + + // dropdown for views + echo ''; + + // show list options 'scb' = shortcode builder acronym + echo '
'; + echo ''; + echo ''; + foreach($listAttr as $key=>$value){ + if($value != ''){ + echo ''; + } + } + echo '
'; + + // show detail options + echo '
'; + echo ''; + echo ''; + foreach($detailAttr as $key=>$value){ + if($value != ''){ + echo ''; + } + } + echo '
'; + + // 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 ''; + echo ''; + + echo ''; + + } } diff --git a/controllers/admin.php b/controllers/admin.php index 227d7515..51f82ced 100644 --- a/controllers/admin.php +++ b/controllers/admin.php @@ -169,10 +169,10 @@ class glmMembersAdmin extends GlmPluginSupport ); // 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', diff --git a/js/shortcodeBuilder.js b/js/shortcodeBuilder.js index 8d3fc952..6a5364bb 100644 --- a/js/shortcodeBuilder.js +++ b/js/shortcodeBuilder.js @@ -5,217 +5,217 @@ */ jQuery(document).ready(function ($) { // -// var shortcodeDropdown, shortcodeCategory, blankStart, listBox, detailBox, target, boxTarget, shortcodeString; -// var shortcodeValues = {}; -// $("#showDetail").hide(); -// $("#showList").hide(); -// $("#listBtn").hide(); -// $("#detailBtn").hide(); -// $("[id$=-scDropdown]").hide(); -// $("#packageListAttr").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'; -// if($('#blank-start-scDropdown').length) -// document.getElementById('blank-start-scDropdown').options[0].selected = 'selected'; -// if($('#id-scDropdown').length) -// 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(); -// $("#view-scDropdown").show(); -// $("#map-opened-scDropdown").show(); -// $("[id^='packageList']").hide(); -// } -// -// if(shortcodeDropdown === "glm-member-detail") { -// $("#detailBtn").show(); -// $("#listBtn").hide(); -// $("#blank-start-scDropdown").show(); -// $("#category-scDropdown").hide(); -// $("#id-scDropdown").hide(); -// $("[id^='packageList']").hide(); -// } -// -// if(shortcodeDropdown === "glm-members-packaging-list"){ -// $("#blank-start-scDropdown").hide(); -// $("#listBtn").hide(); -// $("#category-scDropdown").hide(); -// $("#detailBtn").hide(); -// $("#id-scDropdown").hide(); -// $("#packageListAttr").children().show(); -// $("[id^='packageList']").show(); -// } -// -// if (shortcodeDropdown === "glm-members-packaging-detail"){ -// $("#blank-start-scDropdown").hide(); -// $("#listBtn").hide(); -// $("#category-scDropdown").hide(); -// $("#detailBtn").hide(); -// $("#id-scDropdown").show(); -// $("[id^='packageList']").hide(); -// } -// if (shortcodeDropdown === "glm-members-event-list"){ -// $("#blank-start-scDropdown").hide(); -// $("#listBtn").hide(); -// $("#category-scDropdown").hide(); -// $("#detailBtn").hide(); -// $("[id^='packageList']").hide(); -// $("#id-scDropdown").hide(); -// } -// if (shortcodeDropdown === "glm-members-event-detail"){ -// $("#blank-start-scDropdown").hide(); -// $("#listBtn").hide(); -// $("#category-scDropdown").hide(); -// $("#detailBtn").hide(); -// $("[id^='packageList']").hide(); -// $("#id-scDropdown").hide(); -// } -// if (shortcodeDropdown === "glm-members-event-front-add"){ -// $("#blank-start-scDropdown").hide(); -// $("#listBtn").hide(); -// $("#category-scDropdown").hide(); -// $("#detailBtn").hide(); -// $("[id^='packageList']").hide(); -// $("#id-scDropdown").hide(); -// } -// }); -// -// -// // shortcode attribute name 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().dialog("option", "width", 422 ); -// }); -// $("#detailBtn").on("click", function () { -// $("#showDetail").dialog().dialog("option", "width", 422); -// }); -// -// // 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() { -// boxTarget = $(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[boxTarget] = listString; -// } -// -// // set up properties for detail shortcode -// } else if( shortcodeDropdown === "glm-member-detail"){ -// var detailValues = $('input[name="detailBox"]:checkbox:checked').map(function() { -// boxTarget = $(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[boxTarget] = 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)) { -// if(key !== "undefined"){ -// 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 if($("#content").css("display") === "none") { -// 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'); -// var members = document.getElementById('member-scDropdown'); -// -// 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'; -// } -// if(members){ -// window.onload = document.getElementById('member-scDropdown').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; -// } -// } -// } + var shortcodeDropdown, shortcodeCategory, blankStart, listBox, detailBox, target, boxTarget, shortcodeString; + var shortcodeValues = {}; + $("#showDetail").hide(); + $("#showList").hide(); + $("#listBtn").hide(); + $("#detailBtn").hide(); + $("[id$=-scDropdown]").hide(); + $("#packageListAttr").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'; + if($('#blank-start-scDropdown').length) + document.getElementById('blank-start-scDropdown').options[0].selected = 'selected'; + if($('#id-scDropdown').length) + 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(); + $("#view-scDropdown").show(); + $("#map-opened-scDropdown").show(); + $("[id^='packageList']").hide(); + } + + if(shortcodeDropdown === "glm-member-detail") { + $("#detailBtn").show(); + $("#listBtn").hide(); + $("#blank-start-scDropdown").show(); + $("#category-scDropdown").hide(); + $("#id-scDropdown").hide(); + $("[id^='packageList']").hide(); + } + + if(shortcodeDropdown === "glm-members-packaging-list"){ + $("#blank-start-scDropdown").hide(); + $("#listBtn").hide(); + $("#category-scDropdown").hide(); + $("#detailBtn").hide(); + $("#id-scDropdown").hide(); + $("#packageListAttr").children().show(); + $("[id^='packageList']").show(); + } + + if (shortcodeDropdown === "glm-members-packaging-detail"){ + $("#blank-start-scDropdown").hide(); + $("#listBtn").hide(); + $("#category-scDropdown").hide(); + $("#detailBtn").hide(); + $("#id-scDropdown").show(); + $("[id^='packageList']").hide(); + } + if (shortcodeDropdown === "glm-members-event-list"){ + $("#blank-start-scDropdown").hide(); + $("#listBtn").hide(); + $("#category-scDropdown").hide(); + $("#detailBtn").hide(); + $("[id^='packageList']").hide(); + $("#id-scDropdown").hide(); + } + if (shortcodeDropdown === "glm-members-event-detail"){ + $("#blank-start-scDropdown").hide(); + $("#listBtn").hide(); + $("#category-scDropdown").hide(); + $("#detailBtn").hide(); + $("[id^='packageList']").hide(); + $("#id-scDropdown").hide(); + } + if (shortcodeDropdown === "glm-members-event-front-add"){ + $("#blank-start-scDropdown").hide(); + $("#listBtn").hide(); + $("#category-scDropdown").hide(); + $("#detailBtn").hide(); + $("[id^='packageList']").hide(); + $("#id-scDropdown").hide(); + } + }); + + + // shortcode attribute name 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().dialog("option", "width", 422 ); + }); + $("#detailBtn").on("click", function () { + $("#showDetail").dialog().dialog("option", "width", 422); + }); + + // 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() { + boxTarget = $(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[boxTarget] = listString; + } + + // set up properties for detail shortcode + } else if( shortcodeDropdown === "glm-member-detail"){ + var detailValues = $('input[name="detailBox"]:checkbox:checked').map(function() { + boxTarget = $(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[boxTarget] = 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)) { + if(key !== "undefined"){ + 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 if($("#content").css("display") === "none") { + 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'); + var members = document.getElementById('member-scDropdown'); + + 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'; + } + if(members){ + window.onload = document.getElementById('member-scDropdown').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