function um_add_edit_icon($args)
{
    global $ultimatemember;
    $output = '';
    if (!is_user_logged_in()) {
        return;
    }
    // not allowed for guests
    if (isset($ultimatemember->user->cannot_edit) && $ultimatemember->user->cannot_edit == 1) {
        return;
    }
    // do not proceed if user cannot edit
    if ($ultimatemember->fields->editing == true) {
        ?>

		<div class="um-profile-edit um-profile-headericon">

			<a href="#" class="um-profile-edit-a um-profile-save"><i class="um-faicon-check"></i></a>

		</div>

		<?php 
    } else {
        ?>

		<div class="um-profile-edit um-profile-headericon">

			<a href="#" class="um-profile-edit-a"><i class="um-faicon-cog"></i></a>

			<?php 
        $items = array('editprofile' => '<a href="' . um_edit_profile_url() . '" class="real_url">' . __('Edit Profile', 'ultimatemember') . '</a>', 'myaccount' => '<a href="' . um_get_core_page('account') . '" class="real_url">' . __('My Account', 'ultimatemember') . '</a>', 'logout' => '<a href="' . um_get_core_page('logout') . '" class="real_url">' . __('Logout', 'ultimatemember') . '</a>', 'cancel' => '<a href="#" class="um-dropdown-hide">' . __('Cancel', 'ultimatemember') . '</a>');
        $cancel = $items['cancel'];
        if (!um_is_myprofile()) {
            $actions = $ultimatemember->user->get_admin_actions();
            unset($items['myaccount']);
            unset($items['logout']);
            unset($items['cancel']);
            if (is_array($actions)) {
                $items = array_merge($items, $actions);
            }
            $items = apply_filters('um_profile_edit_menu_items', $items, um_profile_id());
            $items['cancel'] = $cancel;
        } else {
            $items = apply_filters('um_myprofile_edit_menu_items', $items);
        }
        echo $ultimatemember->menu->new_ui($args['header_menu'], 'div.um-profile-edit', 'click', $items);
        ?>

		</div>

		<?php 
    }
}
Example #2
0
 function display_view($mode, $args)
 {
     global $ultimatemember;
     $output = null;
     $this->global_args = $args;
     $ultimatemember->form->form_suffix = '-' . $this->global_args['form_id'];
     $this->set_mode = $mode;
     $this->set_id = $this->global_args['form_id'];
     $this->field_icons = isset($this->global_args['icons']) ? $this->global_args['icons'] : 'label';
     // start output here
     $this->get_fields = $this->get_fields();
     if (um_get_option('profile_empty_text')) {
         $emo = um_get_option('profile_empty_text_emo');
         if ($emo) {
             $emo = '<i class="um-faicon-frown-o"></i>';
         } else {
             $emo = false;
         }
         if (um_is_myprofile()) {
             $output .= '<p class="um-profile-note">' . $emo . '<span>' . sprintf(__('Your profile is looking a little empty. Why not <a href="%s">add</a> some information!', 'ultimatemember'), um_edit_profile_url()) . '</span></p>';
         } else {
             $output .= '<p class="um-profile-note">' . $emo . '<span>' . __('This user has not added any information to their profile yet.', 'ultimatemember') . '</span></p>';
         }
     }
     if (!empty($this->get_fields)) {
         // find rows
         foreach ($this->get_fields as $key => $array) {
             if ($array['type'] == 'row') {
                 $this->rows[$key] = $array;
                 unset($this->get_fields[$key]);
                 // not needed anymore
             }
         }
         // rows fallback
         if (!isset($this->rows)) {
             $this->rows = array('_um_row_1' => array('type' => 'row', 'id' => '_um_row_1', 'sub_rows' => 1, 'cols' => 1));
         }
         // master rows
         foreach ($this->rows as $row_id => $row_array) {
             $row_fields = $this->get_fields_by_row($row_id);
             if ($row_fields) {
                 $output .= $this->new_row_output($row_id, $row_array);
                 $sub_rows = isset($row_array['sub_rows']) ? $row_array['sub_rows'] : 1;
                 for ($c = 0; $c < $sub_rows; $c++) {
                     // cols
                     $cols = isset($row_array['cols']) ? $row_array['cols'] : 1;
                     if (strstr($cols, ':')) {
                         $col_split = explode(':', $cols);
                     } else {
                         $col_split = array($cols);
                     }
                     $cols_num = $col_split[$c];
                     // sub row fields
                     $subrow_fields = null;
                     $subrow_fields = $this->get_fields_in_subrow($row_fields, $c);
                     if (is_array($subrow_fields)) {
                         $subrow_fields = $this->array_sort_by_column($subrow_fields, 'position');
                         if ($cols_num == 1) {
                             $output .= '<div class="um-col-1">';
                             $col1_fields = $this->get_fields_in_column($subrow_fields, 1);
                             if ($col1_fields) {
                                 foreach ($col1_fields as $key => $data) {
                                     $output .= $this->view_field($key, $data);
                                 }
                             }
                             $output .= '</div>';
                         } else {
                             if ($cols_num == 2) {
                                 $output .= '<div class="um-col-121">';
                                 $col1_fields = $this->get_fields_in_column($subrow_fields, 1);
                                 if ($col1_fields) {
                                     foreach ($col1_fields as $key => $data) {
                                         $output .= $this->view_field($key, $data);
                                     }
                                 }
                                 $output .= '</div>';
                                 $output .= '<div class="um-col-122">';
                                 $col2_fields = $this->get_fields_in_column($subrow_fields, 2);
                                 if ($col2_fields) {
                                     foreach ($col2_fields as $key => $data) {
                                         $output .= $this->view_field($key, $data);
                                     }
                                 }
                                 $output .= '</div><div class="um-clear"></div>';
                             } else {
                                 $output .= '<div class="um-col-131">';
                                 $col1_fields = $this->get_fields_in_column($subrow_fields, 1);
                                 if ($col1_fields) {
                                     foreach ($col1_fields as $key => $data) {
                                         $output .= $this->view_field($key, $data);
                                     }
                                 }
                                 $output .= '</div>';
                                 $output .= '<div class="um-col-132">';
                                 $col2_fields = $this->get_fields_in_column($subrow_fields, 2);
                                 if ($col2_fields) {
                                     foreach ($col2_fields as $key => $data) {
                                         $output .= $this->view_field($key, $data);
                                     }
                                 }
                                 $output .= '</div>';
                                 $output .= '<div class="um-col-133">';
                                 $col3_fields = $this->get_fields_in_column($subrow_fields, 3);
                                 if ($col3_fields) {
                                     foreach ($col3_fields as $key => $data) {
                                         $output .= $this->view_field($key, $data);
                                     }
                                 }
                                 $output .= '</div><div class="um-clear"></div>';
                             }
                         }
                     }
                 }
                 $output .= '</div>';
             }
         }
     }
     return $output;
 }
function um_access_profile($user_id)
{
    if (!um_is_myprofile() && um_is_core_page('user') && !current_user_can('edit_users')) {
        um_fetch_user($user_id);
        if (!in_array(um_user('account_status'), array('approved'))) {
            um_redirect_home();
        }
        um_reset_user();
    }
}