Пример #1
0
 function after_register($result)
 {
     $user = new WP_User($result);
     // add key confirm for user
     if (ae_get_option('user_confirm')) {
         update_user_meta($result, 'register_status', 'unconfirm');
         update_user_meta($result, 'key_confirm', md5($user->user_email));
     }
     if (ae_user_role($user->ID) == FREELANCER) {
         update_user_meta($result, 'interview_status', 'unconfirm');
         // update_user_meta($result, 'key_confirm', md5($user->user_email));
     }
     /* === Send Email Register === */
     $this->mail->register_mail($result);
 }
Пример #2
0
            break;
        default:
            # code...
            break;
    }
    echo '</span>';
}
?>

                </li>
            </ul>
        </div>
        <div class="col-lg-4 col-md-12 col-sm-12">
            <div class="info-project-item-right">
                <?php 
if (fre_share_role() || ae_user_role() == 'employer' || ae_user_role() == 'administrator') {
    ?>
                <span class="link-clone">
                    <a href="<?php 
    echo et_get_page_link(array('page_type' => 'submit-project', 'post_title' => __("Submit project", ET_DOMAIN)));
    ?>
" title="">
                        <i class="fa fa-plus-circle"></i><?php 
    _e('Create a Project like this', ET_DOMAIN);
    ?>
                    </a>
                </span>
                <?php 
}
?>
                <ul class="list-share-social addthis_toolbox addthis_default_style" >
Пример #3
0
<?php

/**
* Template part for freelancer bid history 
# this template is loaded in template/bid-history.php
* @since 1.0	
* @package FreelanceEngine
*/
global $wp_query, $ae_post_factory;
$author_id = get_query_var('author');
if (ae_user_role($author_id) == FREELANCER) {
    $post_object = $ae_post_factory->get(BID);
} else {
    $post_object = $ae_post_factory->get(PROJECT);
}
?>
<h4 class="title-big-info-project-items"><?php 
printf(__("Work history and Reviews (%d)", ET_DOMAIN), $wp_query->found_posts);
?>
</h4>
<ul class="list-history-profile">
	<?php 
$postdata = array();
while (have_posts()) {
    the_post();
    $convert = $post_object->convert($post, 'thumbnail');
    $postdata[] = $convert;
    get_template_part('template/bid-history', 'item');
}
?>
</ul>
Пример #4
0
<?php

global $wp_query, $ae_post_factory, $post, $current_user;
//convert current user
$ae_users = AE_Users::get_instance();
$user_data = $ae_users->convert($current_user->data);
$user_role = ae_user_role($current_user->ID);
//convert current profile
$post_object = $ae_post_factory->get(PROFILE);
$posts = get_posts(array('post_type' => PROFILE, 'author' => $current_user->ID, 'showposts' => 1, 'post_status' => 'publish'));
if (!empty($posts) && isset($posts[0])) {
    $profile = $post_object->convert($posts[0]);
} else {
    $profile = array('id' => 0, 'ID' => 0);
}
//get profile skills
$current_skills = get_the_terms($profile, 'skill');
//define variables:
$skills = isset($profile->tax_input['skill']) ? $profile->tax_input['skill'] : array();
$job_title = isset($profile->et_professional_title) ? $profile->et_professional_title : '';
$hour_rate = isset($profile->hour_rate) ? $profile->hour_rate : '';
$currency = isset($profile->currency) ? $profile->currency : '';
$experience = isset($profile->et_experience) ? $profile->et_experience : '';
$hour_rate = isset($profile->hour_rate) ? $profile->hour_rate : '';
$about = isset($profile->post_content) ? $profile->post_content : '';
$display_name = $user_data->display_name;
$user_available = isset($user_data->user_available) && $user_data->user_available == "on" ? 'checked' : '';
$country = isset($profile->tax_input['country'][0]) ? $profile->tax_input['country'][0]->name : '';
$category = isset($profile->tax_input['project_category'][0]) ? $profile->tax_input['project_category'][0]->slug : '';
et_get_mobile_header();
?>
Пример #5
0
/**
 * The template for displaying a bid info item,
 * this template is used to display bid info in a project details,
 * and called at template/list-bids.php
 * @since 1.0
 * @author Dakachi
 */
