예제 #1
0
 * @subpackage  Template
 * @category    Account
 * 
 *
 */
?>

<?php 
do_action('bon_before_account');
?>

<div class="bon-account">
	<p class="bon-account-welcome">
		<?php 
printf(__('Hello <strong>%1$s</strong> (not %1$s? <a href="%2$s">Sign out</a>).', 'bon') . ' ', $current_user->display_name, wp_logout_url(get_permalink(bon_accounts()->my_account_page_id)));
printf(__('From your account dashboard you can view your profile or <a href="%s">edit your password and account details</a>.', 'bon'), bon_accounts()->edit_account_url());
?>
	</p>

	<figure class="bon-account-user">
		<?php 
echo get_avatar($current_user->user_email);
?>
		<figcaption>
			<strong><?php 
echo $current_user->display_name;
?>
</strong>
			<p>
				<?php 
echo $current_user->description;
예제 #2
0
 /**
  * Retrieves a user row based on password reset key and login
  *
  * @uses $wpdb WordPress Database object
  *
  * @access public
  * @param string $key Hash to validate sending user's password
  * @param string $login The user login
  * @return object|bool User's database row on success, false for invalid keys
  */
 public static function _check_password_reset_key($key, $login)
 {
     global $wpdb;
     $key = preg_replace('/[^a-z0-9]/i', '', $key);
     if (empty($key) || !is_string($key)) {
         bon_error_notice()->add('invalid_key', __('Invalid Key.', 'bon'), 'error');
         return false;
     }
     if (empty($login) || !is_string($login)) {
         bon_error_notice()->add('invalid_key', __('Invalid Key.', 'bon'), 'error');
         return false;
     }
     $user = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->users} WHERE user_activation_key = %s AND user_login = %s", $key, $login));
     if (empty($user)) {
         bon_accounts()->error_notice()->add('invalid_key', __('Invalid Key.', 'bon'), 'error');
         return false;
     }
     return $user;
 }
 public function front_end_editor_shortcodes($attr)
 {
     global $wp, $current_screen, $wp_meta_boxes, $post;
     $is_bac = $this->is_bac();
     $output = '';
     /**
      * Start Checking the Conditional needed to render editor
      * Define Variable needed for use in whole function
      *  
      *
      */
     if (!is_user_logged_in()) {
         if ($is_bac === true) {
             wp_safe_redirect(bon_accounts()->my_account_url());
         } else {
             if (is_woocommerce_activated()) {
                 wp_safe_redirect(get_permalink(wc_get_page_id('myaccount')));
             }
         }
     } else {
         if (!$this->is_edit()) {
             return;
         }
         $object_id = $this->get_post_to_edit();
         if (!$object_id) {
             bon_error_notice()->add('invalid_post', __('You attempted to edit an item that doesn&#8217;t exist. Perhaps it was deleted?'), 'error');
             return;
         }
         $post_object = get_post($this->get_post_to_edit());
         setup_postdata($GLOBALS['post'] =& $post_object);
         $current_post_type = get_post_type($object_id);
         if (!$post_object) {
             bon_error_notice()->add('invalid_post', __('You attempted to edit an item that doesn&#8217;t exist. Perhaps it was deleted?'), 'error');
             return;
         }
         if (!current_user_can('edit_post', $object_id)) {
             bon_error_notice()->add('permission_denied', __('You are not allowed to edit this item.'), 'error');
             return;
         }
         if (!post_type_supports($post_object->post_type, 'front-end-editor')) {
             bon_error_notice()->add('unsupported_posttype', __('The post type assigned is not supporting front end post', 'bon'), 'error');
         }
         $form_extra = '';
         $notice = false;
         if ($post_object->post_status === 'auto-draft') {
             $post_object->post_title = '';
             $post_object->comment_status = get_option('default_comment_status');
             $post_object->ping_status = get_option('default_ping_status');
             $autosave = false;
             $form_extra .= "<input type='hidden' id='auto_draft' name='auto_draft' value='1' />";
         } else {
             $autosave = wp_get_post_autosave($object_id);
         }
         $form_action = 'editpost';
         $nonce_action = 'update-post_' . $object_id;
         $form_extra .= "<input type='hidden' id='post_ID' name='post_ID' value='" . esc_attr($object_id) . "' />";
         $content_css = array(trailingslashit(get_stylesheet_directory_uri()) . 'assets/css/editor-styles.css', trailingslashit(includes_url()) . 'css/dashicons.min.css', trailingslashit(includes_url()) . 'js/mediaelement/mediaelementplayer.min.css', trailingslashit(includes_url()) . 'js/mediaelement/wp-mediaelement.css', trailingslashit(includes_url()) . 'js/tinymce/skins/wordpress/wp-content.css', trailingslashit(includes_url()) . 'css/editor.min.css');
         $content_css = join(',', array_map('esc_url', array_unique($content_css)));
         $args = array('post_ID' => $object_id, 'post_type' => $current_post_type, 'user_ID' => get_current_user_id(), 'post' => $post_object, 'post_type_object' => get_post_type_object($current_post_type), 'autosave' => $autosave, 'form_extra' => $form_extra, 'form_action' => $form_action, 'nonce_action' => $nonce_action, 'editor_settings' => array('dfw' => true, 'drag_drop_upload' => true, 'tabfocus_elements' => 'insert-media-button, save-post', 'editor_height' => 360, 'tinymce' => array('resize' => false, 'add_unload_trigger' => false, 'content_css' => $content_css)));
         ob_start();
         bon_get_template('posts/editor.php', $args);
         $args['editor'] = ob_get_clean();
         unset($args['editor_settings']);
         set_current_screen($current_post_type);
         $current_screen->set_parentage('edit.php?post_type=' . $current_post_type);
         if (!wp_check_post_lock($object_id)) {
             $args['active_post_lock'] = wp_set_post_lock($object_id);
         }
         $messages = $this->get_wp_messages($post_object);
         $message = false;
         if (isset($_GET['message'])) {
             $_GET['message'] = absint($_GET['message']);
             if (isset($messages[$current_post_type][$_GET['message']])) {
                 $message = $messages[$current_post_type][$_GET['message']];
             } elseif (!isset($messages[$current_post_type]) && isset($messages['post'][$_GET['message']])) {
                 $message = $messages['post'][$_GET['message']];
             }
         }
         // Detect if there exists an autosave newer than the post and if that autosave is different than the post
         if ($autosave && mysql2date('U', $autosave->post_modified_gmt, false) > mysql2date('U', $post_object->post_modified_gmt, false)) {
             foreach (_wp_post_revision_fields() as $autosave_field => $_autosave_field) {
                 if (normalize_whitespace($autosave->{$autosave_field}) != normalize_whitespace($post_object->{$autosave_field})) {
                     bon_error_notice()->add('autosave_exists', sprintf(__('There is an autosave of this post that is more recent than the version below. <a href="%s">View the autosave</a>'), get_edit_post_link($autosave->ID)), 'notice');
                     break;
                 }
             }
             // If this autosave isn't different from the current post, begone.
             if (!$notice) {
                 wp_delete_post_revision($autosave->ID);
             }
             unset($autosave_field, $_autosave_field);
         }
         bon_get_template('posts/post.php', $args);
         unset($GLOBALS['current_screen']);
         wp_reset_postdata();
     }
 }