e107inc/e107

View on GitHub
e107_plugins/chatbox_menu/e_list.php

Summary

Maintainability
A
0 mins
Test Coverage
F
2%
<?php
/*
 * e107 website system
 *
 * Copyright (C) 2008-2013 e107 Inc (e107.org)
 * Released under the terms and conditions of the
 * GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
 *
 * Chatbox e_list Handler
 *
*/
if (!defined('e107_INIT')) { exit; }

class list_chatbox_menu
{
    function __construct($parent)
    {
        $this->parent = $parent;
    }

    function getListData()
    {
        $sql = e107::getDb();
        $tp = e107::getParser();
        $list_caption = $this->parent->settings['caption'];
        $list_display = ($this->parent->settings['open'] ? "" : "none");

        if($this->parent->mode == "new_page" || $this->parent->mode == "new_menu" )
        {
            $lvisit = $this->parent->getlvisit();
            $qry = "cb_datestamp>".$lvisit;
        }
        else
        {
            $qry = "cb_id != '0' ";
        }
        $qry .= " ORDER BY cb_datestamp DESC LIMIT 0,".intval($this->parent->settings['amount']);

        $bullet = $this->parent->getBullet($this->parent->settings['icon']);

        if(!$chatbox_posts = $this->parent->e107->sql->gen("SELECT * FROM #chatbox WHERE ".$qry))
        { 
            $list_data = LIST_CHATBOX_2;
        }
        else
        {
            while($row = $this->parent->e107->sql->fetch())
            {
                $cb_id = substr($row['cb_nick'] , 0, strpos($row['cb_nick'] , "."));
                $cb_nick = substr($row['cb_nick'] , (strpos($row['cb_nick'] , ".")+1));
                $cb_message = ($row['cb_blocked'] ? CHATBOX_L6 : str_replace("<br />", " ", $tp->toHTML($row['cb_message'])));
        //    $rowheading = $this->parent->parse_heading($cb_message);

                //<a href='".e_BASE."user.php?id.$cb_id'>".$cb_nick."</a>
                $uparams = array('id' => $cb_id, 'name' => $cb_nick);
                $link = e107::getUrl()->create('user/profile/view', $uparams);
                $userlink = "<a href='".$link."'>".$cb_nick."</a>";
                $record['icon'] = $bullet;
            //    $record['heading'] = $rowheading;
                $record['author'] = ($this->parent->settings['author'] ? ($cb_id != 0 ? $userlink : $cb_nick) : "");
                $record['category'] = "";
                $record['date'] = ($this->parent->settings['date'] ? ($row['cb_datestamp'] ? $this->parent->getListDate($row['cb_datestamp']) : "") : "");
                $record['info'] = $cb_message;

                $list_data[] = $record;
            }
        }
        //return array with 'records', (global)'caption', 'display'
        return array(
            'records'=>$list_data, 
            'caption'=>$list_caption, 
            'display'=>$list_display
        );
    }
}