  |
1 | 1 | | <?php |
| |
2 | 2 | | /* |
  |
3 | | - | $Id: database.php 1372 2007-03-05 22:58:51Z hpdl $ |
| |
| 3 | + | $Id: database.php 1385 2007-03-06 08:55:55Z hpdl $ |
|
4 | 4 | | |
| |
5 | 5 | | osCommerce, Open Source E-Commerce Solutions |
| |
6 | 6 | | http://www.oscommerce.com |
| |
|
|
 |
… |
|
548 | 548 | | } |
| |
549 | 549 | | |
| |
550 | 550 | | if ($this->batch_query === true) { |
  |
551 | | - | $this->getBatchSize(); |
| |
| 551 | + | $this->batch_size = $this->db_class->getBatchSize($this->sql_query, $this->batch_select_field); |
|
552 | 552 | | |
| |
553 | 553 | | $this->batch_to = ($this->batch_rows * $this->batch_number); |
| |
554 | 554 | | if ($this->batch_to > $this->batch_size) { |
| |
|
|
 |
… |
|
650 | 650 | | } |
| |
651 | 651 | | |
| |
652 | 652 | | function getBatchSize() { |
  |
653 | | - | global $osC_Database; |
| |
| 653 | + | return $this->batch_size; |
| |
| 654 | + | } |
|
654 | 655 | | |
  |
655 | | - | if (!isset($this->batch_size)) { |
| |
656 | | - | $this->batch_size = $this->db_class->getBatchSize($this->sql_query, $this->batch_select_field); |
| |
| 656 | + | function isBatchQuery() { |
| |
| 657 | + | if ($this->batch_query === true) { |
| |
| 658 | + | return true; |
|
657 | 659 | | } |
| |
658 | 660 | | |
  |
659 | | - | return $this->batch_size; |
| |
| 661 | + | return false; |
|
660 | 662 | | } |
| |
661 | 663 | | |
  |
662 | | - | function displayBatchLinksTotal($text) { |
| |
| 664 | + | function getBatchTotalPages($text) { |
|
663 | 665 | | return sprintf($text, $this->batch_from, $this->batch_to, $this->batch_size); |
| |
664 | 666 | | } |
| |
665 | 667 | | |
  |
666 | | - | function displayBatchLinksPullDown($batch_keyword = 'page', $parameters = '') { |
| |
| 668 | + | function getBatchPageLinks($batch_keyword = 'page', $parameters = '', $with_pull_down_menu = true) { |
| |
| 669 | + | $string = $this->getBatchPreviousPageLink($batch_keyword, $parameters); |
| |
| 670 | + | |
| |
| 671 | + | if ( $with_pull_down_menu === true ) { |
| |
| 672 | + | $string .= $this->getBatchPagesPullDownMenu($batch_keyword, $parameters); |
| |
| 673 | + | } |
| |
| 674 | + | |
| |
| 675 | + | $string .= $this->getBatchNextPageLink($batch_keyword, $parameters); |
| |
| 676 | + | |
| |
| 677 | + | return $string; |
| |
| 678 | + | } |
| |
| 679 | + | |
| |
| 680 | + | function getBatchPagesPullDownMenu($batch_keyword = 'page', $parameters = '') { |
|
667 | 681 | | global $osC_Language; |
| |
668 | 682 | | |
| |
669 | 683 | | $number_of_pages = ceil($this->batch_size / $this->batch_rows); |
| |
670 | 684 | | |
  |
671 | | - | if ($number_of_pages > 1) { |
| |
| 685 | + | if ( $number_of_pages > 1 ) { |
|
672 | 686 | | $pages_array = array(); |
  |
673 | | - | for ($i=1; $i<=$number_of_pages; $i++) { |
| |
674 | | - | $pages_array[] = array('id' => $i, 'text' => $i); |
| |
| 687 | + | |
| |
| 688 | + | for ( $i = 1; $i <= $number_of_pages; $i++ ) { |
| |
| 689 | + | $pages_array[] = array('id' => $i, |
| |
| 690 | + | 'text' => $i); |
|
675 | 691 | | } |
| |
676 | 692 | | |
  |
677 | | - | $get_parameter = ''; |
|
678 | 693 | | $hidden_parameter = ''; |
| |
679 | 694 | | |
  |
680 | | - | if (!empty($parameters)) { |
| |
| 695 | + | if ( !empty($parameters) ) { |
|
681 | 696 | | $parameters = explode('&', $parameters); |
| |
682 | 697 | | |
  |
683 | | - | foreach ($parameters as $parameter) { |
| |
| 698 | + | foreach ( $parameters as $parameter ) { |
|
684 | 699 | | $keys = explode('=', $parameter, 2); |
| |
685 | 700 | | |
  |
686 | | - | if ($keys[0] != $batch_keyword) { |
| |
687 | | - | $get_parameter .= $keys[0] . (isset($keys[1]) ? '=' . $keys[1] : '') . '&'; |
| |
| 701 | + | if ( $keys[0] != $batch_keyword ) { |
|
688 | 702 | | $hidden_parameter .= osc_draw_hidden_field($keys[0], (isset($keys[1]) ? $keys[1] : '')); |
| |
689 | 703 | | } |
| |
690 | 704 | | } |
| |
691 | 705 | | } |
| |
692 | 706 | | |
  |
693 | | - | $display_links = '<form action="' . osc_href_link(basename($_SERVER['SCRIPT_FILENAME'])) . '" action="get">' . $hidden_parameter; |
| |
| 707 | + | $string = '<form action="' . osc_href_link(basename($_SERVER['SCRIPT_FILENAME'])) . '" action="get">' . $hidden_parameter . |
| |
| 708 | + | sprintf($osC_Language->get('result_set_current_page'), osc_draw_pull_down_menu($batch_keyword, $pages_array, $this->batch_number, 'onchange="this.form.submit();"'), $number_of_pages) . |
| |
| 709 | + | osc_draw_hidden_session_id_field() . '</form>'; |
| |
| 710 | + | } else { |
| |
| 711 | + | $string = sprintf($osC_Language->get('result_set_current_page'), 1, 1); |
| |
| 712 | + | } |
|
694 | 713 | | |
  |
695 | | - | if ($this->batch_number > 1) { |
| |
696 | | - | $display_links .= osc_link_object(osc_href_link(basename($_SERVER['SCRIPT_FILENAME']), $get_parameter . $batch_keyword . '=' . ($this->batch_number - 1)), $osC_Language->get('result_set_previous_page'), 'class="splitPageLink"'); |
| |
697 | | - | } else { |
| |
698 | | - | $display_links .= $osC_Language->get('result_set_previous_page'); |
| |
699 | | - | } |
| |
| 714 | + | return $string; |
| |
| 715 | + | } |
|
700 | 716 | | |
  |
701 | | - | $display_links .= ' ' . sprintf($osC_Language->get('result_set_current_page'), osc_draw_pull_down_menu($batch_keyword, $pages_array, $this->batch_number, 'onchange="this.form.submit();"'), $number_of_pages) . ' '; |
| |
| 717 | + | function getBatchPreviousPageLink($batch_keyword = 'page', $parameters = '') { |
| |
| 718 | + | global $osC_Language; |
|
702 | 719 | | |
  |
703 | | - | if (($this->batch_number < $number_of_pages) && ($number_of_pages != 1)) { |
| |
704 | | - | $display_links .= osc_link_object(osc_href_link(basename($_SERVER['SCRIPT_FILENAME']), $get_parameter . $batch_keyword . '=' . ($this->batch_number + 1)), $osC_Language->get('result_set_next_page'), 'class="splitPageLink"'); |
| |
705 | | - | } else { |
| |
706 | | - | $display_links .= $osC_Language->get('result_set_previous_page'); |
| |
| 720 | + | $get_parameter = ''; |
| |
| 721 | + | |
| |
| 722 | + | if ( !empty($parameters) ) { |
| |
| 723 | + | $parameters = explode('&', $parameters); |
| |
| 724 | + | |
| |
| 725 | + | foreach ( $parameters as $parameter ) { |
| |
| 726 | + | $keys = explode('=', $parameter, 2); |
| |
| 727 | + | |
| |
| 728 | + | if ( $keys[0] != $batch_keyword ) { |
| |
| 729 | + | $get_parameter .= $keys[0] . (isset($keys[1]) ? '=' . $keys[1] : '') . '&'; |
| |
| 730 | + | } |
|
707 | 731 | | } |
  |
| 732 | + | } |
|
708 | 733 | | |
  |
709 | | - | $display_links .= osc_draw_hidden_session_id_field() . '</form>'; |
| |
| 734 | + | if ( defined('OSC_IN_ADMIN') && ( OSC_IN_ADMIN === true ) ) { |
| |
| 735 | + | $back_string = osc_icon('nav_back.png'); |
| |
| 736 | + | $back_grey_string = osc_icon('nav_back_grey.png'); |
|
710 | 737 | | } else { |
  |
711 | | - | $display_links = sprintf($osC_Language->get('result_set_current_page'), 1, 1); |
| |
| 738 | + | $back_string = $osC_Language->get('result_set_previous_page'); |
| |
| 739 | + | $back_grey_string = $osC_Language->get('result_set_previous_page'); |
|
712 | 740 | | } |
| |
713 | 741 | | |
  |
714 | | - | return $display_links; |
| |
| 742 | + | if ( $this->batch_number > 1 ) { |
| |
| 743 | + | $string = osc_link_object(osc_href_link(basename($_SERVER['SCRIPT_FILENAME']), $get_parameter . $batch_keyword . '=' . ($this->batch_number - 1)), $back_string); |
| |
| 744 | + | } else { |
| |
| 745 | + | $string = $back_grey_string; |
| |
| 746 | + | } |
| |
| 747 | + | |
| |
| 748 | + | $string .= ' '; |
| |
| 749 | + | |
| |
| 750 | + | return $string; |
|
715 | 751 | | } |
| |
716 | 752 | | |
  |
717 | | - | function isBatchQuery() { |
| |
718 | | - | if ($this->batch_query === true) { |
| |
719 | | - | return true; |
| |
| 753 | + | function getBatchNextPageLink($batch_keyword = 'page', $parameters = '') { |
| |
| 754 | + | global $osC_Language; |
| |
| 755 | + | |
| |
| 756 | + | $number_of_pages = ceil($this->batch_size / $this->batch_rows); |
| |
| 757 | + | |
| |
| 758 | + | $get_parameter = ''; |
| |
| 759 | + | |
| |
| 760 | + | if ( !empty($parameters) ) { |
| |
| 761 | + | $parameters = explode('&', $parameters); |
| |
| 762 | + | |
| |
| 763 | + | foreach ( $parameters as $parameter ) { |
| |
| 764 | + | $keys = explode('=', $parameter, 2); |
| |
| 765 | + | |
| |
| 766 | + | if ( $keys[0] != $batch_keyword ) { |
| |
| 767 | + | $get_parameter .= $keys[0] . (isset($keys[1]) ? '=' . $keys[1] : '') . '&'; |
| |
| 768 | + | } |
| |
| 769 | + | } |
|
720 | 770 | | } |
| |
721 | 771 | | |
  |
722 | | - | return false; |
| |
| 772 | + | if ( defined('OSC_IN_ADMIN') && ( OSC_IN_ADMIN === true ) ) { |
| |
| 773 | + | $forward_string = osc_icon('nav_forward.png'); |
| |
| 774 | + | $forward_grey_string = osc_icon('nav_forward_grey.png'); |
| |
| 775 | + | } else { |
| |
| 776 | + | $forward_string = $osC_Language->get('result_set_next_page'); |
| |
| 777 | + | $forward_grey_string = $osC_Language->get('result_set_next_page'); |
| |
| 778 | + | } |
| |
| 779 | + | |
| |
| 780 | + | $string = ' '; |
| |
| 781 | + | |
| |
| 782 | + | if ( ( $this->batch_number < $number_of_pages ) && ( $number_of_pages != 1 ) ) { |
| |
| 783 | + | $string .= osc_link_object(osc_href_link(basename($_SERVER['SCRIPT_FILENAME']), $get_parameter . $batch_keyword . '=' . ($this->batch_number + 1)), $forward_string); |
| |
| 784 | + | } else { |
| |
| 785 | + | $string .= $forward_grey_string; |
| |
| 786 | + | } |
| |
| 787 | + | |
| |
| 788 | + | return $string; |
  |
723 | 789 | | } |
| |
724 | 790 | | } |
| |
725 | 791 | | ?> |