Example #1
0
function get_export_type_item(&$exportPlugin, $item_id, $instance_no, $s_item_type, $title, $owner_id)
{
    $buffer = '';
    $buffer .= $exportPlugin->start_item($item_id, $s_item_type, $title);
    // export item (non instance level) attributes.
    $buffer .= export_type_item_attributes($exportPlugin, $item_id, NULL, $s_item_type);
    // $instance_no will have been provided if a single item.instance is being exported, otherwise
    // we are exporting all instances for this particular item.
    if (is_numeric($instance_no)) {
        $item_instance_r = fetch_item_instance_r($item_id, $instance_no);
        if (is_not_empty_array($item_instance_r)) {
            $buffer .= $exportPlugin->start_item_instance($item_instance_r['item_id'], $item_instance_r['instance_no'], $item_instance_r['owner_id'], $item_instance_r['borrow_duration'], $item_instance_r['s_status_type'], $item_instance_r['status_comment'], $item_instance_r['update_on']);
            $buffer .= export_type_item_attributes($exportPlugin, $item_id, $item_instance_r['instance_no'], $s_item_type);
            $buffer .= $exportPlugin->end_item_instance();
        }
    } else {
        $iiresults = fetch_item_instance_rs($item_id, $owner_id);
        if ($iiresults) {
            while ($item_instance_r = db_fetch_assoc($iiresults)) {
                $buffer .= $exportPlugin->start_item_instance($item_instance_r['item_id'], $item_instance_r['instance_no'], $item_instance_r['owner_id'], $item_instance_r['borrow_duration'], $item_instance_r['s_status_type'], $item_instance_r['status_comment'], $item_instance_r['update_on']);
                $buffer .= export_type_item_attributes($exportPlugin, $item_id, $item_instance_r['instance_no'], $s_item_type);
                $buffer .= $exportPlugin->end_item_instance();
            }
            db_free_result($iiresults);
        }
    }
    $buffer .= $exportPlugin->end_item();
    return $buffer;
}
Example #2
0
 if ($HTTP_VARS['op'] == 'owner_reserved') {
     //all titles the owner currently has reservations for.
     $page_title = get_opendb_lang_var('check_out_item(s)');
     if (is_numeric($listingObject->getItemsPerPage())) {
         $listingObject->setTotalItems(fetch_owner_reserved_item_cnt(get_opendb_session_var('user_id')));
         if ($listingObject->getTotalItemCount() > 0) {
             $checkbox_column = TRUE;
             $result = fetch_owner_reserved_item_rs(get_opendb_session_var('user_id'), $listingObject->getCurrentOrderBy(), $listingObject->getCurrentSortOrder(), $listingObject->getStartIndex(), $listingObject->getItemsPerPage());
         }
     } else {
         $result = fetch_owner_reserved_item_rs(get_opendb_session_var('user_id'), $listingObject->getCurrentOrderBy());
     }
 } else {
     if ($HTTP_VARS['op'] == 'my_item_history') {
         $show_listings = FALSE;
         $item_r = fetch_item_instance_r($HTTP_VARS['item_id'], $HTTP_VARS['instance_no']);
         if (is_not_empty_array($item_r)) {
             $footer_links_r[] = array(url => "item_display.php?item_id=" . $item_r['item_id'] . "&instance_no=" . $item_r['instance_no'], text => get_opendb_lang_var('back_to_item'));
             if (is_opendb_session_var('listing_url_vars')) {
                 $footer_links_r[] = array(url => "listings.php?" . get_url_string(get_opendb_session_var('listing_url_vars')), text => get_opendb_lang_var('back_to_listing'));
             }
             // Cannot view item history, unless you are admin, or own the item.
             if (is_user_owner_of_item($item_r['item_id'], $item_r['instance_no'], get_opendb_session_var('user_id')) || is_user_granted_permission(PERM_ADMIN_BORROWER)) {
                 $show_listings = TRUE;
                 $titleMaskCfg = new TitleMask('item_display');
                 $page_title = get_opendb_lang_var('history_for_title', 'display_title', $titleMaskCfg->expand_item_title($item_r));
                 $page_image = get_item_image($item_r['s_item_type'], $item_r['item_id']);
                 if (is_numeric($listingObject->getItemsPerPage())) {
                     $listingObject->setTotalItems(fetch_item_instance_history_cnt($item_r['item_id'], $item_r['instance_no']));
                     if ($listingObject->getTotalItemCount() > 0) {
                         $result = fetch_item_instance_history_rs($item_r['item_id'], $item_r['instance_no'], $listingObject->getCurrentOrderBy(), $listingObject->getCurrentSortOrder(), $listingObject->getStartIndex(), $listingObject->getItemsPerPage());
Example #3
0
function get_decoded_item_instance_rs($op, $item_instance_list_r)
{
    $item_instance_rs = array();
    if (is_array($item_instance_list_r)) {
        reset($item_instance_list_r);
        while (list(, $item_id_and_instance_no) = each($item_instance_list_r)) {
            if (strlen($item_id_and_instance_no) > 0) {
                $item_instance_r = get_item_id_and_instance_no($item_id_and_instance_no);
                if (is_not_empty_array($item_instance_r)) {
                    $item_instance_r = fetch_item_instance_r($item_instance_r['item_id'], $item_instance_r['instance_no']);
                    if (is_array($item_instance_r)) {
                        if ($op == 'checkin') {
                            $sequence_number = fetch_borrowed_item_seq_no($item_instance_r['item_id'], $item_instance_r['instance_no'], 'B');
                            if ($sequence_number != FALSE) {
                                $item_instance_r['sequence_number'] = $sequence_number;
                                $item_instance_rs[] = $item_instance_r;
                            }
                        } else {
                            $item_instance_rs[] = $item_instance_r;
                        }
                    }
                }
            }
        }
    }
    return $item_instance_rs;
}
Example #4
0
/**
 */
function process_borrow_results($op, $mode, $heading, $success_intro, $failure_intro, $more_information, $success_item_rs, $failure_item_rs, $email_notification = TRUE)
{
    $titleMaskCfg = new TitleMask(array('item_borrow', 'item_display'));
    if (is_not_empty_array($success_item_rs)) {
        // Sort the items by user, so we can send emails for multiple
        // items, instead of individually.
        $borrowed_item_user_r = array();
        while (list(, $borrowed_item_r) = each($success_item_rs)) {
            $item_r = fetch_item_instance_r($borrowed_item_r['item_id'], $borrowed_item_r['instance_no']);
            $item_r['title'] = $titleMaskCfg->expand_item_title($item_r);
            $item_entry_r['display_title'] = get_opendb_lang_var('borrow_item_title_listing', array('display_title' => $item_r['title'], 'item_id' => $item_r['item_id'], 'instance_no' => $item_r['instance_no']));
            // A array of item_entries.
            //$item_entry_r['item'] = $item_r;
            $item_entry_r['detail'] = get_borrow_details($op, $item_r, $borrowed_item_r);
            // When reserving or cancelling and the current user is the borrower, we want to
            // send the email to the owner, in all other cases the email should go to the
            // borrower.
            if (($op == 'reserve' || $op == 'cancel_reserve') && get_opendb_session_var('user_id') == $borrowed_item_r['borrower_id']) {
                $to_user = $item_r['owner_id'];
            } else {
                $to_user = $borrowed_item_r['borrower_id'];
            }
            // Now add an entry to this user array.
            $borrowed_item_user_r[$to_user][] = $item_entry_r;
        }
        $success_results = array();
        while (list($to_user, $item_entry_rs) = each($borrowed_item_user_r)) {
            $errors = NULL;
            if (is_valid_opendb_mailer() && $email_notification !== FALSE) {
                // How can the from user be anything but the currently logged in user!
                $email_result = send_notification_email($to_user, get_opendb_session_var('user_id'), $heading, $success_intro, $more_information, $item_entry_rs, $errors);
            }
            $display_title_r = NULL;
            reset($item_entry_rs);
            while (list(, $item_entry_r) = each($item_entry_rs)) {
                $display_title_r[] = $item_entry_r['display_title'];
            }
            $user_name = get_opendb_lang_var('user_name', array('fullname' => fetch_user_name($to_user), 'user_id' => $to_user));
            $success_results_rs[] = array(user_name => $user_name, display_titles => $display_title_r, email_result => $email_result, email_errors => $errors);
        }
        if (is_not_empty_array($success_results_rs)) {
            if ($mode == 'job') {
                display_job_success_borrow_results($success_intro, $success_results_rs);
            } else {
                display_html_success_borrow_results($success_intro, $success_results_rs);
            }
        }
    }
    if (is_not_empty_array($failure_item_rs)) {
        $failure_results = array();
        while (list(, $borrowed_item_r) = each($failure_item_rs)) {
            $item_r = fetch_item_instance_r($borrowed_item_r['item_id'], $borrowed_item_r['instance_no']);
            // Expand title mask.
            $item_r['title'] = $titleMaskCfg->expand_item_title($item_r);
            $display_title = get_opendb_lang_var('borrow_item_title_listing', array('display_title' => $item_r['title'], 'item_id' => $item_r['item_id'], 'instance_no' => $item_r['instance_no']));
            // Now display any errors if present.
            if (strlen($borrowed_item_r['errors']) > 0) {
                $borrow_error_details = get_opendb_lang_var('borrow_error_detail', 'error', $borrowed_item_r['errors']);
            }
            $failure_results[] = array(display_title => $display_title, errors => array($borrow_error_details));
        }
        if (is_not_empty_array($failure_results)) {
            if ($mode == 'job') {
                display_job_failure_borrow_results($failure_intro, $failure_results);
            } else {
                display_html_failure_borrow_results($failure_intro, $failure_results);
            }
        }
    }
}