function filter_link_redirect_register($result) { if (!is_wp_error($result)) { // $user_info = get_userdata($result->ID); $role = ae_user_role($result->ID); } else { $role = ''; } $redirect_url = $role == "employer" && AE_Users::is_activate($result->ID) ? et_get_page_link('submit-project') : et_get_page_link('profile'); $result->redirect_url = apply_filters('ae_after_register_link', $redirect_url); $result->do = "register"; return $result; }
/** * hanlde profile action * @package FreelanceEngine */ function sync_post() { global $ae_post_factory, $user_ID, $current_user; $request = $_REQUEST; $ae_users = new AE_Users(); $user_data = $ae_users->convert($current_user); $profile = $ae_post_factory->get($this->post_type); if (!AE_Users::is_activate($user_ID)) { wp_send_json(array('success' => false, 'msg' => __("Your account is pending. You have to activate your account to create profile.", 'profiles-backend'))); } // set status for profile if (!isset($request['post_status'])) { $request['post_status'] = 'publish'; } // set profile title $request['post_title'] = $user_data->display_name; if ($request['method'] == 'create') { $profile_id = get_user_meta($user_ID, 'user_profile_id', true); if ($profile_id) { $profile_post = get_post($profile_id); if ($profile_post && $profile_post->post_status != 'draft') { wp_send_json(array('success' => false, 'msg' => __("You only can have on profile.", 'profiles-backend'))); } } } // sync profile $result = $profile->sync($request); if (!is_wp_error($result)) { $result->redirect_url = $result->permalink; $rating_score = get_post_meta($result->ID, 'rating_score', true); if (!$rating_score) { update_post_meta($result->ID, 'rating_score', 0); } // action create profile if ($request['method'] == 'create') { // store profile id to user meta $response = array('success' => true, 'data' => $result, 'msg' => __("Your profile has been created successfull.", 'profiles-backend')); wp_send_json($response); //action update profile } else { if ($request['method'] == 'update') { $response = array('success' => true, 'data' => $result, 'msg' => __("Your profile has been updated successfully.", 'profiles-backend')); wp_send_json($response); } } } else { wp_send_json(array('success' => false, 'data' => $result, 'msg' => $result->get_error_message())); } }
/** * ajax callback sync post details * - update * - insert * - delete */ function post_sync() { $request = $_REQUEST; global $ae_post_factory, $user_ID; if (!AE_Users::is_activate($user_ID)) { wp_send_json(array('success' => false, 'msg' => __("Your account is pending. You have to activate your account to continue this step.", 'projects-backend'))); } if (check_existing_post_name($request['post_title']) && $request['method'] != 'update') { wp_send_json(array('success' => false, 'msg' => __("Current title name already exists", 'projects-backend'))); } // prevent freelancer submit project if (!fre_share_role() && ae_user_role() == FREELANCER) { wp_send_json(array('success' => false, 'msg' => __("You need an employer account to post a project.", 'projects-backend'))); } // unset package data when edit place if user can edit others post if (isset($request['ID']) && !isset($request['renew'])) { unset($request['et_payment_package']); } if (isset($request['archive'])) { $request['post_status'] = 'archive'; } if (isset($request['publish'])) { $request['post_status'] = 'publish'; } if (isset($request['delete'])) { $request['post_status'] = 'trash'; } if (isset($request['disputed'])) { $request['post_status'] = 'disputed'; } if (isset($request['close_disput'])) { $request['post_status'] = get_post_meta($request['ID'], 'post_status_before_disput', true); } if (isset($request['project_type'])) { unset($request['project_type']); } $place = $ae_post_factory->get($this->post_type); // sync place $result = $place->sync($request); if (!is_wp_error($result)) { // update place carousels if (isset($request['et_carousels'])) { // loop request carousel id foreach ($request['et_carousels'] as $key => $value) { $att = get_post($value); // just admin and the owner can add carousel if (current_user_can('manage_options') || $att->post_author == $user_ID) { wp_update_post(array('ID' => $value, 'post_parent' => $result->ID)); } } } /** * check payment package and check free or use package to send redirect link */ if (isset($request['et_payment_package'])) { // check seller use package or not $check = AE_Package::package_or_free($request['et_payment_package'], $result); // check use package or free to return url if ($check['success']) { $result->redirect_url = $check['url']; } $result->response = $check; // check seller have reached limit free plan $check = AE_Package::limit_free_plan($request['et_payment_package']); if ($check['success']) { // false user have reached maximum free plan $response['success'] = false; $response['msg'] = $check['msg']; // send response to client wp_send_json($response); } } // check payment package /** * check disable plan and submit place to view details */ if ($this->disable_plan && $request['method'] == 'create') { if (ICL_LANGUAGE_CODE != 'en') { $redirect = apply_filters('wpml_permalink', $result->permalink, ICL_LANGUAGE_CODE); } else { $redirect = $result->permalink; } // disable plan, free to post place $response = array('success' => true, 'data' => array('ID' => $result->ID, 'redirect_url' => $redirect), 'msg' => __("Submit place successfull.", 'projects-backend')); // send response wp_send_json($response); } // send json data to client wp_send_json(array('success' => true, 'data' => $result, 'msg' => __("Update project successful!", 'projects-backend'))); } else { // update false wp_send_json(array('success' => false, 'data' => $result, 'msg' => $result->get_error_message())); } }
</span> </div> <div class="clearfix"></div> <div class="form-group"> <span class="text-small"> <?php _e('Select "Yes" to display a "Hire me" button on your profile allowing potential clients and employers to contact you.', 'page-profile'); ?> </span> </div> <div class="clearfix"></div> <?php } // display a link for user to request a confirm email if (!AE_Users::is_activate($user_ID)) { ?> <div class="form-group confirm-request"> <span class="text-small"> <?php _e('You have not confirmed your email yet, please check out your mailbox.', 'page-profile'); echo '<br/>'; echo ' <a class="request-confirm" href="#">' . __('Request confirm email.', 'page-profile') . '</a>'; ?> </span> </div> <?php } else { ?>