From 3d6826227608dd763338dad44cef834e2f802267 Mon Sep 17 00:00:00 2001 From: Alex King Date: Fri, 24 Apr 2015 10:22:52 -0600 Subject: [PATCH 1/2] Remove social links from Bio widget. --- CHANGELOG.txt | 2 + functions/about/about.php | 154 +------- functions/about/js/about-admin.js | 338 ----------------- .../about/lib/cf-favicon-fetch.class.php | 352 ------------------ functions/about/views/admin-view.php | 39 +- functions/about/views/link-edit-popover.php | 39 -- functions/about/views/link-item.php | 10 - functions/about/views/link-remove-popover.php | 12 - functions/about/widget/view.php | 16 - 9 files changed, 5 insertions(+), 957 deletions(-) delete mode 100644 functions/about/lib/cf-favicon-fetch.class.php delete mode 100644 functions/about/views/link-edit-popover.php delete mode 100644 functions/about/views/link-item.php delete mode 100644 functions/about/views/link-remove-popover.php diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 3f07b97..17cde65 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,5 +1,7 @@ # Personal +- (change) Remove social links from Bio widget. + ## Version 2.0 - (add) When using photos attached to a post for a gallery, you can now drag and drop to order them in your gallery. diff --git a/functions/about/about.php b/functions/about/about.php index ff0775c..abc80cf 100644 --- a/functions/about/about.php +++ b/functions/about/about.php @@ -3,19 +3,16 @@ /* Plugin Name: About Settings & Widget Description: About… -Version: 1.0.1 +Version: 1.2 Author: Crowd Favorite Author URI: http://crowdfavorite.com */ -define('CFCP_ABOUT_VERSION', '1.0.1'); +define('CFCP_ABOUT_VERSION', '1.2'); define('CFCP_ABOUT_SETTINGS', 'cfcp_about_settings'); // Init include_once('widget/about.php'); -if (is_admin()) { - include_once('lib/cf-favicon-fetch.class.php'); -} function cfcp_about_admin_init() { global $pagenow, $plugin_page; @@ -100,126 +97,6 @@ function cfcp_about_admin_ajax() { 'html' => (!empty($results) ? $results : '
'.__('No results found.', 'favepersonal').'
') ); - break; - case 'cfcp_fetch_favicon': - usleep(500000); // pause for 1/2 second to allow the spinner to at least display in the admin - - $u = new CF_Favicon_Fetch(cfcp_about_get_favicon_dir()); - $favicon = $u->have_site_favicon($_POST['url']); - - if (empty($favicon)) { - $success = false; - $favicon = $u->get_site_favicon_url($_POST['url']); - - if (!empty($favicon)) { - $success = true; - $favicon_status = 'new'; - } - else { - $success = false; - $favicon = cfcp_about_favicon_url('default'); - $favicon_status = 'default'; - } - } - else { - $success = true; - $favicon = cfcp_about_favicon_url($favicon); - $favicon_status = 'local'; - } - - $ret = array( - 'success' => $success, - 'favicon_url' => $favicon, - 'favicon_status' => $favicon_status - ); - - break; - case 'cfcp_save_favicon': - $success = false; - $error = ''; - $link = array( - 'title' => trim($_POST['link']['title']), - 'url' => trim($_POST['link']['url']), // if we need to support relative urls then the esc_url will have to go - 'favicon' => trim($_POST['link']['favicon']), - 'favicon_status' => trim($_POST['link']['favicon_status']), - ); - - $qs = strpos($link['favicon'], '?'); - if ($qs !== false) { - $link['favicon'] = substr($link['favicon'], 0, $qs); - } - - // fetch - if (!empty($link['url']) && !empty($link['title'])) { - if ($link['favicon_status'] == 'new') { - - $u = new CF_Favicon_Fetch(cfcp_about_get_favicon_dir()); - $a = $u->get_favicon($link['url']); - - if (!empty($a) && $a != 'default') { - $link['favicon'] = basename($a); - $link['favicon_status'] = 'local'; - } - else { - $link['favicon'] = 'default'; - $link['favicon_status'] = 'local'; - } - - if (!empty($link['favicon'])) { - $success = true; - } - else { - $error = $u->get_last_error(); - } - } - elseif ($link['favicon_status'] == 'local' || $link['favicon_status'] == 'default') { - if ($link['favicon_status'] == 'default') { - $link['favicon'] = 'default'; - } - else { - $link['favicon'] = basename($link['favicon']); - } - $success = true; - } - elseif ($link['favicon_status'] == 'custom') { - $u = new CF_Favicon_Fetch(cfcp_about_get_favicon_dir()); - // download and save favicon - $f_data = $u->fetch_favicon($link['favicon']); - $filename = $u->make_filename($link['url'], $f_data['ext']); - if ($u->save_file($filename, $f_data) !== false) { - $link['favicon'] = $filename; - $link['favicon_status'] = 'local'; - $success = true; - } - } - } - else { - if (empty($link['title'])) { - $error += '

