Example #1
0
 function list_job(&$post)
 {
     static $previous_day;
     $this->current_post = $post;
     $LM =& JB_get_PostListMarkupObject();
     // load the ListMarkup Class
     $count++;
     $POST_MODE = 'normal';
     $class_name = $LM->get_item_class_name($POST_MODE);
     $class_postfix = $LM->get_item_class_postfix($POST_MODE);
     $DATE = $this->current_post['date'];
     # display day of week
     if (JB_POSTS_SHOW_DAYS_ELAPSED == "YES") {
         //echo $prams['post_date'];
         $day_and_week = JB_get_day_and_week(JB_trim_date($DATE));
         if (JB_trim_date($DATE) !== JB_trim_date($previous_day)) {
             // new day?
             if ($day_and_week != '') {
                 $LM->list_day_of_week($day_and_week, $class_postfix);
             }
         }
         $previous_day = $DATE;
     }
     ########################################
     # Open the list data items
     $LM->list_item_open($POST_MODE, $class_name);
     ########################################################################
     JB_echo_job_list_data($admin);
     // display the data cells
     ########################################################################
     # Close list data items
     $LM->list_item_close();
 }
Example #2
0
function JB_display_post_list(&$posts, $lm)
{
    global $JobListAttributes;
    global $list_mode;
    $list_mode = $lm;
    global $post_count;
    global $post_id;
    global $label;
    global $column_list;
    // - this is initialized in lists.inc.php using the JB_echo_list_head_data() function
    global $column_info;
    // - same as above
    $PLM =& JB_get_PostListMarkupObject();
    // load the ListMarkup Class
    $PLM->set_list_mode($lm);
    if (func_num_args() > 2) {
        // what kind of posts to show
        $show = func_get_arg(2);
        $_REQUEST['show'] = $show;
    }
    $PLM->set_show($show);
    $JobListAttributes = new JobListAttributes($list_mode, $show);
    $JobListAttributes->set_list_mode($lm);
    if ($list_mode == 'ADMIN') {
        $admin = true;
    }
    if ($list_mode == "BY_CATEGORY_ADMIN") {
        $list_mode = "ADMIN";
    }
    if ($list_mode == 'ADMIN' || $list_mode == 'SAVED' || $list_mode == 'EMPLOYER') {
        $PLM->open_form($JobListAttributes);
    }
    if ($list_mode == 'PREMIUM') {
        if (JB_PREMIUM_POSTS_LIMIT == 'YES') {
            $pp_page = JB_PREMIUM_POSTS_PER_PAGE;
        } else {
            $pp_page = 200;
        }
    } elseif ($list_mode == 'EMPLOYER') {
        if (defined('JB_MANAGER_POSTS_PER_PAGE')) {
            $pp_page = JB_MANAGER_POSTS_PER_PAGE;
        } else {
            $pp_page = 20;
        }
    } else {
        $pp_page = JB_POSTS_PER_PAGE;
    }
    if ($list_mode != 'PREMIUM') {
        JB_nav_pages($result, $q_string, $pp_page);
    }
    $css_id = $PLM->get_list_css_id();
    $PLM->list_start($css_id);
    ################
    # Generate output for the head <tr> row of the table
    # Dynamic columns are generated by Jb_echo_list_head_data() in lists.inc.php and
    # placed in the $head_data variable
    # The $head_data is cached, otherwise if conditions are used
    # to generate the output for the <td> parts
    $COLSPAN = '';
    // How many columns? (the hits column does not count here...)
    ob_start();
    // buffer the output, so that we can calculate the colspan.
    $COLSPAN = JB_echo_list_head_data(1, $admin);
    $list_head_data = ob_get_contents();
    ob_end_clean();
    JBPLUG_do_callback('job_list_set_colspan', $COLSPAN);
    // set the colspan value
    $PLM->set_colspan($COLSPAN);
    if ($list_mode == 'SAVED') {
        $PLM->saved_list_controls();
    } elseif ($list_mode == 'ADMIN') {
        $PLM->admin_list_controls();
    } elseif ($list_mode == 'EMPLOYER') {
        $PLM->employer_list_controls();
    }
    JBPLUG_do_callback('job_list_controls', $PLM);
    // plugins can render any undefined list controls
    #######################################
    # Open the list heading section
    $PLM->list_head_open();
    if ($list_mode == 'ADMIN') {
        $PLM->list_head_admin_action();
        JBPLUG_do_callback('job_list_head_admin_action', $A = false);
        // plugin for addition action column
    } elseif ($list_mode == 'EMPLOYER') {
        $PLM->list_head_employer_action();
    } elseif ($list_mode == 'SAVED') {
        $PLM->list_head_saved_action();
    }
    JBPLUG_do_callback('joblist_list_head_action', $PLM);
    ########################################################################
    echo $list_head_data;
    // output the header columns that were buffered before.
    ########################################################################
    if ($list_mode == 'EMPLOYER') {
        // Here we make sure that the 'views' and 'applications' columns
        // appear in manager.php, regardless how the list is configured.
        $PLM->list_head_employer_extras();
        JBPLUG_do_callback('job_list_head_employer_extra_col', $A = false);
        // plugin for the additional columns seen by the employer's Application manager
    }
    if ($list_mode == 'PREMIUM' && JB_SHOW_PREMIUM_HITS == 'YES') {
        $PLM->list_head_premium_extras();
    }
    ######################################
    # Close the list heading section
    $PLM->list_head_close();
    $i = 0;
    $current_day = JB_get_local_time(gmdate("r"));
    // local time form GMT
    # Output the data rows
    JBPLUG_do_callback('job_list_pre_fill', $i, $list_mode);
    //A plugin can list its own records before, and adjust the $i
    // init a week ago from first post
    while (($row = mysql_fetch_array($posts, MYSQL_ASSOC)) && $i < $pp_page) {
        $PLM->set_values($row);
        JBPLUG_do_callback('job_list_set_data', $row, $i, $list_mode);
        // A plugin can modify the prams
        $i++;
        $post_id = $row['post_id'];
        $POST_MODE = $row['post_mode'];
        $class_name = $PLM->get_item_class_name($POST_MODE);
        $class_postfix = $PLM->get_item_class_postfix($POST_MODE);
        //$DATE_TIME = JB_get_local_time($row['post_date']." GMT");
        # display day of week
        if ($list_mode == 'ALL' && JB_POSTS_SHOW_DAYS_ELAPSED == "YES" || $list_mode == 'PREMIUM' && JB_P_POSTS_SHOW_DAYS_ELAPSED == "YES") {
            $DATE_TIME = JB_get_local_time($row['post_date'] . " GMT");
            # display day of week
            if ($list_mode == 'ALL' && JB_POSTS_SHOW_DAYS_ELAPSED == "YES" || $list_mode == 'PREMIUM' && JB_P_POSTS_SHOW_DAYS_ELAPSED == "YES") {
                $day_and_week = JB_get_day_and_week($row['post_date']);
                if ($day_and_week !== $prev_day_and_week) {
                    // new day?
                    if ($day_and_week != '') {
                        $PLM->list_day_of_week($day_and_week, $class_postfix);
                    }
                }
                $prev_day_and_week = $day_and_week;
            }
        }
        ########################################
        # Open the list data items
        $PLM->list_item_open($POST_MODE, $class_name);
        # Action cells
        # Here the action buttons are displayed, eg. 'Delete', 'Approve', checkboxes to select, etc
        if ($list_mode == 'ADMIN') {
            $PLM->list_data_admin_action($class_postfix, $row['post_mode']);
            JBPLUG_do_callback('job_list_data_admin_action', $A = false);
            // plugin for the additional controls for the Admin
        } elseif ($list_mode == 'SAVED') {
            $PLM->list_data_saved_action();
        } elseif ($list_mode == 'EMPLOYER') {
            // EMPLOYER MODE ONLY!
            $PLM->list_data_employer_action($class_postfix, $row['post_mode']);
            JBPLUG_do_callback('job_list_data_employer_buttons', $A = false);
            // plugin for the additional controls for the Admin
        }
        JBPLUG_do_callback('joblist_list_data_user_action', $A = false);
        ########################################################################
        JB_echo_job_list_data($admin);
        // display the data cells
        ########################################################################
        if ($list_mode == 'EMPLOYER') {
            // displayed on manager.php
            $app_count = $row['applications'];
            // change the app_count in to a link
            if ($app_count > 0) {
                $app_count = $PLM->get_emp_app_link('app.php?post_id=' . $row['post_id'], $app_count);
            }
            $PLM->list_data_employer_extras($app_count);
            JBPLUG_do_callback('job_list_data_employer_extra_col', $A = false);
            // plugin for the additional fields seen by the employer's Application manager
        }
        if ($list_mode == 'PREMIUM' && JB_SHOW_PREMIUM_HITS == 'YES') {
            $PLM->list_data_premium_extras();
        }
        $PLM->list_item_close();
    }
    ############ end while()
    JBPLUG_do_callback('job_list_back_fill', $i, $list_mode);
    // A plugin can list its own records after
    $PLM->list_end();
    if ($list_mode == 'ADMIN' || $list_mode == 'SAVED' || $list_mode == 'EMPLOYER') {
        $PLM->close_form();
    }
    if ($list_mode == 'PREMIUM') {
        if (JB_PREMIUM_POSTS_LIMIT == 'YES') {
            JB_nav_pages($result, $q_string, $pp_page);
        }
    } else {
        JB_nav_pages($result, $q_string, $pp_page);
    }
}