<?php /** * This class can display latest threads or posts * formated in unordered list (<ul/>) * It doesn't depend on place where script is being run * just initialize class and execute proper method * * @author Mariusz "marines" Kujawski <marinespl@gmail.com> * @link <a href="http://marines.jogger.pl/" target="_blank">http://marines.jogger.pl/</a> * @version 0.1 * @license <a href="http://opensource.org/licenses/gpl-license.php" target="_blank">http://opensource.org/licenses/gpl-license.php</a> GNU Public License */ class MyBBLatest { // mysql db handler private $db; // tables prefix private $prefix; // url to mybb private $url; /** * constructor * * @param string $mybb path to MyBB instalation * @param string $url URL of MyBB instalation * @return boolean */ public function __construct($mybb = '', $url) { // include mybb config file @include('./' . $mybb . 'inc/config.php'); // db connect $this->db = @mysql_connect($config['database']['hostname'], $config['database']['username'], $config['database']['password']); // db choose // stop executing if db connection isn't availible if (!$this->db) return false; // set db prefix $this->prefix = $config['database']['table_prefix']; // set base url of mybb $this->url = $url; // return return true; } /** * display latest threads * * @param integer $many indicates how many threads have to be retrieved from database * @param boolean $lastpost indicates whether link has to direct to last post in thread * @param integer $fid ID of forum which threads have to be retrieved from * @return string list of threads */ public function threads($many = 10, $lastpost = false, $fid = false) { // forum id select if ($fid) { $where = 'WHERE `fid` = ' . $fid; } if ($lastpost) { $last = '&action=lastpost'; } // initialize temporary var $tmp = '<ul class="last-threads">'; // select data $query = @mysql_query('SELECT `tid`, `subject` FROM `' . $this->prefix . 'threads` ' . $where . ' ORDER BY `dateline` DESC LIMIT ' . $many); // check if query has result if (!$query) return false; // collect data into list $tmp .= '<li><a href="' . $this->url . 'showthread.php?tid=' . $row[0] . $last . '">' . $row[1] . '</a></li>'; } $tmp .= '</ul>'; // return list of threads return $tmp; } /** * display latest posts * * @param integer $many indicates how many posts have to be retrieved from database * @param integer $fid ID of forum which posts have to be retrieved from * @return string list of posts */ public function posts($many = 10, $fid = false) { // forum id select if ($fid) { $where = 'WHERE `fid` = ' . $fid; } // initialize temporary array $tmp = '<ul class="last-threads">'; // select db data $query = @mysql_query('SELECT `pid`, `tid`, `subject` FROM `' . $this->prefix . 'posts` ' . $where . ' ORDER BY `dateline` DESC LIMIT ' . $many); // check if query has result if (!$query) return false; // collect data into list $tmp .= '<li><a href="' . $this->url . 'showthread.php?tid=' . $row[1] . '&pid=' . $row[0] . '#pid' . $row[0] . '">' . $row[2] . '</a></li>'; } $tmp .= '</ul>'; // return posts return $tmp; } } // MyBBLatest end ?>
<?php ?>
jak ograniczyć wyświetlane znaki do 5
np mamy nazwe tematu "ala ma kota"
co zmieni na "ala m..."