mirror of
https://github.com/wbbaddons/Tims-Chat.git
synced 2024-12-22 21:40:08 +00:00
Adding ChatRoomListPage
This commit is contained in:
parent
3172d9d666
commit
22d3795aec
22
acpMenu.xml
Normal file
22
acpMenu.xml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/maelstrom/acpMenu.xsd">
|
||||||
|
<import>
|
||||||
|
<acpmenuitem name="wcf.acp.menu.link.chat">
|
||||||
|
<parent>wcf.acp.menu.link.content</parent>
|
||||||
|
</acpmenuitem>
|
||||||
|
|
||||||
|
<acpmenuitem name="wcf.acp.menu.link.chat.list">
|
||||||
|
<link>index.php/ChatRoomList/</link>
|
||||||
|
<parent>wcf.acp.menu.link.chat</parent>
|
||||||
|
<permissions>admin.content.chat.canEditRoom,admin.content.chat.canDeleteRoom</permissions>
|
||||||
|
<showorder>1</showorder>
|
||||||
|
</acpmenuitem>
|
||||||
|
|
||||||
|
<acpmenuitem name="wcf.acp.menu.link.chat.add">
|
||||||
|
<link>index.php/ChatRoomAdd/</link>
|
||||||
|
<parent>wcf.acp.menu.link.chat</parent>
|
||||||
|
<permissions>admin.content.chat.canAddRoom</permissions>
|
||||||
|
<showorder>2</showorder>
|
||||||
|
</acpmenuitem>
|
||||||
|
</import>
|
||||||
|
</data>
|
96
acptemplate/chatRoomList.tpl
Normal file
96
acptemplate/chatRoomList.tpl
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
{include file='header'}
|
||||||
|
|
||||||
|
<header class="wcf-mainHeading">
|
||||||
|
<img src="{@RELATIVE_WCF_DIR}icon/chat1.svg" alt="" />
|
||||||
|
<hgroup>
|
||||||
|
<h1>{lang}wcf.acp.chat.room.list{/lang}</h1>
|
||||||
|
</hgroup>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
//<![CDATA[
|
||||||
|
$(function() {
|
||||||
|
new WCF.Action.Delete('wcf\\data\\chat\\room\\ChatRoomAction', $('.chatRoomRow'));
|
||||||
|
new WCF.Action.Toggle('wcf\\data\\chat\\room\\ChatRoomAction', $('.chatRoomRow'));
|
||||||
|
});
|
||||||
|
//]]>
|
||||||
|
</script>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<div class="wcf-contentHeader">
|
||||||
|
{pages print=true assign=pagesLinks controller="ChatRoomList" link="pageNo=%d"}
|
||||||
|
|
||||||
|
{if $__wcf->session->getPermission('admin.content.chat.canAddRoom')}
|
||||||
|
<nav>
|
||||||
|
<ul class="wcf-largeButtons">
|
||||||
|
<li><a href="{link controller='ChatRoomAdd'}{/link}" title="{lang}wcf.acp.chat.room.add{/lang}" class="wcf-button"><img src="{@RELATIVE_WCF_DIR}icon/add1.svg" alt="" /> <span>{lang}wcf.acp.chat.room.add{/lang}</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{hascontent}
|
||||||
|
<div class="wcf-border wcf-boxTitle">
|
||||||
|
<hgroup>
|
||||||
|
<h1>{lang}wcf.acp.chat.room.list{/lang} <span class="wcf-badge" title="{lang}wcf.acp.chat.room.list.count{/lang}">{#$items}</span></h1>
|
||||||
|
</hgroup>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="columnID columnChatRoomID" colspan="2">{lang}wcf.global.objectID{/lang}</th>
|
||||||
|
<th class="columnTitle columnChatRoomTitle">{lang}wcf.acp.chat.room.title{/lang}</th>
|
||||||
|
|
||||||
|
{event name='headColumns'}
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
{content}
|
||||||
|
{foreach from=$objects item=chatRoom}
|
||||||
|
<tr class="chatRoomRow">
|
||||||
|
<td class="columnIcon">
|
||||||
|
{if $__wcf->session->getPermission('admin.content.chat.canEditRoom')}
|
||||||
|
<a href="{link controller='ChatRoomEdit' id=$chatRoom->roomID}{/link}"><img src="{@RELATIVE_WCF_DIR}icon/edit1.svg" alt="" title="{lang}wcf.global.button.edit{/lang}" class="balloonTooltip" /></a>
|
||||||
|
{else}
|
||||||
|
<img src="{@RELATIVE_WCF_DIR}icon/edit1D.svg" alt="" title="{lang}wcf.global.button.edit{/lang}" />
|
||||||
|
{/if}
|
||||||
|
{if $__wcf->session->getPermission('admin.content.chat.canDeleteRoom')}
|
||||||
|
<img src="{@RELATIVE_WCF_DIR}icon/delete1.svg" alt="" title="{lang}wcf.global.button.delete{/lang}" class="deleteButton balloonTooltip" data-object-id="{@$chatRoom->roomID}" data-confirm-message="{lang}wcf.acp.bbcode.delete.sure{/lang}" />
|
||||||
|
{else}
|
||||||
|
<img src="{@RELATIVE_WCF_DIR}icon/delete1D.svg" alt="" title="{lang}wcf.global.button.delete{/lang}" />
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
{event name='buttons'}
|
||||||
|
</td>
|
||||||
|
<td class="columnID"><p>{@$chatRoom->roomID}</p></td>
|
||||||
|
<td class="columnTitle columnChatRoomTitle"><p>{if $__wcf->session->getPermission('admin.content.chat.canEditRoom')}<a href="{link controller='ChatRoomEdit' id=$chatRoom->roomID}{/link}">{$chatRoom->title|language}</a>{else}{$chatRoom->title|language}{/if}</p></td>
|
||||||
|
|
||||||
|
{event name='columns'}
|
||||||
|
</tr>
|
||||||
|
{/foreach}
|
||||||
|
{/content}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="wcf-contentFooter">
|
||||||
|
{@$pagesLinks}
|
||||||
|
|
||||||
|
{if $__wcf->session->getPermission('admin.content.chat.canAddRoom')}
|
||||||
|
<nav>
|
||||||
|
<ul class="wcf-largeButtons">
|
||||||
|
<li><a href="{link controller='ChatRoomAdd'}{/link}" title="{lang}wcf.acp.chat.room.add{/lang}" class="wcf-button"><img src="{@RELATIVE_WCF_DIR}icon/add1.svg" alt="" /> <span>{lang}wcf.acp.chat.room.add{/lang}</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
{hascontentelse}
|
||||||
|
<div class="wcf-border wcf-content">
|
||||||
|
<div>
|
||||||
|
<p class="wcf-warning">{lang}wcf.acp.chat.room.noneAvailable{/lang}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{/hascontent}
|
||||||
|
|
||||||
|
{include file='footer'}
|
13
build.php
13
build.php
@ -15,6 +15,7 @@
|
|||||||
EOT;
|
EOT;
|
||||||
if (file_exists('file.tar')) unlink('file.tar');
|
if (file_exists('file.tar')) unlink('file.tar');
|
||||||
if (file_exists('template.tar')) unlink('template.tar');
|
if (file_exists('template.tar')) unlink('template.tar');
|
||||||
|
if (file_exists('acptemplate.tar')) unlink('acptemplate.tar');
|
||||||
foreach (glob('file/js/*.js') as $jsFile) unlink($jsFile);
|
foreach (glob('file/js/*.js') as $jsFile) unlink($jsFile);
|
||||||
foreach (glob('file/style/*.css') as $cssFile) unlink($cssFile);
|
foreach (glob('file/style/*.css') as $cssFile) unlink($cssFile);
|
||||||
if (file_exists('timwolla.wcf.chat.tar')) unlink('timwolla.wcf.chat.tar');
|
if (file_exists('timwolla.wcf.chat.tar')) unlink('timwolla.wcf.chat.tar');
|
||||||
@ -60,15 +61,25 @@
|
|||||||
if ($code != 0) exit($code);
|
if ($code != 0) exit($code);
|
||||||
echo <<<EOT
|
echo <<<EOT
|
||||||
|
|
||||||
|
Building acptemplate.tar
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
EOT;
|
||||||
|
chdir('../acptemplate');
|
||||||
|
passthru('tar cvf ../acptemplate.tar *', $code);
|
||||||
|
if ($code != 0) exit($code);
|
||||||
|
echo <<<EOT
|
||||||
|
|
||||||
Building timwolla.wcf.chat.tar
|
Building timwolla.wcf.chat.tar
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
EOT;
|
EOT;
|
||||||
chdir('..');
|
chdir('..');
|
||||||
passthru('tar cvf timwolla.wcf.chat.tar * --exclude=file --exclude=template --exclude=build.php', $code);
|
passthru('tar cvf timwolla.wcf.chat.tar * --exclude=file --exclude=template --exclude=acptemplate --exclude=build.php', $code);
|
||||||
if ($code != 0) exit($code);
|
if ($code != 0) exit($code);
|
||||||
|
|
||||||
if (file_exists('file.tar')) unlink('file.tar');
|
if (file_exists('file.tar')) unlink('file.tar');
|
||||||
if (file_exists('template.tar')) unlink('template.tar');
|
if (file_exists('template.tar')) unlink('template.tar');
|
||||||
|
if (file_exists('acptemplate.tar')) unlink('acptemplate.tar');
|
||||||
foreach (glob('file/js/*.js') as $jsFile) unlink($jsFile);
|
foreach (glob('file/js/*.js') as $jsFile) unlink($jsFile);
|
||||||
foreach (glob('file/style/*.css') as $cssFile) unlink($cssFile);
|
foreach (glob('file/style/*.css') as $cssFile) unlink($cssFile);
|
||||||
|
47
file/lib/acp/page/ChatRoomListPage.class.php
Normal file
47
file/lib/acp/page/ChatRoomListPage.class.php
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
namespace wcf\acp\page;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Lists available chatrooms.
|
||||||
|
*
|
||||||
|
* @author Tim Düsterhus
|
||||||
|
* @copyright 2011-2012 Tim Düsterhus
|
||||||
|
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
|
||||||
|
* @package com.woltlab.wcf.bbcode
|
||||||
|
* @subpackage acp.page
|
||||||
|
* @category Community Framework
|
||||||
|
*/
|
||||||
|
class ChatRoomListPage extends \wcf\page\MultipleLinkPage {
|
||||||
|
/**
|
||||||
|
* @see wcf\page\AbstractPage::$neededPermissions
|
||||||
|
*/
|
||||||
|
public $neededPermissions = array(
|
||||||
|
'admin.content.chat.canEditRoom',
|
||||||
|
'admin.content.chat.canDeleteRoom'
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see wcf\page\MultipleLinkPage::$objectListClassName
|
||||||
|
*/
|
||||||
|
public $objectListClassName = '\wcf\data\chat\room\ChatRoomList';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see wcf\page\MultipleLinkPage::$sortField
|
||||||
|
*/
|
||||||
|
public $sortField = 'position';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see wcf\page\MultipleLinkPage::$sortOrder
|
||||||
|
*/
|
||||||
|
public $sortOrder = 'ASC';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see wcf\page\IPage::show()
|
||||||
|
*/
|
||||||
|
public function show() {
|
||||||
|
// set active menu item.
|
||||||
|
\wcf\system\menu\acp\ACPMenu::getInstance()->setActiveMenuItem('wcf.acp.menu.link.chat.list');
|
||||||
|
|
||||||
|
parent::show();
|
||||||
|
}
|
||||||
|
}
|
@ -5,7 +5,7 @@
|
|||||||
<packagedescription><![CDATA[Chat for WoltLab Community Framework™]]></packagedescription>
|
<packagedescription><![CDATA[Chat for WoltLab Community Framework™]]></packagedescription>
|
||||||
<standalone>0</standalone>
|
<standalone>0</standalone>
|
||||||
<isunique>1</isunique>
|
<isunique>1</isunique>
|
||||||
<version>3.0.0 Alpha 3</version>
|
<version>3.0.0 Alpha 4</version>
|
||||||
<date>2011-11-26</date>
|
<date>2011-11-26</date>
|
||||||
<plugin>com.woltlab.wcf.bbcode</plugin> <!-- TODO: Correct me -->
|
<plugin>com.woltlab.wcf.bbcode</plugin> <!-- TODO: Correct me -->
|
||||||
</packageinformation>
|
</packageinformation>
|
||||||
@ -25,6 +25,7 @@
|
|||||||
<instruction type="language">language/*.xml</instruction>
|
<instruction type="language">language/*.xml</instruction>
|
||||||
<instruction type="file">file.tar</instruction>
|
<instruction type="file">file.tar</instruction>
|
||||||
<instruction type="template">template.tar</instruction>
|
<instruction type="template">template.tar</instruction>
|
||||||
|
<instruction type="acpTemplate">acptemplate.tar</instruction>
|
||||||
<instruction type="sql">install.sql</instruction>
|
<instruction type="sql">install.sql</instruction>
|
||||||
<instruction type="objectType">objectType.xml</instruction>
|
<instruction type="objectType">objectType.xml</instruction>
|
||||||
<instruction type="option">option.xml</instruction>
|
<instruction type="option">option.xml</instruction>
|
||||||
@ -32,17 +33,22 @@
|
|||||||
<instruction type="eventListener">eventListener.xml</instruction>
|
<instruction type="eventListener">eventListener.xml</instruction>
|
||||||
<instruction type="templateListener">templatelistener.xml</instruction>
|
<instruction type="templateListener">templatelistener.xml</instruction>
|
||||||
<instruction type="aclOption">acloptions.xml</instruction>
|
<instruction type="aclOption">acloptions.xml</instruction>
|
||||||
|
<instruction type="acpMenu">acpMenu.xml</instruction>
|
||||||
|
<instruction type="userGroupOption">userGroupOption.xml</instruction>
|
||||||
</instructions>
|
</instructions>
|
||||||
|
|
||||||
<instructions type="update" fromversion="3.0.0 Alpha *">
|
<instructions type="update" fromversion="3.0.0 Alpha *">
|
||||||
<instruction type="language">language/*.xml</instruction>
|
<instruction type="language">language/*.xml</instruction>
|
||||||
<instruction type="file">file.tar</instruction>
|
<instruction type="file">file.tar</instruction>
|
||||||
<instruction type="template">template.tar</instruction>
|
<instruction type="template">template.tar</instruction>
|
||||||
|
<instruction type="acpTemplate">acptemplate.tar</instruction>
|
||||||
<instruction type="objectType">objectType.xml</instruction>
|
<instruction type="objectType">objectType.xml</instruction>
|
||||||
<instruction type="option">option.xml</instruction>
|
<instruction type="option">option.xml</instruction>
|
||||||
<instruction type="pageMenu">pagemenu.xml</instruction>
|
<instruction type="pageMenu">pagemenu.xml</instruction>
|
||||||
<instruction type="eventListener">eventListener.xml</instruction>
|
<instruction type="eventListener">eventListener.xml</instruction>
|
||||||
<instruction type="templateListener">templatelistener.xml</instruction>
|
<instruction type="templateListener">templatelistener.xml</instruction>
|
||||||
<instruction type="aclOption">acloptions.xml</instruction>
|
<instruction type="aclOption">acloptions.xml</instruction>
|
||||||
|
<instruction type="acpMenu">acpMenu.xml</instruction>
|
||||||
|
<instruction type="userGroupOption">userGroupOption.xml</instruction>
|
||||||
</instructions>
|
</instructions>
|
||||||
</package>
|
</package>
|
||||||
|
31
userGroupOption.xml
Normal file
31
userGroupOption.xml
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/maelstrom/userGroupOption.xsd">
|
||||||
|
<import>
|
||||||
|
<categories>
|
||||||
|
<category name="admin.content.chat">
|
||||||
|
<parent>admin.content</parent>
|
||||||
|
</category>
|
||||||
|
</categories>
|
||||||
|
|
||||||
|
<options>
|
||||||
|
<option name="admin.content.chat.canAddRoom">
|
||||||
|
<categoryname>admin.content.chat</categoryname>
|
||||||
|
<optiontype>boolean</optiontype>
|
||||||
|
<defaultvalue>0</defaultvalue>
|
||||||
|
<admindefaultvalue>1</admindefaultvalue>
|
||||||
|
</option>
|
||||||
|
<option name="admin.content.chat.canEditRoom">
|
||||||
|
<categoryname>admin.content.chat</categoryname>
|
||||||
|
<optiontype>boolean</optiontype>
|
||||||
|
<defaultvalue>0</defaultvalue>
|
||||||
|
<admindefaultvalue>1</admindefaultvalue>
|
||||||
|
</option>
|
||||||
|
<option name="admin.content.chat.canDeleteRoom">
|
||||||
|
<categoryname>admin.content.chat</categoryname>
|
||||||
|
<optiontype>boolean</optiontype>
|
||||||
|
<defaultvalue>0</defaultvalue>
|
||||||
|
<admindefaultvalue>1</admindefaultvalue>
|
||||||
|
</option>
|
||||||
|
</options>
|
||||||
|
</import>
|
||||||
|
</data>
|
Loading…
Reference in New Issue
Block a user