'.__('Please enter a valid link title.', 'favepersonal').'

'; - } - if (empty($link['url'])) { - $error += '

'.__('Please enter a valid link URL.', 'favepersonal').'

'; - } - } - - // formulate response - if ($success) { - $ret = array( - 'success' => true, - 'html' => cfct_template_content( - 'functions/about/views', - 'link-item', - compact('link') - ) - ); - } - else { - $ret = array( - 'success' => false, - 'error' => $error - ); - } - break; } header('Content-Type: application/json'); @@ -330,30 +207,3 @@ function cfcp_about_get_settings() { 'links' => array() )); } - -function cfcp_about_favicon_url($favicon = 'default') { - // in the future the $favicon will come in as just a filename - if ($favicon == 'default') { - $favicon_url = trailingslashit(get_template_directory_uri()).'assets/img/default-favicon.png'; - } - else { - $favicon_url = trailingslashit(cfcp_about_get_favicon_dir_url()).$favicon; - } - return $favicon_url; -} - -function cfcp_about_get_favicon_dir_url() { - $upload_dir_info = wp_upload_dir(); - return apply_filters( - 'cfcp_about_favicon_dir_url', - trailingslashit($upload_dir_info['baseurl']).'favicons' - ); -} - -function cfcp_about_get_favicon_dir() { - $upload_dir_info = wp_upload_dir(); - return apply_filters( - 'cfcp_about_favicon_dir', - trailingslashit($upload_dir_info['basedir']).'favicons' - ); -} diff --git a/functions/about/js/about-admin.js b/functions/about/js/about-admin.js index f95b874..ecf4e41 100644 --- a/functions/about/js/about-admin.js +++ b/functions/about/js/about-admin.js @@ -136,344 +136,6 @@ jQuery(function($) { }; }(jQuery); -// Favicon input - - CF.aboutLinks = function($) { - var $add = $('#cfp-add-link'), - $edit = $('#cfp-link-edit-popover'), - $remove = $('#cfp-link-remove-popover'), - $list = $('#cfp-link-items'), - $preview = $('#cfp_icon_preview'), - $previewBlock = $('#cfp_link_icon_preview'), - $customIconField = $('#cfp_link_custom_favicon'), - _fetchIconUrl = null, - _timer = null; - - $('#cfp-add-link').bind('popover-show', function() { - CF.aboutLinks.showInputs(); - }); - - // store the original preview source image url - $.data($preview, 'src-orig', $preview.attr('src')); - - // save button - $edit.find('input[name="submit_button"]').click(function(e) { - CF.aboutLinks.saveFavicon(); - }).keypress(function(e) { - if (typeof e != "undefined" && typeof e.keyCode != "undefined" && e.keyCode == 13) { - // User pressed enter on the button. - $(this).trigger('click'); - } - }); - - // customize favicon url - $('#cfp-link-icon-edit, #cfp-link-icon-preview-custom .cfp-action-remove').click(function() { - CF.aboutLinks.togglePreviewEdit(); - }); - - // clear custom icon input - $('#cfp-cancel-link-icon-edit').click(function(e) { - CF.aboutLinks.togglePreviewEdit(); - }); - - // init sortables - $list.sortable({ - axis: 'x', - items: 'li', - cursor: 'crosshair', - helper: 'clone', - placeholder: 'cfp-link-img-placeholder' - }); - - $(function() { - CF.aboutLinks.initPopover(); - }); - - return { - requestObj: null, - resetXHR: function() { - if (this.requestObj != null) { - this.requestObj.abort(); - this.requestObj = null; - } - }, - - initPopover: function() { - // attach actions to icons for delete actions - $('.cfp-about-link-item').unbind().popover({ - my: 'left top', - at: 'center bottom', - offset: '-27px 0', - collision: 'none none', - popover: '#cfp-link-remove-popover' - }).bind('popover-show', function() { - $elem = $(this); - $remove.find('a').unbind('click').click(function(e) { - $elem.closest('li').fadeOut(function() { - $(this).remove(); - CF.aboutLinks.handleEmptyLi(); - }).end().data('popover').hide(); - e.preventDefault(); - }); - var data = $.parseJSON($elem.closest('li').find('input[name="cfcp_about_settings[links][]"]').val()); - $remove.find('p.title').text(data.title).end() - .find('p.url').text(data.url).end() - .show(); - }); - }, - - showInputs: function(showNew) { - this.resetIconPreview(); - $edit.addClass('new').find('input#cfp_link_title').focus(); - - // timer for live favicon fetch - var _timer = null; - $edit.find('input#cfp_link_url').unbind('keyup').keyup(function() { - if ($(this).val() == _fetchIconUrl) { - return; - } - if (_timer !== null) { - clearTimeout(_timer); - } - var actionFunc = function() { - CF.aboutLinks.fetchFaviconUrl(); - }; - _timer = setTimeout(actionFunc, 500); - }); - }, - - // reset our inputs for editing - resetInputs: function() { - $edit.find('input[type!="button"]').val('').end() - .find('input#cfp_link_url').val('http://').end() - .find('img').attr('src', '#'); - _fetchIconUrl = null; - CF.aboutLinks.iconToggleAuto(); - }, - - isVisible: function() { - return $edit.is(':visible'); - }, - - fetchFaviconUrl: function() { - this.resetXHR(); - this.resetIconPreview(false); - - var _url = $('#cfp_link_url').val(); - - if (_url.length > 7) { - $previewBlock.show(); - if (_url != _fetchIconUrl) { - _fetchIconUrl = _url; - $edit.find('input[name="submit_button"]') - .addClass('disabled').val(cfcp_about_settings.loading); - this.requestObj = $.post( - ajaxurl, - { - action: 'cfcp_about', - cfcp_about_action: 'cfcp_fetch_favicon', - url: _url - }, - function(r) { - if (r.success) { - CF.aboutLinks.setIconPreview(r.favicon_url, r.favicon_status); - } - else { - CF.aboutLinks.setIconPreview(r.favicon_url, r.favicon_status); - CF.aboutLinks.setErrorMessage(cfcp_about_settings.favicon_fetch_error + _url); - } - CF.requestObj = null; - $('#cfp-link-edit-popover input[name="submit_button"]') - .removeClass('disabled').val(cfcp_about_settings.add); - }, - 'json' - ); - } - } - }, - - setIconPreview: function(src, status) { - $preview.attr('src', src); - $('#cfp_link_favicon').val(src); - $('#cfp_link_favicon_status').val(status); - }, - - // set the icon preview back to a "loading" state - resetIconPreview: function(hide) { - if (hide == undefined || hide == true) { - $previewBlock.hide(); - } - this.clearErrorMessage(); - this.setIconPreview($.data($preview, 'src-orig'), ''); - }, - - setErrorMessage: function(msg) { - $('#cfp_link_icon_message').html(msg); - }, - - clearErrorMessage: function() { - $('#cfp_link_icon_message').html(''); - }, - - // show and hide the custom favicon edit box - // also stores the current favicon preview state on the "cancel" button - togglePreviewEdit: function() { - var $previewCustom = $edit.find('#cfp-link-icon-preview-custom'); - if ($previewCustom.is(':visible')) { - CF.aboutLinks.iconToggleAuto(); - } - else { - CF.aboutLinks.iconToggleCustom(); - } - }, - - iconToggleAuto: function() { - var $previewAuto = $edit.find('#cfp-link-icon-preview-auto'); - var $previewCustom = $edit.find('#cfp-link-icon-preview-custom'); - $previewCustom.hide(); - $previewAuto.show(); - }, - - iconToggleCustom: function() { - var $previewAuto = $edit.find('#cfp-link-icon-preview-auto'); - var $previewCustom = $edit.find('#cfp-link-icon-preview-custom'); - - $('#cfp_link_custom_favicon').val(''); - - this.editSaveFaviconState(); - $customIconField.keyup(function() { - if (_timer != null) { - clearTimeout(_timer); - } - actionFunc = function(parentObj) { - parentObj.setCustomFavicon(); - }; - _timer = setTimeout(actionFunc, 500, CF.aboutLinks); - }); - - $previewAuto.hide(); - $previewCustom.show(); - }, - - // store a url on the "cancel" button so that we can revert when field is cleared - editSaveFaviconState: function() { - $('#cfp-cancel-link-icon-edit').data('favicon', $preview.attr('src')).data('status', $('#cfp-link-favicon-status').val()); - }, - - // restore the favicon preview from the last known state before the custom icon field was messed with - editRestoreFaviconState: function() { - $preview.attr('src', $('#cfp-cancel-link-icon-edit').data('favicon')); - $('#cfp-link-favicon-status').val($('#cfp-cancel-link-icon-edit').data('status')); - }, - - setCustomFavicon: function() { - CF.aboutLinks.setIconPreview($customIconField.val(), 'custom'); - }, - - saveFavicon: function() { - var _url = $.trim($('#cfp_link_url').val()), - _title = $.trim($('#cfp_link_title').val()), - _favicon = '', - _favicon_status = $.trim($('#cfp_link_favicon_status').val()), - errors = {}; - - switch (_favicon_status) { - case 'custom': - _favicon = $.trim($('#cfp_link_custom_favicon').val()); - break; - default: - _favicon = $.trim($('#cfp_link_favicon').val()); - } - - this.clearNotices(); - - - if (_title.length == 0) { - errors.cfp_link_title = cfcp_about_settings.err_link_title; - } - if (_url.length < 8) { - errors.cfp_link_url = cfcp_about_settings.err_link_url; - } - - this.displayNotices(errors); - if (Object.keys(errors).length) { - return false; - } - - $form = $('#cfp-link-edit-popover'); - $button = $form.find('input[name="submit_button"]'); - - if ($button.hasClass('disabled') || $form.hasClass('saving')) { - return; - } - - $form.addClass('saving'); - $button.val(cfcp_about_settings.loading); - - $.post(ajaxurl, - { - action: 'cfcp_about', - cfcp_about_action: 'cfcp_save_favicon', - link: { - url: _url, - title: _title, - favicon: _favicon, - favicon_status: _favicon_status - } - }, - function(r) { - if (r.success) { - CF.aboutLinks.insertLinkItem(r.html); - if (CF.aboutLinks.isVisible()) { - $('#cfp-add-link').click(); - } - CF.aboutLinks.resetInputs(); - CF.aboutLinks.initPopover(); - } - else { - $('#cfp-link-edit', $edit).append('
' + r.error + '
'); - } - $form.removeClass('saving'); - $button.val(cfcp_about_settings.add); - }, - 'json' - ); - return true; - }, - - displayNotices: function(errors) { - this.clearNotices(); - if (errors !== undefined) { - $.each(errors, function(id, errorString) { - $('#' + id, $edit).closest('div').append($('' + errorString + '')); - }); - } - }, - - clearNotices: function() { - $('.cf-error', $edit).remove(); - }, - - insertLinkItem: function(link) { - $list.append($(link)); - this.handleEmptyLi(); - }, - - handleEmptyLi: function() { - if ($list.find('img').size() > 0) { - $list.find('.no-link-item').hide(); - } - else { - $list.find('.no-link-item').show(); - } - }, - - refreshSortables: function() { - $list.sortable('refresh'); - } - }; - }(jQuery); - // Init // hide all pop-overs when hitting ESC diff --git a/functions/about/lib/cf-favicon-fetch.class.php b/functions/about/lib/cf-favicon-fetch.class.php deleted file mode 100644 index 39d7ab9..0000000 --- a/functions/about/lib/cf-favicon-fetch.class.php +++ /dev/null @@ -1,352 +0,0 @@ -upload_dir = trailingslashit($upload_dir); - if (!empty($options['timeout'])) { - $this->timeout = intval($options['timeout']); - } - if (!empty($options['valid_response_codes']) && is_array($options['valid_response_codes'])) { - $this->valid_response_codes = array_map('intval', $options['valid_response_codes']); - } - } - - private function error_log($str) { - if ($this->error_log_enabled) { - error_log($str); - } - } - -// Main query functions - - public function get_site_favicon_url($siteurl) { - $this->reset_error(); - - $siteurl = $siteurl; - $favicon = false; - - if ($f_url = $this->query_head($siteurl)) { - $favicon = $f_url; - } - else if ($f_data = $this->query_server($siteurl)) { - $favicon = $this->get_baseurl($siteurl).'/favicon.ico'; - } - - return $favicon; - } - - /** - * Search for the favicon for a site & then import the favicon to the uploads/favicons folder - * - * @param string $url - * @return string - */ - public function get_favicon($siteurl) { - $this->reset_error(); - - $favicon = 'default'; - - if ($f_url = $this->query_head($siteurl)) { - $f_data = $this->fetch_favicon($f_url); - $qs = strpos($f_data['ext'], '?'); - if ($qs !== false) { - $f_data['ext'] = substr($f_data['ext'], 0, $qs); - } - $filename = $this->make_filename($siteurl, $f_data['ext']); - } - else if ($f_data = $this->query_server($siteurl)) { - $filename = $this->make_filename($siteurl, 'ico'); - } - - if (!empty($f_data) && !empty($filename)) { - $r = $this->save_file($filename, $f_data); - if ($r !== false) { - $favicon = $r; - } - } - - return $favicon; - } - - /** - * check to see wether we have a favicon for this site or not - * - * @param string $siteurl - * @return mixed bool/string - bool on false, filename on true - */ - public function have_site_favicon($siteurl) { - $filename = $this->make_filename($siteurl); - $files = glob(trailingslashit(cfcp_about_get_favicon_dir()).$filename.'\.*'); - - $favicon = false; - if (!empty($files[0])) { - $favicon = basename($files[0]); - } - - return $favicon; - } - -// Utility - - /** - * Use Yahoo YQL service to grab the icon from the html source - * Only looks at the links defined in the head and searches for - * a few popular variants on the head link format - * - * @param string $siteurl - url of the site to inspect - * @return mixed - string $url on success, false on failure - */ - public function query_head($siteurl) { - $favicon = false; - - $y = "http://query.yahooapis.com/v1/public/yql?q="; - $y .= urlencode('select * from html where url="'.$siteurl.'" '. - "and xpath=\"/html/head/link[@rel='icon'] ". - "| /html/head/link[@rel='ICON'] | /html/head/link[@rel='shortcut icon'] ". - "| /html/head/link[@rel='SHORTCUT ICON']\""); - $y .= "&format=json"; - - $r = $this->remote_get($y); - - if (!is_wp_error($r) && $this->is_valid_response_code($r['response']['code']) && !empty($r['body'])) { - $data = json_decode($r['body']); - - if (!empty($data) && $data->query->count > 0) { - // well, now, isn't this fun! - if (!empty($data->query->results->link->href)) { - // 1 result - $favicon = trim($data->query->results->link->href); - } - elseif (!empty($data->query->results->link[0]->href)) { - // many results - $favicon = trim($data->query->results->link[0]->href); - } - else { - $this->handle_error(new WP_Error('Unknown data return format: '.print_r($data, true))); - } - - if (!empty($favicon)) { - $favicon = $this->fix_relative_url($favicon, $siteurl); - } - } - } - else { - $this->handle_error(@$r->get_error_message(), __METHOD__); - } - - unset($r); - return $favicon; - } - - /** - * Query for the favicon at the Server's site root - * - * @param string $siteurl - * @return mixed - string $url on success, false on failure - */ - public function query_server($siteurl) { - $favicon = false; - $this->server_query_result = false; - - // reduce the siteurl down to the base server name - $query_url = $this->get_baseurl($siteurl); - - $favicon_url = trailingslashit($query_url).'favicon.ico'; - - // to check the file availability WP's functions will still pull - // the file so we may as well do a full on fetch - return $this->fetch_favicon($favicon_url); - } - - /** - * import a remote favicon - * Perform a remote get to grab the file itself and pass off to save method - * - * @param string $favicon_url - * @return mixed string/bool - false on failure - */ - public function fetch_favicon($favicon_url) { - $file = $this->remote_get($favicon_url); - $favicon = false; - - if (!is_wp_error($file) && $this->is_valid_response_code($file['response']['code']) && !empty($file['body']) && $this->is_image($file)) { - $filename = $this->make_filename($favicon_url); - $favicon = array( - 'ext' => pathinfo(basename($favicon_url), PATHINFO_EXTENSION), - 'source' => $file['body'] - ); - } - else if (!is_wp_error($file) && empty($file['body'])) { - $this->handle_error(new WP_Error('Request returned no image content'), __METHOD__); - } - else if (is_wp_error($file)) { - $this->handle_error($file->get_error_message(), __METHOD__); - } - - return $favicon; - } - - /** - * Save the favicon to the filesystem - * $icon_data = array( - * 'ext' => '.ext', - * 'source' => '... raw image data ...' - * ); - * - * @param Array $icon_data - * @return mixed string/bool - false on failure - */ - public function save_file($filename, $icon_data) { - $result = false; - if ($this->check_upload_dir()) { - $upload_filepath = $this->upload_dir.$filename; - $bytes = file_put_contents($upload_filepath, $icon_data['source']); - $result = ($bytes > 0 ? $upload_filepath : false); - } - return $result; - } - - public function fix_relative_url($favicon_url, $siteurl) { - $p_favicon_url = parse_url($favicon_url); - if (empty($p_favicon_url['host'])) { - $p_siteurl = parse_url($siteurl); - $favicon_url = $p_siteurl['scheme'].'://'.$p_siteurl['host'].'/'.ltrim($favicon_url, ' /'); - } - return $favicon_url; - } - -// Internal - - public function get_baseurl($siteurl) { - $parts = parse_url(esc_url($siteurl)); - return $parts['scheme'].'://'.$parts['host']; - } - - /** - * Perform remote get function - * Must supress notice output from the wp_remote_get function - * so that it doesn't bork ajax operations. - * - * @param string $url - * @return mixed array/object will be WP_Error object on failure - */ - public function remote_get($url) { - return @wp_remote_get($url, array( - 'timeout' => $this->timeout, - 'sslverify' => false - )); - } - - public function check_upload_dir() { - if (!is_dir($this->upload_dir)) { - mkdir($this->upload_dir); - } - $upload_dir = is_dir($this->upload_dir) && is_writable($this->upload_dir); - if (!$upload_dir) { - $this->error_log('There is a problem with the upload dir "'.$this->upload_dir.'" - it is either missing or not writable'); - } - return $upload_dir; - } - - /** - * Create a save-filename based on the url of the source file - * - * @param string $favicon_url - * @return string - */ - public function make_filename($url, $ext = '') { - return md5($this->get_baseurl($url)).(!empty($ext) ? '.'.$ext : ''); - } - - /** - * Check a response code against a predefined list of - * valid OK response codes. - * - * @todo flush out list against known good http codes - * @param string $code - * @return void - */ - public function is_valid_response_code($code) { - return in_array(intval($code), $this->valid_response_codes); - } - - public function reset_error() { - return $this->last_error = null; - } - - public function get_last_error() { - return $this->last_error; - } - - public function is_image($file) { - return true; -// wordpress.org returns application/octet-stream -// need to decide how to handle this in the future -// return strpos($file['headers']['content-type'], 'image') !== false; - } - - /** - * Stupid error handler - * No, error handling isn't stupid, this handler is - * - * @param mixed $response - * @return void - */ - public function handle_error($response, $method = '') { - if (defined('WP_DEBUG') && WP_DEBUG) { - if (is_wp_error($response)) { - $msg = $response->get_error_message(); - } - else { - $msg = strval($response); - } - $this->last_error = $msg; - $this->error_log('Error in remote request '.$msg.' :: '.$method); - } - } -} - -?> \ No newline at end of file diff --git a/functions/about/views/admin-view.php b/functions/about/views/admin-view.php index a4cda6e..31f8ef7 100644 --- a/functions/about/views/admin-view.php +++ b/functions/about/views/admin-view.php @@ -50,32 +50,7 @@ - -
-
- -
- -
- -
-
- +

