$socialError = false;
$statusMessage = 'Social Updated';
$option = false;
+ $socialID = false;
$debug = true;
- $socialList = $this->getList();
-
+ // Check for specified option
if (isset($_REQUEST['option'])) {
$option = trim(filter_var($_REQUEST['option'],FILTER_SANITIZE_STRING));
- } else {
- $option = "default";
+ }
+
+ // Check for specified ID
+ if (isset($_REQUEST['id'])) {
+ $socialID = ($_REQUEST['id'] - 0);
}
switch ($option) {
- case "submit":
- $Socials->updateEntry();
+
+ case "addNew";
+ $this->insertEntry();
+// **** NEED TO ADD TO ALL MEMBERS ALSO
break;
- case "social";
- default:
+ case "update":
+ $this->updateEntry($socialID);
+ break;
+
+ case "delete";
+ $this->deleteEntry($socialID, true);
+ // Also delete all uses of this social media type
+ $this->wpdb->query("
+ DELETE FROM ".GLM_MEMBERS_SOCIAL_PLUGIN_DB_PREFIX . "social_urls
+ WHERE social = $socialID;
+ ");
+ break;
+
+ default:
break;
}
);
}
-// if (GLM_MEMBERS_PLUGIN_ADMIN_DEBUG_VERBOSE) {
-// glmMembersAdmin::addNotice($memberTypes, 'DataBlock', 'Member Types Data');
-// }
- // Refresh the URL list before sending it to the front
+ // Get a list of all social media types
+ $socialList = $this->getList();
// Compile template data
$templateData = array(
<h2>{if $socialUpdated}<span class="glm-notice glm-flash-updated glm-right">{$statusMessage}</span>{/if}</h2>
+ <!-- Add Social Media Button and Dialog Box -->
+ <div id="newSocialButton" class="button button-primary glm-right">Add a Social Media Type</div>
+ <div id="newSocialDialog" class="glm-dialog-box" title="Enter New Social Media Type">
+ <form action="{$thisUrl}?page={$thisPage}" method="post" enctype="multipart/form-data">
+ <input type="hidden" name="glm_action" value="social">
+ <input type="hidden" name="option" value="addNew">
+
+ <table class="glm-admin-table">
+ <tr>
+ <th class="glm-required">Name:</th>
+ <td>
+ <input type="text" name="name" class="glm-form-text-input">
+ </td>
+ </tr>
+ <tr>
+ <th>Active:</th>
+ <td><input type="checkbox" name="active>"></td>
+ <tr>
+ <th class="glm-required">Base URL:</th>
+ <td>
+ <input type="text" name="baseurl" class="glm-form-text-input">
+ </td>
+ </tr>
+ <tr>
+ <th class="glm-required">Icon</th>
+ <td><input type="file" name="b64icon"></td>
+ </tr>
+ </table>
+ <p><span class="glm-required">*</span> Required</p>
+ <input type="submit" value="Add new Social Media type">
+ </form>
+ </div>
+
+ <!-- Delete Social Media Dialog Box -->
+ <div id="deleteSocialDialog" class="glm-dialog-box" title="Delete Social Media Type">
+ <center>
+ <p>Are you sure you want to delete this social media type?</p>
+ <p><div id="deleteSocialConfirm" class="button button-secondary">Yes, delete this social media type</div></p>
+ <p><div id="deleteSocialCancel" class="button button-secondary">Cancel</div></p>
+ </center>
+ </div>
+
+ <!-- Edit Social Media Type Dialog Box -->
+ <div id="editSocialDialog" class="glm-dialog-box" title="Edit Social Media Type">
+ <form action="{$thisUrl}?page={$thisPage}" method="post" enctype="multipart/form-data">
+ <input type="hidden" name="glm_action" value="social">
+ <input type="hidden" name="option" value="update">
+ <input id="editSocialID" type="hidden" name="id" value="">
+ <table class="glm-admin-table">
+ <tr>
+ <th class="glm-required">Name:</th>
+ <td>
+ <input id="editSocialName" type="text" name="name" class="glm-form-text-input">
+ </td>
+ </tr>
+ <tr>
+ <th>Active:</th>
+ <td>
+ <input id="editSocialActive" type="checkbox" name="active">
+ </td>
+ </tr>
+ <tr>
+ <th class="glm-required">Base URL:</th>
+ <td>
+ <input id="editSocialUrl" type="text" name="baseurl" class="glm-form-text-input">
+ </td>
+ </tr>
+ <tr>
+ <th class="glm-required">Icon</th>
+ <td><input type="file" name="b64icon"></td>
+ </tr>
+ </table>
+ <p><span class="glm-required">*</span> Required</p>
+ <input type="submit" value="Update this social media type">
+ </form>
+ </div>
+
<h3>Social Media Types</h3>
<div id="glm-admin-content-container">
- <table class="glm-admin-table">
- <tr><th>Active</th><th>Name</th><th>Image</th></tr>
+ <table class="wp-list-table striped glm-admin-table">
+ <tr>
+ <th>Name</th>
+ <th>Active</th>
+ <th>Image</th>
+ <th>Base URL</th>
+ <th> </th>
+ </tr>
{foreach $socials as $s}
<tr>
+ <td class="glm-member-db-social-management-name">
+ <a class="editSocial" data-socialID="{$s.id}" data-socialActive="{$s.active.value}">{$s.name}</a>
+ </td>
<td class="glm-member-db-social-management-checkbox">
{$s.active.name}
</td>
<td>
- <div id="glm-member-db-admin-social-{$socialItem.name|lower}" title="{$socialItem.name}" class="glm-member-db-social-icon" style="background: url('{$assetsUrl}/social-few-full-sprite.jpg') repeat scroll {$socialItem.xpos}px {$socialItem.ypos}px;height:33px;width:33px;display:block;">
- </div>
+ {if $s.b64icon}
+ <img alt="Embedded Image" src="data:image/png;base64,{$s.b64icon}">
+ {else}
+ (no image)
+ {/if}
</td>
- <td class="glm-member-db-social-management-name">
- {$socialItem.name}
+ <td id="editSocialUrl_{$s.id}">
+ {$s.baseurl}
</td>
<td>
- <div class="glm-galleryImage" data-id="logo">
- <img src="{$glmPluginMediaUrl}/images/small/{$member.fieldData.logo}">
- </div>
- <div id="glm-galleryImageLarger_logo" class="glm-imageDialog">
- <div id="glm-member-db-admin-social-{$socialItem.name|lower}" title="{$socialItem.name}" class="glm-member-db-social-icon" style="background: url('{$assetsUrl}/social-few-full-sprite.jpg') repeat scroll {$socialItem.xpos}px {$socialItem.ypos}px;height:33px;width:33px;display:block;">
- </div>
- </div>
+ <div class="deleteSocialButton button button-secondary glm-button-small" data-socialID="{$s.id}">Delete</div>
</td>
-
- <td class="glm-admin-image-edit-table">
- <div class="glm-galleryImage" data-id="logo">
- <div id="glm-member-db-admin-social-{$socialItem.name|lower}" title="{$socialItem.name}" class="glm-member-db-social-icon" style="background: url('{$assetsUrl}/social-few-full-sprite.jpg') repeat scroll {$socialItem.xpos}px {$socialItem.ypos}px;height:33px;width:33px;display:block;">
- </div>
- </div>
- </td>
- <td colspan="2"><b>New image:</b> <input type="file" name="logo_new"></td>
- <td><div id="glm-galleryImageLarger_logo" class="glm-imageDialog"></div></td>
</tr>
{/foreach}
</table>
- <input type="submit" class="button glm-button submit" value="submit" name='submit'>
</form>
</div>
- <script type="text/javascript">
- jQuery(document).ready(function($) {
- // Flash certain elements for a short time after display
- $(".glm-flash-updated").fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500);
+<script type="text/javascript">
+ jQuery(document).ready(function($) {
+
+
+ $("#newSocialDialog").dialog({
+ autoOpen: false,
+ minWidth: 400,
+ });
+ $("#editSocialDialog").dialog({
+ autoOpen: false,
+ minWidth: 400,
+ });
+ $("#deleteSocialDialog").dialog({
+ autoOpen: false,
+ minWidth: 400,
+ });
+
+ $('#newSocialButton').click( function() {
+ $("#newSocialDialog").dialog("open");
+ });
+ $('.editSocial').click( function() {
+ var socialID = $(this).attr('data-socialID');
+ var socialName = $(this).text();
+ var socialActive = $(this).attr('data-socialActive');
+ var socialUrl = $('#editSocialUrl_' + socialID).html();
+ $('#editSocialID').val(socialID);
+ $('#editSocialName').val(socialName.trim());
+ $('#editSocialUrl').val(socialUrl.trim());
+ $("#editSocialDialog").dialog("open");
+ if (socialActive == 1) {
+ $("#editSocialActive").attr('checked', true);
+ } else {
+ $("#editSocialActive").attr('checked', false);
+ }
+
+ });
+ $('#editSocialCancel').click( function() {
+ $("#editSocialDialog").dialog("close");
+ });
+ $('#newSocialCancel').click( function() {
+ $("#newSocialDialog").dialog("close");
+ });
+
+ var id = false;
+ $('.deleteSocialButton').click( function() {
+ id = $(this).attr('data-socialID');
+ $("#deleteSocialDialog").dialog("open");
});
+ $('#deleteSocialConfirm').click( function() {
+ $("#deleteSocialDialog").dialog("close");
+ window.location.href = "{$thisUrl}?page={$thisPage}&glm_action=social&option=delete&id=" + id;
+ });
+ $('#deleteSocialCancel').click( function() {
+ $("#deleteSocialDialog").dialog("close");
+ });
+
+
+
+
+ // Flash certain elements for a short time after display
+ $(".glm-flash-updated").fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500);
+ });
</script>
{include file='admin/footer.html'}