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 } }
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(); } }