global $wp_query, $ae_post_factory, $post, $user_ID;
$project_object = $ae_post_factory->get(PROJECT);
$project = $project_object->current_post;
$post_object = $ae_post_factory->get(BID);
$convert = $post_object->convert($post);
$bid_accept = get_post_meta($project->ID, 'accepted', true);
$project_status = $project->post_status;
$role = ae_user_role();
?>



<div class="row list-bidding">

    <div class="info-bidding fade-out fade-in bid-item bid-<?php 
the_ID();
?>
 bid-item-<?php 
echo $project_status;
?>
">

        <div class="row">
Пример #6
0
 function activite_user()
 {
     if (ae_user_role() == 'administrator') {
         $confirmed_user_id = $_POST['user_id'];
         $result = update_user_meta($confirmed_user_id, 'interview_status', 'confirmed');
         if ($result) {
             wp_send_json(array('status' => true, 'msg' => 'success'));
         }
     } else {
         wp_send_json(array('status' => false, 'msg' => 'deny'));
     }
     wp_die();
 }
Пример #7
0
 /**
  *
  */
 function register_mail($user_id)
 {
     $user = new WP_User($user_id);
     $user_email = $user->user_email;
     if (ae_user_role($user_id) == FREELANCER) {
         $subject = sprintf(__("Congratulations! You have successfully registered to %s.", 'aecore-class-ae-mailing-backend'), get_option('blogname'));
         if (ae_get_option('user_confirm')) {
             $message = ae_get_option('confirm_mail_freelancer_template_' . ICL_LANGUAGE_CODE);
             //                $message = ae_get_option('register_mail_freelancer_template');
         } else {
             $message = ae_get_option('register_mail_freelancer_template_' . ICL_LANGUAGE_CODE);
         }
     } else {
         $subject = sprintf(__("Congratulations! You have successfully registered to %s.", 'aecore-class-ae-mailing-backend'), get_option('blogname'));
         if (ae_get_option('user_confirm')) {
             $message = ae_get_option('confirm_mail_template_' . ICL_LANGUAGE_CODE);
         } else {
             $message = ae_get_option('register_mail_template_' . ICL_LANGUAGE_CODE);
         }
     }
     //        if (ae_get_option('user_confirm')) {
     //
     ////            $message = ae_get_option('confirm_mail_template');
     //            $message = ae_user_role($user_id) . '1';
     //
     //        } else {
     //            $message = ae_user_role($user_id) . '2';
     //
     //            //$message = ae_get_option('register_mail_template');
     //
     //        }
     $this->wp_mail($user_email, $subject, $message, array('user_id' => $user_id));
 }
Пример #8
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()));
     }
 }
Пример #9
0
 public static function trace_view($atts, $content = null)
 {
     $user_role = ae_user_role();
     if ($user_role == 'freelancer') {
         ?>
         <div class="container">
             <?php 
         $current_user = wp_get_current_user();
         $list = get_list_freelancer_bids($current_user->ID);
         if ($list != false) {
             foreach ($list as $item) {
                 include 'template/trace-freelancer-item.php';
             }
         }
         ?>
         </div>
     <?php 
     } elseif ($user_role == 'employer') {
         ?>
         <div class="container">
             <?php 
         $current_user = wp_get_current_user();
         $list = get_list_employer_projects($current_user->ID);
         if ($list != false) {
             foreach ($list as $item) {
                 include 'template/trace-employer-item.php';
             }
         }
         ?>
         </div>
     <?php 
     } else {
         ?>
         <div class="container">
             <?php 
         echo 'user role: ';
         var_dump($user_role);
         ?>
         </div>
     <?php 
     }
 }
