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 '
'.$lang['medals_addnew'].'
'; - 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)); }