Beispiel #1
0
 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;
 }
Beispiel #2
0
 /**
  * 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()));
     }
 }
Beispiel #3
0
 /**
  * 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 {
    ?>