Пример #10
0
    /**
     * render project button associate with user login 
     * @since 1.0			
     * @author Dakachi
     */
    function fre_project_button($echo = false)
    {
        global $user_ID;
        /* user have not logged in */
        if (!$user_ID) {
            ?>
			<a href="<?php 
            echo et_get_page_link('submit-project');
            ?>
" class="btn btn-sumary btn-post-project">
		        <i class="fa fa-plus-circle"></i><?php 
            _e("Post a Project", 'template-backend');
            ?>
		    </a>
		<?php 
            return;
        }
        // current user is a freelancer
        if (ae_user_role() != FREELANCER) {
            ?>
			<a href="<?php 
            echo et_get_page_link(array('page_type' => 'submit-project', 'post_title' => __("Post a Project", 'template-backend')));
            ?>
" class="btn btn-sumary btn-post-project">
				<i class="fa fa-plus-circle"></i><?php 
            _e("Post a Project", 'template-backend');
            ?>
			</a>
		<?php 
            return '';
        }
        // current user is an employer
        ?>
			<a href="<?php 
        echo get_post_type_archive_link(PROJECT);
        ?>
" class="btn btn-sumary btn-post-project"><i class="fa fa-plus-circle"></i>
	            <?php 
        _e("Find a Project", 'template-backend');
        ?>
	        </a>
		<?php 
    }
Пример #11
0
 function freelancer_review_action()
 {
     global $user_ID;
     $args = $_POST;
     $project_id = $args['project_id'];
     $status = get_post_status($project_id);
     $bid_id_accepted = get_post_meta($project_id, 'accepted', true);
     $author_bid = (int) get_post_field('post_author', $bid_id_accepted);
     $freelancer_id = get_post_field('post_author', $bid_id_accepted);
     /*
      * validate data
      */
     if (!isset($args['score']) || empty($args['score'])) {
         $result = array('succes' => false, 'msg' => __('You have to rate this project.', 'review-backend'));
         wp_send_json($result);
     }
     if (!isset($args['comment_content']) || empty($args['comment_content'])) {
         $result = array('succes' => false, 'msg' => __('Please post a review for this freelancer.', 'review-backend'));
         wp_send_json($result);
     }
     /*
      * check permission
      */
     if ($user_ID !== $author_bid || !$user_ID) {
         wp_send_json(array('succes' => false, 'msg' => __('You don\'t have permission to review.', 'review-backend')));
     }
     /*
      *  check status of project
      */
     if ($status !== 'complete') {
         wp_send_json(array('succes' => false, 'msg' => __('You can\'t not review on this project.', 'review-backend')));
     }
     /**
      * check user reviewed project owner or not
      * @author Dan
      */
     $role = ae_user_role($user_ID);
     $type = 'em_review';
     if ($role == FREELANCER) {
         $type = 'fre_review';
     }
     $comment = get_comments(array('status' => 'approve', 'type' => $type, 'post_id' => $project_id));
     if (!empty($comment)) {
         wp_send_json(array('succes' => false, 'msg' => __('You have reviewed on this project.', 'review-backend')));
     }
     // end check user review project owner
     // add review
     $args['comment_post_ID'] = $project_id;
     $args['comment_approved'] = 1;
     $this->comment_type = 'fre_review';
     $review = Fre_Review::get_instance("fre_review");
     $comment = $review->insert($args);
     if (!is_wp_error($comment)) {
         /**
          * fire action after freelancer review employer base on project
          * @param int $int project id
          * @param Array $args submit args (rating score, comment)
          * @since 1.2
          * @author Dakachi
          */
         do_action('fre_freelancer_review_employer', $project_id, $args);
         //update project, bid, bid author, project author after review
         $this->update_after_fre_review($project_id, $comment);
         wp_send_json(array('success' => true, 'msg' => __("Your review has been submitted.", 'review-backend')));
     } else {
         // revert bid status
         wp_update_post(array('ID' => $bid_id_accepted, 'post_status' => 'publish'));
         wp_send_json(array('success' => false, 'msg' => $comment->get_error_message()));
     }
 }
Пример #12
0
?>

            </select>

        </div>

        <div class="clearfix"></div>

    </div>

    <?php 
