diff --git a/upload/source/admincp/admincp_medals.php b/upload/source/admincp/admincp_medals.php
index d17e68d0886b404995f81d920acea4d3b7090657..619c5ce90edcd3704aceeaf38a63d19d2d32c8b0 100644
--- a/upload/source/admincp/admincp_medals.php
+++ b/upload/source/admincp/admincp_medals.php
@@ -45,7 +45,11 @@ if(!$operation) {
];
fetch_all_data() as $medal) {
+ $perpage = 50;
+ $start = ($_G['page'] - 1) * $perpage;
+ $count = C::t('forum_medal')->count_by_available(false);
+ $multi = multi($count, $perpage, $page, ADMINSCRIPT."?action=medals");
+ foreach(C::t('forum_medal')->fetch_all_data(false, $start, $perpage) as $medal) {
$checkavailable = $medal['available'] ? 'checked' : '';
switch($medal['type']) {
case 0:
@@ -71,7 +75,7 @@ if(!$operation) {
}
echo '
| |
';
- showsubmit('medalsubmit', 'submit', 'del');
+ showsubmit('medalsubmit', 'submit', 'del', '', $multi);
showtablefooter();
showformfooter();
diff --git a/upload/source/class/table/table_forum_medal.php b/upload/source/class/table/table_forum_medal.php
index e065d071e74b5d496934ac6be8f8c49052d03a79..1c569cb5d41d24624a39ac8052ee8903f70d1de6 100644
--- a/upload/source/class/table/table_forum_medal.php
+++ b/upload/source/class/table/table_forum_medal.php
@@ -21,9 +21,9 @@ class table_forum_medal extends discuz_table
parent::__construct();
}
- public function fetch_all_data($available = false) {
+ public function fetch_all_data($available = false, $start = 0, $limit = 0) {
$available = $available !== false ? ' WHERE available='.intval($available) : '';
- return DB::fetch_all('SELECT * FROM %t %i ORDER BY displayorder', array($this->_table, $available));
+ return DB::fetch_all('SELECT * FROM %t %i ORDER BY displayorder'.DB::limit($start, $limit), array($this->_table, $available));
}
public function fetch_all_name_by_available($available = 1) {
$data = array();
@@ -33,8 +33,9 @@ class table_forum_medal extends discuz_table
return $data;
}
- public function count_by_available() {
- return DB::result_first('SELECT COUNT(*) FROM %t WHERE available=1', array($this->_table));
+ public function count_by_available($available = 1) {
+ $available = $available !== false ? ' WHERE available='.intval($available) : '';
+ return DB::result_first('SELECT COUNT(*) FROM %t %i', array($this->_table, $available));
}