Пример #1
0
function JB_process_login()
{
    global $label;
    global $JBMarkup;
    if (!isset($_REQUEST['page'])) {
        // this us used to forward the user to the relevant page after login
        $q_str = '';
        $amp = '';
        foreach ($_GET as $key => $val) {
            if (!is_array($val)) {
                $q_str .= $amp . $key . '=' . urlencode($val);
            }
            $amp = '&';
        }
        $_REQUEST['page'] = $_SERVER['PHP_SELF'] . '?' . $q_str;
    }
    $session_duration = ini_get("session.gc_maxlifetime");
    if ($session_duration == false) {
        $session_duration = 20 * 60;
    }
    // general house-keeping to end all sessions longer than session.gc_maxlifetime
    $now = gmdate("Y-m-d H:i:s");
    $sql = "UPDATE `users` SET `logout_date`='{$now}' WHERE UNIX_TIMESTAMP(DATE_SUB('{$now}', INTERVAL {$session_duration} SECOND)) > UNIX_TIMESTAMP(last_request_time) AND (`logout_date` ='0000-00-00 00:00:00')";
    JB_mysql_query($sql) or die($sql . mysql_error());
    JBPLUG_do_callback('can_process_login', $A = false);
    // Note for Plugin authors: here your plugin can update your session cookies for your external app, and do other hosekeeping such as update the session tables, etc
    if (!JB_is_can_logged_in() || $_SESSION['JB_Domain'] != "CANDIDATE" || isset($_SESSION['JB_Base']) && $_SESSION['JB_Base'] != JB_BASE_HTTP_PATH) {
        $page_title = $label["c_loginform_title"] . " - " . JB_SITE_NAME;
        JB_template_candidates_outside_header($page_title);
        JB_can_login_form();
        JB_template_candidates_outside_footer();
        die;
    } else {
        JBPLUG_do_callback('can_process_login_passed', $A = false);
        // user is logged in
        $now = gmdate("Y-m-d H:i:s");
        $sql = "UPDATE `users` SET `last_request_time`='{$now}', logout_date='0000-00-00 00:00:00' WHERE `Username`='" . jb_escape_sql(addslashes($_SESSION['JB_Username'])) . "'";
        JB_mysql_query($sql) or die($sql . mysql_error());
        // check membership payment.
        if (JB_CANDIDATE_MEMBERSHIP_ENABLED == 'YES') {
            if (!JB_is_candidate_membership_active($_SESSION['JB_ID'])) {
                if (strpos($_SERVER['PHP_SELF'], 'membership.php') === false && strpos($_SERVER['PHP_SELF'], 'order.php') === false && strpos($_SERVER['PHP_SELF'], 'payment.php') === false && strpos($_SERVER['PHP_SELF'], 'logout.php') === false) {
                    // redirect to the memberhsip page
                    ?>
				   <head>
				   <?php 
                    $JBMarkup->charset_meta_tag();
                    ?>
				   <link rel="stylesheet" type="text/css" href="<?php 
                    echo JB_get_maincss_url();
                    ?>
" >
				   <META HTTP-EQUIV="Refresh" CONTENT="1; URL=membership.php">
				   </head>
				   <body style="background-color:white">
				   <p>&nbsp;</p>

				   <?php 
                    echo $label['membership_please_wait'];
                    ?>

				   </body>


				   <?php 
                    die;
                }
            }
        }
    }
}
Пример #2
0
function JB_get_member_view_status($user_id, $user_domain = 'EMPLOYER')
{
    static $member_view_status;
    static $cached_user_id;
    static $cached_user_domain;
    if (isset($member_view_status) && $cached_user_id == $user_id && $cached_user_domain == $user_domain) {
        return $member_view_status;
    }
    $cached_user_id = $user_id;
    $cached_user_domain = $user_domain;
    $member_view_status = 'N';
    if ($_SESSION['JB_ID'] != '') {
        // Is user logged in?
        $member_view_status = 'Y';
        // do not block, DEFAULT
        if (JB_CANDIDATE_MEMBERSHIP_ENABLED == 'YES' && $user_domain == 'CANDIDATE') {
            if (JB_is_candidate_membership_active($user_id)) {
                $member_view_status = 'Y';
                // do not block
            } else {
                $member_view_status = 'N';
                // block it
            }
        }
        if (JB_EMPLOYER_MEMBERSHIP_ENABLED == 'YES' && $user_domain == 'EMPLOYER') {
            if (JB_is_employer_membership_active($user_id)) {
                $member_view_status = 'Y';
            } else {
                $member_view_status = 'N';
            }
        }
    }
    return $member_view_status;
}
Пример #3
0
function JB_template_application_form($post_id, $app_name, $app_email, $app_subject, $app_letter, $att1, $att2, $att3)
{
    global $label, $error, $JBMarkup;
    // Need to access the job posting data? It has already been loaded
    // in to memory. Here is an example forhow to do it:
    // $DynamicForm = &JB_get_DynamicFormObject(1);
    // print_r($DynamicForm->get_values());
    JBPLUG_do_callback('app_form_before', $A = false);
    $member_ignore_premium = false;
    if (JB_MEMBER_FIELD_SWITCH == 'YES') {
        if (JB_MEMBER_FIELD_IGNORE_PREMIUM == 'YES') {
            // ignore membership only field and allow applications
            $PForm =& JB_get_DynamicFormObject(1);
            if ($PForm->get_value('post_mode') == 'premium') {
                $member_ignore_premium = true;
            }
        }
    }
    // if membership fields are blocked, and if membership billing for candidates is YES
    // and membership not acive
    // (The membership fields are blocked when JB_MEMBER_FIELD_SWITCH=='YES')
    //
    if (!$member_ignore_premium && JB_ONLINE_APP_SIGN_IN == 'YES' && JB_CANDIDATE_MEMBERSHIP_ENABLED == 'YES' && !JB_is_candidate_membership_active($_SESSION['JB_ID'])) {
        $label['app_member_only'] = str_replace('%MEMBERSHIP_URL%', JB_BASE_HTTP_PATH . JB_CANDIDATE_FOLDER . 'membership.php', $label['app_member_only']);
        $JBMarkup->ok_msg($label['app_member_only']);
    } else {
        $app_name = stripslashes($app_name);
        $app_email = stripslashes($app_email);
        $app_subject = stripslashes($app_subject);
        $app_letter = stripslashes($app_letter);
        if (file_exists(JB_THEME_PATH . 'application-form.php')) {
            require JB_THEME_PATH . 'application-form.php';
        } else {
            require JB_DEFAULT_THEME_PATH . 'application-form.php';
        }
    }
    JBPLUG_do_callback('app_form_after', $A = false);
}