@@ -86,15 +61,3 @@ 'html' => cfct_template_content('functions/about/views', 'img-search-popover'), 'arrow_pos' => 'right' )); - -// links popover -echo cfcp_get_popover_html('cfp-link-edit-popover', array( - 'html' => cfct_template_content('functions/about/views', 'link-edit-popover'), - 'arrow_pos' => 'right' -)); - -echo cfcp_get_popover_html('cfp-link-remove-popover', array( - 'html' => cfct_template_content('functions/about/views', 'link-remove-popover'), - 'arrow_pos' => 'left' -)); -?> diff --git a/functions/about/views/link-edit-popover.php b/functions/about/views/link-edit-popover.php deleted file mode 100644 index 2ce735a..0000000 --- a/functions/about/views/link-edit-popover.php +++ /dev/null @@ -1,39 +0,0 @@ -
- - -
- - -
- -
- - -
- - - - - - - - - -
- - \ No newline at end of file diff --git a/functions/about/views/link-item.php b/functions/about/views/link-item.php deleted file mode 100644 index 155cf5e..0000000 --- a/functions/about/views/link-item.php +++ /dev/null @@ -1,10 +0,0 @@ - - \ No newline at end of file diff --git a/functions/about/views/link-remove-popover.php b/functions/about/views/link-remove-popover.php deleted file mode 100644 index 382943a..0000000 --- a/functions/about/views/link-remove-popover.php +++ /dev/null @@ -1,12 +0,0 @@ -
- - -