// list portfolio
if (have_posts()) {
    get_template_part('template/work', 'history-list');
} else {
    if (fre_share_role() || ae_user_role($author_id) != FREELANCER) {
        echo '<ul style="list-style:none;padding:0;"><li><span class="no-results">' . __('No work history.', 'work-history') . '</span></li></ul>';
    } else {
        echo '<ul style="list-style:none;padding:0;"><li><span class="no-results">' . __('You have not worked on any project yet.', 'work-history') . '</span></li></ul>';
    }
}
//wp_reset_postdata();
?>



</div>

<?php 
wp_reset_query();
remove_filter('posts_orderby', 'fre_order_by_project_status');
Пример #13
0
} else {
    if ($project->post_status == 'complete' && ae_user_role() == 'freelancer' && $bid->ID == $project->accepted) {
        ?>
        <div class="col-md-6">
            <a href="<?php 
        echo add_query_arg('review', 1, $project->permalink);
        ?>
" class="btn btn-apply-project-item">
                <?php 
        _e("Review job", 'user-bid-item');
        ?>
            </a>
        </div>
        <?php 
    } else {
        if ($project->post_status == 'close' && ae_user_role() == 'freelancer' && $bid->ID == $project->accepted) {
            ?>
        <div class="col-md-6">
            <a href="<?php 
            echo add_query_arg(array('workspace' => 1), get_permalink($project->ID));
            ?>
" class="btn btn-apply-project-item">
                <?php 
            _e("Open Workspace", 'user-bid-item');
            ?>
            </a>
        </div>
        <?php 
        }
    }
}
Пример #14
0
<?php

/**
 * Template Name: Interview page
 */
global $user_ID, $ae_post_factory;
if (ae_user_role($user_ID) != FREELANCER || get_user_meta($user_ID, 'interview_status', true) == 'confirmed') {
    wp_redirect(home_url());
}
$interview_object = $ae_post_factory->get('interview');
// user already login redirect to home page
//var_dump($interview_object);
$args = array('author' => $user_ID, 'post_type' => 'interview');
$interview_post = new WP_Query($args);
$last_post = array_shift($interview_post->posts);
$interview_meta = get_post_meta($last_post->ID);
$post_id = $last_post->ID;
get_header();
?>


    <script type="text/javascript" src="/wp-content/themes/freelanceengine/js/moment.js"></script>
    <script type="text/javascript" src="/wp-content/themes/freelanceengine/js/bootstrap-datetimepicker.min.js"></script>
    <link rel="stylesheet" href="/wp-content/themes/freelanceengine/css/bootstrap-datetimepicker.min.css"/>


    <section class="blog-header-container">

        <div class="container">

            <!-- blog header -->
Пример #15
0
        _e('Messages', 'header-mobile');
        ?>
                    </a>
                </li>
                <li>
                    <a href="<?php 
        echo et_get_page_link('profile');
        ?>
#tab_account" class="link-menu-nav">
                        <?php 
        _e('Account Details', 'header-mobile');
        ?>
                    </a>
                </li>
                <?php 
        if (ae_user_role($current_user->ID) == FREELANCER) {
            ?>
                    <li>
                        <a href="<?php 
            echo et_get_page_link('profile');
            ?>
#tab_profile" class="link-menu-nav">
                            <?php 
            _e('Profile Details', 'header-mobile');
            ?>
                        </a>
                    </li>
                <?php 
        }
        ?>
                <li>