-

- - -
- - \ No newline at end of file diff --git a/functions/about/widget/view.php b/functions/about/widget/view.php index 6dc2cee..5c57a94 100644 --- a/functions/about/widget/view.php +++ b/functions/about/widget/view.php @@ -22,19 +22,3 @@

-'; -} -?> \ No newline at end of file From a204a742875b8b1f73c16394c1f8d0d4edb30d25 Mon Sep 17 00:00:00 2001 From: Alex King Date: Fri, 24 Apr 2015 10:23:09 -0600 Subject: [PATCH 2/2] Latest colors --- CHANGELOG.txt | 3 +++ plugins/wp-colors | 2 +- style.css | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 17cde65..075f7fe 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,5 +1,8 @@ # Personal +## Version 2.0.1 + +- (change) Use wp_remote_get() for Theme Check compatibility. - (change) Remove social links from Bio widget. ## Version 2.0 diff --git a/plugins/wp-colors b/plugins/wp-colors index 674f1c3..c6188d2 160000 --- a/plugins/wp-colors +++ b/plugins/wp-colors @@ -1 +1 @@ -Subproject commit 674f1c3f97835b6a87220477380360412294f3ff +Subproject commit c6188d2a51de700f6eb4dbdec7d29303d2ff6c3b diff --git a/style.css b/style.css index e9a54cf..146f8b8 100644 --- a/style.css +++ b/style.css @@ -2,7 +2,7 @@ * Theme Name: Personal * Theme URI: http://github.com/alexkingorg/wp-personal * Description: A personal, mobile-friendly, customizable theme for your personal site. Choose your colors from COLOURlovers, baked-in mobile and tablet device support, unique post format display styles and much more. - * Version: 2.0 + * Version: 2.0.1 * Author: Alex King * Author URI: http://alexking.org/ * License: GNU General Public License