Пример #16
0
                </div>

            </div>
            <?php 
}
if ($bid_accept && $project_status == 'close') {
    ?>

            <div class="info-company-wrapper">

            <div class="row">

            <div class="col-md-12">
            <?php 
    if (ae_user_role($user_ID) == FREELANCER || !is_user_logged_in()) {
        fre_display_user_info($project->post_author);
    } else {
        $bid_accepted = $project->accepted;
        $bid_accepted_author = get_post_field('post_author', $bid_accepted);
        $user = get_userdata($bid_accepted_author);
        $ae_users = AE_Users::get_instance();
        $user_data = $ae_users->convert($user);
        $author_email_verified = ae_get_option('user_confirm') && get_user_meta($user_data->ID, 'register_status', true) == "unconfirm" ? false : true;
        $author_phone_verified = get_user_meta($user_data->ID, 'phone', true) != "" ? true : false;
        $rating = Fre_Review::freelancer_rating_score($user_data->ID);
        $profile_id = get_user_meta($user_data->ID, 'user_profile_id', true);
        $hourly_rate_price = get_post_meta($profile_id, 'hour_rate', true);
        $experience = get_post_meta($profile_id, 'et_experience', true);
        $country = get_user_meta($user_data->ID, 'location', true);
        $currency = ae_get_option('content_currency', array('align' => 'left', 'code' => 'USD', 'icon' => '$'));
Пример #17
0
$post_object = $ae_post_factory->get(PROFILE);
$author_id = get_query_var('author');
$author_name = get_the_author_meta('display_name', $author_id);
$author_available = get_user_meta($author_id, 'user_available', true);
// get user profile id
$profile_id = get_user_meta($author_id, 'user_profile_id', true);
// get post profile
$profile = get_post($profile_id);
$convert = '';
if ($profile && !is_wp_error($profile)) {
    $convert = $post_object->convert($profile);
}
$user = get_userdata($author_id);
$ae_users = AE_Users::get_instance();
$user_data = $ae_users->convert($user);
$user_role = ae_user_role($author_id);
// try to check and add profile up current user dont have profile
if (!$convert && $user_role == FREELANCER) {
    $profile_post = get_posts(array('post_type' => PROFILE, 'author' => $author_id));
    if (!empty($profile_post)) {
        $profile_post = $profile_post[0];
        $convert = $post_object->convert($profile_post);
        $profile_id = $convert->ID;
        update_user_meta($author_id, 'user_profile_id', $profile_id);
    } else {
        $convert = $post_object->insert(array('post_status' => 'publish', 'post_author' => $author_id, 'post_title' => $author_name, 'post_content' => ''));
        $convert = $post_object->convert(get_post($convert->ID));
        $profile_id = $convert->ID;
    }
}
//  count author review number
Пример #18
0
                            <input type="email" class="form-control" id="paypal"
                                   name="paypal"
                                   value="<?php 
    echo get_user_meta($user_ID, 'paypal', true);
    ?>
"
                                   placeholder="<?php 
    _e('Enter your paypal email', 'page-profile-mobile');
    ?>
">
                        </div>
                    </div>
                    <div class="clearfix"></div>

                    <?php 
    if (ae_user_role() != FREELANCER) {
        $arrCCDetails = $wpdb->get_results('SELECT * FROM wp_user_cc_info WHERE user_id = ' . $user_ID);
        $default_payment = get_user_meta($user_ID, 'default_payment_option', true);
        $default_cc = get_user_meta($user_ID, 'active_cc', true);
        $strPayPalSelected = '';
        if ($default_payment == '1') {
            $strPayPalSelected = 'selected="selected"';
        }
        ?>
                        <div class="form-group">
                            <div class="form-group-control">
                                <label><?php 
        _e('Primary Account', 'page-profile-mobile');
        ?>
</label>
                                <select
Пример #19
0
 function fre_check_before_insert_bid($args)
 {
     global $user_ID;
     /**
      * add filter to filter bid required field
      * @param Array
      * @since 1.4
      * @author Dakachi
      */
     $bid_required_field = apply_filters('fre_bid_required_field', array('bid_budget', 'bid_time', 'bid_content'));
     if (is_wp_error($args)) {
         return $args;
     }
     if (in_array('bid_content', $args) && !isset($args['bid_content'])) {
         return new WP_Error('empty_content', __('Please enter your bid message.', ET_DOMAIN));
     }
     $args['post_content'] = $args['bid_content'];
     $project_id = isset($args['post_parent']) ? $args['post_parent'] : '';
     $args['post_status'] = 'publish';
     // $request = $_POST;
     /*
      * validate data
      */
     if (in_array('bid_budget', $bid_required_field) && (!isset($args['bid_budget']) || empty($args['bid_budget']))) {
         return new WP_Error('empty_bid', __('You have to set the bid budget.', ET_DOMAIN));
     }
     if (in_array('bid_time', $bid_required_field) && (!isset($args['bid_time']) || empty($args['bid_time']))) {
         return new WP_Error('empty_time', __('You have to set the time to finish project.', ET_DOMAIN));
     }
     if (in_array('bid_budget', $bid_required_field) && $args['bid_budget'] <= 0) {
         return new WP_Error('budget_less_than_zero', __("Your budget have to greater than zero!", ET_DOMAIN));
     }
     if (in_array('bid_budget', $bid_required_field) && !is_numeric($args['bid_budget']) || in_array('bid_time', $bid_required_field) && !is_numeric($args['bid_time'])) {
         return new WP_Error('invalid_input', __('Please enter a valid number in budget or bid time', ET_DOMAIN));
     }
     if (!$user_ID) {
         return new WP_Error('no_permission', __('Please login to bid a project', ET_DOMAIN));
     }
     if (get_post_status($project_id) != 'publish') {
         return new WP_Error('invalid_input', __('This project is not publish.', ET_DOMAIN));
     }
     // $accepted = get_post_meta($project_id,'accepted', true);
     // if($accepted || 'complete' ==  get_post_status($project_id) )
     //    return new  WP_Error (200 ,__('The project has been accepted', ET_DOMAIN));
     if (fre_has_bid($project_id)) {
         return new WP_Error(200, __('You have bid on this project', ET_DOMAIN));
     }
     $post_author = (int) get_post_field('post_author', $project_id, 'display');
     if ($user_ID == $post_author) {
         return new WP_Error(200, __('You can\'t bid on your project', ET_DOMAIN));
     }
     // check role to bid project
     $role = ae_user_role();
     if (!fre_share_role() && $role != FREELANCER) {
         return new WP_Error(200, __('You have to be a freelancer to bid a project.', ET_DOMAIN));
     }
     /*
      * check profile has set?
      */
     $profile_id = get_user_meta($user_ID, 'user_profile_id', true);
     $profile = get_post($profile_id);
     // user have to complete profile to bid a project
     if (!$profile || !is_numeric($profile_id)) {
         return new WP_Error(200, __('You must complete your profile to bid on a project.', ET_DOMAIN));
     }
     /* when using escrow, freelancer must setup an paypal account */
     $stripe_api = ae_get_option('escrow_stripe_api');
     if (ae_get_option('use_escrow') && (!$stripe_api || !$stripe_api['use_stripe_escrow'])) {
         $paypal_account = get_user_meta($user_ID, 'paypal', true);
         if (!$paypal_account) {
             return new WP_Error('dont_have_paypal', __('You must setup your paypal account in profile to receive money.', ET_DOMAIN));
         }
     }
     return $args;
 }
Пример #20
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;
 }
Пример #21
0
 /**
  * user confirm email 
  * @param String $key
  * @since 1.0
  * @author ThaiNT
  */
 public static function confirm($key)
 {
     global $de_confirm;
     $user = get_users(array('meta_key' => 'key_confirm', 'meta_value' => $_GET['key']));
     if (ae_user_role($user[0]->ID) == FREELANCER) {
         $subject = sprintf(__("Invitation to interview", 'aecore-class-ae-users-backend'), get_option('blogname'));
         if (ae_get_option('user_confirm')) {
             $message = ae_get_option('register_mail_freelancer_template');
             $wtf = new AE_Mailing();
             $wtf->send_freelancer_interview($user[0], $subject, $message);
             //                wp_mail($user[0]->user_email, $subject, $message, array(
             //
             //                    'user_id' => $user[0]->ID
             //
             //                ));
         } else {
         }
     }
     // user had activated
     if (self::is_activate($user[0]->ID)) {
         return false;
     }
     $de_confirm = update_user_meta($user[0]->ID, 'register_status', '');
     //sign on user after active
     if ($de_confirm) {
         wp_clear_auth_cookie();
         wp_set_current_user($user[0]->ID);
         wp_set_auth_cookie($user[0]->ID);
     }
     $user_id = $user['0']->ID;
     /**
      * do action after user confirm 
      * @param Int $user_id
      * @param string $key The activation key
      * @since 1.0
      * @author Dakachi
      */
     do_action('ae_after_confirm_user', $user_id, $key);
     return $user[0]->ID;
 }